From 068545a2a9336efd40ade58a93875298fb8e5624 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sat, 14 Apr 2018 11:18:00 +0200 Subject: [PATCH] Intranet: Update phpMyAdmin to 4.8 --- .../vendor/phpmyadmin-4.7/CONTRIBUTING.md | 35 - .../htdocs/vendor/phpmyadmin-4.7/ChangeLog | 166 - .../www/htdocs/vendor/phpmyadmin-4.7/README | 52 - .../vendor/phpmyadmin-4.7/RELEASE-DATE-4.7.0 | 1 - .../phpmyadmin-4.7/browse_foreigners.php | 61 - .../vendor/phpmyadmin-4.7/changelog.php | 160 - .../htdocs/vendor/phpmyadmin-4.7/chk_rel.php | 33 - .../vendor/phpmyadmin-4.7/composer.json | 66 - .../vendor/phpmyadmin-4.7/composer.lock | 2580 ---- .../phpmyadmin-4.7/config.sample.inc.php | 154 - .../phpmyadmin-4.7/db_central_columns.php | 154 - .../vendor/phpmyadmin-4.7/db_designer.php | 191 - .../vendor/phpmyadmin-4.7/db_import.php | 46 - .../vendor/phpmyadmin-4.7/db_operations.php | 308 - .../vendor/phpmyadmin-4.7/db_routines.php | 24 - .../htdocs/vendor/phpmyadmin-4.7/db_sql.php | 48 - .../vendor/phpmyadmin-4.7/db_structure.php | 40 - .../phpmyadmin-4.7/doc/html/_images/chart.png | Bin 53729 -> 0 bytes .../doc/html/_images/column_chart.png | Bin 13613 -> 0 bytes .../doc/html/_images/line_chart.png | Bin 18880 -> 0 bytes .../doc/html/_images/pie_chart.png | Bin 13045 -> 0 bytes .../doc/html/_images/pma-relations-links.png | Bin 6812 -> 0 bytes .../_images/pma-relations-relation-link.png | Bin 17842 -> 0 bytes .../_images/pma-relations-relation-name.png | Bin 16182 -> 0 bytes .../pma-relations-relation-view-link.png | Bin 22601 -> 0 bytes .../html/_images/query_result_operations.png | Bin 7867 -> 0 bytes .../doc/html/_images/scatter_chart.png | Bin 13551 -> 0 bytes .../doc/html/_images/spline_chart.png | Bin 20119 -> 0 bytes .../doc/html/_images/timeline_chart.png | Bin 18268 -> 0 bytes .../doc/html/_images/usergroups.png | Bin 16710 -> 0 bytes .../doc/html/_static/down-pressed.png | Bin 347 -> 0 bytes .../phpmyadmin-4.7/doc/html/_static/file.png | Bin 358 -> 0 bytes .../phpmyadmin-4.7/doc/html/_static/jquery.js | 10351 ---------------- .../phpmyadmin-4.7/doc/html/_static/minus.png | Bin 173 -> 0 bytes .../phpmyadmin-4.7/doc/html/_static/plus.png | Bin 173 -> 0 bytes .../doc/html/_static/underscore.js | 1415 --- .../doc/html/_static/up-pressed.png | Bin 345 -> 0 bytes .../vendor/phpmyadmin-4.7/doc/html/index.html | 217 - .../phpmyadmin-4.7/doc/html/searchindex.js | 1 - .../htdocs/vendor/phpmyadmin-4.7/index.php | 655 - .../phpmyadmin-4.7/js/codemirror/LICENSE | 19 - .../js/codemirror/addon/lint/sql-lint.js | 40 - .../js/codemirror/lib/codemirror.js | 9112 -------------- .../js/codemirror/mode/sql/sql.js | 413 - .../js/codemirror/mode/xml/xml.js | 394 - .../vendor/phpmyadmin-4.7/js/console.js | 1534 --- .../js/cross_framing_protection.js | 14 - .../phpmyadmin-4.7/js/db_central_columns.js | 238 - .../htdocs/vendor/phpmyadmin-4.7/js/db_qbe.js | 77 - .../vendor/phpmyadmin-4.7/js/db_search.js | 248 - .../htdocs/vendor/phpmyadmin-4.7/js/export.js | 863 -- .../vendor/phpmyadmin-4.7/js/functions.js | 5067 -------- .../vendor/phpmyadmin-4.7/js/get_image.js.php | 152 - .../phpmyadmin-4.7/js/get_scripts.js.php | 68 - .../htdocs/vendor/phpmyadmin-4.7/js/import.js | 158 - .../js/jquery/jquery-migrate-3.0.0.js | 540 - .../phpmyadmin-4.7/js/jquery/jquery.cookie.js | 91 - .../phpmyadmin-4.7/js/jquery/jquery.min.js | 4 - .../vendor/phpmyadmin-4.7/js/keyhandler.js | 144 - .../vendor/phpmyadmin-4.7/js/line_counts.php | 669 - .../vendor/phpmyadmin-4.7/js/menu-resizer.js | 183 - .../phpmyadmin-4.7/js/multi_column_sort.js | 81 - .../vendor/phpmyadmin-4.7/js/normalization.js | 710 -- .../openlayers/img/cloud-popup-relative.png | Bin 3307 -> 0 bytes .../js/openlayers/img/drag-rectangle-off.png | Bin 1024 -> 0 bytes .../js/openlayers/img/drag-rectangle-on.png | Bin 1041 -> 0 bytes .../js/openlayers/img/east-mini.png | Bin 342 -> 0 bytes .../img/layer-switcher-maximize.png | Bin 405 -> 0 bytes .../img/layer-switcher-minimize.png | Bin 220 -> 0 bytes .../js/openlayers/img/marker-blue.png | Bin 758 -> 0 bytes .../js/openlayers/img/marker-gold.png | Bin 703 -> 0 bytes .../js/openlayers/img/marker-green.png | Bin 753 -> 0 bytes .../js/openlayers/img/marker.png | Bin 601 -> 0 bytes .../js/openlayers/img/measuring-stick-off.png | Bin 2966 -> 0 bytes .../js/openlayers/img/measuring-stick-on.png | Bin 3014 -> 0 bytes .../js/openlayers/img/north-mini.png | Bin 378 -> 0 bytes .../js/openlayers/img/panning-hand-off.png | Bin 3502 -> 0 bytes .../js/openlayers/img/panning-hand-on.png | Bin 3529 -> 0 bytes .../js/openlayers/img/slider.png | Bin 247 -> 0 bytes .../js/openlayers/img/south-mini.png | Bin 373 -> 0 bytes .../js/openlayers/img/west-mini.png | Bin 360 -> 0 bytes .../js/openlayers/img/zoom-minus-mini.png | Bin 291 -> 0 bytes .../js/openlayers/img/zoom-plus-mini.png | Bin 381 -> 0 bytes .../js/openlayers/img/zoom-world-mini.png | Bin 860 -> 0 bytes .../js/openlayers/img/zoombar.png | Bin 299 -> 0 bytes .../theme/default/img/add_point_off.png | Bin 1593 -> 0 bytes .../theme/default/img/add_point_on.png | Bin 1416 -> 0 bytes .../theme/default/img/drag-rectangle-off.png | Bin 1024 -> 0 bytes .../theme/default/img/drag-rectangle-on.png | Bin 1041 -> 0 bytes .../theme/default/img/draw_line_off.png | Bin 1544 -> 0 bytes .../theme/default/img/draw_line_on.png | Bin 1348 -> 0 bytes .../theme/default/img/draw_point_off.png | Bin 1589 -> 0 bytes .../theme/default/img/draw_point_on.png | Bin 1410 -> 0 bytes .../theme/default/img/draw_polygon_off.png | Bin 1523 -> 0 bytes .../theme/default/img/draw_polygon_on.png | Bin 1357 -> 0 bytes .../theme/default/img/editing_tool_bar.png | Bin 2188 -> 0 bytes .../theme/default/img/move_feature_off.png | Bin 1520 -> 0 bytes .../theme/default/img/move_feature_on.png | Bin 1329 -> 0 bytes .../theme/default/img/navigation_history.png | Bin 4404 -> 0 bytes .../theme/default/img/pan-panel-NOALPHA.png | Bin 564 -> 0 bytes .../theme/default/img/pan-panel.png | Bin 686 -> 0 bytes .../openlayers/theme/default/img/pan_off.png | Bin 1678 -> 0 bytes .../openlayers/theme/default/img/pan_on.png | Bin 1547 -> 0 bytes .../theme/default/img/panning-hand-off.png | Bin 3502 -> 0 bytes .../theme/default/img/panning-hand-on.png | Bin 3529 -> 0 bytes .../theme/default/img/remove_point_off.png | Bin 1591 -> 0 bytes .../theme/default/img/remove_point_on.png | Bin 1413 -> 0 bytes .../js/openlayers/theme/default/img/ruler.png | Bin 1190 -> 0 bytes .../theme/default/img/save_features_off.png | Bin 354 -> 0 bytes .../theme/default/img/save_features_on.png | Bin 361 -> 0 bytes .../theme/default/img/view_next_off.png | Bin 992 -> 0 bytes .../theme/default/img/view_next_on.png | Bin 1686 -> 0 bytes .../theme/default/img/view_previous_off.png | Bin 918 -> 0 bytes .../theme/default/img/view_previous_on.png | Bin 1592 -> 0 bytes .../theme/default/img/zoom-panel-NOALPHA.png | Bin 1172 -> 0 bytes .../theme/default/img/zoom-panel.png | Bin 1258 -> 0 bytes .../vendor/phpmyadmin-4.7/js/page_settings.js | 59 - .../phpmyadmin-4.7/js/pmd/designer_db.js | 136 - .../phpmyadmin-4.7/js/pmd/designer_objects.js | 17 - .../phpmyadmin-4.7/js/pmd/designer_page.js | 172 - .../vendor/phpmyadmin-4.7/js/pmd/init.js | 40 - .../vendor/phpmyadmin-4.7/js/pmd/move.js | 2090 ---- .../vendor/phpmyadmin-4.7/js/replication.js | 94 - .../phpmyadmin-4.7/js/server_databases.js | 183 - .../phpmyadmin-4.7/js/server_privileges.js | 478 - .../phpmyadmin-4.7/js/server_variables.js | 154 - .../phpmyadmin-4.7/js/shortcuts_handler.js | 112 - .../htdocs/vendor/phpmyadmin-4.7/js/sql.js | 922 -- .../vendor/phpmyadmin-4.7/js/tbl_change.js | 725 -- .../phpmyadmin-4.7/js/tbl_operations.js | 314 - .../vendor/phpmyadmin-4.7/js/tbl_structure.js | 533 - .../phpmyadmin-4.7/js/transformations/xml.js | 18 - .../js/transformations/xml_editor.js | 16 - .../phpmyadmin-4.7/libraries/Advisor.php | 559 - .../phpmyadmin-4.7/libraries/Charsets.php | 475 - .../phpmyadmin-4.7/libraries/Console.php | 145 - .../phpmyadmin-4.7/libraries/DbList.php | 100 - .../vendor/phpmyadmin-4.7/libraries/DbQbe.php | 1984 --- .../phpmyadmin-4.7/libraries/DbSearch.php | 490 - .../libraries/DisplayResults.php | 5839 --------- .../phpmyadmin-4.7/libraries/Encoding.php | 328 - .../vendor/phpmyadmin-4.7/libraries/Error.php | 507 - .../phpmyadmin-4.7/libraries/ErrorHandler.php | 583 - .../vendor/phpmyadmin-4.7/libraries/File.php | 817 -- .../phpmyadmin-4.7/libraries/Footer.php | 362 - .../phpmyadmin-4.7/libraries/Header.php | 809 -- .../vendor/phpmyadmin-4.7/libraries/Index.php | 867 -- .../phpmyadmin-4.7/libraries/Logging.php | 43 - .../vendor/phpmyadmin-4.7/libraries/PDF.php | 148 - .../phpmyadmin-4.7/libraries/Response.php | 459 - .../phpmyadmin-4.7/libraries/Scripts.php | 243 - .../libraries/ServerStatusData.php | 503 - .../phpmyadmin-4.7/libraries/SysInfo.php | 48 - .../vendor/phpmyadmin-4.7/libraries/Table.php | 2513 ---- .../phpmyadmin-4.7/libraries/Template.php | 166 - .../vendor/phpmyadmin-4.7/libraries/Theme.php | 518 - .../vendor/phpmyadmin-4.7/libraries/Types.php | 296 - .../phpmyadmin-4.7/libraries/TypesMySQL.php | 590 - .../vendor/phpmyadmin-4.7/libraries/URL.php | 280 - .../vendor/phpmyadmin-4.7/libraries/Util.php | 4892 -------- .../phpmyadmin-4.7/libraries/ZipFile.php | 206 - .../phpmyadmin-4.7/libraries/advisor.lib.php | 69 - .../libraries/browse_foreigners.lib.php | 341 - .../libraries/central_columns.lib.php | 1408 --- .../libraries/certs/isrgrootx1.pem | 31 - .../libraries/check_user_privileges.lib.php | 322 - .../phpmyadmin-4.7/libraries/common.inc.php | 931 -- .../libraries/config/FormDisplay.tpl.php | 528 - .../libraries/config/ServerConfigChecks.php | 648 - .../libraries/config/config_functions.lib.php | 54 - .../libraries/config/messages.inc.php | 989 -- .../libraries/config/page_settings.forms.php | 29 - .../libraries/config/setup.forms.php | 395 - .../config/user_preferences.forms.php | 298 - .../libraries/controllers/Controller.php | 49 - .../controllers/DatabaseController.php | 30 - .../libraries/controllers/TableController.php | 36 - .../server/ServerCollationsController.php | 68 - .../server/ServerDatabasesController.php | 598 - .../server/ServerEnginesController.php | 93 - .../table/TableRelationController.php | 368 - .../phpmyadmin-4.7/libraries/core.lib.php | 1147 -- .../libraries/create_addfield.lib.php | 493 - .../libraries/database_interface.inc.php | 89 - .../libraries/db_common.inc.php | 109 - .../libraries/db_designer.lib.php | 406 - .../phpmyadmin-4.7/libraries/dbi/DBIDummy.php | 1324 -- .../libraries/dbi/DBIExtension.lib.php | 28 - .../libraries/dbi/DBIExtension.php | 244 - .../phpmyadmin-4.7/libraries/dbi/DBIMysql.php | 463 - .../libraries/dbi/DBIMysqli.lib.php | 27 - .../libraries/dbi/DBIMysqli.php | 558 - .../phpmyadmin-4.7/libraries/di/Container.php | 167 - .../libraries/di/FactoryItem.php | 29 - .../phpmyadmin-4.7/libraries/di/Item.php | 25 - .../libraries/di/ServiceItem.php | 34 - .../phpmyadmin-4.7/libraries/di/ValueItem.php | 41 - .../libraries/display_change_password.lib.php | 152 - .../libraries/display_create_table.lib.php | 48 - .../libraries/display_export.lib.php | 1178 -- .../libraries/display_git_revision.lib.php | 85 - .../libraries/display_import.lib.php | 696 -- .../libraries/display_import_ajax.lib.php | 135 - .../libraries/engines/Mrg_Myisam.php | 28 - .../libraries/engines/Performance_Schema.php | 30 - .../libraries/error_report.lib.php | 322 - .../phpmyadmin-4.7/libraries/export.lib.php | 1057 -- .../libraries/file_listing.lib.php | 97 - .../libraries/gis/GISFactory.php | 52 - .../libraries/gis/GISGeometry.php | 399 - .../libraries/gis/GISGeometrycollection.php | 416 - .../libraries/gis/GISLinestring.php | 353 - .../libraries/gis/GISMultilinestring.php | 441 - .../libraries/gis/GISMultipoint.php | 409 - .../libraries/gis/GISMultipolygon.php | 606 - .../phpmyadmin-4.7/libraries/gis/GISPoint.php | 356 - .../libraries/gis/GISPolygon.php | 620 - .../libraries/gis/GISVisualization.php | 711 -- .../phpmyadmin-4.7/libraries/import.lib.php | 1690 --- .../phpmyadmin-4.7/libraries/index.lib.php | 41 - .../libraries/insert_edit.lib.php | 3022 ----- .../libraries/ip_allow_deny.lib.php | 301 - .../libraries/language_stats.inc.php | 92 - .../phpmyadmin-4.7/libraries/mime.lib.php | 30 - .../libraries/mult_submits.lib.php | 578 - .../libraries/navigation/NavigationHeader.php | 253 - .../libraries/navigation/nodes/Node.php | 833 -- .../libraries/normalization.lib.php | 980 -- .../libraries/operations.lib.php | 2122 ---- .../libraries/parse_analyze.lib.php | 71 - .../libraries/plugin_interface.lib.php | 578 - .../plugins/AuthenticationPlugin.php | 167 - .../plugins/auth/AuthenticationHttp.php | 257 - .../plugins/auth/AuthenticationSignon.php | 265 - .../plugins/export/PMA_ExportPdf.php | 811 -- .../libraries/plugins/export/README | 257 - .../libraries/plugins/import/README | 155 - .../libraries/plugins/schema/eps/Eps.php | 277 - .../libraries/plugins/schema/pdf/Pdf.php | 396 - .../libraries/plugins/schema/svg/Svg.php | 279 - .../transformations/output/Text_Plain_Sql.php | 57 - .../phpmyadmin-4.7/libraries/pmd_common.php | 777 -- .../libraries/properties/PropertyItem.php | 46 - .../groups/OptionsPropertyMainGroup.php | 33 - .../groups/OptionsPropertyRootGroup.php | 33 - .../groups/OptionsPropertySubgroup.php | 63 - .../options/items/BoolPropertyItem.php | 33 - .../options/items/DocPropertyItem.php | 33 - .../options/items/HiddenPropertyItem.php | 33 - .../options/items/MessageOnlyPropertyItem.php | 33 - .../options/items/NumberPropertyItem.php | 33 - .../options/items/RadioPropertyItem.php | 33 - .../options/items/SelectPropertyItem.php | 33 - .../options/items/TextPropertyItem.php | 33 - .../plugins/ImportPluginProperties.php | 31 - .../plugins/SchemaPluginProperties.php | 44 - .../phpmyadmin-4.7/libraries/relation.lib.php | 2085 ---- .../libraries/relation_cleanup.lib.php | 356 - .../libraries/replication.inc.php | 326 - .../libraries/replication_gui.lib.php | 1078 -- .../libraries/rte/rte_events.lib.php | 615 - .../libraries/rte/rte_export.lib.php | 137 - .../libraries/rte/rte_footer.lib.php | 129 - .../libraries/rte/rte_general.lib.php | 90 - .../libraries/rte/rte_list.lib.php | 483 - .../libraries/rte/rte_main.inc.php | 109 - .../libraries/rte/rte_routines.lib.php | 1703 --- .../libraries/rte/rte_triggers.lib.php | 466 - .../libraries/rte/rte_words.lib.php | 82 - .../libraries/select_server.lib.php | 115 - .../libraries/server_common.inc.php | 54 - .../libraries/server_common.lib.php | 63 - .../libraries/server_privileges.lib.php | 5297 -------- .../libraries/server_status.lib.php | 324 - .../libraries/server_status_advisor.lib.php | 63 - .../libraries/server_status_monitor.lib.php | 819 -- .../libraries/server_status_processes.lib.php | 305 - .../libraries/server_status_queries.lib.php | 145 - .../libraries/server_status_variables.lib.php | 763 -- .../libraries/server_user_groups.lib.php | 360 - .../libraries/server_users.lib.php | 54 - .../phpmyadmin-4.7/libraries/session.inc.php | 157 - .../phpmyadmin-4.7/libraries/session.lib.php | 48 - .../libraries/special_schema_links.lib.php | 490 - .../phpmyadmin-4.7/libraries/sql.lib.php | 2250 ---- .../libraries/sql_query_form.lib.php | 440 - .../phpmyadmin-4.7/libraries/string.lib.php | 33 - .../phpmyadmin-4.7/libraries/stringMb.lib.php | 76 - .../libraries/stringNative.lib.php | 245 - .../phpmyadmin-4.7/libraries/sysinfo.lib.php | 61 - .../tbl_columns_definition_form.inc.php | 413 - .../libraries/tbl_common.inc.php | 52 - .../phpmyadmin-4.7/libraries/tbl_info.inc.php | 109 - .../phpmyadmin-4.7/libraries/tracking.lib.php | 1726 --- .../libraries/transformations.lib.php | 452 - .../libraries/user_preferences.inc.php | 85 - .../libraries/user_preferences.lib.php | 291 - .../phpmyadmin-4.7/libraries/util.lib.php | 37 - .../libraries/zip_extension.lib.php | 192 - .../vendor/phpmyadmin-4.7/normalization.php | 125 - .../vendor/phpmyadmin-4.7/prefs_forms.php | 101 - .../vendor/phpmyadmin-4.7/schema_export.php | 69 - .../vendor/phpmyadmin-4.7/server_binlog.php | 32 - .../phpmyadmin-4.7/server_collations.php | 32 - .../phpmyadmin-4.7/server_databases.php | 32 - .../vendor/phpmyadmin-4.7/server_engines.php | 32 - .../vendor/phpmyadmin-4.7/server_export.php | 49 - .../vendor/phpmyadmin-4.7/server_import.php | 36 - .../vendor/phpmyadmin-4.7/server_plugins.php | 32 - .../phpmyadmin-4.7/server_replication.php | 85 - .../vendor/phpmyadmin-4.7/server_sql.php | 36 - .../vendor/phpmyadmin-4.7/server_status.php | 41 - .../phpmyadmin-4.7/server_status_advisor.php | 40 - .../phpmyadmin-4.7/server_status_monitor.php | 103 - .../server_status_processes.php | 63 - .../phpmyadmin-4.7/server_status_queries.php | 48 - .../server_status_variables.php | 59 - .../phpmyadmin-4.7/server_user_groups.php | 75 - .../phpmyadmin-4.7/server_variables.php | 32 - .../vendor/phpmyadmin-4.7/setup/config.php | 50 - .../setup/frames/config.inc.php | 43 - .../phpmyadmin-4.7/setup/frames/form.inc.php | 35 - .../phpmyadmin-4.7/setup/frames/menu.inc.php | 36 - .../setup/frames/servers.inc.php | 52 - .../vendor/phpmyadmin-4.7/setup/index.php | 65 - .../phpmyadmin-4.7/setup/lib/common.inc.php | 52 - .../setup/lib/form_processing.lib.php | 85 - .../phpmyadmin-4.7/setup/lib/index.lib.php | 184 - .../vendor/phpmyadmin-4.7/setup/validate.php | 34 - .../vendor/phpmyadmin-4.7/tbl_chart.php | 33 - .../phpmyadmin-4.7/tbl_find_replace.php | 34 - .../vendor/phpmyadmin-4.7/tbl_get_field.php | 57 - .../phpmyadmin-4.7/tbl_gis_visualization.php | 43 - .../vendor/phpmyadmin-4.7/tbl_import.php | 38 - .../vendor/phpmyadmin-4.7/tbl_indexes.php | 51 - .../vendor/phpmyadmin-4.7/tbl_operations.php | 431 - .../vendor/phpmyadmin-4.7/tbl_relation.php | 78 - .../vendor/phpmyadmin-4.7/tbl_select.php | 38 - .../htdocs/vendor/phpmyadmin-4.7/tbl_sql.php | 56 - .../vendor/phpmyadmin-4.7/tbl_structure.php | 47 - .../vendor/phpmyadmin-4.7/tbl_zoom_select.php | 35 - .../phpmyadmin-4.7/templates/checkbox.phtml | 12 - .../column_adjust_privileges.phtml | 18 - .../column_attribute.phtml | 28 - .../column_attributes.phtml | 230 - .../column_auto_increment.phtml | 8 - .../columns_definitions/column_comment.phtml | 10 - .../columns_definitions/column_default.phtml | 51 - .../column_definitions_form.phtml | 170 - .../columns_definitions/column_extra.phtml | 7 - .../columns_definitions/column_indexes.phtml | 30 - .../columns_definitions/column_length.phtml | 11 - .../columns_definitions/column_name.phtml | 46 - .../columns_definitions/column_null.phtml | 8 - .../columns_definitions/column_type.phtml | 8 - .../column_virtuality.phtml | 48 - .../columns_definitions/mime_type.phtml | 17 - .../columns_definitions/move_column.phtml | 15 - .../columns_definitions/partitions.phtml | 172 - .../table_fields_definitions.phtml | 131 - .../columns_definitions/transformation.phtml | 27 - .../transformation_option.phtml | 9 - .../templates/components/error_message.phtml | 4 - .../templates/console/bookmark_content.phtml | 31 - .../templates/console/display.phtml | 227 - .../templates/console/query_action.phtml | 12 - .../templates/console/toolbar.phtml | 10 - .../templates/database/create_table.phtml | 23 - .../designer/aggregate_query_panel.phtml | 84 - .../templates/database/designer/canvas.phtml | 3 - .../database/designer/database_tables.phtml | 140 - .../designer/delete_relation_panel.phtml | 47 - .../database/designer/edit_delete_pages.phtml | 11 - .../designer/having_query_panel.phtml | 138 - .../database/designer/js_fields.phtml | 9 - .../designer/new_relation_panel.phtml | 108 - .../database/designer/options_panel.phtml | 273 - .../database/designer/page_save_as.phtml | 33 - .../database/designer/page_selector.phtml | 10 - .../database/designer/query_details.phtml | 19 - .../database/designer/rename_to_panel.phtml | 66 - .../database/designer/schema_export.phtml | 11 - .../database/designer/side_menu.phtml | 189 - .../database/designer/table_list.phtml | 69 - .../database/designer/where_query_panel.phtml | 103 - .../structure/body_for_table_summary.phtml | 100 - .../database/structure/browse_table.phtml | 3 - .../structure/browse_table_label.phtml | 3 - .../database/structure/check_all_tables.phtml | 42 - .../database/structure/empty_table.phtml | 3 - .../database/structure/favorite_anchor.phtml | 15 - .../print_view_data_dictionary_link.phtml | 7 - .../database/structure/search_table.phtml | 3 - .../database/structure/show_create.phtml | 35 - .../database/structure/show_create_row.phtml | 19 - .../database/structure/sortable_header.phtml | 70 - .../structure/structure_table_row.phtml | 198 - .../database/structure/table_header.phtml | 136 - .../database/structure/tracking_icon.phtml | 11 - .../templates/div_for_slider_effect.phtml | 15 - .../templates/error/report_form.phtml | 34 - .../phpmyadmin-4.7/templates/filter.phtml | 8 - .../templates/header_location.phtml | 32 - .../templates/javascript/display.phtml | 7 - .../phpmyadmin-4.7/templates/list/item.phtml | 45 - .../templates/list/unordered.phtml | 27 - .../templates/navigation/logo.phtml | 44 - .../templates/prefs_autoload.phtml | 16 - .../templates/preview_sql.phtml | 11 - .../privileges/add_privileges_database.phtml | 16 - .../privileges/add_privileges_routine.phtml | 14 - .../privileges/add_privileges_table.phtml | 14 - .../privileges/add_user_fieldset.phtml | 8 - .../privileges/choose_user_group.phtml | 9 - .../privileges/column_privileges.phtml | 24 - .../privileges/delete_user_fieldset.phtml | 17 - .../privileges/edit_routine_privileges.phtml | 26 - .../privileges/global_priv_table.phtml | 23 - .../privileges/global_priv_tbl_item.phtml | 9 - .../templates/privileges/initials_row.phtml | 28 - .../privileges/privileges_summary.phtml | 65 - .../privileges/privileges_summary_row.phtml | 14 - .../privileges/require_options.phtml | 16 - .../privileges/require_options_item.phtml | 23 - .../privileges/resource_limit_item.phtml | 11 - .../privileges/resource_limits.phtml | 16 - .../templates/secondary_tabs.phtml | 6 - .../phpmyadmin-4.7/templates/select_all.phtml | 7 - .../templates/select_lang.phtml | 32 - .../templates/server/binlog/log_row.phtml | 8 - .../server/binlog/log_selector.phtml | 27 - .../server/collations/charsets.phtml | 24 - .../templates/server/databases/create.phtml | 36 - .../server/databases/table_footer.phtml | 42 - .../server/databases/table_header.phtml | 40 - .../server/databases/table_row.phtml | 65 - .../templates/server/engines/engine.phtml | 42 - .../templates/server/engines/engines.phtml | 22 - .../templates/server/plugins/section.phtml | 31 - .../server/plugins/section_links.phtml | 8 - .../server/variables/link_template.phtml | 11 - .../variables/session_variable_row.phtml | 5 - .../server/variables/variable_row.phtml | 30 - .../variables/variable_table_head.phtml | 7 - .../templates/startAndNumberOfRowsPanel.phtml | 20 - .../templates/table/chart/tbl_chart.phtml | 161 - .../gis_visualization/gis_visualization.phtml | 80 - .../templates/table/index_form.phtml | 243 - .../table/relation/common_form.phtml | 134 - .../table/relation/dropdown_generate.phtml | 12 - .../table/relation/foreign_key_row.phtml | 208 - .../relation/internal_relational_row.phtml | 72 - .../table/relation/relational_dropdown.phtml | 18 - .../search/column_comparison_operators.phtml | 7 - .../templates/table/search/fields_table.phtml | 26 - .../templates/table/search/form_tag.phtml | 22 - .../templates/table/search/geom_func.phtml | 39 - .../templates/table/search/input_box.phtml | 132 - .../templates/table/search/options.phtml | 78 - .../templates/table/search/options_zoom.phtml | 48 - .../table/search/replace_preview.phtml | 40 - .../templates/table/search/rows_normal.phtml | 46 - .../templates/table/search/rows_zoom.phtml | 82 - .../table/search/search_and_replace.phtml | 29 - .../table/search/selection_form.phtml | 81 - .../templates/table/search/table_header.phtml | 12 - .../table/search/zoom_result_form.phtml | 97 - .../templates/table/secondary_tabs.phtml | 19 - .../action_row_in_structure_table.phtml | 28 - .../actions_in_table_structure.phtml | 141 - .../table/structure/add_column.phtml | 26 - .../structure/check_all_table_column.phtml | 63 - .../table/structure/display_partitions.phtml | 141 - .../table/structure/display_structure.phtml | 227 - .../table/structure/display_table_stats.phtml | 80 - .../table/structure/move_columns_dialog.phtml | 8 - .../structure/optional_action_links.phtml | 37 - .../structure/partition_definition_form.phtml | 13 - .../table/structure/row_stats_table.phtml | 98 - .../structure/table_structure_header.phtml | 28 - .../table/structure/table_structure_row.phtml | 55 - .../templates/test/add_data.phtml | 2 - .../phpmyadmin-4.7/templates/test/echo.phtml | 1 - .../templates/test/set_helper.phtml | 1 - .../phpmyadmin-4.7/templates/test/trim.phtml | 1 - .../templates/toggle_button.phtml | 26 - .../themes/original/css/common.css.php | 3284 ----- .../themes/original/css/navigation.css.php | 423 - .../themes/original/img/arrow_ltr.png | Bin 139 -> 0 bytes .../themes/original/img/arrow_rtl.png | Bin 136 -> 0 bytes .../themes/original/img/b_bookmark.png | Bin 252 -> 0 bytes .../themes/original/img/b_browse.png | Bin 157 -> 0 bytes .../themes/original/img/b_calendar.png | Bin 203 -> 0 bytes .../themes/original/img/b_chart.png | Bin 402 -> 0 bytes .../themes/original/img/b_close.png | Bin 180 -> 0 bytes .../themes/original/img/b_column_add.png | Bin 479 -> 0 bytes .../themes/original/img/b_comment.png | Bin 363 -> 0 bytes .../themes/original/img/b_dbstatistics.png | Bin 157 -> 0 bytes .../themes/original/img/b_deltbl.png | Bin 239 -> 0 bytes .../themes/original/img/b_docs.png | Bin 184 -> 0 bytes .../themes/original/img/b_drop.png | Bin 184 -> 0 bytes .../themes/original/img/b_edit.png | Bin 302 -> 0 bytes .../themes/original/img/b_empty.png | Bin 186 -> 0 bytes .../themes/original/img/b_engine.png | Bin 232 -> 0 bytes .../themes/original/img/b_event_add.png | Bin 863 -> 0 bytes .../themes/original/img/b_events.png | Bin 783 -> 0 bytes .../themes/original/img/b_export.png | Bin 199 -> 0 bytes .../themes/original/img/b_favorite.png | Bin 411 -> 0 bytes .../themes/original/img/b_find_replace.png | Bin 456 -> 0 bytes .../themes/original/img/b_ftext.png | Bin 175 -> 0 bytes .../themes/original/img/b_group.png | Bin 796 -> 0 bytes .../themes/original/img/b_help.png | Bin 145 -> 0 bytes .../themes/original/img/b_home.png | Bin 238 -> 0 bytes .../themes/original/img/b_import.png | Bin 202 -> 0 bytes .../themes/original/img/b_index.png | Bin 207 -> 0 bytes .../themes/original/img/b_index_add.png | Bin 359 -> 0 bytes .../themes/original/img/b_info.png | Bin 147 -> 0 bytes .../themes/original/img/b_inline_edit.png | Bin 299 -> 0 bytes .../themes/original/img/b_insrow.png | Bin 183 -> 0 bytes .../themes/original/img/b_key.png | Bin 157 -> 0 bytes .../themes/original/img/b_minus.png | Bin 110 -> 0 bytes .../themes/original/img/b_more.png | Bin 132 -> 0 bytes .../themes/original/img/b_move.png | Bin 168 -> 0 bytes .../themes/original/img/b_newdb.png | Bin 260 -> 0 bytes .../themes/original/img/b_newtbl.png | Bin 264 -> 0 bytes .../themes/original/img/b_nextpage.png | Bin 373 -> 0 bytes .../themes/original/img/b_no_favorite.png | Bin 15653 -> 0 bytes .../themes/original/img/b_plugin.png | Bin 591 -> 0 bytes .../themes/original/img/b_plus.png | Bin 115 -> 0 bytes .../themes/original/img/b_primary.png | Bin 278 -> 0 bytes .../themes/original/img/b_print.png | Bin 396 -> 0 bytes .../themes/original/img/b_props.png | Bin 188 -> 0 bytes .../themes/original/img/b_relations.png | Bin 172 -> 0 bytes .../themes/original/img/b_report.png | Bin 649 -> 0 bytes .../themes/original/img/b_routine_add.png | Bin 409 -> 0 bytes .../themes/original/img/b_routines.png | Bin 310 -> 0 bytes .../themes/original/img/b_save.png | Bin 833 -> 0 bytes .../themes/original/img/b_saveimage.png | Bin 755 -> 0 bytes .../themes/original/img/b_sbrowse.png | Bin 122 -> 0 bytes .../themes/original/img/b_search.png | Bin 442 -> 0 bytes .../themes/original/img/b_select.png | Bin 387 -> 0 bytes .../themes/original/img/b_spatial.png | Bin 379 -> 0 bytes .../themes/original/img/b_sql.png | Bin 208 -> 0 bytes .../themes/original/img/b_sqlhelp.png | Bin 173 -> 0 bytes .../themes/original/img/b_table_add.png | Bin 322 -> 0 bytes .../themes/original/img/b_tblanalyse.png | Bin 188 -> 0 bytes .../themes/original/img/b_tblexport.png | Bin 176 -> 0 bytes .../themes/original/img/b_tblimport.png | Bin 174 -> 0 bytes .../themes/original/img/b_tblops.png | Bin 220 -> 0 bytes .../themes/original/img/b_tbloptimize.png | Bin 198 -> 0 bytes .../themes/original/img/b_tipp.png | Bin 201 -> 0 bytes .../themes/original/img/b_trigger_add.png | Bin 615 -> 0 bytes .../themes/original/img/b_triggers.png | Bin 494 -> 0 bytes .../themes/original/img/b_undo.png | Bin 859 -> 0 bytes .../themes/original/img/b_unique.png | Bin 175 -> 0 bytes .../themes/original/img/b_usradd.png | Bin 352 -> 0 bytes .../themes/original/img/b_usrcheck.png | Bin 259 -> 0 bytes .../themes/original/img/b_usrdrop.png | Bin 288 -> 0 bytes .../themes/original/img/b_usredit.png | Bin 336 -> 0 bytes .../themes/original/img/b_usrlist.png | Bin 262 -> 0 bytes .../themes/original/img/b_versions.png | Bin 524 -> 0 bytes .../themes/original/img/b_view.png | Bin 646 -> 0 bytes .../themes/original/img/b_view_add.png | Bin 722 -> 0 bytes .../themes/original/img/b_views.png | Bin 324 -> 0 bytes .../themes/original/img/bd_browse.png | Bin 157 -> 0 bytes .../themes/original/img/bd_deltbl.png | Bin 220 -> 0 bytes .../themes/original/img/bd_drop.png | Bin 205 -> 0 bytes .../themes/original/img/bd_edit.png | Bin 226 -> 0 bytes .../themes/original/img/bd_empty.png | Bin 186 -> 0 bytes .../themes/original/img/bd_export.png | Bin 183 -> 0 bytes .../themes/original/img/bd_ftext.png | Bin 175 -> 0 bytes .../themes/original/img/bd_index.png | Bin 207 -> 0 bytes .../themes/original/img/bd_insrow.png | Bin 224 -> 0 bytes .../themes/original/img/bd_nextpage.png | Bin 110 -> 0 bytes .../themes/original/img/bd_primary.png | Bin 257 -> 0 bytes .../themes/original/img/bd_routine_add.png | Bin 372 -> 0 bytes .../themes/original/img/bd_sbrowse.png | Bin 122 -> 0 bytes .../themes/original/img/bd_select.png | Bin 375 -> 0 bytes .../themes/original/img/bd_spatial.png | Bin 344 -> 0 bytes .../themes/original/img/bd_unique.png | Bin 175 -> 0 bytes .../themes/original/img/centralColumns.png | Bin 729 -> 0 bytes .../original/img/centralColumns_add.png | Bin 821 -> 0 bytes .../original/img/centralColumns_delete.png | Bin 827 -> 0 bytes .../themes/original/img/col_drop.png | Bin 132 -> 0 bytes .../themes/original/img/col_pointer.png | Bin 101 -> 0 bytes .../themes/original/img/col_pointer_ver.png | Bin 111 -> 0 bytes .../themes/original/img/console.png | Bin 1207 -> 0 bytes .../themes/original/img/east-mini.png | Bin 322 -> 0 bytes .../themes/original/img/eye.png | Bin 721 -> 0 bytes .../themes/original/img/eye_grey.png | Bin 330 -> 0 bytes .../themes/original/img/hide.png | Bin 524 -> 0 bytes .../themes/original/img/lightbulb.png | Bin 782 -> 0 bytes .../themes/original/img/lightbulb_off.png | Bin 700 -> 0 bytes .../themes/original/img/logo_left.png | Bin 3219 -> 0 bytes .../themes/original/img/logo_right.png | Bin 4548 -> 0 bytes .../themes/original/img/more.png | Bin 117 -> 0 bytes .../themes/original/img/new_data.png | Bin 264 -> 0 bytes .../themes/original/img/new_data_hovered.png | Bin 264 -> 0 bytes .../img/new_data_selected_hovered.png | Bin 181 -> 0 bytes .../themes/original/img/new_struct.png | Bin 299 -> 0 bytes .../original/img/new_struct_hovered.png | Bin 299 -> 0 bytes .../original/img/new_struct_selected.png | Bin 189 -> 0 bytes .../themes/original/img/normalize.png | Bin 624 -> 0 bytes .../themes/original/img/north-mini.png | Bin 327 -> 0 bytes .../themes/original/img/pause.png | Bin 271 -> 0 bytes .../themes/original/img/play.png | Bin 373 -> 0 bytes .../themes/original/img/s_asc.png | Bin 128 -> 0 bytes .../themes/original/img/s_asci.png | Bin 136 -> 0 bytes .../themes/original/img/s_attention.png | Bin 629 -> 0 bytes .../themes/original/img/s_cancel.png | Bin 310 -> 0 bytes .../themes/original/img/s_cog.png | Bin 222 -> 0 bytes .../themes/original/img/s_collapseall.png | Bin 170 -> 0 bytes .../themes/original/img/s_db.png | Bin 180 -> 0 bytes .../themes/original/img/s_desc.png | Bin 137 -> 0 bytes .../themes/original/img/s_error.png | Bin 173 -> 0 bytes .../themes/original/img/s_error2.png | Bin 152 -> 0 bytes .../themes/original/img/s_fulltext.png | Bin 193 -> 0 bytes .../themes/original/img/s_host.png | Bin 209 -> 0 bytes .../themes/original/img/s_info.png | Bin 147 -> 0 bytes .../themes/original/img/s_lang.png | Bin 280 -> 0 bytes .../themes/original/img/s_link.png | Bin 386 -> 0 bytes .../themes/original/img/s_lock.png | Bin 749 -> 0 bytes .../themes/original/img/s_loggoff.png | Bin 163 -> 0 bytes .../themes/original/img/s_notice.png | Bin 151 -> 0 bytes .../themes/original/img/s_okay.png | Bin 772 -> 0 bytes .../themes/original/img/s_partialtext.png | Bin 196 -> 0 bytes .../themes/original/img/s_passwd.png | Bin 353 -> 0 bytes .../themes/original/img/s_really.png | Bin 145 -> 0 bytes .../themes/original/img/s_reload.png | Bin 285 -> 0 bytes .../themes/original/img/s_replication.png | Bin 424 -> 0 bytes .../themes/original/img/s_rights.png | Bin 353 -> 0 bytes .../themes/original/img/s_sortable.png | Bin 132 -> 0 bytes .../themes/original/img/s_status.png | Bin 198 -> 0 bytes .../themes/original/img/s_success.png | Bin 589 -> 0 bytes .../themes/original/img/s_sync.png | Bin 498 -> 0 bytes .../themes/original/img/s_tbl.png | Bin 142 -> 0 bytes .../themes/original/img/s_theme.png | Bin 546 -> 0 bytes .../themes/original/img/s_top.png | Bin 303 -> 0 bytes .../themes/original/img/s_unlink.png | Bin 657 -> 0 bytes .../themes/original/img/s_vars.png | Bin 190 -> 0 bytes .../themes/original/img/s_views.png | Bin 235 -> 0 bytes .../themes/original/img/show.png | Bin 500 -> 0 bytes .../themes/original/img/south-mini.png | Bin 335 -> 0 bytes .../themes/original/img/spacer.png | Bin 84 -> 0 bytes .../themes/original/img/sprites.png | Bin 11812 -> 0 bytes .../themes/original/img/toggle-ltr.png | Bin 177 -> 0 bytes .../themes/original/img/toggle-rtl.png | Bin 177 -> 0 bytes .../themes/original/img/west-mini.png | Bin 328 -> 0 bytes .../themes/original/img/window-new.png | Bin 484 -> 0 bytes .../themes/original/img/zoom-minus-mini.png | Bin 247 -> 0 bytes .../themes/original/img/zoom-plus-mini.png | Bin 329 -> 0 bytes .../themes/original/img/zoom-world-mini.png | Bin 805 -> 0 bytes .../themes/original/info.inc.php | 14 - .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 185 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 74 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 127 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 187 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 123 -> 0 bytes .../jquery/images/ui-icons_222222_256x240.png | Bin 4262 -> 0 bytes .../jquery/images/ui-icons_2e83ff_256x240.png | Bin 4261 -> 0 bytes .../jquery/images/ui-icons_454545_256x240.png | Bin 4262 -> 0 bytes .../jquery/images/ui-icons_888888_256x240.png | Bin 4262 -> 0 bytes .../jquery/images/ui-icons_cd0a0a_256x240.png | Bin 4261 -> 0 bytes .../phpmyadmin-4.7/themes/original/screen.png | Bin 23684 -> 0 bytes .../themes/original/sprites.lib.php | 744 -- .../themes/pmahomme/css/common.css.php | 3545 ------ .../themes/pmahomme/css/navigation.css.php | 428 - .../themes/pmahomme/css/pmd.css.php | 518 - .../themes/pmahomme/img/arrow_ltr.png | Bin 139 -> 0 bytes .../themes/pmahomme/img/arrow_rtl.png | Bin 136 -> 0 bytes .../themes/pmahomme/img/asc_order.png | Bin 182 -> 0 bytes .../themes/pmahomme/img/b_bookmark.png | Bin 677 -> 0 bytes .../themes/pmahomme/img/b_browse.png | Bin 536 -> 0 bytes .../themes/pmahomme/img/b_calendar.png | Bin 638 -> 0 bytes .../themes/pmahomme/img/b_chart.png | Bin 504 -> 0 bytes .../themes/pmahomme/img/b_close.png | Bin 180 -> 0 bytes .../themes/pmahomme/img/b_column_add.png | Bin 508 -> 0 bytes .../themes/pmahomme/img/b_comment.png | Bin 454 -> 0 bytes .../themes/pmahomme/img/b_dbstatistics.png | Bin 504 -> 0 bytes .../themes/pmahomme/img/b_deltbl.png | Bin 623 -> 0 bytes .../themes/pmahomme/img/b_docs.png | Bin 756 -> 0 bytes .../themes/pmahomme/img/b_docsql.png | Bin 188 -> 0 bytes .../themes/pmahomme/img/b_drop.png | Bin 687 -> 0 bytes .../themes/pmahomme/img/b_edit.png | Bin 407 -> 0 bytes .../themes/pmahomme/img/b_empty.png | Bin 615 -> 0 bytes .../themes/pmahomme/img/b_engine.png | Bin 431 -> 0 bytes .../themes/pmahomme/img/b_event_add.png | Bin 863 -> 0 bytes .../themes/pmahomme/img/b_events.png | Bin 783 -> 0 bytes .../themes/pmahomme/img/b_export.png | Bin 617 -> 0 bytes .../themes/pmahomme/img/b_favorite.png | Bin 545 -> 0 bytes .../themes/pmahomme/img/b_find_replace.png | Bin 845 -> 0 bytes .../themes/pmahomme/img/b_firstpage.png | Bin 754 -> 0 bytes .../themes/pmahomme/img/b_ftext.png | Bin 576 -> 0 bytes .../themes/pmahomme/img/b_group.png | Bin 796 -> 0 bytes .../themes/pmahomme/img/b_help.png | Bin 740 -> 0 bytes .../themes/pmahomme/img/b_home.png | Bin 801 -> 0 bytes .../themes/pmahomme/img/b_import.png | Bin 649 -> 0 bytes .../themes/pmahomme/img/b_index.png | Bin 708 -> 0 bytes .../themes/pmahomme/img/b_index_add.png | Bin 839 -> 0 bytes .../themes/pmahomme/img/b_info.png | Bin 147 -> 0 bytes .../themes/pmahomme/img/b_inline_edit.png | Bin 621 -> 0 bytes .../themes/pmahomme/img/b_insrow.png | Bin 183 -> 0 bytes .../themes/pmahomme/img/b_key.png | Bin 321 -> 0 bytes .../themes/pmahomme/img/b_lastpage.png | Bin 746 -> 0 bytes .../themes/pmahomme/img/b_minus.png | Bin 224 -> 0 bytes .../themes/pmahomme/img/b_more.png | Bin 132 -> 0 bytes .../themes/pmahomme/img/b_move.png | Bin 433 -> 0 bytes .../themes/pmahomme/img/b_newdb.png | Bin 650 -> 0 bytes .../themes/pmahomme/img/b_newtbl.png | Bin 264 -> 0 bytes .../themes/pmahomme/img/b_nextpage.png | Bin 373 -> 0 bytes .../themes/pmahomme/img/b_no_favorite.png | Bin 15796 -> 0 bytes .../themes/pmahomme/img/b_pdfdoc.png | Bin 595 -> 0 bytes .../themes/pmahomme/img/b_plugin.png | Bin 591 -> 0 bytes .../themes/pmahomme/img/b_plus.png | Bin 198 -> 0 bytes .../themes/pmahomme/img/b_prevpage.png | Bin 369 -> 0 bytes .../themes/pmahomme/img/b_primary.png | Bin 619 -> 0 bytes .../themes/pmahomme/img/b_print.png | Bin 702 -> 0 bytes .../themes/pmahomme/img/b_props.png | Bin 655 -> 0 bytes .../themes/pmahomme/img/b_relations.png | Bin 172 -> 0 bytes .../themes/pmahomme/img/b_report.png | Bin 649 -> 0 bytes .../themes/pmahomme/img/b_routine_add.png | Bin 409 -> 0 bytes .../themes/pmahomme/img/b_routines.png | Bin 310 -> 0 bytes .../themes/pmahomme/img/b_save.png | Bin 585 -> 0 bytes .../themes/pmahomme/img/b_saveimage.png | Bin 755 -> 0 bytes .../themes/pmahomme/img/b_sbrowse.png | Bin 536 -> 0 bytes .../themes/pmahomme/img/b_sdb.png | Bin 148 -> 0 bytes .../themes/pmahomme/img/b_search.png | Bin 578 -> 0 bytes .../themes/pmahomme/img/b_select.png | Bin 645 -> 0 bytes .../themes/pmahomme/img/b_snewtbl.png | Bin 717 -> 0 bytes .../themes/pmahomme/img/b_spatial.png | Bin 379 -> 0 bytes .../themes/pmahomme/img/b_sql.png | Bin 723 -> 0 bytes .../themes/pmahomme/img/b_sqldoc.png | Bin 193 -> 0 bytes .../themes/pmahomme/img/b_sqlhelp.png | Bin 590 -> 0 bytes .../themes/pmahomme/img/b_table_add.png | Bin 676 -> 0 bytes .../themes/pmahomme/img/b_tblanalyse.png | Bin 188 -> 0 bytes .../themes/pmahomme/img/b_tblexport.png | Bin 617 -> 0 bytes .../themes/pmahomme/img/b_tblimport.png | Bin 649 -> 0 bytes .../themes/pmahomme/img/b_tblops.png | Bin 618 -> 0 bytes .../themes/pmahomme/img/b_tbloptimize.png | Bin 198 -> 0 bytes .../themes/pmahomme/img/b_tipp.png | Bin 764 -> 0 bytes .../themes/pmahomme/img/b_trigger_add.png | Bin 615 -> 0 bytes .../themes/pmahomme/img/b_triggers.png | Bin 494 -> 0 bytes .../themes/pmahomme/img/b_undo.png | Bin 859 -> 0 bytes .../themes/pmahomme/img/b_unique.png | Bin 615 -> 0 bytes .../themes/pmahomme/img/b_usradd.png | Bin 750 -> 0 bytes .../themes/pmahomme/img/b_usrcheck.png | Bin 773 -> 0 bytes .../themes/pmahomme/img/b_usrdrop.png | Bin 756 -> 0 bytes .../themes/pmahomme/img/b_usredit.png | Bin 845 -> 0 bytes .../themes/pmahomme/img/b_usrlist.png | Bin 774 -> 0 bytes .../themes/pmahomme/img/b_versions.png | Bin 524 -> 0 bytes .../themes/pmahomme/img/b_view.png | Bin 646 -> 0 bytes .../themes/pmahomme/img/b_view_add.png | Bin 766 -> 0 bytes .../themes/pmahomme/img/b_views.png | Bin 630 -> 0 bytes .../themes/pmahomme/img/bd_browse.png | Bin 431 -> 0 bytes .../themes/pmahomme/img/bd_deltbl.png | Bin 333 -> 0 bytes .../themes/pmahomme/img/bd_drop.png | Bin 368 -> 0 bytes .../themes/pmahomme/img/bd_edit.png | Bin 271 -> 0 bytes .../themes/pmahomme/img/bd_empty.png | Bin 352 -> 0 bytes .../themes/pmahomme/img/bd_export.png | Bin 502 -> 0 bytes .../themes/pmahomme/img/bd_firstpage.png | Bin 426 -> 0 bytes .../themes/pmahomme/img/bd_ftext.png | Bin 312 -> 0 bytes .../themes/pmahomme/img/bd_index.png | Bin 358 -> 0 bytes .../themes/pmahomme/img/bd_insrow.png | Bin 224 -> 0 bytes .../themes/pmahomme/img/bd_lastpage.png | Bin 424 -> 0 bytes .../themes/pmahomme/img/bd_nextpage.png | Bin 302 -> 0 bytes .../themes/pmahomme/img/bd_prevpage.png | Bin 303 -> 0 bytes .../themes/pmahomme/img/bd_primary.png | Bin 321 -> 0 bytes .../themes/pmahomme/img/bd_routine_add.png | Bin 372 -> 0 bytes .../themes/pmahomme/img/bd_sbrowse.png | Bin 431 -> 0 bytes .../themes/pmahomme/img/bd_select.png | Bin 345 -> 0 bytes .../themes/pmahomme/img/bd_spatial.png | Bin 369 -> 0 bytes .../themes/pmahomme/img/bd_unique.png | Bin 326 -> 0 bytes .../themes/pmahomme/img/centralColumns.png | Bin 729 -> 0 bytes .../pmahomme/img/centralColumns_add.png | Bin 821 -> 0 bytes .../pmahomme/img/centralColumns_delete.png | Bin 827 -> 0 bytes .../themes/pmahomme/img/col_drop.png | Bin 132 -> 0 bytes .../themes/pmahomme/img/col_pointer.png | Bin 113 -> 0 bytes .../themes/pmahomme/img/col_pointer_ver.png | Bin 117 -> 0 bytes .../themes/pmahomme/img/console.png | Bin 1197 -> 0 bytes .../themes/pmahomme/img/database.png | Bin 353 -> 0 bytes .../themes/pmahomme/img/east-mini.png | Bin 322 -> 0 bytes .../themes/pmahomme/img/eye.png | Bin 721 -> 0 bytes .../themes/pmahomme/img/eye_grey.png | Bin 330 -> 0 bytes .../themes/pmahomme/img/hide.png | Bin 524 -> 0 bytes .../themes/pmahomme/img/item.png | Bin 134 -> 0 bytes .../themes/pmahomme/img/left_nav_bg.png | Bin 257 -> 0 bytes .../themes/pmahomme/img/lightbulb.png | Bin 782 -> 0 bytes .../themes/pmahomme/img/lightbulb_off.png | Bin 700 -> 0 bytes .../themes/pmahomme/img/logo_left.png | Bin 2234 -> 0 bytes .../themes/pmahomme/img/logo_right.png | Bin 4548 -> 0 bytes .../themes/pmahomme/img/more.png | Bin 117 -> 0 bytes .../themes/pmahomme/img/new_data.png | Bin 264 -> 0 bytes .../themes/pmahomme/img/new_data_hovered.png | Bin 264 -> 0 bytes .../img/new_data_selected_hovered.png | Bin 181 -> 0 bytes .../themes/pmahomme/img/new_struct.png | Bin 299 -> 0 bytes .../pmahomme/img/new_struct_hovered.png | Bin 299 -> 0 bytes .../pmahomme/img/new_struct_selected.png | Bin 189 -> 0 bytes .../themes/pmahomme/img/normalize.png | Bin 646 -> 0 bytes .../themes/pmahomme/img/north-mini.png | Bin 327 -> 0 bytes .../themes/pmahomme/img/pause.png | Bin 271 -> 0 bytes .../themes/pmahomme/img/php_sym.png | Bin 156 -> 0 bytes .../themes/pmahomme/img/play.png | Bin 373 -> 0 bytes .../themes/pmahomme/img/pma_logo2.png | Bin 1424 -> 0 bytes .../themes/pmahomme/img/pmd/1.png | Bin 101 -> 0 bytes .../themes/pmahomme/img/pmd/2.png | Bin 169 -> 0 bytes .../themes/pmahomme/img/pmd/2leftarrow.png | Bin 701 -> 0 bytes .../themes/pmahomme/img/pmd/2leftarrow_m.png | Bin 666 -> 0 bytes .../themes/pmahomme/img/pmd/2rightarrow.png | Bin 736 -> 0 bytes .../themes/pmahomme/img/pmd/2rightarrow_m.png | Bin 699 -> 0 bytes .../themes/pmahomme/img/pmd/3.png | Bin 175 -> 0 bytes .../themes/pmahomme/img/pmd/4.png | Bin 181 -> 0 bytes .../themes/pmahomme/img/pmd/5.png | Bin 90 -> 0 bytes .../themes/pmahomme/img/pmd/6.png | Bin 98 -> 0 bytes .../themes/pmahomme/img/pmd/7.png | Bin 105 -> 0 bytes .../themes/pmahomme/img/pmd/8.png | Bin 88 -> 0 bytes .../pmahomme/img/pmd/FieldKey_small.png | Bin 229 -> 0 bytes .../themes/pmahomme/img/pmd/Field_small.png | Bin 275 -> 0 bytes .../pmahomme/img/pmd/Field_small_char.png | Bin 154 -> 0 bytes .../pmahomme/img/pmd/Field_small_date.png | Bin 156 -> 0 bytes .../pmahomme/img/pmd/Field_small_int.png | Bin 145 -> 0 bytes .../themes/pmahomme/img/pmd/Header.png | Bin 122 -> 0 bytes .../themes/pmahomme/img/pmd/Header_Linked.png | Bin 105 -> 0 bytes .../themes/pmahomme/img/pmd/anchor.png | Bin 523 -> 0 bytes .../themes/pmahomme/img/pmd/and_icon.png | Bin 792 -> 0 bytes .../themes/pmahomme/img/pmd/ang_direct.png | Bin 678 -> 0 bytes .../themes/pmahomme/img/pmd/bord.png | Bin 87 -> 0 bytes .../themes/pmahomme/img/pmd/bottom.png | Bin 734 -> 0 bytes .../themes/pmahomme/img/pmd/def.png | Bin 670 -> 0 bytes .../themes/pmahomme/img/pmd/display_field.png | Bin 685 -> 0 bytes .../themes/pmahomme/img/pmd/downarrow1.png | Bin 758 -> 0 bytes .../themes/pmahomme/img/pmd/downarrow2.png | Bin 772 -> 0 bytes .../themes/pmahomme/img/pmd/downarrow2_m.png | Bin 711 -> 0 bytes .../themes/pmahomme/img/pmd/exec.png | Bin 796 -> 0 bytes .../themes/pmahomme/img/pmd/exec_small.png | Bin 161 -> 0 bytes .../pmahomme/img/pmd/exitFullscreen.png | Bin 427 -> 0 bytes .../themes/pmahomme/img/pmd/export.png | Bin 884 -> 0 bytes .../themes/pmahomme/img/pmd/grid.png | Bin 688 -> 0 bytes .../themes/pmahomme/img/pmd/help.png | Bin 713 -> 0 bytes .../themes/pmahomme/img/pmd/help_relation.png | Bin 919 -> 0 bytes .../pmahomme/img/pmd/left_panel_butt.png | Bin 128 -> 0 bytes .../pmahomme/img/pmd/left_panel_tab.png | Bin 133 -> 0 bytes .../themes/pmahomme/img/pmd/minus.png | Bin 1004 -> 0 bytes .../themes/pmahomme/img/pmd/or_icon.png | Bin 611 -> 0 bytes .../themes/pmahomme/img/pmd/page_add.png | Bin 791 -> 0 bytes .../themes/pmahomme/img/pmd/page_delete.png | Bin 807 -> 0 bytes .../themes/pmahomme/img/pmd/page_edit.png | Bin 847 -> 0 bytes .../themes/pmahomme/img/pmd/pdf.png | Bin 905 -> 0 bytes .../themes/pmahomme/img/pmd/plus.png | Bin 969 -> 0 bytes .../themes/pmahomme/img/pmd/query_builder.png | Bin 685 -> 0 bytes .../themes/pmahomme/img/pmd/relation.png | Bin 293 -> 0 bytes .../themes/pmahomme/img/pmd/reload.png | Bin 874 -> 0 bytes .../themes/pmahomme/img/pmd/resize.png | Bin 151 -> 0 bytes .../themes/pmahomme/img/pmd/resizeright.png | Bin 150 -> 0 bytes .../themes/pmahomme/img/pmd/rightarrow1.png | Bin 746 -> 0 bytes .../themes/pmahomme/img/pmd/rightarrow2.png | Bin 757 -> 0 bytes .../themes/pmahomme/img/pmd/save.png | Bin 409 -> 0 bytes .../themes/pmahomme/img/pmd/save_as.png | Bin 459 -> 0 bytes .../themes/pmahomme/img/pmd/small_tab.png | Bin 177 -> 0 bytes .../themes/pmahomme/img/pmd/table.png | Bin 163 -> 0 bytes .../themes/pmahomme/img/pmd/toggle_lines.png | Bin 461 -> 0 bytes .../themes/pmahomme/img/pmd/top_panel.png | Bin 170 -> 0 bytes .../themes/pmahomme/img/pmd/uparrow2_m.png | Bin 729 -> 0 bytes .../pmahomme/img/pmd/viewInFullscreen.png | Bin 472 -> 0 bytes .../themes/pmahomme/img/s_asc.png | Bin 169 -> 0 bytes .../themes/pmahomme/img/s_asci.png | Bin 184 -> 0 bytes .../themes/pmahomme/img/s_attention.png | Bin 629 -> 0 bytes .../themes/pmahomme/img/s_cancel.png | Bin 575 -> 0 bytes .../themes/pmahomme/img/s_cancel2.png | Bin 305 -> 0 bytes .../themes/pmahomme/img/s_cog.png | Bin 475 -> 0 bytes .../themes/pmahomme/img/s_collapseall.png | Bin 170 -> 0 bytes .../themes/pmahomme/img/s_db.png | Bin 353 -> 0 bytes .../themes/pmahomme/img/s_desc.png | Bin 182 -> 0 bytes .../themes/pmahomme/img/s_error.png | Bin 664 -> 0 bytes .../themes/pmahomme/img/s_error2.png | Bin 152 -> 0 bytes .../themes/pmahomme/img/s_fulltext.png | Bin 193 -> 0 bytes .../themes/pmahomme/img/s_host.png | Bin 655 -> 0 bytes .../themes/pmahomme/img/s_info.png | Bin 740 -> 0 bytes .../themes/pmahomme/img/s_lang.png | Bin 755 -> 0 bytes .../themes/pmahomme/img/s_link.png | Bin 386 -> 0 bytes .../themes/pmahomme/img/s_lock.png | Bin 749 -> 0 bytes .../themes/pmahomme/img/s_loggoff.png | Bin 651 -> 0 bytes .../themes/pmahomme/img/s_notice.png | Bin 629 -> 0 bytes .../themes/pmahomme/img/s_okay.png | Bin 772 -> 0 bytes .../themes/pmahomme/img/s_partialtext.png | Bin 196 -> 0 bytes .../themes/pmahomme/img/s_passwd.png | Bin 353 -> 0 bytes .../themes/pmahomme/img/s_process.png | Bin 475 -> 0 bytes .../themes/pmahomme/img/s_really.png | Bin 145 -> 0 bytes .../themes/pmahomme/img/s_reload.png | Bin 582 -> 0 bytes .../themes/pmahomme/img/s_replication.png | Bin 424 -> 0 bytes .../themes/pmahomme/img/s_rights.png | Bin 503 -> 0 bytes .../themes/pmahomme/img/s_sortable.png | Bin 234 -> 0 bytes .../themes/pmahomme/img/s_status.png | Bin 637 -> 0 bytes .../themes/pmahomme/img/s_success.png | Bin 552 -> 0 bytes .../themes/pmahomme/img/s_sync.png | Bin 498 -> 0 bytes .../themes/pmahomme/img/s_tbl.png | Bin 684 -> 0 bytes .../themes/pmahomme/img/s_theme.png | Bin 828 -> 0 bytes .../themes/pmahomme/img/s_top.png | Bin 303 -> 0 bytes .../themes/pmahomme/img/s_unlink.png | Bin 657 -> 0 bytes .../themes/pmahomme/img/s_vars.png | Bin 614 -> 0 bytes .../themes/pmahomme/img/s_views.png | Bin 630 -> 0 bytes .../themes/pmahomme/img/select_bg.png | Bin 291 -> 0 bytes .../themes/pmahomme/img/show.png | Bin 500 -> 0 bytes .../themes/pmahomme/img/south-mini.png | Bin 335 -> 0 bytes .../themes/pmahomme/img/spacer.png | Bin 84 -> 0 bytes .../themes/pmahomme/img/sprites.png | Bin 15764 -> 0 bytes .../themes/pmahomme/img/toggle-ltr.png | Bin 410 -> 0 bytes .../themes/pmahomme/img/toggle-rtl.png | Bin 409 -> 0 bytes .../themes/pmahomme/img/west-mini.png | Bin 328 -> 0 bytes .../themes/pmahomme/img/window-new.png | Bin 484 -> 0 bytes .../themes/pmahomme/img/zoom-minus-mini.png | Bin 247 -> 0 bytes .../themes/pmahomme/img/zoom-plus-mini.png | Bin 329 -> 0 bytes .../themes/pmahomme/img/zoom-world-mini.png | Bin 805 -> 0 bytes .../themes/pmahomme/info.inc.php | 20 - .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 185 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 74 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 127 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 187 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 123 -> 0 bytes .../jquery/images/ui-icons_222222_256x240.png | Bin 4262 -> 0 bytes .../jquery/images/ui-icons_2e83ff_256x240.png | Bin 4261 -> 0 bytes .../jquery/images/ui-icons_454545_256x240.png | Bin 4262 -> 0 bytes .../jquery/images/ui-icons_888888_256x240.png | Bin 4262 -> 0 bytes .../jquery/images/ui-icons_cd0a0a_256x240.png | Bin 4261 -> 0 bytes .../phpmyadmin-4.7/themes/pmahomme/screen.png | Bin 24911 -> 0 bytes .../themes/pmahomme/sprites.lib.php | 824 -- .../vendor/phpmyadmin-4.7/user_password.php | 301 - .../vendor/phpmyadmin-4.7/vendor/autoload.php | 7 - .../phpmyadmin-4.7/vendor/bin/codacycoverage | 1 - .../phpmyadmin-4.7/vendor/bin/coveralls | 1 - .../vendor/phpmyadmin-4.7/vendor/bin/phpcbf | 1 - .../vendor/phpmyadmin-4.7/vendor/bin/phpcs | 1 - .../vendor/phpmyadmin-4.7/vendor/bin/phpunit | 1 - .../vendor/codacy/coverage/LICENSE | 21 - .../vendor/codacy/coverage/README.md | 158 - .../vendor/codacy/coverage/bin/codacycoverage | 29 - .../vendor/codacy/coverage/circle.yml | 13 - .../vendor/codacy/coverage/composer.json | 27 - .../vendor/codacy/coverage/phpunit.xml.dist | 34 - .../src/Codacy/Coverage/Application.php | 23 - .../src/Codacy/Coverage/Command/Clover.php | 151 - .../src/Codacy/Coverage/Command/Phpunit.php | 33 - .../Codacy/Coverage/Parser/CloverParser.php | 146 - .../src/Codacy/Coverage/Parser/Parser.php | 57 - .../Coverage/Parser/PhpUnitXmlParser.php | 124 - .../Codacy/Coverage/Report/CoverageReport.php | 48 - .../src/Codacy/Coverage/Report/FileReport.php | 63 - .../Codacy/Coverage/Util/CodacyApiClient.php | 65 - .../src/Codacy/Coverage/Util/GitClient.php | 45 - .../src/Codacy/Coverage/Util/JsonProducer.php | 87 - .../Coverage/Parser/CloverParserTest.php | 61 - .../Codacy/Coverage/Parser/ParserTest.php | 34 - .../Coverage/Parser/PhpUnitXmlParserTest.php | 51 - .../Codacy/Coverage/Util/GitClientTest.php | 13 - .../coverage/tests/res/clover/clover.xml | 365 - .../res/clover/clover_without_packages.xml | 359 - .../codacy/coverage/tests/res/expected.json | 179 - .../Parser/CloverParser.php.xml | 229 - .../res/phpunit-clover/Parser/Parser.php.xml | 74 - .../Parser/PhpUnitXmlParser.php.xml | 176 - .../Report/CoverageReport.php.xml | 51 - .../phpunit-clover/Report/FileReport.php.xml | 64 - .../res/phpunit-clover/Util/EmptyFile.php.xml | 18 - .../res/phpunit-clover/Util/GitClient.php.xml | 38 - .../phpunit-clover/Util/JsonProducer.php.xml | 72 - .../tests/res/phpunit-clover/clover.xml | 244 - .../tests/res/phpunit-clover/index.xml | 185 - .../tests/res/phpunitxml/Api/Api.php.xml | 17 - .../res/phpunitxml/CodacyPhpCoverage.php.xml | 17 - .../tests/res/phpunitxml/Config.php.xml | 56 - .../res/phpunitxml/Git/GitClient.php.xml | 38 - .../phpunitxml/Parser/CloverParser.php.xml | 224 - .../res/phpunitxml/Parser/Parser.php.xml | 57 - .../Parser/PhpUnitXmlParser.php.xml | 118 - .../phpunitxml/Report/CoverageReport.php.xml | 51 - .../res/phpunitxml/Report/FileReport.php.xml | 64 - .../phpunitxml/Report/JsonProducer.php.xml | 72 - .../coverage/tests/res/phpunitxml/index.xml | 221 - .../phpmyadmin-4.7/vendor/composer/LICENSE | 21 - .../vendor/composer/autoload_classmap.php | 784 -- .../vendor/composer/autoload_files.php | 11 - .../vendor/composer/autoload_namespaces.php | 12 - .../vendor/composer/autoload_psr4.php | 33 - .../vendor/composer/autoload_real.php | 74 - .../vendor/composer/autoload_static.php | 972 -- .../vendor/composer/include_paths.php | 10 - .../vendor/composer/installed.json | 2645 ---- .../doctrine/instantiator/.scrutinizer.yml | 46 - .../doctrine/instantiator/.travis.install.sh | 14 - .../vendor/doctrine/instantiator/.travis.yml | 22 - .../doctrine/instantiator/CONTRIBUTING.md | 35 - .../vendor/doctrine/instantiator/LICENSE | 19 - .../vendor/doctrine/instantiator/README.md | 40 - .../doctrine/instantiator/composer.json | 45 - .../doctrine/instantiator/phpmd.xml.dist | 27 - .../doctrine/instantiator/phpunit.xml.dist | 22 - .../Exception/ExceptionInterface.php | 29 - .../Exception/InvalidArgumentException.php | 62 - .../Exception/UnexpectedValueException.php | 79 - .../Doctrine/Instantiator/Instantiator.php | 273 - .../Instantiator/InstantiatorInterface.php | 37 - .../InstantiatorPerformanceEvent.php | 96 - .../InvalidArgumentExceptionTest.php | 83 - .../UnexpectedValueExceptionTest.php | 69 - .../InstantiatorTest/InstantiatorTest.php | 219 - .../AbstractClassAsset.php | 29 - .../ArrayObjectAsset.php | 41 - .../InstantiatorTestAsset/ExceptionAsset.php | 41 - .../FinalExceptionAsset.php | 41 - .../InstantiatorTestAsset/PharAsset.php | 41 - .../PharExceptionAsset.php | 44 - .../SerializableArrayObjectAsset.php | 62 - .../SimpleSerializableAsset.php | 61 - .../SimpleTraitAsset.php | 29 - .../UnCloneableAsset.php | 50 - .../UnserializeExceptionArrayObjectAsset.php | 39 - .../WakeUpNoticesAsset.php | 38 - .../InstantiatorTestAsset/XMLReaderAsset.php | 41 - .../vendor/gitonomy/gitlib/.gitattributes | 1 - .../vendor/gitonomy/gitlib/.travis.yml | 16 - .../vendor/gitonomy/gitlib/LICENSE | 20 - .../vendor/gitonomy/gitlib/README.md | 12 - .../vendor/gitonomy/gitlib/composer.json | 42 - .../vendor/gitonomy/gitlib/doc/api/admin.rst | 76 - .../vendor/gitonomy/gitlib/doc/api/blame.rst | 54 - .../vendor/gitonomy/gitlib/doc/api/blob.rst | 44 - .../vendor/gitonomy/gitlib/doc/api/branch.rst | 16 - .../vendor/gitonomy/gitlib/doc/api/commit.rst | 168 - .../vendor/gitonomy/gitlib/doc/api/diff.rst | 102 - .../vendor/gitonomy/gitlib/doc/api/hooks.rst | 76 - .../vendor/gitonomy/gitlib/doc/api/log.rst | 54 - .../gitonomy/gitlib/doc/api/references.rst | 91 - .../gitonomy/gitlib/doc/api/repository.rst | 135 - .../gitonomy/gitlib/doc/api/revision.rst | 28 - .../vendor/gitonomy/gitlib/doc/api/tree.rst | 54 - .../gitonomy/gitlib/doc/api/workingcopy.rst | 45 - .../vendor/gitonomy/gitlib/doc/debug.rst | 22 - .../gitonomy/gitlib/doc/development.rst | 24 - .../vendor/gitonomy/gitlib/doc/index.rst | 59 - .../gitonomy/gitlib/doc/installation.rst | 20 - .../vendor/gitonomy/gitlib/phpunit.xml.dist | 21 - .../gitlib/src/Gitonomy/Git/Admin.php | 166 - .../gitlib/src/Gitonomy/Git/Blame.php | 145 - .../gitlib/src/Gitonomy/Git/Blame/Line.php | 56 - .../gitonomy/gitlib/src/Gitonomy/Git/Blob.php | 107 - .../gitlib/src/Gitonomy/Git/Commit.php | 404 - .../src/Gitonomy/Git/CommitReference.php | 22 - .../gitlib/src/Gitonomy/Git/Diff/Diff.php | 127 - .../gitlib/src/Gitonomy/Git/Diff/File.php | 289 - .../src/Gitonomy/Git/Diff/FileChange.php | 87 - .../Git/Exception/GitExceptionInterface.php | 16 - .../Exception/InvalidArgumentException.php | 7 - .../Gitonomy/Git/Exception/LogicException.php | 7 - .../Git/Exception/ProcessException.php | 33 - .../Exception/ReferenceNotFoundException.php | 20 - .../Git/Exception/RuntimeException.php | 7 - .../Exception/UnexpectedValueException.php | 7 - .../gitlib/src/Gitonomy/Git/Hooks.php | 127 - .../gitonomy/gitlib/src/Gitonomy/Git/Log.php | 232 - .../src/Gitonomy/Git/Parser/BlameParser.php | 74 - .../src/Gitonomy/Git/Parser/CommitParser.php | 75 - .../src/Gitonomy/Git/Parser/DiffParser.php | 133 - .../src/Gitonomy/Git/Parser/LogParser.php | 64 - .../src/Gitonomy/Git/Parser/ParserBase.php | 122 - .../Gitonomy/Git/Parser/ReferenceParser.php | 30 - .../src/Gitonomy/Git/Parser/TreeParser.php | 38 - .../gitlib/src/Gitonomy/Git/PushReference.php | 169 - .../gitlib/src/Gitonomy/Git/Reference.php | 70 - .../src/Gitonomy/Git/Reference/Branch.php | 61 - .../src/Gitonomy/Git/Reference/Stash.php | 25 - .../gitlib/src/Gitonomy/Git/Reference/Tag.php | 32 - .../gitlib/src/Gitonomy/Git/ReferenceBag.php | 397 - .../gitlib/src/Gitonomy/Git/Repository.php | 630 - .../gitlib/src/Gitonomy/Git/Revision.php | 68 - .../gitlib/src/Gitonomy/Git/RevisionList.php | 72 - .../gitonomy/gitlib/src/Gitonomy/Git/Tree.php | 107 - .../src/Gitonomy/Git/Util/StringHelper.php | 56 - .../gitlib/src/Gitonomy/Git/WorkingCopy.php | 96 - .../gitonomy/gitlib/test-git-versions.sh | 74 - .../tests/Gitonomy/Git/Tests/AbstractTest.php | 147 - .../tests/Gitonomy/Git/Tests/AdminTest.php | 177 - .../tests/Gitonomy/Git/Tests/BlameTest.php | 43 - .../tests/Gitonomy/Git/Tests/BlobTest.php | 69 - .../tests/Gitonomy/Git/Tests/CommitTest.php | 289 - .../tests/Gitonomy/Git/Tests/DiffTest.php | 142 - .../tests/Gitonomy/Git/Tests/HooksTest.php | 178 - .../tests/Gitonomy/Git/Tests/LogTest.php | 80 - .../Gitonomy/Git/Tests/PushReferenceTest.php | 69 - .../Gitonomy/Git/Tests/ReferenceTest.php | 183 - .../Gitonomy/Git/Tests/RepositoryTest.php | 108 - .../tests/Gitonomy/Git/Tests/RevisionTest.php | 60 - .../tests/Gitonomy/Git/Tests/TreeTest.php | 48 - .../Gitonomy/Git/Tests/WorkingCopyTest.php | 112 - .../gitonomy/gitlib/tests/bootstrap.php | 14 - .../vendor/guzzle/guzzle/.travis.yml | 17 - .../vendor/guzzle/guzzle/CHANGELOG.md | 751 -- .../vendor/guzzle/guzzle/LICENSE | 19 - .../vendor/guzzle/guzzle/README.md | 57 - .../vendor/guzzle/guzzle/UPGRADING.md | 537 - .../vendor/guzzle/guzzle/build.xml | 45 - .../vendor/guzzle/guzzle/composer.json | 82 - .../vendor/guzzle/guzzle/docs/Makefile | 153 - .../docs/_downloads/guzzle-schema-1.0.json | 176 - .../guzzle/docs/_static/guzzle-icon.png | Bin 803 -> 0 bytes .../guzzle/guzzle/docs/_static/homepage.css | 122 - .../guzzle/guzzle/docs/_static/logo.png | Bin 247678 -> 0 bytes .../guzzle/guzzle/docs/_static/prettify.css | 41 - .../guzzle/guzzle/docs/_static/prettify.js | 28 - .../guzzle/guzzle/docs/_templates/index.html | 106 - .../guzzle/docs/_templates/nav_links.html | 5 - .../guzzle/guzzle/docs/batching/batching.rst | 183 - .../vendor/guzzle/guzzle/docs/conf.py | 94 - .../vendor/guzzle/guzzle/docs/docs.rst | 73 - .../guzzle/docs/getting-started/faq.rst | 29 - .../docs/getting-started/installation.rst | 154 - .../guzzle/docs/getting-started/overview.rst | 85 - .../guzzle/guzzle/docs/http-client/client.rst | 569 - .../guzzle/docs/http-client/entity-bodies.rst | 151 - .../docs/http-client/http-redirects.rst | 99 - .../guzzle/docs/http-client/request.rst | 667 - .../guzzle/docs/http-client/response.rst | 141 - .../guzzle/docs/http-client/uri-templates.rst | 52 - .../vendor/guzzle/guzzle/docs/index.rst | 5 - .../docs/iterators/guzzle-iterators.rst | 97 - .../docs/iterators/resource-iterators.rst | 149 - .../guzzle/docs/plugins/async-plugin.rst | 18 - .../guzzle/docs/plugins/backoff-plugin.rst | 22 - .../guzzle/docs/plugins/cache-plugin.rst | 169 - .../guzzle/docs/plugins/cookie-plugin.rst | 33 - .../guzzle/docs/plugins/creating-plugins.rst | 93 - .../guzzle/docs/plugins/curl-auth-plugin.rst | 32 - .../guzzle/docs/plugins/history-plugin.rst | 24 - .../guzzle/guzzle/docs/plugins/log-plugin.rst | 69 - .../docs/plugins/md5-validator-plugin.rst | 29 - .../guzzle/docs/plugins/mock-plugin.rst | 27 - .../guzzle/docs/plugins/oauth-plugin.rst | 30 - .../guzzle/docs/plugins/plugins-list.rst.inc | 9 - .../guzzle/docs/plugins/plugins-overview.rst | 59 - .../guzzle/guzzle/docs/requirements.txt | 2 - .../guzzle/docs/testing/unit-testing.rst | 201 - .../guzzle-service-descriptions.rst | 619 - .../using-the-service-builder.rst | 316 - .../webservice-client/webservice-client.rst | 659 - .../vendor/guzzle/guzzle/phar-stub.php | 16 - .../guzzle/guzzle/phing/build.properties.dist | 16 - .../guzzle/phing/imports/dependencies.xml | 33 - .../guzzle/guzzle/phing/imports/deploy.xml | 142 - .../guzzle/phing/tasks/ComposerLintTask.php | 152 - .../phing/tasks/GuzzlePearPharPackageTask.php | 338 - .../guzzle/phing/tasks/GuzzleSubSplitTask.php | 385 - .../vendor/guzzle/guzzle/phpunit.xml.dist | 48 - .../Guzzle/Batch/AbstractBatchDecorator.php | 66 - .../guzzle/guzzle/src/Guzzle/Batch/Batch.php | 92 - .../guzzle/src/Guzzle/Batch/BatchBuilder.php | 199 - .../src/Guzzle/Batch/BatchClosureDivisor.php | 39 - .../src/Guzzle/Batch/BatchClosureTransfer.php | 40 - .../src/Guzzle/Batch/BatchCommandTransfer.php | 75 - .../Guzzle/Batch/BatchDivisorInterface.php | 18 - .../src/Guzzle/Batch/BatchInterface.php | 32 - .../src/Guzzle/Batch/BatchRequestTransfer.php | 65 - .../src/Guzzle/Batch/BatchSizeDivisor.php | 47 - .../Guzzle/Batch/BatchTransferInterface.php | 16 - .../Exception/BatchTransferException.php | 90 - .../Guzzle/Batch/ExceptionBufferingBatch.php | 50 - .../guzzle/src/Guzzle/Batch/FlushingBatch.php | 60 - .../guzzle/src/Guzzle/Batch/HistoryBatch.php | 39 - .../src/Guzzle/Batch/NotifyingBatch.php | 38 - .../guzzle/src/Guzzle/Batch/composer.json | 31 - .../src/Guzzle/Cache/AbstractCacheAdapter.php | 21 - .../src/Guzzle/Cache/CacheAdapterFactory.php | 117 - .../Guzzle/Cache/CacheAdapterInterface.php | 55 - .../src/Guzzle/Cache/ClosureCacheAdapter.php | 57 - .../src/Guzzle/Cache/DoctrineCacheAdapter.php | 41 - .../src/Guzzle/Cache/NullCacheAdapter.php | 31 - .../src/Guzzle/Cache/Zf1CacheAdapter.php | 44 - .../src/Guzzle/Cache/Zf2CacheAdapter.php | 41 - .../guzzle/src/Guzzle/Cache/composer.json | 27 - .../Guzzle/Common/AbstractHasDispatcher.php | 49 - .../guzzle/src/Guzzle/Common/Collection.php | 403 - .../guzzle/guzzle/src/Guzzle/Common/Event.php | 52 - .../Exception/BadMethodCallException.php | 5 - .../Common/Exception/ExceptionCollection.php | 108 - .../Common/Exception/GuzzleException.php | 8 - .../Exception/InvalidArgumentException.php | 5 - .../Common/Exception/RuntimeException.php | 5 - .../Exception/UnexpectedValueException.php | 5 - .../src/Guzzle/Common/FromConfigInterface.php | 18 - .../Guzzle/Common/HasDispatcherInterface.php | 54 - .../src/Guzzle/Common/ToArrayInterface.php | 16 - .../guzzle/src/Guzzle/Common/Version.php | 29 - .../guzzle/src/Guzzle/Common/composer.json | 20 - .../Http/AbstractEntityBodyDecorator.php | 221 - .../src/Guzzle/Http/CachingEntityBody.php | 229 - .../guzzle/guzzle/src/Guzzle/Http/Client.php | 524 - .../src/Guzzle/Http/ClientInterface.php | 223 - .../src/Guzzle/Http/Curl/CurlHandle.php | 464 - .../guzzle/src/Guzzle/Http/Curl/CurlMulti.php | 423 - .../Guzzle/Http/Curl/CurlMultiInterface.php | 58 - .../src/Guzzle/Http/Curl/CurlMultiProxy.php | 150 - .../src/Guzzle/Http/Curl/CurlVersion.php | 66 - .../src/Guzzle/Http/Curl/RequestMediator.php | 147 - .../guzzle/src/Guzzle/Http/EntityBody.php | 201 - .../src/Guzzle/Http/EntityBodyInterface.php | 73 - .../Http/Exception/BadResponseException.php | 69 - .../ClientErrorResponseException.php | 8 - .../CouldNotRewindStreamException.php | 7 - .../Guzzle/Http/Exception/CurlException.php | 101 - .../Guzzle/Http/Exception/HttpException.php | 10 - .../Http/Exception/MultiTransferException.php | 145 - .../Http/Exception/RequestException.php | 39 - .../ServerErrorResponseException.php | 8 - .../Exception/TooManyRedirectsException.php | 5 - .../src/Guzzle/Http/IoEmittingEntityBody.php | 83 - .../Guzzle/Http/Message/AbstractMessage.php | 220 - .../Http/Message/EntityEnclosingRequest.php | 247 - .../EntityEnclosingRequestInterface.php | 137 - .../guzzle/src/Guzzle/Http/Message/Header.php | 182 - .../Http/Message/Header/CacheControl.php | 121 - .../Http/Message/Header/HeaderCollection.php | 108 - .../Http/Message/Header/HeaderFactory.php | 26 - .../Message/Header/HeaderFactoryInterface.php | 19 - .../Http/Message/Header/HeaderInterface.php | 83 - .../src/Guzzle/Http/Message/Header/Link.php | 93 - .../Guzzle/Http/Message/MessageInterface.php | 102 - .../src/Guzzle/Http/Message/PostFile.php | 124 - .../Guzzle/Http/Message/PostFileInterface.php | 83 - .../src/Guzzle/Http/Message/Request.php | 638 - .../Guzzle/Http/Message/RequestFactory.php | 359 - .../Http/Message/RequestFactoryInterface.php | 105 - .../Guzzle/Http/Message/RequestInterface.php | 318 - .../src/Guzzle/Http/Message/Response.php | 968 -- .../guzzle/src/Guzzle/Http/Mimetypes.php | 962 -- .../Http/QueryAggregator/CommaAggregator.php | 20 - .../QueryAggregator/DuplicateAggregator.php | 22 - .../Http/QueryAggregator/PhpAggregator.php | 27 - .../QueryAggregatorInterface.php | 22 - .../guzzle/src/Guzzle/Http/QueryString.php | 297 - .../src/Guzzle/Http/ReadLimitEntityBody.php | 122 - .../guzzle/src/Guzzle/Http/RedirectPlugin.php | 250 - .../src/Guzzle/Http/Resources/cacert.pem | 3870 ------ .../guzzle/src/Guzzle/Http/StaticClient.php | 157 - .../guzzle/guzzle/src/Guzzle/Http/Url.php | 554 - .../guzzle/src/Guzzle/Http/composer.json | 32 - .../src/Guzzle/Inflection/Inflector.php | 38 - .../Guzzle/Inflection/InflectorInterface.php | 27 - .../Guzzle/Inflection/MemoizingInflector.php | 70 - .../Inflection/PreComputedInflector.php | 59 - .../src/Guzzle/Inflection/composer.json | 26 - .../src/Guzzle/Iterator/AppendIterator.php | 19 - .../src/Guzzle/Iterator/ChunkedIterator.php | 56 - .../src/Guzzle/Iterator/FilterIterator.php | 36 - .../src/Guzzle/Iterator/MapIterator.php | 34 - .../Guzzle/Iterator/MethodProxyIterator.php | 27 - .../guzzle/src/Guzzle/Iterator/README.md | 25 - .../guzzle/src/Guzzle/Iterator/composer.json | 27 - .../src/Guzzle/Log/AbstractLogAdapter.php | 16 - .../guzzle/src/Guzzle/Log/ArrayLogAdapter.php | 34 - .../src/Guzzle/Log/ClosureLogAdapter.php | 23 - .../src/Guzzle/Log/LogAdapterInterface.php | 18 - .../src/Guzzle/Log/MessageFormatter.php | 179 - .../src/Guzzle/Log/MonologLogAdapter.php | 34 - .../guzzle/src/Guzzle/Log/PsrLogAdapter.php | 36 - .../guzzle/src/Guzzle/Log/Zf1LogAdapter.php | 24 - .../guzzle/src/Guzzle/Log/Zf2LogAdapter.php | 21 - .../guzzle/src/Guzzle/Log/composer.json | 29 - .../src/Guzzle/Parser/Cookie/CookieParser.php | 131 - .../Parser/Cookie/CookieParserInterface.php | 33 - .../Parser/Message/AbstractMessageParser.php | 58 - .../Guzzle/Parser/Message/MessageParser.php | 110 - .../Parser/Message/MessageParserInterface.php | 27 - .../Parser/Message/PeclHttpMessageParser.php | 48 - .../src/Guzzle/Parser/ParserRegistry.php | 75 - .../Parser/UriTemplate/PeclUriTemplate.php | 26 - .../Guzzle/Parser/UriTemplate/UriTemplate.php | 254 - .../UriTemplate/UriTemplateInterface.php | 21 - .../src/Guzzle/Parser/Url/UrlParser.php | 48 - .../Guzzle/Parser/Url/UrlParserInterface.php | 19 - .../guzzle/src/Guzzle/Parser/composer.json | 19 - .../src/Guzzle/Plugin/Async/AsyncPlugin.php | 84 - .../src/Guzzle/Plugin/Async/composer.json | 27 - .../Backoff/AbstractBackoffStrategy.php | 91 - .../AbstractErrorCodeBackoffStrategy.php | 40 - .../Guzzle/Plugin/Backoff/BackoffLogger.php | 76 - .../Guzzle/Plugin/Backoff/BackoffPlugin.php | 126 - .../Backoff/BackoffStrategyInterface.php | 30 - .../Backoff/CallbackBackoffStrategy.php | 47 - .../Backoff/ConstantBackoffStrategy.php | 34 - .../Plugin/Backoff/CurlBackoffStrategy.php | 28 - .../Backoff/ExponentialBackoffStrategy.php | 25 - .../Plugin/Backoff/HttpBackoffStrategy.php | 30 - .../Plugin/Backoff/LinearBackoffStrategy.php | 36 - .../Backoff/ReasonPhraseBackoffStrategy.php | 25 - .../Backoff/TruncatedBackoffStrategy.php | 36 - .../src/Guzzle/Plugin/Backoff/composer.json | 28 - .../Cache/CacheKeyProviderInterface.php | 11 - .../src/Guzzle/Plugin/Cache/CachePlugin.php | 353 - .../Plugin/Cache/CacheStorageInterface.php | 43 - .../Plugin/Cache/CallbackCanCacheStrategy.php | 53 - .../Cache/CanCacheStrategyInterface.php | 30 - .../Plugin/Cache/DefaultCacheKeyProvider.php | 46 - .../Plugin/Cache/DefaultCacheStorage.php | 266 - .../Plugin/Cache/DefaultCanCacheStrategy.php | 32 - .../Plugin/Cache/DefaultRevalidation.php | 174 - .../Guzzle/Plugin/Cache/DenyRevalidation.php | 19 - .../Plugin/Cache/RevalidationInterface.php | 32 - .../Guzzle/Plugin/Cache/SkipRevalidation.php | 19 - .../src/Guzzle/Plugin/Cache/composer.json | 28 - .../src/Guzzle/Plugin/Cookie/Cookie.php | 538 - .../Cookie/CookieJar/ArrayCookieJar.php | 237 - .../Cookie/CookieJar/CookieJarInterface.php | 85 - .../Plugin/Cookie/CookieJar/FileCookieJar.php | 65 - .../src/Guzzle/Plugin/Cookie/CookiePlugin.php | 70 - .../Exception/InvalidCookieException.php | 7 - .../src/Guzzle/Plugin/Cookie/composer.json | 27 - .../Guzzle/Plugin/CurlAuth/CurlAuthPlugin.php | 46 - .../src/Guzzle/Plugin/CurlAuth/composer.json | 27 - .../ErrorResponseExceptionInterface.php | 22 - .../ErrorResponse/ErrorResponsePlugin.php | 72 - .../Exception/ErrorResponseException.php | 7 - .../Guzzle/Plugin/ErrorResponse/composer.json | 27 - .../Guzzle/Plugin/History/HistoryPlugin.php | 163 - .../src/Guzzle/Plugin/History/composer.json | 27 - .../src/Guzzle/Plugin/Log/LogPlugin.php | 161 - .../src/Guzzle/Plugin/Log/composer.json | 28 - .../Plugin/Md5/CommandContentMd5Plugin.php | 57 - .../Guzzle/Plugin/Md5/Md5ValidatorPlugin.php | 88 - .../src/Guzzle/Plugin/Md5/composer.json | 27 - .../src/Guzzle/Plugin/Mock/MockPlugin.php | 245 - .../src/Guzzle/Plugin/Mock/composer.json | 27 - .../src/Guzzle/Plugin/Oauth/OauthPlugin.php | 306 - .../src/Guzzle/Plugin/Oauth/composer.json | 27 - .../guzzle/src/Guzzle/Plugin/composer.json | 44 - .../Guzzle/Service/AbstractConfigLoader.php | 177 - .../Guzzle/Service/Builder/ServiceBuilder.php | 189 - .../Builder/ServiceBuilderInterface.php | 40 - .../Service/Builder/ServiceBuilderLoader.php | 89 - .../Guzzle/Service/CachingConfigLoader.php | 46 - .../guzzle/src/Guzzle/Service/Client.php | 297 - .../src/Guzzle/Service/ClientInterface.php | 68 - .../Service/Command/AbstractCommand.php | 390 - .../Guzzle/Service/Command/ClosureCommand.php | 41 - .../Service/Command/CommandInterface.php | 128 - .../Command/CreateResponseClassEvent.php | 32 - .../Command/DefaultRequestSerializer.php | 169 - .../Service/Command/DefaultResponseParser.php | 55 - .../Service/Command/Factory/AliasFactory.php | 39 - .../Command/Factory/CompositeFactory.php | 154 - .../Command/Factory/ConcreteClassFactory.php | 47 - .../Command/Factory/FactoryInterface.php | 21 - .../Service/Command/Factory/MapFactory.php | 27 - .../Factory/ServiceDescriptionFactory.php | 71 - .../Request/AbstractRequestVisitor.php | 69 - .../LocationVisitor/Request/BodyVisitor.php | 58 - .../LocationVisitor/Request/HeaderVisitor.php | 44 - .../LocationVisitor/Request/JsonVisitor.php | 63 - .../Request/PostFieldVisitor.php | 18 - .../Request/PostFileVisitor.php | 24 - .../LocationVisitor/Request/QueryVisitor.php | 18 - .../Request/RequestVisitorInterface.php | 31 - .../Request/ResponseBodyVisitor.php | 18 - .../LocationVisitor/Request/XmlVisitor.php | 252 - .../Response/AbstractResponseVisitor.php | 26 - .../LocationVisitor/Response/BodyVisitor.php | 23 - .../Response/HeaderVisitor.php | 50 - .../LocationVisitor/Response/JsonVisitor.php | 93 - .../Response/ReasonPhraseVisitor.php | 23 - .../Response/ResponseVisitorInterface.php | 46 - .../Response/StatusCodeVisitor.php | 23 - .../LocationVisitor/Response/XmlVisitor.php | 151 - .../LocationVisitor/VisitorFlyweight.php | 138 - .../Service/Command/OperationCommand.php | 89 - .../Command/OperationResponseParser.php | 195 - .../Command/RequestSerializerInterface.php | 21 - .../Command/ResponseClassInterface.php | 18 - .../Command/ResponseParserInterface.php | 18 - .../Guzzle/Service/ConfigLoaderInterface.php | 22 - .../Guzzle/Service/Description/Operation.php | 547 - .../Description/OperationInterface.php | 159 - .../Guzzle/Service/Description/Parameter.php | 925 -- .../Service/Description/SchemaFormatter.php | 156 - .../Service/Description/SchemaValidator.php | 291 - .../Description/ServiceDescription.php | 271 - .../ServiceDescriptionInterface.php | 106 - .../Description/ServiceDescriptionLoader.php | 64 - .../Description/ValidatorInterface.php | 28 - .../Service/Exception/CommandException.php | 7 - .../Exception/CommandTransferException.php | 119 - .../Exception/DescriptionBuilderException.php | 7 - .../InconsistentClientTransferException.php | 38 - .../Exception/ResponseClassException.php | 9 - .../Exception/ServiceBuilderException.php | 7 - .../Exception/ServiceNotFoundException.php | 5 - .../Service/Exception/ValidationException.php | 30 - .../AbstractResourceIteratorFactory.php | 37 - .../CompositeResourceIteratorFactory.php | 67 - .../Resource/MapResourceIteratorFactory.php | 34 - .../src/Guzzle/Service/Resource/Model.php | 64 - .../Service/Resource/ResourceIterator.php | 254 - .../Resource/ResourceIteratorApplyBatched.php | 111 - .../Resource/ResourceIteratorClassFactory.php | 60 - .../ResourceIteratorFactoryInterface.php | 30 - .../Resource/ResourceIteratorInterface.php | 61 - .../guzzle/src/Guzzle/Service/composer.json | 29 - .../Guzzle/Stream/PhpStreamRequestFactory.php | 284 - .../guzzle/src/Guzzle/Stream/Stream.php | 289 - .../src/Guzzle/Stream/StreamInterface.php | 218 - .../Stream/StreamRequestFactoryInterface.php | 24 - .../guzzle/src/Guzzle/Stream/composer.json | 30 - .../Batch/AbstractBatchDecoratorTest.php | 33 - .../Guzzle/Tests/Batch/BatchBuilderTest.php | 86 - .../Tests/Batch/BatchClosureDivisorTest.php | 36 - .../Tests/Batch/BatchClosureTransferTest.php | 52 - .../Tests/Batch/BatchCommandTransferTest.php | 83 - .../Tests/Batch/BatchRequestTransferTest.php | 80 - .../Tests/Batch/BatchSizeDivisorTest.php | 24 - .../tests/Guzzle/Tests/Batch/BatchTest.php | 91 - .../Batch/ExceptionBufferingBatchTest.php | 45 - .../Guzzle/Tests/Batch/FlushingBatchTest.php | 40 - .../Guzzle/Tests/Batch/HistoryBatchTest.php | 26 - .../Guzzle/Tests/Batch/NotifyingBatchTest.php | 45 - .../Tests/Cache/CacheAdapterFactoryTest.php | 64 - .../Guzzle/Tests/Cache/CacheAdapterTest.php | 68 - .../Tests/Cache/ClosureCacheAdapterTest.php | 94 - .../Tests/Cache/NullCacheAdapterTest.php | 20 - .../Tests/Cache/Zf2CacheAdapterTest.php | 58 - .../Common/AbstractHasDispatcherTest.php | 63 - .../Guzzle/Tests/Common/CollectionTest.php | 529 - .../tests/Guzzle/Tests/Common/EventTest.php | 62 - .../Exception/BatchTransferExceptionTest.php | 21 - .../Exception/ExceptionCollectionTest.php | 66 - .../tests/Guzzle/Tests/Common/VersionTest.php | 27 - .../tests/Guzzle/Tests/GuzzleTestCase.php | 235 - .../Http/AbstractEntityBodyDecoratorTest.php | 34 - .../Tests/Http/CachingEntityBodyTest.php | 249 - .../tests/Guzzle/Tests/Http/ClientTest.php | 601 - .../Guzzle/Tests/Http/Curl/CurlHandleTest.php | 947 -- .../Tests/Http/Curl/CurlMultiProxyTest.php | 110 - .../Guzzle/Tests/Http/Curl/CurlMultiTest.php | 455 - .../Tests/Http/Curl/CurlVersionTest.php | 39 - .../Tests/Http/Curl/RequestMediatorTest.php | 67 - .../Guzzle/Tests/Http/EntityBodyTest.php | 182 - .../Http/Exception/CurlExceptionTest.php | 27 - .../Tests/Http/Exception/ExceptionTest.php | 66 - .../Exception/MultiTransferExceptionTest.php | 51 - .../Tests/Http/IoEmittingEntityBodyTest.php | 47 - .../Http/Message/AbstractMessageTest.php | 136 - .../Message/EntityEnclosingRequestTest.php | 434 - .../Http/Message/Header/HeaderFactoryTest.php | 29 - .../Tests/Http/Message/Header/LinkTest.php | 63 - .../Tests/Http/Message/HeaderComparison.php | 135 - .../Http/Message/HeaderComparisonTest.php | 115 - .../Guzzle/Tests/Http/Message/HeaderTest.php | 162 - .../Tests/Http/Message/PostFileTest.php | 88 - .../Tests/Http/Message/RequestFactoryTest.php | 616 - .../Guzzle/Tests/Http/Message/RequestTest.php | 639 - .../Tests/Http/Message/ResponseTest.php | 677 - .../tests/Guzzle/Tests/Http/MimetypesTest.php | 31 - .../QueryAggregator/CommaAggregatorTest.php | 30 - .../DuplicateAggregatorTest.php | 30 - .../QueryAggregator/PhpAggregatorTest.php | 32 - .../Guzzle/Tests/Http/QueryStringTest.php | 233 - .../Tests/Http/ReadLimitEntityBodyTest.php | 81 - .../Guzzle/Tests/Http/RedirectPluginTest.php | 277 - .../guzzle/tests/Guzzle/Tests/Http/Server.php | 191 - .../Guzzle/Tests/Http/StaticClientTest.php | 67 - .../tests/Guzzle/Tests/Http/UrlTest.php | 303 - .../guzzle/tests/Guzzle/Tests/Http/server.js | 146 - .../Guzzle/Tests/Inflection/InflectorTest.php | 37 - .../Inflection/MemoizingInflectorTest.php | 46 - .../Inflection/PreComputedInflectorTest.php | 45 - .../Tests/Iterator/AppendIteratorTest.php | 29 - .../Tests/Iterator/ChunkedIteratorTest.php | 52 - .../Tests/Iterator/FilterIteratorTest.php | 28 - .../Guzzle/Tests/Iterator/MapIteratorTest.php | 28 - .../Iterator/MethodProxyIteratorTest.php | 28 - .../Guzzle/Tests/Log/ArrayLogAdapterTest.php | 23 - .../Tests/Log/ClosureLogAdapterTest.php | 30 - .../Guzzle/Tests/Log/MessageFormatterTest.php | 143 - .../Guzzle/Tests/Log/PsrLogAdapterTest.php | 25 - .../Guzzle/Tests/Log/Zf2LogAdapterTest.php | 51 - .../Guzzle/Tests/Mock/CustomResponseModel.php | 21 - .../Guzzle/Tests/Mock/ErrorResponseMock.php | 25 - .../tests/Guzzle/Tests/Mock/ExceptionMock.php | 11 - .../tests/Guzzle/Tests/Mock/MockMulti.php | 11 - .../tests/Guzzle/Tests/Mock/MockObserver.php | 65 - .../tests/Guzzle/Tests/Mock/MockSubject.php | 7 - .../Parser/Cookie/CookieParserProvider.php | 381 - .../Tests/Parser/Cookie/CookieParserTest.php | 22 - .../Parser/Message/MessageParserProvider.php | 225 - .../Parser/Message/MessageParserTest.php | 58 - .../Message/PeclHttpMessageParserTest.php | 36 - .../Tests/Parser/ParserRegistryTest.php | 33 - .../UriTemplate/AbstractUriTemplateTest.php | 113 - .../UriTemplate/PeclUriTemplateTest.php | 27 - .../Parser/UriTemplate/UriTemplateTest.php | 106 - .../Tests/Plugin/Async/AsyncPluginTest.php | 93 - .../Backoff/AbstractBackoffStrategyTest.php | 86 - .../Plugin/Backoff/BackoffLoggerTest.php | 110 - .../Plugin/Backoff/BackoffPluginTest.php | 297 - .../Backoff/CallbackBackoffStrategyTest.php | 31 - .../Backoff/ConstantBackoffStrategyTest.php | 20 - .../Backoff/CurlBackoffStrategyTest.php | 36 - .../ExponentialBackoffStrategyTest.php | 23 - .../Backoff/HttpBackoffStrategyTest.php | 47 - .../Backoff/LinearBackoffStrategyTest.php | 21 - .../ReasonPhraseBackoffStrategyTest.php | 32 - .../Backoff/TruncatedBackoffStrategyTest.php | 30 - .../Tests/Plugin/Cache/CachePluginTest.php | 441 - .../Cache/CallbackCanCacheStrategyTest.php | 72 - .../Plugin/Cache/DefaultCacheStorageTest.php | 193 - .../Cache/DefaultCanCacheStrategyTest.php | 40 - .../Plugin/Cache/DefaultRevalidationTest.php | 248 - .../Plugin/Cache/DenyRevalidationTest.php | 19 - .../Plugin/Cache/SkipRevalidationTest.php | 19 - .../Cookie/CookieJar/ArrayCookieJarTest.php | 385 - .../Cookie/CookieJar/FileCookieJarTest.php | 63 - .../Tests/Plugin/Cookie/CookiePluginTest.php | 134 - .../Guzzle/Tests/Plugin/Cookie/CookieTest.php | 223 - .../Plugin/CurlAuth/CurlAuthPluginTest.php | 39 - .../ErrorResponse/ErrorResponsePluginTest.php | 137 - .../Plugin/History/HistoryPluginTest.php | 140 - .../Guzzle/Tests/Plugin/Log/LogPluginTest.php | 95 - .../Md5/CommandContentMd5PluginTest.php | 97 - .../Plugin/Md5/Md5ValidatorPluginTest.php | 120 - .../Tests/Plugin/Mock/MockPluginTest.php | 199 - .../Tests/Plugin/Oauth/OauthPluginTest.php | 345 - .../Service/AbstractConfigLoaderTest.php | 149 - .../Builder/ServiceBuilderLoaderTest.php | 177 - .../Service/Builder/ServiceBuilderTest.php | 317 - .../Tests/Service/CachingConfigLoaderTest.php | 43 - .../tests/Guzzle/Tests/Service/ClientTest.php | 320 - .../Service/Command/AbstractCommandTest.php | 16 - .../Service/Command/ClosureCommandTest.php | 54 - .../Tests/Service/Command/CommandTest.php | 445 - .../Command/DefaultRequestSerializerTest.php | 122 - .../Command/DefaultResponseParserTest.php | 59 - .../Command/Factory/AliasFactoryTest.php | 76 - .../Command/Factory/CompositeFactoryTest.php | 124 - .../Factory/ConcreteClassFactoryTest.php | 49 - .../Command/Factory/MapFactoryTest.php | 37 - .../Factory/ServiceDescriptionFactoryTest.php | 68 - .../Request/AbstractVisitorTestCase.php | 110 - .../Request/BodyVisitorTest.php | 63 - .../Request/HeaderVisitorTest.php | 48 - .../Request/JsonVisitorTest.php | 60 - .../Request/PostFieldVisitorTest.php | 33 - .../Request/PostFileVisitorTest.php | 54 - .../Request/QueryVisitorTest.php | 48 - .../Request/ResponseBodyVisitorTest.php | 20 - .../Request/XmlVisitorTest.php | 558 - .../Response/AbstractResponseVisitorTest.php | 29 - .../Response/BodyVisitorTest.php | 21 - .../Response/HeaderVisitorTest.php | 98 - .../Response/JsonVisitorTest.php | 157 - .../Response/ReasonPhraseVisitorTest.php | 21 - .../Response/StatusCodeVisitorTest.php | 21 - .../Response/XmlVisitorTest.php | 431 - .../LocationVisitor/VisitorFlyweightTest.php | 53 - .../Service/Command/OperationCommandTest.php | 102 - .../Command/OperationResponseParserTest.php | 335 - .../Service/Description/OperationTest.php | 308 - .../Service/Description/ParameterTest.php | 411 - .../Description/SchemaFormatterTest.php | 61 - .../Description/SchemaValidatorTest.php | 326 - .../ServiceDescriptionLoaderTest.php | 177 - .../Description/ServiceDescriptionTest.php | 240 - .../CommandTransferExceptionTest.php | 66 - ...nconsistentClientTransferExceptionTest.php | 15 - .../Exception/ValidationExceptionTest.php | 17 - .../Service/Mock/Command/IterableCommand.php | 31 - .../Service/Mock/Command/MockCommand.php | 32 - .../Service/Mock/Command/OtherCommand.php | 30 - .../Tests/Service/Mock/Command/Sub/Sub.php | 7 - .../Guzzle/Tests/Service/Mock/MockClient.php | 36 - .../Mock/Model/MockCommandIterator.php | 42 - .../CompositeResourceIteratorFactoryTest.php | 37 - .../MapResourceIteratorFactoryTest.php | 40 - .../Tests/Service/Resource/ModelTest.php | 65 - .../ResourceIteratorClassFactoryTest.php | 41 - .../Service/Resource/ResourceIteratorTest.php | 184 - .../Stream/PhpStreamRequestFactoryTest.php | 172 - .../tests/Guzzle/Tests/Stream/StreamTest.php | 189 - .../tests/Guzzle/Tests/TestData/FileBody.txt | 0 .../Tests/TestData/description/bar.json | 3 - .../Tests/TestData/description/baz.json | 3 - .../Tests/TestData/description/foo.json | 8 - .../Tests/TestData/description/recursive.json | 3 - .../tests/Guzzle/Tests/TestData/mock_response | 3 - .../Guzzle/Tests/TestData/services/json1.json | 18 - .../Guzzle/Tests/TestData/services/json2.json | 11 - .../Tests/TestData/services/services.json | 71 - .../Guzzle/Tests/TestData/test_service.json | 40 - .../Guzzle/Tests/TestData/test_service2.json | 7 - .../Guzzle/Tests/TestData/test_service_3.json | 40 - .../vendor/guzzle/guzzle/tests/bootstrap.php | 10 - .../phpdocumentor/reflection-common/LICENSE | 22 - .../phpdocumentor/reflection-common/README.md | 1 - .../reflection-common/composer.json | 29 - .../reflection-common/composer.lock | 974 -- .../reflection-common/phpunit.xml.dist | 26 - .../reflection-common/src/Element.php | 32 - .../reflection-common/src/File.php | 40 - .../reflection-common/src/Fqsen.php | 78 - .../reflection-common/src/Location.php | 57 - .../reflection-common/src/Project.php | 25 - .../reflection-common/src/ProjectFactory.php | 27 - .../tests/common/bootstrap.php | 10 - .../tests/unit/FqsenTest.php | 88 - .../reflection-docblock/.scrutinizer.yml | 32 - .../reflection-docblock/.travis.yml | 36 - .../phpdocumentor/reflection-docblock/LICENSE | 21 - .../reflection-docblock/README.md | 69 - .../reflection-docblock/composer.json | 28 - .../reflection-docblock/composer.lock | 1120 -- .../01-interpreting-a-simple-docblock.php | 27 - .../examples/02-interpreting-tags.php | 24 - .../examples/03-reconstituting-a-docblock.php | 27 - .../examples/04-adding-your-own-tag.php | 135 - .../playing-with-descriptions/02-escaping.php | 47 - .../reflection-docblock/phpmd.xml.dist | 23 - .../reflection-docblock/phpunit.xml.dist | 33 - .../reflection-docblock/src/DocBlock.php | 220 - .../src/DocBlock/Description.php | 103 - .../src/DocBlock/DescriptionFactory.php | 192 - .../src/DocBlock/ExampleFinder.php | 170 - .../src/DocBlock/Serializer.php | 143 - .../src/DocBlock/StandardTagFactory.php | 314 - .../reflection-docblock/src/DocBlock/Tag.php | 26 - .../src/DocBlock/TagFactory.php | 93 - .../src/DocBlock/Tags/Author.php | 100 - .../src/DocBlock/Tags/BaseTag.php | 52 - .../src/DocBlock/Tags/Covers.php | 84 - .../src/DocBlock/Tags/Deprecated.php | 97 - .../src/DocBlock/Tags/Example.php | 158 - .../DocBlock/Tags/Factory/StaticMethod.php | 18 - .../src/DocBlock/Tags/Factory/Strategy.php | 18 - .../src/DocBlock/Tags/Formatter.php | 27 - .../Tags/Formatter/PassthroughFormatter.php | 31 - .../src/DocBlock/Tags/Generic.php | 91 - .../src/DocBlock/Tags/Link.php | 77 - .../src/DocBlock/Tags/Method.php | 230 - .../src/DocBlock/Tags/Param.php | 141 - .../src/DocBlock/Tags/Property.php | 118 - .../src/DocBlock/Tags/PropertyRead.php | 118 - .../src/DocBlock/Tags/PropertyWrite.php | 118 - .../src/DocBlock/Tags/Return_.php | 73 - .../src/DocBlock/Tags/See.php | 81 - .../src/DocBlock/Tags/Since.php | 94 - .../src/DocBlock/Tags/Source.php | 96 - .../src/DocBlock/Tags/Throws.php | 72 - .../src/DocBlock/Tags/Uses.php | 83 - .../src/DocBlock/Tags/Var_.php | 118 - .../src/DocBlock/Tags/Version.php | 94 - .../src/DocBlockFactory.php | 277 - .../src/DocBlockFactoryInterface.php | 23 - .../integration/InterpretingDocBlocksTest.php | 97 - .../ReconstitutingADocBlockTest.php | 35 - .../tests/integration/UsingTagsTest.php | 39 - .../unit/DocBlock/DescriptionFactoryTest.php | 174 - .../tests/unit/DocBlock/DescriptionTest.php | 75 - .../tests/unit/DocBlock/SerializerTest.php | 201 - .../unit/DocBlock/StandardTagFactoryTest.php | 361 - .../tests/unit/DocBlock/Tags/AuthorTest.php | 148 - .../tests/unit/DocBlock/Tags/CoversTest.php | 155 - .../unit/DocBlock/Tags/DeprecatedTest.php | 166 - .../Formatter/PassthroughFormatterTest.php | 41 - .../tests/unit/DocBlock/Tags/GenericTest.php | 146 - .../tests/unit/DocBlock/Tags/LinkTest.php | 158 - .../tests/unit/DocBlock/Tags/MethodTest.php | 437 - .../tests/unit/DocBlock/Tags/ParamTest.php | 228 - .../unit/DocBlock/Tags/PropertyReadTest.php | 201 - .../tests/unit/DocBlock/Tags/PropertyTest.php | 200 - .../unit/DocBlock/Tags/PropertyWriteTest.php | 201 - .../tests/unit/DocBlock/Tags/ReturnTest.php | 170 - .../tests/unit/DocBlock/Tags/SeeTest.php | 173 - .../tests/unit/DocBlock/Tags/SinceTest.php | 166 - .../tests/unit/DocBlock/Tags/SourceTest.php | 199 - .../tests/unit/DocBlock/Tags/ThrowsTest.php | 170 - .../tests/unit/DocBlock/Tags/UsesTest.php | 174 - .../tests/unit/DocBlock/Tags/VarTest.php | 200 - .../tests/unit/DocBlock/Tags/VersionTest.php | 166 - .../tests/unit/DocBlockFactoryTest.php | 290 - .../tests/unit/DocBlockTest.php | 252 - .../type-resolver/.scrutinizer.yml | 31 - .../phpdocumentor/type-resolver/.travis.yml | 34 - .../phpdocumentor/type-resolver/LICENSE | 21 - .../phpdocumentor/type-resolver/README.md | 169 - .../phpdocumentor/type-resolver/composer.json | 27 - .../examples/01-resolving-simple-types.php | 13 - .../examples/02-resolving-classes.php | 12 - .../examples/03-resolving-all-elements.php | 17 - ...ing-the-context-using-class-reflection.php | 30 - ...ng-the-context-using-method-reflection.php | 30 - ...vering-the-context-using-file-contents.php | 22 - .../type-resolver/examples/Classy.php | 16 - .../type-resolver/phpmd.xml.dist | 23 - .../type-resolver/phpunit.xml.dist | 31 - .../type-resolver/src/FqsenResolver.php | 76 - .../phpdocumentor/type-resolver/src/Type.php | 18 - .../type-resolver/src/TypeResolver.php | 266 - .../type-resolver/src/Types/Array_.php | 87 - .../type-resolver/src/Types/Boolean.php | 31 - .../type-resolver/src/Types/Callable_.php | 31 - .../type-resolver/src/Types/Compound.php | 82 - .../type-resolver/src/Types/Context.php | 84 - .../src/Types/ContextFactory.php | 210 - .../type-resolver/src/Types/Float_.php | 31 - .../type-resolver/src/Types/Integer.php | 28 - .../type-resolver/src/Types/Mixed.php | 31 - .../type-resolver/src/Types/Null_.php | 31 - .../type-resolver/src/Types/Object_.php | 70 - .../type-resolver/src/Types/Resource.php | 31 - .../type-resolver/src/Types/Scalar.php | 31 - .../type-resolver/src/Types/Self_.php | 33 - .../type-resolver/src/Types/Static_.php | 38 - .../type-resolver/src/Types/String_.php | 31 - .../type-resolver/src/Types/This.php | 34 - .../type-resolver/src/Types/Void_.php | 34 - .../tests/unit/TypeResolverTest.php | 395 - .../tests/unit/Types/ContextFactoryTest.php | 188 - .../tests/unit/Types/ContextTest.php | 61 - .../vendor/phpmyadmin/coding-standard/LICENSE | 27 - .../Sniffs/Commenting/ClassCommentSniff.php | 137 - .../Sniffs/Commenting/FileCommentSniff.php | 526 - .../Commenting/FunctionCommentSniff.php | 384 - .../Sniffs/Files/SpacesAroundConcatSniff.php | 78 - .../coding-standard/PMAStandard/ruleset.xml | 10 - .../phpmyadmin/coding-standard/README.md | 45 - .../phpmyadmin/coding-standard/composer.json | 20 - .../vendor/phpmyadmin/motranslator/CHANGES.md | 61 - .../vendor/phpmyadmin/motranslator/README.md | 138 - .../phpmyadmin/motranslator/composer.json | 30 - .../phpmyadmin/motranslator/src/Loader.php | 247 - .../vendor/phpmyadmin/shapefile/CHANGELOG.md | 76 - .../vendor/phpmyadmin/shapefile/README.md | 57 - .../vendor/phpmyadmin/shapefile/composer.json | 32 - .../vendor/phpmyadmin/shapefile/phpunit.xml | 25 - .../vendor/phpmyadmin/shapefile/src/Util.php | 118 - .../vendor/phpmyadmin/sql-parser/CHANGELOG.md | 249 - .../vendor/phpmyadmin/sql-parser/README.md | 117 - .../phpmyadmin/sql-parser/composer.json | 46 - .../locale/af/LC_MESSAGES/sqlparser.mo | Bin 530 -> 0 bytes .../locale/ar/LC_MESSAGES/sqlparser.mo | Bin 599 -> 0 bytes .../locale/az/LC_MESSAGES/sqlparser.mo | Bin 539 -> 0 bytes .../locale/be/LC_MESSAGES/sqlparser.mo | Bin 607 -> 0 bytes .../locale/be@latin/LC_MESSAGES/sqlparser.mo | Bin 627 -> 0 bytes .../locale/bg/LC_MESSAGES/sqlparser.mo | Bin 534 -> 0 bytes .../locale/bn/LC_MESSAGES/sqlparser.mo | Bin 528 -> 0 bytes .../locale/br/LC_MESSAGES/sqlparser.mo | Bin 526 -> 0 bytes .../locale/brx/LC_MESSAGES/sqlparser.mo | Bin 529 -> 0 bytes .../locale/bs/LC_MESSAGES/sqlparser.mo | Bin 602 -> 0 bytes .../locale/ca/LC_MESSAGES/sqlparser.mo | Bin 3787 -> 0 bytes .../locale/ckb/LC_MESSAGES/sqlparser.mo | Bin 533 -> 0 bytes .../locale/cs/LC_MESSAGES/sqlparser.mo | Bin 705 -> 0 bytes .../locale/cy/LC_MESSAGES/sqlparser.mo | Bin 585 -> 0 bytes .../locale/da/LC_MESSAGES/sqlparser.mo | Bin 2575 -> 0 bytes .../locale/de/LC_MESSAGES/sqlparser.mo | Bin 4576 -> 0 bytes .../locale/el/LC_MESSAGES/sqlparser.mo | Bin 5842 -> 0 bytes .../locale/en_GB/LC_MESSAGES/sqlparser.mo | Bin 551 -> 0 bytes .../locale/eo/LC_MESSAGES/sqlparser.mo | Bin 573 -> 0 bytes .../locale/es/LC_MESSAGES/sqlparser.mo | Bin 4548 -> 0 bytes .../locale/et/LC_MESSAGES/sqlparser.mo | Bin 4206 -> 0 bytes .../locale/eu/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes .../locale/fa/LC_MESSAGES/sqlparser.mo | Bin 528 -> 0 bytes .../locale/fi/LC_MESSAGES/sqlparser.mo | Bin 2007 -> 0 bytes .../locale/fr/LC_MESSAGES/sqlparser.mo | Bin 4570 -> 0 bytes .../locale/fy/LC_MESSAGES/sqlparser.mo | Bin 541 -> 0 bytes .../locale/gl/LC_MESSAGES/sqlparser.mo | Bin 529 -> 0 bytes .../locale/gu/LC_MESSAGES/sqlparser.mo | Bin 534 -> 0 bytes .../locale/he/LC_MESSAGES/sqlparser.mo | Bin 530 -> 0 bytes .../locale/hi/LC_MESSAGES/sqlparser.mo | Bin 526 -> 0 bytes .../locale/hr/LC_MESSAGES/sqlparser.mo | Bin 603 -> 0 bytes .../locale/hu/LC_MESSAGES/sqlparser.mo | Bin 3655 -> 0 bytes .../locale/hy/LC_MESSAGES/sqlparser.mo | Bin 1700 -> 0 bytes .../locale/ia/LC_MESSAGES/sqlparser.mo | Bin 4621 -> 0 bytes .../locale/id/LC_MESSAGES/sqlparser.mo | Bin 858 -> 0 bytes .../locale/it/LC_MESSAGES/sqlparser.mo | Bin 4607 -> 0 bytes .../locale/ja/LC_MESSAGES/sqlparser.mo | Bin 3723 -> 0 bytes .../locale/ka/LC_MESSAGES/sqlparser.mo | Bin 524 -> 0 bytes .../locale/kk/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes .../locale/km/LC_MESSAGES/sqlparser.mo | Bin 529 -> 0 bytes .../locale/kn/LC_MESSAGES/sqlparser.mo | Bin 540 -> 0 bytes .../locale/ko/LC_MESSAGES/sqlparser.mo | Bin 1861 -> 0 bytes .../locale/ksh/LC_MESSAGES/sqlparser.mo | Bin 539 -> 0 bytes .../locale/ky/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes .../locale/li/LC_MESSAGES/sqlparser.mo | Bin 546 -> 0 bytes .../locale/lt/LC_MESSAGES/sqlparser.mo | Bin 594 -> 0 bytes .../locale/lv/LC_MESSAGES/sqlparser.mo | Bin 568 -> 0 bytes .../locale/mk/LC_MESSAGES/sqlparser.mo | Bin 548 -> 0 bytes .../locale/ml/LC_MESSAGES/sqlparser.mo | Bin 530 -> 0 bytes .../locale/mn/LC_MESSAGES/sqlparser.mo | Bin 530 -> 0 bytes .../locale/ms/LC_MESSAGES/sqlparser.mo | Bin 521 -> 0 bytes .../locale/nb/LC_MESSAGES/sqlparser.mo | Bin 541 -> 0 bytes .../locale/ne/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes .../locale/nl/LC_MESSAGES/sqlparser.mo | Bin 4500 -> 0 bytes .../locale/pa/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes .../locale/pl/LC_MESSAGES/sqlparser.mo | Bin 3483 -> 0 bytes .../locale/pt/LC_MESSAGES/sqlparser.mo | Bin 676 -> 0 bytes .../locale/pt_BR/LC_MESSAGES/sqlparser.mo | Bin 4620 -> 0 bytes .../locale/ro/LC_MESSAGES/sqlparser.mo | Bin 830 -> 0 bytes .../locale/ru/LC_MESSAGES/sqlparser.mo | Bin 3641 -> 0 bytes .../locale/si/LC_MESSAGES/sqlparser.mo | Bin 540 -> 0 bytes .../locale/sk/LC_MESSAGES/sqlparser.mo | Bin 4537 -> 0 bytes .../locale/sl/LC_MESSAGES/sqlparser.mo | Bin 4489 -> 0 bytes .../locale/sq/LC_MESSAGES/sqlparser.mo | Bin 3557 -> 0 bytes .../sql-parser/locale/sqlparser.pot | 212 - .../locale/sr/LC_MESSAGES/sqlparser.mo | Bin 602 -> 0 bytes .../locale/sr@latin/LC_MESSAGES/sqlparser.mo | Bin 624 -> 0 bytes .../locale/sv/LC_MESSAGES/sqlparser.mo | Bin 3254 -> 0 bytes .../locale/ta/LC_MESSAGES/sqlparser.mo | Bin 526 -> 0 bytes .../locale/te/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes .../locale/th/LC_MESSAGES/sqlparser.mo | Bin 520 -> 0 bytes .../locale/tk/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes .../locale/tr/LC_MESSAGES/sqlparser.mo | Bin 4497 -> 0 bytes .../locale/tt/LC_MESSAGES/sqlparser.mo | Bin 521 -> 0 bytes .../locale/ug/LC_MESSAGES/sqlparser.mo | Bin 522 -> 0 bytes .../locale/uk/LC_MESSAGES/sqlparser.mo | Bin 604 -> 0 bytes .../locale/ur/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes .../locale/uz/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes .../locale/uz@latin/LC_MESSAGES/sqlparser.mo | Bin 541 -> 0 bytes .../locale/vi/LC_MESSAGES/sqlparser.mo | Bin 3672 -> 0 bytes .../locale/vls/LC_MESSAGES/sqlparser.mo | Bin 548 -> 0 bytes .../locale/zh_CN/LC_MESSAGES/sqlparser.mo | Bin 603 -> 0 bytes .../locale/zh_TW/LC_MESSAGES/sqlparser.mo | Bin 4240 -> 0 bytes .../sql-parser/src/Components/Expression.php | 445 - .../phpmyadmin/sql-parser/src/Context.php | 554 - .../phpmyadmin/sql-parser/src/Lexer.php | 935 -- .../phpmyadmin/sql-parser/src/Parser.php | 571 - .../phpmyadmin/sql-parser/src/Token.php | 315 - .../phpmyadmin/sql-parser/src/Utils/CLI.php | 133 - .../sql-parser/src/Utils/Formatter.php | 626 - .../vendor/phpseclib/phpseclib/README.md | 65 - .../vendor/phpseclib/phpseclib/composer.json | 76 - .../vendor/phpseclib/phpseclib/composer.lock | 1819 --- .../phpseclib/phpseclib/Crypt/Base.php | 2553 ---- .../vendor/phpspec/prophecy/.travis.yml | 39 - .../vendor/phpspec/prophecy/CHANGES.md | 165 - .../vendor/phpspec/prophecy/CONTRIBUTING.md | 22 - .../vendor/phpspec/prophecy/LICENSE | 23 - .../vendor/phpspec/prophecy/README.md | 391 - .../vendor/phpspec/prophecy/composer.json | 50 - .../phpspec/prophecy/fixtures/EmptyClass.php | 7 - .../prophecy/fixtures/EmptyInterface.php | 7 - .../phpspec/prophecy/fixtures/FinalClass.php | 7 - .../prophecy/fixtures/ModifierInterface.php | 10 - .../phpspec/prophecy/fixtures/Named.php | 8 - .../prophecy/fixtures/OptionalDepsClass.php | 16 - .../prophecy/fixtures/SpecialMethods.php | 36 - .../prophecy/fixtures/WithArguments.php | 14 - .../fixtures/WithCallableArgument.php | 10 - .../prophecy/fixtures/WithFinalMethod.php | 10 - .../WithFinalVirtuallyPrivateMethod.php | 15 - .../fixtures/WithProtectedAbstractMethod.php | 8 - .../prophecy/fixtures/WithReferences.php | 10 - .../prophecy/fixtures/WithReturnTypehints.php | 18 - .../prophecy/fixtures/WithStaticMethod.php | 10 - .../WithTypehintedVariadicArgument.php | 10 - .../fixtures/WithVariadicArgument.php | 10 - .../fixtures/WithVirtuallyPrivateMethod.php | 19 - .../vendor/phpspec/prophecy/phpunit.xml.dist | 24 - .../Argument/ArgumentsWildcardSpec.php | 128 - .../Argument/Token/AnyValueTokenSpec.php | 28 - .../Argument/Token/AnyValuesTokenSpec.php | 28 - .../Token/ApproximateValueTokenSpec.php | 55 - .../Argument/Token/ArrayCountTokenSpec.php | 58 - .../Argument/Token/ArrayEntryTokenSpec.php | 202 - .../Token/ArrayEveryEntryTokenSpec.php | 96 - .../Argument/Token/CallbackTokenSpec.php | 42 - .../Argument/Token/ExactValueTokenSpec.php | 152 - .../Token/IdenticalValueTokenSpec.php | 152 - .../Argument/Token/LogicalAndTokenSpec.php | 69 - .../Argument/Token/LogicalNotTokenSpec.php | 62 - .../Argument/Token/ObjectStateTokenSpec.php | 89 - .../Token/StringContainsTokenSpec.php | 49 - .../Prophecy/Argument/Token/TypeTokenSpec.php | 57 - .../prophecy/spec/Prophecy/ArgumentSpec.php | 107 - .../spec/Prophecy/Call/CallCenterSpec.php | 180 - .../prophecy/spec/Prophecy/Call/CallSpec.php | 51 - .../Comparator/ClosureComparatorSpec.php | 39 - .../spec/Prophecy/Comparator/FactorySpec.php | 20 - .../Comparator/ProphecyComparatorSpec.php | 39 - .../DisableConstructorPatchSpec.php | 54 - .../ClassPatch/HhvmExceptionPatchSpec.php | 34 - .../Doubler/ClassPatch/KeywordPatchSpec.php | 43 - .../Doubler/ClassPatch/MagicCallPatchSpec.php | 140 - .../ClassPatch/ProphecySubjectPatchSpec.php | 79 - .../ReflectionClassNewInstancePatchSpec.php | 43 - .../ClassPatch/SplFileInfoPatchSpec.php | 85 - .../ClassPatch/TraversablePatchSpec.php | 50 - .../spec/Prophecy/Doubler/DoublerSpec.php | 115 - .../Generator/ClassCodeGeneratorSpec.php | 362 - .../Doubler/Generator/ClassCreatorSpec.php | 37 - .../Generator/Node/ArgumentNodeSpec.php | 92 - .../Doubler/Generator/Node/ClassNodeSpec.php | 185 - .../Doubler/Generator/Node/MethodNodeSpec.php | 134 - .../spec/Prophecy/Doubler/LazyDoubleSpec.php | 79 - .../Prophecy/Doubler/NameGeneratorSpec.php | 60 - .../Call/UnexpectedCallExceptionSpec.php | 30 - .../Doubler/ClassCreatorExceptionSpec.php | 26 - .../Doubler/ClassMirrorExceptionSpec.php | 24 - .../Doubler/ClassNotFoundExceptionSpec.php | 25 - .../Exception/Doubler/DoubleExceptionSpec.php | 14 - .../InterfaceNotFoundExceptionSpec.php | 24 - .../MethodNotExtendableExceptionSpec.php | 29 - .../Doubler/MethodNotFoundExceptionSpec.php | 40 - .../Prediction/AggregateExceptionSpec.php | 50 - .../Prediction/NoCallsExceptionSpec.php | 27 - .../UnexpectedCallsCountExceptionSpec.php | 27 - .../UnexpectedCallsExceptionSpec.php | 33 - .../Prophecy/MethodProphecyExceptionSpec.php | 28 - .../Prophecy/ObjectProphecyExceptionSpec.php | 24 - .../Prediction/CallPredictionSpec.php | 42 - .../Prediction/CallTimesPredictionSpec.php | 50 - .../Prediction/CallbackPredictionSpec.php | 34 - .../Prediction/NoCallsPredictionSpec.php | 41 - .../Prophecy/Promise/CallbackPromiseSpec.php | 96 - .../Promise/ReturnArgumentPromiseSpec.php | 31 - .../Prophecy/Promise/ReturnPromiseSpec.php | 49 - .../Prophecy/Promise/ThrowPromiseSpec.php | 92 - .../Prophecy/Prophecy/MethodProphecySpec.php | 342 - .../Prophecy/Prophecy/ObjectProphecySpec.php | 283 - .../spec/Prophecy/Prophecy/RevealerSpec.php | 44 - .../prophecy/spec/Prophecy/ProphetSpec.php | 81 - .../spec/Prophecy/Util/StringUtilSpec.php | 91 - .../prophecy/src/Prophecy/Argument.php | 212 - .../Prophecy/Argument/ArgumentsWildcard.php | 101 - .../Prophecy/Argument/Token/AnyValueToken.php | 52 - .../Argument/Token/AnyValuesToken.php | 52 - .../Argument/Token/ApproximateValueToken.php | 55 - .../Argument/Token/ArrayCountToken.php | 86 - .../Argument/Token/ArrayEntryToken.php | 143 - .../Argument/Token/ArrayEveryEntryToken.php | 82 - .../Prophecy/Argument/Token/CallbackToken.php | 75 - .../Argument/Token/ExactValueToken.php | 116 - .../Argument/Token/IdenticalValueToken.php | 74 - .../Argument/Token/LogicalAndToken.php | 80 - .../Argument/Token/LogicalNotToken.php | 73 - .../Argument/Token/ObjectStateToken.php | 104 - .../Argument/Token/StringContainsToken.php | 67 - .../Argument/Token/TokenInterface.php | 43 - .../src/Prophecy/Argument/Token/TypeToken.php | 76 - .../prophecy/src/Prophecy/Call/Call.php | 127 - .../prophecy/src/Prophecy/Call/CallCenter.php | 171 - .../Prophecy/Comparator/ClosureComparator.php | 42 - .../src/Prophecy/Comparator/Factory.php | 47 - .../Comparator/ProphecyComparator.php | 28 - .../src/Prophecy/Doubler/CachedDoubler.php | 68 - .../ClassPatch/ClassPatchInterface.php | 48 - .../ClassPatch/DisableConstructorPatch.php | 72 - .../Doubler/ClassPatch/HhvmExceptionPatch.php | 63 - .../Doubler/ClassPatch/KeywordPatch.php | 135 - .../Doubler/ClassPatch/MagicCallPatch.php | 89 - .../ClassPatch/ProphecySubjectPatch.php | 104 - .../ReflectionClassNewInstancePatch.php | 57 - .../Doubler/ClassPatch/SplFileInfoPatch.php | 105 - .../Doubler/ClassPatch/TraversablePatch.php | 83 - .../src/Prophecy/Doubler/DoubleInterface.php | 22 - .../prophecy/src/Prophecy/Doubler/Doubler.php | 146 - .../Doubler/Generator/ClassCodeGenerator.php | 145 - .../Doubler/Generator/ClassCreator.php | 67 - .../Doubler/Generator/ClassMirror.php | 258 - .../Doubler/Generator/Node/ArgumentNode.php | 102 - .../Doubler/Generator/Node/ClassNode.php | 166 - .../Doubler/Generator/Node/MethodNode.php | 207 - .../Doubler/Generator/ReflectionInterface.php | 22 - .../src/Prophecy/Doubler/LazyDouble.php | 127 - .../src/Prophecy/Doubler/NameGenerator.php | 52 - .../Call/UnexpectedCallException.php | 40 - .../Doubler/ClassCreatorException.php | 31 - .../Doubler/ClassMirrorException.php | 31 - .../Doubler/ClassNotFoundException.php | 33 - .../Exception/Doubler/DoubleException.php | 18 - .../Exception/Doubler/DoublerException.php | 18 - .../Doubler/InterfaceNotFoundException.php | 20 - .../Doubler/MethodNotExtendableException.php | 41 - .../Doubler/MethodNotFoundException.php | 60 - .../Doubler/ReturnByReferenceException.php | 41 - .../src/Prophecy/Exception/Exception.php | 26 - .../Exception/InvalidArgumentException.php | 16 - .../Prediction/AggregateException.php | 50 - .../Prediction/FailedPredictionException.php | 24 - .../Exception/Prediction/NoCallsException.php | 18 - .../Prediction/PredictionException.php | 18 - .../UnexpectedCallsCountException.php | 31 - .../Prediction/UnexpectedCallsException.php | 32 - .../Prophecy/MethodProphecyException.php | 34 - .../Prophecy/ObjectProphecyException.php | 34 - .../Exception/Prophecy/ProphecyException.php | 18 - .../ClassAndInterfaceTagRetriever.php | 69 - .../PhpDocumentor/ClassTagRetriever.php | 52 - .../PhpDocumentor/LegacyClassTagRetriever.php | 35 - .../MethodTagRetrieverInterface.php | 30 - .../Prophecy/Prediction/CallPrediction.php | 86 - .../Prediction/CallTimesPrediction.php | 107 - .../Prediction/CallbackPrediction.php | 65 - .../Prophecy/Prediction/NoCallsPrediction.php | 68 - .../Prediction/PredictionInterface.php | 37 - .../src/Prophecy/Promise/CallbackPromise.php | 66 - .../src/Prophecy/Promise/PromiseInterface.php | 35 - .../Promise/ReturnArgumentPromise.php | 61 - .../src/Prophecy/Promise/ReturnPromise.php | 55 - .../src/Prophecy/Promise/ThrowPromise.php | 99 - .../src/Prophecy/Prophecy/MethodProphecy.php | 464 - .../src/Prophecy/Prophecy/ObjectProphecy.php | 281 - .../Prophecy/Prophecy/ProphecyInterface.php | 27 - .../Prophecy/ProphecySubjectInterface.php | 34 - .../src/Prophecy/Prophecy/Revealer.php | 44 - .../Prophecy/Prophecy/RevealerInterface.php | 29 - .../phpspec/prophecy/src/Prophecy/Prophet.php | 134 - .../prophecy/src/Prophecy/Util/ExportUtil.php | 212 - .../prophecy/src/Prophecy/Util/StringUtil.php | 89 - .../Doubler/Generator/ClassMirrorTest.php | 469 - .../phpunit/php-code-coverage/.gitattributes | 1 - .../phpunit/php-code-coverage/.travis.yml | 20 - .../phpunit/php-code-coverage/CONTRIBUTING.md | 5 - .../php-code-coverage/ChangeLog-2.2.md | 56 - .../vendor/phpunit/php-code-coverage/LICENSE | 33 - .../phpunit/php-code-coverage/README.md | 50 - .../phpunit/php-code-coverage/build.xml | 41 - .../php-code-coverage/build/travis-ci.xml | 21 - .../phpunit/php-code-coverage/composer.json | 50 - .../php-code-coverage/phpunit.xml.dist | 23 - .../php-code-coverage/scripts/auto_append.php | 5 - .../scripts/auto_prepend.php | 10 - .../php-code-coverage/src/CodeCoverage.php | 920 -- .../src/CodeCoverage/Driver.php | 47 - .../src/CodeCoverage/Driver/HHVM.php | 26 - .../src/CodeCoverage/Driver/PHPDBG.php | 105 - .../src/CodeCoverage/Driver/Xdebug.php | 97 - .../src/CodeCoverage/Exception.php | 18 - .../Exception/UnintentionallyCoveredCode.php | 18 - .../src/CodeCoverage/Filter.php | 293 - .../src/CodeCoverage/Report/Clover.php | 284 - .../src/CodeCoverage/Report/Crap4j.php | 164 - .../src/CodeCoverage/Report/Factory.php | 242 - .../src/CodeCoverage/Report/HTML.php | 182 - .../src/CodeCoverage/Report/HTML/Renderer.php | 271 - .../Report/HTML/Renderer/Dashboard.php | 295 - .../Report/HTML/Renderer/Directory.php | 97 - .../Report/HTML/Renderer/File.php | 556 - .../Renderer/Template/coverage_bar.html.dist | 5 - .../Renderer/Template/css/bootstrap.min.css | 5 - .../HTML/Renderer/Template/css/nv.d3.min.css | 1 - .../HTML/Renderer/Template/css/style.css | 122 - .../Renderer/Template/dashboard.html.dist | 284 - .../Renderer/Template/directory.html.dist | 61 - .../Template/directory_item.html.dist | 13 - .../HTML/Renderer/Template/file.html.dist | 90 - .../Renderer/Template/file_item.html.dist | 14 - .../fonts/glyphicons-halflings-regular.eot | Bin 20127 -> 0 bytes .../fonts/glyphicons-halflings-regular.svg | 288 - .../fonts/glyphicons-halflings-regular.ttf | Bin 45404 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23424 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 18028 -> 0 bytes .../Renderer/Template/js/bootstrap.min.js | 7 - .../HTML/Renderer/Template/js/d3.min.js | 5 - .../HTML/Renderer/Template/js/holder.min.js | 12 - .../Renderer/Template/js/html5shiv.min.js | 4 - .../HTML/Renderer/Template/js/jquery.min.js | 5 - .../HTML/Renderer/Template/js/nv.d3.min.js | 8 - .../HTML/Renderer/Template/js/respond.min.js | 5 - .../Renderer/Template/method_item.html.dist | 11 - .../src/CodeCoverage/Report/Node.php | 339 - .../CodeCoverage/Report/Node/Directory.php | 478 - .../src/CodeCoverage/Report/Node/File.php | 679 - .../src/CodeCoverage/Report/Node/Iterator.php | 105 - .../src/CodeCoverage/Report/PHP.php | 50 - .../src/CodeCoverage/Report/Text.php | 246 - .../src/CodeCoverage/Report/XML.php | 234 - .../src/CodeCoverage/Report/XML/Directory.php | 16 - .../src/CodeCoverage/Report/XML/File.php | 73 - .../CodeCoverage/Report/XML/File/Coverage.php | 66 - .../CodeCoverage/Report/XML/File/Method.php | 58 - .../CodeCoverage/Report/XML/File/Report.php | 72 - .../src/CodeCoverage/Report/XML/File/Unit.php | 97 - .../src/CodeCoverage/Report/XML/Node.php | 89 - .../src/CodeCoverage/Report/XML/Project.php | 63 - .../src/CodeCoverage/Report/XML/Tests.php | 45 - .../src/CodeCoverage/Report/XML/Totals.php | 140 - .../src/CodeCoverage/Util.php | 45 - .../Util/InvalidArgumentHelper.php | 39 - .../tests/PHP/CodeCoverage/FilterTest.php | 281 - .../PHP/CodeCoverage/Report/CloverTest.php | 66 - .../PHP/CodeCoverage/Report/FactoryTest.php | 222 - .../tests/PHP/CodeCoverage/UtilTest.php | 30 - .../tests/PHP/CodeCoverageTest.php | 487 - .../php-code-coverage/tests/TestCase.php | 311 - .../tests/_files/BankAccount-clover.xml | 26 - .../tests/_files/BankAccount.php | 33 - .../tests/_files/BankAccountTest.php | 66 - .../_files/CoverageClassExtendedTest.php | 12 - .../tests/_files/CoverageClassTest.php | 12 - .../CoverageFunctionParenthesesTest.php | 11 - ...erageFunctionParenthesesWhitespaceTest.php | 11 - .../tests/_files/CoverageFunctionTest.php | 11 - .../CoverageMethodOneLineAnnotationTest.php | 11 - .../_files/CoverageMethodParenthesesTest.php | 12 - ...overageMethodParenthesesWhitespaceTest.php | 12 - .../tests/_files/CoverageMethodTest.php | 12 - .../tests/_files/CoverageNoneTest.php | 9 - .../tests/_files/CoverageNotPrivateTest.php | 12 - .../tests/_files/CoverageNotProtectedTest.php | 12 - .../tests/_files/CoverageNotPublicTest.php | 12 - .../tests/_files/CoverageNothingTest.php | 13 - .../tests/_files/CoveragePrivateTest.php | 12 - .../tests/_files/CoverageProtectedTest.php | 12 - .../tests/_files/CoveragePublicTest.php | 12 - .../CoverageTwoDefaultClassAnnotations.php | 18 - .../tests/_files/CoveredClass.php | 36 - .../tests/_files/CoveredFunction.php | 4 - .../NamespaceCoverageClassExtendedTest.php | 12 - .../_files/NamespaceCoverageClassTest.php | 12 - ...NamespaceCoverageCoversClassPublicTest.php | 15 - .../NamespaceCoverageCoversClassTest.php | 20 - .../_files/NamespaceCoverageMethodTest.php | 12 - .../NamespaceCoverageNotPrivateTest.php | 12 - .../NamespaceCoverageNotProtectedTest.php | 12 - .../_files/NamespaceCoverageNotPublicTest.php | 12 - .../_files/NamespaceCoveragePrivateTest.php | 12 - .../_files/NamespaceCoverageProtectedTest.php | 12 - .../_files/NamespaceCoveragePublicTest.php | 12 - .../tests/_files/NamespaceCoveredClass.php | 38 - .../_files/NotExistingCoveredElementTest.php | 24 - .../class-with-anonymous-function-clover.xml | 22 - .../tests/_files/ignored-lines-clover.xml | 17 - ...urce_with_class_and_anonymous_function.php | 19 - .../tests/_files/source_with_ignore.php | 37 - .../tests/_files/source_with_namespace.php | 20 - .../source_with_oneline_annotations.php | 36 - .../tests/_files/source_without_ignore.php | 4 - .../tests/_files/source_without_namespace.php | 18 - .../phpunit/php-file-iterator/.gitattributes | 1 - .../phpunit/php-file-iterator/ChangeLog.md | 10 - .../vendor/phpunit/php-file-iterator/LICENSE | 33 - .../phpunit/php-file-iterator/README.md | 12 - .../phpunit/php-file-iterator/composer.json | 36 - .../phpunit/php-file-iterator/src/Facade.php | 123 - .../phpunit/php-file-iterator/src/Factory.php | 91 - .../php-file-iterator/src/Iterator.php | 158 - .../phpunit/php-text-template/.gitattributes | 1 - .../vendor/phpunit/php-text-template/LICENSE | 33 - .../phpunit/php-text-template/README.md | 14 - .../phpunit/php-text-template/composer.json | 29 - .../php-text-template/src/Template.php | 135 - .../vendor/phpunit/php-timer/.gitattributes | 1 - .../vendor/phpunit/php-timer/.travis.yml | 27 - .../vendor/phpunit/php-timer/LICENSE | 33 - .../vendor/phpunit/php-timer/README.md | 45 - .../vendor/phpunit/php-timer/composer.json | 37 - .../vendor/phpunit/php-timer/phpunit.xml | 19 - .../vendor/phpunit/php-timer/src/Timer.php | 105 - .../phpunit/php-timer/tests/TimerTest.php | 98 - .../phpunit/php-token-stream/.gitattributes | 1 - .../phpunit/php-token-stream/.travis.yml | 28 - .../vendor/phpunit/php-token-stream/LICENSE | 33 - .../vendor/phpunit/php-token-stream/README.md | 14 - .../vendor/phpunit/php-token-stream/build.xml | 33 - .../php-token-stream/build/phpunit.xml | 17 - .../phpunit/php-token-stream/composer.json | 34 - .../phpunit/php-token-stream/src/Token.php | 849 -- .../php-token-stream/src/Token/Stream.php | 612 - .../src/Token/Stream/CachingFactory.php | 51 - .../tests/Token/ClassTest.php | 123 - .../tests/Token/ClosureTest.php | 85 - .../tests/Token/FunctionTest.php | 146 - .../tests/Token/IncludeTest.php | 73 - .../tests/Token/InterfaceTest.php | 191 - .../tests/Token/NamespaceTest.php | 80 - .../php-token-stream/tests/TokenTest.php | 42 - .../_fixture/classExtendsNamespacedClass.php | 10 - .../tests/_fixture/classInNamespace.php | 6 - .../tests/_fixture/classInScopedNamespace.php | 9 - .../_fixture/classUsesNamespacedFunction.php | 8 - ...h_method_that_declares_anonymous_class.php | 15 - ..._method_that_declares_anonymous_class2.php | 16 - .../tests/_fixture/closure.php | 7 - .../tests/_fixture/issue19.php | 3 - .../tests/_fixture/issue30.php | 8 - ...tipleNamespacesWithOneClassUsingBraces.php | 12 - ...espacesWithOneClassUsingNonBraceSyntax.php | 14 - .../tests/_fixture/source.php | 36 - .../tests/_fixture/source2.php | 6 - .../tests/_fixture/source3.php | 14 - .../tests/_fixture/source4.php | 30 - .../tests/_fixture/source5.php | 5 - .../php-token-stream/tests/bootstrap.php | 7 - .../phpunit-mock-objects/.gitattributes | 1 - .../phpunit/phpunit-mock-objects/.travis.yml | 26 - .../phpunit-mock-objects/CONTRIBUTING.md | 5 - .../phpunit/phpunit-mock-objects/LICENSE | 33 - .../phpunit/phpunit-mock-objects/README.md | 21 - .../phpunit/phpunit-mock-objects/build.xml | 42 - .../phpunit-mock-objects/build/travis-ci.xml | 12 - .../phpunit-mock-objects/composer.json | 50 - .../phpunit-mock-objects/phpunit.xml.dist | 22 - .../Framework/MockObject/Builder/Identity.php | 30 - .../MockObject/Builder/InvocationMocker.php | 255 - .../Framework/MockObject/Builder/Match.php | 26 - .../MockObject/Builder/MethodNameMatch.php | 28 - .../MockObject/Builder/Namespace.php | 39 - .../MockObject/Builder/ParametersMatch.php | 49 - .../src/Framework/MockObject/Builder/Stub.php | 26 - .../Exception/BadMethodCallException.php | 16 - .../MockObject/Exception/Exception.php | 18 - .../MockObject/Exception/RuntimeException.php | 16 - .../src/Framework/MockObject/Generator.php | 1120 -- .../Generator/mocked_class.tpl.dist | 36 - .../Generator/mocked_class_method.tpl.dist | 7 - .../Generator/mocked_clone.tpl.dist | 4 - .../Generator/mocked_method.tpl.dist | 22 - .../Generator/mocked_static_method.tpl.dist | 5 - .../Generator/proxied_method.tpl.dist | 22 - .../MockObject/Generator/trait_class.tpl.dist | 4 - .../Generator/unmocked_clone.tpl.dist | 5 - .../MockObject/Generator/wsdl_class.tpl.dist | 7 - .../MockObject/Generator/wsdl_method.tpl.dist | 4 - .../src/Framework/MockObject/Invocation.php | 18 - .../MockObject/Invocation/Object.php | 35 - .../MockObject/Invocation/Static.php | 152 - .../Framework/MockObject/InvocationMocker.php | 156 - .../src/Framework/MockObject/Invokable.php | 39 - .../src/Framework/MockObject/Matcher.php | 271 - .../MockObject/Matcher/AnyInvokedCount.php | 32 - .../MockObject/Matcher/AnyParameters.php | 34 - .../Matcher/ConsecutiveParameters.php | 123 - .../MockObject/Matcher/Invocation.php | 48 - .../MockObject/Matcher/InvokedAtIndex.php | 86 - .../Matcher/InvokedAtLeastCount.php | 57 - .../MockObject/Matcher/InvokedAtLeastOnce.php | 45 - .../MockObject/Matcher/InvokedAtMostCount.php | 57 - .../MockObject/Matcher/InvokedCount.php | 109 - .../MockObject/Matcher/InvokedRecorder.php | 67 - .../MockObject/Matcher/MethodName.php | 66 - .../MockObject/Matcher/Parameters.php | 127 - .../Matcher/StatelessInvocation.php | 56 - .../src/Framework/MockObject/MockBuilder.php | 322 - .../src/Framework/MockObject/MockObject.php | 47 - .../src/Framework/MockObject/Stub.php | 31 - .../MockObject/Stub/ConsecutiveCalls.php | 48 - .../Framework/MockObject/Stub/Exception.php | 41 - .../MockObject/Stub/MatcherCollection.php | 26 - .../src/Framework/MockObject/Stub/Return.php | 41 - .../MockObject/Stub/ReturnArgument.php | 38 - .../MockObject/Stub/ReturnCallback.php | 51 - .../Framework/MockObject/Stub/ReturnSelf.php | 34 - .../MockObject/Stub/ReturnValueMap.php | 47 - .../src/Framework/MockObject/Verifiable.php | 25 - .../tests/GeneratorTest.php | 200 - .../tests/MockBuilderTest.php | 107 - .../tests/MockObject/232.phpt | 129 - .../MockObject/Invocation/ObjectTest.php | 85 - .../MockObject/Invocation/StaticTest.php | 54 - .../Matcher/ConsecutiveParametersTest.php | 45 - .../tests/MockObject/abstract_class.phpt | 143 - .../tests/MockObject/class.phpt | 121 - .../MockObject/class_call_parent_clone.phpt | 73 - .../class_call_parent_constructor.phpt | 72 - .../class_dont_call_parent_clone.phpt | 72 - .../class_dont_call_parent_constructor.phpt | 72 - ...ing_interface_call_parent_constructor.phpt | 77 - ...nterface_dont_call_parent_constructor.phpt | 77 - .../tests/MockObject/class_partial.phpt | 99 - .../class_with_method_named_method.phpt | 88 - ...s_with_method_with_variadic_arguments.phpt | 99 - .../tests/MockObject/interface.phpt | 93 - .../invocation_object_clone_object.phpt | 122 - .../tests/MockObject/namespaced_class.phpt | 123 - .../namespaced_class_call_parent_clone.phpt | 75 - ...espaced_class_call_parent_constructor.phpt | 74 - ...mespaced_class_dont_call_parent_clone.phpt | 74 - ...ed_class_dont_call_parent_constructor.phpt | 74 - ...ing_interface_call_parent_constructor.phpt | 79 - ...nterface_dont_call_parent_constructor.phpt | 79 - .../MockObject/namespaced_class_partial.phpt | 101 - .../MockObject/namespaced_interface.phpt | 95 - .../tests/MockObject/nonexistent_class.phpt | 70 - .../nonexistent_class_with_namespace.phpt | 78 - ...ith_namespace_starting_with_separator.phpt | 78 - .../tests/MockObject/proxy.phpt | 117 - .../MockObject/scalar_type_declarations.phpt | 99 - .../tests/MockObject/wsdl_class.phpt | 37 - .../MockObject/wsdl_class_namespace.phpt | 39 - .../tests/MockObject/wsdl_class_partial.phpt | 30 - .../tests/MockObjectTest.php | 842 -- .../tests/ProxyObjectTest.php | 40 - .../tests/_fixture/AbstractMockTestClass.php | 10 - .../tests/_fixture/AbstractTrait.php | 15 - .../tests/_fixture/AnInterface.php | 5 - .../tests/_fixture/AnotherInterface.php | 5 - .../tests/_fixture/Bar.php | 8 - .../ClassThatImplementsSerializable.php | 15 - .../tests/_fixture/ClassWithStaticMethod.php | 7 - .../tests/_fixture/Foo.php | 8 - .../tests/_fixture/FunctionCallback.php | 9 - .../tests/_fixture/GoogleSearch.wsdl | 198 - .../_fixture/InterfaceWithStaticMethod.php | 5 - .../tests/_fixture/MethodCallback.php | 21 - .../_fixture/MethodCallbackByReference.php | 13 - .../tests/_fixture/MockTestInterface.php | 6 - .../tests/_fixture/Mockable.php | 28 - .../tests/_fixture/PartialMockTestClass.php | 18 - .../tests/_fixture/SingletonClass.php | 28 - .../tests/_fixture/SomeClass.php | 13 - .../tests/_fixture/StaticMockTestClass.php | 12 - .../_fixture/TraversableMockTestInterface.php | 4 - .../phpunit-mock-objects/tests/bootstrap.php | 3 - .../phpunit-selenium/.ci/after_script.sh | 3 - .../phpunit-selenium/.ci/before_script.sh | 8 - .../phpunit-selenium/.ci/common_env.sh | 6 - .../.ci/phpunit-environment.conf | 13 - .../phpunit/phpunit-selenium/.ci/setup.sh | 35 - .../phpunit/phpunit-selenium/.ci/start.sh | 10 - .../phpunit-selenium/.ci/travis_env.sh | 3 - .../phpunit-selenium/.ci/vagrant_env.sh | 3 - .../phpunit-selenium/.ci/vagrant_pre_setup.sh | 12 - .../phpunit/phpunit-selenium/.travis.yml | 14 - .../phpunit-selenium/ChangeLog.markdown | 163 - .../vendor/phpunit/phpunit-selenium/LICENSE | 33 - .../PHPUnit/Extensions/Selenium2TestCase.php | 510 - .../Extensions/Selenium2TestCase/Command.php | 91 - .../Selenium2TestCase/CommandsHolder.php | 157 - .../Extensions/Selenium2TestCase/Driver.php | 158 - .../Extensions/Selenium2TestCase/Element.php | 179 - .../Selenium2TestCase/Element/Accessor.php | 178 - .../Selenium2TestCase/Element/Select.php | 231 - .../ElementCommand/Attribute.php | 73 - .../ElementCommand/Click.php | 63 - .../Selenium2TestCase/ElementCommand/Css.php | 73 - .../ElementCommand/Equals.php | 76 - .../ElementCommand/GenericAccessor.php | 64 - .../ElementCommand/GenericPost.php | 63 - .../ElementCommand/Value.php | 66 - .../Selenium2TestCase/ElementCriteria.php | 72 - .../Selenium2TestCase/Exception.php | 58 - .../Extensions/Selenium2TestCase/Keys.php | 114 - .../Selenium2TestCase/KeysHolder.php | 127 - .../Selenium2TestCase/NoSeleniumException.php | 57 - .../Extensions/Selenium2TestCase/Response.php | 99 - .../Selenium2TestCase/ScreenshotListener.php | 98 - .../Extensions/Selenium2TestCase/Session.php | 301 - .../Selenium2TestCase/Session/Cookie.php | 124 - .../Session/Cookie/Builder.php | 129 - .../Selenium2TestCase/Session/Storage.php | 83 - .../Selenium2TestCase/Session/Timeouts.php | 107 - .../SessionCommand/AcceptAlert.php | 63 - .../SessionCommand/Active.php | 70 - .../SessionCommand/AlertText.php | 78 - .../SessionCommand/Click.php | 82 - .../SessionCommand/DismissAlert.php | 63 - .../Selenium2TestCase/SessionCommand/File.php | 147 - .../SessionCommand/Frame.php | 95 - .../SessionCommand/GenericAccessor.php | 63 - .../SessionCommand/GenericAttribute.php | 66 - .../Selenium2TestCase/SessionCommand/Keys.php | 95 - .../SessionCommand/Location.php | 77 - .../Selenium2TestCase/SessionCommand/Log.php | 69 - .../SessionCommand/MoveTo.php | 100 - .../SessionCommand/Orientation.php | 77 - .../Selenium2TestCase/SessionCommand/Url.php | 77 - .../SessionCommand/Window.php | 69 - .../Selenium2TestCase/SessionStrategy.php | 69 - .../SessionStrategy/Isolated.php | 81 - .../SessionStrategy/Shared.php | 95 - .../Selenium2TestCase/StateCommand.php | 66 - .../Extensions/Selenium2TestCase/URL.php | 165 - .../Selenium2TestCase/WaitUntil.php | 146 - .../Selenium2TestCase/WebDriverException.php | 84 - .../Extensions/Selenium2TestCase/Window.php | 73 - .../Extensions/SeleniumBrowserSuite.php | 99 - .../Extensions/SeleniumCommon/Autoload.php | 119 - .../Extensions/SeleniumCommon/Autoload.php.in | 66 - .../Extensions/SeleniumCommon/ExitHandler.php | 31 - .../SeleniumCommon/RemoteCoverage.php | 73 - .../Extensions/SeleniumCommon/append.php | 69 - .../SeleniumCommon/phpunit_coverage.php | 94 - .../Extensions/SeleniumCommon/prepend.php | 64 - .../PHPUnit/Extensions/SeleniumTestCase.php | 1217 -- .../Extensions/SeleniumTestCase/Autoload.php | 2 - .../Extensions/SeleniumTestCase/Driver.php | 1399 --- .../PHPUnit/Extensions/SeleniumTestSuite.php | 178 - .../vendor/phpunit/phpunit-selenium/README.md | 55 - .../Tests/CodeCoverageTest.php | 17 - .../Tests/Selenium2TestCase/BaseTestCase.php | 14 - .../Selenium2TestCase/Coverage/CookieTest.php | 46 - .../Selenium2TestCase/Coverage/DummyClass.php | 13 - .../Coverage/RemoteCoverageTest.php | 34 - .../Coverage/SingleFileTest.php | 58 - .../Selenium2TestCase/Coverage/singleFile.php | 9 - .../Coverage/singleFileCoverage.php | 3 - .../CustomDesiredCapabilitiesTest.php | 26 - .../Tests/Selenium2TestCase/FailuresTest.php | 102 - .../Tests/Selenium2TestCase/LogTest.php | 124 - .../Selenium2TestCase/MobileFeaturesTest.php | 177 - .../MultipleBrowsersMethodTest.php | 101 - .../MultipleBrowsersPropertyTest.php | 129 - .../Selenium2TestCase/PageObjectTest.php | 55 - .../Selenium2TestCase/RegressionsTest.php | 77 - .../ScreenshotListenerTest.php | 60 - .../SessionCommand/FileTest.php | 23 - .../Selenium2TestCase/SessionInSetupTest.php | 18 - .../Tests/Selenium2TestCase/SetUpPageTest.php | 61 - .../Selenium2TestCase/SuiteBuildingTest.php | 94 - .../Tests/Selenium2TestCase/TimeoutTest.php | 30 - .../Tests/Selenium2TestCase/URLTest.php | 103 - .../Tests/Selenium2TestCase/WaitUntilTest.php | 134 - .../WebDriverBackedSeleniumTest.php | 28 - .../Tests/Selenium2TestCaseTest.php | 1150 -- .../Tests/SeleniumTestCase/BaseTestCase.php | 65 - .../SeleniumTestCase/CountMethodsTest.php | 70 - .../Tests/SeleniumTestCase/FailuresTest.php | 226 - .../SeleniumTestCase/MultipleBrowsersTest.php | 105 - .../SeleniumTestCase/RegressionsTest.php | 88 - .../SeleniumTestCase/SeleneseFileTest.php | 12 - .../Tests/SeleniumTestCase/SeleneseTest.php | 7 - .../Tests/SeleniumTestCase/SkippedTest.php | 82 - .../StringMatchPatternTest.php | 77 - .../SeleniumTestCase/SuiteBuildingTest.php | 98 - .../Tests/SeleniumTestCase/Ticket114Test.php | 25 - .../Ticket90UnicodeExpressionTest.php | 72 - .../Tests/SeleniumTestCaseTest.php | 706 -- .../phpunit/phpunit-selenium/Vagrantfile | 22 - .../vendor/phpunit/phpunit-selenium/build.xml | 159 - .../Whitespace/ConcatenationSpacingSniff.php | 22 - .../phpunit-selenium/build/PHPCS/ruleset.xml | 35 - .../phpunit/phpunit-selenium/build/phpmd.xml | 27 - .../phpunit/phpunit-selenium/composer.json | 43 - .../phpunit/phpunit-selenium/composer.lock | 837 -- .../phpunit-selenium-bootstrap.php | 7 - .../phpunit/phpunit-selenium/phpunit.xml.dist | 37 - .../selenium-1-tests/coverage/dummy.txt | 1 - .../selenium-1-tests/html/CamelCasePage.html | 7 - .../selenium-1-tests/html/banner.gif | Bin 8259 -> 0 bytes .../html/test_check_uncheck.html | 46 - .../html/test_click_javascript_page.html | 35 - .../html/test_click_page1.html | 30 - .../html/test_click_page2.html | 29 - .../selenium-1-tests/html/test_confirm.html | 34 - .../selenium-1-tests/html/test_count.html | 23 - .../html/test_delayed_element.html | 24 - .../html/test_doubleclick.html | 34 - .../html/test_dummy_page.html | 25 - .../selenium-1-tests/html/test_editable.html | 37 - .../html/test_element_selection.html | 15 - .../html/test_focus_on_blur.html | 31 - .../html/test_form_elements.html | 8 - .../html/test_form_events.html | 128 - .../selenium-1-tests/html/test_frames.html | 7 - .../selenium-1-tests/html/test_geometry.html | 6 - .../selenium-1-tests/html/test_locators.html | 94 - .../selenium-1-tests/html/test_log.html | 9 - .../html/test_mouse_buttons.html | 30 - .../selenium-1-tests/html/test_moveto.html | 60 - .../html/test_multiselect.html | 38 - .../selenium-1-tests/html/test_open.html | 23 - .../selenium-1-tests/html/test_page.slow.html | 39 - .../selenium-1-tests/html/test_prompt.html | 34 - .../html/test_reload_onchange_page.html | 33 - .../selenium-1-tests/html/test_select.html | 49 - .../html/test_select_window.html | 31 - .../html/test_select_window_popup.html | 25 - .../selenium-1-tests/html/test_send_keys.html | 34 - .../html/test_slowloading_page.html | 25 - .../html/test_special_keys.html | 56 - .../html/test_store_value.html | 22 - .../selenium-1-tests/html/test_submit.html | 32 - .../html/test_text_patterns.html | 8 - .../html/test_type_page1.html | 36 - .../html/test_type_page2.html | 60 - .../html/test_verifications.html | 29 - .../html/test_verify_alert.html | 45 - .../html/test_visibility.html | 64 - .../selenium-1-tests/html/test_wait.html | 33 - .../selenium-1-tests/php/file_upload.php | 14 - .../selenese/test_selenese_directory.html | 27 - .../vendor/phpunit/phpunit/.gitattributes | 4 - .../vendor/phpunit/phpunit/.php_cs | 69 - .../vendor/phpunit/phpunit/.travis.yml | 34 - .../vendor/phpunit/phpunit/CODE_OF_CONDUCT.md | 28 - .../vendor/phpunit/phpunit/CONTRIBUTING.md | 65 - .../vendor/phpunit/phpunit/ChangeLog-4.0.md | 176 - .../vendor/phpunit/phpunit/ChangeLog-4.1.md | 73 - .../vendor/phpunit/phpunit/ChangeLog-4.2.md | 56 - .../vendor/phpunit/phpunit/ChangeLog-4.3.md | 54 - .../vendor/phpunit/phpunit/ChangeLog-4.4.md | 57 - .../vendor/phpunit/phpunit/ChangeLog-4.5.md | 28 - .../vendor/phpunit/phpunit/ChangeLog-4.6.md | 95 - .../vendor/phpunit/phpunit/ChangeLog-4.7.md | 71 - .../vendor/phpunit/phpunit/ChangeLog-4.8.md | 286 - .../vendor/phpunit/phpunit/LICENSE | 33 - .../vendor/phpunit/phpunit/README.md | 46 - .../vendor/phpunit/phpunit/build.xml | 379 - .../vendor/phpunit/phpunit/composer.json | 73 - .../vendor/phpunit/phpunit/phpunit | 52 - .../vendor/phpunit/phpunit/phpunit.xml | 34 - .../vendor/phpunit/phpunit/phpunit.xsd | 264 - .../vendor/phpunit/phpunit/src/Exception.php | 18 - .../phpunit/src/Extensions/GroupTestSuite.php | 60 - .../phpunit/src/Extensions/PhptTestCase.php | 241 - .../phpunit/src/Extensions/PhptTestSuite.php | 40 - .../phpunit/src/Extensions/RepeatedTest.php | 90 - .../phpunit/src/Extensions/TestDecorator.php | 109 - .../phpunit/src/Extensions/TicketListener.php | 204 - .../src/ForwardCompatibility/Assert.php | 17 - .../ForwardCompatibility/BaseTestListener.php | 17 - .../src/ForwardCompatibility/TestCase.php | 17 - .../src/ForwardCompatibility/TestListener.php | 17 - .../phpunit/phpunit/src/Framework/Assert.php | 3165 ----- .../src/Framework/Assert/Functions.php | 2569 ---- .../src/Framework/AssertionFailedError.php | 27 - .../src/Framework/BaseTestListener.php | 55 - .../src/Framework/CodeCoverageException.php | 16 - .../phpunit/src/Framework/Constraint.php | 153 - .../phpunit/src/Framework/Constraint/And.php | 125 - .../src/Framework/Constraint/ArrayHasKey.php | 82 - .../src/Framework/Constraint/ArraySubset.php | 95 - .../src/Framework/Constraint/Attribute.php | 87 - .../src/Framework/Constraint/Callback.php | 59 - .../Constraint/ClassHasAttribute.php | 82 - .../Constraint/ClassHasStaticAttribute.php | 56 - .../src/Framework/Constraint/Composite.php | 70 - .../src/Framework/Constraint/Count.php | 104 - .../src/Framework/Constraint/Exception.php | 88 - .../Framework/Constraint/ExceptionCode.php | 69 - .../Framework/Constraint/ExceptionMessage.php | 69 - .../Constraint/ExceptionMessageRegExp.php | 77 - .../src/Framework/Constraint/FileExists.php | 60 - .../src/Framework/Constraint/GreaterThan.php | 55 - .../src/Framework/Constraint/IsAnything.php | 62 - .../src/Framework/Constraint/IsEmpty.php | 66 - .../src/Framework/Constraint/IsEqual.php | 179 - .../src/Framework/Constraint/IsFalse.php | 40 - .../src/Framework/Constraint/IsIdentical.php | 132 - .../src/Framework/Constraint/IsInstanceOf.php | 94 - .../src/Framework/Constraint/IsJson.php | 69 - .../src/Framework/Constraint/IsNull.php | 40 - .../src/Framework/Constraint/IsTrue.php | 40 - .../src/Framework/Constraint/IsType.php | 143 - .../src/Framework/Constraint/JsonMatches.php | 71 - .../JsonMatches/ErrorMessageProvider.php | 69 - .../src/Framework/Constraint/LessThan.php | 55 - .../phpunit/src/Framework/Constraint/Not.php | 160 - .../Constraint/ObjectHasAttribute.php | 35 - .../phpunit/src/Framework/Constraint/Or.php | 117 - .../src/Framework/Constraint/PCREMatch.php | 63 - .../src/Framework/Constraint/SameSize.php | 28 - .../Framework/Constraint/StringContains.php | 81 - .../Framework/Constraint/StringEndsWith.php | 55 - .../Framework/Constraint/StringMatches.php | 101 - .../Framework/Constraint/StringStartsWith.php | 55 - .../Constraint/TraversableContains.php | 125 - .../Constraint/TraversableContainsOnly.php | 95 - .../phpunit/src/Framework/Constraint/Xor.php | 122 - .../phpunit/phpunit/src/Framework/Error.php | 34 - .../src/Framework/Error/Deprecated.php | 24 - .../phpunit/src/Framework/Error/Notice.php | 24 - .../phpunit/src/Framework/Error/Warning.php | 24 - .../phpunit/src/Framework/Exception.php | 77 - .../src/Framework/ExceptionWrapper.php | 91 - .../Framework/ExpectationFailedException.php | 41 - .../phpunit/src/Framework/IncompleteTest.php | 19 - .../src/Framework/IncompleteTestCase.php | 84 - .../src/Framework/IncompleteTestError.php | 19 - .../Framework/InvalidCoversTargetError.php | 19 - .../InvalidCoversTargetException.php | 16 - .../phpunit/src/Framework/OutputError.php | 19 - .../phpunit/src/Framework/RiskyTest.php | 19 - .../phpunit/src/Framework/RiskyTestError.php | 19 - .../phpunit/src/Framework/SelfDescribing.php | 24 - .../phpunit/src/Framework/SkippedTest.php | 18 - .../phpunit/src/Framework/SkippedTestCase.php | 82 - .../src/Framework/SkippedTestError.php | 19 - .../src/Framework/SkippedTestSuiteError.php | 19 - .../phpunit/src/Framework/SyntheticError.php | 80 - .../phpunit/phpunit/src/Framework/Test.php | 26 - .../phpunit/src/Framework/TestCase.php | 2206 ---- .../phpunit/src/Framework/TestFailure.php | 167 - .../phpunit/src/Framework/TestListener.php | 99 - .../phpunit/src/Framework/TestResult.php | 1128 -- .../phpunit/src/Framework/TestSuite.php | 1011 -- .../src/Framework/TestSuite/DataProvider.php | 27 - .../UnintentionallyCoveredCodeError.php | 19 - .../phpunit/phpunit/src/Framework/Warning.php | 81 - .../phpunit/src/Runner/BaseTestRunner.php | 140 - .../phpunit/phpunit/src/Runner/Exception.php | 16 - .../phpunit/src/Runner/Filter/Factory.php | 51 - .../phpunit/src/Runner/Filter/Group.php | 59 - .../src/Runner/Filter/Group/Exclude.php | 20 - .../src/Runner/Filter/Group/Include.php | 20 - .../phpunit/src/Runner/Filter/Test.php | 116 - .../src/Runner/StandardTestSuiteLoader.php | 118 - .../phpunit/src/Runner/TestSuiteLoader.php | 32 - .../phpunit/phpunit/src/Runner/Version.php | 80 - .../phpunit/phpunit/src/TextUI/Command.php | 1016 -- .../phpunit/src/TextUI/ResultPrinter.php | 653 - .../phpunit/phpunit/src/TextUI/TestRunner.php | 1061 -- .../phpunit/phpunit/src/Util/Blacklist.php | 115 - .../phpunit/src/Util/Configuration.php | 1158 -- .../phpunit/phpunit/src/Util/ErrorHandler.php | 117 - .../phpunit/phpunit/src/Util/Fileloader.php | 72 - .../phpunit/phpunit/src/Util/Filesystem.php | 42 - .../phpunit/phpunit/src/Util/Filter.php | 107 - .../phpunit/phpunit/src/Util/Getopt.php | 163 - .../phpunit/phpunit/src/Util/GlobalState.php | 192 - .../src/Util/InvalidArgumentHelper.php | 41 - .../phpunit/phpunit/src/Util/Log/JSON.php | 244 - .../phpunit/phpunit/src/Util/Log/JUnit.php | 459 - .../phpunit/phpunit/src/Util/Log/TAP.php | 257 - .../vendor/phpunit/phpunit/src/Util/PHP.php | 227 - .../phpunit/phpunit/src/Util/PHP/Default.php | 89 - .../Util/PHP/Template/TestCaseMethod.tpl.dist | 99 - .../phpunit/phpunit/src/Util/PHP/Windows.php | 106 - .../phpunit/src/Util/PHP/eval-stdin.php | 3 - .../phpunit/phpunit/src/Util/Printer.php | 172 - .../vendor/phpunit/phpunit/src/Util/Regex.php | 26 - .../phpunit/phpunit/src/Util/String.php | 71 - .../vendor/phpunit/phpunit/src/Util/Test.php | 1098 -- .../src/Util/TestDox/NamePrettifier.php | 140 - .../src/Util/TestDox/ResultPrinter.php | 339 - .../src/Util/TestDox/ResultPrinter/HTML.php | 80 - .../src/Util/TestDox/ResultPrinter/Text.php | 54 - .../phpunit/src/Util/TestSuiteIterator.php | 103 - .../vendor/phpunit/phpunit/src/Util/Type.php | 38 - .../vendor/phpunit/phpunit/src/Util/XML.php | 946 -- .../tests/Extensions/PhptTestCaseTest.php | 36 - .../tests/Extensions/RepeatedTestTest.php | 64 - .../phpunit/phpunit/tests/Fail/fail.phpt | 5 - .../phpunit/tests/Framework/AssertTest.php | 4135 ------ .../tests/Framework/BaseTestListenerTest.php | 34 - .../tests/Framework/Constraint/CountTest.php | 63 - .../Constraint/ExceptionMessageRegExpTest.php | 56 - .../Constraint/ExceptionMessageTest.php | 52 - .../JsonMatches/ErrorMessageProviderTest.php | 83 - .../Framework/Constraint/JsonMatchesTest.php | 48 - .../tests/Framework/ConstraintTest.php | 3489 ------ .../phpunit/tests/Framework/SuiteTest.php | 242 - .../phpunit/tests/Framework/TestCaseTest.php | 550 - .../tests/Framework/TestFailureTest.php | 27 - .../tests/Framework/TestImplementorTest.php | 30 - .../tests/Framework/TestListenerTest.php | 108 - .../phpunit/tests/Regression/GitHub/1149.phpt | 20 - .../Regression/GitHub/1149/Issue1149Test.php | 18 - .../phpunit/tests/Regression/GitHub/1216.phpt | 25 - .../Regression/GitHub/1216/Issue1216Test.php | 8 - .../Regression/GitHub/1216/bootstrap1216.php | 2 - .../Regression/GitHub/1216/phpunit1216.xml | 8 - .../phpunit/tests/Regression/GitHub/1265.phpt | 21 - .../Regression/GitHub/1265/Issue1265Test.php | 8 - .../Regression/GitHub/1265/phpunit1265.xml | 2 - .../phpunit/tests/Regression/GitHub/1330.phpt | 24 - .../Regression/GitHub/1330/Issue1330Test.php | 8 - .../Regression/GitHub/1330/phpunit1330.xml | 5 - .../phpunit/tests/Regression/GitHub/1335.phpt | 21 - .../Regression/GitHub/1335/Issue1335Test.php | 67 - .../Regression/GitHub/1335/bootstrap1335.php | 13 - .../phpunit/tests/Regression/GitHub/1337.phpt | 21 - .../Regression/GitHub/1337/Issue1337Test.php | 19 - .../phpunit/tests/Regression/GitHub/1348.phpt | 36 - .../Regression/GitHub/1348/Issue1348Test.php | 14 - .../phpunit/tests/Regression/GitHub/1351.phpt | 48 - .../GitHub/1351/ChildProcessClass1351.php | 4 - .../Regression/GitHub/1351/Issue1351Test.php | 48 - .../phpunit/tests/Regression/GitHub/1374.phpt | 21 - .../Regression/GitHub/1374/Issue1374Test.php | 21 - .../phpunit/tests/Regression/GitHub/1437.phpt | 28 - .../Regression/GitHub/1437/Issue1437Test.php | 9 - .../phpunit/tests/Regression/GitHub/1468.phpt | 22 - .../Regression/GitHub/1468/Issue1468Test.php | 11 - .../phpunit/tests/Regression/GitHub/1471.phpt | 28 - .../Regression/GitHub/1471/Issue1471Test.php | 12 - .../phpunit/tests/Regression/GitHub/1472.phpt | 26 - .../Regression/GitHub/1472/Issue1472Test.php | 21 - .../phpunit/tests/Regression/GitHub/1570.phpt | 21 - .../Regression/GitHub/1570/Issue1570Test.php | 8 - .../phpunit/tests/Regression/GitHub/2158.phpt | 19 - .../Regression/GitHub/2158/Issue2158Test.php | 23 - .../tests/Regression/GitHub/2158/constant.inc | 5 - .../phpunit/tests/Regression/GitHub/244.phpt | 32 - .../Regression/GitHub/244/Issue244Test.php | 55 - .../phpunit/tests/Regression/GitHub/322.phpt | 26 - .../Regression/GitHub/322/Issue322Test.php | 17 - .../Regression/GitHub/322/phpunit322.xml | 11 - .../phpunit/tests/Regression/GitHub/433.phpt | 31 - .../Regression/GitHub/433/Issue433Test.php | 21 - .../phpunit/tests/Regression/GitHub/445.phpt | 32 - .../Regression/GitHub/445/Issue445Test.php | 21 - .../phpunit/tests/Regression/GitHub/498.phpt | 29 - .../Regression/GitHub/498/Issue498Test.php | 44 - .../phpunit/tests/Regression/GitHub/503.phpt | 33 - .../Regression/GitHub/503/Issue503Test.php | 11 - .../phpunit/tests/Regression/GitHub/581.phpt | 42 - .../Regression/GitHub/581/Issue581Test.php | 11 - .../phpunit/tests/Regression/GitHub/74.phpt | 28 - .../Regression/GitHub/74/Issue74Test.php | 9 - .../Regression/GitHub/74/NewException.php | 4 - .../phpunit/tests/Regression/GitHub/765.phpt | 26 - .../Regression/GitHub/765/Issue765Test.php | 22 - .../phpunit/tests/Regression/GitHub/797.phpt | 22 - .../Regression/GitHub/797/Issue797Test.php | 10 - .../Regression/GitHub/797/bootstrap797.php | 6 - .../phpunit/tests/Regression/GitHub/863.phpt | 24 - .../tests/Regression/GitHub/873-php5.phpt | 22 - .../tests/Regression/GitHub/873-php7.phpt | 22 - .../Regression/GitHub/873/Issue873Test.php | 9 - .../phpunit/tests/Regression/Trac/1021.phpt | 19 - .../Regression/Trac/1021/Issue1021Test.php | 23 - .../phpunit/tests/Regression/Trac/523.phpt | 19 - .../Regression/Trac/523/Issue523Test.php | 13 - .../phpunit/tests/Regression/Trac/578.phpt | 37 - .../Regression/Trac/578/Issue578Test.php | 20 - .../phpunit/tests/Regression/Trac/684.phpt | 25 - .../Regression/Trac/684/Issue684Test.php | 4 - .../phpunit/tests/Regression/Trac/783.phpt | 21 - .../tests/Regression/Trac/783/ChildSuite.php | 15 - .../tests/Regression/Trac/783/OneTest.php | 10 - .../tests/Regression/Trac/783/ParentSuite.php | 13 - .../tests/Regression/Trac/783/TwoTest.php | 10 - .../tests/Runner/BaseTestRunnerTest.php | 22 - .../tests/TextUI/abstract-test-class.phpt | 25 - .../phpunit/tests/TextUI/colors-always.phpt | 19 - .../tests/TextUI/concrete-test-class.phpt | 19 - .../tests/TextUI/custom-printer-debug.phpt | 27 - .../tests/TextUI/custom-printer-verbose.phpt | 32 - .../tests/TextUI/dataprovider-debug.phpt | 34 - .../dataprovider-log-xml-isolation.phpt | 47 - .../tests/TextUI/dataprovider-log-xml.phpt | 46 - .../tests/TextUI/dataprovider-testdox.phpt | 17 - .../phpunit/phpunit/tests/TextUI/debug.phpt | 26 - .../tests/TextUI/default-isolation.phpt | 20 - .../phpunit/phpunit/tests/TextUI/default.phpt | 19 - .../tests/TextUI/dependencies-isolation.phpt | 40 - .../phpunit/tests/TextUI/dependencies.phpt | 39 - .../tests/TextUI/dependencies2-isolation.phpt | 20 - .../phpunit/tests/TextUI/dependencies2.phpt | 19 - .../tests/TextUI/dependencies3-isolation.phpt | 20 - .../phpunit/tests/TextUI/dependencies3.phpt | 19 - .../phpunit/tests/TextUI/empty-testcase.phpt | 25 - .../phpunit/tests/TextUI/exception-stack.phpt | 65 - .../tests/TextUI/exclude-group-isolation.phpt | 22 - .../phpunit/tests/TextUI/exclude-group.phpt | 21 - .../tests/TextUI/failure-isolation.phpt | 142 - .../phpunit/phpunit/tests/TextUI/failure.phpt | 141 - .../phpunit/tests/TextUI/fatal-isolation.phpt | 26 - .../tests/TextUI/filter-class-isolation.phpt | 22 - .../phpunit/tests/TextUI/filter-class.phpt | 21 - ...ider-by-classname-and-range-isolation.phpt | 22 - ...r-dataprovider-by-classname-and-range.phpt | 21 - ...lter-dataprovider-by-number-isolation.phpt | 22 - .../TextUI/filter-dataprovider-by-number.phpt | 21 - ...-dataprovider-by-only-range-isolation.phpt | 22 - .../filter-dataprovider-by-only-range.phpt | 21 - ...dataprovider-by-only-regexp-isolation.phpt | 22 - .../filter-dataprovider-by-only-regexp.phpt | 21 - ...dataprovider-by-only-string-isolation.phpt | 22 - .../filter-dataprovider-by-only-string.phpt | 21 - ...ilter-dataprovider-by-range-isolation.phpt | 22 - .../TextUI/filter-dataprovider-by-range.phpt | 21 - ...lter-dataprovider-by-regexp-isolation.phpt | 22 - .../TextUI/filter-dataprovider-by-regexp.phpt | 21 - ...lter-dataprovider-by-string-isolation.phpt | 22 - .../TextUI/filter-dataprovider-by-string.phpt | 21 - .../filter-method-case-insensitive.phpt | 21 - ...ilter-method-case-sensitive-no-result.phpt | 21 - .../tests/TextUI/filter-method-isolation.phpt | 22 - .../phpunit/tests/TextUI/filter-method.phpt | 21 - .../tests/TextUI/filter-no-results.phpt | 21 - .../phpunit/tests/TextUI/group-isolation.phpt | 22 - .../phpunit/phpunit/tests/TextUI/group.phpt | 21 - .../phpunit/phpunit/tests/TextUI/help.phpt | 87 - .../phpunit/phpunit/tests/TextUI/help2.phpt | 88 - .../phpunit/tests/TextUI/ini-isolation.phpt | 22 - .../phpunit/tests/TextUI/list-groups.phpt | 19 - .../TextUI/log-json-no-pretty-print.phpt | 27 - .../tests/TextUI/log-json-post-66021.phpt | 72 - .../tests/TextUI/log-json-pre-66021.phpt | 78 - .../phpunit/tests/TextUI/log-junit.phpt | 59 - .../phpunit/phpunit/tests/TextUI/log-tap.phpt | 26 - .../tests/TextUI/options-after-arguments.phpt | 19 - .../tests/TextUI/output-isolation.phpt | 21 - .../phpunit/phpunit/tests/TextUI/repeat.phpt | 21 - .../report-useless-tests-incomplete.phpt | 21 - .../report-useless-tests-isolation.phpt | 22 - .../tests/TextUI/report-useless-tests.phpt | 21 - .../phpunit/phpunit/tests/TextUI/tap.phpt | 18 - .../tests/TextUI/test-suffix-multiple.phpt | 20 - .../tests/TextUI/test-suffix-single.phpt | 20 - .../phpunit/tests/TextUI/testdox-html.phpt | 21 - .../phpunit/tests/TextUI/testdox-text.phpt | 25 - .../phpunit/phpunit/tests/TextUI/testdox.phpt | 19 - .../phpunit/tests/Util/ConfigurationTest.php | 504 - .../phpunit/phpunit/tests/Util/GetoptTest.php | 62 - .../phpunit/tests/Util/GlobalStateTest.php | 35 - .../phpunit/phpunit/tests/Util/RegexTest.php | 52 - .../tests/Util/TestDox/NamePrettifierTest.php | 81 - .../phpunit/phpunit/tests/Util/TestTest.php | 685 - .../phpunit/phpunit/tests/Util/XMLTest.php | 363 - .../phpunit/tests/_files/AbstractTest.php | 7 - .../phpunit/phpunit/tests/_files/Author.php | 27 - .../phpunit/tests/_files/BankAccount.php | 82 - .../phpunit/tests/_files/BankAccountTest.php | 87 - .../tests/_files/BankAccountTest.test.php | 87 - .../tests/_files/BaseTestListenerSample.php | 11 - .../tests/_files/BeforeAndAfterTest.php | 35 - .../_files/BeforeClassAndAfterClassTest.php | 35 - .../phpunit/phpunit/tests/_files/Book.php | 20 - .../phpunit/tests/_files/Calculator.php | 14 - .../ChangeCurrentWorkingDirectoryTest.php | 9 - .../_files/ClassWithNonPublicAttributes.php | 29 - .../ClassWithScalarTypeDeclarations.php | 7 - .../tests/_files/ClassWithToString.php | 22 - .../phpunit/tests/_files/ConcreteTest.my.php | 7 - .../phpunit/tests/_files/ConcreteTest.php | 7 - .../_files/CoverageClassExtendedTest.php | 12 - .../tests/_files/CoverageClassTest.php | 12 - .../CoverageFunctionParenthesesTest.php | 11 - ...erageFunctionParenthesesWhitespaceTest.php | 11 - .../tests/_files/CoverageFunctionTest.php | 11 - .../CoverageMethodOneLineAnnotationTest.php | 11 - .../_files/CoverageMethodParenthesesTest.php | 12 - ...overageMethodParenthesesWhitespaceTest.php | 12 - .../tests/_files/CoverageMethodTest.php | 12 - .../_files/CoverageNamespacedFunctionTest.php | 11 - .../phpunit/tests/_files/CoverageNoneTest.php | 9 - .../tests/_files/CoverageNotPrivateTest.php | 12 - .../tests/_files/CoverageNotProtectedTest.php | 12 - .../tests/_files/CoverageNotPublicTest.php | 12 - .../tests/_files/CoverageNothingTest.php | 13 - .../tests/_files/CoveragePrivateTest.php | 12 - .../tests/_files/CoverageProtectedTest.php | 12 - .../tests/_files/CoveragePublicTest.php | 12 - .../CoverageTwoDefaultClassAnnotations.php | 17 - .../phpunit/tests/_files/CoveredClass.php | 36 - .../phpunit/tests/_files/CoveredFunction.php | 4 - .../phpunit/tests/_files/CustomPrinter.php | 4 - .../tests/_files/DataProviderDebugTest.php | 48 - .../tests/_files/DataProviderFilterTest.php | 39 - .../_files/DataProviderIncompleteTest.php | 37 - .../tests/_files/DataProviderSkippedTest.php | 37 - .../phpunit/tests/_files/DataProviderTest.php | 21 - .../tests/_files/DependencyFailureTest.php | 22 - .../tests/_files/DependencySuccessTest.php | 21 - .../tests/_files/DependencyTestSuite.php | 13 - .../phpunit/tests/_files/DoubleTestCase.php | 25 - .../phpunit/tests/_files/DummyException.php | 5 - .../tests/_files/EmptyTestCaseTest.php | 4 - .../ExceptionInAssertPostConditionsTest.php | 35 - .../ExceptionInAssertPreConditionsTest.php | 35 - .../tests/_files/ExceptionInSetUpTest.php | 35 - .../tests/_files/ExceptionInTearDownTest.php | 35 - .../phpunit/tests/_files/ExceptionInTest.php | 35 - .../tests/_files/ExceptionNamespaceTest.php | 38 - .../tests/_files/ExceptionStackTest.php | 21 - .../phpunit/tests/_files/ExceptionTest.php | 139 - .../phpunit/phpunit/tests/_files/Failure.php | 8 - .../phpunit/tests/_files/FailureTest.php | 75 - .../phpunit/tests/_files/FatalTest.php | 13 - .../phpunit/tests/_files/IncompleteTest.php | 8 - .../tests/_files/Inheritance/InheritanceA.php | 7 - .../tests/_files/Inheritance/InheritanceB.php | 8 - .../tests/_files/InheritedTestCase.php | 7 - .../phpunit/phpunit/tests/_files/IniTest.php | 8 - .../phpunit/tests/_files/IsolationTest.php | 13 - .../tests/_files/JsonData/arrayObject.json | 1 - .../tests/_files/JsonData/simpleObject.json | 1 - .../phpunit/tests/_files/MockRunner.php | 7 - .../tests/_files/MultiDependencyTest.php | 23 - .../NamespaceCoverageClassExtendedTest.php | 12 - .../_files/NamespaceCoverageClassTest.php | 12 - ...NamespaceCoverageCoversClassPublicTest.php | 15 - .../NamespaceCoverageCoversClassTest.php | 20 - .../_files/NamespaceCoverageMethodTest.php | 12 - .../NamespaceCoverageNotPrivateTest.php | 12 - .../NamespaceCoverageNotProtectedTest.php | 12 - .../_files/NamespaceCoverageNotPublicTest.php | 12 - .../_files/NamespaceCoveragePrivateTest.php | 12 - .../_files/NamespaceCoverageProtectedTest.php | 12 - .../_files/NamespaceCoveragePublicTest.php | 12 - .../tests/_files/NamespaceCoveredClass.php | 38 - .../tests/_files/NamespaceCoveredFunction.php | 7 - .../tests/_files/NoArgTestCaseTest.php | 7 - .../phpunit/tests/_files/NoTestCaseClass.php | 4 - .../phpunit/tests/_files/NoTestCases.php | 7 - .../phpunit/tests/_files/NonStatic.php | 8 - .../_files/NotExistingCoveredElementTest.php | 24 - .../tests/_files/NotPublicTestCase.php | 11 - .../phpunit/tests/_files/NotVoidTestCase.php | 4 - .../phpunit/tests/_files/NothingTest.php | 7 - .../phpunit/tests/_files/OneTestCase.php | 11 - .../phpunit/tests/_files/OutputTestCase.php | 27 - .../phpunit/tests/_files/OverrideTestCase.php | 7 - .../RequirementsClassBeforeClassHookTest.php | 12 - .../_files/RequirementsClassDocBlockTest.php | 22 - .../phpunit/tests/_files/RequirementsTest.php | 148 - .../tests/_files/SampleArrayAccess.php | 36 - .../phpunit/tests/_files/SampleClass.php | 14 - .../phpunit/tests/_files/Singleton.php | 22 - .../phpunit/tests/_files/StackTest.php | 24 - .../phpunit/tests/_files/StatusTest.php | 32 - .../phpunit/phpunit/tests/_files/Struct.php | 10 - .../phpunit/phpunit/tests/_files/Success.php | 7 - .../tests/_files/TemplateMethodsTest.php | 51 - .../phpunit/tests/_files/TestIncomplete.php | 8 - .../phpunit/tests/_files/TestIterator.php | 36 - .../phpunit/tests/_files/TestIterator2.php | 35 - .../phpunit/tests/_files/TestSkipped.php | 8 - .../phpunit/tests/_files/TestTestError.php | 8 - .../phpunit/tests/_files/TestWithTest.php | 24 - .../tests/_files/ThrowExceptionTestCase.php | 8 - .../tests/_files/ThrowNoExceptionTestCase.php | 7 - .../phpunit/phpunit/tests/_files/WasRun.php | 10 - .../phpunit/phpunit/tests/_files/bar.xml | 1 - .../_files/configuration.colors.empty.xml | 1 - .../_files/configuration.colors.false.xml | 1 - .../_files/configuration.colors.invalid.xml | 1 - .../_files/configuration.colors.true.xml | 1 - .../_files/configuration.custom-printer.xml | 2 - .../phpunit/tests/_files/configuration.xml | 123 - .../tests/_files/configuration_empty.xml | 57 - .../tests/_files/configuration_xinclude.xml | 75 - .../tests/_files/expectedFileFormat.txt | 1 - .../phpunit/phpunit/tests/_files/foo.xml | 1 - ...uctureAttributesAreSameButValuesAreNot.xml | 10 - .../tests/_files/structureExpected.xml | 10 - .../tests/_files/structureIgnoreTextNodes.xml | 13 - .../_files/structureIsSameButDataIsNot.xml | 10 - .../structureWrongNumberOfAttributes.xml | 10 - .../_files/structureWrongNumberOfNodes.xml | 9 - .../phpunit/phpunit/tests/bootstrap.php | 6 - .../vendor/psr/cache/CHANGELOG.md | 16 - .../vendor/psr/cache/LICENSE.txt | 19 - .../phpmyadmin-4.7/vendor/psr/cache/README.md | 9 - .../vendor/psr/cache/composer.json | 25 - .../vendor/psr/cache/src/CacheException.php | 10 - .../psr/cache/src/CacheItemInterface.php | 105 - .../psr/cache/src/CacheItemPoolInterface.php | 138 - .../cache/src/InvalidArgumentException.php | 13 - .../phpmyadmin-4.7/vendor/psr/log/LICENSE | 19 - .../vendor/psr/log/Psr/Log/AbstractLogger.php | 128 - .../log/Psr/Log/InvalidArgumentException.php | 7 - .../vendor/psr/log/Psr/Log/LogLevel.php | 18 - .../psr/log/Psr/Log/LoggerAwareInterface.php | 18 - .../psr/log/Psr/Log/LoggerAwareTrait.php | 26 - .../psr/log/Psr/Log/LoggerInterface.php | 123 - .../vendor/psr/log/Psr/Log/LoggerTrait.php | 140 - .../vendor/psr/log/Psr/Log/NullLogger.php | 28 - .../log/Psr/Log/Test/LoggerInterfaceTest.php | 140 - .../phpmyadmin-4.7/vendor/psr/log/README.md | 45 - .../vendor/psr/log/composer.json | 26 - .../vendor/satooshi/php-coveralls/.php_cs | 22 - .../vendor/satooshi/php-coveralls/.travis.yml | 52 - .../vendor/satooshi/php-coveralls/AUTHORS | 18 - .../satooshi/php-coveralls/CHANGELOG.md | 139 - .../vendor/satooshi/php-coveralls/LICENSE | 22 - .../vendor/satooshi/php-coveralls/README.md | 333 - .../satooshi/php-coveralls/bin/coveralls | 22 - .../vendor/satooshi/php-coveralls/box.json | 23 - .../php-coveralls/build/config/apigen.neon | 5 - .../php-coveralls/build/config/phpcs.xml | 31 - .../php-coveralls/build/config/phpmd.xml | 48 - .../vendor/satooshi/php-coveralls/circle.yml | 16 - .../satooshi/php-coveralls/composer.json | 52 - .../php-coveralls/devtools/composer.json | 15 - .../satooshi/php-coveralls/phpunit.xml.dist | 39 - .../CoverallsBundle/Console/Application.php | 93 - .../CoverallsBundle/CoverallsBundle.php | 14 - .../Entity/ArrayConvertable.php | 18 - .../CoverallsV1Bundle/Api/CoverallsApi.php | 76 - .../Bundle/CoverallsV1Bundle/Api/Jobs.php | 189 - .../Collector/CiEnvVarsCollector.php | 199 - .../Collector/CloverXmlCoverageCollector.php | 146 - .../Collector/GitInfoCollector.php | 155 - .../Command/CoverallsV1JobsCommand.php | 175 - .../Config/Configuration.php | 366 - .../CoverallsV1Bundle/Config/Configurator.php | 237 - .../Config/CoverallsConfiguration.php | 62 - .../CoverallsV1Bundle/CoverallsV1Bundle.php | 14 - .../CoverallsV1Bundle/Entity/Coveralls.php | 23 - .../RequirementsNotSatisfiedException.php | 118 - .../CoverallsV1Bundle/Entity/Git/Commit.php | 244 - .../CoverallsV1Bundle/Entity/Git/Git.php | 120 - .../CoverallsV1Bundle/Entity/Git/Remote.php | 100 - .../CoverallsV1Bundle/Entity/JsonFile.php | 626 - .../CoverallsV1Bundle/Entity/Metrics.php | 144 - .../CoverallsV1Bundle/Entity/SourceFile.php | 176 - .../Repository/JobsRepository.php | 279 - .../Bundle/CoverallsV1Bundle/Version.php | 18 - .../src/Satooshi/Component/File/Path.php | 185 - .../Satooshi/Component/Log/ConsoleLogger.php | 42 - .../Component/System/Git/GitCommand.php | 58 - .../Component/System/SystemCommand.php | 93 - .../Console/ApplicationTest.php | 89 - .../Bundle/CoverallsV1Bundle/Api/JobsTest.php | 668 - .../Collector/CiEnvVarsCollectorTest.php | 334 - .../CloverXmlCoverageCollectorTest.php | 270 - .../Collector/GitInfoCollectorTest.php | 226 - .../Command/CoverallsV1JobsCommandTest.php | 208 - .../Config/ConfigurationTest.php | 405 - .../Config/ConfiguratorTest.php | 324 - .../Config/yaml/coverage_clover.yml | 1 - .../Config/yaml/coverage_clover_array.yml | 3 - .../Config/yaml/coverage_clover_glob.yml | 1 - .../Config/yaml/coverage_clover_invalid.yml | 1 - .../Config/yaml/coverage_clover_not_found.yml | 1 - .../CoverallsV1Bundle/Config/yaml/empty.yml | 0 .../Config/yaml/exclude_no_stmt_false.yml | 1 - .../Config/yaml/exclude_no_stmt_invalid.yml | 1 - .../Config/yaml/exclude_no_stmt_true.yml | 1 - .../Config/yaml/json_path.yml | 1 - .../Config/yaml/json_path_not_found.yml | 1 - .../CoverallsV1Bundle/Config/yaml/src_dir.yml | 1 - .../RequirementsNotSatisfiedExceptionTest.php | 133 - .../Entity/Git/CommitTest.php | 220 - .../CoverallsV1Bundle/Entity/Git/GitTest.php | 90 - .../Entity/Git/RemoteTest.php | 104 - .../CoverallsV1Bundle/Entity/JsonFileTest.php | 734 -- .../CoverallsV1Bundle/Entity/MetricsTest.php | 118 - .../Entity/SourceFileTest.php | 143 - .../Repository/JobsRepositoryTest.php | 411 - .../Satooshi/Component/File/PathTest.php | 472 - .../Component/Log/ConsoleLoggerTest.php | 39 - .../Component/System/Git/GitCommandTest.php | 145 - .../tests/Satooshi/ProjectTestCase.php | 73 - .../php-coveralls/tests/prj/coveralls.yml | 1 - .../tests/prj/files/AbstractClass.php | 6 - .../prj/files/RepositoryTest/Coverage0.php | 10 - .../prj/files/RepositoryTest/Coverage10.php | 10 - .../prj/files/RepositoryTest/Coverage100.php | 10 - .../prj/files/RepositoryTest/Coverage70.php | 10 - .../prj/files/RepositoryTest/Coverage80.php | 10 - .../prj/files/RepositoryTest/Coverage90.php | 10 - .../tests/prj/files/TestInterface.php | 6 - .../php-coveralls/tests/prj/files/test.php | 9 - .../php-coveralls/tests/prj/files/test2.php | 10 - .../php-coveralls/tests/prj/files/test3.php | 10 - .../vendor/sebastian/comparator/.travis.yml | 25 - .../vendor/sebastian/comparator/LICENSE | 33 - .../vendor/sebastian/comparator/README.md | 39 - .../vendor/sebastian/comparator/build.xml | 34 - .../sebastian/comparator/build/travis-ci.xml | 11 - .../vendor/sebastian/comparator/composer.json | 44 - .../sebastian/comparator/phpunit.xml.dist | 21 - .../comparator/src/ArrayComparator.php | 132 - .../sebastian/comparator/src/Comparator.php | 64 - .../comparator/src/ComparisonFailure.php | 129 - .../comparator/src/DOMNodeComparator.php | 107 - .../comparator/src/DateTimeComparator.php | 77 - .../comparator/src/DoubleComparator.php | 56 - .../comparator/src/ExceptionComparator.php | 51 - .../sebastian/comparator/src/Factory.php | 107 - .../comparator/src/MockObjectComparator.php | 45 - .../comparator/src/NumericComparator.php | 68 - .../comparator/src/ObjectComparator.php | 105 - .../comparator/src/ResourceComparator.php | 52 - .../comparator/src/ScalarComparator.php | 90 - .../src/SplObjectStorageComparator.php | 69 - .../comparator/src/TypeComparator.php | 59 - .../comparator/tests/ArrayComparatorTest.php | 163 - .../tests/DOMNodeComparatorTest.php | 162 - .../tests/DateTimeComparatorTest.php | 216 - .../comparator/tests/DoubleComparatorTest.php | 134 - .../tests/ExceptionComparatorTest.php | 136 - .../comparator/tests/FactoryTest.php | 115 - .../tests/MockObjectComparatorTest.php | 166 - .../tests/NumericComparatorTest.php | 122 - .../comparator/tests/ObjectComparatorTest.php | 150 - .../tests/ResourceComparatorTest.php | 120 - .../comparator/tests/ScalarComparatorTest.php | 158 - .../tests/SplObjectStorageComparatorTest.php | 137 - .../comparator/tests/TypeComparatorTest.php | 104 - .../comparator/tests/_files/Author.php | 28 - .../comparator/tests/_files/Book.php | 21 - .../tests/_files/ClassWithToString.php | 19 - .../comparator/tests/_files/SampleClass.php | 29 - .../comparator/tests/_files/Struct.php | 25 - .../comparator/tests/_files/TestClass.php | 14 - .../tests/_files/TestClassComparator.php | 14 - .../sebastian/comparator/tests/autoload.php | 38 - .../sebastian/comparator/tests/bootstrap.php | 7 - .../vendor/sebastian/diff/.php_cs | 66 - .../vendor/sebastian/diff/.travis.yml | 16 - .../vendor/sebastian/diff/LICENSE | 33 - .../vendor/sebastian/diff/README.md | 126 - .../vendor/sebastian/diff/build.xml | 26 - .../vendor/sebastian/diff/composer.json | 33 - .../vendor/sebastian/diff/phpunit.xml.dist | 17 - .../vendor/sebastian/diff/src/Chunk.php | 104 - .../vendor/sebastian/diff/src/Diff.php | 75 - .../vendor/sebastian/diff/src/Differ.php | 261 - .../diff/src/LCS/LongestCommonSubsequence.php | 27 - ...LongestCommonSubsequenceImplementation.php | 93 - ...LongestCommonSubsequenceImplementation.php | 73 - .../vendor/sebastian/diff/src/Line.php | 56 - .../vendor/sebastian/diff/src/Parser.php | 99 - .../sebastian/diff/tests/DifferTest.php | Bin 11492 -> 0 bytes .../LCS/TimeEfficientImplementationTest.php | 175 - .../sebastian/diff/tests/ParserTest.php | 62 - .../sebastian/diff/tests/fixtures/patch.txt | 9 - .../sebastian/diff/tests/fixtures/patch2.txt | 21 - .../vendor/sebastian/environment/.travis.yml | 16 - .../vendor/sebastian/environment/LICENSE | 33 - .../vendor/sebastian/environment/README.md | 72 - .../vendor/sebastian/environment/build.xml | 26 - .../sebastian/environment/composer.json | 29 - .../vendor/sebastian/environment/phpunit.xml | 20 - .../sebastian/environment/src/Console.php | 113 - .../sebastian/environment/src/Runtime.php | 194 - .../environment/tests/ConsoleTest.php | 60 - .../environment/tests/RuntimeTest.php | 112 - .../vendor/sebastian/exporter/.travis.yml | 23 - .../vendor/sebastian/exporter/LICENSE | 33 - .../vendor/sebastian/exporter/README.md | 171 - .../vendor/sebastian/exporter/build.xml | 27 - .../vendor/sebastian/exporter/composer.json | 48 - .../sebastian/exporter/phpunit.xml.dist | 21 - .../sebastian/exporter/src/Exporter.php | 301 - .../sebastian/exporter/tests/ExporterTest.php | 358 - .../vendor/sebastian/global-state/.travis.yml | 20 - .../vendor/sebastian/global-state/LICENSE | 33 - .../vendor/sebastian/global-state/README.md | 15 - .../vendor/sebastian/global-state/build.xml | 33 - .../sebastian/global-state/composer.json | 37 - .../sebastian/global-state/phpunit.xml.dist | 21 - .../sebastian/global-state/src/Blacklist.php | 149 - .../global-state/src/CodeExporter.php | 93 - .../sebastian/global-state/src/Exception.php | 17 - .../sebastian/global-state/src/Restorer.php | 141 - .../global-state/src/RuntimeException.php | 17 - .../sebastian/global-state/src/Snapshot.php | 423 - .../global-state/tests/BlacklistTest.php | 113 - .../global-state/tests/SnapshotTest.php | 119 - .../tests/_fixture/BlacklistedChildClass.php | 17 - .../tests/_fixture/BlacklistedClass.php | 18 - .../tests/_fixture/BlacklistedImplementor.php | 18 - .../tests/_fixture/BlacklistedInterface.php | 17 - .../tests/_fixture/SnapshotClass.php | 37 - .../tests/_fixture/SnapshotDomDocument.php | 19 - .../tests/_fixture/SnapshotFunctions.php | 15 - .../tests/_fixture/SnapshotTrait.php | 17 - .../sebastian/recursion-context/.travis.yml | 21 - .../sebastian/recursion-context/LICENSE | 33 - .../sebastian/recursion-context/README.md | 14 - .../sebastian/recursion-context/build.xml | 27 - .../sebastian/recursion-context/composer.json | 36 - .../recursion-context/phpunit.xml.dist | 20 - .../recursion-context/src/Context.php | 152 - .../recursion-context/src/Exception.php | 17 - .../src/InvalidArgumentException.php | 17 - .../recursion-context/tests/ContextTest.php | 144 - .../vendor/sebastian/version/.gitattributes | 1 - .../vendor/sebastian/version/LICENSE | 33 - .../vendor/sebastian/version/README.md | 37 - .../vendor/sebastian/version/composer.json | 21 - .../vendor/sebastian/version/src/Version.php | 82 - .../squizlabs/php_codesniffer/.gitattributes | 13 - .../squizlabs/php_codesniffer/CONTRIBUTING.md | 13 - .../php_codesniffer/CodeSniffer.conf.dist | 9 - .../squizlabs/php_codesniffer/CodeSniffer.php | 2578 ---- .../php_codesniffer/CodeSniffer/CLI.php | 1444 --- .../CodeSniffer/DocGenerators/Generator.php | 184 - .../CodeSniffer/DocGenerators/HTML.php | 292 - .../CodeSniffer/DocGenerators/Markdown.php | 179 - .../CodeSniffer/DocGenerators/Text.php | 265 - .../php_codesniffer/CodeSniffer/Exception.php | 31 - .../php_codesniffer/CodeSniffer/File.php | 3809 ------ .../php_codesniffer/CodeSniffer/Fixer.php | 741 -- .../php_codesniffer/CodeSniffer/Report.php | 83 - .../php_codesniffer/CodeSniffer/Reporting.php | 425 - .../CodeSniffer/Reports/Cbf.php | 151 - .../CodeSniffer/Reports/Checkstyle.php | 128 - .../CodeSniffer/Reports/Csv.php | 111 - .../CodeSniffer/Reports/Diff.php | 149 - .../CodeSniffer/Reports/Emacs.php | 110 - .../CodeSniffer/Reports/Full.php | 237 - .../CodeSniffer/Reports/Gitblame.php | 105 - .../CodeSniffer/Reports/Hgblame.php | 124 - .../CodeSniffer/Reports/Info.php | 162 - .../CodeSniffer/Reports/Json.php | 128 - .../CodeSniffer/Reports/Junit.php | 149 - .../CodeSniffer/Reports/Notifysend.php | 262 - .../CodeSniffer/Reports/Source.php | 334 - .../CodeSniffer/Reports/Summary.php | 189 - .../CodeSniffer/Reports/Svnblame.php | 90 - .../CodeSniffer/Reports/VersionControl.php | 342 - .../CodeSniffer/Reports/Xml.php | 132 - .../php_codesniffer/CodeSniffer/Sniff.php | 94 - .../Standards/AbstractPatternSniff.php | 962 -- .../Standards/AbstractScopeSniff.php | 199 - .../Standards/AbstractVariableSniff.php | 245 - .../Classes/DuplicateClassNameStandard.xml | 27 - .../Classes/OpeningBraceSameLineStandard.xml | 28 - .../CodeAnalysis/EmptyStatementStandard.xml | 23 - .../ForLoopShouldBeWhileLoopStandard.xml | 23 - .../ForLoopWithTestFunctionCallStandard.xml | 24 - .../JumbledIncrementerStandard.xml | 25 - .../UnconditionalIfStatementStandard.xml | 39 - .../UnnecessaryFinalModifierStandard.xml | 29 - .../UnusedFunctionParameterStandard.xml | 25 - .../UselessOverridingMethodStandard.xml | 32 - .../Generic/Docs/Commenting/FixmeStandard.xml | 25 - .../Generic/Docs/Commenting/TodoStandard.xml | 25 - .../InlineControlStructureStandard.xml | 22 - .../Generic/Docs/Debug/CSSLintStandard.xml | 19 - .../Docs/Debug/ClosureLinterStandard.xml | 19 - .../Generic/Docs/Debug/JSHintStandard.xml | 19 - .../Docs/Files/ByteOrderMarkStandard.xml | 7 - .../Docs/Files/EndFileNewlineStandard.xml | 7 - .../Docs/Files/EndFileNoNewlineStandard.xml | 7 - .../Generic/Docs/Files/InlineHTMLStandard.xml | 24 - .../Docs/Files/LineEndingsStandard.xml | 7 - .../Generic/Docs/Files/LineLengthStandard.xml | 7 - .../Docs/Files/LowercasedFilenameStandard.xml | 7 - .../Docs/Files/OneClassPerFileStandard.xml | 29 - .../Files/OneInterfacePerFileStandard.xml | 29 - .../DisallowMultipleStatementsStandard.xml | 20 - .../MultipleStatementAlignmentStandard.xml | 56 - .../Formatting/NoSpaceAfterCastStandard.xml | 19 - .../Formatting/SpaceAfterCastStandard.xml | 19 - .../CallTimePassByReferenceStandard.xml | 31 - .../FunctionCallArgumentSpacingStandard.xml | 39 - .../OpeningFunctionBraceBsdAllmanStandard.xml | 24 - ...gFunctionBraceKernighanRitchieStandard.xml | 24 - .../Metrics/CyclomaticComplexityStandard.xml | 7 - .../Docs/Metrics/NestingLevelStandard.xml | 7 - .../CamelCapsFunctionNameStandard.xml | 23 - .../ConstructorNameStandard.xml | 29 - .../UpperCaseConstantNameStandard.xml | 29 - .../Docs/PHP/BacktickOperatorStandard.xml | 7 - .../CharacterBeforePHPOpeningTagStandard.xml | 22 - .../Docs/PHP/ClosingPHPTagStandard.xml | 22 - .../Docs/PHP/DeprecatedFunctionsStandard.xml | 19 - .../DisallowAlternativePHPTagsStandard.xml | 7 - .../Docs/PHP/DisallowShortOpenTagStandard.xml | 7 - .../Docs/PHP/ForbiddenFunctionsStandard.xml | 19 - .../Docs/PHP/LowerCaseConstantStandard.xml | 23 - .../Docs/PHP/LowerCaseKeywordStandard.xml | 19 - .../Docs/PHP/NoSilencedErrorsStandard.xml | 23 - .../Generic/Docs/PHP/SAPIUsageStandard.xml | 23 - .../Docs/PHP/UpperCaseConstantStandard.xml | 23 - .../UnnecessaryStringConcatStandard.xml | 19 - .../SubversionPropertiesStandard.xml | 7 - .../DisallowSpaceIndentStandard.xml | 7 - .../WhiteSpace/DisallowTabIndentStandard.xml | 7 - .../Docs/WhiteSpace/ScopeIndentStandard.xml | 23 - .../Arrays/DisallowLongArraySyntaxSniff.php | 79 - .../Arrays/DisallowShortArraySyntaxSniff.php | 72 - .../Classes/DuplicateClassNameSniff.php | 127 - .../Classes/OpeningBraceSameLineSniff.php | 141 - .../CodeAnalysis/EmptyStatementSniff.php | 106 - .../ForLoopShouldBeWhileLoopSniff.php | 102 - .../ForLoopWithTestFunctionCallSniff.php | 111 - .../CodeAnalysis/JumbledIncrementerSniff.php | 146 - .../UnconditionalIfStatementSniff.php | 104 - .../UnnecessaryFinalModifierSniff.php | 96 - .../UnusedFunctionParameterSniff.php | 187 - .../UselessOverridingMethodSniff.php | 172 - .../Sniffs/Commenting/DocCommentSniff.php | 350 - .../Generic/Sniffs/Commenting/FixmeSniff.php | 91 - .../Generic/Sniffs/Commenting/TodoSniff.php | 89 - .../InlineControlStructureSniff.php | 316 - .../Generic/Sniffs/Debug/CSSLintSniff.php | 107 - .../Sniffs/Debug/ClosureLinterSniff.php | 128 - .../Generic/Sniffs/Debug/JSHintSniff.php | 99 - .../Sniffs/Files/ByteOrderMarkSniff.php | 94 - .../Sniffs/Files/EndFileNewlineSniff.php | 94 - .../Sniffs/Files/EndFileNoNewlineSniff.php | 91 - .../Generic/Sniffs/Files/InlineHTMLSniff.php | 70 - .../Generic/Sniffs/Files/LineEndingsSniff.php | 151 - .../Generic/Sniffs/Files/LineLengthSniff.php | 177 - .../Sniffs/Files/LowercasedFilenameSniff.php | 78 - .../Sniffs/Files/OneClassPerFileSniff.php | 62 - .../Sniffs/Files/OneInterfacePerFileSniff.php | 62 - .../Sniffs/Files/OneTraitPerFileSniff.php | 62 - .../DisallowMultipleStatementsSniff.php | 102 - .../MultipleStatementAlignmentSniff.php | 330 - .../Formatting/NoSpaceAfterCastSniff.php | 72 - .../Sniffs/Formatting/SpaceAfterCastSniff.php | 83 - .../Sniffs/Formatting/SpaceAfterNotSniff.php | 90 - .../CallTimePassByReferenceSniff.php | 159 - .../FunctionCallArgumentSpacingSniff.php | 179 - .../OpeningFunctionBraceBsdAllmanSniff.php | 191 - ...ningFunctionBraceKernighanRitchieSniff.php | 180 - .../Metrics/CyclomaticComplexitySniff.php | 127 - .../Sniffs/Metrics/NestingLevelSniff.php | 112 - .../CamelCapsFunctionNameSniff.php | 221 - .../ConstructorNameSniff.php | 148 - .../UpperCaseConstantNameSniff.php | 187 - .../Sniffs/PHP/BacktickOperatorSniff.php | 63 - .../PHP/CharacterBeforePHPOpeningTagSniff.php | 74 - .../Generic/Sniffs/PHP/ClosingPHPTagSniff.php | 62 - .../Sniffs/PHP/DeprecatedFunctionsSniff.php | 95 - .../PHP/DisallowAlternativePHPTagsSniff.php | 269 - .../Sniffs/PHP/DisallowShortOpenTagSniff.php | 97 - .../Sniffs/PHP/ForbiddenFunctionsSniff.php | 243 - .../Sniffs/PHP/LowerCaseConstantSniff.php | 98 - .../Sniffs/PHP/LowerCaseKeywordSniff.php | 148 - .../Sniffs/PHP/NoSilencedErrorsSniff.php | 79 - .../Generic/Sniffs/PHP/SAPIUsageSniff.php | 79 - .../Generic/Sniffs/PHP/SyntaxSniff.php | 97 - .../Sniffs/PHP/UpperCaseConstantSniff.php | 88 - .../Strings/UnnecessaryStringConcatSniff.php | 138 - .../SubversionPropertiesSniff.php | 204 - .../WhiteSpace/DisallowSpaceIndentSniff.php | 141 - .../WhiteSpace/DisallowTabIndentSniff.php | 149 - .../Sniffs/WhiteSpace/ScopeIndentSniff.php | 1274 -- .../CodeSniffer/Standards/Generic/ruleset.xml | 4 - .../Standards/IncorrectPatternException.php | 33 - .../Sniffs/CSS/BrowserSpecificStylesSniff.php | 100 - .../Channels/DisallowSelfActionsSniff.php | 135 - .../Sniffs/Channels/IncludeOwnSystemSniff.php | 109 - .../Sniffs/Channels/IncludeSystemSniff.php | 335 - .../Sniffs/Channels/UnusedSystemSniff.php | 152 - .../Commenting/FunctionCommentSniff.php | 100 - .../MySource/Sniffs/Debug/DebugCodeSniff.php | 66 - .../Sniffs/Debug/FirebugConsoleSniff.php | 75 - .../Sniffs/Objects/AssignThisSniff.php | 92 - .../Objects/CreateWidgetTypeCallbackSniff.php | 227 - .../Sniffs/Objects/DisallowNewWidgetSniff.php | 70 - .../Sniffs/PHP/AjaxNullComparisonSniff.php | 109 - .../Sniffs/PHP/EvalObjectFactorySniff.php | 124 - .../Sniffs/PHP/GetRequestDataSniff.php | 117 - .../Sniffs/PHP/ReturnFunctionValueSniff.php | 74 - .../Sniffs/Strings/JoinStringsSniff.php | 86 - .../Standards/MySource/ruleset.xml | 18 - .../Docs/Classes/ClassDeclarationStandard.xml | 22 - .../Docs/Commenting/ClassCommentStandard.xml | 177 - .../Docs/Commenting/FileCommentStandard.xml | 286 - .../Commenting/FunctionCommentStandard.xml | 230 - .../Docs/Commenting/InlineCommentStandard.xml | 19 - .../ControlSignatureStandard.xml | 36 - .../MultiLineConditionStandard.xml | 60 - .../PEAR/Docs/Files/IncludingFileStandard.xml | 24 - .../PEAR/Docs/Files/LineLengthStandard.xml | 7 - .../MultiLineAssignmentStandard.xml | 35 - .../FunctionCallSignatureStandard.xml | 19 - .../Functions/FunctionDeclarationStandard.xml | 41 - .../Functions/ValidDefaultValueStandard.xml | 25 - .../ValidClassNameStandard.xml | 23 - .../ValidFunctionNameStandard.xml | 23 - .../ValidVariableNameStandard.xml | 29 - .../ObjectOperatorIndentStandard.xml | 39 - .../WhiteSpace/ScopeClosingBraceStandard.xml | 23 - .../Docs/WhiteSpace/ScopeIndentStandard.xml | 29 - .../Sniffs/Classes/ClassDeclarationSniff.php | 164 - .../Sniffs/Commenting/ClassCommentSniff.php | 117 - .../Sniffs/Commenting/FileCommentSniff.php | 582 - .../Commenting/FunctionCommentSniff.php | 438 - .../Sniffs/Commenting/InlineCommentSniff.php | 83 - .../ControlSignatureSniff.php | 65 - .../MultiLineConditionSniff.php | 279 - .../PEAR/Sniffs/Files/IncludingFileSniff.php | 150 - .../Formatting/MultiLineAssignmentSniff.php | 119 - .../Functions/FunctionCallSignatureSniff.php | 560 - .../Functions/FunctionDeclarationSniff.php | 438 - .../Functions/ValidDefaultValueSniff.php | 98 - .../NamingConventions/ValidClassNameSniff.php | 113 - .../ValidFunctionNameSniff.php | 298 - .../ValidVariableNameSniff.php | 121 - .../WhiteSpace/ObjectOperatorIndentSniff.php | 193 - .../WhiteSpace/ScopeClosingBraceSniff.php | 193 - .../Sniffs/WhiteSpace/ScopeIndentSniff.php | 46 - .../CodeSniffer/Standards/PEAR/ruleset.xml | 40 - .../CodeSniffer/Standards/PHPCS/ruleset.xml | 55 - .../Docs/Classes/ClassDeclarationStandard.xml | 48 - .../PSR1/Docs/Files/SideEffectsStandard.xml | 27 - .../Sniffs/Classes/ClassDeclarationSniff.php | 102 - .../PSR1/Sniffs/Files/SideEffectsSniff.php | 238 - .../Methods/CamelCapsMethodNameSniff.php | 93 - .../CodeSniffer/Standards/PSR1/ruleset.xml | 45 - .../Docs/Classes/ClassDeclarationStandard.xml | 23 - .../Classes/PropertyDeclarationStandard.xml | 62 - .../ControlStructureSpacingStandard.xml | 23 - .../ElseIfDeclarationStandard.xml | 27 - .../SwitchDeclarationStandard.xml | 104 - .../Docs/Files/EndFileNewlineStandard.xml | 7 - .../Methods/MethodDeclarationStandard.xml | 51 - .../NamespaceDeclarationStandard.xml | 22 - .../Namespaces/UseDeclarationStandard.xml | 57 - .../Sniffs/Classes/ClassDeclarationSniff.php | 455 - .../Classes/PropertyDeclarationSniff.php | 117 - .../ControlStructureSpacingSniff.php | 152 - .../ElseIfDeclarationSniff.php | 85 - .../SwitchDeclarationSniff.php | 248 - .../PSR2/Sniffs/Files/ClosingTagSniff.php | 100 - .../PSR2/Sniffs/Files/EndFileNewlineSniff.php | 117 - .../Methods/FunctionCallSignatureSniff.php | 89 - .../Methods/FunctionClosingBraceSniff.php | 104 - .../Sniffs/Methods/MethodDeclarationSniff.php | 155 - .../Namespaces/NamespaceDeclarationSniff.php | 105 - .../Sniffs/Namespaces/UseDeclarationSniff.php | 216 - .../CodeSniffer/Standards/PSR2/ruleset.xml | 206 - .../Arrays/ArrayBracketSpacingStandard.xml | 19 - .../Docs/Arrays/ArrayDeclarationStandard.xml | 117 - .../LowercaseClassKeywordsStandard.xml | 23 - .../Classes/SelfMemberReferenceStandard.xml | 63 - .../DocCommentAlignmentStandard.xml | 39 - .../FunctionCommentThrowTagStandard.xml | 32 - .../ForEachLoopDeclarationStandard.xml | 39 - .../ForLoopDeclarationStandard.xml | 55 - .../LowercaseDeclarationStandard.xml | 23 - .../FunctionDuplicateArgumentStandard.xml | 23 - .../LowercaseFunctionKeywordsStandard.xml | 25 - .../Docs/Scope/StaticThisUsageStandard.xml | 31 - .../Docs/Strings/EchoedStringsStandard.xml | 19 - .../Docs/WhiteSpace/CastSpacingStandard.xml | 19 - .../FunctionOpeningBraceStandard.xml | 41 - .../LanguageConstructSpacingStandard.xml | 19 - .../ObjectOperatorSpacingStandard.xml | 19 - .../ScopeKeywordSpacingStandard.xml | 23 - .../WhiteSpace/SemicolonSpacingStandard.xml | 19 - .../Arrays/ArrayBracketSpacingSniff.php | 119 - .../Sniffs/Arrays/ArrayDeclarationSniff.php | 863 -- .../ClassDefinitionClosingBraceSpaceSniff.php | 122 - .../CSS/ClassDefinitionNameSpacingSniff.php | 118 - .../ClassDefinitionOpeningBraceSpaceSniff.php | 144 - .../Squiz/Sniffs/CSS/ColonSpacingSniff.php | 118 - .../Sniffs/CSS/ColourDefinitionSniff.php | 101 - .../DisallowMultipleStyleDefinitionsSniff.php | 84 - .../CSS/DuplicateClassDefinitionSniff.php | 128 - .../CSS/DuplicateStyleDefinitionSniff.php | 96 - .../Sniffs/CSS/EmptyClassDefinitionSniff.php | 73 - .../Sniffs/CSS/EmptyStyleDefinitionSniff.php | 73 - .../Squiz/Sniffs/CSS/ForbiddenStylesSniff.php | 190 - .../Squiz/Sniffs/CSS/IndentationSniff.php | 154 - .../CSS/LowercaseStyleDefinitionSniff.php | 110 - .../Squiz/Sniffs/CSS/MissingColonSniff.php | 99 - .../Squiz/Sniffs/CSS/NamedColoursSniff.php | 107 - .../Squiz/Sniffs/CSS/OpacitySniff.php | 110 - .../Sniffs/CSS/SemicolonSpacingSniff.php | 84 - .../Squiz/Sniffs/CSS/ShorthandSizeSniff.php | 191 - .../Sniffs/Classes/ClassDeclarationSniff.php | 219 - .../Sniffs/Classes/ClassFileNameSniff.php | 84 - .../Sniffs/Classes/DuplicatePropertySniff.php | 95 - .../Classes/LowercaseClassKeywordsSniff.php | 87 - .../Classes/SelfMemberReferenceSniff.php | 198 - .../Sniffs/Classes/ValidClassNameSniff.php | 100 - .../Sniffs/Commenting/BlockCommentSniff.php | 357 - .../Sniffs/Commenting/ClassCommentSniff.php | 97 - .../ClosingDeclarationCommentSniff.php | 149 - .../Commenting/DocCommentAlignmentSniff.php | 167 - .../Commenting/EmptyCatchCommentSniff.php | 70 - .../Sniffs/Commenting/FileCommentSniff.php | 222 - .../Commenting/FunctionCommentSniff.php | 674 - .../FunctionCommentThrowTagSniff.php | 203 - .../Sniffs/Commenting/InlineCommentSniff.php | 326 - .../LongConditionClosingCommentSniff.php | 217 - .../Commenting/PostStatementCommentSniff.php | 103 - .../Commenting/VariableCommentSniff.php | 170 - .../ControlSignatureSniff.php | 271 - .../ElseIfDeclarationSniff.php | 67 - .../ForEachLoopDeclarationSniff.php | 252 - .../ForLoopDeclarationSniff.php | 232 - .../InlineIfDeclarationSniff.php | 166 - .../LowercaseDeclarationSniff.php | 88 - .../SwitchDeclarationSniff.php | 319 - .../Squiz/Sniffs/Debug/JSLintSniff.php | 97 - .../Sniffs/Debug/JavaScriptLintSniff.php | 98 - .../Squiz/Sniffs/Files/FileExtensionSniff.php | 83 - .../Formatting/OperatorBracketSniff.php | 365 - ...unctionDeclarationArgumentSpacingSniff.php | 417 - .../Functions/FunctionDeclarationSniff.php | 54 - .../FunctionDuplicateArgumentSniff.php | 79 - .../Sniffs/Functions/GlobalFunctionSniff.php | 76 - .../LowercaseFunctionKeywordsSniff.php | 79 - .../MultiLineFunctionDeclarationSniff.php | 220 - .../ValidFunctionNameSniff.php | 72 - .../ValidVariableNameSniff.php | 234 - .../DisallowObjectStringIndexSniff.php | 96 - .../Objects/ObjectInstantiationSniff.php | 81 - .../Sniffs/Objects/ObjectMemberCommaSniff.php | 76 - .../ComparisonOperatorUsageSniff.php | 244 - .../IncrementDecrementUsageSniff.php | 239 - .../Operators/ValidLogicalOperatorsSniff.php | 83 - .../Sniffs/PHP/CommentedOutCodeSniff.php | 237 - .../PHP/DisallowBooleanStatementSniff.php | 72 - .../PHP/DisallowComparisonAssignmentSniff.php | 125 - .../Sniffs/PHP/DisallowInlineIfSniff.php | 72 - .../PHP/DisallowMultipleAssignmentsSniff.php | 183 - .../Sniffs/PHP/DisallowObEndFlushSniff.php | 66 - .../PHP/DisallowSizeFunctionsInLoopsSniff.php | 127 - .../Sniffs/PHP/DiscouragedFunctionsSniff.php | 56 - .../Squiz/Sniffs/PHP/EmbeddedPhpSniff.php | 405 - .../Standards/Squiz/Sniffs/PHP/EvalSniff.php | 63 - .../Sniffs/PHP/ForbiddenFunctionsSniff.php | 54 - .../Squiz/Sniffs/PHP/GlobalKeywordSniff.php | 68 - .../Squiz/Sniffs/PHP/HeredocSniff.php | 66 - .../Squiz/Sniffs/PHP/InnerFunctionsSniff.php | 83 - .../Sniffs/PHP/LowercasePHPFunctionsSniff.php | 140 - .../Sniffs/PHP/NonExecutableCodeSniff.php | 270 - .../Sniffs/Scope/MemberVarScopeSniff.php | 101 - .../Squiz/Sniffs/Scope/MethodScopeSniff.php | 89 - .../Sniffs/Scope/StaticThisUsageSniff.php | 95 - .../Strings/ConcatenationSpacingSniff.php | 159 - .../Sniffs/Strings/DoubleQuoteUsageSniff.php | 153 - .../Sniffs/Strings/EchoedStringsSniff.php | 103 - .../Sniffs/WhiteSpace/CastSpacingSniff.php | 79 - .../ControlStructureSpacingSniff.php | 316 - .../FunctionClosingBraceSpaceSniff.php | 182 - .../FunctionOpeningBraceSpaceSniff.php | 113 - .../WhiteSpace/FunctionSpacingSniff.php | 239 - .../LanguageConstructSpacingSniff.php | 100 - .../LogicalOperatorSpacingSniff.php | 116 - .../WhiteSpace/MemberVarSpacingSniff.php | 167 - .../WhiteSpace/ObjectOperatorSpacingSniff.php | 154 - .../WhiteSpace/OperatorSpacingSniff.php | 324 - .../WhiteSpace/PropertyLabelSpacingSniff.php | 93 - .../WhiteSpace/ScopeClosingBraceSniff.php | 114 - .../WhiteSpace/ScopeKeywordSpacingSniff.php | 92 - .../WhiteSpace/SemicolonSpacingSniff.php | 106 - .../WhiteSpace/SuperfluousWhitespaceSniff.php | 265 - .../CodeSniffer/Standards/Squiz/ruleset.xml | 76 - .../Zend/Docs/Debug/CodeAnalyzerStandard.xml | 25 - .../Zend/Docs/Files/ClosingTagStandard.xml | 22 - .../ValidVariableNameStandard.xml | 37 - .../Zend/Sniffs/Debug/CodeAnalyzerSniff.php | 107 - .../Zend/Sniffs/Files/ClosingTagSniff.php | 83 - .../ValidVariableNameSniff.php | 245 - .../CodeSniffer/Standards/Zend/ruleset.xml | 32 - .../CodeSniffer/Tokenizers/CSS.php | 537 - .../CodeSniffer/Tokenizers/Comment.php | 287 - .../CodeSniffer/Tokenizers/JS.php | 1179 -- .../CodeSniffer/Tokenizers/PHP.php | 1707 --- .../php_codesniffer/CodeSniffer/Tokens.php | 777 -- .../squizlabs/php_codesniffer/README.md | 75 - .../squizlabs/php_codesniffer/composer.json | 67 - .../squizlabs/php_codesniffer/licence.txt | 24 - .../squizlabs/php_codesniffer/phpcs.xml.dist | 14 - .../php_codesniffer/scripts/build-phar.php | 128 - .../squizlabs/php_codesniffer/scripts/phpcbf | 23 - .../php_codesniffer/scripts/phpcbf.bat | 19 - .../squizlabs/php_codesniffer/scripts/phpcs | 25 - .../scripts/phpcs-svn-pre-commit | 229 - .../php_codesniffer/scripts/phpcs.bat | 21 - .../symfony/cache/Adapter/AbstractAdapter.php | 449 - .../cache/Adapter/AdapterInterface.php | 37 - .../symfony/cache/Adapter/ApcuAdapter.php | 107 - .../symfony/cache/Adapter/ArrayAdapter.php | 230 - .../symfony/cache/Adapter/ChainAdapter.php | 234 - .../symfony/cache/Adapter/DoctrineAdapter.php | 96 - .../cache/Adapter/FilesystemAdapter.php | 88 - .../cache/Adapter/FilesystemAdapterTrait.php | 110 - .../symfony/cache/Adapter/NullAdapter.php | 121 - .../symfony/cache/Adapter/PdoAdapter.php | 406 - .../symfony/cache/Adapter/PhpArrayAdapter.php | 406 - .../symfony/cache/Adapter/PhpFilesAdapter.php | 131 - .../symfony/cache/Adapter/ProxyAdapter.php | 176 - .../symfony/cache/Adapter/RedisAdapter.php | 317 - .../symfony/cache/Adapter/TagAwareAdapter.php | 318 - .../Adapter/TagAwareAdapterInterface.php | 33 - .../vendor/symfony/cache/CHANGELOG.md | 18 - .../vendor/symfony/cache/CacheItem.php | 172 - .../vendor/symfony/cache/DoctrineProvider.php | 83 - .../cache/Exception/CacheException.php | 18 - .../Exception/InvalidArgumentException.php | 18 - .../vendor/symfony/cache/LICENSE | 19 - .../vendor/symfony/cache/README.md | 9 - .../Adapter/AbstractRedisAdapterTest.php | 47 - .../cache/Tests/Adapter/AdapterTestCase.php | 95 - .../cache/Tests/Adapter/ApcuAdapterTest.php | 73 - .../cache/Tests/Adapter/ArrayAdapterTest.php | 56 - .../cache/Tests/Adapter/ChainAdapterTest.php | 47 - .../Tests/Adapter/DoctrineAdapterTest.php | 32 - .../Tests/Adapter/FilesystemAdapterTest.php | 52 - .../Tests/Adapter/MaxIdLengthAdapterTest.php | 57 - .../Adapter/NamespacedProxyAdapterTest.php | 26 - .../cache/Tests/Adapter/NullAdapterTest.php | 128 - .../cache/Tests/Adapter/PdoAdapterTest.php | 44 - .../Tests/Adapter/PdoDbalAdapterTest.php | 45 - .../Tests/Adapter/PhpArrayAdapterTest.php | 131 - .../PhpArrayAdapterWithFallbackTest.php | 49 - .../Tests/Adapter/PhpFilesAdapterTest.php | 38 - .../cache/Tests/Adapter/PredisAdapterTest.php | 52 - .../Adapter/PredisClusterAdapterTest.php | 27 - .../cache/Tests/Adapter/ProxyAdapterTest.php | 70 - .../cache/Tests/Adapter/RedisAdapterTest.php | 83 - .../Tests/Adapter/RedisArrayAdapterTest.php | 24 - .../Tests/Adapter/TagAwareAdapterTest.php | 117 - .../symfony/cache/Tests/CacheItemTest.php | 77 - .../cache/Tests/DoctrineProviderTest.php | 45 - .../cache/Tests/Fixtures/ExternalAdapter.php | 76 - .../vendor/symfony/cache/composer.json | 47 - .../vendor/symfony/cache/phpunit.xml.dist | 40 - .../vendor/symfony/config/CHANGELOG.md | 62 - .../vendor/symfony/config/ConfigCache.php | 62 - .../symfony/config/ConfigCacheFactory.php | 54 - .../config/ConfigCacheFactoryInterface.php | 32 - .../symfony/config/ConfigCacheInterface.php | 49 - .../symfony/config/Definition/ArrayNode.php | 399 - .../symfony/config/Definition/BaseNode.php | 356 - .../symfony/config/Definition/BooleanNode.php | 51 - .../Builder/ArrayNodeDefinition.php | 493 - .../Builder/BooleanNodeDefinition.php | 53 - .../Definition/Builder/EnumNodeDefinition.php | 58 - .../config/Definition/Builder/ExprBuilder.php | 250 - .../Builder/FloatNodeDefinition.php | 32 - .../Builder/IntegerNodeDefinition.php | 32 - .../Definition/Builder/MergeBuilder.php | 72 - .../config/Definition/Builder/NodeBuilder.php | 245 - .../Definition/Builder/NodeDefinition.php | 343 - .../Builder/NodeParentInterface.php | 21 - .../Builder/NormalizationBuilder.php | 67 - .../Builder/NumericNodeDefinition.php | 73 - .../Builder/ParentNodeDefinitionInterface.php | 26 - .../Builder/ScalarNodeDefinition.php | 32 - .../config/Definition/Builder/TreeBuilder.php | 63 - .../Definition/Builder/ValidationBuilder.php | 51 - .../Builder/VariableNodeDefinition.php | 64 - .../Definition/ConfigurationInterface.php | 27 - .../Definition/Dumper/XmlReferenceDumper.php | 307 - .../Definition/Dumper/YamlReferenceDumper.php | 224 - .../symfony/config/Definition/EnumNode.php | 58 - .../Exception/DuplicateKeyException.php | 22 - .../config/Definition/Exception/Exception.php | 21 - .../Exception/ForbiddenOverwriteException.php | 22 - .../InvalidConfigurationException.php | 49 - .../Exception/InvalidDefinitionException.php | 21 - .../Exception/InvalidTypeException.php | 21 - .../Exception/UnsetKeyException.php | 22 - .../symfony/config/Definition/FloatNode.php | 43 - .../symfony/config/Definition/IntegerNode.php | 38 - .../config/Definition/NodeInterface.php | 88 - .../symfony/config/Definition/NumericNode.php | 64 - .../symfony/config/Definition/Processor.php | 97 - .../Definition/PrototypeNodeInterface.php | 27 - .../config/Definition/PrototypedArrayNode.php | 389 - .../symfony/config/Definition/ScalarNode.php | 57 - .../config/Definition/VariableNode.php | 135 - ...LoaderImportCircularReferenceException.php | 27 - .../Exception/FileLoaderLoadException.php | 101 - .../FileLocatorFileNotFoundException.php | 21 - .../vendor/symfony/config/FileLocator.php | 98 - .../symfony/config/FileLocatorInterface.php | 34 - .../vendor/symfony/config/LICENSE | 19 - .../config/Loader/DelegatingLoader.php | 55 - .../symfony/config/Loader/FileLoader.php | 122 - .../vendor/symfony/config/Loader/Loader.php | 78 - .../symfony/config/Loader/LoaderInterface.php | 54 - .../symfony/config/Loader/LoaderResolver.php | 75 - .../config/Loader/LoaderResolverInterface.php | 30 - .../vendor/symfony/config/README.md | 15 - .../Resource/ClassExistenceResource.php | 75 - .../config/Resource/DirectoryResource.php | 118 - .../config/Resource/FileExistenceResource.php | 78 - .../symfony/config/Resource/FileResource.php | 77 - .../config/Resource/ResourceInterface.php | 33 - .../Resource/SelfCheckingResourceChecker.php | 36 - .../SelfCheckingResourceInterface.php | 30 - .../config/ResourceCheckerConfigCache.php | 164 - .../ResourceCheckerConfigCacheFactory.php | 51 - .../config/ResourceCheckerInterface.php | 48 - .../config/Tests/ConfigCacheFactoryTest.php | 29 - .../symfony/config/Tests/ConfigCacheTest.php | 99 - .../config/Tests/Definition/ArrayNodeTest.php | 219 - .../Tests/Definition/BooleanNodeTest.php | 74 - .../Builder/ArrayNodeDefinitionTest.php | 250 - .../Builder/BooleanNodeDefinitionTest.php | 28 - .../Builder/EnumNodeDefinitionTest.php | 65 - .../Definition/Builder/ExprBuilderTest.php | 251 - .../Definition/Builder/NodeBuilderTest.php | 95 - .../Builder/NumericNodeDefinitionTest.php | 104 - .../Definition/Builder/TreeBuilderTest.php | 127 - .../Dumper/XmlReferenceDumperTest.php | 110 - .../Dumper/YamlReferenceDumperTest.php | 86 - .../config/Tests/Definition/EnumNodeTest.php | 55 - .../Tests/Definition/FinalizationTest.php | 74 - .../config/Tests/Definition/FloatNodeTest.php | 78 - .../Tests/Definition/IntegerNodeTest.php | 75 - .../config/Tests/Definition/MergeTest.php | 196 - .../Tests/Definition/NormalizationTest.php | 230 - .../Definition/PrototypedArrayNodeTest.php | 342 - .../Tests/Definition/ScalarNodeTest.php | 137 - .../Exception/FileLoaderLoadExceptionTest.php | 86 - .../symfony/config/Tests/FileLocatorTest.php | 120 - .../config/Tests/Fixtures/Again/foo.xml | 0 .../Fixtures/Builder/BarNodeDefinition.php | 21 - .../Tests/Fixtures/Builder/NodeBuilder.php | 34 - .../Builder/VariableNodeDefinition.php | 18 - .../Configuration/ExampleConfiguration.php | 100 - .../Tests/Fixtures/Util/document_type.xml | 3 - .../config/Tests/Fixtures/Util/invalid.xml | 2 - .../Tests/Fixtures/Util/invalid_schema.xml | 2 - .../config/Tests/Fixtures/Util/schema.xsd | 9 - .../config/Tests/Fixtures/Util/valid.xml | 3 - .../symfony/config/Tests/Fixtures/foo.xml | 0 .../Tests/Loader/DelegatingLoaderTest.php | 71 - .../config/Tests/Loader/FileLoaderTest.php | 104 - .../Tests/Loader/LoaderResolverTest.php | 47 - .../config/Tests/Loader/LoaderTest.php | 118 - .../Resource/ClassExistenceResourceTest.php | 55 - .../Tests/Resource/DirectoryResourceTest.php | 183 - .../Resource/FileExistenceResourceTest.php | 71 - .../Tests/Resource/FileResourceTest.php | 85 - .../config/Tests/Resource/ResourceStub.php | 34 - .../Tests/ResourceCheckerConfigCacheTest.php | 144 - .../config/Tests/Util/XmlUtilsTest.php | 203 - .../vendor/symfony/config/Util/XmlUtils.php | 238 - .../vendor/symfony/config/composer.json | 40 - .../vendor/symfony/config/phpunit.xml.dist | 29 - .../vendor/symfony/console/Application.php | 1104 -- .../vendor/symfony/console/CHANGELOG.md | 87 - .../symfony/console/Command/Command.php | 678 - .../symfony/console/Command/HelpCommand.php | 86 - .../symfony/console/Command/ListCommand.php | 90 - .../symfony/console/Command/LockableTrait.php | 63 - .../vendor/symfony/console/ConsoleEvents.php | 53 - .../Descriptor/ApplicationDescription.php | 160 - .../symfony/console/Descriptor/Descriptor.php | 122 - .../Descriptor/DescriptorInterface.php | 31 - .../console/Descriptor/JsonDescriptor.php | 166 - .../console/Descriptor/MarkdownDescriptor.php | 144 - .../console/Descriptor/TextDescriptor.php | 320 - .../console/Descriptor/XmlDescriptor.php | 263 - .../console/Event/ConsoleCommandEvent.php | 62 - .../symfony/console/Event/ConsoleEvent.php | 67 - .../console/Event/ConsoleExceptionEvent.php | 67 - .../console/Event/ConsoleTerminateEvent.php | 58 - .../Exception/CommandNotFoundException.php | 43 - .../console/Exception/ExceptionInterface.php | 21 - .../Exception/InvalidArgumentException.php | 19 - .../Exception/InvalidOptionException.php | 21 - .../console/Exception/LogicException.php | 19 - .../console/Exception/RuntimeException.php | 19 - .../console/Formatter/OutputFormatter.php | 262 - .../Formatter/OutputFormatterInterface.php | 69 - .../Formatter/OutputFormatterStyle.php | 221 - .../OutputFormatterStyleInterface.php | 64 - .../Formatter/OutputFormatterStyleStack.php | 123 - .../console/Helper/DebugFormatterHelper.php | 127 - .../console/Helper/DescriptorHelper.php | 97 - .../console/Helper/FormatterHelper.php | 106 - .../vendor/symfony/console/Helper/Helper.php | 119 - .../console/Helper/HelperInterface.php | 41 - .../symfony/console/Helper/HelperSet.php | 115 - .../console/Helper/InputAwareHelper.php | 33 - .../symfony/console/Helper/ProcessHelper.php | 144 - .../symfony/console/Helper/ProgressBar.php | 616 - .../console/Helper/ProgressIndicator.php | 271 - .../symfony/console/Helper/QuestionHelper.php | 466 - .../console/Helper/SymfonyQuestionHelper.php | 120 - .../vendor/symfony/console/Helper/Table.php | 708 -- .../symfony/console/Helper/TableCell.php | 83 - .../symfony/console/Helper/TableSeparator.php | 28 - .../symfony/console/Helper/TableStyle.php | 258 - .../symfony/console/Input/ArgvInput.php | 347 - .../symfony/console/Input/ArrayInput.php | 204 - .../vendor/symfony/console/Input/Input.php | 211 - .../symfony/console/Input/InputArgument.php | 131 - .../console/Input/InputAwareInterface.php | 28 - .../symfony/console/Input/InputDefinition.php | 414 - .../symfony/console/Input/InputInterface.php | 159 - .../symfony/console/Input/InputOption.php | 212 - .../Input/StreamableInputInterface.php | 37 - .../symfony/console/Input/StringInput.php | 74 - .../vendor/symfony/console/LICENSE | 19 - .../symfony/console/Logger/ConsoleLogger.php | 133 - .../symfony/console/Output/BufferedOutput.php | 48 - .../symfony/console/Output/ConsoleOutput.php | 157 - .../console/Output/ConsoleOutputInterface.php | 35 - .../symfony/console/Output/NullOutput.php | 123 - .../vendor/symfony/console/Output/Output.php | 177 - .../console/Output/OutputInterface.php | 119 - .../symfony/console/Output/StreamOutput.php | 105 - .../console/Question/ChoiceQuestion.php | 187 - .../console/Question/ConfirmationQuestion.php | 61 - .../symfony/console/Question/Question.php | 250 - .../vendor/symfony/console/README.md | 20 - .../console/Resources/bin/hiddeninput.exe | Bin 9216 -> 0 bytes .../symfony/console/Style/OutputStyle.php | 148 - .../symfony/console/Style/StyleInterface.php | 159 - .../symfony/console/Style/SymfonyStyle.php | 428 - .../vendor/symfony/console/Terminal.php | 135 - .../console/Tester/ApplicationTester.php | 176 - .../symfony/console/Tester/CommandTester.php | 163 - .../symfony/console/Tests/ApplicationTest.php | 1268 -- .../console/Tests/Command/CommandTest.php | 434 - .../console/Tests/Command/HelpCommandTest.php | 71 - .../console/Tests/Command/ListCommandTest.php | 113 - .../Tests/Command/LockableTraitTest.php | 59 - .../Descriptor/AbstractDescriptorTest.php | 107 - .../Tests/Descriptor/JsonDescriptorTest.php | 35 - .../Descriptor/MarkdownDescriptorTest.php | 45 - .../Tests/Descriptor/ObjectsProvider.php | 80 - .../Tests/Descriptor/TextDescriptorTest.php | 45 - .../Tests/Descriptor/XmlDescriptorTest.php | 27 - .../console/Tests/Fixtures/BarBucCommand.php | 11 - .../Tests/Fixtures/DescriptorApplication1.php | 18 - .../Tests/Fixtures/DescriptorApplication2.php | 25 - .../DescriptorApplicationMbString.php | 24 - .../Tests/Fixtures/DescriptorCommand1.php | 27 - .../Tests/Fixtures/DescriptorCommand2.php | 32 - .../Tests/Fixtures/DescriptorCommand3.php | 27 - .../Fixtures/DescriptorCommandMbString.php | 32 - .../console/Tests/Fixtures/DummyOutput.php | 36 - .../console/Tests/Fixtures/Foo1Command.php | 26 - .../console/Tests/Fixtures/Foo2Command.php | 21 - .../console/Tests/Fixtures/Foo3Command.php | 29 - .../console/Tests/Fixtures/Foo4Command.php | 11 - .../console/Tests/Fixtures/Foo5Command.php | 10 - .../console/Tests/Fixtures/Foo6Command.php | 12 - .../console/Tests/Fixtures/FooCommand.php | 33 - .../Tests/Fixtures/FooLock2Command.php | 28 - .../console/Tests/Fixtures/FooLockCommand.php | 27 - .../Fixtures/FooSubnamespaced1Command.php | 26 - .../Fixtures/FooSubnamespaced2Command.php | 26 - .../console/Tests/Fixtures/FoobarCommand.php | 25 - .../Style/SymfonyStyle/command/command_0.php | 11 - .../Style/SymfonyStyle/command/command_1.php | 13 - .../Style/SymfonyStyle/command/command_10.php | 17 - .../Style/SymfonyStyle/command/command_11.php | 12 - .../Style/SymfonyStyle/command/command_12.php | 13 - .../Style/SymfonyStyle/command/command_13.php | 14 - .../Style/SymfonyStyle/command/command_14.php | 17 - .../Style/SymfonyStyle/command/command_15.php | 14 - .../Style/SymfonyStyle/command/command_16.php | 15 - .../Style/SymfonyStyle/command/command_17.php | 13 - .../Style/SymfonyStyle/command/command_2.php | 16 - .../Style/SymfonyStyle/command/command_3.php | 12 - .../Style/SymfonyStyle/command/command_4.php | 34 - .../Style/SymfonyStyle/command/command_5.php | 37 - .../Style/SymfonyStyle/command/command_6.php | 16 - .../Style/SymfonyStyle/command/command_7.php | 15 - .../Style/SymfonyStyle/command/command_8.php | 26 - .../Style/SymfonyStyle/command/command_9.php | 11 - .../command/interactive_command_1.php | 19 - .../output/interactive_output_1.txt | 7 - .../Style/SymfonyStyle/output/output_0.txt | 3 - .../Style/SymfonyStyle/output/output_1.txt | 9 - .../Style/SymfonyStyle/output/output_10.txt | 7 - .../Style/SymfonyStyle/output/output_11.txt | 4 - .../Style/SymfonyStyle/output/output_12.txt | 6 - .../Style/SymfonyStyle/output/output_13.txt | 7 - .../Style/SymfonyStyle/output/output_14.txt | 6 - .../Style/SymfonyStyle/output/output_15.txt | 7 - .../Style/SymfonyStyle/output/output_16.txt | 8 - .../Style/SymfonyStyle/output/output_17.txt | 7 - .../Style/SymfonyStyle/output/output_2.txt | 13 - .../Style/SymfonyStyle/output/output_3.txt | 7 - .../Style/SymfonyStyle/output/output_4.txt | 32 - .../Style/SymfonyStyle/output/output_5.txt | 18 - .../Style/SymfonyStyle/output/output_6.txt | 6 - .../Style/SymfonyStyle/output/output_7.txt | 5 - .../Style/SymfonyStyle/output/output_8.txt | 9 - .../Style/SymfonyStyle/output/output_9.txt | 5 - .../console/Tests/Fixtures/TestCommand.php | 28 - .../console/Tests/Fixtures/application_1.json | 154 - .../console/Tests/Fixtures/application_1.md | 181 - .../console/Tests/Fixtures/application_1.txt | 17 - .../console/Tests/Fixtures/application_1.xml | 104 - .../console/Tests/Fixtures/application_2.json | 336 - .../console/Tests/Fixtures/application_2.md | 376 - .../console/Tests/Fixtures/application_2.txt | 20 - .../console/Tests/Fixtures/application_2.xml | 184 - .../Tests/Fixtures/application_gethelp.txt | 1 - .../Tests/Fixtures/application_mbstring.md | 289 - .../Tests/Fixtures/application_mbstring.txt | 19 - .../Fixtures/application_renderexception1.txt | 6 - .../Fixtures/application_renderexception2.txt | 8 - .../Fixtures/application_renderexception3.txt | 18 - .../application_renderexception3decorated.txt | 18 - .../Fixtures/application_renderexception4.txt | 7 - ...plication_renderexception_doublewidth1.txt | 8 - ..._renderexception_doublewidth1decorated.txt | 8 - ...plication_renderexception_doublewidth2.txt | 9 - .../Tests/Fixtures/application_run1.txt | 17 - .../Tests/Fixtures/application_run2.txt | 26 - .../Tests/Fixtures/application_run3.txt | 26 - .../Tests/Fixtures/application_run4.txt | 1 - .../console/Tests/Fixtures/command_1.json | 14 - .../console/Tests/Fixtures/command_1.md | 11 - .../console/Tests/Fixtures/command_1.txt | 7 - .../console/Tests/Fixtures/command_1.xml | 12 - .../console/Tests/Fixtures/command_2.json | 32 - .../console/Tests/Fixtures/command_2.md | 33 - .../console/Tests/Fixtures/command_2.txt | 13 - .../console/Tests/Fixtures/command_2.xml | 21 - .../Tests/Fixtures/command_mbstring.md | 33 - .../Tests/Fixtures/command_mbstring.txt | 13 - .../Tests/Fixtures/input_argument_1.json | 7 - .../Tests/Fixtures/input_argument_1.md | 7 - .../Tests/Fixtures/input_argument_1.txt | 1 - .../Tests/Fixtures/input_argument_1.xml | 5 - .../Tests/Fixtures/input_argument_2.json | 7 - .../Tests/Fixtures/input_argument_2.md | 7 - .../Tests/Fixtures/input_argument_2.txt | 1 - .../Tests/Fixtures/input_argument_2.xml | 5 - .../Tests/Fixtures/input_argument_3.json | 7 - .../Tests/Fixtures/input_argument_3.md | 7 - .../Tests/Fixtures/input_argument_3.txt | 1 - .../Tests/Fixtures/input_argument_3.xml | 7 - .../Tests/Fixtures/input_argument_4.json | 7 - .../Tests/Fixtures/input_argument_4.md | 8 - .../Tests/Fixtures/input_argument_4.txt | 2 - .../Tests/Fixtures/input_argument_4.xml | 6 - .../Fixtures/input_argument_with_style.json | 7 - .../Fixtures/input_argument_with_style.md | 7 - .../Fixtures/input_argument_with_style.txt | 1 - .../Fixtures/input_argument_with_style.xml | 7 - .../Tests/Fixtures/input_definition_1.json | 4 - .../Tests/Fixtures/input_definition_1.md | 0 .../Tests/Fixtures/input_definition_1.txt | 0 .../Tests/Fixtures/input_definition_1.xml | 5 - .../Tests/Fixtures/input_definition_2.json | 12 - .../Tests/Fixtures/input_definition_2.md | 9 - .../Tests/Fixtures/input_definition_2.txt | 2 - .../Tests/Fixtures/input_definition_2.xml | 10 - .../Tests/Fixtures/input_definition_3.json | 14 - .../Tests/Fixtures/input_definition_3.md | 11 - .../Tests/Fixtures/input_definition_3.txt | 2 - .../Tests/Fixtures/input_definition_3.xml | 9 - .../Tests/Fixtures/input_definition_4.json | 22 - .../Tests/Fixtures/input_definition_4.md | 21 - .../Tests/Fixtures/input_definition_4.txt | 5 - .../Tests/Fixtures/input_definition_4.xml | 14 - .../Tests/Fixtures/input_option_1.json | 9 - .../console/Tests/Fixtures/input_option_1.md | 9 - .../console/Tests/Fixtures/input_option_1.txt | 1 - .../console/Tests/Fixtures/input_option_1.xml | 4 - .../Tests/Fixtures/input_option_2.json | 9 - .../console/Tests/Fixtures/input_option_2.md | 9 - .../console/Tests/Fixtures/input_option_2.txt | 1 - .../console/Tests/Fixtures/input_option_2.xml | 7 - .../Tests/Fixtures/input_option_3.json | 9 - .../console/Tests/Fixtures/input_option_3.md | 9 - .../console/Tests/Fixtures/input_option_3.txt | 1 - .../console/Tests/Fixtures/input_option_3.xml | 5 - .../Tests/Fixtures/input_option_4.json | 9 - .../console/Tests/Fixtures/input_option_4.md | 9 - .../console/Tests/Fixtures/input_option_4.txt | 1 - .../console/Tests/Fixtures/input_option_4.xml | 5 - .../Tests/Fixtures/input_option_5.json | 9 - .../console/Tests/Fixtures/input_option_5.md | 10 - .../console/Tests/Fixtures/input_option_5.txt | 2 - .../console/Tests/Fixtures/input_option_5.xml | 6 - .../Tests/Fixtures/input_option_6.json | 9 - .../console/Tests/Fixtures/input_option_6.md | 9 - .../console/Tests/Fixtures/input_option_6.txt | 1 - .../console/Tests/Fixtures/input_option_6.xml | 5 - .../Fixtures/input_option_with_style.json | 9 - .../Tests/Fixtures/input_option_with_style.md | 9 - .../Fixtures/input_option_with_style.txt | 1 - .../Fixtures/input_option_with_style.xml | 7 - .../input_option_with_style_array.json | 12 - .../Fixtures/input_option_with_style_array.md | 9 - .../input_option_with_style_array.txt | 1 - .../input_option_with_style_array.xml | 8 - .../OutputFormatterStyleStackTest.php | 71 - .../Formatter/OutputFormatterStyleTest.php | 100 - .../Tests/Formatter/OutputFormatterTest.php | 341 - .../Helper/AbstractQuestionHelperTest.php | 34 - .../Tests/Helper/FormatterHelperTest.php | 129 - .../console/Tests/Helper/HelperSetTest.php | 127 - .../console/Tests/Helper/HelperTest.php | 55 - .../Tests/Helper/ProcessHelperTest.php | 119 - .../console/Tests/Helper/ProgressBarTest.php | 757 -- .../Tests/Helper/ProgressIndicatorTest.php | 183 - .../Tests/Helper/QuestionHelperTest.php | 805 -- .../Helper/SymfonyQuestionHelperTest.php | 156 - .../console/Tests/Helper/TableStyleTest.php | 28 - .../console/Tests/Helper/TableTest.php | 793 -- .../console/Tests/Input/ArgvInputTest.php | 390 - .../console/Tests/Input/ArrayInputTest.php | 165 - .../console/Tests/Input/InputArgumentTest.php | 117 - .../Tests/Input/InputDefinitionTest.php | 406 - .../console/Tests/Input/InputOptionTest.php | 210 - .../symfony/console/Tests/Input/InputTest.php | 141 - .../console/Tests/Input/StringInputTest.php | 87 - .../Tests/Logger/ConsoleLoggerTest.php | 217 - .../Tests/Output/ConsoleOutputTest.php | 42 - .../console/Tests/Output/NullOutputTest.php | 88 - .../console/Tests/Output/OutputTest.php | 176 - .../console/Tests/Output/StreamOutputTest.php | 61 - .../console/Tests/Style/SymfonyStyleTest.php | 74 - .../symfony/console/Tests/TerminalTest.php | 33 - .../Tests/Tester/ApplicationTesterTest.php | 70 - .../Tests/Tester/CommandTesterTest.php | 163 - .../vendor/symfony/console/composer.json | 47 - .../vendor/symfony/console/phpunit.xml.dist | 39 - .../vendor/symfony/debug/BufferingLogger.php | 37 - .../vendor/symfony/debug/CHANGELOG.md | 54 - .../vendor/symfony/debug/Debug.php | 63 - .../vendor/symfony/debug/DebugClassLoader.php | 314 - .../vendor/symfony/debug/ErrorHandler.php | 683 - .../Exception/ClassNotFoundException.php | 33 - .../debug/Exception/ContextErrorException.php | 36 - .../debug/Exception/FatalErrorException.php | 82 - .../debug/Exception/FatalThrowableError.php | 44 - .../debug/Exception/FlattenException.php | 260 - .../debug/Exception/OutOfMemoryException.php | 21 - .../debug/Exception/SilencedErrorContext.php | 55 - .../Exception/UndefinedFunctionException.php | 33 - .../Exception/UndefinedMethodException.php | 33 - .../vendor/symfony/debug/ExceptionHandler.php | 402 - .../ClassNotFoundFatalErrorHandler.php | 206 - .../FatalErrorHandlerInterface.php | 32 - .../UndefinedFunctionFatalErrorHandler.php | 84 - .../UndefinedMethodFatalErrorHandler.php | 66 - .../vendor/symfony/debug/LICENSE | 19 - .../vendor/symfony/debug/README.md | 13 - .../symfony/debug/Resources/ext/README.md | 134 - .../symfony/debug/Resources/ext/config.m4 | 63 - .../symfony/debug/Resources/ext/config.w32 | 13 - .../debug/Resources/ext/php_symfony_debug.h | 60 - .../debug/Resources/ext/symfony_debug.c | 283 - .../debug/Resources/ext/tests/001.phpt | 153 - .../debug/Resources/ext/tests/002.phpt | 63 - .../debug/Resources/ext/tests/002_1.phpt | 46 - .../debug/Resources/ext/tests/003.phpt | 85 - .../debug/Tests/DebugClassLoaderTest.php | 316 - .../symfony/debug/Tests/ErrorHandlerTest.php | 531 - .../Tests/Exception/FlattenExceptionTest.php | 295 - .../debug/Tests/ExceptionHandlerTest.php | 133 - .../ClassNotFoundFatalErrorHandlerTest.php | 179 - ...UndefinedFunctionFatalErrorHandlerTest.php | 81 - .../UndefinedMethodFatalErrorHandlerTest.php | 76 - .../debug/Tests/Fixtures/ClassAlias.php | 3 - .../debug/Tests/Fixtures/DeprecatedClass.php | 12 - .../Tests/Fixtures/DeprecatedInterface.php | 12 - .../Tests/Fixtures/NonDeprecatedInterface.php | 7 - .../debug/Tests/Fixtures/PEARClass.php | 5 - .../debug/Tests/Fixtures/ToStringThrower.php | 24 - .../debug/Tests/Fixtures/casemismatch.php | 7 - .../debug/Tests/Fixtures/notPsr0Bis.php | 7 - .../Tests/Fixtures/psr4/Psr4CaseMismatch.php | 7 - .../debug/Tests/Fixtures/reallyNotPsr0.php | 7 - .../debug/Tests/Fixtures2/RequiredTwice.php | 7 - .../vendor/symfony/debug/Tests/HeaderMock.php | 38 - .../debug/Tests/MockExceptionHandler.php | 24 - .../vendor/symfony/debug/composer.json | 41 - .../vendor/symfony/debug/phpunit.xml.dist | 31 - .../symfony/event-dispatcher/CHANGELOG.md | 23 - .../ContainerAwareEventDispatcher.php | 197 - .../Debug/TraceableEventDispatcher.php | 376 - .../TraceableEventDispatcherInterface.php | 34 - .../Debug/WrappedListener.php | 71 - .../RegisterListenersPass.php | 113 - .../vendor/symfony/event-dispatcher/Event.php | 120 - .../event-dispatcher/EventDispatcher.php | 198 - .../EventDispatcherInterface.php | 88 - .../EventSubscriberInterface.php | 46 - .../symfony/event-dispatcher/GenericEvent.php | 186 - .../ImmutableEventDispatcher.php | 101 - .../vendor/symfony/event-dispatcher/LICENSE | 19 - .../vendor/symfony/event-dispatcher/README.md | 15 - .../Tests/AbstractEventDispatcherTest.php | 397 - .../ContainerAwareEventDispatcherTest.php | 277 - .../Debug/TraceableEventDispatcherTest.php | 227 - .../RegisterListenersPassTest.php | 195 - .../Tests/EventDispatcherTest.php | 22 - .../event-dispatcher/Tests/EventTest.php | 97 - .../Tests/GenericEventTest.php | 140 - .../Tests/ImmutableEventDispatcherTest.php | 106 - .../symfony/event-dispatcher/composer.json | 44 - .../symfony/event-dispatcher/phpunit.xml.dist | 29 - .../symfony/expression-language/Compiler.php | 148 - .../expression-language/Expression.php | 42 - .../symfony/expression-language/LICENSE | 19 - .../symfony/expression-language/Lexer.php | 103 - .../Node/ArgumentsNode.php | 40 - .../expression-language/Node/ArrayNode.php | 120 - .../expression-language/Node/ConstantNode.php | 81 - .../symfony/expression-language/Node/Node.php | 112 - .../symfony/expression-language/Parser.php | 380 - .../ParserCache/ArrayParserCache.php | 45 - .../ParserCache/ParserCacheAdapter.php | 120 - .../expression-language/SyntaxError.php | 20 - .../symfony/expression-language/Token.php | 68 - .../expression-language/TokenStream.php | 86 - .../symfony/expression-language/composer.json | 34 - .../expression-language/phpunit.xml.dist | 33 - .../vendor/symfony/filesystem/CHANGELOG.md | 43 - .../Exception/ExceptionInterface.php | 21 - .../Exception/FileNotFoundException.php | 34 - .../filesystem/Exception/IOException.php | 39 - .../Exception/IOExceptionInterface.php | 27 - .../vendor/symfony/filesystem/Filesystem.php | 681 - .../vendor/symfony/filesystem/LICENSE | 19 - .../vendor/symfony/filesystem/LockHandler.php | 112 - .../vendor/symfony/filesystem/README.md | 13 - .../filesystem/Tests/ExceptionTest.php | 47 - .../filesystem/Tests/FilesystemTest.php | 1448 --- .../filesystem/Tests/FilesystemTestCase.php | 166 - .../Tests/Fixtures/MockStream/MockStream.php | 46 - .../filesystem/Tests/LockHandlerTest.php | 101 - .../vendor/symfony/filesystem/composer.json | 33 - .../symfony/filesystem/phpunit.xml.dist | 28 - .../vendor/symfony/polyfill-mbstring/LICENSE | 19 - .../symfony/polyfill-mbstring/bootstrap.php | 56 - .../symfony/polyfill-mbstring/composer.json | 34 - .../vendor/symfony/process/CHANGELOG.md | 40 - .../process/Exception/ExceptionInterface.php | 21 - .../Exception/InvalidArgumentException.php | 21 - .../process/Exception/LogicException.php | 21 - .../Exception/ProcessFailedException.php | 54 - .../Exception/ProcessTimedOutException.php | 69 - .../process/Exception/RuntimeException.php | 21 - .../symfony/process/ExecutableFinder.php | 90 - .../vendor/symfony/process/InputStream.php | 90 - .../vendor/symfony/process/LICENSE | 19 - .../symfony/process/PhpExecutableFinder.php | 90 - .../vendor/symfony/process/PhpProcess.php | 78 - .../symfony/process/Pipes/AbstractPipes.php | 169 - .../symfony/process/Pipes/PipesInterface.php | 67 - .../symfony/process/Pipes/UnixPipes.php | 153 - .../symfony/process/Pipes/WindowsPipes.php | 200 - .../vendor/symfony/process/Process.php | 1590 --- .../vendor/symfony/process/ProcessBuilder.php | 281 - .../vendor/symfony/process/ProcessUtils.php | 119 - .../vendor/symfony/process/README.md | 13 - .../process/Tests/ExecutableFinderTest.php | 133 - .../process/Tests/NonStopableProcess.php | 47 - .../process/Tests/PhpExecutableFinderTest.php | 72 - .../symfony/process/Tests/PhpProcessTest.php | 50 - .../PipeStdinInStdoutStdErrStreamSelect.php | 72 - .../process/Tests/ProcessBuilderTest.php | 205 - .../Tests/ProcessFailedExceptionTest.php | 135 - .../symfony/process/Tests/ProcessTest.php | 1495 --- .../process/Tests/ProcessUtilsTest.php | 50 - .../symfony/process/Tests/SignalListener.php | 21 - .../vendor/symfony/process/composer.json | 33 - .../vendor/symfony/process/phpunit.xml.dist | 28 - .../vendor/symfony/stopwatch/LICENSE | 19 - .../vendor/symfony/stopwatch/README.md | 13 - .../vendor/symfony/stopwatch/Section.php | 193 - .../vendor/symfony/stopwatch/Stopwatch.php | 159 - .../symfony/stopwatch/StopwatchEvent.php | 243 - .../symfony/stopwatch/StopwatchPeriod.php | 77 - .../stopwatch/Tests/StopwatchEventTest.php | 176 - .../symfony/stopwatch/Tests/StopwatchTest.php | 156 - .../vendor/symfony/stopwatch/composer.json | 33 - .../vendor/symfony/stopwatch/phpunit.xml.dist | 28 - .../vendor/symfony/yaml/CHANGELOG.md | 83 - .../symfony/yaml/Command/LintCommand.php | 234 - .../vendor/symfony/yaml/Dumper.php | 114 - .../vendor/symfony/yaml/Escaper.php | 99 - .../symfony/yaml/Exception/DumpException.php | 21 - .../yaml/Exception/ExceptionInterface.php | 21 - .../symfony/yaml/Exception/ParseException.php | 141 - .../yaml/Exception/RuntimeException.php | 21 - .../vendor/symfony/yaml/Inline.php | 728 -- .../vendor/symfony/yaml/LICENSE | 19 - .../vendor/symfony/yaml/Parser.php | 867 -- .../vendor/symfony/yaml/README.md | 13 - .../yaml/Tests/Command/LintCommandTest.php | 107 - .../vendor/symfony/yaml/Tests/DumperTest.php | 373 - .../yaml/Tests/Fixtures/YtsAnchorAlias.yml | 31 - .../yaml/Tests/Fixtures/YtsBasicTests.yml | 202 - .../yaml/Tests/Fixtures/YtsBlockMapping.yml | 51 - .../Tests/Fixtures/YtsDocumentSeparator.yml | 85 - .../yaml/Tests/Fixtures/YtsErrorTests.yml | 25 - .../Tests/Fixtures/YtsFlowCollections.yml | 60 - .../yaml/Tests/Fixtures/YtsFoldedScalars.yml | 176 - .../Tests/Fixtures/YtsNullsAndEmpties.yml | 45 - .../Fixtures/YtsSpecificationExamples.yml | 1727 --- .../yaml/Tests/Fixtures/YtsTypeTransfers.yml | 280 - .../symfony/yaml/Tests/Fixtures/arrow.gif | Bin 185 -> 0 bytes .../yaml/Tests/Fixtures/embededPhp.yml | 1 - .../yaml/Tests/Fixtures/escapedCharacters.yml | 155 - .../symfony/yaml/Tests/Fixtures/index.yml | 18 - .../multiple_lines_as_literal_block.yml | 13 - .../yaml/Tests/Fixtures/sfComments.yml | 76 - .../symfony/yaml/Tests/Fixtures/sfCompact.yml | 159 - .../yaml/Tests/Fixtures/sfMergeKey.yml | 55 - .../symfony/yaml/Tests/Fixtures/sfObjects.yml | 11 - .../symfony/yaml/Tests/Fixtures/sfQuotes.yml | 33 - .../symfony/yaml/Tests/Fixtures/sfTests.yml | 149 - .../Tests/Fixtures/unindentedCollections.yml | 82 - .../vendor/symfony/yaml/Tests/InlineTest.php | 712 -- .../symfony/yaml/Tests/ParseExceptionTest.php | 34 - .../vendor/symfony/yaml/Tests/ParserTest.php | 1486 --- .../vendor/symfony/yaml/Tests/YamlTest.php | 44 - .../vendor/symfony/yaml/Unescaper.php | 142 - .../vendor/symfony/yaml/Yaml.php | 119 - .../vendor/symfony/yaml/composer.json | 39 - .../vendor/symfony/yaml/phpunit.xml.dist | 28 - .../vendor/tecnickcom/tcpdf/README.TXT | 117 - .../vendor/tecnickcom/tcpdf/composer.json | 40 - .../webmozart/assert/.composer-auth.json | 7 - .../vendor/webmozart/assert/.styleci.yml | 8 - .../vendor/webmozart/assert/.travis.yml | 39 - .../vendor/webmozart/assert/CHANGELOG.md | 34 - .../vendor/webmozart/assert/LICENSE | 20 - .../vendor/webmozart/assert/README.md | 242 - .../vendor/webmozart/assert/appveyor.yml | 40 - .../vendor/webmozart/assert/composer.json | 34 - .../vendor/webmozart/assert/phpunit.xml.dist | 16 - .../vendor/webmozart/assert/src/Assert.php | 948 -- .../webmozart/assert/tests/AssertTest.php | 451 - .../vendor/phpmyadmin-4.7/view_create.php | 313 - .../vendor/phpmyadmin-4.8/.editorconfig | 17 + .../vendor/phpmyadmin-4.8/.eslintignore | 3 + .../vendor/phpmyadmin-4.8/.eslintrc.json | 42 + .../vendor/phpmyadmin-4.8/CODE_OF_CONDUCT.md | 46 + .../vendor/phpmyadmin-4.8/CONTRIBUTING.md | 43 + .../htdocs/vendor/phpmyadmin-4.8/ChangeLog | 336 + .../{phpmyadmin-4.7 => phpmyadmin-4.8}/DCO | 0 .../LICENSE | 0 .../www/htdocs/vendor/phpmyadmin-4.8/README | 52 + .../vendor/phpmyadmin-4.8/RELEASE-DATE-4.8.0 | 1 + .../www/htdocs/vendor/phpmyadmin-4.8/ajax.php | 51 + .../phpmyadmin-4.8/browse_foreigners.php | 74 + .../vendor/phpmyadmin-4.8/changelog.php | 117 + .../htdocs/vendor/phpmyadmin-4.8/chk_rel.php | 36 + .../vendor/phpmyadmin-4.8/composer.json | 97 + .../vendor/phpmyadmin-4.8/composer.lock | 2603 ++++ .../vendor/phpmyadmin-4.8/config.inc.php | 159 + .../config.sample.inc.php} | 0 .../phpmyadmin-4.8/db_central_columns.php | 181 + .../db_datadict.php | 40 +- .../vendor/phpmyadmin-4.8/db_designer.php | 215 + .../db_events.php | 5 - .../db_export.php | 31 +- .../vendor/phpmyadmin-4.8/db_import.php | 44 + .../phpmyadmin-4.8/db_multi_table_query.php | 30 + .../vendor/phpmyadmin-4.8/db_operations.php | 308 + .../db_qbe.php | 28 +- .../vendor/phpmyadmin-4.8/db_routines.php | 23 + .../db_search.php | 20 +- .../htdocs/vendor/phpmyadmin-4.8/db_sql.php | 46 + .../db_sql_autocomplete.php | 2 +- .../db_sql_format.php | 2 +- .../vendor/phpmyadmin-4.8/db_structure.php | 38 + .../db_tracking.php | 47 +- .../db_triggers.php | 5 - .../phpmyadmin-4.8/doc/html/_images/chart.png | Bin 0 -> 35466 bytes .../doc/html/_images/column_chart.png | Bin 0 -> 8494 bytes .../doc/html/_images/line_chart.png | Bin 0 -> 12716 bytes .../doc/html/_images/pie_chart.png | Bin 0 -> 8991 bytes .../doc/html/_images/pma-relations-links.png | Bin 0 -> 5543 bytes .../_images/pma-relations-relation-link.png | Bin 0 -> 14259 bytes .../_images/pma-relations-relation-name.png | Bin 0 -> 13119 bytes .../pma-relations-relation-view-link.png | Bin 0 -> 17786 bytes .../html/_images/query_result_operations.png | Bin 0 -> 6750 bytes .../doc/html/_images/scatter_chart.png | Bin 0 -> 8451 bytes .../doc/html/_images/spline_chart.png | Bin 0 -> 14081 bytes .../doc/html/_images/timeline_chart.png | Bin 0 -> 12229 bytes .../doc/html/_images/usergroups.png | Bin 0 -> 14989 bytes .../doc/html/_sources/bookmarks.txt | 3 +- .../doc/html/_sources/charts.txt | 10 +- .../doc/html/_sources/config.txt | 293 +- .../doc/html/_sources/copyright.txt | 6 +- .../doc/html/_sources/credits.txt | 118 +- .../doc/html/_sources/developers.txt | 0 .../doc/html/_sources/faq.txt | 86 +- .../doc/html/_sources/glossary.txt | 138 +- .../doc/html/_sources/import_export.txt | 29 +- .../doc/html/_sources/index.txt | 2 +- .../doc/html/_sources/intro.txt | 16 +- .../doc/html/_sources/other.txt | 3 +- .../doc/html/_sources/privileges.txt | 2 +- .../doc/html/_sources/relations.txt | 3 +- .../doc/html/_sources/require.txt | 5 +- .../doc/html/_sources/security.txt | 113 + .../doc/html/_sources/settings.txt | 21 + .../doc/html/_sources/setup.txt | 237 +- .../doc/html/_sources/themes.txt | 100 + .../doc/html/_sources/transformations.txt | 14 +- .../doc/html/_sources/two_factor.txt | 68 + .../doc/html/_sources/user.txt | 3 + .../doc/html/_sources/vendors.txt | 2 +- .../doc/html/_static/ajax-loader.gif | Bin .../doc/html/_static/basic.css | 0 .../doc/html/_static/classic.css | 0 .../doc/html/_static/comment-bright.png | Bin 3500 -> 3500 bytes .../doc/html/_static/comment-close.png | Bin 3578 -> 3578 bytes .../doc/html/_static/comment.png | Bin 3445 -> 3445 bytes .../doc/html/_static/default.css | 0 .../doc/html/_static/doctools.js | 0 .../doc/html/_static/down-pressed.png | Bin 0 -> 347 bytes .../doc/html/_static/down.png | Bin 347 -> 347 bytes .../phpmyadmin-4.8/doc/html/_static/file.png | Bin 0 -> 358 bytes .../phpmyadmin-4.8/doc/html/_static/jquery.js | 10219 +++++++++++++++ .../phpmyadmin-4.8/doc/html/_static/minus.png | Bin 0 -> 173 bytes .../phpmyadmin-4.8/doc/html/_static/plus.png | Bin 0 -> 173 bytes .../doc/html/_static/pygments.css | 6 + .../doc/html/_static/searchtools.js | 0 .../doc/html/_static/sidebar.js | 0 .../doc/html/_static/underscore.js | 1548 +++ .../doc/html/_static/up-pressed.png | Bin 0 -> 345 bytes .../doc/html/_static/up.png | Bin 345 -> 345 bytes .../doc/html/_static/websupport.js | 0 .../doc/html/bookmarks.html | 23 +- .../doc/html/charts.html | 20 +- .../doc/html/config.html | 836 +- .../doc/html/copyright.html | 20 +- .../doc/html/credits.html | 37 +- .../doc/html/developers.html | 22 +- .../doc/html/faq.html | 152 +- .../doc/html/genindex.html | 694 +- .../doc/html/glossary.html | 34 +- .../doc/html/import_export.html | 35 +- .../vendor/phpmyadmin-4.8/doc/html/index.html | 228 + .../doc/html/intro.html | 27 +- .../doc/html/other.html | 25 +- .../doc/html/privileges.html | 12 +- .../doc/html/relations.html | 12 +- .../doc/html/require.html | 16 +- .../doc/html/search.html | 12 +- .../phpmyadmin-4.8/doc/html/searchindex.js | 1 + .../phpmyadmin-4.8/doc/html/security.html | 219 + .../phpmyadmin-4.8/doc/html/settings.html | 130 + .../doc/html/setup.html | 405 +- .../phpmyadmin-4.8/doc/html/themes.html | 224 + .../doc/html/transformations.html | 33 +- .../phpmyadmin-4.8/doc/html/two_factor.html | 179 + .../doc/html/user.html | 34 +- .../doc/html/vendors.html | 22 +- .../error_report.php | 24 +- .../examples/config.manyhosts.inc.php | 0 .../examples/openid.php | 14 +- .../examples/signon-script.php | 0 .../examples/signon.php | 6 +- .../export.php | 110 +- .../favicon.ico | Bin .../gis_data_editor.php | 32 +- .../import.php | 208 +- .../import_status.php | 12 +- .../htdocs/vendor/phpmyadmin-4.8/index.php | 680 + .../js/ajax.js | 271 +- .../js/chart.js | 90 +- .../js/codemirror/addon/lint/sql-lint.js | 38 + .../js/common.js | 140 +- .../js/config.js | 225 +- .../vendor/phpmyadmin-4.8/js/console.js | 1495 +++ .../js/cross_framing_protection.js | 14 + .../phpmyadmin-4.8/js/db_central_columns.js | 239 + .../phpmyadmin-4.8/js/db_multi_table_query.js | 253 + .../js/db_operations.js | 44 +- .../htdocs/vendor/phpmyadmin-4.8/js/db_qbe.js | 79 + .../vendor/phpmyadmin-4.8/js/db_search.js | 246 + .../js/db_structure.js | 146 +- .../js/db_tracking.js | 28 +- .../phpmyadmin-4.8/js/designer/database.js | 136 + .../js/designer}/history.js | 296 +- .../vendor/phpmyadmin-4.8/js/designer/init.js | 67 + .../vendor/phpmyadmin-4.8/js/designer/move.js | 2110 ++++ .../phpmyadmin-4.8/js/designer/objects.js | 15 + .../vendor/phpmyadmin-4.8/js/designer/page.js | 160 + .../js/doclinks.js | 0 .../js/error_report.js | 92 +- .../htdocs/vendor/phpmyadmin-4.8/js/export.js | 966 ++ .../vendor/phpmyadmin-4.8/js/export_output.js | 9 + .../vendor/phpmyadmin-4.8/js/functions.js | 5107 ++++++++ .../js/gis_data_editor.js | 107 +- .../htdocs/vendor/phpmyadmin-4.8/js/import.js | 155 + .../js/indexes.js | 174 +- .../js/jqplot/plugins/jqplot.byteFormatter.js | 6 +- .../vendor/phpmyadmin-4.8/js/keyhandler.js | 140 + .../js/makegrid.js | 385 +- .../vendor/phpmyadmin-4.8/js/menu-resizer.js | 222 + .../js/messages.php | 38 +- .../js/microhistory.js | 33 +- .../phpmyadmin-4.8/js/multi_column_sort.js | 79 + .../js/navigation.js | 270 +- .../vendor/phpmyadmin-4.8/js/normalization.js | 729 ++ .../vendor/phpmyadmin-4.8/js/page_settings.js | 59 + .../vendor/phpmyadmin-4.8/js/replication.js | 92 + .../js/rte.js | 106 +- .../phpmyadmin-4.8/js/server_databases.js | 149 + .../js/server_plugins.js | 4 +- .../phpmyadmin-4.8/js/server_privileges.js | 478 + .../js/server_status_advisor.js | 26 +- .../js/server_status_monitor.js | 445 +- .../js/server_status_processes.js | 33 +- .../js/server_status_queries.js | 0 .../js/server_status_sorter.js | 15 +- .../js/server_status_variables.js | 17 +- .../js/server_user_groups.js | 11 +- .../phpmyadmin-4.8/js/server_variables.js | 110 + .../phpmyadmin-4.8/js/shortcuts_handler.js | 101 + .../htdocs/vendor/phpmyadmin-4.8/js/sql.js | 1012 ++ .../vendor/phpmyadmin-4.8/js/tbl_change.js | 708 ++ .../js/tbl_chart.js | 126 +- .../js/tbl_find_replace.js | 11 +- .../js/tbl_gis_visualization.js | 56 +- .../phpmyadmin-4.8/js/tbl_operations.js | 323 + .../js/tbl_relation.js | 79 +- .../js/tbl_select.js | 74 +- .../vendor/phpmyadmin-4.8/js/tbl_structure.js | 503 + .../js/tbl_tracking.js | 34 +- .../js/tbl_zoom_plot_jqplot.js | 228 +- .../js/transformations/image_upload.js | 6 +- .../js/transformations/json.js | 6 +- .../js/transformations/json_editor.js | 4 +- .../js/transformations/sql_editor.js | 3 +- .../phpmyadmin-4.8/js/transformations/xml.js | 18 + .../js/transformations/xml_editor.js | 16 + .../htdocs/vendor/phpmyadmin-4.8/js/u2f.js | 59 + .../js/vendor/codemirror/LICENSE | 21 + .../codemirror/addon/hint/show-hint.css | 0 .../codemirror/addon/hint/show-hint.js | 8 +- .../vendor}/codemirror/addon/hint/sql-hint.js | 73 +- .../js/vendor}/codemirror/addon/lint/lint.css | 0 .../js/vendor}/codemirror/addon/lint/lint.js | 21 +- .../codemirror/addon/runmode/runmode.js | 0 .../js/vendor}/codemirror/lib/codemirror.css | 29 +- .../js/vendor/codemirror/lib/codemirror.js | 9672 +++++++++++++++ .../codemirror/mode/javascript/javascript.js | 251 +- .../js/vendor/codemirror/mode/sql/sql.js | 490 + .../js/vendor/codemirror/mode/xml/xml.js | 401 + .../js/vendor}/jqplot/jquery.jqplot.js | 0 .../jqplot/plugins/jqplot.barRenderer.js | 0 .../plugins/jqplot.canvasAxisLabelRenderer.js | 0 .../plugins/jqplot.canvasTextRenderer.js | 0 .../plugins/jqplot.categoryAxisRenderer.js | 0 .../vendor}/jqplot/plugins/jqplot.cursor.js | 0 .../jqplot/plugins/jqplot.dateAxisRenderer.js | 0 .../jqplot.enhancedPieLegendRenderer.js | 261 + .../jqplot/plugins/jqplot.highlighter.js | 0 .../jqplot/plugins/jqplot.pieRenderer.js | 28 +- .../jqplot/plugins/jqplot.pointLabels.js | 0 .../js/vendor}/jquery/MIT-LICENSE.txt | 0 .../js/vendor}/jquery/additional-methods.js | 409 +- .../js/vendor/jquery/jquery-migrate.js | 626 + .../jquery/jquery-ui-timepicker-addon.js | 0 .../js/vendor}/jquery/jquery-ui.min.js | 0 .../jquery/jquery.ba-hashchange-1.3.js | 0 .../vendor}/jquery/jquery.debounce-1.0.5.js | 0 .../vendor}/jquery/jquery.event.drag-2.2.js | 0 .../js/vendor}/jquery/jquery.fullscreen.js | 0 .../js/vendor/jquery/jquery.md5.js | 269 + .../js/vendor/jquery/jquery.min.js | 2 + .../js/vendor}/jquery/jquery.mousewheel.js | 0 .../js/vendor}/jquery/jquery.sortableTable.js | 0 .../js/vendor}/jquery/jquery.svg.js | 0 .../js/vendor}/jquery/jquery.tablesorter.js | 0 .../js/vendor}/jquery/jquery.uitablefilter.js | 0 .../js/vendor}/jquery/jquery.validate.js | 189 +- .../phpmyadmin-4.8/js/vendor/js.cookie.js | 165 + .../js/vendor}/openlayers/OpenLayers.js | 0 .../js/vendor}/openlayers/img/blank.gif | Bin .../openlayers/img/cloud-popup-relative.png | Bin 0 -> 2829 bytes .../openlayers/img/drag-rectangle-off.png | Bin 0 -> 944 bytes .../openlayers/img/drag-rectangle-on.png | Bin 0 -> 975 bytes .../js/vendor/openlayers/img/east-mini.png | Bin 0 -> 287 bytes .../img/layer-switcher-maximize.png | Bin 0 -> 293 bytes .../img/layer-switcher-minimize.png | Bin 0 -> 136 bytes .../js/vendor/openlayers/img/marker-blue.png | Bin 0 -> 685 bytes .../js/vendor/openlayers/img/marker-gold.png | Bin 0 -> 625 bytes .../js/vendor/openlayers/img/marker-green.png | Bin 0 -> 681 bytes .../js/vendor/openlayers/img/marker.png | Bin 0 -> 524 bytes .../openlayers/img/measuring-stick-off.png | Bin 0 -> 253 bytes .../openlayers/img/measuring-stick-on.png | Bin 0 -> 305 bytes .../js/vendor/openlayers/img/north-mini.png | Bin 0 -> 322 bytes .../openlayers/img/panning-hand-off.png | Bin 0 -> 769 bytes .../vendor/openlayers/img/panning-hand-on.png | Bin 0 -> 801 bytes .../js/vendor/openlayers/img/slider.png | Bin 0 -> 203 bytes .../js/vendor/openlayers/img/south-mini.png | Bin 0 -> 319 bytes .../js/vendor/openlayers/img/west-mini.png | Bin 0 -> 300 bytes .../vendor/openlayers/img/zoom-minus-mini.png | Bin 0 -> 234 bytes .../vendor/openlayers/img/zoom-plus-mini.png | Bin 0 -> 320 bytes .../vendor/openlayers/img/zoom-world-mini.png | Bin 0 -> 745 bytes .../js/vendor/openlayers/img/zoombar.png | Bin 0 -> 211 bytes .../openlayers/theme/default/google.css | 0 .../openlayers/theme/default/google.tidy.css | 0 .../openlayers/theme/default/ie6-style.css | 0 .../theme/default/ie6-style.tidy.css | 0 .../theme/default/img/add_point_off.png | Bin 0 -> 577 bytes .../theme/default/img/add_point_on.png | Bin 0 -> 368 bytes .../openlayers/theme/default/img/blank.gif | Bin .../openlayers/theme/default/img/close.gif | Bin .../theme/default/img/drag-rectangle-off.png | Bin 0 -> 944 bytes .../theme/default/img/drag-rectangle-on.png | Bin 0 -> 975 bytes .../theme/default/img/draw_line_off.png | Bin 0 -> 460 bytes .../theme/default/img/draw_line_on.png | Bin 0 -> 243 bytes .../theme/default/img/draw_point_off.png | Bin 0 -> 568 bytes .../theme/default/img/draw_point_on.png | Bin 0 -> 361 bytes .../theme/default/img/draw_polygon_off.png | Bin 0 -> 436 bytes .../theme/default/img/draw_polygon_on.png | Bin 0 -> 248 bytes .../theme/default/img/editing_tool_bar.png | Bin 0 -> 1851 bytes .../theme/default/img/move_feature_off.png | Bin 0 -> 416 bytes .../theme/default/img/move_feature_on.png | Bin 0 -> 221 bytes .../theme/default/img/navigation_history.png | Bin 0 -> 4237 bytes .../default/img/overview_replacement.gif | Bin .../theme/default/img/pan-panel-NOALPHA.png | Bin 0 -> 452 bytes .../theme/default/img/pan-panel.png | Bin 0 -> 569 bytes .../openlayers/theme/default/img/pan_off.png | Bin 0 -> 719 bytes .../openlayers/theme/default/img/pan_on.png | Bin 0 -> 574 bytes .../theme/default/img/panning-hand-off.png | Bin 0 -> 769 bytes .../theme/default/img/panning-hand-on.png | Bin 0 -> 801 bytes .../theme/default/img/remove_point_off.png | Bin 0 -> 572 bytes .../theme/default/img/remove_point_on.png | Bin 0 -> 363 bytes .../openlayers/theme/default/img/ruler.png | Bin 0 -> 509 bytes .../theme/default/img/save_features_off.png | Bin 0 -> 271 bytes .../theme/default/img/save_features_on.png | Bin 0 -> 274 bytes .../theme/default/img/view_next_off.png | Bin 0 -> 859 bytes .../theme/default/img/view_next_on.png | Bin 0 -> 1522 bytes .../theme/default/img/view_previous_off.png | Bin 0 -> 829 bytes .../theme/default/img/view_previous_on.png | Bin 0 -> 1487 bytes .../theme/default/img/zoom-panel-NOALPHA.png | Bin 0 -> 994 bytes .../theme/default/img/zoom-panel.png | Bin 0 -> 1108 bytes .../openlayers/theme/default/style.css | 0 .../openlayers/theme/default/style.mobile.css | 0 .../theme/default/style.mobile.tidy.css | 0 .../openlayers/theme/default/style.tidy.css | 0 .../js/vendor}/sprintf.js | 0 .../js/vendor}/tracekit.js | 113 +- .../js/vendor/u2f-api-polyfill.js | 754 ++ .../js => phpmyadmin-4.8/js/vendor}/zxcvbn.js | 0 .../js/whitelist.php | 4 +- .../libraries/advisory_rules.txt | 0 .../phpmyadmin-4.8/libraries/certs/12d55845.0 | 20 + .../phpmyadmin-4.8/libraries/certs/2e5ac55d.0 | 20 + .../libraries/certs/4042bcee.0 | 0 .../libraries/certs/6187b673.0 | 0 .../phpmyadmin-4.8/libraries/certs/README.rst | 16 + .../phpmyadmin-4.8/libraries/certs/cacert.pem | 51 + .../libraries/check_user_privileges.inc.php | 29 + .../libraries/classes/Advisor.php | 648 + .../libraries/classes}/Bookmark.php | 118 +- .../libraries/classes/BrowseForeigners.php | 346 + .../libraries/classes/CentralColumns.php | 1448 +++ .../libraries/classes/Charsets.php | 660 + .../libraries/classes/CheckUserPrivileges.php | 326 + .../libraries/classes}/Config.php | 421 +- .../libraries/classes/Config}/ConfigFile.php | 57 +- .../libraries/classes/Config/Descriptions.php | 1493 +++ .../libraries/classes/Config}/Form.php | 10 +- .../libraries/classes/Config}/FormDisplay.php | 99 +- .../classes/Config/FormDisplayTemplate.php | 493 + .../classes/Config/Forms/BaseForm.php | 85 + .../classes/Config/Forms/BaseFormList.php | 127 + .../classes/Config/Forms/Page/BrowseForm.php | 21 + .../Config/Forms/Page/DbStructureForm.php | 22 + .../classes/Config/Forms/Page/EditForm.php | 23 + .../classes/Config/Forms/Page/ExportForm.php | 12 + .../classes/Config/Forms/Page/ImportForm.php | 12 + .../classes/Config/Forms/Page/NaviForm.php | 12 + .../Config/Forms/Page/PageFormList.php | 25 + .../classes/Config/Forms/Page/SqlForm.php | 12 + .../Config/Forms/Page/TableStructureForm.php | 22 + .../classes/Config/Forms/Setup/ConfigForm.php | 23 + .../classes/Config/Forms/Setup/ExportForm.php | 12 + .../Config/Forms/Setup/FeaturesForm.php | 63 + .../classes/Config/Forms/Setup/ImportForm.php | 12 + .../classes/Config/Forms/Setup/MainForm.php | 20 + .../classes/Config/Forms/Setup/NaviForm.php | 12 + .../Config/Forms/Setup/ServersForm.php | 81 + .../Config/Forms/Setup/SetupFormList.php | 25 + .../classes/Config/Forms/Setup/SqlForm.php | 19 + .../classes/Config/Forms/User/ExportForm.php | 142 + .../Config/Forms/User/FeaturesForm.php | 84 + .../classes/Config/Forms/User/ImportForm.php | 60 + .../classes/Config/Forms/User/MainForm.php | 86 + .../classes/Config/Forms/User/NaviForm.php | 61 + .../classes/Config/Forms/User/SqlForm.php | 42 + .../Config/Forms/User/UserFormList.php | 23 + .../classes/Config}/PageSettings.php | 49 +- .../classes/Config/ServerConfigChecks.php | 560 + .../libraries/classes/Config}/Validator.php | 71 +- .../libraries/classes/Console.php | 152 + .../classes/Controllers/Controller.php | 39 + .../Database}/DatabaseStructureController.php | 228 +- .../Controllers/DatabaseController.php | 30 + .../Server}/ServerBinlogController.php | 48 +- .../Server/ServerCollationsController.php | 76 + .../Server/ServerDatabasesController.php | 464 + .../Server/ServerEnginesController.php | 100 + .../Server}/ServerPluginsController.php | 27 +- .../Server}/ServerVariablesController.php | 78 +- .../Table}/TableChartController.php | 57 +- .../TableGisVisualizationController.php | 54 +- .../Table}/TableIndexesController.php | 40 +- .../Table/TableRelationController.php | 386 + .../Table}/TableSearchController.php | 183 +- .../Table}/TableStructureController.php | 289 +- .../classes/Controllers/TableController.php | 40 + .../phpmyadmin-4.8/libraries/classes/Core.php | 1287 ++ .../libraries/classes/CreateAddField.php | 556 + .../classes/Database/DatabaseList.php | 58 + .../libraries/classes/Database/Designer.php | 430 + .../classes/Database/Designer/Common.php | 790 ++ .../classes/Database/MultiTableQuery.php | 135 + .../libraries/classes/Database/Qbe.php | 1960 +++ .../libraries/classes/Database/Search.php | 339 + .../libraries/classes}/DatabaseInterface.php | 912 +- .../libraries/classes/Dbi/DbiDummy.php | 454 + .../libraries/classes/Dbi/DbiExtension.php | 242 + .../libraries/classes/Dbi/DbiMysql.php | 456 + .../libraries/classes/Dbi/DbiMysqli.php | 587 + .../libraries/classes/Di}/AliasItem.php | 10 +- .../libraries/classes/Di/Container.php | 189 + .../classes/Di/ContainerException.php | 21 + .../libraries/classes/Di/FactoryItem.php | 29 + .../libraries/classes/Di/Item.php | 25 + .../classes/Di/NotFoundException.php | 20 + .../libraries/classes/Di}/ReflectorItem.php | 28 +- .../libraries/classes/Di/ServiceItem.php | 34 + .../libraries/classes/Di/ValueItem.php | 41 + .../classes/Display/ChangePassword.php | 164 + .../libraries/classes/Display/CreateTable.php | 53 + .../libraries/classes/Display/Export.php | 801 ++ .../libraries/classes/Display/GitRevision.php | 97 + .../libraries/classes/Display/Import.php | 111 + .../libraries/classes/Display/ImportAjax.php | 134 + .../libraries/classes/Display/Results.php | 5651 +++++++++ .../libraries/classes/Encoding.php | 334 + .../libraries/classes/Engines}/Bdb.php | 4 +- .../libraries/classes/Engines}/Berkeleydb.php | 2 +- .../libraries/classes/Engines}/Binlog.php | 4 +- .../libraries/classes/Engines}/Innobase.php | 2 +- .../libraries/classes/Engines}/Innodb.php | 6 +- .../libraries/classes/Engines}/Memory.php | 4 +- .../libraries/classes/Engines}/Merge.php | 4 +- .../libraries/classes/Engines/MrgMyisam.php | 27 + .../libraries/classes/Engines}/Myisam.php | 4 +- .../libraries/classes/Engines}/Ndbcluster.php | 4 +- .../libraries/classes/Engines}/Pbxt.php | 14 +- .../classes/Engines/PerformanceSchema.php | 29 + .../libraries/classes/Error.php | 513 + .../libraries/classes/ErrorHandler.php | 584 + .../libraries/classes/ErrorReport.php | 260 + .../libraries/classes/Export.php | 1107 ++ .../phpmyadmin-4.8/libraries/classes/File.php | 816 ++ .../libraries/classes/FileListing.php | 106 + .../libraries/classes}/Font.php | 10 +- .../libraries/classes/Footer.php | 371 + .../libraries/classes/Gis/GisFactory.php | 49 + .../libraries/classes/Gis/GisGeometry.php | 399 + .../classes/Gis/GisGeometryCollection.php | 416 + .../libraries/classes/Gis/GisLineString.php | 353 + .../classes/Gis/GisMultiLineString.php | 441 + .../libraries/classes/Gis/GisMultiPoint.php | 409 + .../libraries/classes/Gis/GisMultiPolygon.php | 606 + .../libraries/classes/Gis/GisPoint.php | 356 + .../libraries/classes/Gis/GisPolygon.php | 611 + .../classes/Gis/GisVisualization.php | 710 ++ .../libraries/classes/Header.php | 819 ++ .../libraries/classes/Import.php | 1692 +++ .../libraries/classes/Index.php | 905 ++ .../libraries/classes}/IndexColumn.php | 14 +- .../libraries/classes/InsertEdit.php | 3470 ++++++ .../libraries/classes/IpAllowDeny.php | 306 + .../libraries/classes}/Language.php | 15 +- .../libraries/classes}/LanguageManager.php | 24 +- .../libraries/classes}/Linter.php | 7 +- .../libraries/classes}/ListAbstract.php | 4 +- .../libraries/classes}/ListDatabase.php | 32 +- .../libraries/classes/Logging.php | 99 + .../libraries/classes}/Menu.php | 161 +- .../libraries/classes}/Message.php | 14 +- .../phpmyadmin-4.8/libraries/classes/Mime.php | 39 + .../libraries/classes/MultSubmits.php | 628 + .../classes/Navigation}/Navigation.php | 36 +- .../classes/Navigation/NavigationHeader.php | 255 + .../classes/Navigation}/NavigationTree.php | 74 +- .../classes/Navigation}/NodeFactory.php | 7 +- .../classes/Navigation/Nodes/Node.php | 836 ++ .../classes/Navigation/Nodes}/NodeColumn.php | 7 +- .../Navigation/Nodes}/NodeColumnContainer.php | 12 +- .../Navigation/Nodes}/NodeDatabase.php | 30 +- .../Navigation/Nodes}/NodeDatabaseChild.php | 13 +- .../Nodes}/NodeDatabaseChildContainer.php | 2 +- .../Nodes}/NodeDatabaseContainer.php | 10 +- .../classes/Navigation/Nodes}/NodeEvent.php | 7 +- .../Navigation/Nodes}/NodeEventContainer.php | 11 +- .../Navigation/Nodes}/NodeFunction.php | 7 +- .../Nodes}/NodeFunctionContainer.php | 14 +- .../classes/Navigation/Nodes}/NodeIndex.php | 7 +- .../Navigation/Nodes}/NodeIndexContainer.php | 11 +- .../Navigation/Nodes}/NodeProcedure.php | 10 +- .../Nodes}/NodeProcedureContainer.php | 14 +- .../classes/Navigation/Nodes}/NodeTable.php | 34 +- .../Navigation/Nodes}/NodeTableContainer.php | 11 +- .../classes/Navigation/Nodes}/NodeTrigger.php | 7 +- .../Nodes}/NodeTriggerContainer.php | 11 +- .../classes/Navigation/Nodes}/NodeView.php | 7 +- .../Navigation/Nodes}/NodeViewContainer.php | 11 +- .../libraries/classes/Normalization.php | 1071 ++ .../libraries/classes}/OpenDocument.php | 31 +- .../libraries/classes/Operations.php | 2144 ++++ .../libraries/classes}/OutputBuffering.php | 5 +- .../libraries/classes/ParseAnalyze.php | 78 + .../libraries/classes}/Partition.php | 52 +- .../phpmyadmin-4.8/libraries/classes/Pdf.php | 154 + .../libraries/classes/Plugins.php | 584 + .../Plugins/Auth}/AuthenticationConfig.php | 50 +- .../Plugins/Auth}/AuthenticationCookie.php | 255 +- .../Plugins/Auth/AuthenticationHttp.php | 214 + .../Plugins/Auth/AuthenticationSignon.php | 243 + .../classes/Plugins/AuthenticationPlugin.php | 347 + .../classes/Plugins/Export}/ExportCodegen.php | 41 +- .../classes/Plugins/Export}/ExportCsv.php | 29 +- .../classes/Plugins/Export}/ExportExcel.php | 16 +- .../Plugins/Export}/ExportHtmlword.php | 63 +- .../classes/Plugins/Export}/ExportJson.php | 56 +- .../classes/Plugins/Export}/ExportLatex.php | 65 +- .../Plugins/Export}/ExportMediawiki.php | 36 +- .../classes/Plugins/Export}/ExportOds.php | 38 +- .../classes/Plugins/Export}/ExportOdt.php | 49 +- .../classes/Plugins/Export}/ExportPdf.php | 43 +- .../Plugins/Export}/ExportPhparray.php | 34 +- .../classes/Plugins/Export}/ExportSql.php | 166 +- .../Plugins/Export}/ExportTexytext.php | 48 +- .../classes/Plugins/Export}/ExportXml.php | 49 +- .../classes/Plugins/Export}/ExportYaml.php | 27 +- .../classes/Plugins/Export/Helpers/Pdf.php | 851 ++ .../Plugins/Export/Helpers}/TableProperty.php | 10 +- .../libraries/classes/Plugins/Export/README | 257 + .../classes/Plugins}/ExportPlugin.php | 37 +- .../Plugins}/IOTransformationsPlugin.php | 8 +- .../Plugins/Import}/AbstractImportCsv.php | 16 +- .../classes/Plugins/Import}/ImportCsv.php | 50 +- .../classes/Plugins/Import}/ImportLdi.php | 24 +- .../Plugins/Import}/ImportMediawiki.php | 31 +- .../classes/Plugins/Import}/ImportOds.php | 63 +- .../classes/Plugins/Import}/ImportShp.php | 76 +- .../classes/Plugins/Import}/ImportSql.php | 37 +- .../classes/Plugins/Import}/ImportXml.php | 40 +- .../libraries/classes/Plugins/Import/README | 153 + .../Plugins/Import}/ShapeFileImport.php | 10 +- .../Plugins/Import/Upload}/UploadApc.php | 7 +- .../Plugins/Import/Upload}/UploadNoplugin.php | 4 +- .../Plugins/Import/Upload}/UploadProgress.php | 7 +- .../Plugins/Import/Upload}/UploadSession.php | 7 +- .../classes/Plugins}/ImportPlugin.php | 6 +- .../classes/Plugins/Schema/Dia}/Dia.php | 8 +- .../Plugins/Schema/Dia}/DiaRelationSchema.php | 17 +- .../Plugins/Schema/Dia}/RelationStatsDia.php | 6 +- .../Plugins/Schema/Dia}/TableStatsDia.php | 10 +- .../classes/Plugins/Schema/Eps/Eps.php | 278 + .../Plugins/Schema/Eps}/EpsRelationSchema.php | 17 +- .../Plugins/Schema/Eps}/RelationStatsEps.php | 8 +- .../Plugins/Schema/Eps}/TableStatsEps.php | 20 +- .../Plugins/Schema}/ExportRelationSchema.php | 45 +- .../classes/Plugins/Schema/Pdf/Pdf.php | 403 + .../Plugins/Schema/Pdf}/PdfRelationSchema.php | 42 +- .../Plugins/Schema/Pdf}/RelationStatsPdf.php | 10 +- .../Plugins/Schema/Pdf}/TableStatsPdf.php | 17 +- .../classes/Plugins/Schema}/RelationStats.php | 2 +- .../classes/Plugins/Schema}/SchemaDia.php | 14 +- .../classes/Plugins/Schema}/SchemaEps.php | 16 +- .../classes/Plugins/Schema}/SchemaPdf.php | 16 +- .../classes/Plugins/Schema}/SchemaSvg.php | 14 +- .../Plugins/Schema/Svg}/RelationStatsSvg.php | 8 +- .../classes/Plugins/Schema/Svg/Svg.php | 279 + .../Plugins/Schema/Svg}/SvgRelationSchema.php | 27 +- .../Plugins/Schema/Svg}/TableStatsSvg.php | 20 +- .../classes/Plugins/Schema}/TableStats.php | 29 +- .../classes/Plugins}/SchemaPlugin.php | 12 +- .../Abs}/Bool2TextTransformationsPlugin.php | 9 +- .../CodeMirrorEditorTransformationPlugin.php | 10 +- .../Abs}/DateFormatTransformationsPlugin.php | 28 +- .../Abs}/DownloadTransformationsPlugin.php | 6 +- .../Abs}/ExternalTransformationsPlugin.php | 13 +- .../Abs}/FormattedTransformationsPlugin.php | 6 +- .../Abs}/HexTransformationsPlugin.php | 9 +- .../Abs}/ImageLinkTransformationsPlugin.php | 9 +- .../Abs}/ImageUploadTransformationsPlugin.php | 10 +- .../Abs}/InlineTransformationsPlugin.php | 16 +- .../Abs}/LongToIPv4TransformationsPlugin.php | 6 +- .../Abs}/PreApPendTransformationsPlugin.php | 9 +- .../RegexValidationTransformationsPlugin.php | 6 +- .../Abs}/SQLTransformationsPlugin.php | 10 +- .../Abs}/SubstringTransformationsPlugin.php | 9 +- .../TextFileUploadTransformationsPlugin.php | 10 +- .../TextImageLinkTransformationsPlugin.php | 16 +- .../Abs}/TextLinkTransformationsPlugin.php | 10 +- .../Input}/Image_JPEG_Upload.php | 5 +- .../Input}/Text_Plain_FileUpload.php | 5 +- .../Input}/Text_Plain_Iptobinary.php | 16 +- .../Input}/Text_Plain_JsonEditor.php | 9 +- .../Input}/Text_Plain_RegexValidation.php | 5 +- .../Input}/Text_Plain_SqlEditor.php | 9 +- .../Input}/Text_Plain_XmlEditor.php | 9 +- .../Application_Octetstream_Download.php | 5 +- .../Output}/Application_Octetstream_Hex.php | 5 +- .../Output}/Image_JPEG_Inline.php | 5 +- .../Output}/Image_JPEG_Link.php | 5 +- .../Output}/Image_PNG_Inline.php | 5 +- .../Output}/Text_Octetstream_Sql.php | 5 +- .../Output}/Text_Plain_Binarytoip.php | 7 +- .../Output}/Text_Plain_Bool2Text.php | 5 +- .../Output}/Text_Plain_Dateformat.php | 5 +- .../Output}/Text_Plain_External.php | 5 +- .../Output}/Text_Plain_Formatted.php | 5 +- .../Output}/Text_Plain_Imagelink.php | 5 +- .../Output}/Text_Plain_Json.php | 16 +- .../Transformations/Output/Text_Plain_Sql.php | 58 + .../Output}/Text_Plain_Xml.php | 16 +- .../classes/Plugins/Transformations}/README | 0 .../classes/Plugins/Transformations}/TEMPLATE | 4 +- .../Transformations}/TEMPLATE_ABSTRACT | 4 +- .../Transformations}/Text_Plain_Link.php | 5 +- .../Text_Plain_Longtoipv4.php | 5 +- .../Transformations}/Text_Plain_PreApPend.php | 5 +- .../Transformations}/Text_Plain_Substring.php | 5 +- .../Plugins}/TransformationsInterface.php | 2 +- .../Plugins}/TransformationsPlugin.php | 8 +- .../classes/Plugins/TwoFactor/Application.php | 142 + .../classes/Plugins/TwoFactor/Invalid.php | 65 + .../classes/Plugins/TwoFactor/Key.php | 198 + .../classes/Plugins/TwoFactor/Simple.php | 64 + .../classes/Plugins/TwoFactorPlugin.php | 170 + .../classes/Plugins}/UploadInterface.php | 2 +- .../Groups/OptionsPropertyMainGroup.php | 33 + .../Groups/OptionsPropertyRootGroup.php | 33 + .../Groups/OptionsPropertySubgroup.php | 63 + .../Options/Items/BoolPropertyItem.php | 33 + .../Options/Items/DocPropertyItem.php | 33 + .../Options/Items/HiddenPropertyItem.php | 33 + .../Options/Items/MessageOnlyPropertyItem.php | 33 + .../Options/Items/NumberPropertyItem.php | 33 + .../Options/Items/RadioPropertyItem.php | 33 + .../Options/Items/SelectPropertyItem.php | 33 + .../Options/Items/TextPropertyItem.php | 33 + .../Options}/OptionsPropertyGroup.php | 18 +- .../Options}/OptionsPropertyItem.php | 6 +- .../Options}/OptionsPropertyOneItem.php | 6 +- .../Plugins}/ExportPluginProperties.php | 8 +- .../Plugins/ImportPluginProperties.php | 31 + .../Plugins}/PluginPropertyItem.php | 10 +- .../Plugins/SchemaPluginProperties.php | 44 + .../classes/Properties/PropertyItem.php | 46 + .../classes}/RecentFavoriteTable.php | 36 +- .../libraries/classes/Relation.php | 2117 ++++ .../libraries/classes/RelationCleanup.php | 371 + .../libraries/classes/Replication.php | 173 + .../libraries/classes/ReplicationGui.php | 1093 ++ .../libraries/classes/Response.php | 572 + .../libraries/classes/Rte/Events.php | 629 + .../libraries/classes/Rte/Export.php | 145 + .../libraries/classes/Rte/Footer.php | 137 + .../libraries/classes/Rte/General.php | 100 + .../libraries/classes/Rte/Routines.php | 1721 +++ .../libraries/classes/Rte/RteList.php | 485 + .../libraries/classes/Rte/Triggers.php | 478 + .../libraries/classes/Rte/Words.php | 87 + .../libraries/classes}/Sanitize.php | 44 +- .../libraries/classes}/SavedSearches.php | 57 +- .../libraries/classes/Scripts.php | 214 + .../libraries/classes/Server/Privileges.php | 5366 ++++++++ .../libraries/classes/Server/Select.php | 125 + .../libraries/classes/Server/Status.php | 335 + .../classes/Server/Status/Advisor.php | 73 + .../libraries/classes/Server/Status/Data.php | 502 + .../classes/Server/Status/Monitor.php | 829 ++ .../classes/Server/Status/Processes.php | 305 + .../classes/Server/Status/Queries.php | 156 + .../classes/Server/Status/Variables.php | 774 ++ .../libraries/classes/Server/UserGroups.php | 376 + .../libraries/classes/Server/Users.php | 62 + .../libraries/classes/Session.php | 235 + .../phpmyadmin-4.8/libraries/classes/Sql.php | 2307 ++++ .../libraries/classes/SqlQueryForm.php | 446 + .../libraries/classes}/StorageEngine.php | 46 +- .../libraries/classes}/SubPartition.php | 10 +- .../libraries/classes/SysInfo.php | 64 + .../libraries/classes/SysInfoBase.php | 48 + .../libraries/classes}/SysInfoLinux.php | 15 +- .../libraries/classes}/SysInfoSunOS.php | 14 +- .../libraries/classes}/SysInfoWINNT.php | 13 +- .../libraries/classes}/SystemDatabase.php | 24 +- .../libraries/classes/Table.php | 2626 ++++ .../libraries/classes/Template.php | 135 + .../libraries/classes/Theme.php | 465 + .../libraries/classes}/ThemeManager.php | 186 +- .../libraries/classes}/Tracker.php | 155 +- .../libraries/classes/Tracking.php | 1286 ++ .../libraries/classes/Transformations.php | 467 + .../classes/Twig/CharsetsExtension.php | 44 + .../libraries/classes/Twig/CoreExtension.php | 35 + .../libraries/classes/Twig/I18n/NodeTrans.php | 169 + .../classes/Twig/I18n/TokenParserTrans.php | 81 + .../libraries/classes/Twig/I18nExtension.php | 42 + .../libraries/classes/Twig/IndexExtension.php | 35 + .../classes/Twig/MessageExtension.php | 45 + .../classes/Twig/PartitionExtension.php | 35 + .../classes/Twig/PhpFunctionsExtension.php | 39 + .../classes/Twig/PluginsExtension.php | 50 + .../classes/Twig/RelationExtension.php | 54 + .../classes/Twig/SanitizeExtension.php | 45 + .../Twig/ServerPrivilegesExtension.php | 35 + .../classes/Twig/StorageEngineExtension.php | 35 + .../libraries/classes/Twig/TableExtension.php | 34 + .../classes/Twig/TrackerExtension.php | 34 + .../classes/Twig/TransformationsExtension.php | 38 + .../libraries/classes/Twig/UrlExtension.php | 54 + .../libraries/classes/Twig/UtilExtension.php | 189 + .../libraries/classes/TwoFactor.php | 288 + .../libraries/classes/Types.php | 805 ++ .../phpmyadmin-4.8/libraries/classes/Url.php | 267 + .../libraries/classes/UserPassword.php | 251 + .../libraries/classes/UserPreferences.php | 274 + .../phpmyadmin-4.8/libraries/classes/Util.php | 4715 +++++++ .../libraries/classes/Utils/HttpRequest.php | 258 + .../libraries/classes}/VersionInformation.php | 22 +- .../libraries/classes/ZipExtension.php | 285 + .../phpmyadmin-4.8/libraries/common.inc.php | 456 + .../libraries/config.default.php | 150 +- .../libraries/config.values.php | 10 + .../libraries/db_common.inc.php | 142 + .../libraries/db_table_exists.inc.php | 21 +- .../libraries/dbi/dbi_dummy.inc.php | 878 ++ .../libraries/error.inc.php | 2 +- .../phpmyadmin-4.8/libraries/hash.lib.php | 28 + .../information_schema_relations.inc.php} | 0 .../libraries/language_stats.inc.php | 93 + .../libraries/mult_submits.inc.php | 70 +- .../libraries/mysql_relations.inc.php} | 0 .../libraries/replication.inc.php | 172 + .../libraries/rte/rte_main.inc.php | 89 + .../libraries/server_common.inc.php | 43 + .../libraries/special_schema_links.inc.php | 490 + .../tbl_columns_definition_form.inc.php | 441 + .../libraries/tbl_common.inc.php | 52 + .../tbl_partition_definition.inc.php | 9 +- .../libraries/user_preferences.inc.php | 78 + .../libraries/vendor_config.php | 11 + .../license.php | 2 +- .../lint.php | 8 +- .../logout.php | 6 +- .../navigation.php | 12 +- .../vendor/phpmyadmin-4.8/normalization.php | 125 + .../htdocs/vendor/phpmyadmin-4.8/package.json | 25 + .../vendor/phpmyadmin-4.8/phpcs.xml.dist | 15 + .../phpinfo.php | 2 +- .../phpmyadmin.css.php | 4 +- .../vendor/phpmyadmin-4.8/prefs_forms.php | 94 + .../prefs_manage.php | 98 +- .../vendor/phpmyadmin-4.8/prefs_twofactor.php | 52 + .../print.css | 0 .../robots.txt | 0 .../vendor/phpmyadmin-4.8/schema_export.php | 33 + .../vendor/phpmyadmin-4.8/server_binlog.php | 30 + .../phpmyadmin-4.8/server_collations.php | 30 + .../phpmyadmin-4.8/server_databases.php | 30 + .../vendor/phpmyadmin-4.8/server_engines.php | 30 + .../vendor/phpmyadmin-4.8/server_export.php | 47 + .../vendor/phpmyadmin-4.8/server_import.php | 34 + .../vendor/phpmyadmin-4.8/server_plugins.php | 30 + .../server_privileges.php | 105 +- .../phpmyadmin-4.8/server_replication.php | 92 + .../vendor/phpmyadmin-4.8/server_sql.php | 34 + .../vendor/phpmyadmin-4.8/server_status.php | 40 + .../phpmyadmin-4.8/server_status_advisor.php | 39 + .../phpmyadmin-4.8/server_status_monitor.php | 102 + .../server_status_processes.php | 62 + .../phpmyadmin-4.8/server_status_queries.php | 48 + .../server_status_variables.php | 58 + .../phpmyadmin-4.8/server_user_groups.php | 77 + .../phpmyadmin-4.8/server_variables.php | 30 + .../setup/ajax.js | 0 .../vendor/phpmyadmin-4.8/setup/config.php | 50 + .../setup/frames/config.inc.php | 39 + .../phpmyadmin-4.8/setup/frames/form.inc.php | 25 + .../setup/frames/index.inc.php | 72 +- .../phpmyadmin-4.8/setup/frames/menu.inc.php | 33 + .../setup/frames/servers.inc.php | 44 + .../vendor/phpmyadmin-4.8/setup/index.php | 67 + .../setup/lib/ConfigGenerator.php | 6 +- .../setup/lib/FormProcessing.php | 77 + .../vendor/phpmyadmin-4.8/setup/lib/Index.php | 191 + .../phpmyadmin-4.8/setup/lib/common.inc.php | 49 + .../setup/scripts.js | 22 +- .../setup/styles.css | 3 + .../vendor/phpmyadmin-4.8/setup/validate.php | 36 + .../show_config_errors.php | 0 .../sql.php | 50 +- .../sql/create_tables.sql | 0 .../sql/upgrade_column_info_4_3_0+.sql | 0 .../sql/upgrade_tables_4_7_0+.sql | 0 .../sql/upgrade_tables_mysql_4_1_2+.sql | 0 .../tbl_addfield.php | 30 +- .../tbl_change.php | 65 +- .../vendor/phpmyadmin-4.8/tbl_chart.php | 32 + .../tbl_create.php | 32 +- .../tbl_export.php | 23 +- .../phpmyadmin-4.8/tbl_find_replace.php | 35 + .../vendor/phpmyadmin-4.8/tbl_get_field.php | 62 + .../phpmyadmin-4.8/tbl_gis_visualization.php | 42 + .../vendor/phpmyadmin-4.8/tbl_import.php | 34 + .../vendor/phpmyadmin-4.8/tbl_indexes.php | 50 + .../vendor/phpmyadmin-4.8/tbl_operations.php | 472 + .../tbl_recent_favorite.php | 2 +- .../vendor/phpmyadmin-4.8/tbl_relation.php | 71 + .../tbl_replace.php | 92 +- .../tbl_row_action.php | 14 +- .../vendor/phpmyadmin-4.8/tbl_select.php | 38 + .../htdocs/vendor/phpmyadmin-4.8/tbl_sql.php | 48 + .../vendor/phpmyadmin-4.8/tbl_structure.php | 57 + .../tbl_tracking.php | 56 +- .../tbl_triggers.php | 0 .../vendor/phpmyadmin-4.8/tbl_zoom_select.php | 36 + .../phpmyadmin-4.8/templates/checkbox.twig | 6 + .../column_adjust_privileges.twig | 16 + .../columns_definitions/column_attribute.twig | 21 + .../column_attributes.twig | 237 + .../column_auto_increment.twig | 7 + .../columns_definitions/column_comment.twig | 7 + .../columns_definitions/column_default.twig | 46 + .../column_definitions_form.twig | 152 + .../columns_definitions/column_extra.twig | 7 + .../columns_definitions/column_indexes.twig | 24 + .../columns_definitions/column_length.twig | 11 + .../columns_definitions/column_name.twig | 43 + .../columns_definitions/column_null.twig | 8 + .../columns_definitions/column_type.twig | 8 + .../column_virtuality.twig | 31 + .../columns_definitions/mime_type.twig | 17 + .../columns_definitions/move_column.twig | 15 + .../columns_definitions/partitions.twig | 180 + .../table_fields_definitions.twig | 122 + .../columns_definitions/transformation.twig | 26 + .../transformation_option.twig | 9 + .../templates/components/error_message.twig | 4 + .../templates/config/form_display/errors.twig | 6 + .../config/form_display/fieldset_bottom.twig | 14 + .../config/form_display/fieldset_top.twig | 17 + .../config/form_display/form_bottom.twig | 1 + .../config/form_display/group_header.twig | 5 + .../config/form_display/tabs_bottom.twig | 1 + .../templates/console/bookmark_content.twig | 25 + .../templates/console/display.twig | 192 + .../templates/console/query_action.twig | 12 + .../templates/console/toolbar.twig | 10 + .../database/central_columns/add_column.twig | 19 + .../central_columns/edit_table_header.twig | 9 + .../central_columns/table_navigation.twig | 42 + .../templates/database/create_table.twig | 23 + .../designer/aggregate_query_panel.twig | 84 + .../templates/database/designer/canvas.twig | 3 + .../database/designer/database_tables.twig | 128 + .../designer/delete_relation_panel.twig | 49 + .../database/designer/edit_delete_pages.twig | 13 + .../database/designer/having_query_panel.twig | 138 + .../database/designer/js_fields.twig | 10 + .../database/designer/new_relation_panel.twig | 110 + .../database/designer/options_panel.twig | 273 + .../database/designer/page_save_as.twig | 37 + .../database/designer/page_selector.twig | 10 + .../database/designer/query_details.twig | 13 + .../database/designer/rename_to_panel.twig | 65 + .../database/designer/schema_export.twig | 9 + .../database/designer/side_menu.twig | 189 + .../database/designer/table_list.twig | 65 + .../database/designer/where_query_panel.twig | 105 + .../database/multi_table_query/form.twig | 165 + .../database/qbe/column_select_cell.twig | 11 + .../database/qbe/footer_options.twig | 16 + .../database/qbe/sort_order_select_cell.twig | 10 + .../database/qbe/sort_select_cell.twig | 9 + .../database/search/result_divs.twig | 13 + .../templates/database/search/results.twig | 62 + .../database/search/selection_form.twig | 63 + .../structure/body_for_table_summary.twig | 95 + .../database/structure/browse_table.twig | 3 + .../structure/browse_table_label.twig | 3 + .../database/structure/check_all_tables.twig | 40 + .../database/structure/empty_table.twig | 4 + .../database/structure/favorite_anchor.twig | 7 + .../print_view_data_dictionary_link.twig | 8 + .../database/structure/search_table.twig | 3 + .../database/structure/show_create.twig | 31 + .../database/structure/show_create_row.twig | 19 + .../structure/structure_table_row.twig | 225 + .../database/structure/table_header.twig | 67 + .../database/structure/tracking_icon.twig | 7 + .../database/tracking/tracked_tables.twig | 85 + .../database/tracking/untracked_tables.twig | 47 + .../display/export/format_dropdown.twig | 4 + .../display/export/hidden_inputs.twig | 23 + .../templates/display/export/method.twig | 22 + .../display/export/option_header.twig | 12 + .../display/export/options_format.twig | 24 + .../display/export/options_output.twig | 54 + .../export/options_output_charset.twig | 16 + .../export/options_output_compression.twig | 24 + .../display/export/options_output_format.twig | 13 + .../display/export/options_output_radio.twig | 7 + .../export/options_output_save_dir.twig | 15 + .../export/options_output_separate_files.twig | 12 + .../display/export/options_quick_export.twig | 20 + .../display/export/options_rows.twig | 35 + .../display/export/select_options.twig | 19 + .../templates/display/export/selection.twig | 10 + .../display/export/template_loading.twig | 27 + .../display/export/template_options.twig | 7 + .../templates/display/import/import.twig | 194 + .../templates/display/import/javascript.twig | 171 + .../display/results/additional_fields.twig | 14 + .../display/results/comment_for_row.twig | 10 + .../display/results/empty_display.twig | 1 + .../results/multi_row_operations_form.twig | 12 + .../display/results/null_display.twig | 7 + .../display/results/options_block.twig | 99 + .../display/results/show_all_checkbox.twig | 13 + .../results/table_navigation_button.twig | 12 + .../display/results/value_display.twig | 3 + .../templates/div_for_slider_effect.twig | 16 + .../phpmyadmin-4.8/templates/dropdown.twig | 11 + .../encoding/kanji_encoding_form.twig | 20 + .../templates/error/report_form.twig | 32 + .../templates/export/alias_add.twig | 49 + .../templates/export/alias_item.twig | 10 + .../phpmyadmin-4.8/templates/filter.twig | 8 + .../phpmyadmin-4.8/templates/fk_checkbox.twig | 4 + .../templates/header_location.twig | 22 + .../templates/javascript/display.twig | 7 + .../phpmyadmin-4.8/templates/list/item.twig | 19 + .../templates/list/unordered.twig | 14 + .../templates/login/footer.twig | 1 + .../templates/login/header.twig | 13 + .../templates/login/twofactor.twig | 7 + .../login/twofactor/application.twig | 4 + .../twofactor/application_configure.twig | 10 + .../templates/login/twofactor/invalid.twig | 3 + .../login/twofactor/key-https-warning.twig | 5 + .../templates/login/twofactor/key.twig | 5 + .../login/twofactor/key_configure.twig | 5 + .../templates/login/twofactor/simple.twig | 1 + .../templates/navigation/logo.twig | 12 + .../templates/prefs_autoload.twig | 15 + .../templates/prefs_twofactor.twig | 58 + .../templates/prefs_twofactor_configure.twig | 13 + .../templates/prefs_twofactor_confirm.twig | 12 + .../phpmyadmin-4.8/templates/preview_sql.twig | 11 + .../privileges/add_privileges_database.twig | 14 + .../privileges/add_privileges_routine.twig | 14 + .../privileges/add_privileges_table.twig | 14 + .../privileges/add_user_fieldset.twig | 8 + .../privileges/choose_user_group.twig | 9 + .../privileges/column_privileges.twig | 24 + .../privileges/delete_user_fieldset.twig | 17 + .../privileges/edit_routine_privileges.twig | 26 + .../privileges/global_priv_table.twig | 18 + .../privileges/global_priv_tbl_item.twig | 9 + .../templates/privileges/initials_row.twig | 24 + .../privileges/privileges_summary.twig | 62 + .../privileges/privileges_summary_row.twig | 14 + .../templates/privileges/require_options.twig | 14 + .../privileges/require_options_item.twig | 23 + .../privileges/resource_limit_item.twig | 11 + .../templates/privileges/resource_limits.twig | 13 + .../templates/radio_fields.twig | 11 + .../templates/secondary_tabs.twig | 6 + .../phpmyadmin-4.8/templates/select_all.twig | 6 + .../phpmyadmin-4.8/templates/select_lang.twig | 32 + .../templates/server/binlog/log_row.twig | 10 + .../templates/server/binlog/log_selector.twig | 29 + .../templates/server/collations/charsets.twig | 26 + .../templates/server/databases/create.twig | 50 + .../server/databases/databases_footer.twig | 81 + .../server/databases/databases_header.twig | 29 + .../templates/server/databases/index.twig | 25 + .../server/databases/table_header.twig | 39 + .../templates/server/databases/table_row.twig | 65 + .../templates/server/engines/engine.twig | 39 + .../templates/server/engines/engines.twig | 22 + .../templates/server/plugins/section.twig | 35 + .../server/plugins/section_links.twig | 7 + .../templates/server/sub_page_header.twig | 48 + .../server/variables/link_template.twig | 10 + .../variables/session_variable_row.twig | 5 + .../server/variables/variable_row.twig | 29 + .../server/variables/variable_table_head.twig | 7 + .../start_and_number_of_rows_panel.twig | 20 + .../browse_foreigners/column_element.twig | 12 + .../table/browse_foreigners/show_all.twig | 5 + .../templates/table/chart/tbl_chart.twig | 161 + .../gis_visualization/gis_visualization.twig | 80 + .../templates/table/index_form.twig | 219 + .../table/insert/continue_insertion_form.twig | 19 + .../templates/table/relation/common_form.twig | 191 + .../table/relation/dropdown_generate.twig | 9 + .../table/relation/foreign_key_row.twig | 141 + .../relation/internal_relational_row.twig | 30 + .../table/relation/relational_dropdown.twig | 18 + .../search/column_comparison_operators.twig | 3 + .../templates/table/search/fields_table.twig | 23 + .../templates/table/search/form_tag.twig | 4 + .../templates/table/search/geom_func.twig | 19 + .../templates/table/search/input_box.twig | 98 + .../templates/table/search/options.twig | 67 + .../templates/table/search/options_zoom.twig | 43 + .../table/search/replace_preview.twig | 39 + .../templates/table/search/rows_normal.twig | 39 + .../templates/table/search/rows_zoom.twig | 74 + .../table/search/search_and_replace.twig | 25 + .../table/search/selection_form.twig | 102 + .../templates/table/search/table_header.twig | 12 + .../table/search/zoom_result_form.twig | 85 + .../templates/table/secondary_tabs.twig | 17 + .../action_row_in_structure_table.twig | 31 + .../structure/actions_in_table_structure.twig | 140 + .../templates/table/structure/add_column.twig | 24 + .../structure/check_all_table_column.twig | 93 + .../table/structure/display_partitions.twig | 145 + .../table/structure/display_structure.twig | 225 + .../table/structure/display_table_stats.twig | 79 + .../table/structure/move_columns_dialog.twig | 9 + .../structure/optional_action_links.twig | 31 + .../structure/partition_definition_form.twig | 14 + .../table/structure/row_stats_table.twig | 95 + .../structure/table_structure_header.twig | 21 + .../table/structure/table_structure_row.twig | 59 + .../table/tracking/activate_deactivate.twig | 27 + .../table/tracking/create_version.twig | 79 + .../table/tracking/report_table.twig | 27 + .../table/tracking/selectable_tables.twig | 17 + .../tracking/structure_snapshot_columns.twig | 56 + .../tracking/structure_snapshot_indexes.twig | 33 + .../templates/test/add_data.twig | 2 + .../phpmyadmin-4.8/templates/test/echo.twig | 1 + .../templates/test/gettext/gettext.twig | 1 + .../templates/test/gettext/notes.twig | 5 + .../templates/test/gettext/pgettext.twig | 5 + .../templates/test/gettext/plural.twig | 5 + .../templates/test/gettext/plural_notes.twig | 7 + .../templates/test/static.twig} | 0 .../templates/theme_preview.twig | 16 + .../templates/toggle_button.twig | 24 + .../phpmyadmin-4.8/templates/view_create.twig | 123 + .../themes.php | 8 +- .../themes/dot.gif | Bin .../themes/original/css/common.css.php | 3437 +++++ .../themes/original/css/navigation.css.php | 424 + .../themes/original/css/printview.css | 0 .../themes/original/img/ajax_clock_small.gif | Bin .../themes/original/img/arrow_ltr.png | Bin 0 -> 101 bytes .../themes/original/img/arrow_rtl.png | Bin 0 -> 102 bytes .../themes/original/img/b_bookmark.png | Bin 0 -> 205 bytes .../themes/original/img/b_browse.png | Bin 0 -> 116 bytes .../themes/original/img/b_calendar.png | Bin 0 -> 165 bytes .../themes/original/img/b_chart.png | Bin 0 -> 375 bytes .../themes/original/img/b_close.png | Bin 0 -> 153 bytes .../themes/original/img/b_column_add.png | Bin 0 -> 429 bytes .../themes/original/img/b_comment.png | Bin 0 -> 298 bytes .../themes/original/img/b_dbstatistics.png | Bin 0 -> 123 bytes .../themes/original/img/b_deltbl.png | Bin 0 -> 211 bytes .../themes/original/img/b_docs.png | Bin 0 -> 140 bytes .../themes/original/img/b_drop.png | Bin 0 -> 165 bytes .../themes/original/img/b_edit.png | Bin 0 -> 277 bytes .../themes/original/img/b_empty.png | Bin 0 -> 147 bytes .../themes/original/img/b_engine.png | Bin 0 -> 194 bytes .../themes/original/img/b_event_add.png | Bin 0 -> 765 bytes .../themes/original/img/b_events.png | Bin 0 -> 703 bytes .../themes/original/img/b_export.png | Bin 0 -> 154 bytes .../themes/original/img/b_favorite.png | Bin 0 -> 353 bytes .../themes/original/img/b_find_replace.png | Bin 0 -> 371 bytes .../themes/original/img/b_ftext.png | Bin 0 -> 133 bytes .../themes/original/img/b_globe.gif | Bin .../themes/original/img/b_group.png | Bin 0 -> 682 bytes .../themes/original/img/b_help.png | Bin 0 -> 110 bytes .../themes/original/img/b_home.png | Bin 0 -> 210 bytes .../themes/original/img/b_import.png | Bin 0 -> 150 bytes .../themes/original/img/b_index.png | Bin 0 -> 167 bytes .../themes/original/img/b_index_add.png | Bin 0 -> 313 bytes .../themes/original/img/b_inline_edit.png | Bin 0 -> 276 bytes .../themes/original/img/b_insrow.png | Bin 0 -> 157 bytes .../themes/original/img/b_key.png | Bin 0 -> 152 bytes .../themes/original/img/b_minus.png | Bin 0 -> 86 bytes .../themes/original/img/b_more.png | Bin 0 -> 111 bytes .../themes/original/img/b_move.png | Bin 0 -> 151 bytes .../themes/original/img/b_newdb.png | Bin 0 -> 229 bytes .../themes/original/img/b_newtbl.png | Bin 0 -> 232 bytes .../themes/original/img/b_nextpage.png | Bin 0 -> 329 bytes .../themes/original/img/b_no_favorite.png | Bin 0 -> 335 bytes .../themes/original/img/b_plugin.png | Bin 0 -> 512 bytes .../themes/original/img/b_plus.png | Bin 0 -> 90 bytes .../themes/original/img/b_primary.png | Bin 0 -> 239 bytes .../themes/original/img/b_print.png | Bin 0 -> 363 bytes .../themes/original/img/b_props.png | Bin 0 -> 142 bytes .../themes/original/img/b_relations.png | Bin 0 -> 140 bytes .../themes/original/img/b_report.png | Bin 0 -> 555 bytes .../themes/original/img/b_routine_add.png | Bin 0 -> 395 bytes .../themes/original/img/b_routines.png | Bin 0 -> 306 bytes .../themes/original/img/b_save.png | Bin 0 -> 583 bytes .../themes/original/img/b_saveimage.png | Bin 0 -> 675 bytes .../themes/original/img/b_sbrowse.png | Bin 0 -> 88 bytes .../themes/original/img/b_search.png | Bin 0 -> 396 bytes .../themes/original/img/b_select.png | Bin 0 -> 339 bytes .../themes/original/img/b_snewtbl.png | Bin .../themes/original/img/b_spatial.png | Bin 0 -> 376 bytes .../themes/original/img/b_sql.png | Bin 0 -> 162 bytes .../themes/original/img/b_sqlhelp.png | Bin 0 -> 141 bytes .../themes/original/img/b_table_add.png | Bin 0 -> 265 bytes .../themes/original/img/b_tblanalyse.png | Bin 0 -> 152 bytes .../themes/original/img/b_tblexport.png | Bin 0 -> 132 bytes .../themes/original/img/b_tblimport.png | Bin 0 -> 127 bytes .../themes/original/img/b_tblops.png | Bin 0 -> 204 bytes .../themes/original/img/b_tbloptimize.png | Bin 0 -> 153 bytes .../themes/original/img/b_tipp.png | Bin 0 -> 163 bytes .../themes/original/img/b_trigger_add.png | Bin 0 -> 555 bytes .../themes/original/img/b_triggers.png | Bin 0 -> 446 bytes .../themes/original/img/b_undo.png | Bin 0 -> 506 bytes .../themes/original/img/b_unique.png | Bin 0 -> 134 bytes .../themes/original/img/b_usradd.png | Bin 0 -> 324 bytes .../themes/original/img/b_usrcheck.png | Bin 0 -> 239 bytes .../themes/original/img/b_usrdrop.png | Bin 0 -> 270 bytes .../themes/original/img/b_usredit.png | Bin 0 -> 309 bytes .../themes/original/img/b_usrlist.png | Bin 0 -> 246 bytes .../themes/original/img/b_versions.png | Bin 0 -> 455 bytes .../themes/original/img/b_view.png | Bin 0 -> 538 bytes .../themes/original/img/b_view_add.png | Bin 0 -> 611 bytes .../themes/original/img/b_views.png | Bin 0 -> 278 bytes .../themes/original/img/bd_browse.png | Bin 0 -> 131 bytes .../themes/original/img/bd_deltbl.png | Bin 0 -> 197 bytes .../themes/original/img/bd_drop.png | Bin 0 -> 151 bytes .../themes/original/img/bd_edit.png | Bin 0 -> 176 bytes .../themes/original/img/bd_empty.png | Bin 0 -> 158 bytes .../themes/original/img/bd_export.png | Bin 0 -> 139 bytes .../themes/original/img/bd_ftext.png | Bin 0 -> 149 bytes .../themes/original/img/bd_index.png | Bin 0 -> 182 bytes .../themes/original/img/bd_insrow.png | Bin 0 -> 163 bytes .../themes/original/img/bd_nextpage.png | Bin 0 -> 94 bytes .../themes/original/img/bd_primary.png | Bin 0 -> 224 bytes .../themes/original/img/bd_routine_add.png | Bin 0 -> 269 bytes .../themes/original/img/bd_sbrowse.png | Bin 0 -> 93 bytes .../themes/original/img/bd_select.png | Bin 0 -> 310 bytes .../themes/original/img/bd_spatial.png | Bin 0 -> 335 bytes .../themes/original/img/bd_unique.png | Bin 0 -> 149 bytes .../themes/original/img/centralColumns.png | Bin 0 -> 586 bytes .../original/img/centralColumns_add.png | Bin 0 -> 676 bytes .../original/img/centralColumns_delete.png | Bin 0 -> 683 bytes .../themes/original/img/cleardot.gif | Bin .../themes/original/img/col_drop.png | Bin 0 -> 111 bytes .../themes/original/img/col_pointer.png | Bin 0 -> 85 bytes .../themes/original/img/col_pointer_ver.png | Bin 0 -> 94 bytes .../themes/original/img/console.png | Bin 0 -> 295 bytes .../themes/original/img/east-mini.png | Bin 0 -> 287 bytes .../themes/original/img/error.ico | Bin .../themes/original/img/eye.png | Bin 0 -> 663 bytes .../themes/original/img/eye_grey.png | Bin 0 -> 287 bytes .../themes/original/img/hide.png | Bin 0 -> 284 bytes .../themes/original/img/lightbulb.png | Bin 0 -> 696 bytes .../themes/original/img/lightbulb_off.png | Bin 0 -> 612 bytes .../themes/original/img/logo_left.png | Bin 0 -> 2713 bytes .../themes/original/img/logo_right.png | Bin 0 -> 4306 bytes .../themes/original/img/more.png | Bin 0 -> 85 bytes .../themes/original/img/new_data.png | Bin 0 -> 260 bytes .../themes/original/img/new_data_hovered.png | Bin 0 -> 260 bytes .../themes/original/img/new_data_selected.png | Bin .../img/new_data_selected_hovered.png | Bin 0 -> 180 bytes .../themes/original/img/new_struct.png | Bin 0 -> 293 bytes .../original/img/new_struct_hovered.png | Bin 0 -> 293 bytes .../original/img/new_struct_selected.png | Bin 0 -> 188 bytes .../img/new_struct_selected_hovered.png | Bin .../themes/original/img/normalize.png | Bin 0 -> 511 bytes .../themes/original/img/north-mini.png | Bin 0 -> 322 bytes .../themes/original/img/pause.png | Bin 0 -> 255 bytes .../themes/original/img/play.png | Bin 0 -> 329 bytes .../themes/original/img/s_asc.png | Bin 0 -> 113 bytes .../themes/original/img/s_asci.png | Bin 0 -> 116 bytes .../themes/original/img/s_attention.png | Bin 0 -> 567 bytes .../themes/original/img/s_cancel.png | Bin 0 -> 272 bytes .../themes/original/img/s_cog.png | Bin 0 -> 194 bytes .../themes/original/img/s_collapseall.png | Bin 0 -> 143 bytes .../themes/original/img/s_db.png | Bin 0 -> 139 bytes .../themes/original/img/s_desc.png | Bin 0 -> 114 bytes .../themes/original/img/s_error.png | Bin 0 -> 137 bytes .../themes/original/img/s_fulltext.png | Bin 0 -> 176 bytes .../themes/original/img/s_host.png | Bin 0 -> 164 bytes .../themes/original/img/s_info.png | Bin 0 -> 116 bytes .../themes/original/img/s_lang.png | Bin 0 -> 253 bytes .../themes/original/img/s_link.png | Bin 0 -> 280 bytes .../themes/original/img/s_lock.png | Bin 0 -> 667 bytes .../themes/original/img/s_loggoff.png | Bin 0 -> 142 bytes .../themes/original/img/s_notice.png | Bin 0 -> 109 bytes .../themes/original/img/s_okay.png | Bin 0 -> 710 bytes .../themes/original/img/s_partialtext.png | Bin 0 -> 178 bytes .../themes/original/img/s_passwd.png | Bin 0 -> 331 bytes .../themes/original/img/s_really.png | Bin 0 -> 128 bytes .../themes/original/img/s_reload.png | Bin 0 -> 233 bytes .../themes/original/img/s_replication.png | Bin 0 -> 399 bytes .../themes/original/img/s_rights.png | Bin 0 -> 329 bytes .../themes/original/img/s_sortable.png | Bin 0 -> 129 bytes .../themes/original/img/s_status.png | Bin 0 -> 151 bytes .../themes/original/img/s_success.png | Bin 0 -> 529 bytes .../themes/original/img/s_sync.png | Bin 0 -> 454 bytes .../themes/original/img/s_tbl.png | Bin 0 -> 99 bytes .../themes/original/img/s_theme.png | Bin 0 -> 488 bytes .../themes/original/img/s_top.png | Bin 0 -> 220 bytes .../themes/original/img/s_unlink.png | Bin 0 -> 589 bytes .../themes/original/img/s_vars.png | Bin 0 -> 150 bytes .../themes/original/img/s_views.png | Bin 0 -> 191 bytes .../themes/original/img/show.png | Bin 0 -> 263 bytes .../themes/original/img/south-mini.png | Bin 0 -> 319 bytes .../themes/original/img/spacer.png | Bin 0 -> 68 bytes .../themes/original/img/toggle-ltr.png | Bin 0 -> 175 bytes .../themes/original/img/toggle-rtl.png | Bin 0 -> 174 bytes .../themes/original/img/vertical_line.png | Bin .../themes/original/img/west-mini.png | Bin 0 -> 300 bytes .../themes/original/img/window-new.png | Bin 0 -> 468 bytes .../themes/original/img/zoom-minus-mini.png | Bin 0 -> 234 bytes .../themes/original/img/zoom-plus-mini.png | Bin 0 -> 320 bytes .../themes/original/img/zoom-world-mini.png | Bin 0 -> 745 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 183 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 73 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 126 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 185 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 122 bytes .../jquery/images/ui-icons_222222_256x240.png | Bin 0 -> 3765 bytes .../jquery/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 3765 bytes .../jquery/images/ui-icons_454545_256x240.png | Bin 0 -> 3765 bytes .../jquery/images/ui-icons_888888_256x240.png | Bin 0 -> 3765 bytes .../jquery/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 3765 bytes .../themes/original/jquery/jquery-ui.css | 0 .../themes/original/layout.inc.php | 0 .../phpmyadmin-4.8/themes/original/screen.png | Bin 0 -> 22511 bytes .../phpmyadmin-4.8/themes/original/theme.json | 8 + .../themes/pmahomme/css/codemirror.css.php | 7 +- .../themes/pmahomme/css/common.css.php | 3686 ++++++ .../themes/pmahomme/css/designer.css.php | 515 + .../themes/pmahomme/css/enum_editor.css.php | 2 +- .../themes/pmahomme/css/gis.css.php | 2 +- .../themes/pmahomme/css/icons.css.php | 185 + .../themes/pmahomme/css/jqplot.css.php | 2 +- .../themes/pmahomme/css/navigation.css.php | 429 + .../themes/pmahomme/css/printview.css | 0 .../pmahomme/css/resizable-menu.css.php | 6 +- .../themes/pmahomme/css/rte.css.php | 3 +- .../themes/pmahomme/img/ajax_clock_small.gif | Bin .../themes/pmahomme/img/arrow_ltr.png | Bin 0 -> 101 bytes .../themes/pmahomme/img/arrow_rtl.png | Bin 0 -> 102 bytes .../themes/pmahomme/img/asc_order.png | Bin 0 -> 146 bytes .../themes/pmahomme/img/b_bookmark.png | Bin 0 -> 637 bytes .../themes/pmahomme/img/b_browse.png | Bin 0 -> 486 bytes .../themes/pmahomme/img/b_calendar.png | Bin 0 -> 595 bytes .../themes/pmahomme/img/b_chart.png | Bin 0 -> 449 bytes .../themes/pmahomme/img/b_close.png | Bin 0 -> 153 bytes .../themes/pmahomme/img/b_column_add.png | Bin 0 -> 431 bytes .../themes/pmahomme/img/b_comment.png | Bin 0 -> 342 bytes .../themes/pmahomme/img/b_dbstatistics.png | Bin 0 -> 449 bytes .../themes/pmahomme/img/b_deltbl.png | Bin 0 -> 577 bytes .../themes/pmahomme/img/b_docs.png | Bin 0 -> 705 bytes .../themes/pmahomme/img/b_docsql.png | Bin 0 -> 133 bytes .../themes/pmahomme/img/b_drop.png | Bin 0 -> 637 bytes .../themes/pmahomme/img/b_edit.png | Bin 0 -> 377 bytes .../themes/pmahomme/img/b_empty.png | Bin 0 -> 521 bytes .../themes/pmahomme/img/b_engine.png | Bin 0 -> 398 bytes .../themes/pmahomme/img/b_event_add.png | Bin 0 -> 765 bytes .../themes/pmahomme/img/b_events.png | Bin 0 -> 703 bytes .../themes/pmahomme/img/b_export.png | Bin 0 -> 514 bytes .../themes/pmahomme/img/b_favorite.png | Bin 0 -> 385 bytes .../themes/pmahomme/img/b_find_replace.png | Bin 0 -> 669 bytes .../themes/pmahomme/img/b_firstpage.png | Bin 0 -> 664 bytes .../themes/pmahomme/img/b_ftext.png | Bin 0 -> 550 bytes .../themes/pmahomme/img/b_globe.gif | Bin .../themes/pmahomme/img/b_group.png | Bin 0 -> 682 bytes .../themes/pmahomme/img/b_help.png | Bin 0 -> 705 bytes .../themes/pmahomme/img/b_home.png | Bin 0 -> 734 bytes .../themes/pmahomme/img/b_import.png | Bin 0 -> 556 bytes .../themes/pmahomme/img/b_index.png | Bin 0 -> 643 bytes .../themes/pmahomme/img/b_index_add.png | Bin 0 -> 725 bytes .../themes/pmahomme/img/b_inline_edit.png | Bin 0 -> 529 bytes .../themes/pmahomme/img/b_insrow.png | Bin 0 -> 157 bytes .../themes/pmahomme/img/b_key.png | Bin 0 -> 294 bytes .../themes/pmahomme/img/b_lastpage.png | Bin 0 -> 661 bytes .../themes/pmahomme/img/b_left.png | Bin 0 -> 114 bytes .../themes/pmahomme/img/b_minus.png | Bin 0 -> 123 bytes .../themes/pmahomme/img/b_more.png | Bin 0 -> 111 bytes .../themes/pmahomme/img/b_move.png | Bin 0 -> 381 bytes .../themes/pmahomme/img/b_newdb.png | Bin 0 -> 585 bytes .../themes/pmahomme/img/b_newtbl.png | Bin 0 -> 232 bytes .../themes/pmahomme/img/b_nextpage.png | Bin 0 -> 329 bytes .../themes/pmahomme/img/b_no_favorite.png | Bin 0 -> 377 bytes .../themes/pmahomme/img/b_pdfdoc.png | Bin 0 -> 506 bytes .../themes/pmahomme/img/b_plugin.png | Bin 0 -> 512 bytes .../themes/pmahomme/img/b_plus.png | Bin 0 -> 143 bytes .../themes/pmahomme/img/b_prevpage.png | Bin 0 -> 331 bytes .../themes/pmahomme/img/b_primary.png | Bin 0 -> 536 bytes .../themes/pmahomme/img/b_print.png | Bin 0 -> 639 bytes .../themes/pmahomme/img/b_props.png | Bin 0 -> 573 bytes .../themes/pmahomme/img/b_relations.png | Bin 0 -> 140 bytes .../themes/pmahomme/img/b_report.png | Bin 0 -> 555 bytes .../themes/pmahomme/img/b_right.png | Bin 0 -> 113 bytes .../themes/pmahomme/img/b_routine_add.png | Bin 0 -> 395 bytes .../themes/pmahomme/img/b_routines.png | Bin 0 -> 306 bytes .../themes/pmahomme/img/b_save.png | Bin 0 -> 547 bytes .../themes/pmahomme/img/b_saveimage.png | Bin 0 -> 675 bytes .../themes/pmahomme/img/b_sbrowse.png | Bin 0 -> 486 bytes .../themes/pmahomme/img/b_sdb.png | Bin 0 -> 114 bytes .../themes/pmahomme/img/b_search.png | Bin 0 -> 538 bytes .../themes/pmahomme/img/b_select.png | Bin 0 -> 593 bytes .../themes/pmahomme/img/b_snewtbl.png | Bin 0 -> 653 bytes .../themes/pmahomme/img/b_spatial.png | Bin 0 -> 376 bytes .../themes/pmahomme/img/b_sql.png | Bin 0 -> 680 bytes .../themes/pmahomme/img/b_sqldoc.png | Bin 0 -> 144 bytes .../themes/pmahomme/img/b_sqlhelp.png | Bin 0 -> 512 bytes .../themes/pmahomme/img/b_table_add.png | Bin 0 -> 571 bytes .../themes/pmahomme/img/b_tblanalyse.png | Bin 0 -> 152 bytes .../themes/pmahomme/img/b_tblexport.png | Bin 0 -> 514 bytes .../themes/pmahomme/img/b_tblimport.png | Bin 0 -> 556 bytes .../themes/pmahomme/img/b_tblops.png | Bin 0 -> 537 bytes .../themes/pmahomme/img/b_tbloptimize.png | Bin 0 -> 153 bytes .../themes/pmahomme/img/b_tipp.png | Bin 0 -> 696 bytes .../themes/pmahomme/img/b_trigger_add.png | Bin 0 -> 555 bytes .../themes/pmahomme/img/b_triggers.png | Bin 0 -> 446 bytes .../themes/pmahomme/img/b_undo.png | Bin 0 -> 506 bytes .../themes/pmahomme/img/b_unique.png | Bin 0 -> 583 bytes .../themes/pmahomme/img/b_usradd.png | Bin 0 -> 670 bytes .../themes/pmahomme/img/b_usrcheck.png | Bin 0 -> 718 bytes .../themes/pmahomme/img/b_usrdrop.png | Bin 0 -> 697 bytes .../themes/pmahomme/img/b_usredit.png | Bin 0 -> 757 bytes .../themes/pmahomme/img/b_usrlist.png | Bin 0 -> 677 bytes .../themes/pmahomme/img/b_versions.png | Bin 0 -> 455 bytes .../themes/pmahomme/img/b_view.png | Bin 0 -> 538 bytes .../themes/pmahomme/img/b_view_add.png | Bin 0 -> 678 bytes .../themes/pmahomme/img/b_views.png | Bin 0 -> 603 bytes .../themes/pmahomme/img/bd_browse.png | Bin 0 -> 271 bytes .../themes/pmahomme/img/bd_deltbl.png | Bin 0 -> 312 bytes .../themes/pmahomme/img/bd_drop.png | Bin 0 -> 340 bytes .../themes/pmahomme/img/bd_edit.png | Bin 0 -> 216 bytes .../themes/pmahomme/img/bd_empty.png | Bin 0 -> 327 bytes .../themes/pmahomme/img/bd_export.png | Bin 0 -> 436 bytes .../themes/pmahomme/img/bd_firstpage.png | Bin 0 -> 405 bytes .../themes/pmahomme/img/bd_ftext.png | Bin 0 -> 286 bytes .../themes/pmahomme/img/bd_index.png | Bin 0 -> 335 bytes .../themes/pmahomme/img/bd_insrow.png | Bin 0 -> 163 bytes .../themes/pmahomme/img/bd_lastpage.png | Bin 0 -> 402 bytes .../themes/pmahomme/img/bd_nextpage.png | Bin 0 -> 195 bytes .../themes/pmahomme/img/bd_prevpage.png | Bin 0 -> 197 bytes .../themes/pmahomme/img/bd_primary.png | Bin 0 -> 294 bytes .../themes/pmahomme/img/bd_routine_add.png | Bin 0 -> 269 bytes .../themes/pmahomme/img/bd_sbrowse.png | Bin 0 -> 271 bytes .../themes/pmahomme/img/bd_select.png | Bin 0 -> 325 bytes .../themes/pmahomme/img/bd_spatial.png | Bin 0 -> 243 bytes .../themes/pmahomme/img/bd_unique.png | Bin 0 -> 308 bytes .../themes/pmahomme/img/centralColumns.png | Bin 0 -> 586 bytes .../pmahomme/img/centralColumns_add.png | Bin 0 -> 676 bytes .../pmahomme/img/centralColumns_delete.png | Bin 0 -> 683 bytes .../themes/pmahomme/img/col_drop.png | Bin 0 -> 111 bytes .../themes/pmahomme/img/col_pointer.png | Bin 0 -> 102 bytes .../themes/pmahomme/img/col_pointer_ver.png | Bin 0 -> 107 bytes .../themes/pmahomme/img/console.png | Bin 0 -> 292 bytes .../themes/pmahomme/img/database.png | Bin 0 -> 328 bytes .../themes/pmahomme/img/designer/1.png | Bin 0 -> 90 bytes .../themes/pmahomme/img/designer/2.png | Bin 0 -> 140 bytes .../pmahomme/img/designer/2leftarrow.png | Bin 0 -> 634 bytes .../pmahomme/img/designer/2leftarrow_m.png | Bin 0 -> 607 bytes .../pmahomme/img/designer/2rightarrow.png | Bin 0 -> 653 bytes .../pmahomme/img/designer/2rightarrow_m.png | Bin 0 -> 626 bytes .../themes/pmahomme/img/designer/3.png | Bin 0 -> 140 bytes .../themes/pmahomme/img/designer/4.png | Bin 0 -> 141 bytes .../themes/pmahomme/img/designer/5.png | Bin 0 -> 83 bytes .../themes/pmahomme/img/designer/6.png | Bin 0 -> 90 bytes .../themes/pmahomme/img/designer/7.png | Bin 0 -> 94 bytes .../themes/pmahomme/img/designer/8.png | Bin 0 -> 81 bytes .../pmahomme/img/designer/FieldKey_small.png | Bin 0 -> 188 bytes .../pmahomme/img/designer/Field_small.png | Bin 0 -> 240 bytes .../img/designer/Field_small_char.png | Bin 0 -> 128 bytes .../img/designer/Field_small_date.png | Bin 0 -> 129 bytes .../pmahomme/img/designer/Field_small_int.png | Bin 0 -> 138 bytes .../themes/pmahomme/img/designer/Header.png | Bin 0 -> 119 bytes .../pmahomme/img/designer/Header_Linked.png | Bin 0 -> 95 bytes .../themes/pmahomme/img/designer/anchor.png | Bin 0 -> 459 bytes .../themes/pmahomme/img/designer/and_icon.png | Bin 0 -> 715 bytes .../pmahomme/img/designer/ang_direct.png | Bin 0 -> 599 bytes .../themes/pmahomme/img/designer/bord.png | Bin 0 -> 75 bytes .../themes/pmahomme/img/designer/bottom.png | Bin 0 -> 646 bytes .../themes/pmahomme/img/designer/def.png | Bin 0 -> 591 bytes .../pmahomme/img/designer/display_field.png | Bin 0 -> 601 bytes .../pmahomme/img/designer/downarrow1.png | Bin 0 -> 671 bytes .../pmahomme/img/designer/downarrow2.png | Bin 0 -> 682 bytes .../pmahomme/img/designer/downarrow2_m.png | Bin 0 -> 638 bytes .../themes/pmahomme/img/designer/exec.png | Bin 0 -> 717 bytes .../pmahomme/img/designer/exec_small.png | Bin 0 -> 149 bytes .../pmahomme/img/designer/exitFullscreen.png | Bin 0 -> 411 bytes .../themes/pmahomme/img/designer/export.png | Bin 0 -> 761 bytes .../themes/pmahomme/img/designer}/favicon.ico | Bin .../themes/pmahomme/img/designer/grid.png | Bin 0 -> 602 bytes .../themes/pmahomme/img/designer/help.png | Bin 0 -> 654 bytes .../pmahomme/img/designer/help_relation.png | Bin 0 -> 851 bytes .../pmahomme/img/designer/left_panel_butt.png | Bin 0 -> 101 bytes .../pmahomme/img/designer/left_panel_tab.png | Bin 0 -> 129 bytes .../themes/pmahomme/img/designer/minus.png | Bin 0 -> 974 bytes .../themes/pmahomme/img/designer/or_icon.png | Bin 0 -> 549 bytes .../pmahomme/img/designer/other_table.png | Bin 0 -> 558 bytes .../themes/pmahomme/img/designer/page_add.png | Bin 0 -> 694 bytes .../pmahomme/img/designer/page_delete.png | Bin 0 -> 698 bytes .../pmahomme/img/designer/page_edit.png | Bin 0 -> 759 bytes .../themes/pmahomme/img/designer/pdf.png | Bin 0 -> 798 bytes .../themes/pmahomme/img/designer/plus.png | Bin 0 -> 930 bytes .../pmahomme/img/designer/query_builder.png | Bin 0 -> 603 bytes .../themes/pmahomme/img/designer/relation.png | Bin 0 -> 242 bytes .../themes/pmahomme/img/designer/reload.png | Bin 0 -> 762 bytes .../themes/pmahomme/img/designer/resize.png | Bin 0 -> 105 bytes .../pmahomme/img/designer/resizeright.png | Bin 0 -> 108 bytes .../pmahomme/img/designer/rightarrow1.png | Bin 0 -> 650 bytes .../pmahomme/img/designer/rightarrow2.png | Bin 0 -> 666 bytes .../themes/pmahomme/img/designer/save.png | Bin 0 -> 402 bytes .../themes/pmahomme/img/designer/save_as.png | Bin 0 -> 424 bytes .../pmahomme/img/designer/small_tab.png | Bin 0 -> 158 bytes .../themes/pmahomme/img/designer/table.png | Bin 0 -> 130 bytes .../pmahomme/img/designer/toggle_lines.png | Bin 0 -> 415 bytes .../pmahomme/img/designer/top_panel.png | Bin 0 -> 125 bytes .../pmahomme/img/designer/uparrow2_m.png | Bin 0 -> 643 bytes .../img/designer/viewInFullscreen.png | Bin 0 -> 449 bytes .../themes/pmahomme/img/east-mini.png | Bin 0 -> 287 bytes .../themes/pmahomme/img/error.ico | Bin .../themes/pmahomme/img/eye.png | Bin 0 -> 663 bytes .../themes/pmahomme/img/eye_grey.png | Bin 0 -> 287 bytes .../themes/pmahomme/img/hide.png | Bin 0 -> 284 bytes .../themes/pmahomme/img/item.png | Bin 0 -> 114 bytes .../themes/pmahomme/img/left_nav_bg.png | Bin 0 -> 146 bytes .../themes/pmahomme/img/lightbulb.png | Bin 0 -> 696 bytes .../themes/pmahomme/img/lightbulb_off.png | Bin 0 -> 612 bytes .../themes/pmahomme/img/logo_left.png | Bin 0 -> 2713 bytes .../themes/pmahomme/img/logo_right.png | Bin 0 -> 4306 bytes .../themes/pmahomme/img/more.png | Bin 0 -> 85 bytes .../themes/pmahomme/img/new_data.png | Bin 0 -> 260 bytes .../themes/pmahomme/img/new_data_hovered.png | Bin 0 -> 260 bytes .../themes/pmahomme/img/new_data_selected.png | Bin .../img/new_data_selected_hovered.png | Bin 0 -> 180 bytes .../themes/pmahomme/img/new_struct.png | Bin 0 -> 293 bytes .../pmahomme/img/new_struct_hovered.png | Bin 0 -> 293 bytes .../pmahomme/img/new_struct_selected.png | Bin 0 -> 188 bytes .../img/new_struct_selected_hovered.png | Bin .../themes/pmahomme/img/normalize.png | Bin 0 -> 505 bytes .../themes/pmahomme/img/north-mini.png | Bin 0 -> 322 bytes .../themes/pmahomme/img/pause.png | Bin 0 -> 255 bytes .../themes/pmahomme/img/php_sym.png | Bin 0 -> 127 bytes .../themes/pmahomme/img/play.png | Bin 0 -> 329 bytes .../themes/pmahomme/img/pma_logo2.png | Bin 0 -> 1366 bytes .../themes/pmahomme/img/s_asc.png | Bin 0 -> 146 bytes .../themes/pmahomme/img/s_asci.png | Bin 0 -> 148 bytes .../themes/pmahomme/img/s_attention.png | Bin 0 -> 567 bytes .../themes/pmahomme/img/s_cancel.png | Bin 0 -> 509 bytes .../themes/pmahomme/img/s_cancel2.png | Bin 0 -> 252 bytes .../themes/pmahomme/img/s_cog.png | Bin 0 -> 442 bytes .../themes/pmahomme/img/s_collapseall.png | Bin 0 -> 143 bytes .../themes/pmahomme/img/s_db.png | Bin 0 -> 328 bytes .../themes/pmahomme/img/s_desc.png | Bin 0 -> 146 bytes .../themes/pmahomme/img/s_error.png | Bin 0 -> 614 bytes .../themes/pmahomme/img/s_fulltext.png | Bin 0 -> 176 bytes .../themes/pmahomme/img/s_host.png | Bin 0 -> 591 bytes .../themes/pmahomme/img/s_info.png | Bin 0 -> 709 bytes .../themes/pmahomme/img/s_lang.png | Bin 0 -> 659 bytes .../themes/pmahomme/img/s_link.png | Bin 0 -> 280 bytes .../themes/pmahomme/img/s_lock.png | Bin 0 -> 667 bytes .../themes/pmahomme/img/s_loggoff.png | Bin 0 -> 626 bytes .../themes/pmahomme/img/s_notice.png | Bin 0 -> 567 bytes .../themes/pmahomme/img/s_okay.png | Bin 0 -> 710 bytes .../themes/pmahomme/img/s_partialtext.png | Bin 0 -> 178 bytes .../themes/pmahomme/img/s_passwd.png | Bin 0 -> 331 bytes .../themes/pmahomme/img/s_process.png | Bin 0 -> 442 bytes .../themes/pmahomme/img/s_really.png | Bin 0 -> 128 bytes .../themes/pmahomme/img/s_reload.png | Bin 0 -> 527 bytes .../themes/pmahomme/img/s_replication.png | Bin 0 -> 399 bytes .../themes/pmahomme/img/s_rights.png | Bin 0 -> 461 bytes .../themes/pmahomme/img/s_sortable.png | Bin 0 -> 204 bytes .../themes/pmahomme/img/s_status.png | Bin 0 -> 600 bytes .../themes/pmahomme/img/s_success.png | Bin 0 -> 465 bytes .../themes/pmahomme/img/s_sync.png | Bin 0 -> 454 bytes .../themes/pmahomme/img/s_tbl.png | Bin 0 -> 645 bytes .../themes/pmahomme/img/s_theme.png | Bin 0 -> 772 bytes .../themes/pmahomme/img/s_top.png | Bin 0 -> 220 bytes .../themes/pmahomme/img/s_unlink.png | Bin 0 -> 589 bytes .../themes/pmahomme/img/s_vars.png | Bin 0 -> 523 bytes .../themes/pmahomme/img/s_views.png | Bin 0 -> 603 bytes .../themes/pmahomme/img/select_bg.png | Bin 0 -> 142 bytes .../themes/pmahomme/img/show.png | Bin 0 -> 263 bytes .../themes/pmahomme/img/south-mini.png | Bin 0 -> 319 bytes .../themes/pmahomme/img/spacer.png | Bin 0 -> 68 bytes .../themes/pmahomme/img/toggle-ltr.png | Bin 0 -> 376 bytes .../themes/pmahomme/img/toggle-rtl.png | Bin 0 -> 377 bytes .../themes/pmahomme/img/vertical_line.png | Bin .../themes/pmahomme/img/west-mini.png | Bin 0 -> 300 bytes .../themes/pmahomme/img/window-new.png | Bin 0 -> 468 bytes .../themes/pmahomme/img/zoom-minus-mini.png | Bin 0 -> 234 bytes .../themes/pmahomme/img/zoom-plus-mini.png | Bin 0 -> 320 bytes .../themes/pmahomme/img/zoom-world-mini.png | Bin 0 -> 745 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 183 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 73 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 126 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 185 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 122 bytes .../jquery/images/ui-icons_222222_256x240.png | Bin 0 -> 3765 bytes .../jquery/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 3765 bytes .../jquery/images/ui-icons_454545_256x240.png | Bin 0 -> 3765 bytes .../jquery/images/ui-icons_888888_256x240.png | Bin 0 -> 3765 bytes .../jquery/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 3765 bytes .../themes/pmahomme/jquery/jquery-ui.css | 0 .../themes/pmahomme/layout.inc.php | 0 .../phpmyadmin-4.8/themes/pmahomme/screen.png | Bin 0 -> 24233 bytes .../phpmyadmin-4.8/themes/pmahomme/theme.json | 9 + .../themes/svg_gradient.php | 0 .../transformation_overview.php | 9 +- .../transformation_wrapper.php | 29 +- .../url.php | 12 +- .../vendor/phpmyadmin-4.8/user_password.php | 73 + .../vendor/phpmyadmin-4.8/vendor/autoload.php | 7 + .../vendor/bacon/bacon-qr-code/.travis.yml | 14 + .../vendor/bacon/bacon-qr-code/LICENSE | 22 + .../vendor/bacon/bacon-qr-code/Module.php | 37 + .../vendor/bacon/bacon-qr-code/README.md | 24 + .../bacon/bacon-qr-code/autoload_classmap.php | 43 + .../bacon/bacon-qr-code/autoload_function.php | 12 + .../bacon/bacon-qr-code/autoload_register.php | 2 + .../vendor/bacon/bacon-qr-code/composer.json | 29 + .../src/BaconQrCode/Common/AbstractEnum.php | 115 + .../src/BaconQrCode/Common/BitArray.php | 435 + .../src/BaconQrCode/Common/BitMatrix.php | 350 + .../src/BaconQrCode/Common/BitUtils.php | 51 + .../BaconQrCode/Common/CharacterSetEci.php | 134 + .../src/BaconQrCode/Common/EcBlock.php | 65 + .../src/BaconQrCode/Common/EcBlocks.php | 101 + .../Common/ErrorCorrectionLevel.php | 62 + .../BaconQrCode/Common/FormatInformation.php | 236 + .../src/BaconQrCode/Common/Mode.php | 70 + .../BaconQrCode/Common/ReedSolomonCodec.php | 476 + .../src/BaconQrCode/Common/Version.php | 687 + .../src/BaconQrCode/Encoder/BlockPair.php | 64 + .../src/BaconQrCode/Encoder/ByteMatrix.php | 158 + .../src/BaconQrCode/Encoder/Encoder.php | 687 + .../src/BaconQrCode/Encoder/MaskUtil.php | 291 + .../src/BaconQrCode/Encoder/MatrixUtil.php | 580 + .../src/BaconQrCode/Encoder/QrCode.php | 201 + .../Exception/ExceptionInterface.php | 14 + .../Exception/InvalidArgumentException.php | 14 + .../Exception/OutOfBoundsException.php | 14 + .../Exception/RuntimeException.php | 14 + .../Exception/UnexpectedValueException.php | 14 + .../BaconQrCode/Exception/WriterException.php | 14 + .../src/BaconQrCode/Renderer/Color/Cmyk.php | 160 + .../Renderer/Color/ColorInterface.php | 37 + .../src/BaconQrCode/Renderer/Color/Gray.php | 84 + .../src/BaconQrCode/Renderer/Color/Rgb.php | 148 + .../Renderer/Image/AbstractRenderer.php | 338 + .../Image/Decorator/DecoratorInterface.php | 63 + .../Image/Decorator/FinderPattern.php | 210 + .../src/BaconQrCode/Renderer/Image/Eps.php | 152 + .../src/BaconQrCode/Renderer/Image/Png.php | 115 + .../Renderer/Image/RendererInterface.php | 61 + .../src/BaconQrCode/Renderer/Image/Svg.php | 146 + .../Renderer/RendererInterface.php | 26 + .../src/BaconQrCode/Renderer/Text/Html.php | 91 + .../src/BaconQrCode/Renderer/Text/Plain.php | 150 + .../bacon-qr-code/src/BaconQrCode/Writer.php | 105 + .../tests/BaconQrCode/Common/BitArrayTest.php | 201 + .../BaconQrCode/Common/BitMatrixTest.php | 119 + .../tests/BaconQrCode/Common/BitUtilsTest.php | 30 + .../Common/ErrorCorrectionLevelTest.php | 40 + .../Common/FormatInformationTest.php | 104 + .../tests/BaconQrCode/Common/ModeTest.php | 42 + .../Common/ReedSolomonCodecTest.php | 111 + .../tests/BaconQrCode/Common/VersionTest.php | 88 + .../tests/BaconQrCode/Encoder/EncoderTest.php | 468 + .../BaconQrCode/Encoder/MaskUtilTest.php | 281 + .../BaconQrCode/Encoder/MatrixUtilTest.php | 336 + .../BaconQrCode/Renderer/Text/HtmlTest.php | 99 + .../BaconQrCode/Renderer/Text/TextTest.php | 149 + .../bacon/bacon-qr-code/tests/bootstrap.php | 10 + .../bacon/bacon-qr-code/tests/phpunit.xml | 11 + .../vendor/bin/highlight-query | 0 .../vendor/bin/lint-query | 0 .../vendor/composer/ClassLoader.php | 46 +- .../phpmyadmin-4.8/vendor/composer/LICENSE | 21 + .../vendor/composer/autoload_classmap.php | 23 + .../vendor/composer/autoload_files.php | 13 + .../vendor/composer/autoload_namespaces.php | 12 + .../vendor/composer/autoload_psr4.php | 27 + .../vendor/composer/autoload_real.php | 70 + .../vendor/composer/autoload_static.php | 175 + .../vendor/composer/installed.json | 1043 ++ .../vendor/google/recaptcha/.travis.yml | 0 .../vendor/google/recaptcha/CONTRIBUTING.md | 0 .../vendor/google/recaptcha/LICENSE | 0 .../vendor/google/recaptcha/README.md | 0 .../vendor/google/recaptcha/composer.json | 0 .../vendor/google/recaptcha/phpunit.xml.dist | 0 .../recaptcha/src/ReCaptcha/ReCaptcha.php | 0 .../recaptcha/src/ReCaptcha/RequestMethod.php | 0 .../src/ReCaptcha/RequestMethod/Curl.php | 0 .../src/ReCaptcha/RequestMethod/CurlPost.php | 0 .../src/ReCaptcha/RequestMethod/Post.php | 0 .../src/ReCaptcha/RequestMethod/Socket.php | 0 .../ReCaptcha/RequestMethod/SocketPost.php | 0 .../src/ReCaptcha/RequestParameters.php | 0 .../recaptcha/src/ReCaptcha/Response.php | 0 .../vendor/google/recaptcha/src/autoload.php | 0 .../constant_time_encoding/.travis.yml | 20 + .../constant_time_encoding/LICENSE.txt | 48 + .../constant_time_encoding/README.md | 74 + .../constant_time_encoding/composer.json | 41 + .../constant_time_encoding/phpunit.xml.dist | 24 + .../constant_time_encoding/psalm.xml | 11 + .../constant_time_encoding/src/Base32.php | 443 + .../constant_time_encoding/src/Base32Hex.php | 110 + .../constant_time_encoding/src/Base64.php | 241 + .../src/Base64DotSlash.php | 87 + .../src/Base64DotSlashOrdered.php | 81 + .../src/Base64UrlSafe.php | 94 + .../constant_time_encoding/src/Binary.php | 97 + .../src/EncoderInterface.php | 50 + .../constant_time_encoding/src/Encoding.php | 260 + .../constant_time_encoding/src/Hex.php | 150 + .../constant_time_encoding/src/RFC4648.php | 174 + .../tests/Base32HexTest.php | 32 + .../tests/Base32Test.php | 32 + .../tests/Base64DotSlashOrderedTest.php | 24 + .../tests/Base64DotSlashTest.php | 24 + .../tests/Base64Test.php | 83 + .../tests/Base64UrlSafeTest.php | 29 + .../tests/EncodingTest.php | 307 + .../constant_time_encoding/tests/HexTest.php | 39 + .../tests/RFC4648Test.php | 84 + .../constant_time_encoding/tests/autoload.php | 6 + .../vendor/paragonie/random_compat/LICENSE | 22 + .../paragonie/random_compat/build-phar.sh | 5 + .../paragonie/random_compat/composer.json | 37 + .../dist/random_compat.phar.pubkey | 5 + .../dist/random_compat.phar.pubkey.asc | 11 + .../random_compat/lib/byte_safe_strings.php | 181 + .../random_compat/lib/cast_to_int.php | 75 + .../random_compat/lib/error_polyfill.php | 49 + .../paragonie/random_compat/lib/random.php | 225 + .../lib/random_bytes_com_dotnet.php | 88 + .../lib/random_bytes_dev_urandom.php | 167 + .../lib/random_bytes_libsodium.php | 88 + .../lib/random_bytes_libsodium_legacy.php | 92 + .../random_compat/lib/random_bytes_mcrypt.php | 77 + .../random_compat/lib/random_int.php | 190 + .../random_compat/other/build_phar.php | 57 + .../random_compat/psalm-autoload.php | 9 + .../vendor/paragonie/random_compat/psalm.xml | 18 + .../phpmyadmin/motranslator/.github/stale.yml | 23 + .../vendor/phpmyadmin/motranslator/CHANGES.md | 86 + .../phpmyadmin/motranslator/CONTRIBUTING.md | 42 + .../vendor/phpmyadmin/motranslator/LICENSE | 0 .../phpmyadmin/motranslator/PERFORMANCE.md | 0 .../vendor/phpmyadmin/motranslator/README.md | 147 + .../phpmyadmin/motranslator/codecov.yml | 0 .../phpmyadmin/motranslator/composer.json | 37 + .../phpmyadmin/motranslator/phpunit.xml | 32 + .../phpmyadmin/motranslator/src/Loader.php | 247 + .../motranslator/src/ReaderException.php | 0 .../motranslator/src/StringReader.php | 9 +- .../motranslator/src/Translator.php | 63 +- .../phpmyadmin/motranslator/src/functions.php | 10 +- .../vendor/phpmyadmin/shapefile/CHANGELOG.md | 80 + .../phpmyadmin/shapefile/CONTRIBUTING.md | 42 + .../vendor/phpmyadmin/shapefile/LICENSE | 0 .../vendor/phpmyadmin/shapefile/README.md | 57 + .../vendor/phpmyadmin/shapefile/codecov.yml | 0 .../vendor/phpmyadmin/shapefile/composer.json | 33 + .../vendor/phpmyadmin/shapefile}/phpunit.xml | 0 .../phpmyadmin/shapefile/src/ShapeFile.php | 10 +- .../phpmyadmin/shapefile/src/ShapeRecord.php | 0 .../vendor/phpmyadmin/shapefile/src/Util.php | 118 + .../phpmyadmin/sql-parser/.github/stale.yml | 23 + .../vendor/phpmyadmin/sql-parser/.weblate | 0 .../vendor/phpmyadmin/sql-parser/CHANGELOG.md | 313 + .../phpmyadmin/sql-parser/CONTRIBUTING.md | 54 + .../vendor/phpmyadmin/sql-parser/LICENSE.txt | 0 .../vendor/phpmyadmin/sql-parser/README.md | 124 + .../phpmyadmin/sql-parser/bin/highlight-query | 0 .../phpmyadmin/sql-parser/bin/lint-query | 0 .../phpmyadmin/sql-parser/bin/tokenize-query | 29 + .../vendor/phpmyadmin/sql-parser/codecov.yml | 0 .../phpmyadmin/sql-parser/composer.json | 47 + .../locale/af/LC_MESSAGES/sqlparser.mo | Bin 0 -> 530 bytes .../locale/ar/LC_MESSAGES/sqlparser.mo | Bin 0 -> 5150 bytes .../locale/ast/LC_MESSAGES/sqlparser.mo | Bin 0 -> 3308 bytes .../locale/az/LC_MESSAGES/sqlparser.mo | Bin 0 -> 3495 bytes .../locale/be/LC_MESSAGES/sqlparser.mo | Bin 0 -> 5583 bytes .../locale/be@latin/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4644 bytes .../locale/bg/LC_MESSAGES/sqlparser.mo | Bin 0 -> 970 bytes .../locale/bn/LC_MESSAGES/sqlparser.mo | Bin 0 -> 528 bytes .../locale/br/LC_MESSAGES/sqlparser.mo | Bin 0 -> 526 bytes .../locale/brx/LC_MESSAGES/sqlparser.mo | Bin 0 -> 529 bytes .../locale/bs/LC_MESSAGES/sqlparser.mo | Bin 0 -> 602 bytes .../locale/ca/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4539 bytes .../locale/ckb/LC_MESSAGES/sqlparser.mo | Bin 0 -> 533 bytes .../locale/cs/LC_MESSAGES/sqlparser.mo | Bin 0 -> 810 bytes .../locale/cy/LC_MESSAGES/sqlparser.mo | Bin 0 -> 585 bytes .../locale/da/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4474 bytes .../locale/de/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4667 bytes .../locale/el/LC_MESSAGES/sqlparser.mo | Bin 0 -> 5842 bytes .../locale/en_GB/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4438 bytes .../locale/eo/LC_MESSAGES/sqlparser.mo | Bin 0 -> 573 bytes .../locale/es/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4645 bytes .../locale/et/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4285 bytes .../locale/eu/LC_MESSAGES/sqlparser.mo | Bin 0 -> 527 bytes .../locale/fa/LC_MESSAGES/sqlparser.mo | Bin 0 -> 528 bytes .../locale/fi/LC_MESSAGES/sqlparser.mo | Bin 0 -> 2354 bytes .../locale/fr/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4715 bytes .../locale/fy/LC_MESSAGES/sqlparser.mo | Bin 0 -> 541 bytes .../locale/gl/LC_MESSAGES/sqlparser.mo | Bin 0 -> 529 bytes .../locale/gu/LC_MESSAGES/sqlparser.mo | Bin 0 -> 534 bytes .../locale/he/LC_MESSAGES/sqlparser.mo | Bin 0 -> 530 bytes .../locale/hi/LC_MESSAGES/sqlparser.mo | Bin 0 -> 526 bytes .../locale/hr/LC_MESSAGES/sqlparser.mo | Bin 0 -> 603 bytes .../locale/hu/LC_MESSAGES/sqlparser.mo | Bin 0 -> 3655 bytes .../locale/hy/LC_MESSAGES/sqlparser.mo | Bin 0 -> 1700 bytes .../locale/ia/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4711 bytes .../locale/id/LC_MESSAGES/sqlparser.mo | Bin 0 -> 864 bytes .../locale/it/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4698 bytes .../locale/ja/LC_MESSAGES/sqlparser.mo | Bin 0 -> 3723 bytes .../locale/ka/LC_MESSAGES/sqlparser.mo | Bin 0 -> 524 bytes .../locale/kk/LC_MESSAGES/sqlparser.mo | Bin 0 -> 527 bytes .../locale/km/LC_MESSAGES/sqlparser.mo | Bin 0 -> 620 bytes .../locale/kn/LC_MESSAGES/sqlparser.mo | Bin 0 -> 540 bytes .../locale/ko/LC_MESSAGES/sqlparser.mo | Bin 0 -> 1861 bytes .../locale/ksh/LC_MESSAGES/sqlparser.mo | Bin 0 -> 539 bytes .../locale/ky/LC_MESSAGES/sqlparser.mo | Bin 0 -> 527 bytes .../locale/li/LC_MESSAGES/sqlparser.mo | Bin 0 -> 546 bytes .../locale/lt/LC_MESSAGES/sqlparser.mo | Bin 0 -> 594 bytes .../locale/lv/LC_MESSAGES/sqlparser.mo | Bin 0 -> 568 bytes .../locale/mk/LC_MESSAGES/sqlparser.mo | Bin 0 -> 548 bytes .../locale/ml/LC_MESSAGES/sqlparser.mo | Bin 0 -> 530 bytes .../locale/mn/LC_MESSAGES/sqlparser.mo | Bin 0 -> 770 bytes .../locale/ms/LC_MESSAGES/sqlparser.mo | Bin 0 -> 521 bytes .../locale/nb/LC_MESSAGES/sqlparser.mo | Bin 0 -> 1040 bytes .../locale/ne/LC_MESSAGES/sqlparser.mo | Bin 0 -> 527 bytes .../locale/nl/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4586 bytes .../locale/pa/LC_MESSAGES/sqlparser.mo | Bin 0 -> 527 bytes .../locale/pl/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4575 bytes .../locale/pt/LC_MESSAGES/sqlparser.mo | Bin 0 -> 676 bytes .../locale/pt_BR/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4713 bytes .../locale/ro/LC_MESSAGES/sqlparser.mo | Bin 0 -> 3248 bytes .../locale/ru/LC_MESSAGES/sqlparser.mo | Bin 0 -> 5702 bytes .../locale/si/LC_MESSAGES/sqlparser.mo | Bin 0 -> 540 bytes .../locale/sk/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4537 bytes .../locale/sl/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4575 bytes .../locale/sq/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4518 bytes .../sql-parser/locale/sqlparser.pot | 217 + .../locale/sr/LC_MESSAGES/sqlparser.mo | Bin 0 -> 602 bytes .../locale/sr@latin/LC_MESSAGES/sqlparser.mo | Bin 0 -> 624 bytes .../locale/sv/LC_MESSAGES/sqlparser.mo | Bin 0 -> 3254 bytes .../locale/ta/LC_MESSAGES/sqlparser.mo | Bin 0 -> 766 bytes .../locale/te/LC_MESSAGES/sqlparser.mo | Bin 0 -> 1092 bytes .../locale/th/LC_MESSAGES/sqlparser.mo | Bin 0 -> 5401 bytes .../locale/tk/LC_MESSAGES/sqlparser.mo | Bin 0 -> 527 bytes .../locale/tr/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4583 bytes .../locale/tt/LC_MESSAGES/sqlparser.mo | Bin 0 -> 521 bytes .../locale/ug/LC_MESSAGES/sqlparser.mo | Bin 0 -> 522 bytes .../locale/uk/LC_MESSAGES/sqlparser.mo | Bin 0 -> 5750 bytes .../locale/ur/LC_MESSAGES/sqlparser.mo | Bin 0 -> 527 bytes .../locale/uz/LC_MESSAGES/sqlparser.mo | Bin 0 -> 527 bytes .../locale/uz@latin/LC_MESSAGES/sqlparser.mo | Bin 0 -> 541 bytes .../locale/vi/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4276 bytes .../locale/vls/LC_MESSAGES/sqlparser.mo | Bin 0 -> 548 bytes .../locale/zh_CN/LC_MESSAGES/sqlparser.mo | Bin 0 -> 666 bytes .../locale/zh_TW/LC_MESSAGES/sqlparser.mo | Bin 0 -> 4323 bytes .../vendor/phpmyadmin/sql-parser/phpunit.xml | 0 .../phpmyadmin/sql-parser/src/Component.php | 0 .../src/Components/AlterOperation.php | 17 + .../sql-parser/src/Components/Array2d.php | 0 .../sql-parser/src/Components/ArrayObj.php | 0 .../src/Components/CaseExpression.php | 11 +- .../sql-parser/src/Components/Condition.php | 0 .../src/Components/CreateDefinition.php | 4 + .../sql-parser/src/Components/DataType.php | 0 .../sql-parser/src/Components/Expression.php | 447 + .../src/Components/ExpressionArray.php | 0 .../src/Components/FunctionCall.php | 0 .../src/Components/GroupKeyword.php | 131 + .../sql-parser/src/Components/IntoKeyword.php | 28 +- .../sql-parser/src/Components/JoinKeyword.php | 18 + .../sql-parser/src/Components/Key.php | 0 .../sql-parser/src/Components/Limit.php | 0 .../src/Components/OptionsArray.php | 0 .../src/Components/OrderKeyword.php | 0 .../src/Components/ParameterDefinition.php | 14 + .../src/Components/PartitionDefinition.php | 2 +- .../sql-parser/src/Components/Reference.php | 0 .../src/Components/RenameOperation.php | 12 + .../src/Components/SetOperation.php | 12 + .../src/Components/UnionKeyword.php | 0 .../phpmyadmin/sql-parser/src/Context.php | 567 + .../src/Contexts/ContextMariaDb100000.php | 316 + .../src/Contexts/ContextMariaDb100100.php | 365 + .../src/Contexts/ContextMariaDb100200.php | 365 + .../src/Contexts/ContextMariaDb100300.php | 365 + .../src/Contexts/ContextMySql50000.php | 9 +- .../src/Contexts/ContextMySql50100.php | 5 +- .../src/Contexts/ContextMySql50500.php | 5 +- .../src/Contexts/ContextMySql50600.php | 5 +- .../src/Contexts/ContextMySql50700.php | 85 +- .../src/Contexts/ContextMySql80000.php | 365 + .../vendor/phpmyadmin/sql-parser/src/Core.php | 0 .../src/Exceptions/LexerException.php | 0 .../src/Exceptions/LoaderException.php | 39 + .../src/Exceptions/ParserException.php | 0 .../phpmyadmin/sql-parser/src/Lexer.php | 943 ++ .../phpmyadmin/sql-parser/src/Parser.php | 584 + .../phpmyadmin/sql-parser/src/Statement.php | 22 +- .../src/Statements/AlterStatement.php | 0 .../src/Statements/AnalyzeStatement.php | 0 .../src/Statements/BackupStatement.php | 0 .../src/Statements/CallStatement.php | 0 .../src/Statements/CheckStatement.php | 0 .../src/Statements/ChecksumStatement.php | 0 .../src/Statements/CreateStatement.php | 5 +- .../src/Statements/DeleteStatement.php | 20 + .../src/Statements/DropStatement.php | 0 .../src/Statements/ExplainStatement.php | 0 .../src/Statements/InsertStatement.php | 0 .../src/Statements/LoadStatement.php | 58 +- .../src/Statements/MaintenanceStatement.php | 0 .../Statements/NotImplementedStatement.php | 0 .../src/Statements/OptimizeStatement.php | 0 .../src/Statements/RenameStatement.php | 0 .../src/Statements/RepairStatement.php | 0 .../src/Statements/ReplaceStatement.php | 0 .../src/Statements/RestoreStatement.php | 0 .../src/Statements/SelectStatement.php | 2 + .../src/Statements/SetStatement.php | 0 .../src/Statements/ShowStatement.php | 0 .../src/Statements/TransactionStatement.php | 0 .../src/Statements/TruncateStatement.php | 0 .../src/Statements/UpdateStatement.php | 0 .../phpmyadmin/sql-parser/src/Token.php | 338 + .../phpmyadmin/sql-parser/src/TokensList.php | 0 .../phpmyadmin/sql-parser/src/Translator.php | 0 .../phpmyadmin/sql-parser/src/UtfString.php | 8 +- .../sql-parser/src/Utils/BufferedQuery.php | 8 +- .../phpmyadmin/sql-parser/src/Utils/CLI.php | 187 + .../phpmyadmin/sql-parser/src/Utils/Error.php | 0 .../sql-parser/src/Utils/Formatter.php | 671 + .../phpmyadmin/sql-parser/src/Utils/Misc.php | 0 .../phpmyadmin/sql-parser/src/Utils/Query.php | 7 +- .../sql-parser/src/Utils/Routine.php | 0 .../phpmyadmin/sql-parser/src/Utils/Table.php | 0 .../sql-parser/src/Utils/Tokens.php | 0 .../vendor/phpseclib/phpseclib/AUTHORS | 0 .../vendor/phpseclib/phpseclib/LICENSE | 0 .../vendor/phpseclib/phpseclib/README.md | 74 + .../vendor/phpseclib/phpseclib/composer.json | 76 + .../phpseclib/phpseclib/Crypt/AES.php | 0 .../phpseclib/phpseclib/Crypt/Base.php | 2598 ++++ .../phpseclib/phpseclib/Crypt/Random.php | 8 +- .../phpseclib/phpseclib/Crypt/Rijndael.php | 0 .../phpseclib/phpseclib/bootstrap.php | 0 .../phpseclib/phpseclib/phpseclib/openssl.cnf | 0 .../pragmarx/google2fa/.scrutinizer.yml | 40 + .../vendor/pragmarx/google2fa/.travis.yml | 33 + .../vendor/pragmarx/google2fa/LICENSE.md | 7 + .../vendor/pragmarx/google2fa/README.md | 276 + .../vendor/pragmarx/google2fa/RELICENSED.md | 29 + .../vendor/pragmarx/google2fa/changelog.md | 69 + .../vendor/pragmarx/google2fa/composer.json | 40 + .../vendor/pragmarx/google2fa/composer.lock | 1742 +++ .../pragmarx/google2fa/docs/playground.jpg | Bin 0 -> 102734 bytes .../vendor/pragmarx/google2fa/phpunit.xml | 34 + ...atibleWithGoogleAuthenticatorException.php | 10 + .../src/Exceptions/InsecureCallException.php | 10 + .../Exceptions/InvalidCharactersException.php | 10 + .../Exceptions/SecretKeyTooShortException.php | 10 + .../pragmarx/google2fa/src/Google2FA.php | 354 + .../pragmarx/google2fa/src/Support/Base32.php | 135 + .../google2fa/src/Support/Constants.php | 21 + .../pragmarx/google2fa/src/Support/QRCode.php | 91 + .../pragmarx/google2fa/src/Support/Url.php | 16 + .../vendor/pragmarx/google2fa/tests/.gitkeep} | 0 .../pragmarx/google2fa/tests/Constants.php | 20 + .../google2fa/tests/Google2FATest.php | 224 + .../pragmarx/google2fa/tests/bootstrap.php | 42 + .../vendor/pragmarx/google2fa/upgrading.md | 2 + .../vendor/psr/container/LICENSE | 21 + .../vendor/psr/container/README.md | 5 + .../vendor/psr/container/composer.json | 27 + .../src/ContainerExceptionInterface.php | 13 + .../psr/container/src/ContainerInterface.php | 37 + .../src/NotFoundExceptionInterface.php | 13 + .../vendor/samyoul/u2f-php-server/LICENCE.md | 25 + .../vendor/samyoul/u2f-php-server/README.md | 450 + .../samyoul/u2f-php-server/composer.json | 17 + .../u2f-php-server/src/Registration.php | 81 + .../src/RegistrationRequest.php | 56 + .../u2f-php-server/src/SignRequest.php | 75 + .../u2f-php-server/src/U2FException.php | 60 + .../samyoul/u2f-php-server/src/U2FServer.php | 428 + .../symfony/expression-language/CHANGELOG.md | 0 .../symfony/expression-language/Compiler.php | 146 + .../expression-language/Expression.php | 40 + .../ExpressionFunction.php | 4 +- .../ExpressionFunctionProviderInterface.php | 0 .../ExpressionLanguage.php | 31 +- .../symfony/expression-language/LICENSE | 19 + .../symfony/expression-language/Lexer.php | 103 + .../Node/ArgumentsNode.php | 27 + .../expression-language/Node/ArrayNode.php | 88 + .../expression-language/Node/BinaryNode.php | 5 - .../Node/ConditionalNode.php | 5 - .../expression-language/Node/ConstantNode.php | 40 + .../expression-language/Node/FunctionNode.php | 15 - .../expression-language/Node/GetAttrNode.php | 19 +- .../expression-language/Node/NameNode.php | 5 - .../symfony/expression-language/Node/Node.php | 76 + .../expression-language/Node/UnaryNode.php | 5 - .../expression-language/ParsedExpression.php | 2 - .../symfony/expression-language/Parser.php | 384 + .../ParserCache/ArrayParserCache.php | 38 + .../ParserCache/ParserCacheInterface.php | 4 - .../symfony/expression-language/README.md | 0 .../SerializedParsedExpression.php | 2 - .../expression-language/SyntaxError.php | 26 + .../symfony/expression-language/Token.php | 66 + .../expression-language/TokenStream.php | 97 + .../symfony/expression-language/composer.json | 33 + .../expression-language/phpunit.xml.dist | 30 + .../vendor/symfony/polyfill-mbstring/LICENSE | 19 + .../symfony/polyfill-mbstring/Mbstring.php | 167 +- .../symfony/polyfill-mbstring/README.md | 0 .../Resources/unidata/lowerCase.php | 0 .../Resources/unidata/upperCase.php | 0 .../symfony/polyfill-mbstring/bootstrap.php | 58 + .../symfony/polyfill-mbstring/composer.json | 34 + .../vendor/symfony/polyfill-php56/LICENSE | 19 + .../vendor/symfony/polyfill-php56/Php56.php | 138 + .../vendor/symfony/polyfill-php56/README.md | 15 + .../symfony/polyfill-php56/bootstrap.php | 38 + .../symfony/polyfill-php56/composer.json | 32 + .../vendor/symfony/polyfill-util/Binary.php | 18 + .../polyfill-util/BinaryNoFuncOverload.php | 65 + .../polyfill-util/BinaryOnFuncOverload.php | 67 + .../vendor/symfony/polyfill-util/LICENSE | 19 + .../polyfill-util/LegacyTestListener.php | 84 + .../vendor/symfony/polyfill-util/README.md | 13 + .../symfony/polyfill-util/TestListener.php | 96 + .../polyfill-util/TestListenerTrait.php | 107 + .../symfony/polyfill-util/composer.json | 30 + .../vendor/tecnickcom/tcpdf/CHANGELOG.TXT | 6 + .../vendor/tecnickcom/tcpdf/LICENSE.TXT | 0 .../vendor/tecnickcom/tcpdf/README.md | 84 + .../vendor/tecnickcom/tcpdf/composer.json | 47 + .../tecnickcom/tcpdf/config/tcpdf_config.php | 0 .../tcpdf/fonts/dejavu-fonts-ttf-2.34/AUTHORS | 0 .../tcpdf/fonts/dejavu-fonts-ttf-2.34/BUGS | 0 .../tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE | 0 .../tcpdf/fonts/dejavu-fonts-ttf-2.34/NEWS | 0 .../tcpdf/fonts/dejavu-fonts-ttf-2.34/README | 0 .../fonts/dejavu-fonts-ttf-2.34/langcover.txt | 0 .../fonts/dejavu-fonts-ttf-2.34/status.txt | 0 .../fonts/dejavu-fonts-ttf-2.34/unicover.txt | 0 .../tecnickcom/tcpdf/fonts/dejavusans.ctg.z | Bin .../tecnickcom/tcpdf/fonts/dejavusans.php | 0 .../tecnickcom/tcpdf/fonts/dejavusans.z | Bin .../tecnickcom/tcpdf/fonts/dejavusansb.ctg.z | Bin .../tecnickcom/tcpdf/fonts/dejavusansb.php | 0 .../tecnickcom/tcpdf/fonts/dejavusansb.z | Bin .../tecnickcom/tcpdf/fonts/helvetica.php | 0 .../tcpdf/include/barcodes/datamatrix.php | 0 .../tcpdf/include/barcodes/pdf417.php | 20 +- .../tcpdf/include/barcodes/qrcode.php | 0 .../tecnickcom/tcpdf/include/tcpdf_colors.php | 0 .../tcpdf/include/tcpdf_filters.php | 0 .../tcpdf/include/tcpdf_font_data.php | 0 .../tecnickcom/tcpdf/include/tcpdf_fonts.php | 2 +- .../tecnickcom/tcpdf/include/tcpdf_images.php | 0 .../tecnickcom/tcpdf/include/tcpdf_static.php | 4 +- .../vendor/tecnickcom/tcpdf/tcpdf.php | 60 +- .../tecnickcom/tcpdf/tcpdf_autoconfig.php | 0 .../tecnickcom/tcpdf/tcpdf_barcodes_1d.php | 0 .../tecnickcom/tcpdf/tcpdf_barcodes_2d.php | 0 .../vendor/tecnickcom/tcpdf/tcpdf_import.php | 0 .../vendor/tecnickcom/tcpdf/tcpdf_parser.php | 0 .../vendor/twig/extensions/.travis.yml | 31 + .../vendor/twig/extensions/LICENSE | 19 + .../vendor/twig/extensions/README.rst | 14 + .../vendor/twig/extensions/composer.json | 33 + .../lib/Twig/Extensions/Autoloader.php | 48 + .../lib/Twig/Extensions/Extension/Array.php | 56 + .../lib/Twig/Extensions/Extension/Date.php | 101 + .../lib/Twig/Extensions/Extension/I18n.php | 41 + .../lib/Twig/Extensions/Extension/Intl.php | 133 + .../lib/Twig/Extensions/Extension/Text.php | 99 + .../lib/Twig/Extensions/Grammar.php | 43 + .../lib/Twig/Extensions/Grammar/Arguments.php | 26 + .../lib/Twig/Extensions/Grammar/Array.php | 26 + .../lib/Twig/Extensions/Grammar/Body.php | 43 + .../lib/Twig/Extensions/Grammar/Boolean.php | 28 + .../lib/Twig/Extensions/Grammar/Constant.php | 41 + .../Twig/Extensions/Grammar/Expression.php | 26 + .../lib/Twig/Extensions/Grammar/Hash.php | 26 + .../lib/Twig/Extensions/Grammar/Number.php | 28 + .../lib/Twig/Extensions/Grammar/Optional.php | 73 + .../lib/Twig/Extensions/Grammar/Switch.php | 28 + .../lib/Twig/Extensions/Grammar/Tag.php | 60 + .../lib/Twig/Extensions/GrammarInterface.php | 22 + .../lib/Twig/Extensions/Node/Trans.php | 166 + .../lib/Twig/Extensions/SimpleTokenParser.php | 138 + .../lib/Twig/Extensions/TokenParser/Trans.php | 88 + .../vendor/twig/extensions/phpunit.xml.dist | 25 + .../twig/extensions/src/ArrayExtension.php | 11 + .../twig/extensions/src/DateExtension.php | 11 + .../twig/extensions/src/I18nExtension.php | 11 + .../twig/extensions/src/IntlExtension.php | 11 + .../twig/extensions/src/Node/TransNode.php | 11 + .../twig/extensions/src/TextExtension.php | 11 + .../src/TokenParser/TransTokenParser.php | 11 + .../vendor/twig/twig/.editorconfig | 18 + .../vendor/twig/twig/.php_cs.dist | 16 + .../vendor/twig/twig/.travis.yml | 54 + .../phpmyadmin-4.8/vendor/twig/twig/CHANGELOG | 1003 ++ .../phpmyadmin-4.8/vendor/twig/twig/LICENSE | 31 + .../vendor/twig/twig/README.rst | 15 + .../vendor/twig/twig/composer.json | 50 + .../vendor/twig/twig/ext/twig/config.m4 | 8 + .../vendor/twig/twig/ext/twig/config.w32 | 8 + .../vendor/twig/twig/ext/twig/php_twig.h | 35 + .../vendor/twig/twig/ext/twig/twig.c | 1217 ++ .../vendor/twig/twig/lib/Twig/Autoloader.php | 54 + .../twig/twig/lib/Twig/BaseNodeVisitor.php | 54 + .../twig/twig/lib/Twig/Cache/Filesystem.php | 93 + .../vendor/twig/twig/lib/Twig/Cache/Null.php | 40 + .../twig/twig/lib/Twig/CacheInterface.php | 58 + .../vendor/twig/twig/lib/Twig/Compiler.php | 286 + .../twig/twig/lib/Twig/CompilerInterface.php | 34 + .../twig/lib/Twig/ContainerRuntimeLoader.php | 39 + .../vendor/twig/twig/lib/Twig/Environment.php | 1604 +++ .../vendor/twig/twig/lib/Twig/Error.php | 363 + .../twig/twig/lib/Twig/Error/Loader.php | 40 + .../twig/twig/lib/Twig/Error/Runtime.php | 22 + .../twig/twig/lib/Twig/Error/Syntax.php | 55 + .../twig/lib/Twig/ExistsLoaderInterface.php | 31 + .../twig/twig/lib/Twig/ExpressionParser.php | 744 ++ .../vendor/twig/twig/lib/Twig/Extension.php | 69 + .../twig/twig/lib/Twig/Extension/Core.php | 1628 +++ .../twig/twig/lib/Twig/Extension/Debug.php | 67 + .../twig/twig/lib/Twig/Extension/Escaper.php | 112 + .../lib/Twig/Extension/GlobalsInterface.php | 24 + .../Twig/Extension/InitRuntimeInterface.php | 24 + .../twig/lib/Twig/Extension/Optimizer.php | 35 + .../twig/twig/lib/Twig/Extension/Profiler.php | 49 + .../twig/twig/lib/Twig/Extension/Sandbox.php | 103 + .../twig/twig/lib/Twig/Extension/Staging.php | 112 + .../twig/lib/Twig/Extension/StringLoader.php | 47 + .../twig/twig/lib/Twig/ExtensionInterface.php | 90 + .../twig/lib/Twig/FactoryRuntimeLoader.php | 39 + .../Twig/FileExtensionEscapingStrategy.php | 60 + .../vendor/twig/twig/lib/Twig/Filter.php | 84 + .../twig/twig/lib/Twig/Filter/Function.php | 40 + .../twig/twig/lib/Twig/Filter/Method.php | 42 + .../vendor/twig/twig/lib/Twig/Filter/Node.php | 42 + .../twig/lib/Twig/FilterCallableInterface.php | 24 + .../twig/twig/lib/Twig/FilterInterface.php | 43 + .../vendor/twig/twig/lib/Twig/Function.php | 74 + .../twig/twig/lib/Twig/Function/Function.php | 41 + .../twig/twig/lib/Twig/Function/Method.php | 43 + .../twig/twig/lib/Twig/Function/Node.php | 42 + .../lib/Twig/FunctionCallableInterface.php | 24 + .../twig/twig/lib/Twig/FunctionInterface.php | 40 + .../vendor/twig/twig/lib/Twig/Lexer.php | 427 + .../twig/twig/lib/Twig/LexerInterface.php | 32 + .../twig/twig/lib/Twig/Loader/Array.php | 97 + .../twig/twig/lib/Twig/Loader/Chain.php | 151 + .../twig/twig/lib/Twig/Loader/Filesystem.php | 290 + .../twig/twig/lib/Twig/Loader/String.php | 58 + .../twig/twig/lib/Twig/LoaderInterface.php | 57 + .../vendor/twig/twig/lib/Twig/Markup.php | 39 + .../vendor/twig/twig/lib/Twig/Node.php | 256 + .../twig/twig/lib/Twig/Node/AutoEscape.php | 36 + .../vendor/twig/twig/lib/Twig/Node/Block.php | 41 + .../twig/lib/Twig/Node/BlockReference.php | 34 + .../vendor/twig/twig/lib/Twig/Node/Body.php | 21 + .../twig/twig/lib/Twig/Node/CheckSecurity.php | 80 + .../vendor/twig/twig/lib/Twig/Node/Do.php | 35 + .../vendor/twig/twig/lib/Twig/Node/Embed.php | 46 + .../twig/twig/lib/Twig/Node/Expression.php | 22 + .../twig/lib/Twig/Node/Expression/Array.php | 83 + .../lib/Twig/Node/Expression/AssignName.php | 25 + .../twig/lib/Twig/Node/Expression/Binary.php | 37 + .../lib/Twig/Node/Expression/Binary/Add.php | 20 + .../lib/Twig/Node/Expression/Binary/And.php | 20 + .../Node/Expression/Binary/BitwiseAnd.php | 20 + .../Twig/Node/Expression/Binary/BitwiseOr.php | 20 + .../Node/Expression/Binary/BitwiseXor.php | 20 + .../Twig/Node/Expression/Binary/Concat.php | 20 + .../lib/Twig/Node/Expression/Binary/Div.php | 20 + .../Twig/Node/Expression/Binary/EndsWith.php | 32 + .../lib/Twig/Node/Expression/Binary/Equal.php | 19 + .../Twig/Node/Expression/Binary/FloorDiv.php | 26 + .../Twig/Node/Expression/Binary/Greater.php | 19 + .../Node/Expression/Binary/GreaterEqual.php | 19 + .../lib/Twig/Node/Expression/Binary/In.php | 30 + .../lib/Twig/Node/Expression/Binary/Less.php | 19 + .../Twig/Node/Expression/Binary/LessEqual.php | 19 + .../Twig/Node/Expression/Binary/Matches.php | 30 + .../lib/Twig/Node/Expression/Binary/Mod.php | 20 + .../lib/Twig/Node/Expression/Binary/Mul.php | 20 + .../Twig/Node/Expression/Binary/NotEqual.php | 19 + .../lib/Twig/Node/Expression/Binary/NotIn.php | 30 + .../lib/Twig/Node/Expression/Binary/Or.php | 20 + .../lib/Twig/Node/Expression/Binary/Power.php | 34 + .../lib/Twig/Node/Expression/Binary/Range.php | 30 + .../Node/Expression/Binary/StartsWith.php | 32 + .../lib/Twig/Node/Expression/Binary/Sub.php | 20 + .../Twig/Node/Expression/BlockReference.php | 93 + .../twig/lib/Twig/Node/Expression/Call.php | 291 + .../lib/Twig/Node/Expression/Conditional.php | 33 + .../lib/Twig/Node/Expression/Constant.php | 25 + .../Node/Expression/ExtensionReference.php | 32 + .../twig/lib/Twig/Node/Expression/Filter.php | 41 + .../Twig/Node/Expression/Filter/Default.php | 45 + .../lib/Twig/Node/Expression/Function.php | 45 + .../twig/lib/Twig/Node/Expression/GetAttr.php | 74 + .../lib/Twig/Node/Expression/MethodCall.php | 43 + .../twig/lib/Twig/Node/Expression/Name.php | 102 + .../lib/Twig/Node/Expression/NullCoalesce.php | 48 + .../twig/lib/Twig/Node/Expression/Parent.php | 44 + .../lib/Twig/Node/Expression/TempName.php | 28 + .../twig/lib/Twig/Node/Expression/Test.php | 42 + .../Twig/Node/Expression/Test/Constant.php | 48 + .../lib/Twig/Node/Expression/Test/Defined.php | 61 + .../Twig/Node/Expression/Test/Divisibleby.php | 35 + .../lib/Twig/Node/Expression/Test/Even.php | 34 + .../lib/Twig/Node/Expression/Test/Null.php | 33 + .../lib/Twig/Node/Expression/Test/Odd.php | 34 + .../lib/Twig/Node/Expression/Test/Sameas.php | 31 + .../twig/lib/Twig/Node/Expression/Unary.php | 29 + .../lib/Twig/Node/Expression/Unary/Neg.php | 20 + .../lib/Twig/Node/Expression/Unary/Not.php | 20 + .../lib/Twig/Node/Expression/Unary/Pos.php | 20 + .../vendor/twig/twig/lib/Twig/Node/Flush.php | 33 + .../vendor/twig/twig/lib/Twig/Node/For.php | 113 + .../twig/twig/lib/Twig/Node/ForLoop.php | 52 + .../vendor/twig/twig/lib/Twig/Node/If.php | 68 + .../vendor/twig/twig/lib/Twig/Node/Import.php | 51 + .../twig/twig/lib/Twig/Node/Include.php | 90 + .../vendor/twig/twig/lib/Twig/Node/Macro.php | 125 + .../vendor/twig/twig/lib/Twig/Node/Module.php | 461 + .../vendor/twig/twig/lib/Twig/Node/Print.php | 36 + .../twig/twig/lib/Twig/Node/Sandbox.php | 44 + .../twig/lib/Twig/Node/SandboxedPrint.php | 51 + .../vendor/twig/twig/lib/Twig/Node/Set.php | 98 + .../twig/twig/lib/Twig/Node/SetTemp.php | 40 + .../twig/twig/lib/Twig/Node/Spaceless.php | 37 + .../vendor/twig/twig/lib/Twig/Node/Text.php | 36 + .../vendor/twig/twig/lib/Twig/Node/With.php | 64 + .../twig/lib/Twig/NodeCaptureInterface.php | 21 + .../twig/twig/lib/Twig/NodeInterface.php | 32 + .../twig/lib/Twig/NodeOutputInterface.php | 21 + .../twig/twig/lib/Twig/NodeTraverser.php | 84 + .../twig/lib/Twig/NodeVisitor/Escaper.php | 154 + .../twig/lib/Twig/NodeVisitor/Optimizer.php | 253 + .../lib/Twig/NodeVisitor/SafeAnalysis.php | 150 + .../twig/lib/Twig/NodeVisitor/Sandbox.php | 82 + .../twig/lib/Twig/NodeVisitorInterface.php | 45 + .../vendor/twig/twig/lib/Twig/Parser.php | 412 + .../twig/twig/lib/Twig/ParserInterface.php | 29 + .../twig/lib/Twig/Profiler/Dumper/Base.php | 62 + .../lib/Twig/Profiler/Dumper/Blackfire.php | 72 + .../twig/lib/Twig/Profiler/Dumper/Html.php | 47 + .../twig/lib/Twig/Profiler/Dumper/Text.php | 35 + .../lib/Twig/Profiler/Node/EnterProfile.php | 39 + .../lib/Twig/Profiler/Node/LeaveProfile.php | 33 + .../Twig/Profiler/NodeVisitor/Profiler.php | 67 + .../twig/twig/lib/Twig/Profiler/Profile.php | 170 + .../twig/lib/Twig/RuntimeLoaderInterface.php | 29 + .../twig/lib/Twig/Sandbox/SecurityError.php | 21 + .../Sandbox/SecurityNotAllowedFilterError.php | 33 + .../SecurityNotAllowedFunctionError.php | 33 + .../Sandbox/SecurityNotAllowedMethodError.php | 40 + .../SecurityNotAllowedPropertyError.php | 40 + .../Sandbox/SecurityNotAllowedTagError.php | 33 + .../twig/lib/Twig/Sandbox/SecurityPolicy.php | 125 + .../Twig/Sandbox/SecurityPolicyInterface.php | 26 + .../twig/twig/lib/Twig/SimpleFilter.php | 121 + .../twig/twig/lib/Twig/SimpleFunction.php | 111 + .../vendor/twig/twig/lib/Twig/SimpleTest.php | 73 + .../vendor/twig/twig/lib/Twig/Source.php | 53 + .../lib/Twig/SourceContextLoaderInterface.php | 33 + .../vendor/twig/twig/lib/Twig/Template.php | 708 ++ .../twig/twig/lib/Twig/TemplateInterface.php | 48 + .../twig/twig/lib/Twig/TemplateWrapper.php | 133 + .../vendor/twig/twig/lib/Twig/Test.php | 37 + .../twig/twig/lib/Twig/Test/Function.php | 38 + .../lib/Twig/Test/IntegrationTestCase.php | 249 + .../vendor/twig/twig/lib/Twig/Test/Method.php | 40 + .../vendor/twig/twig/lib/Twig/Test/Node.php | 40 + .../twig/twig/lib/Twig/Test/NodeTestCase.php | 75 + .../twig/lib/Twig/TestCallableInterface.php | 22 + .../twig/twig/lib/Twig/TestInterface.php | 27 + .../vendor/twig/twig/lib/Twig/Token.php | 207 + .../vendor/twig/twig/lib/Twig/TokenParser.php | 33 + .../twig/lib/Twig/TokenParser/AutoEscape.php | 83 + .../twig/twig/lib/Twig/TokenParser/Block.php | 73 + .../twig/twig/lib/Twig/TokenParser/Do.php | 34 + .../twig/twig/lib/Twig/TokenParser/Embed.php | 67 + .../twig/lib/Twig/TokenParser/Extends.php | 46 + .../twig/twig/lib/Twig/TokenParser/Filter.php | 53 + .../twig/twig/lib/Twig/TokenParser/Flush.php | 34 + .../twig/twig/lib/Twig/TokenParser/For.php | 127 + .../twig/twig/lib/Twig/TokenParser/From.php | 66 + .../twig/twig/lib/Twig/TokenParser/If.php | 86 + .../twig/twig/lib/Twig/TokenParser/Import.php | 41 + .../twig/lib/Twig/TokenParser/Include.php | 65 + .../twig/twig/lib/Twig/TokenParser/Macro.php | 60 + .../twig/lib/Twig/TokenParser/Sandbox.php | 61 + .../twig/twig/lib/Twig/TokenParser/Set.php | 75 + .../twig/lib/Twig/TokenParser/Spaceless.php | 51 + .../twig/twig/lib/Twig/TokenParser/Use.php | 70 + .../twig/twig/lib/Twig/TokenParser/With.php | 52 + .../twig/twig/lib/Twig/TokenParserBroker.php | 120 + .../lib/Twig/TokenParserBrokerInterface.php | 44 + .../twig/lib/Twig/TokenParserInterface.php | 43 + .../vendor/twig/twig/lib/Twig/TokenStream.php | 196 + .../lib/Twig/Util/DeprecationCollector.php | 86 + .../lib/Twig/Util/TemplateDirIterator.php | 28 + .../vendor/twig/twig/phpunit.xml.dist | 33 + .../twig/twig/src/Cache/CacheInterface.php | 11 + .../twig/twig/src/Cache/FilesystemCache.php | 11 + .../vendor/twig/twig/src/Cache/NullCache.php | 11 + .../vendor/twig/twig/src/Compiler.php | 11 + .../vendor/twig/twig/src/Environment.php | 11 + .../vendor/twig/twig/src/Error/Error.php | 11 + .../twig/twig/src/Error/LoaderError.php | 11 + .../twig/twig/src/Error/RuntimeError.php | 11 + .../twig/twig/src/Error/SyntaxError.php | 11 + .../vendor/twig/twig/src/ExpressionParser.php | 11 + .../twig/src/Extension/AbstractExtension.php | 11 + .../twig/twig/src/Extension/CoreExtension.php | 11 + .../twig/src/Extension/DebugExtension.php | 11 + .../twig/src/Extension/EscaperExtension.php | 11 + .../twig/src/Extension/ExtensionInterface.php | 11 + .../twig/src/Extension/GlobalsInterface.php | 11 + .../src/Extension/InitRuntimeInterface.php | 11 + .../twig/src/Extension/OptimizerExtension.php | 11 + .../twig/src/Extension/ProfilerExtension.php | 11 + .../Extension/RuntimeExtensionInterface.php | 19 + .../twig/src/Extension/SandboxExtension.php | 11 + .../twig/src/Extension/StagingExtension.php | 11 + .../src/Extension/StringLoaderExtension.php | 11 + .../src/FileExtensionEscapingStrategy.php | 11 + .../vendor/twig/twig/src/Lexer.php | 11 + .../twig/twig/src/Loader/ArrayLoader.php | 11 + .../twig/twig/src/Loader/ChainLoader.php | 11 + .../twig/src/Loader/ExistsLoaderInterface.php | 11 + .../twig/twig/src/Loader/FilesystemLoader.php | 11 + .../twig/twig/src/Loader/LoaderInterface.php | 11 + .../Loader/SourceContextLoaderInterface.php | 11 + .../vendor/twig/twig/src/Markup.php | 11 + .../twig/twig/src/Node/AutoEscapeNode.php | 11 + .../vendor/twig/twig/src/Node/BlockNode.php | 11 + .../twig/twig/src/Node/BlockReferenceNode.php | 11 + .../vendor/twig/twig/src/Node/BodyNode.php | 11 + .../twig/twig/src/Node/CheckSecurityNode.php | 11 + .../vendor/twig/twig/src/Node/DoNode.php | 11 + .../vendor/twig/twig/src/Node/EmbedNode.php | 11 + .../Node/Expression/AbstractExpression.php | 11 + .../src/Node/Expression/ArrayExpression.php | 11 + .../Node/Expression/AssignNameExpression.php | 11 + .../Node/Expression/Binary/AbstractBinary.php | 11 + .../src/Node/Expression/Binary/AddBinary.php | 11 + .../src/Node/Expression/Binary/AndBinary.php | 11 + .../Expression/Binary/BitwiseAndBinary.php | 11 + .../Expression/Binary/BitwiseOrBinary.php | 11 + .../Expression/Binary/BitwiseXorBinary.php | 11 + .../Node/Expression/Binary/ConcatBinary.php | 11 + .../src/Node/Expression/Binary/DivBinary.php | 11 + .../Node/Expression/Binary/EndsWithBinary.php | 11 + .../Node/Expression/Binary/EqualBinary.php | 11 + .../Node/Expression/Binary/FloorDivBinary.php | 11 + .../Node/Expression/Binary/GreaterBinary.php | 11 + .../Expression/Binary/GreaterEqualBinary.php | 11 + .../src/Node/Expression/Binary/InBinary.php | 11 + .../src/Node/Expression/Binary/LessBinary.php | 11 + .../Expression/Binary/LessEqualBinary.php | 11 + .../Node/Expression/Binary/MatchesBinary.php | 11 + .../src/Node/Expression/Binary/ModBinary.php | 11 + .../src/Node/Expression/Binary/MulBinary.php | 11 + .../Node/Expression/Binary/NotEqualBinary.php | 11 + .../Node/Expression/Binary/NotInBinary.php | 11 + .../src/Node/Expression/Binary/OrBinary.php | 11 + .../Node/Expression/Binary/PowerBinary.php | 11 + .../Node/Expression/Binary/RangeBinary.php | 11 + .../Expression/Binary/StartsWithBinary.php | 11 + .../src/Node/Expression/Binary/SubBinary.php | 11 + .../Expression/BlockReferenceExpression.php | 11 + .../src/Node/Expression/CallExpression.php | 11 + .../Node/Expression/ConditionalExpression.php | 11 + .../Node/Expression/ConstantExpression.php | 11 + .../Node/Expression/Filter/DefaultFilter.php | 11 + .../src/Node/Expression/FilterExpression.php | 11 + .../Node/Expression/FunctionExpression.php | 11 + .../src/Node/Expression/GetAttrExpression.php | 11 + .../Node/Expression/MethodCallExpression.php | 11 + .../src/Node/Expression/NameExpression.php | 11 + .../Expression/NullCoalesceExpression.php | 11 + .../src/Node/Expression/ParentExpression.php | 11 + .../Node/Expression/TempNameExpression.php | 11 + .../src/Node/Expression/Test/ConstantTest.php | 11 + .../src/Node/Expression/Test/DefinedTest.php | 11 + .../Node/Expression/Test/DivisiblebyTest.php | 11 + .../src/Node/Expression/Test/EvenTest.php | 11 + .../src/Node/Expression/Test/NullTest.php | 11 + .../twig/src/Node/Expression/Test/OddTest.php | 11 + .../src/Node/Expression/Test/SameasTest.php | 11 + .../src/Node/Expression/TestExpression.php | 11 + .../Node/Expression/Unary/AbstractUnary.php | 11 + .../src/Node/Expression/Unary/NegUnary.php | 11 + .../src/Node/Expression/Unary/NotUnary.php | 11 + .../src/Node/Expression/Unary/PosUnary.php | 11 + .../vendor/twig/twig/src/Node/FlushNode.php | 11 + .../vendor/twig/twig/src/Node/ForLoopNode.php | 11 + .../vendor/twig/twig/src/Node/ForNode.php | 11 + .../vendor/twig/twig/src/Node/IfNode.php | 11 + .../vendor/twig/twig/src/Node/ImportNode.php | 11 + .../vendor/twig/twig/src/Node/IncludeNode.php | 11 + .../vendor/twig/twig/src/Node/MacroNode.php | 11 + .../vendor/twig/twig/src/Node/ModuleNode.php | 11 + .../vendor/twig/twig/src/Node/Node.php | 11 + .../twig/src/Node/NodeCaptureInterface.php | 11 + .../twig/src/Node/NodeOutputInterface.php | 11 + .../vendor/twig/twig/src/Node/PrintNode.php | 11 + .../vendor/twig/twig/src/Node/SandboxNode.php | 11 + .../twig/twig/src/Node/SandboxedPrintNode.php | 11 + .../vendor/twig/twig/src/Node/SetNode.php | 11 + .../vendor/twig/twig/src/Node/SetTempNode.php | 11 + .../twig/twig/src/Node/SpacelessNode.php | 11 + .../vendor/twig/twig/src/Node/TextNode.php | 11 + .../vendor/twig/twig/src/Node/WithNode.php | 11 + .../vendor/twig/twig/src/NodeTraverser.php | 11 + .../src/NodeVisitor/AbstractNodeVisitor.php | 11 + .../src/NodeVisitor/EscaperNodeVisitor.php | 11 + .../src/NodeVisitor/NodeVisitorInterface.php | 11 + .../src/NodeVisitor/OptimizerNodeVisitor.php | 11 + .../NodeVisitor/SafeAnalysisNodeVisitor.php | 11 + .../src/NodeVisitor/SandboxNodeVisitor.php | 11 + .../vendor/twig/twig/src/Parser.php | 11 + .../twig/src/Profiler/Dumper/BaseDumper.php | 11 + .../src/Profiler/Dumper/BlackfireDumper.php | 11 + .../twig/src/Profiler/Dumper/HtmlDumper.php | 11 + .../twig/src/Profiler/Dumper/TextDumper.php | 11 + .../src/Profiler/Node/EnterProfileNode.php | 11 + .../src/Profiler/Node/LeaveProfileNode.php | 11 + .../NodeVisitor/ProfilerNodeVisitor.php | 11 + .../vendor/twig/twig/src/Profiler/Profile.php | 11 + .../RuntimeLoader/ContainerRuntimeLoader.php | 11 + .../RuntimeLoader/FactoryRuntimeLoader.php | 11 + .../RuntimeLoader/RuntimeLoaderInterface.php | 11 + .../twig/twig/src/Sandbox/SecurityError.php | 11 + .../Sandbox/SecurityNotAllowedFilterError.php | 11 + .../SecurityNotAllowedFunctionError.php | 11 + .../Sandbox/SecurityNotAllowedMethodError.php | 11 + .../SecurityNotAllowedPropertyError.php | 11 + .../Sandbox/SecurityNotAllowedTagError.php | 11 + .../twig/twig/src/Sandbox/SecurityPolicy.php | 11 + .../src/Sandbox/SecurityPolicyInterface.php | 11 + .../vendor/twig/twig/src/Source.php | 11 + .../vendor/twig/twig/src/Template.php | 11 + .../vendor/twig/twig/src/TemplateWrapper.php | 11 + .../twig/src/Test/IntegrationTestCase.php | 11 + .../twig/twig/src/Test/NodeTestCase.php | 11 + .../vendor/twig/twig/src/Token.php | 11 + .../src/TokenParser/AbstractTokenParser.php | 11 + .../src/TokenParser/AutoEscapeTokenParser.php | 11 + .../twig/src/TokenParser/BlockTokenParser.php | 11 + .../twig/src/TokenParser/DoTokenParser.php | 11 + .../twig/src/TokenParser/EmbedTokenParser.php | 11 + .../src/TokenParser/ExtendsTokenParser.php | 11 + .../src/TokenParser/FilterTokenParser.php | 11 + .../twig/src/TokenParser/FlushTokenParser.php | 11 + .../twig/src/TokenParser/ForTokenParser.php | 11 + .../twig/src/TokenParser/FromTokenParser.php | 11 + .../twig/src/TokenParser/IfTokenParser.php | 11 + .../src/TokenParser/ImportTokenParser.php | 11 + .../src/TokenParser/IncludeTokenParser.php | 11 + .../twig/src/TokenParser/MacroTokenParser.php | 11 + .../src/TokenParser/SandboxTokenParser.php | 11 + .../twig/src/TokenParser/SetTokenParser.php | 11 + .../src/TokenParser/SpacelessTokenParser.php | 11 + .../src/TokenParser/TokenParserInterface.php | 11 + .../twig/src/TokenParser/UseTokenParser.php | 11 + .../twig/src/TokenParser/WithTokenParser.php | 11 + .../vendor/twig/twig/src/TokenStream.php | 11 + .../vendor/twig/twig/src/TwigFilter.php | 11 + .../vendor/twig/twig/src/TwigFunction.php | 11 + .../vendor/twig/twig/src/TwigTest.php | 11 + .../twig/src/Util/DeprecationCollector.php | 11 + .../twig/src/Util/TemplateDirIterator.php | 11 + .../version_check.php | 8 +- .../vendor/phpmyadmin-4.8/view_create.php | 203 + .../view_operations.php | 42 +- .../htdocs/vendor/phpmyadmin-4.8/yarn.lock | 837 ++ .devilbox/www/include/lib/Html.php | 2 +- 6568 files changed, 218378 insertions(+), 501710 deletions(-) delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/CONTRIBUTING.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/ChangeLog delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/README delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/RELEASE-DATE-4.7.0 delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/browse_foreigners.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/changelog.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/chk_rel.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/composer.lock delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/config.sample.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_central_columns.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_designer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_import.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_operations.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_routines.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_sql.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_structure.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/chart.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/column_chart.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/line_chart.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pie_chart.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pma-relations-links.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pma-relations-relation-link.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pma-relations-relation-name.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pma-relations-relation-view-link.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/query_result_operations.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/scatter_chart.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/spline_chart.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/timeline_chart.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/usergroups.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/down-pressed.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/file.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/jquery.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/minus.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/plus.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/underscore.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/up-pressed.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/index.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/searchindex.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/index.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/codemirror/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/codemirror/addon/lint/sql-lint.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/codemirror/lib/codemirror.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/codemirror/mode/sql/sql.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/codemirror/mode/xml/xml.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/console.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/cross_framing_protection.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/db_central_columns.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/db_qbe.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/db_search.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/export.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/functions.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/get_image.js.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/get_scripts.js.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/import.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/jquery/jquery-migrate-3.0.0.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/jquery/jquery.cookie.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/jquery/jquery.min.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/keyhandler.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/line_counts.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/menu-resizer.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/multi_column_sort.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/normalization.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/cloud-popup-relative.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/drag-rectangle-off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/drag-rectangle-on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/east-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/layer-switcher-maximize.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/layer-switcher-minimize.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/marker-blue.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/marker-gold.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/marker-green.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/marker.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/measuring-stick-off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/measuring-stick-on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/north-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/panning-hand-off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/panning-hand-on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/slider.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/south-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/west-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/zoom-minus-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/zoom-plus-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/zoom-world-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/img/zoombar.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/add_point_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/add_point_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/drag-rectangle-off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/drag-rectangle-on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/draw_line_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/draw_line_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/draw_point_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/draw_point_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/draw_polygon_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/draw_polygon_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/editing_tool_bar.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/move_feature_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/move_feature_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/navigation_history.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/pan-panel-NOALPHA.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/pan-panel.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/pan_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/pan_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/panning-hand-off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/panning-hand-on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/remove_point_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/remove_point_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/ruler.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/save_features_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/save_features_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/view_next_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/view_next_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/view_previous_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/view_previous_on.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/zoom-panel-NOALPHA.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/openlayers/theme/default/img/zoom-panel.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/page_settings.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/pmd/designer_db.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/pmd/designer_objects.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/pmd/designer_page.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/pmd/init.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/pmd/move.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/replication.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/server_databases.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/server_privileges.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/server_variables.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/shortcuts_handler.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/sql.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/tbl_change.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/tbl_operations.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/tbl_structure.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/transformations/xml.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/js/transformations/xml_editor.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Advisor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Charsets.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Console.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/DbList.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/DbQbe.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/DbSearch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/DisplayResults.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Encoding.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Error.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ErrorHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/File.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Footer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Header.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Index.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Logging.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/PDF.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Response.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Scripts.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ServerStatusData.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SysInfo.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Table.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Template.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Theme.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Types.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/TypesMySQL.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/URL.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Util.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ZipFile.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/advisor.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/browse_foreigners.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/central_columns.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/certs/isrgrootx1.pem delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/check_user_privileges.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/common.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/config/FormDisplay.tpl.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/config/ServerConfigChecks.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/config/config_functions.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/config/messages.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/config/page_settings.forms.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/config/setup.forms.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/config/user_preferences.forms.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/controllers/Controller.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/controllers/DatabaseController.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/controllers/TableController.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/controllers/server/ServerCollationsController.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/controllers/server/ServerDatabasesController.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/controllers/server/ServerEnginesController.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/controllers/table/TableRelationController.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/core.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/create_addfield.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/database_interface.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/db_common.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/db_designer.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/dbi/DBIDummy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/dbi/DBIExtension.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/dbi/DBIExtension.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/dbi/DBIMysql.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/dbi/DBIMysqli.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/dbi/DBIMysqli.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/di/Container.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/di/FactoryItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/di/Item.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/di/ServiceItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/di/ValueItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/display_change_password.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/display_create_table.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/display_export.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/display_git_revision.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/display_import.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/display_import_ajax.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/engines/Mrg_Myisam.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/engines/Performance_Schema.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/error_report.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/export.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/file_listing.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISGeometry.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISGeometrycollection.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISLinestring.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISMultilinestring.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISMultipoint.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISMultipolygon.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISPoint.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISPolygon.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/gis/GISVisualization.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/import.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/index.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/insert_edit.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ip_allow_deny.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/language_stats.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/mime.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/mult_submits.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/navigation/NavigationHeader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/navigation/nodes/Node.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/normalization.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/operations.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/parse_analyze.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugin_interface.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/AuthenticationPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/auth/AuthenticationHttp.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/auth/AuthenticationSignon.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/export/PMA_ExportPdf.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/export/README delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/import/README delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/eps/Eps.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/pdf/Pdf.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/svg/Svg.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/transformations/output/Text_Plain_Sql.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/pmd_common.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/PropertyItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/groups/OptionsPropertyMainGroup.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/groups/OptionsPropertyRootGroup.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/groups/OptionsPropertySubgroup.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/BoolPropertyItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/DocPropertyItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/HiddenPropertyItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/MessageOnlyPropertyItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/NumberPropertyItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/RadioPropertyItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/SelectPropertyItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/TextPropertyItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/plugins/ImportPluginProperties.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/plugins/SchemaPluginProperties.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/relation.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/relation_cleanup.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/replication.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/replication_gui.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_events.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_export.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_footer.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_general.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_list.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_main.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_routines.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_triggers.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_words.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/select_server.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_common.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_common.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_privileges.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_advisor.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_monitor.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_processes.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_queries.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_variables.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_user_groups.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_users.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/session.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/session.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/special_schema_links.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sql.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sql_query_form.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/string.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/stringMb.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/stringNative.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sysinfo.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_columns_definition_form.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_common.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_info.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tracking.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/transformations.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/user_preferences.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/user_preferences.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/util.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/zip_extension.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/normalization.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/prefs_forms.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/schema_export.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_binlog.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_collations.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_databases.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_engines.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_export.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_import.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_plugins.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_replication.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_sql.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_advisor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_monitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_processes.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_queries.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_variables.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_user_groups.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_variables.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/config.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/config.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/form.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/menu.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/servers.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/index.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/common.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/form_processing.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/index.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/validate.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_chart.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_find_replace.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_get_field.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_gis_visualization.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_import.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_indexes.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_operations.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_relation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_select.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_sql.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_structure.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_zoom_select.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/checkbox.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_adjust_privileges.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_attribute.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_attributes.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_auto_increment.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_comment.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_default.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_definitions_form.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_extra.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_indexes.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_length.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_name.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_null.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_type.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_virtuality.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/mime_type.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/move_column.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/partitions.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/table_fields_definitions.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/transformation.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/transformation_option.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/components/error_message.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/bookmark_content.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/display.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/query_action.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/toolbar.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/create_table.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/aggregate_query_panel.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/canvas.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/database_tables.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/delete_relation_panel.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/edit_delete_pages.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/having_query_panel.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/js_fields.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/new_relation_panel.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/options_panel.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/page_save_as.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/page_selector.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/query_details.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/rename_to_panel.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/schema_export.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/side_menu.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/table_list.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/where_query_panel.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/body_for_table_summary.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/browse_table.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/browse_table_label.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/check_all_tables.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/empty_table.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/favorite_anchor.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/print_view_data_dictionary_link.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/search_table.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/show_create.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/show_create_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/sortable_header.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/structure_table_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/table_header.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/tracking_icon.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/div_for_slider_effect.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/error/report_form.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/filter.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/header_location.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/javascript/display.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/list/item.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/list/unordered.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/navigation/logo.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/prefs_autoload.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/preview_sql.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_database.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_routine.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_table.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_user_fieldset.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/choose_user_group.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/column_privileges.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/delete_user_fieldset.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/edit_routine_privileges.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/global_priv_table.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/global_priv_tbl_item.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/initials_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/privileges_summary.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/privileges_summary_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/require_options.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/require_options_item.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/resource_limit_item.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/resource_limits.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/secondary_tabs.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/select_all.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/select_lang.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/binlog/log_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/binlog/log_selector.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/collations/charsets.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/create.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_footer.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_header.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/engines/engine.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/engines/engines.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/plugins/section.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/plugins/section_links.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/link_template.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/session_variable_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/variable_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/variable_table_head.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/startAndNumberOfRowsPanel.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/chart/tbl_chart.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/gis_visualization/gis_visualization.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/index_form.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/common_form.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/dropdown_generate.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/foreign_key_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/internal_relational_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/relational_dropdown.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/column_comparison_operators.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/fields_table.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/form_tag.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/geom_func.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/input_box.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/options.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/options_zoom.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/replace_preview.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/rows_normal.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/rows_zoom.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/search_and_replace.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/selection_form.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/table_header.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/zoom_result_form.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/secondary_tabs.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/action_row_in_structure_table.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/actions_in_table_structure.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/add_column.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/check_all_table_column.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_partitions.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_structure.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_table_stats.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/move_columns_dialog.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/optional_action_links.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/partition_definition_form.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/row_stats_table.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/table_structure_header.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/table_structure_row.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/add_data.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/echo.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/set_helper.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/trim.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/toggle_button.phtml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/css/common.css.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/css/navigation.css.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/arrow_ltr.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/arrow_rtl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_bookmark.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_browse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_calendar.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_chart.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_close.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_column_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_comment.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_dbstatistics.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_deltbl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_docs.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_drop.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_edit.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_empty.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_engine.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_event_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_events.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_export.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_favorite.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_find_replace.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_ftext.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_group.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_help.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_home.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_import.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_index.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_index_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_info.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_inline_edit.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_insrow.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_key.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_minus.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_more.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_move.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_newdb.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_newtbl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_nextpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_no_favorite.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_plugin.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_plus.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_primary.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_print.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_props.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_relations.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_report.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_routine_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_routines.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_save.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_saveimage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_sbrowse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_search.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_select.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_spatial.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_sql.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_sqlhelp.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_table_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblanalyse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblexport.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblimport.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblops.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tbloptimize.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tipp.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_trigger_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_triggers.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_undo.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_unique.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usradd.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usrcheck.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usrdrop.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usredit.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usrlist.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_versions.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_view.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_view_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_views.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_browse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_deltbl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_drop.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_edit.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_empty.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_export.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_ftext.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_index.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_insrow.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_nextpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_primary.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_routine_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_sbrowse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_select.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_spatial.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_unique.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/centralColumns.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/centralColumns_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/centralColumns_delete.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/col_drop.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/col_pointer.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/col_pointer_ver.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/console.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/east-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/eye.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/eye_grey.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/hide.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/lightbulb.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/lightbulb_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/logo_left.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/logo_right.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/more.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/new_data.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/new_data_hovered.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/new_data_selected_hovered.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/new_struct.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/new_struct_hovered.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/new_struct_selected.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/normalize.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/north-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/pause.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/play.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_asc.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_asci.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_attention.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_cancel.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_cog.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_collapseall.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_db.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_desc.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_error.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_error2.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_fulltext.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_host.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_info.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_lang.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_link.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_lock.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_loggoff.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_notice.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_okay.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_partialtext.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_passwd.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_really.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_reload.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_replication.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_rights.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_sortable.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_status.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_success.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_sync.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_tbl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_theme.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_top.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_unlink.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_vars.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_views.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/show.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/south-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/spacer.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/sprites.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/toggle-ltr.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/toggle-rtl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/west-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/window-new.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/zoom-minus-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/zoom-plus-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/zoom-world-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/info.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_222222_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_2e83ff_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_454545_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_888888_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/screen.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/sprites.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/common.css.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/navigation.css.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/pmd.css.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/arrow_ltr.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/arrow_rtl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/asc_order.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_bookmark.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_browse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_calendar.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_chart.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_close.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_column_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_comment.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_dbstatistics.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_deltbl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_docs.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_docsql.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_drop.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_edit.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_empty.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_engine.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_event_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_events.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_export.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_favorite.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_find_replace.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_firstpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_ftext.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_group.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_help.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_home.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_import.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_index.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_index_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_info.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_inline_edit.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_insrow.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_key.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_lastpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_minus.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_more.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_move.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_newdb.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_newtbl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_nextpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_no_favorite.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_pdfdoc.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_plugin.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_plus.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_prevpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_primary.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_print.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_props.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_relations.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_report.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_routine_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_routines.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_save.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_saveimage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sbrowse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sdb.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_search.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_select.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_snewtbl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_spatial.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sql.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sqldoc.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sqlhelp.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_table_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tblanalyse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tblexport.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tblimport.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tblops.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tbloptimize.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tipp.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_trigger_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_triggers.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_undo.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_unique.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_usradd.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_usrcheck.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_usrdrop.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_usredit.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_usrlist.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_versions.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_view.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_view_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_views.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_browse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_deltbl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_drop.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_edit.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_empty.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_export.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_firstpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_ftext.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_index.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_insrow.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_lastpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_nextpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_prevpage.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_primary.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_routine_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_sbrowse.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_select.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_spatial.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_unique.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/centralColumns.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/centralColumns_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/centralColumns_delete.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/col_drop.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/col_pointer.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/col_pointer_ver.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/console.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/database.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/east-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/eye.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/eye_grey.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/hide.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/item.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/left_nav_bg.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/lightbulb.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/lightbulb_off.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/logo_left.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/logo_right.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/more.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/new_data.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/new_data_hovered.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/new_data_selected_hovered.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/new_struct.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/new_struct_hovered.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/new_struct_selected.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/normalize.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/north-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pause.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/php_sym.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/play.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pma_logo2.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/1.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2leftarrow.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2leftarrow_m.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2rightarrow.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2rightarrow_m.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/3.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/4.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/5.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/6.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/7.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/8.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/FieldKey_small.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small_char.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small_date.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small_int.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Header.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Header_Linked.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/anchor.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/and_icon.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/ang_direct.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/bord.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/bottom.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/def.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/display_field.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/downarrow1.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/downarrow2.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/downarrow2_m.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/exec.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/exec_small.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/exitFullscreen.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/export.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/grid.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/help.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/help_relation.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/left_panel_butt.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/left_panel_tab.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/minus.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/or_icon.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/page_add.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/page_delete.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/page_edit.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/pdf.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/plus.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/query_builder.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/relation.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/reload.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/resize.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/resizeright.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/rightarrow1.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/rightarrow2.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/save.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/save_as.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/small_tab.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/table.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/toggle_lines.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/top_panel.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/uparrow2_m.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/viewInFullscreen.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_asc.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_asci.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_attention.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_cancel.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_cancel2.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_cog.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_collapseall.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_db.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_desc.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_error.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_error2.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_fulltext.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_host.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_info.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_lang.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_link.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_lock.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_loggoff.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_notice.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_okay.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_partialtext.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_passwd.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_process.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_really.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_reload.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_replication.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_rights.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_sortable.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_status.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_success.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_sync.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_tbl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_theme.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_top.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_unlink.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_vars.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_views.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/select_bg.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/show.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/south-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/spacer.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/sprites.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/toggle-ltr.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/toggle-rtl.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/west-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/window-new.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/zoom-minus-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/zoom-plus-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/zoom-world-mini.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/info.inc.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_222222_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_888888_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/screen.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/sprites.lib.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/user_password.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/autoload.php delete mode 120000 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/bin/codacycoverage delete mode 120000 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/bin/coveralls delete mode 120000 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/bin/phpcbf delete mode 120000 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/bin/phpcs delete mode 120000 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/bin/phpunit delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/README.md delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/bin/codacycoverage delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/circle.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Application.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Command/Clover.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/CloverParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/ParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/PhpUnitXmlParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Util/GitClientTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/clover/clover.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/clover/clover_without_packages.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/expected.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/CloverParser.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/Parser.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/PhpUnitXmlParser.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Report/CoverageReport.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Report/FileReport.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/EmptyFile.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/GitClient.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/JsonProducer.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/clover.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/index.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Api/Api.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/CodacyPhpCoverage.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Config.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Git/GitClient.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/CloverParser.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/Parser.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/PhpUnitXmlParser.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/CoverageReport.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/FileReport.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/JsonProducer.php.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/index.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_classmap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_files.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_namespaces.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_psr4.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_real.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_static.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/include_paths.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/installed.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.scrutinizer.yml delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.travis.install.sh delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/CONTRIBUTING.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/phpmd.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/admin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/blame.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/blob.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/branch.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/commit.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/diff.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/hooks.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/log.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/references.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/repository.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/revision.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/tree.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/workingcopy.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/debug.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/development.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/index.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/installation.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Admin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame/Line.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blob.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Commit.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/CommitReference.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/Diff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/File.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/FileChange.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/GitExceptionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/LogicException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/ProcessException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/ReferenceNotFoundException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/RuntimeException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/UnexpectedValueException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Hooks.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Log.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/BlameParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/CommitParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/DiffParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/LogParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ParserBase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ReferenceParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/TreeParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/PushReference.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Branch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Stash.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Tag.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/ReferenceBag.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Repository.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Revision.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/RevisionList.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Tree.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Util/StringHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/WorkingCopy.php delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/test-git-versions.sh delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AbstractTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AdminTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlameTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlobTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/CommitTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/DiffTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/HooksTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/LogTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/PushReferenceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/ReferenceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RepositoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RevisionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/TreeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/WorkingCopyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/bootstrap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/UPGRADING.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/Makefile delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_downloads/guzzle-schema-1.0.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/guzzle-icon.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/homepage.css delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/logo.png delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/prettify.css delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/prettify.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_templates/index.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_templates/nav_links.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/batching/batching.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/conf.py delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/docs.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/faq.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/installation.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/overview.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/client.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/entity-bodies.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/http-redirects.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/request.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/response.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/uri-templates.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/index.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/iterators/guzzle-iterators.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/iterators/resource-iterators.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/async-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/backoff-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/cache-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/cookie-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/creating-plugins.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/curl-auth-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/history-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/log-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/md5-validator-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/mock-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/oauth-plugin.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/plugins-list.rst.inc delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/plugins-overview.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/requirements.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/testing/unit-testing.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/guzzle-service-descriptions.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/using-the-service-builder.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/webservice-client.rst delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phar-stub.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/build.properties.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/imports/dependencies.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/imports/deploy.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/ComposerLintTask.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/GuzzlePearPharPackageTask.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/GuzzleSubSplitTask.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/Batch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureTransfer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchCommandTransfer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchDivisorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchRequestTransfer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchSizeDivisor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchTransferInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/Exception/BatchTransferException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/ExceptionBufferingBatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/FlushingBatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/HistoryBatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/NotifyingBatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/AbstractCacheAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/ClosureCacheAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/DoctrineCacheAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/NullCacheAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf1CacheAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf2CacheAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Collection.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Event.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/BadMethodCallException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/ExceptionCollection.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/GuzzleException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/RuntimeException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/UnexpectedValueException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/FromConfigInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/HasDispatcherInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/ToArrayInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Version.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/AbstractEntityBodyDecorator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/CachingEntityBody.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Client.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/ClientInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlHandle.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiProxy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlVersion.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/RequestMediator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/EntityBody.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/EntityBodyInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/BadResponseException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ClientErrorResponseException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/CouldNotRewindStreamException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/CurlException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/HttpException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/MultiTransferException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/RequestException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ServerErrorResponseException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/TooManyRedirectsException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/IoEmittingEntityBody.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/AbstractMessage.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequestInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/CacheControl.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderCollection.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactoryInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/Link.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/PostFile.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/PostFileInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Request.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Response.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Mimetypes.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/CommaAggregator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/DuplicateAggregator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/QueryAggregatorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryString.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/ReadLimitEntityBody.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/RedirectPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/StaticClient.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Url.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/Inflector.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/InflectorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/MemoizingInflector.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/PreComputedInflector.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/AppendIterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/ChunkedIterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/FilterIterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/MapIterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/MethodProxyIterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/AbstractLogAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/ArrayLogAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/ClosureLogAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/LogAdapterInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/MessageFormatter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/MonologLogAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/PsrLogAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/Zf1LogAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/Zf2LogAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParserInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/AbstractMessageParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParserInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/PeclHttpMessageParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/ParserRegistry.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/PeclUriTemplate.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/UriTemplate.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/UriTemplateInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Url/UrlParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Url/UrlParserInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/AsyncPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffLogger.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffStrategyInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/CallbackBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ConstantBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/CurlBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ExponentialBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/HttpBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/LinearBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ReasonPhraseBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/TruncatedBackoffStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheKeyProviderInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CachePlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheStorageInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CallbackCanCacheStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CanCacheStrategyInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCacheKeyProvider.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCacheStorage.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCanCacheStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultRevalidation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DenyRevalidation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/RevalidationInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/SkipRevalidation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Cookie.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/ArrayCookieJar.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/CookieJarInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/FileCookieJar.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookiePlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Exception/InvalidCookieException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/CurlAuthPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/ErrorResponseExceptionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/ErrorResponsePlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/Exception/ErrorResponseException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/History/HistoryPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/History/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/LogPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/CommandContentMd5Plugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/Md5ValidatorPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/MockPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/OauthPlugin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/AbstractConfigLoader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilderInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilderLoader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/CachingConfigLoader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Client.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/AbstractCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/ClosureCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/CommandInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/CreateResponseClassEvent.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/DefaultRequestSerializer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/DefaultResponseParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/AliasFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/CompositeFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ConcreteClassFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/FactoryInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/MapFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ServiceDescriptionFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/AbstractRequestVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/BodyVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/HeaderVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/JsonVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFieldVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFileVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/QueryVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/RequestVisitorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/ResponseBodyVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/XmlVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/AbstractResponseVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/BodyVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/HeaderVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/JsonVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ReasonPhraseVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ResponseVisitorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/StatusCodeVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/XmlVisitor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/VisitorFlyweight.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationResponseParser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/RequestSerializerInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/ResponseClassInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/ResponseParserInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/ConfigLoaderInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/Operation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/OperationInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/Parameter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/SchemaFormatter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/SchemaValidator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescription.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescriptionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescriptionLoader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ValidatorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/CommandException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/CommandTransferException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/DescriptionBuilderException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/InconsistentClientTransferException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/ResponseClassException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/ServiceBuilderException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/ServiceNotFoundException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/ValidationException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/AbstractResourceIteratorFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/CompositeResourceIteratorFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/MapResourceIteratorFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/Model.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorApplyBatched.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorClassFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorFactoryInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/PhpStreamRequestFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/Stream.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/StreamInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/StreamRequestFactoryInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/AbstractBatchDecoratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchBuilderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureDivisorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureTransferTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchCommandTransferTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchRequestTransferTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchSizeDivisorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/ExceptionBufferingBatchTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/FlushingBatchTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/HistoryBatchTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/NotifyingBatchTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/ClosureCacheAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/NullCacheAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/Zf2CacheAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/AbstractHasDispatcherTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/CollectionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/EventTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/BatchTransferExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/VersionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/GuzzleTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/AbstractEntityBodyDecoratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/CachingEntityBodyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ClientTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlHandleTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiProxyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlVersionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/RequestMediatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/EntityBodyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/CurlExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/ExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/MultiTransferExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/IoEmittingEntityBodyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/AbstractMessageTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/EntityEnclosingRequestTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/HeaderFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/LinkTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparison.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparisonTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/PostFileTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/ResponseTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/MimetypesTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/CommaAggregatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/DuplicateAggregatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/PhpAggregatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryStringTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ReadLimitEntityBodyTest.php delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/RedirectPluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Server.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/StaticClientTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/UrlTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/server.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/InflectorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/MemoizingInflectorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/PreComputedInflectorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/AppendIteratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/ChunkedIteratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/FilterIteratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MapIteratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MethodProxyIteratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/ArrayLogAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/ClosureLogAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/MessageFormatterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/PsrLogAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/Zf2LogAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/CustomResponseModel.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/ErrorResponseMock.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/ExceptionMock.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockMulti.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockSubject.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Cookie/CookieParserProvider.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Cookie/CookieParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserProvider.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/PeclHttpMessageParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/ParserRegistryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/AbstractUriTemplateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/PeclUriTemplateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/UriTemplateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Async/AsyncPluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/AbstractBackoffStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffLoggerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffPluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CallbackBackoffStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ConstantBackoffStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CurlBackoffStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ExponentialBackoffStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/HttpBackoffStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/LinearBackoffStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ReasonPhraseBackoffStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/TruncatedBackoffStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CachePluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CallbackCanCacheStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCacheStorageTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCanCacheStrategyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultRevalidationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DenyRevalidationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/SkipRevalidationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/ArrayCookieJarTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/FileCookieJarTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookiePluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/CurlAuth/CurlAuthPluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/ErrorResponse/ErrorResponsePluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/History/HistoryPluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Log/LogPluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/CommandContentMd5PluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/Md5ValidatorPluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Mock/MockPluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Oauth/OauthPluginTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/AbstractConfigLoaderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderLoaderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/CachingConfigLoaderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/ClientTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/AbstractCommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/ClosureCommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/CommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultRequestSerializerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultResponseParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/AliasFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/CompositeFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ConcreteClassFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/MapFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ServiceDescriptionFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/AbstractVisitorTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/BodyVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/HeaderVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/JsonVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFieldVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFileVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/QueryVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/ResponseBodyVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/XmlVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/AbstractResponseVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/BodyVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/HeaderVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/JsonVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/ReasonPhraseVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/StatusCodeVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/XmlVisitorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/VisitorFlyweightTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationCommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationResponseParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/OperationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ParameterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaFormatterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaValidatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionLoaderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/CommandTransferExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/InconsistentClientTransferExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/ValidationExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/IterableCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/MockCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/OtherCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/Sub/Sub.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/MockClient.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Model/MockCommandIterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/CompositeResourceIteratorFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/MapResourceIteratorFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ModelTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorClassFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Stream/PhpStreamRequestFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Stream/StreamTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/FileBody.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/bar.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/baz.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/foo.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/recursive.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/mock_response delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json1.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json2.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/services.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service2.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service_3.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/bootstrap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/composer.lock delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Element.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/File.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Fqsen.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Location.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Project.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/ProjectFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/tests/common/bootstrap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/tests/unit/FqsenTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/.scrutinizer.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/composer.lock delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/01-interpreting-a-simple-docblock.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/02-interpreting-tags.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/03-reconstituting-a-docblock.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/04-adding-your-own-tag.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/playing-with-descriptions/02-escaping.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/phpmd.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Description.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/Strategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/integration/InterpretingDocBlocksTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/integration/ReconstitutingADocBlockTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/integration/UsingTagsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/DescriptionFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/DescriptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/SerializerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/StandardTagFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/AuthorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/CoversTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/DeprecatedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/Formatter/PassthroughFormatterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/GenericTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/LinkTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/MethodTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ParamTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyReadTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyWriteTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ReturnTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SeeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SinceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SourceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ThrowsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/UsesTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/VarTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/VersionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlockFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlockTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/.scrutinizer.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/01-resolving-simple-types.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/02-resolving-classes.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/03-resolving-all-elements.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/04-discovering-the-context-using-class-reflection.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/05-discovering-the-context-using-method-reflection.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/06-discovering-the-context-using-file-contents.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/Classy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/phpmd.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/FqsenResolver.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Type.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/TypeResolver.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Array_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Boolean.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Callable_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Compound.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Context.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/ContextFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Float_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Integer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Mixed.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Null_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Object_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Resource.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Scalar.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Self_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Static_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/String_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/This.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Void_.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/TypeResolverTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/Types/ContextFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/Types/ContextTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/ClassCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/FileCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/FunctionCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Files/SpacesAroundConcatSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/CHANGES.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/src/Loader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/phpunit.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/src/Util.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/af/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ar/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/az/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/be/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/be@latin/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/bg/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/bn/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/br/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/brx/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/bs/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ca/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ckb/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/cs/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/cy/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/da/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/de/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/el/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/en_GB/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/eo/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/es/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/et/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/eu/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/fa/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/fi/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/fr/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/fy/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/gl/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/gu/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/he/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hi/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hr/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hu/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hy/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ia/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/id/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/it/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ja/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ka/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/kk/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/km/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/kn/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ko/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ksh/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ky/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/li/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/lt/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/lv/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/mk/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ml/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/mn/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ms/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/nb/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ne/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/nl/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/pa/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/pl/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/pt/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/pt_BR/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ro/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ru/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/si/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sk/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sl/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sq/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sqlparser.pot delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sr/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sr@latin/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sv/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ta/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/te/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/th/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/tk/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/tr/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/tt/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ug/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/uk/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ur/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/uz/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/uz@latin/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/vi/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/vls/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/zh_CN/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/zh_TW/LC_MESSAGES/sqlparser.mo delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Components/Expression.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Context.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Lexer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Parser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Token.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Utils/CLI.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Utils/Formatter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/composer.lock delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/CHANGES.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/CONTRIBUTING.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/EmptyClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/EmptyInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/FinalClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/ModifierInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/Named.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/OptionalDepsClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/SpecialMethods.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithArguments.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithCallableArgument.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithFinalMethod.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithFinalVirtuallyPrivateMethod.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithProtectedAbstractMethod.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithReferences.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithReturnTypehints.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithStaticMethod.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithTypehintedVariadicArgument.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithVariadicArgument.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/WithVirtuallyPrivateMethod.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ApproximateValueTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ClosureComparatorSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/FactorySpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ProphecyComparatorSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotExtendableExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophet.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/tests/Doubler/Generator/ClassMirrorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/CONTRIBUTING.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/build/travis-ci.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/scripts/auto_append.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.min.css delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.svg delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2 delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.min.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/html5shiv.min.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/nv.d3.min.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/respond.min.js delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/method_item.html.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/FilterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/CloverTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/UtilTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/TestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/BankAccount.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassExtendedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodOneLineAnnotationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesWhitespaceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageNoneTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPrivateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotProtectedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageNothingTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoveragePrivateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageProtectedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoveragePublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoveredClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/CoveredFunction.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassExtendedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassPublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageMethodTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPrivateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotProtectedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePrivateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageProtectedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveredClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/NotExistingCoveredElementTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/source_with_ignore.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/source_with_oneline_annotations.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/source_without_ignore.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-file-iterator/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-file-iterator/ChangeLog.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-file-iterator/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-file-iterator/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-file-iterator/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-file-iterator/src/Facade.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-file-iterator/src/Factory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-file-iterator/src/Iterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-text-template/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-text-template/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-text-template/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-text-template/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-text-template/src/Template.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-timer/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-timer/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-timer/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-timer/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-timer/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-timer/phpunit.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-timer/src/Timer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-timer/tests/TimerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/build/phpunit.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/src/Token.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/src/Token/Stream.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/TokenTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/classInNamespace.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/classInScopedNamespace.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/classUsesNamespacedFunction.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/class_with_method_that_declares_anonymous_class.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/class_with_method_that_declares_anonymous_class2.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/closure.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/issue19.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/issue30.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingBraces.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingNonBraceSyntax.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/source.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/source2.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/source3.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/source4.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/_fixture/source5.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-token-stream/tests/bootstrap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/CONTRIBUTING.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_clone.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_method.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/proxied_method.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/trait_class.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_class.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_method.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/232.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/ObjectTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/StaticTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/abstract_class.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_clone.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_constructor.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_clone.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_constructor.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_call_parent_constructor.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_dont_call_parent_constructor.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_partial.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_named_method.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/interface.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/invocation_object_clone_object.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_clone.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_constructor.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_clone.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_constructor.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_call_parent_constructor.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_partial.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_interface.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace_starting_with_separator.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/proxy.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/scalar_type_declarations.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/ProxyObjectTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MockTestInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.ci/after_script.sh delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.ci/before_script.sh delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.ci/common_env.sh delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.ci/phpunit-environment.conf delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.ci/setup.sh delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.ci/start.sh delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.ci/travis_env.sh delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.ci/vagrant_env.sh delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.ci/vagrant_pre_setup.sh delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/ChangeLog.markdown delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/CommandsHolder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Driver.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Element.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Element/Accessor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Element/Select.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Attribute.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Click.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Css.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Equals.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/GenericAccessor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/GenericPost.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Value.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCriteria.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Keys.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/KeysHolder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/NoSeleniumException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Response.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ScreenshotListener.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie/Builder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Storage.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Timeouts.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/AcceptAlert.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Active.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/AlertText.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Click.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/DismissAlert.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/File.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Frame.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/GenericAccessor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/GenericAttribute.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Keys.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Location.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Log.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/MoveTo.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Orientation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Url.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Window.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionStrategy.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionStrategy/Isolated.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionStrategy/Shared.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/StateCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/URL.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/WaitUntil.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/WebDriverException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Window.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumBrowserSuite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/Autoload.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/Autoload.php.in delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/ExitHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/RemoteCoverage.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/append.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/phpunit_coverage.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/prepend.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase/Autoload.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase/Driver.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestSuite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/CodeCoverageTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/BaseTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/Coverage/CookieTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/Coverage/DummyClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/Coverage/RemoteCoverageTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/Coverage/SingleFileTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/Coverage/singleFile.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/Coverage/singleFileCoverage.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/CustomDesiredCapabilitiesTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/FailuresTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/LogTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/MobileFeaturesTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/MultipleBrowsersMethodTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/MultipleBrowsersPropertyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/PageObjectTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/RegressionsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/ScreenshotListenerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/SessionCommand/FileTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/SessionInSetupTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/SetUpPageTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/SuiteBuildingTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/TimeoutTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/URLTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/WaitUntilTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCase/WebDriverBackedSeleniumTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/Selenium2TestCaseTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/BaseTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/CountMethodsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/FailuresTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/MultipleBrowsersTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/RegressionsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/SeleneseFileTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/SeleneseTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/SkippedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/StringMatchPatternTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/SuiteBuildingTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/Ticket114Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCase/Ticket90UnicodeExpressionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Tests/SeleniumTestCaseTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/Vagrantfile delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/build/PHPCS/Sniffs/Whitespace/ConcatenationSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/build/PHPCS/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/build/phpmd.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/composer.lock delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/phpunit-selenium-bootstrap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/coverage/dummy.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/CamelCasePage.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/banner.gif delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_check_uncheck.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_click_javascript_page.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_click_page1.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_click_page2.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_confirm.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_count.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_delayed_element.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_doubleclick.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_dummy_page.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_editable.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_element_selection.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_focus_on_blur.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_form_elements.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_form_events.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_frames.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_geometry.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_locators.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_log.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_mouse_buttons.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_moveto.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_multiselect.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_open.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_page.slow.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_prompt.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_reload_onchange_page.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_select.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_select_window.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_select_window_popup.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_send_keys.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_slowloading_page.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_special_keys.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_store_value.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_submit.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_text_patterns.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_type_page1.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_type_page2.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_verifications.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_verify_alert.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_visibility.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/html/test_wait.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/php/file_upload.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit-selenium/selenium-1-tests/selenese/test_selenese_directory.html delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/.php_cs delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/CODE_OF_CONDUCT.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/CONTRIBUTING.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/ChangeLog-4.0.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/ChangeLog-4.1.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/ChangeLog-4.2.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/ChangeLog-4.3.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/ChangeLog-4.4.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/ChangeLog-4.5.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/ChangeLog-4.6.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/ChangeLog-4.7.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/ChangeLog-4.8.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/composer.json delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/phpunit delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/phpunit.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/phpunit.xsd delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Extensions/GroupTestSuite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Extensions/PhptTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Extensions/PhptTestSuite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Extensions/RepeatedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Extensions/TestDecorator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Extensions/TicketListener.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/ForwardCompatibility/Assert.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/ForwardCompatibility/BaseTestListener.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/ForwardCompatibility/TestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/ForwardCompatibility/TestListener.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Assert.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/BaseTestListener.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/And.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/Not.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/Or.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Constraint/Xor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Error.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Error/Notice.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Error/Warning.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/OutputError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/RiskyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/SkippedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/SyntheticError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/TestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/TestFailure.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/TestListener.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/TestResult.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/TestSuite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Framework/Warning.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/Filter/Group.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/Filter/Group/Include.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/Filter/Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Runner/Version.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/TextUI/Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/TextUI/TestRunner.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Blacklist.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Configuration.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/ErrorHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Fileloader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Filesystem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Filter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Getopt.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/GlobalState.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Log/JSON.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Log/JUnit.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Log/TAP.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/PHP.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/PHP/Default.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/PHP/Windows.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Printer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Regex.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/String.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/Type.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/src/Util/XML.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Extensions/PhptTestCaseTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Extensions/RepeatedTestTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Fail/fail.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/AssertTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/BaseTestListenerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/Constraint/CountTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageRegExpTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/ConstraintTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/SuiteTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/TestCaseTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/TestFailureTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/TestImplementorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Framework/TestListenerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1149/Issue1149Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/Issue1216Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/bootstrap1216.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/phpunit1216.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/Issue1265Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/phpunit1265.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/Issue1330Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/phpunit1330.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/Issue1335Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/bootstrap1335.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1337/Issue1337Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1348/Issue1348Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1351.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/ChildProcessClass1351.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1374/Issue1374Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1437/Issue1437Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1468.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1468/Issue1468Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1471.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1471/Issue1471Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1472.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1472/Issue1472Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1570.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/1570/Issue1570Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/2158.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/2158/Issue2158Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/2158/constant.inc delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/244/Issue244Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/322/Issue322Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/322/phpunit322.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/433/Issue433Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/445/Issue445Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/498/Issue498Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/503/Issue503Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/581/Issue581Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/74/Issue74Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/74/NewException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/765/Issue765Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/797/Issue797Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/797/bootstrap797.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/863.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/873-php5.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/873-php7.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/GitHub/873/Issue873Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/1021.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/1021/Issue1021Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/523.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/523/Issue523Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/578.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/578/Issue578Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/684.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/684/Issue684Test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/783.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/783/ChildSuite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/783/OneTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/783/ParentSuite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Regression/Trac/783/TwoTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Runner/BaseTestRunnerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/abstract-test-class.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/concrete-test-class.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dataprovider-testdox.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/debug.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/default.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dependencies-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dependencies.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dependencies2-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dependencies2.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dependencies3-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/dependencies3.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/empty-testcase.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/exception-stack.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/failure-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/failure.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/fatal-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/group.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/help.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/help2.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/ini-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/log-junit.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/options-after-arguments.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-incomplete.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-isolation.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/tap.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Util/ConfigurationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Util/GetoptTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Util/GlobalStateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Util/RegexTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Util/TestDox/NamePrettifierTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Util/TestTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/Util/XMLTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/AbstractTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/Author.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/BankAccount.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/BaseTestListenerSample.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/Book.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/Calculator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ClassWithScalarTypeDeclarations.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageNamespacedFunctionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageNothingTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoveredClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/DummyException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/Failure.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/FailureTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/FatalTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/IniTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/IsolationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/MockRunner.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredFunction.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NoTestCases.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NonStatic.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/NothingTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/OneTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/SampleClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/Singleton.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/StackTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/StatusTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/Struct.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/Success.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/TestIncomplete.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/TestIterator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/TestIterator2.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/TestSkipped.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/TestTestError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/TestWithTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/WasRun.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/bar.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/configuration.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/foo.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/structureExpected.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/phpunit/tests/bootstrap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/cache/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/cache/LICENSE.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/cache/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/cache/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/cache/src/CacheException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/cache/src/CacheItemInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/cache/src/CacheItemPoolInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/cache/src/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/Psr/Log/AbstractLogger.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/Psr/Log/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/Psr/Log/LogLevel.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/Psr/Log/LoggerAwareInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/Psr/Log/LoggerAwareTrait.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/Psr/Log/LoggerInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/Psr/Log/LoggerTrait.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/Psr/Log/NullLogger.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/psr/log/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/.php_cs delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/AUTHORS delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/README.md delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/bin/coveralls delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/box.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/build/config/apigen.neon delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/build/config/phpcs.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/build/config/phpmd.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/circle.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/devtools/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsBundle/Console/Application.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsBundle/CoverallsBundle.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsBundle/Entity/ArrayConvertable.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Api/CoverallsApi.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Api/Jobs.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Collector/CiEnvVarsCollector.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Collector/CloverXmlCoverageCollector.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Collector/GitInfoCollector.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Command/CoverallsV1JobsCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Config/Configuration.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Config/Configurator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Config/CoverallsConfiguration.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/CoverallsV1Bundle.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Entity/Coveralls.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Entity/Exception/RequirementsNotSatisfiedException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Entity/Git/Commit.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Entity/Git/Git.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Entity/Git/Remote.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Entity/JsonFile.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Entity/Metrics.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Entity/SourceFile.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Repository/JobsRepository.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Bundle/CoverallsV1Bundle/Version.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Component/File/Path.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Component/Log/ConsoleLogger.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Component/System/Git/GitCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/src/Satooshi/Component/System/SystemCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsBundle/Console/ApplicationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Api/JobsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Collector/CiEnvVarsCollectorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Collector/CloverXmlCoverageCollectorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Collector/GitInfoCollectorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Command/CoverallsV1JobsCommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/ConfigurationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/ConfiguratorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/coverage_clover.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/coverage_clover_array.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/coverage_clover_glob.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/coverage_clover_invalid.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/coverage_clover_not_found.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/empty.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/exclude_no_stmt_false.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/exclude_no_stmt_invalid.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/exclude_no_stmt_true.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/json_path.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/json_path_not_found.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Config/yaml/src_dir.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Entity/Exception/RequirementsNotSatisfiedExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Entity/Git/CommitTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Entity/Git/GitTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Entity/Git/RemoteTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Entity/JsonFileTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Entity/MetricsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Entity/SourceFileTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Bundle/CoverallsV1Bundle/Repository/JobsRepositoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Component/File/PathTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Component/Log/ConsoleLoggerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/Component/System/Git/GitCommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/Satooshi/ProjectTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/coveralls.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/AbstractClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/RepositoryTest/Coverage0.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/RepositoryTest/Coverage10.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/RepositoryTest/Coverage100.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/RepositoryTest/Coverage70.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/RepositoryTest/Coverage80.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/RepositoryTest/Coverage90.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/TestInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/test.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/test2.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/satooshi/php-coveralls/tests/prj/files/test3.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/build/travis-ci.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/ArrayComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/Comparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/ComparisonFailure.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/DOMNodeComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/DateTimeComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/DoubleComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/ExceptionComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/Factory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/MockObjectComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/NumericComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/ObjectComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/ResourceComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/ScalarComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/SplObjectStorageComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/src/TypeComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/ArrayComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/DoubleComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/FactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/NumericComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/ObjectComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/ResourceComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/ScalarComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/TypeComparatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/_files/Author.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/_files/Book.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/_files/ClassWithToString.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/_files/SampleClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/_files/Struct.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/_files/TestClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/_files/TestClassComparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/autoload.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/comparator/tests/bootstrap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/.php_cs delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/src/Chunk.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/src/Diff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/src/Differ.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/src/LCS/LongestCommonSubsequence.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/src/Line.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/src/Parser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/tests/DifferTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/tests/LCS/TimeEfficientImplementationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/tests/ParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/tests/fixtures/patch.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/diff/tests/fixtures/patch2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/phpunit.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/src/Console.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/src/Runtime.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/tests/ConsoleTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/environment/tests/RuntimeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/exporter/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/exporter/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/exporter/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/exporter/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/exporter/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/exporter/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/exporter/src/Exporter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/exporter/tests/ExporterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/src/Blacklist.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/src/CodeExporter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/src/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/src/Restorer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/src/RuntimeException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/src/Snapshot.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/BlacklistTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/SnapshotTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/_fixture/SnapshotClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/_fixture/SnapshotDomDocument.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/_fixture/SnapshotFunctions.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/global-state/tests/_fixture/SnapshotTrait.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/build.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/src/Context.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/src/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/src/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/recursion-context/tests/ContextTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/version/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/version/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/version/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/version/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/sebastian/version/src/Version.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/.gitattributes delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CONTRIBUTING.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer.conf.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/CLI.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Generator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/HTML.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Markdown.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Text.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/File.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Fixer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Report.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reporting.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Cbf.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Checkstyle.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Csv.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Diff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Emacs.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Full.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Gitblame.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Hgblame.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Info.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Json.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Junit.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Notifysend.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Source.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Summary.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Svnblame.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/VersionControl.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Reports/Xml.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Sniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractPatternSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractScopeSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractVariableSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Classes/DuplicateClassNameStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Classes/OpeningBraceSameLineStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/CodeAnalysis/EmptyStatementStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/CodeAnalysis/ForLoopShouldBeWhileLoopStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/CodeAnalysis/ForLoopWithTestFunctionCallStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/CodeAnalysis/JumbledIncrementerStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/CodeAnalysis/UnconditionalIfStatementStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/CodeAnalysis/UnnecessaryFinalModifierStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/CodeAnalysis/UnusedFunctionParameterStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/CodeAnalysis/UselessOverridingMethodStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Commenting/FixmeStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Commenting/TodoStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/ControlStructures/InlineControlStructureStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Debug/CSSLintStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Debug/ClosureLinterStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Debug/JSHintStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Files/ByteOrderMarkStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Files/EndFileNewlineStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Files/EndFileNoNewlineStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Files/InlineHTMLStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Files/LineEndingsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Files/LineLengthStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Files/LowercasedFilenameStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Files/OneClassPerFileStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Files/OneInterfacePerFileStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Formatting/DisallowMultipleStatementsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Formatting/MultipleStatementAlignmentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Formatting/NoSpaceAfterCastStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Formatting/SpaceAfterCastStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Functions/CallTimePassByReferenceStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Functions/FunctionCallArgumentSpacingStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Functions/OpeningFunctionBraceBsdAllmanStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Functions/OpeningFunctionBraceKernighanRitchieStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Metrics/CyclomaticComplexityStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Metrics/NestingLevelStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/NamingConventions/CamelCapsFunctionNameStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/NamingConventions/ConstructorNameStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/NamingConventions/UpperCaseConstantNameStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/BacktickOperatorStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/CharacterBeforePHPOpeningTagStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/ClosingPHPTagStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/DeprecatedFunctionsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/DisallowAlternativePHPTagsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/DisallowShortOpenTagStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/ForbiddenFunctionsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/LowerCaseConstantStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/LowerCaseKeywordStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/NoSilencedErrorsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/SAPIUsageStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/PHP/UpperCaseConstantStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/Strings/UnnecessaryStringConcatStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/VersionControl/SubversionPropertiesStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/WhiteSpace/DisallowSpaceIndentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/WhiteSpace/DisallowTabIndentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Docs/WhiteSpace/ScopeIndentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowLongArraySyntaxSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowShortArraySyntaxSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/DuplicateClassNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/OpeningBraceSameLineSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/EmptyStatementSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopShouldBeWhileLoopSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopWithTestFunctionCallSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/JumbledIncrementerSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnconditionalIfStatementSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnnecessaryFinalModifierSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnusedFunctionParameterSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UselessOverridingMethodSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/DocCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/FixmeSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/TodoSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/ControlStructures/InlineControlStructureSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/CSSLintSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/ClosureLinterSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/JSHintSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/ByteOrderMarkSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNewlineSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNoNewlineSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/InlineHTMLSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineEndingsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineLengthSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LowercasedFilenameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneClassPerFileSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneInterfacePerFileSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneTraitPerFileSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/DisallowMultipleStatementsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/MultipleStatementAlignmentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/NoSpaceAfterCastSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterCastSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterNotSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/CallTimePassByReferenceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/FunctionCallArgumentSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceBsdAllmanSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceKernighanRitchieSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/CyclomaticComplexitySniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/NestingLevelSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/CamelCapsFunctionNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/ConstructorNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/UpperCaseConstantNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/BacktickOperatorSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/CharacterBeforePHPOpeningTagSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ClosingPHPTagSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DeprecatedFunctionsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowAlternativePHPTagsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowShortOpenTagSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ForbiddenFunctionsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseConstantSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseKeywordSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/NoSilencedErrorsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SAPIUsageSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SyntaxSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/UpperCaseConstantSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Strings/UnnecessaryStringConcatSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/VersionControl/SubversionPropertiesSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowSpaceIndentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowTabIndentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/ScopeIndentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/IncorrectPatternException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/CSS/BrowserSpecificStylesSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/DisallowSelfActionsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeOwnSystemSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeSystemSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/UnusedSystemSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Commenting/FunctionCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/DebugCodeSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/FirebugConsoleSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/AssignThisSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/CreateWidgetTypeCallbackSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/DisallowNewWidgetSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/AjaxNullComparisonSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/EvalObjectFactorySniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/GetRequestDataSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/ReturnFunctionValueSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Strings/JoinStringsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Classes/ClassDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Commenting/ClassCommentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Commenting/FileCommentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Commenting/FunctionCommentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Commenting/InlineCommentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/ControlStructures/ControlSignatureStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/ControlStructures/MultiLineConditionStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Files/IncludingFileStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Files/LineLengthStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Formatting/MultiLineAssignmentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Functions/FunctionCallSignatureStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Functions/FunctionDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/Functions/ValidDefaultValueStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/NamingConventions/ValidClassNameStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/NamingConventions/ValidFunctionNameStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/NamingConventions/ValidVariableNameStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/WhiteSpace/ObjectOperatorIndentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/WhiteSpace/ScopeClosingBraceStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Docs/WhiteSpace/ScopeIndentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Classes/ClassDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/ClassCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FileCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FunctionCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/InlineCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/ControlSignatureSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/MultiLineConditionSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Files/IncludingFileSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Formatting/MultiLineAssignmentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionCallSignatureSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/ValidDefaultValueSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidClassNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidFunctionNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidVariableNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ObjectOperatorIndentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeIndentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PHPCS/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Docs/Classes/ClassDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Docs/Files/SideEffectsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Classes/ClassDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Methods/CamelCapsMethodNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Docs/Classes/ClassDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Docs/Classes/PropertyDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Docs/ControlStructures/ControlStructureSpacingStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Docs/ControlStructures/ElseIfDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Docs/ControlStructures/SwitchDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Docs/Files/EndFileNewlineStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Docs/Methods/MethodDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Docs/Namespaces/NamespaceDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Docs/Namespaces/UseDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/ClassDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/PropertyDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ControlStructureSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ElseIfDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/SwitchDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/ClosingTagSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/EndFileNewlineSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionCallSignatureSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionClosingBraceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/MethodDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/NamespaceDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/UseDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Arrays/ArrayBracketSpacingStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Arrays/ArrayDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Classes/LowercaseClassKeywordsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Classes/SelfMemberReferenceStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Commenting/DocCommentAlignmentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Commenting/FunctionCommentThrowTagStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/ControlStructures/ForEachLoopDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/ControlStructures/ForLoopDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/ControlStructures/LowercaseDeclarationStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Functions/FunctionDuplicateArgumentStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Functions/LowercaseFunctionKeywordsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Scope/StaticThisUsageStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/Strings/EchoedStringsStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/WhiteSpace/CastSpacingStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/WhiteSpace/FunctionOpeningBraceStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/WhiteSpace/LanguageConstructSpacingStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/WhiteSpace/ObjectOperatorSpacingStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/WhiteSpace/ScopeKeywordSpacingStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Docs/WhiteSpace/SemicolonSpacingStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayBracketSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionClosingBraceSpaceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionNameSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionOpeningBraceSpaceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColonSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColourDefinitionSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DisallowMultipleStyleDefinitionsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateClassDefinitionSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateStyleDefinitionSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyClassDefinitionSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyStyleDefinitionSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ForbiddenStylesSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/IndentationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/LowercaseStyleDefinitionSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/MissingColonSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/NamedColoursSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/OpacitySniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/SemicolonSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ShorthandSizeSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassFileNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/DuplicatePropertySniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/LowercaseClassKeywordsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/SelfMemberReferenceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ValidClassNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/BlockCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClassCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClosingDeclarationCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/DocCommentAlignmentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/EmptyCatchCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FileCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentThrowTagSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/InlineCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/LongConditionClosingCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/PostStatementCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ControlSignatureSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ElseIfDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForEachLoopDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForLoopDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/InlineIfDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/LowercaseDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/SwitchDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JSLintSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JavaScriptLintSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Files/FileExtensionSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Formatting/OperatorBracketSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationArgumentSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDuplicateArgumentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/GlobalFunctionSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/LowercaseFunctionKeywordsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/MultiLineFunctionDeclarationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidFunctionNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidVariableNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/DisallowObjectStringIndexSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectInstantiationSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectMemberCommaSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ComparisonOperatorUsageSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/IncrementDecrementUsageSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ValidLogicalOperatorsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/CommentedOutCodeSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowBooleanStatementSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowComparisonAssignmentSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowInlineIfSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowMultipleAssignmentsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowObEndFlushSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowSizeFunctionsInLoopsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DiscouragedFunctionsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EmbeddedPhpSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EvalSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/ForbiddenFunctionsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/GlobalKeywordSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/HeredocSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/InnerFunctionsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/LowercasePHPFunctionsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/NonExecutableCodeSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MemberVarScopeSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MethodScopeSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/StaticThisUsageSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/ConcatenationSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/DoubleQuoteUsageSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/EchoedStringsSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/CastSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionClosingBraceSpaceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionOpeningBraceSpaceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LanguageConstructSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LogicalOperatorSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/MemberVarSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ObjectOperatorSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/OperatorSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/PropertyLabelSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeKeywordSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SemicolonSpacingSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SuperfluousWhitespaceSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Docs/Debug/CodeAnalyzerStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Docs/Files/ClosingTagStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Docs/NamingConventions/ValidVariableNameStandard.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Debug/CodeAnalyzerSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Files/ClosingTagSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/NamingConventions/ValidVariableNameSniff.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/ruleset.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/CSS.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/Comment.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/JS.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/PHP.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/CodeSniffer/Tokens.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/licence.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/phpcs.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/scripts/build-phar.php delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/scripts/phpcbf delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/scripts/phpcbf.bat delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/scripts/phpcs delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/scripts/phpcs-svn-pre-commit delete mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/squizlabs/php_codesniffer/scripts/phpcs.bat delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/AbstractAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/AdapterInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/ApcuAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/ArrayAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/ChainAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/DoctrineAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/FilesystemAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/FilesystemAdapterTrait.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/NullAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/PdoAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/PhpArrayAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/PhpFilesAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/ProxyAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/RedisAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/TagAwareAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Adapter/TagAwareAdapterInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/CacheItem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/DoctrineProvider.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Exception/CacheException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Exception/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/AbstractRedisAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/AdapterTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/ApcuAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/ArrayAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/ChainAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/DoctrineAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/FilesystemAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/MaxIdLengthAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/NamespacedProxyAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/NullAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/PdoAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/PdoDbalAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/PhpArrayAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/PhpArrayAdapterWithFallbackTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/PhpFilesAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/PredisAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/PredisClusterAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/ProxyAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/RedisAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/RedisArrayAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Adapter/TagAwareAdapterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/CacheItemTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/DoctrineProviderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/Tests/Fixtures/ExternalAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/cache/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/ConfigCache.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/ConfigCacheFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/ConfigCacheFactoryInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/ConfigCacheInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/ArrayNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/BaseNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/BooleanNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/ArrayNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/BooleanNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/EnumNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/ExprBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/FloatNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/IntegerNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/MergeBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/NodeBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/NodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/NodeParentInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/NormalizationBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/NumericNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/ParentNodeDefinitionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/ScalarNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/TreeBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/ValidationBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Builder/VariableNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/ConfigurationInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Dumper/XmlReferenceDumper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Dumper/YamlReferenceDumper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/EnumNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Exception/DuplicateKeyException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Exception/Exception.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Exception/ForbiddenOverwriteException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Exception/InvalidConfigurationException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Exception/InvalidDefinitionException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Exception/InvalidTypeException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Exception/UnsetKeyException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/FloatNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/IntegerNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/NodeInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/NumericNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/Processor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/PrototypeNodeInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/PrototypedArrayNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/ScalarNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Definition/VariableNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Exception/FileLoaderImportCircularReferenceException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Exception/FileLoaderLoadException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Exception/FileLocatorFileNotFoundException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/FileLocator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/FileLocatorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Loader/DelegatingLoader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Loader/FileLoader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Loader/Loader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Loader/LoaderInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Loader/LoaderResolver.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Loader/LoaderResolverInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Resource/ClassExistenceResource.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Resource/DirectoryResource.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Resource/FileExistenceResource.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Resource/FileResource.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Resource/ResourceInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Resource/SelfCheckingResourceChecker.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Resource/SelfCheckingResourceInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/ResourceCheckerConfigCache.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/ResourceCheckerConfigCacheFactory.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/ResourceCheckerInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/ConfigCacheFactoryTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/ConfigCacheTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/ArrayNodeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/BooleanNodeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/Builder/BooleanNodeDefinitionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/Builder/EnumNodeDefinitionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/Builder/ExprBuilderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/Builder/NodeBuilderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/Builder/NumericNodeDefinitionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/Builder/TreeBuilderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/Dumper/XmlReferenceDumperTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/Dumper/YamlReferenceDumperTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/EnumNodeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/FinalizationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/FloatNodeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/IntegerNodeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/MergeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/NormalizationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/PrototypedArrayNodeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Definition/ScalarNodeTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Exception/FileLoaderLoadExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/FileLocatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Again/foo.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Builder/BarNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Builder/NodeBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Builder/VariableNodeDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Configuration/ExampleConfiguration.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Util/document_type.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Util/invalid.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Util/invalid_schema.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Util/schema.xsd delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/Util/valid.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Fixtures/foo.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Loader/DelegatingLoaderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Loader/FileLoaderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Loader/LoaderResolverTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Loader/LoaderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Resource/ClassExistenceResourceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Resource/DirectoryResourceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Resource/FileExistenceResourceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Resource/FileResourceTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Resource/ResourceStub.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/ResourceCheckerConfigCacheTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Tests/Util/XmlUtilsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/Util/XmlUtils.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/config/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Application.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Command/Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Command/HelpCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Command/ListCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Command/LockableTrait.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/ConsoleEvents.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Descriptor/ApplicationDescription.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Descriptor/Descriptor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Descriptor/DescriptorInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Descriptor/JsonDescriptor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Descriptor/MarkdownDescriptor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Descriptor/TextDescriptor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Descriptor/XmlDescriptor.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Event/ConsoleCommandEvent.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Event/ConsoleEvent.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Event/ConsoleExceptionEvent.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Event/ConsoleTerminateEvent.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Exception/CommandNotFoundException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Exception/ExceptionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Exception/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Exception/InvalidOptionException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Exception/LogicException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Exception/RuntimeException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Formatter/OutputFormatter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Formatter/OutputFormatterInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Formatter/OutputFormatterStyle.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/DebugFormatterHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/DescriptorHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/FormatterHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/Helper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/HelperInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/HelperSet.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/InputAwareHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/ProcessHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/ProgressBar.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/ProgressIndicator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/QuestionHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/SymfonyQuestionHelper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/Table.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/TableCell.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/TableSeparator.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Helper/TableStyle.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/ArgvInput.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/ArrayInput.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/Input.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/InputArgument.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/InputAwareInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/InputDefinition.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/InputInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/InputOption.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/StreamableInputInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Input/StringInput.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Logger/ConsoleLogger.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Output/BufferedOutput.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Output/ConsoleOutput.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Output/ConsoleOutputInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Output/NullOutput.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Output/Output.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Output/OutputInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Output/StreamOutput.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Question/ChoiceQuestion.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Question/ConfirmationQuestion.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Question/Question.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Resources/bin/hiddeninput.exe delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Style/OutputStyle.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Style/StyleInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Style/SymfonyStyle.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Terminal.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tester/ApplicationTester.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tester/CommandTester.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/ApplicationTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Command/CommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Command/HelpCommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Command/ListCommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Command/LockableTraitTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/DescriptorApplicationMbString.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/DescriptorCommand3.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/DescriptorCommandMbString.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/DummyOutput.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Foo1Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Foo2Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Foo3Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Foo4Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Foo5Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Foo6Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/FooCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/FooLock2Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/FooLockCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_10.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_11.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_12.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_13.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_14.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_15.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_16.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_17.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_8.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_9.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/interactive_command_1.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/interactive_output_1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_10.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_11.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_13.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_14.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_15.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_16.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_17.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_8.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_9.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/TestCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_1.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_1.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_1.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_2.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_2.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_2.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_mbstring.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_mbstring.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_run1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_run2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_run3.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/application_run4.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_1.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_1.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_1.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_2.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_2.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_2.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_mbstring.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/command_mbstring.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_1.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_1.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_2.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_2.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_3.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_3.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_4.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_4.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_1.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_1.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_2.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_2.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_3.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_3.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_4.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_4.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_1.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_1.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_1.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_1.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_2.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_2.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_2.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_2.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_3.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_3.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_3.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_3.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_4.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_4.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_4.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_4.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_5.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_5.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_5.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_5.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_6.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_6.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_6.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_6.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_with_style.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_with_style.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_with_style.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_with_style.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.txt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.xml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/AbstractQuestionHelperTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/HelperSetTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/HelperTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/ProgressBarTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/ProgressIndicatorTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/TableStyleTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Helper/TableTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Input/ArgvInputTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Input/ArrayInputTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Input/InputArgumentTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Input/InputDefinitionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Input/InputOptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Input/InputTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Input/StringInputTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Output/NullOutputTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Output/OutputTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Output/StreamOutputTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/TerminalTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/Tests/Tester/CommandTesterTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/console/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/BufferingLogger.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Debug.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/DebugClassLoader.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/ErrorHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Exception/ClassNotFoundException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Exception/ContextErrorException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Exception/FatalErrorException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Exception/FatalThrowableError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Exception/FlattenException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Exception/OutOfMemoryException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Exception/SilencedErrorContext.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Exception/UndefinedFunctionException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Exception/UndefinedMethodException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/ExceptionHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Resources/ext/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Resources/ext/config.m4 delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Resources/ext/config.w32 delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Resources/ext/php_symfony_debug.h delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Resources/ext/symfony_debug.c delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Resources/ext/tests/001.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Resources/ext/tests/002.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Resources/ext/tests/002_1.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Resources/ext/tests/003.phpt delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/DebugClassLoaderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/ErrorHandlerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/ExceptionHandlerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/ClassAlias.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/DeprecatedClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/DeprecatedInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/NonDeprecatedInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/PEARClass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/ToStringThrower.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/casemismatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/notPsr0Bis.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/psr4/Psr4CaseMismatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures/reallyNotPsr0.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/Fixtures2/RequiredTwice.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/HeaderMock.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/Tests/MockExceptionHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/debug/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Debug/WrappedListener.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Event.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/EventDispatcher.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/EventDispatcherInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/EventSubscriberInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/GenericEvent.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Tests/EventTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/event-dispatcher/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/Compiler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/Expression.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/Lexer.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/Node/ArgumentsNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/Node/ArrayNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/Node/ConstantNode.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/Node/Node.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/Parser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/ParserCache/ArrayParserCache.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/ParserCache/ParserCacheAdapter.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/SyntaxError.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/Token.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/TokenStream.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/expression-language/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Exception/ExceptionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Exception/FileNotFoundException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Exception/IOException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Exception/IOExceptionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Filesystem.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/LockHandler.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Tests/ExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Tests/FilesystemTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Tests/FilesystemTestCase.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Tests/Fixtures/MockStream/MockStream.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/Tests/LockHandlerTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/filesystem/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/polyfill-mbstring/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/polyfill-mbstring/bootstrap.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/polyfill-mbstring/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Exception/ExceptionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Exception/InvalidArgumentException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Exception/LogicException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Exception/ProcessFailedException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Exception/ProcessTimedOutException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Exception/RuntimeException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/ExecutableFinder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/InputStream.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/PhpExecutableFinder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/PhpProcess.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Pipes/AbstractPipes.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Pipes/PipesInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Pipes/UnixPipes.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Pipes/WindowsPipes.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Process.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/ProcessBuilder.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/ProcessUtils.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/ExecutableFinderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/NonStopableProcess.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/PhpExecutableFinderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/PhpProcessTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/ProcessBuilderTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/ProcessTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/ProcessUtilsTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/Tests/SignalListener.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/process/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/Section.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/Stopwatch.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/StopwatchEvent.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/StopwatchPeriod.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/Tests/StopwatchEventTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/Tests/StopwatchTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/stopwatch/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Command/LintCommand.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Dumper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Escaper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Exception/DumpException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Exception/ExceptionInterface.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Exception/ParseException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Exception/RuntimeException.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Inline.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Parser.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Command/LintCommandTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/DumperTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsAnchorAlias.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsBasicTests.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsBlockMapping.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsDocumentSeparator.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsErrorTests.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsFlowCollections.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsFoldedScalars.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsNullsAndEmpties.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/YtsTypeTransfers.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/arrow.gif delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/embededPhp.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/escapedCharacters.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/index.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/multiple_lines_as_literal_block.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/sfComments.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/sfCompact.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/sfMergeKey.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/sfObjects.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/sfQuotes.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/sfTests.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/Fixtures/unindentedCollections.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/InlineTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/ParseExceptionTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/ParserTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Tests/YamlTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Unescaper.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/Yaml.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/symfony/yaml/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/tecnickcom/tcpdf/README.TXT delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/tecnickcom/tcpdf/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/.composer-auth.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/.styleci.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/.travis.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/CHANGELOG.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/LICENSE delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/README.md delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/appveyor.yml delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/composer.json delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/phpunit.xml.dist delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/src/Assert.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/webmozart/assert/tests/AssertTest.php delete mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.7/view_create.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/.editorconfig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/.eslintignore create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/.eslintrc.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/CODE_OF_CONDUCT.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/CONTRIBUTING.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/ChangeLog rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/DCO (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/LICENSE (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/README create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/RELEASE-DATE-4.8.0 create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/ajax.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/browse_foreigners.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/changelog.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/chk_rel.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/composer.lock create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/config.inc.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/config.inc.php => phpmyadmin-4.8/config.sample.inc.php} (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/db_central_columns.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/db_datadict.php (82%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/db_designer.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/db_events.php (76%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/db_export.php (85%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/db_import.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/db_multi_table_query.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/db_operations.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/db_qbe.php (87%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/db_routines.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/db_search.php (85%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/db_sql.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/db_sql_autocomplete.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/db_sql_format.php (94%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/db_structure.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/db_tracking.php (76%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/db_triggers.php (75%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/chart.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/column_chart.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/line_chart.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/pie_chart.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/pma-relations-links.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/pma-relations-relation-link.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/pma-relations-relation-name.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/pma-relations-relation-view-link.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/query_result_operations.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/scatter_chart.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/spline_chart.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/timeline_chart.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_images/usergroups.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/bookmarks.txt (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/charts.txt (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/config.txt (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/copyright.txt (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/credits.txt (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/developers.txt (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/faq.txt (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/glossary.txt (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/import_export.txt (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/index.txt (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/intro.txt (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/other.txt (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/privileges.txt (99%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/relations.txt (99%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/require.txt (90%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_sources/security.txt create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_sources/settings.txt rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/setup.txt (85%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_sources/themes.txt rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/transformations.txt (94%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_sources/two_factor.txt rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/user.txt (80%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_sources/vendors.txt (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/ajax-loader.gif (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/basic.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/classic.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/comment-bright.png (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/comment-close.png (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/comment.png (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/default.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/doctools.js (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_static/down-pressed.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/down.png (76%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_static/file.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_static/jquery.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_static/minus.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_static/plus.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/pygments.css (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/searchtools.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/sidebar.js (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_static/underscore.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/_static/up-pressed.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/up.png (76%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/_static/websupport.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/bookmarks.html (85%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/charts.html (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/config.html (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/copyright.html (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/credits.html (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/developers.html (86%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/faq.html (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/genindex.html (75%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/glossary.html (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/import_export.html (95%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/index.html rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/intro.html (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/other.html (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/privileges.html (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/relations.html (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/require.html (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/search.html (92%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/searchindex.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/security.html create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/settings.html rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/setup.html (79%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/themes.html rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/transformations.html (90%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/doc/html/two_factor.html rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/user.html (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/doc/html/vendors.html (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/error_report.php (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/examples/config.manyhosts.inc.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/examples/openid.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/examples/signon-script.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/examples/signon.php (91%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/export.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/favicon.ico (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/gis_data_editor.php (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/import.php (80%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/import_status.php (92%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/index.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/ajax.js (75%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/chart.js (87%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/codemirror/addon/lint/sql-lint.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/common.js (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/config.js (82%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/console.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/cross_framing_protection.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/db_central_columns.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/db_multi_table_query.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/db_operations.js (77%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/db_qbe.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/db_search.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/db_structure.js (76%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/db_tracking.js (78%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/designer/database.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js/pmd => phpmyadmin-4.8/js/designer}/history.js (76%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/designer/init.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/designer/move.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/designer/objects.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/designer/page.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/doclinks.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/error_report.js (75%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/export.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/export_output.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/functions.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/gis_data_editor.js (78%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/import.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/indexes.js (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/jqplot/plugins/jqplot.byteFormatter.js (96%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/keyhandler.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/makegrid.js (89%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/menu-resizer.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/messages.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/microhistory.js (93%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/multi_column_sort.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/navigation.js (87%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/normalization.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/page_settings.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/replication.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/rte.js (93%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/server_databases.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/server_plugins.js (77%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/server_privileges.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/server_status_advisor.js (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/server_status_monitor.js (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/server_status_processes.js (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/server_status_queries.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/server_status_sorter.js (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/server_status_variables.js (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/server_user_groups.js (82%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/server_variables.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/shortcuts_handler.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/sql.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/tbl_change.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/tbl_chart.js (80%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/tbl_find_replace.js (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/tbl_gis_visualization.js (90%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/tbl_operations.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/tbl_relation.js (77%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/tbl_select.js (86%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/tbl_structure.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/tbl_tracking.js (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/tbl_zoom_plot_jqplot.js (77%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/transformations/image_upload.js (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/transformations/json.js (85%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/transformations/json_editor.js (77%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/transformations/sql_editor.js (78%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/transformations/xml.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/transformations/xml_editor.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/u2f.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/codemirror/LICENSE rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/codemirror/addon/hint/show-hint.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/codemirror/addon/hint/show-hint.js (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/codemirror/addon/hint/sql-hint.js (77%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/codemirror/addon/lint/lint.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/codemirror/addon/lint/lint.js (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/codemirror/addon/runmode/runmode.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/codemirror/lib/codemirror.css (91%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/codemirror/lib/codemirror.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/codemirror/mode/javascript/javascript.js (78%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/codemirror/mode/sql/sql.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/codemirror/mode/xml/xml.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/jquery.jqplot.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/plugins/jqplot.barRenderer.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/plugins/jqplot.canvasAxisLabelRenderer.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/plugins/jqplot.canvasTextRenderer.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/plugins/jqplot.categoryAxisRenderer.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/plugins/jqplot.cursor.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/plugins/jqplot.dateAxisRenderer.js (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/jqplot/plugins/jqplot.enhancedPieLegendRenderer.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/plugins/jqplot.highlighter.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/plugins/jqplot.pieRenderer.js (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jqplot/plugins/jqplot.pointLabels.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/MIT-LICENSE.txt (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/additional-methods.js (86%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/jquery/jquery-migrate.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery-ui-timepicker-addon.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery-ui.min.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.ba-hashchange-1.3.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.debounce-1.0.5.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.event.drag-2.2.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.fullscreen.js (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/jquery/jquery.md5.js create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/jquery/jquery.min.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.mousewheel.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.sortableTable.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.svg.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.tablesorter.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.uitablefilter.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/jquery/jquery.validate.js (91%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/js.cookie.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/OpenLayers.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/img/blank.gif (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/cloud-popup-relative.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/drag-rectangle-off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/drag-rectangle-on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/east-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/layer-switcher-maximize.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/layer-switcher-minimize.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/marker-blue.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/marker-gold.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/marker-green.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/marker.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/measuring-stick-off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/measuring-stick-on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/north-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/panning-hand-off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/panning-hand-on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/slider.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/south-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/west-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/zoom-minus-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/zoom-plus-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/zoom-world-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/img/zoombar.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/google.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/google.tidy.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/ie6-style.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/ie6-style.tidy.css (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/add_point_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/add_point_on.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/img/blank.gif (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/img/close.gif (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/drag-rectangle-off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/drag-rectangle-on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/draw_line_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/draw_line_on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/draw_point_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/draw_point_on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/draw_polygon_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/draw_polygon_on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/editing_tool_bar.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/move_feature_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/move_feature_on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/navigation_history.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/img/overview_replacement.gif (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/pan-panel-NOALPHA.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/pan-panel.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/pan_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/pan_on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/panning-hand-off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/panning-hand-on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/remove_point_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/remove_point_on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/ruler.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/save_features_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/save_features_on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/view_next_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/view_next_on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/view_previous_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/view_previous_on.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/zoom-panel-NOALPHA.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/openlayers/theme/default/img/zoom-panel.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/style.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/style.mobile.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/style.mobile.tidy.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/openlayers/theme/default/style.tidy.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/sprintf.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js/tracekit => phpmyadmin-4.8/js/vendor}/tracekit.js (92%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/js/vendor/u2f-api-polyfill.js rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/js => phpmyadmin-4.8/js/vendor}/zxcvbn.js (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/js/whitelist.php (89%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/advisory_rules.txt (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/certs/12d55845.0 create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/certs/2e5ac55d.0 rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/certs/4042bcee.0 (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/certs/6187b673.0 (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/certs/README.rst create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/certs/cacert.pem create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/check_user_privileges.inc.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Advisor.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Bookmark.php (75%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/BrowseForeigners.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/CentralColumns.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Charsets.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/CheckUserPrivileges.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Config.php (85%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/config => phpmyadmin-4.8/libraries/classes/Config}/ConfigFile.php (89%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Descriptions.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/config => phpmyadmin-4.8/libraries/classes/Config}/Form.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/config => phpmyadmin-4.8/libraries/classes/Config}/FormDisplay.php (90%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/FormDisplayTemplate.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/BaseForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/BaseFormList.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Page/BrowseForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Page/DbStructureForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Page/EditForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Page/ExportForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Page/ImportForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Page/NaviForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Page/PageFormList.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Page/SqlForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Page/TableStructureForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Setup/ConfigForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Setup/ExportForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Setup/FeaturesForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Setup/ImportForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Setup/MainForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Setup/NaviForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Setup/ServersForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Setup/SetupFormList.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/Setup/SqlForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/User/ExportForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/User/FeaturesForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/User/ImportForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/User/MainForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/User/NaviForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/User/SqlForm.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/Forms/User/UserFormList.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/config => phpmyadmin-4.8/libraries/classes/Config}/PageSettings.php (81%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Config/ServerConfigChecks.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/config => phpmyadmin-4.8/libraries/classes/Config}/Validator.php (90%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Console.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Controllers/Controller.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/controllers/database => phpmyadmin-4.8/libraries/classes/Controllers/Database}/DatabaseStructureController.php (82%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Controllers/DatabaseController.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/controllers/server => phpmyadmin-4.8/libraries/classes/Controllers/Server}/ServerBinlogController.php (86%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Controllers/Server/ServerCollationsController.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Controllers/Server/ServerDatabasesController.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Controllers/Server/ServerEnginesController.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/controllers/server => phpmyadmin-4.8/libraries/classes/Controllers/Server}/ServerPluginsController.php (79%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/controllers/server => phpmyadmin-4.8/libraries/classes/Controllers/Server}/ServerVariablesController.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/controllers/table => phpmyadmin-4.8/libraries/classes/Controllers/Table}/TableChartController.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/controllers/table => phpmyadmin-4.8/libraries/classes/Controllers/Table}/TableGisVisualizationController.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/controllers/table => phpmyadmin-4.8/libraries/classes/Controllers/Table}/TableIndexesController.php (86%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Controllers/Table/TableRelationController.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/controllers/table => phpmyadmin-4.8/libraries/classes/Controllers/Table}/TableSearchController.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/controllers/table => phpmyadmin-4.8/libraries/classes/Controllers/Table}/TableStructureController.php (86%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Controllers/TableController.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Core.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/CreateAddField.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Database/DatabaseList.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Database/Designer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Database/Designer/Common.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Database/MultiTableQuery.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Database/Qbe.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Database/Search.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/DatabaseInterface.php (79%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Dbi/DbiDummy.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Dbi/DbiExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Dbi/DbiMysql.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Dbi/DbiMysqli.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/di => phpmyadmin-4.8/libraries/classes/Di}/AliasItem.php (80%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Di/Container.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Di/ContainerException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Di/FactoryItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Di/Item.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Di/NotFoundException.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/di => phpmyadmin-4.8/libraries/classes/Di}/ReflectorItem.php (81%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Di/ServiceItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Di/ValueItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Display/ChangePassword.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Display/CreateTable.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Display/Export.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Display/GitRevision.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Display/Import.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Display/ImportAjax.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Display/Results.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Encoding.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Bdb.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Berkeleydb.php (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Binlog.php (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Innobase.php (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Innodb.php (99%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Memory.php (89%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Merge.php (77%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Engines/MrgMyisam.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Myisam.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Ndbcluster.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/engines => phpmyadmin-4.8/libraries/classes/Engines}/Pbxt.php (95%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Engines/PerformanceSchema.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Error.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/ErrorHandler.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/ErrorReport.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Export.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/File.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/FileListing.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Font.php (92%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Footer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisFactory.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisGeometry.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisGeometryCollection.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisLineString.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisMultiLineString.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisMultiPoint.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisMultiPolygon.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisPoint.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisPolygon.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Gis/GisVisualization.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Header.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Import.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Index.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/IndexColumn.php (95%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/InsertEdit.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/IpAllowDeny.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Language.php (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/LanguageManager.php (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Linter.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/ListAbstract.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/ListDatabase.php (85%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Logging.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Menu.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Message.php (98%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Mime.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/MultSubmits.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation => phpmyadmin-4.8/libraries/classes/Navigation}/Navigation.php (92%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Navigation/NavigationHeader.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation => phpmyadmin-4.8/libraries/classes/Navigation}/NavigationTree.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation => phpmyadmin-4.8/libraries/classes/Navigation}/NodeFactory.php (93%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Navigation/Nodes/Node.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeColumn.php (89%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeColumnContainer.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeDatabase.php (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeDatabaseChild.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeDatabaseChildContainer.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeDatabaseContainer.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeEvent.php (91%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeEventContainer.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeFunction.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeFunctionContainer.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeIndex.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeIndexContainer.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeProcedure.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeProcedureContainer.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeTable.php (91%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeTableContainer.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeTrigger.php (89%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeTriggerContainer.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeView.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/navigation/nodes => phpmyadmin-4.8/libraries/classes/Navigation/Nodes}/NodeViewContainer.php (83%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Normalization.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/OpenDocument.php (95%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Operations.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/OutputBuffering.php (97%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/ParseAnalyze.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Partition.php (89%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Pdf.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/auth => phpmyadmin-4.8/libraries/classes/Plugins/Auth}/AuthenticationConfig.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/auth => phpmyadmin-4.8/libraries/classes/Plugins/Auth}/AuthenticationCookie.php (79%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/Auth/AuthenticationHttp.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/Auth/AuthenticationSignon.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/AuthenticationPlugin.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportCodegen.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportCsv.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportExcel.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportHtmlword.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportJson.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportLatex.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportMediawiki.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportOds.php (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportOdt.php (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportPdf.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportPhparray.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportSql.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportTexytext.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportXml.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export}/ExportYaml.php (89%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/Export/Helpers/Pdf.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/export => phpmyadmin-4.8/libraries/classes/Plugins/Export/Helpers}/TableProperty.php (95%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/Export/README rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins => phpmyadmin-4.8/libraries/classes/Plugins}/ExportPlugin.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins => phpmyadmin-4.8/libraries/classes/Plugins}/IOTransformationsPlugin.php (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import => phpmyadmin-4.8/libraries/classes/Plugins/Import}/AbstractImportCsv.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import => phpmyadmin-4.8/libraries/classes/Plugins/Import}/ImportCsv.php (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import => phpmyadmin-4.8/libraries/classes/Plugins/Import}/ImportLdi.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import => phpmyadmin-4.8/libraries/classes/Plugins/Import}/ImportMediawiki.php (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import => phpmyadmin-4.8/libraries/classes/Plugins/Import}/ImportOds.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import => phpmyadmin-4.8/libraries/classes/Plugins/Import}/ImportShp.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import => phpmyadmin-4.8/libraries/classes/Plugins/Import}/ImportSql.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import => phpmyadmin-4.8/libraries/classes/Plugins/Import}/ImportXml.php (89%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/Import/README rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import => phpmyadmin-4.8/libraries/classes/Plugins/Import}/ShapeFileImport.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import/upload => phpmyadmin-4.8/libraries/classes/Plugins/Import/Upload}/UploadApc.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import/upload => phpmyadmin-4.8/libraries/classes/Plugins/Import/Upload}/UploadNoplugin.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import/upload => phpmyadmin-4.8/libraries/classes/Plugins/Import/Upload}/UploadProgress.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/import/upload => phpmyadmin-4.8/libraries/classes/Plugins/Import/Upload}/UploadSession.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins => phpmyadmin-4.8/libraries/classes/Plugins}/ImportPlugin.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/dia => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Dia}/Dia.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/dia => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Dia}/DiaRelationSchema.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/dia => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Dia}/RelationStatsDia.php (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/dia => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Dia}/TableStatsDia.php (96%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/Schema/Eps/Eps.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/eps => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Eps}/EpsRelationSchema.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/eps => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Eps}/RelationStatsEps.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/eps => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Eps}/TableStatsEps.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema => phpmyadmin-4.8/libraries/classes/Plugins/Schema}/ExportRelationSchema.php (91%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/Schema/Pdf/Pdf.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/pdf => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Pdf}/PdfRelationSchema.php (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/pdf => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Pdf}/RelationStatsPdf.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/pdf => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Pdf}/TableStatsPdf.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema => phpmyadmin-4.8/libraries/classes/Plugins/Schema}/RelationStats.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema => phpmyadmin-4.8/libraries/classes/Plugins/Schema}/SchemaDia.php (85%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema => phpmyadmin-4.8/libraries/classes/Plugins/Schema}/SchemaEps.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema => phpmyadmin-4.8/libraries/classes/Plugins/Schema}/SchemaPdf.php (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema => phpmyadmin-4.8/libraries/classes/Plugins/Schema}/SchemaSvg.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/svg => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Svg}/RelationStatsSvg.php (94%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/Schema/Svg/Svg.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/svg => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Svg}/SvgRelationSchema.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema/svg => phpmyadmin-4.8/libraries/classes/Plugins/Schema/Svg}/TableStatsSvg.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/schema => phpmyadmin-4.8/libraries/classes/Plugins/Schema}/TableStats.php (85%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins => phpmyadmin-4.8/libraries/classes/Plugins}/SchemaPlugin.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/Bool2TextTransformationsPlugin.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/CodeMirrorEditorTransformationPlugin.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/DateFormatTransformationsPlugin.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/DownloadTransformationsPlugin.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/ExternalTransformationsPlugin.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/FormattedTransformationsPlugin.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/HexTransformationsPlugin.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/ImageLinkTransformationsPlugin.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/ImageUploadTransformationsPlugin.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/InlineTransformationsPlugin.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/LongToIPv4TransformationsPlugin.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/PreApPendTransformationsPlugin.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/RegexValidationTransformationsPlugin.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/SQLTransformationsPlugin.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/SubstringTransformationsPlugin.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/TextFileUploadTransformationsPlugin.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/TextImageLinkTransformationsPlugin.php (78%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/abs => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Abs}/TextLinkTransformationsPlugin.php (85%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/input => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Input}/Image_JPEG_Upload.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/input => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Input}/Text_Plain_FileUpload.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/input => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Input}/Text_Plain_Iptobinary.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/input => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Input}/Text_Plain_JsonEditor.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/input => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Input}/Text_Plain_RegexValidation.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/input => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Input}/Text_Plain_SqlEditor.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/input => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Input}/Text_Plain_XmlEditor.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Application_Octetstream_Download.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Application_Octetstream_Hex.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Image_JPEG_Inline.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Image_JPEG_Link.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Image_PNG_Inline.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Text_Octetstream_Sql.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Text_Plain_Binarytoip.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Text_Plain_Bool2Text.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Text_Plain_Dateformat.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Text_Plain_External.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Text_Plain_Formatted.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Text_Plain_Imagelink.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Text_Plain_Json.php (80%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output/Text_Plain_Sql.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations/output => phpmyadmin-4.8/libraries/classes/Plugins/Transformations/Output}/Text_Plain_Xml.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations => phpmyadmin-4.8/libraries/classes/Plugins/Transformations}/README (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations => phpmyadmin-4.8/libraries/classes/Plugins/Transformations}/TEMPLATE (86%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations => phpmyadmin-4.8/libraries/classes/Plugins/Transformations}/TEMPLATE_ABSTRACT (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations => phpmyadmin-4.8/libraries/classes/Plugins/Transformations}/Text_Plain_Link.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations => phpmyadmin-4.8/libraries/classes/Plugins/Transformations}/Text_Plain_Longtoipv4.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations => phpmyadmin-4.8/libraries/classes/Plugins/Transformations}/Text_Plain_PreApPend.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins/transformations => phpmyadmin-4.8/libraries/classes/Plugins/Transformations}/Text_Plain_Substring.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins => phpmyadmin-4.8/libraries/classes/Plugins}/TransformationsInterface.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins => phpmyadmin-4.8/libraries/classes/Plugins}/TransformationsPlugin.php (88%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/TwoFactor/Application.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/TwoFactor/Invalid.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/TwoFactor/Key.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/TwoFactor/Simple.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Plugins/TwoFactorPlugin.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/plugins => phpmyadmin-4.8/libraries/classes/Plugins}/UploadInterface.php (94%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Groups/OptionsPropertyMainGroup.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Groups/OptionsPropertyRootGroup.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Groups/OptionsPropertySubgroup.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Items/BoolPropertyItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Items/DocPropertyItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Items/HiddenPropertyItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Items/MessageOnlyPropertyItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Items/NumberPropertyItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Items/RadioPropertyItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Items/SelectPropertyItem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Options/Items/TextPropertyItem.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/properties/options => phpmyadmin-4.8/libraries/classes/Properties/Options}/OptionsPropertyGroup.php (80%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/properties/options => phpmyadmin-4.8/libraries/classes/Properties/Options}/OptionsPropertyItem.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/properties/options => phpmyadmin-4.8/libraries/classes/Properties/Options}/OptionsPropertyOneItem.php (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/properties/plugins => phpmyadmin-4.8/libraries/classes/Properties/Plugins}/ExportPluginProperties.php (78%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Plugins/ImportPluginProperties.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/properties/plugins => phpmyadmin-4.8/libraries/classes/Properties/Plugins}/PluginPropertyItem.php (90%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/Plugins/SchemaPluginProperties.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Properties/PropertyItem.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/RecentFavoriteTable.php (92%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Relation.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/RelationCleanup.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Replication.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/ReplicationGui.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Response.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Rte/Events.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Rte/Export.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Rte/Footer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Rte/General.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Rte/Routines.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Rte/RteList.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Rte/Triggers.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Rte/Words.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Sanitize.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/SavedSearches.php (94%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Scripts.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Privileges.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Select.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Advisor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Data.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Monitor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Processes.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Queries.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Variables.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/UserGroups.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Users.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Session.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Sql.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SqlQueryForm.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/StorageEngine.php (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/SubPartition.php (95%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfo.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfoBase.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/SysInfoLinux.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/SysInfoSunOS.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/SysInfoWINNT.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/SystemDatabase.php (87%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Table.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Template.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Theme.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/ThemeManager.php (77%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/Tracker.php (86%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Tracking.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Transformations.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/CharsetsExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/CoreExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18n/NodeTrans.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18n/TokenParserTrans.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18nExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/IndexExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/MessageExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/PartitionExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/PhpFunctionsExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/PluginsExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/RelationExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/SanitizeExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/ServerPrivilegesExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/StorageEngineExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/TableExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/TrackerExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/TransformationsExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/UrlExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/UtilExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/TwoFactor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Types.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Url.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/UserPassword.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/UserPreferences.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Util.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Utils/HttpRequest.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries => phpmyadmin-4.8/libraries/classes}/VersionInformation.php (93%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/ZipExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/common.inc.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/config.default.php (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/config.values.php (96%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/db_common.inc.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/db_table_exists.inc.php (85%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/dbi/dbi_dummy.inc.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/error.inc.php (97%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/hash.lib.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/information_schema_relations.lib.php => phpmyadmin-4.8/libraries/information_schema_relations.inc.php} (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/language_stats.inc.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/mult_submits.inc.php (83%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/libraries/mysql_relations.lib.php => phpmyadmin-4.8/libraries/mysql_relations.inc.php} (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/replication.inc.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/rte/rte_main.inc.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/server_common.inc.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/special_schema_links.inc.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/tbl_columns_definition_form.inc.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/tbl_common.inc.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/tbl_partition_definition.inc.php (95%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/user_preferences.inc.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/libraries/vendor_config.php (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/license.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/lint.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/logout.php (78%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/navigation.php (89%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/normalization.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/package.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/phpcs.xml.dist rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/phpinfo.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/phpmyadmin.css.php (91%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/prefs_forms.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/prefs_manage.php (82%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/prefs_twofactor.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/print.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/robots.txt (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/schema_export.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_binlog.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_collations.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_databases.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_engines.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_export.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_import.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_plugins.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/server_privileges.php (79%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_replication.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_sql.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_status.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_status_advisor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_status_monitor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_status_processes.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_status_queries.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_status_variables.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_user_groups.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/server_variables.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/setup/ajax.js (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/config.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/frames/config.inc.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/frames/form.inc.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/setup/frames/index.inc.php (80%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/frames/menu.inc.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/frames/servers.inc.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/index.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/setup/lib/ConfigGenerator.php (98%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/lib/FormProcessing.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/lib/Index.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/lib/common.inc.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/setup/scripts.js (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/setup/styles.css (99%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/setup/validate.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/show_config_errors.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/sql.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/sql/create_tables.sql (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/sql/upgrade_column_info_4_3_0+.sql (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/sql/upgrade_tables_4_7_0+.sql (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/sql/upgrade_tables_mysql_4_1_2+.sql (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/tbl_addfield.php (82%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/tbl_change.php (75%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_chart.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/tbl_create.php (80%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/tbl_export.php (88%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_find_replace.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_get_field.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_gis_visualization.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_import.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_indexes.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_operations.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/tbl_recent_favorite.php (91%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_relation.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/tbl_replace.php (86%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/tbl_row_action.php (95%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_select.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_sql.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_structure.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/tbl_tracking.php (76%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/tbl_triggers.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/tbl_zoom_select.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/checkbox.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_adjust_privileges.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_attribute.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_attributes.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_auto_increment.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_comment.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_default.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_definitions_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_extra.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_indexes.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_length.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_name.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_null.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_type.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/column_virtuality.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/mime_type.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/move_column.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/partitions.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/table_fields_definitions.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/transformation.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/columns_definitions/transformation_option.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/components/error_message.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/config/form_display/errors.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/config/form_display/fieldset_bottom.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/config/form_display/fieldset_top.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/config/form_display/form_bottom.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/config/form_display/group_header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/config/form_display/tabs_bottom.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/console/bookmark_content.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/console/display.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/console/query_action.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/console/toolbar.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/central_columns/add_column.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/central_columns/edit_table_header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/central_columns/table_navigation.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/create_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/aggregate_query_panel.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/canvas.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/database_tables.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/delete_relation_panel.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/edit_delete_pages.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/having_query_panel.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/js_fields.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/new_relation_panel.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/options_panel.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/page_save_as.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/page_selector.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/query_details.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/rename_to_panel.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/schema_export.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/side_menu.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/table_list.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/designer/where_query_panel.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/multi_table_query/form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/qbe/column_select_cell.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/qbe/footer_options.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/qbe/sort_order_select_cell.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/qbe/sort_select_cell.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/search/result_divs.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/search/results.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/search/selection_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/body_for_table_summary.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/browse_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/browse_table_label.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/check_all_tables.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/empty_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/favorite_anchor.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/print_view_data_dictionary_link.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/search_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/show_create.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/show_create_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/structure_table_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/table_header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/structure/tracking_icon.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/tracking/tracked_tables.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/database/tracking/untracked_tables.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/format_dropdown.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/hidden_inputs.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/method.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/option_header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_format.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_output.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_output_charset.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_output_compression.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_output_format.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_output_radio.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_output_save_dir.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_output_separate_files.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_quick_export.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/options_rows.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/select_options.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/selection.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/template_loading.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/export/template_options.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/import/import.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/import/javascript.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/results/additional_fields.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/results/comment_for_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/results/empty_display.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/results/multi_row_operations_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/results/null_display.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/results/options_block.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/results/show_all_checkbox.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/results/table_navigation_button.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/display/results/value_display.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/div_for_slider_effect.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/dropdown.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/encoding/kanji_encoding_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/error/report_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/export/alias_add.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/export/alias_item.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/filter.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/fk_checkbox.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/header_location.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/javascript/display.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/list/item.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/list/unordered.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/footer.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/twofactor.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/twofactor/application.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/twofactor/application_configure.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/twofactor/invalid.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/twofactor/key-https-warning.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/twofactor/key.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/twofactor/key_configure.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/login/twofactor/simple.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/navigation/logo.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/prefs_autoload.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/prefs_twofactor.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/prefs_twofactor_configure.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/prefs_twofactor_confirm.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/preview_sql.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/add_privileges_database.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/add_privileges_routine.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/add_privileges_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/add_user_fieldset.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/choose_user_group.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/column_privileges.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/delete_user_fieldset.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/edit_routine_privileges.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/global_priv_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/global_priv_tbl_item.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/initials_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/privileges_summary.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/privileges_summary_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/require_options.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/require_options_item.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/resource_limit_item.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/privileges/resource_limits.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/radio_fields.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/secondary_tabs.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/select_all.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/select_lang.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/binlog/log_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/binlog/log_selector.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/collations/charsets.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/databases/create.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/databases/databases_footer.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/databases/databases_header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/databases/index.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/databases/table_header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/databases/table_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/engines/engine.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/engines/engines.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/plugins/section.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/plugins/section_links.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/sub_page_header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/variables/link_template.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/variables/session_variable_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/variables/variable_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/server/variables/variable_table_head.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/start_and_number_of_rows_panel.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/browse_foreigners/column_element.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/browse_foreigners/show_all.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/chart/tbl_chart.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/gis_visualization/gis_visualization.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/index_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/insert/continue_insertion_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/relation/common_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/relation/dropdown_generate.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/relation/foreign_key_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/relation/internal_relational_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/relation/relational_dropdown.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/column_comparison_operators.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/fields_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/form_tag.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/geom_func.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/input_box.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/options.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/options_zoom.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/replace_preview.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/rows_normal.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/rows_zoom.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/search_and_replace.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/selection_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/table_header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/search/zoom_result_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/secondary_tabs.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/action_row_in_structure_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/actions_in_table_structure.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/add_column.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/check_all_table_column.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/display_partitions.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/display_structure.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/display_table_stats.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/move_columns_dialog.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/optional_action_links.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/partition_definition_form.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/row_stats_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/table_structure_header.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/structure/table_structure_row.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/tracking/activate_deactivate.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/tracking/create_version.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/tracking/report_table.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/tracking/selectable_tables.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/tracking/structure_snapshot_columns.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/table/tracking/structure_snapshot_indexes.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/test/add_data.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/test/echo.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/test/gettext/gettext.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/test/gettext/notes.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/test/gettext/pgettext.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/test/gettext/plural.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/test/gettext/plural_notes.twig rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/templates/test/static.phtml => phpmyadmin-4.8/templates/test/static.twig} (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/theme_preview.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/toggle_button.twig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/templates/view_create.twig rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes.php (84%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/dot.gif (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/css/common.css.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/css/navigation.css.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/css/printview.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/img/ajax_clock_small.gif (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/arrow_ltr.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/arrow_rtl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_bookmark.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_browse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_calendar.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_chart.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_close.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_column_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_comment.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_dbstatistics.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_deltbl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_docs.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_drop.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_edit.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_empty.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_engine.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_event_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_events.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_export.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_favorite.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_find_replace.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_ftext.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/img/b_globe.gif (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_group.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_help.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_home.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_import.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_index.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_index_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_inline_edit.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_insrow.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_key.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_minus.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_more.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_move.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_newdb.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_newtbl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_nextpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_no_favorite.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_plugin.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_plus.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_primary.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_print.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_props.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_relations.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_report.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_routine_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_routines.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_save.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_saveimage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_sbrowse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_search.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_select.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/img/b_snewtbl.png (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_spatial.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_sql.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_sqlhelp.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_table_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_tblanalyse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_tblexport.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_tblimport.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_tblops.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_tbloptimize.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_tipp.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_trigger_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_triggers.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_undo.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_unique.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_usradd.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_usrcheck.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_usrdrop.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_usredit.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_usrlist.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_versions.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_view.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_view_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/b_views.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_browse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_deltbl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_drop.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_edit.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_empty.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_export.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_ftext.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_index.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_insrow.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_nextpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_primary.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_routine_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_sbrowse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_select.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_spatial.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/bd_unique.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/centralColumns.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/centralColumns_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/centralColumns_delete.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/img/cleardot.gif (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/col_drop.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/col_pointer.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/col_pointer_ver.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/console.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/east-mini.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/img/error.ico (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/eye.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/eye_grey.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/hide.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/lightbulb.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/lightbulb_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/logo_left.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/logo_right.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/more.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/new_data.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/new_data_hovered.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/img/new_data_selected.png (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/new_data_selected_hovered.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/new_struct.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/new_struct_hovered.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/new_struct_selected.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/img/new_struct_selected_hovered.png (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/normalize.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/north-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/pause.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/play.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_asc.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_asci.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_attention.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_cancel.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_cog.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_collapseall.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_db.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_desc.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_error.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_fulltext.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_host.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_info.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_lang.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_link.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_lock.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_loggoff.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_notice.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_okay.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_partialtext.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_passwd.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_really.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_reload.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_replication.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_rights.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_sortable.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_status.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_success.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_sync.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_tbl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_theme.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_top.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_unlink.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_vars.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/s_views.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/show.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/south-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/spacer.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/toggle-ltr.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/toggle-rtl.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/img/vertical_line.png (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/west-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/window-new.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/zoom-minus-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/zoom-plus-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/img/zoom-world-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-icons_222222_256x240.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-icons_2e83ff_256x240.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-icons_454545_256x240.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-icons_888888_256x240.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/jquery/jquery-ui.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/original/layout.inc.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/screen.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/original/theme.json rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/css/codemirror.css.php (89%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/css/common.css.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/css/designer.css.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/css/enum_editor.css.php (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/css/gis.css.php (91%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/css/icons.css.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/css/jqplot.css.php (98%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/css/navigation.css.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/css/printview.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/css/resizable-menu.css.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/css/rte.css.php (90%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/img/ajax_clock_small.gif (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/arrow_ltr.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/arrow_rtl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/asc_order.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_bookmark.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_browse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_calendar.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_chart.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_close.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_column_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_comment.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_dbstatistics.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_deltbl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_docs.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_docsql.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_drop.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_edit.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_empty.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_engine.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_event_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_events.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_export.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_favorite.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_find_replace.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_firstpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_ftext.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/img/b_globe.gif (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_group.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_help.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_home.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_import.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_index.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_index_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_inline_edit.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_insrow.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_key.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_lastpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_left.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_minus.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_more.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_move.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_newdb.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_newtbl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_nextpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_no_favorite.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_pdfdoc.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_plugin.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_plus.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_prevpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_primary.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_print.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_props.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_relations.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_report.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_right.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_routine_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_routines.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_save.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_saveimage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_sbrowse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_sdb.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_search.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_select.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_snewtbl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_spatial.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_sql.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_sqldoc.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_sqlhelp.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_table_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_tblanalyse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_tblexport.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_tblimport.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_tblops.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_tbloptimize.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_tipp.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_trigger_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_triggers.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_undo.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_unique.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_usradd.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_usrcheck.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_usrdrop.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_usredit.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_usrlist.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_versions.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_view.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_view_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/b_views.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_browse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_deltbl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_drop.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_edit.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_empty.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_export.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_firstpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_ftext.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_index.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_insrow.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_lastpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_nextpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_prevpage.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_primary.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_routine_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_sbrowse.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_select.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_spatial.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/bd_unique.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/centralColumns.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/centralColumns_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/centralColumns_delete.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/col_drop.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/col_pointer.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/col_pointer_ver.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/console.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/database.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/1.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/2.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/2leftarrow.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/2leftarrow_m.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/2rightarrow.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/2rightarrow_m.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/3.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/4.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/5.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/6.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/7.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/8.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/FieldKey_small.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/Field_small.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/Field_small_char.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/Field_small_date.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/Field_small_int.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/Header.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/Header_Linked.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/anchor.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/and_icon.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/ang_direct.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/bord.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/bottom.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/def.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/display_field.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/downarrow1.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/downarrow2.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/downarrow2_m.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/exec.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/exec_small.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/exitFullscreen.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/export.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/themes/pmahomme/img/pmd => phpmyadmin-4.8/themes/pmahomme/img/designer}/favicon.ico (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/grid.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/help.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/help_relation.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/left_panel_butt.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/left_panel_tab.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/minus.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/or_icon.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/other_table.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/page_add.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/page_delete.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/page_edit.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/pdf.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/plus.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/query_builder.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/relation.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/reload.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/resize.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/resizeright.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/rightarrow1.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/rightarrow2.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/save.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/save_as.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/small_tab.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/table.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/toggle_lines.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/top_panel.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/uparrow2_m.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/designer/viewInFullscreen.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/east-mini.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/img/error.ico (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/eye.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/eye_grey.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/hide.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/item.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/left_nav_bg.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/lightbulb.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/lightbulb_off.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/logo_left.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/logo_right.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/more.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/new_data.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/new_data_hovered.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/img/new_data_selected.png (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/new_data_selected_hovered.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/new_struct.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/new_struct_hovered.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/new_struct_selected.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/img/new_struct_selected_hovered.png (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/normalize.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/north-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/pause.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/php_sym.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/play.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/pma_logo2.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_asc.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_asci.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_attention.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_cancel.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_cancel2.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_cog.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_collapseall.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_db.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_desc.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_error.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_fulltext.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_host.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_info.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_lang.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_link.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_lock.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_loggoff.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_notice.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_okay.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_partialtext.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_passwd.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_process.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_really.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_reload.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_replication.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_rights.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_sortable.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_status.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_success.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_sync.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_tbl.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_theme.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_top.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_unlink.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_vars.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/s_views.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/select_bg.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/show.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/south-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/spacer.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/toggle-ltr.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/toggle-rtl.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/img/vertical_line.png (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/west-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/window-new.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/zoom-minus-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/zoom-plus-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/img/zoom-world-mini.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-icons_222222_256x240.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-icons_888888_256x240.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/jquery/jquery-ui.css (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/pmahomme/layout.inc.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/screen.png create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/themes/pmahomme/theme.json rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/themes/svg_gradient.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/transformation_overview.php (89%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/transformation_wrapper.php (85%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/url.php (85%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/user_password.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/autoload.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/.travis.yml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/LICENSE create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/Module.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/README.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/autoload_classmap.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/autoload_function.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/autoload_register.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/AbstractEnum.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/BitArray.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/BitMatrix.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/BitUtils.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/CharacterSetEci.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/EcBlock.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/EcBlocks.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/ErrorCorrectionLevel.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/FormatInformation.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/Mode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/ReedSolomonCodec.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/Version.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/BlockPair.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/ByteMatrix.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/Encoder.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/MaskUtil.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/MatrixUtil.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/QrCode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/ExceptionInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/InvalidArgumentException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/OutOfBoundsException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/RuntimeException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/UnexpectedValueException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/WriterException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/Cmyk.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/ColorInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/Gray.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/Rgb.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/AbstractRenderer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Decorator/DecoratorInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Decorator/FinderPattern.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Eps.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Png.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/RendererInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Svg.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/RendererInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Text/Html.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Text/Plain.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/src/BaconQrCode/Writer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/BitArrayTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/BitMatrixTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/BitUtilsTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/ErrorCorrectionLevelTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/FormatInformationTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/ModeTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/ReedSolomonCodecTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Common/VersionTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Encoder/EncoderTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Encoder/MaskUtilTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Encoder/MatrixUtilTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Renderer/Text/HtmlTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Renderer/Text/TextTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/bootstrap.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/bacon/bacon-qr-code/tests/phpunit.xml rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/bin/highlight-query (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/bin/lint-query (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/composer/ClassLoader.php (90%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/composer/LICENSE create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/composer/autoload_classmap.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/composer/autoload_files.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/composer/autoload_namespaces.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/composer/autoload_psr4.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/composer/autoload_real.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/composer/autoload_static.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/composer/installed.json rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/.travis.yml (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/CONTRIBUTING.md (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/LICENSE (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/README.md (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/composer.json (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/phpunit.xml.dist (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/ReCaptcha/ReCaptcha.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/ReCaptcha/RequestMethod.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Curl.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/CurlPost.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Post.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Socket.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/SocketPost.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/ReCaptcha/RequestParameters.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/ReCaptcha/Response.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/google/recaptcha/src/autoload.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/.travis.yml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/LICENSE.txt create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/README.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/phpunit.xml.dist create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/psalm.xml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/Base32.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/Base32Hex.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/Base64.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/Base64DotSlash.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/Base64DotSlashOrdered.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/Base64UrlSafe.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/Binary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/EncoderInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/Encoding.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/Hex.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/src/RFC4648.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/Base32Test.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashOrderedTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/Base64Test.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/Base64UrlSafeTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/EncodingTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/HexTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/RFC4648Test.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/constant_time_encoding/tests/autoload.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/LICENSE create mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/build-phar.sh create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/byte_safe_strings.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/cast_to_int.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/error_polyfill.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/random.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/random_bytes_libsodium.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/lib/random_int.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/other/build_phar.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/psalm-autoload.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/paragonie/random_compat/psalm.xml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/motranslator/.github/stale.yml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/motranslator/CHANGES.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/motranslator/CONTRIBUTING.md rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/motranslator/LICENSE (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/motranslator/PERFORMANCE.md (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/motranslator/README.md rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/motranslator/codecov.yml (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/motranslator/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/motranslator/phpunit.xml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/motranslator/src/Loader.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/motranslator/src/ReaderException.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/motranslator/src/StringReader.php (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/motranslator/src/Translator.php (87%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/motranslator/src/functions.php (95%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/shapefile/CHANGELOG.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/shapefile/CONTRIBUTING.md rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/shapefile/LICENSE (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/shapefile/README.md rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/shapefile/codecov.yml (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/shapefile/composer.json rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/vendor/phpmyadmin/motranslator => phpmyadmin-4.8/vendor/phpmyadmin/shapefile}/phpunit.xml (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/shapefile/src/ShapeFile.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/shapefile/src/ShapeRecord.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/shapefile/src/Util.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/.github/stale.yml rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/.weblate (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/CHANGELOG.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/CONTRIBUTING.md rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/LICENSE.txt (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/README.md rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/bin/highlight-query (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/bin/lint-query (100%) create mode 100755 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/bin/tokenize-query rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/codecov.yml (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/af/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ar/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ast/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/az/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/be/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/be@latin/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/bg/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/bn/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/br/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/brx/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/bs/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ca/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ckb/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/cs/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/cy/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/da/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/de/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/el/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/en_GB/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/eo/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/es/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/et/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/eu/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/fa/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/fi/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/fr/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/fy/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/gl/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/gu/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/he/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/hi/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/hr/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/hu/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/hy/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ia/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/id/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/it/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ja/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ka/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/kk/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/km/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/kn/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ko/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ksh/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ky/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/li/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/lt/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/lv/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/mk/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ml/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/mn/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ms/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/nb/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ne/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/nl/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/pa/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/pl/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/pt/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/pt_BR/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ro/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ru/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/si/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/sk/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/sl/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/sq/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/sqlparser.pot create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/sr/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/sr@latin/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/sv/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ta/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/te/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/th/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/tk/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/tr/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/tt/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ug/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/uk/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/ur/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/uz/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/uz@latin/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/vi/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/vls/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/zh_CN/LC_MESSAGES/sqlparser.mo create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/locale/zh_TW/LC_MESSAGES/sqlparser.mo rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/phpunit.xml (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Component.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/AlterOperation.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/Array2d.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/ArrayObj.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/CaseExpression.php (97%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/Condition.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/DataType.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Components/Expression.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/ExpressionArray.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/FunctionCall.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Components/GroupKeyword.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/IntoKeyword.php (88%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/JoinKeyword.php (92%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/Key.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/Limit.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/OptionsArray.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/OrderKeyword.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/ParameterDefinition.php (91%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/PartitionDefinition.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/Reference.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/RenameOperation.php (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/SetOperation.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Components/UnionKeyword.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Context.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100000.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100100.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100200.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100300.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50000.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50100.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50500.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50600.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50700.php (83%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql80000.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Core.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Exceptions/LexerException.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Exceptions/LoaderException.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Exceptions/ParserException.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Lexer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Parser.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statement.php (94%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/AlterStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/AnalyzeStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/BackupStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/CallStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/CheckStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/ChecksumStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php (99%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/DeleteStatement.php (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/DropStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/ExplainStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/InsertStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/LoadStatement.php (91%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/MaintenanceStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/NotImplementedStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/OptimizeStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/RenameStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/RepairStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/ReplaceStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/RestoreStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/SelectStatement.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/SetStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/ShowStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/TransactionStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/TruncateStatement.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Statements/UpdateStatement.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Token.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/TokensList.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Translator.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/UtfString.php (95%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Utils/BufferedQuery.php (98%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Utils/CLI.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Utils/Error.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpmyadmin/sql-parser/src/Utils/Formatter.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Utils/Misc.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Utils/Query.php (99%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Utils/Routine.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Utils/Table.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpmyadmin/sql-parser/src/Utils/Tokens.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpseclib/phpseclib/AUTHORS (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpseclib/phpseclib/LICENSE (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpseclib/phpseclib/README.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpseclib/phpseclib/composer.json rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php (98%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/phpseclib/phpseclib/phpseclib/openssl.cnf (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/.scrutinizer.yml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/.travis.yml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/LICENSE.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/README.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/RELICENSED.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/changelog.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/composer.lock create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/docs/playground.jpg create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/phpunit.xml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/src/Exceptions/IncompatibleWithGoogleAuthenticatorException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/src/Exceptions/InsecureCallException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/src/Exceptions/InvalidCharactersException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/src/Exceptions/SecretKeyTooShortException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/src/Google2FA.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/src/Support/Base32.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/src/Support/Constants.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/src/Support/QRCode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/src/Support/Url.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_templates/leftbar.html => phpmyadmin-4.8/vendor/pragmarx/google2fa/tests/.gitkeep} (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/tests/Constants.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/tests/Google2FATest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/tests/bootstrap.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/pragmarx/google2fa/upgrading.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/psr/container/LICENSE create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/psr/container/README.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/psr/container/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/psr/container/src/ContainerExceptionInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/psr/container/src/ContainerInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/psr/container/src/NotFoundExceptionInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/samyoul/u2f-php-server/LICENCE.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/samyoul/u2f-php-server/README.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/samyoul/u2f-php-server/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/samyoul/u2f-php-server/src/Registration.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/samyoul/u2f-php-server/src/RegistrationRequest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/samyoul/u2f-php-server/src/SignRequest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/samyoul/u2f-php-server/src/U2FException.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/samyoul/u2f-php-server/src/U2FServer.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/CHANGELOG.md (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/Compiler.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/Expression.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/ExpressionFunction.php (93%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/ExpressionFunctionProviderInterface.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/ExpressionLanguage.php (76%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/LICENSE create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/Lexer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/Node/ArgumentsNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/Node/ArrayNode.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/Node/BinaryNode.php (96%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/Node/ConditionalNode.php (88%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/Node/ConstantNode.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/Node/FunctionNode.php (80%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/Node/GetAttrNode.php (81%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/Node/NameNode.php (89%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/Node/Node.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/Node/UnaryNode.php (91%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/ParsedExpression.php (96%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/Parser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/ParserCache/ArrayParserCache.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/ParserCache/ParserCacheInterface.php (75%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/README.md (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/expression-language/SerializedParsedExpression.php (96%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/SyntaxError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/Token.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/TokenStream.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/expression-language/phpunit.xml.dist create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-mbstring/LICENSE rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/polyfill-mbstring/Mbstring.php (79%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/polyfill-mbstring/README.md (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-mbstring/bootstrap.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-mbstring/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-php56/LICENSE create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-php56/Php56.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-php56/README.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-php56/bootstrap.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-php56/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-util/Binary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-util/BinaryNoFuncOverload.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-util/BinaryOnFuncOverload.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-util/LICENSE create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-util/LegacyTestListener.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-util/README.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-util/TestListener.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-util/TestListenerTrait.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/symfony/polyfill-util/composer.json rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/CHANGELOG.TXT (99%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/LICENSE.TXT (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/tecnickcom/tcpdf/README.md create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/tecnickcom/tcpdf/composer.json rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/config/tcpdf_config.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/AUTHORS (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/BUGS (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/NEWS (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/README (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/langcover.txt (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/status.txt (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/unicover.txt (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavusans.ctg.z (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavusans.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavusans.z (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavusansb.ctg.z (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavusansb.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/dejavusansb.z (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/fonts/helvetica.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/include/barcodes/datamatrix.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/include/barcodes/pdf417.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/include/barcodes/qrcode.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/include/tcpdf_colors.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/include/tcpdf_filters.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/include/tcpdf_font_data.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/include/tcpdf_fonts.php (99%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/include/tcpdf_images.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/include/tcpdf_static.php (99%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/tcpdf.php (99%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/tcpdf_autoconfig.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/tcpdf_barcodes_1d.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/tcpdf_barcodes_2d.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/tcpdf_import.php (100%) rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/vendor/tecnickcom/tcpdf/tcpdf_parser.php (100%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/.travis.yml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/LICENSE create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/README.rst create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Autoloader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Extension/Array.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Extension/Date.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Extension/I18n.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Extension/Intl.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Extension/Text.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Arguments.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Array.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Body.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Boolean.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Constant.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Expression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Hash.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Number.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Optional.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Switch.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Tag.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/GrammarInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/Node/Trans.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/SimpleTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/lib/Twig/Extensions/TokenParser/Trans.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/phpunit.xml.dist create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/src/ArrayExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/src/DateExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/src/I18nExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/src/IntlExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/src/Node/TransNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/src/TextExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/extensions/src/TokenParser/TransTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/.editorconfig create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/.php_cs.dist create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/.travis.yml create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/CHANGELOG create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/LICENSE create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/README.rst create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/composer.json create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/ext/twig/config.m4 create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/ext/twig/config.w32 create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/ext/twig/php_twig.h create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/ext/twig/twig.c create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Autoloader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/BaseNodeVisitor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Cache/Filesystem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Cache/Null.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/CacheInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Compiler.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/CompilerInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/ContainerRuntimeLoader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Environment.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Error.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Error/Loader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Error/Runtime.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Error/Syntax.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/ExpressionParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/Core.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/Debug.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/Escaper.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/GlobalsInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/InitRuntimeInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/Optimizer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/Profiler.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/Sandbox.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/Staging.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Extension/StringLoader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/ExtensionInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/FactoryRuntimeLoader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/FileExtensionEscapingStrategy.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Filter.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Filter/Function.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Filter/Method.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Filter/Node.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/FilterCallableInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/FilterInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Function.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Function/Function.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Function/Method.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Function/Node.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/FunctionCallableInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/FunctionInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Lexer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/LexerInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Loader/Array.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Loader/Chain.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Loader/Filesystem.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Loader/String.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/LoaderInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Markup.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/AutoEscape.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Block.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/BlockReference.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Body.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/CheckSecurity.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Do.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Embed.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Array.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/In.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotIn.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Range.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/StartsWith.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/BlockReference.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Call.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Conditional.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Constant.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/ExtensionReference.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Function.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Name.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/NullCoalesce.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Parent.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/TempName.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Test.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Test/Defined.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Unary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Flush.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/For.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/ForLoop.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/If.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Import.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Include.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Macro.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Module.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Print.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Sandbox.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/SandboxedPrint.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Set.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/SetTemp.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Spaceless.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/Text.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Node/With.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/NodeCaptureInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/NodeInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/NodeOutputInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/NodeTraverser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/NodeVisitor/Sandbox.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/NodeVisitorInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Parser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/ParserInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Profiler/Dumper/Base.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Profiler/Dumper/Blackfire.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Profiler/Dumper/Html.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Profiler/Dumper/Text.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Profiler/Node/EnterProfile.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Profiler/Node/LeaveProfile.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Profiler/NodeVisitor/Profiler.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Profiler/Profile.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/RuntimeLoaderInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFilterError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFunctionError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedMethodError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedPropertyError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicy.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/SimpleFilter.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/SimpleFunction.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/SimpleTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Source.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/SourceContextLoaderInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Template.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TemplateInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TemplateWrapper.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Test.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Test/Function.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Test/Method.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Test/Node.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Test/NodeTestCase.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TestCallableInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TestInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Token.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Block.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Do.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Embed.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Extends.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Filter.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Flush.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/For.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/From.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/If.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Import.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Include.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Macro.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Sandbox.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Set.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/Use.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParser/With.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParserBroker.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenParserInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/TokenStream.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Util/DeprecationCollector.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/phpunit.xml.dist create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Cache/CacheInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Cache/FilesystemCache.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Cache/NullCache.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Compiler.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Environment.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Error/Error.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Error/LoaderError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Error/RuntimeError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Error/SyntaxError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/ExpressionParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/AbstractExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/CoreExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/DebugExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/EscaperExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/ExtensionInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/GlobalsInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/InitRuntimeInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/OptimizerExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/ProfilerExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/RuntimeExtensionInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/SandboxExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/StagingExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Extension/StringLoaderExtension.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/FileExtensionEscapingStrategy.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Lexer.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Loader/ArrayLoader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Loader/ChainLoader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Loader/ExistsLoaderInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Loader/FilesystemLoader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Loader/LoaderInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Loader/SourceContextLoaderInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Markup.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/AutoEscapeNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/BlockNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/BlockReferenceNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/BodyNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/CheckSecurityNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/DoNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/EmbedNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/AbstractExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/ArrayExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/AssignNameExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/AbstractBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/AddBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/AndBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/BitwiseAndBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/BitwiseOrBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/BitwiseXorBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/ConcatBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/DivBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/EndsWithBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/EqualBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/FloorDivBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/GreaterBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/GreaterEqualBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/InBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/LessBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/LessEqualBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/MatchesBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/ModBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/MulBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/NotEqualBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/NotInBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/OrBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/PowerBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/RangeBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/StartsWithBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Binary/SubBinary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/BlockReferenceExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/CallExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/ConditionalExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/ConstantExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Filter/DefaultFilter.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/FilterExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/FunctionExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/GetAttrExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/MethodCallExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/NameExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/NullCoalesceExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/ParentExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/TempNameExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Test/ConstantTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Test/DefinedTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Test/DivisiblebyTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Test/EvenTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Test/NullTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Test/OddTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Test/SameasTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/TestExpression.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Unary/AbstractUnary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Unary/NegUnary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Unary/NotUnary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Expression/Unary/PosUnary.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/FlushNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/ForLoopNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/ForNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/IfNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/ImportNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/IncludeNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/MacroNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/ModuleNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/Node.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/NodeCaptureInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/NodeOutputInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/PrintNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/SandboxNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/SandboxedPrintNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/SetNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/SetTempNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/SpacelessNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/TextNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Node/WithNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/NodeTraverser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/NodeVisitor/AbstractNodeVisitor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/NodeVisitor/EscaperNodeVisitor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/NodeVisitor/NodeVisitorInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/NodeVisitor/OptimizerNodeVisitor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/NodeVisitor/SafeAnalysisNodeVisitor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/NodeVisitor/SandboxNodeVisitor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Parser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Profiler/Dumper/BaseDumper.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Profiler/Dumper/BlackfireDumper.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Profiler/Dumper/HtmlDumper.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Profiler/Dumper/TextDumper.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Profiler/Node/EnterProfileNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Profiler/Node/LeaveProfileNode.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Profiler/Profile.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/RuntimeLoader/ContainerRuntimeLoader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/RuntimeLoader/FactoryRuntimeLoader.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/RuntimeLoader/RuntimeLoaderInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Sandbox/SecurityError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Sandbox/SecurityNotAllowedFilterError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Sandbox/SecurityNotAllowedFunctionError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Sandbox/SecurityNotAllowedMethodError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Sandbox/SecurityNotAllowedPropertyError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Sandbox/SecurityNotAllowedTagError.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Sandbox/SecurityPolicy.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Sandbox/SecurityPolicyInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Source.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Template.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TemplateWrapper.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Test/IntegrationTestCase.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Test/NodeTestCase.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Token.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/AbstractTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/AutoEscapeTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/BlockTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/DoTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/EmbedTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/ExtendsTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/FilterTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/FlushTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/ForTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/FromTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/IfTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/ImportTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/IncludeTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/MacroTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/SandboxTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/SetTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/SpacelessTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/TokenParserInterface.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/UseTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenParser/WithTokenParser.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TokenStream.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TwigFilter.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TwigFunction.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/TwigTest.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Util/DeprecationCollector.php create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/vendor/twig/twig/src/Util/TemplateDirIterator.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/version_check.php (90%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/view_create.php rename .devilbox/www/htdocs/vendor/{phpmyadmin-4.7 => phpmyadmin-4.8}/view_operations.php (80%) create mode 100644 .devilbox/www/htdocs/vendor/phpmyadmin-4.8/yarn.lock diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/CONTRIBUTING.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/CONTRIBUTING.md deleted file mode 100644 index d230d2b7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/CONTRIBUTING.md +++ /dev/null @@ -1,35 +0,0 @@ -# Contributing to phpMyAdmin - -As an open source project, phpMyAdmin welcomes contributions of many forms. - -## Bug reporting - -We appreciate your effort to improve phpMyAdmin by submitting a bug report. Before doing so, please check the following things: - -1. Check whether the bug you face **hasn't been already reported**. Duplicate reports takes us time, that we could be used to fix other bugs or make improvements. -2. Specify the phpMyAdmin, server, PHP, MySQL and browser information that may be helpful to fix the problem, especially exact **version numbers**. -3. If you got some error, please **describe what happened** and add error message. Reports like "I get error when I clicked on some link." are useless. -4. Provide easy steps to reproduce and if possible include your table structure (``SHOW CREATE TABLE `tbl_name```); if your problem implies specific data, attach a small export file for sample rows. -5. **Security problems** should not be reported here. See [our security page](https://www.phpmyadmin.net/security/). -Thanks for your help! - -Please report [bugs on GitHub][1]. - -[1]: https://github.com/phpmyadmin/phpmyadmin/issues/new - -## Patches submission - -Patches are welcome as [pull requests on GitHub][2]. Please include a -Signed-off-by tag in the commit message (you can do this by passing `--signoff` -parameter to Git). Note that by submitting patches with the Signed-off-by tag, -you are giving permission to license the patch as GPLv2-or-later. See [the DCO -file][3] for details. - -[2]: https://github.com/phpmyadmin/phpmyadmin/pulls -[3]: https://github.com/phpmyadmin/phpmyadmin/blob/master/DCO - -## More information - -You can find more information on our website: - -https://www.phpmyadmin.net/contribute/ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/ChangeLog b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/ChangeLog deleted file mode 100644 index 1123543d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/ChangeLog +++ /dev/null @@ -1,166 +0,0 @@ -phpMyAdmin - ChangeLog -====================== - -4.7.0 (2017-03-28) -- patch #12233 [Display] Improve message when renaming database to same name -- issue #6146 Log authentication attempts to syslog -- issue #11981 Remove support for Swekey authentication -- issue #11987 Remove code for no longer supported MSIE versions -+ issue #11962 Remove embedded PHP libraries, use composer to install them -+ issue #12017 Cannot easily select multiple tables when exporting -+ issue #12047 Add javascript filtering for databases -- issue #12166 More compact rendering of navigation tree -+ issue #12129 Improve performance with SkipLockedTables -- issue #12173 Do not hide indexes under a slider -- issue Improve performance of zip file import -- issue #12196 Removed $cfg['ThemePath'] -- issue #6274 Add support for export user settings as config.inc.php snippet -- issue #5555 Better report query errors while generating SQL exports -- issue #12307 Produce valid JSON on export -- issue #12325 Setup script icons broken -- issue #12378 Support IPv6 proxies -- issue Removed MySQL connection retry without password -- issue #12218 Allow to specify further parameters for control connection -- issue #12162 Show charset for each table on Database structure page -- issue #12463 Incorrect link in the href of icon at Hide/Show unhide links -- issue #12330 Shortcut for closing console -- issue #12465 Improved handling of http requests -- issue #12474 Broken links in Setup forms Navigation -- issue #12494 Can't add a new User -- issue #12523 Add 'token' Parameter in all POST requests (Fix 'Token mismatch' errors) -- issue #12302 Improved usage of number_format -- issue #12656 Server selection not working -- issue #12543 NULL results in dataset are colored grey -- issue #12664 Create Bookmark broken -- issue #12688 Use unsigned int for storing bookmark ID -- issue #12352 Added password strength indicator -- issue #12713 Correctly handle HTTP status when doing requests -- issue #12247 Add option to delete settings from browser storage -- issue #12783 Remove unused PMA_addJSCode function -- issue #12069 Add table filtering to database structure -- issue #12799 Allow to configure signon session parameters -- issue #12854 Drop database is broken -- issue #12863 Can't toggle Event Scheduler on -- issue #12742 Finish removing dead code references to xls/xlsx import and export, which was removed some time ago. -- issue #12536 Rename "Relations" to "Relationships" in many places as it's the more proper term -- issue #12834 Fixed margins in central columns feature -- issue #12903 Document more export configuration options -- issue #12897 Use consistent numeric format for table overhead -- issue #12901 Use server returned table name on renaming table -- issue #12918 Always use \r\n as newline when editing fields -- issue #12923 Fixed server side search in navigation panel -- issue #12929 Undefined index warning with ssl_ca_paths -- issue #12924 Do not show errors from OpenSSL cookie encryption/decryption -- issue #12945 Fixed hint rendering on adding new user -- issue #12941 Fixed sorting of tables in relation view -- issue #12936 Fixed tables pagination in navigation panel -- issue #12904 Do not collapse add form for central columns if there are none -- issue #12955 Fixed database renaming -- issue #12954 Fixed export of tracking data -- issue #12960 Enclose exports in transaction by default -- issue #12966 After adding a column ADD INDEX option won't be displayed when enabling AI -- issue #12972 Better error message when Composer has not been run -- issue #12988 Do not show language selector without choices -- issue #12993 Fixed external links to php documentation -- issue #12990 Fixed error when loading favorite tables to console -- issue #12981 Improved rendering of new version information -- issue #12922 Fixed bookmarks ordering -- issue #12964 Fixed table search in navigation -- issue #12985 Fixed rendering of foreign key browsing -- issue #12957 Fixed manipulation with GIS data having zero coordinates -- issue #12804 Fixed various designer javascript errors -- issue #12934 Fixed possible javascript error on server status page -- issue #12927 Fixed javascript error on 3NF normalization -- issue #12996 List all databses in navigation panel database dropdown -- issue #12980 Better defaults when creating multi field foreign key -- issue #12976 Improved foreign key editor behavior -- issue #12958 Always show error reporting dialog on top -- issue #12693 Improved support for TokuDB -- issue #11231 Try harder to honor LoginCookieValidity setting -- issue #13016 and #13017 Slight improvements to the table layout of Relation view -- issue #12345 Correctly show affected rows for LOAD DATA queries -- issue #13010 Copy database: SQL error for copying PMADB metadata -- issue #13002 Fixed OpenDocument exports -- issue #13000 Align NULL values according to the column alignment -- issue #13021 Show phpMyAdmin errors even with error_reporting set to 0 -- issue #13020 Removed warning about client and server versions mismatch -- issue Hide comments on table Structure tab when no comment is set -- issue Fixed submission of error reports -- issue #13033 Use Referrer-Policy header to specify referrer policy -- issue Fixed javascript confirmation of dangerous queries -- issue #13040 Compatibility with hhvm 3.18 -- issue #13031 Fixed displaying of all rows -- issue #12967 Fixed related field selection for native relations -- issue #13045 Properly escape MIME transformatoin names -- issue #13028 Always show 100% in font selector -- issue #13047 Fix query simulating for more servers -- issue #12846 Fix new version check for sites with wrongly configured curl -- issue #12951 When exporting to Excel, the default is now to include column names in the first row -- issue #13059 Removed debugging code -- issue #13029 Fixed table tracking for nested table groups -- issue #13053 Fixed broken links in setup -- issue #12708 Removed phpMyAdmin version from User-Agent header -- issue #13084 Do not point users to setup when it is disabled -- issue #12660 Delete only phpMyAdmin cookies on upgrade -- issue #13088 Fixed editing of rows with text primary key -- issue #13092 Do not try to sync favorite tables if configuration storage is not enabled -- issue #13105 Fixed changing attribute for virtual field -- issue #12757 Fixed setting password on recent MariaDB with non working plugins -- issue #12349 Fixed undefined variable on import from some formats -- issue #13103 Do not offer default names for copying/renaming databases -- issue [security] Possible to bypass $cfg['Servers'][$i]['AllowNoPassword'], see PMASA-2017-08 - -4.6.6 (2017-01-23) -- issue #12759 Fix Notice regarding 'Undefined index: old_usergroup' -- issue #12760 Fix Notice regarding 'Undefined index: users' -- issue #12762 Fixed parsing of SQL with BINARY function -- issue #12588 ReCaptcha now works without allow_url_fopen -- issue #12699 Show no local storage warning only on settings tab -- issue #12778 Syntax Error in Adding/Changing TIMESTAMP columns with default value as NULL -- issue #12769 Edit/Export links are not clickable under Routines tab -- issue #12757 Fixed creating new user with older MariaDB -- issue #12784 Remove ctype installation suggestion -- issue #12780 Format button replaces all text with blank spaces -- issue #12786 Fixed database searching -- issue #12792 Fixed javascript error on new version link -- issue #12785 Add information about required and suggested extensions to composer.json -- issue #12801 Custom header shown twice with cookie login form -- issue #12802 Custom footer not shown with auth_type http login failure -- issue #12434 Improve documentation for servers running with Suhosin -- issue #12800 Updated embedded phpSecLib to 2.0.4 -- issue #12800 Fixed various issues with PHP 7.1 -- issue #11816 Fixed operation with lower_case_table_names=2 -- issue #12813 Fixed stored procedure execution -- issue #12826 Honor user configured connection collation -- issue #12293 Correctly report OpenSSL errors from cookie encryption -- issue #12814 DateTime won't allow to input length in Routine editor -- issue #12840 Fix Notice regarding 'Undefined index: row_format' when altering table options -- issue #12841 Fixed moving of columns with whitespace in name -- issue #12847 Fixed editing of virtual columns -- issue #12859 Changed WHERE condition to 0 instead of 1 for SQL query window to avoid accidents -- issue #12872 Use same query for display and execution when dropping index -- issue #12868 Fix check for user groups freatures being enabled -- issue #12876 Fix notices and warning related to dbs_to_test global -- issue #12831 Fix table formatting on Insert tab, which mostly affected row highlighting -- issue #12495 Reintroduced phpinfo page with limited capabilities -- issue #12861 Fix renaming tables with lower_case_table_names=2 -- issue #12876 Fix possible PHP error in navigation -- issue #12881 Fix database search with newer php-gettext -- issue #12894 Fix linter error on unterminated variable name -- issue #12732 Fixed filtering for active processes -- issue [security] Multiple vulnerabilities in setup script, see PMASA-2016-44. -- issue [security] Open redirect, see PMASA-2017-1. -- issue [security] php-gettext code execution, see PMASA-2017-2. -- issue [security] DOS vulnerabiltiy in table editing, see PMASA-2017-3. -- issue [security] CSS injection in themes, see PMASA-2017-4. -- issue [security] Cookie attribute injection attack, see PMASA-2017-5. -- issue [security] SSRF in replication, see PMASA-2017-6. -- issue [security] DOS in replication status, see PMASA-2017-7. - - --- Older ChangeLogs can be found on our project website --- - https://www.phpmyadmin.net/old-stuff/ChangeLogs/ - -# vim: et ts=4 sw=4 sts=4 -# vim: ft=changelog fenc=utf-8 -# vim: fde=getline(v\:lnum-1)=~'^\\s*$'&&getline(v\:lnum)=~'\\S'?'>1'\:1&&v\:lnum>4&&getline(v\:lnum)!~'^#' -# vim: fdn=1 fdm=expr diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/README b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/README deleted file mode 100644 index f23e3169..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/README +++ /dev/null @@ -1,52 +0,0 @@ -phpMyAdmin - Readme -=================== - -Version 4.7.0 - -A web interface for MySQL and MariaDB. - -https://www.phpmyadmin.net/ - -Summary -------- - -phpMyAdmin is intended to handle the administration of MySQL over the web. -For a summary of features, list of requirements, and installation instructions, -please see the documentation in the ./doc/ folder or at https://docs.phpmyadmin.net/ - -Copyright ---------- - -Copyright © 1998 onwards -- the phpMyAdmin team - -Certain libraries are copyrighted by their respective authors; -see the full copyright list for details. - -For full copyright information, please see ./doc/copyright.rst - -License -------- - -This program is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License version 2, as published by the -Free Software Foundation. - -This program is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . - -Licensing of current contributions ----------------------------------- - -Beginning on 2013-12-01, new contributions to this codebase are all licensed -under terms compatible with GPLv2-or-later. phpMyAdmin is currently -transitioning older code to GPLv2-or-later, but work is not yet complete. - -Enjoy! ------- - -The phpMyAdmin team diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/RELEASE-DATE-4.7.0 b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/RELEASE-DATE-4.7.0 deleted file mode 100644 index 7eff453f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/RELEASE-DATE-4.7.0 +++ /dev/null @@ -1 +0,0 @@ -Wed Mar 29 12:13:14 UTC 2017 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/browse_foreigners.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/browse_foreigners.php deleted file mode 100644 index ac28f304..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/browse_foreigners.php +++ /dev/null @@ -1,61 +0,0 @@ -getFooter()->setMinimal(); -$header = $response->getHeader(); -$header->disableMenuAndConsole(); -$header->setBodyId('body_browse_foreigners'); - -/** - * Displays the frame - */ - -$foreigners = PMA_getForeigners($db, $table); -$foreign_limit = PMA_getForeignLimit( - isset($_REQUEST['foreign_showAll']) ? $_REQUEST['foreign_showAll'] : null -); - -$foreignData = PMA_getForeignData( - $foreigners, $_REQUEST['field'], true, - isset($_REQUEST['foreign_filter']) - ? $_REQUEST['foreign_filter'] - : '', - isset($foreign_limit) ? $foreign_limit : null, - true // for getting value in $foreignData['the_total'] -); - -// HTML output -$html = PMA_getHtmlForRelationalFieldSelection( - $db, $table, $_REQUEST['field'], $foreignData, - isset($fieldkey) ? $fieldkey : null, - isset($data) ? $data : null -); - -$response->addHtml($html); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/changelog.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/changelog.php deleted file mode 100644 index 27f232a5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/changelog.php +++ /dev/null @@ -1,160 +0,0 @@ -disable(); -$response->getHeader()->sendHttpHeaders(); - -$filename = CHANGELOG_FILE; - -/** - * Read changelog. - */ -// Check if the file is available, some distributions remove these. -if (@is_readable($filename)) { - - // Test if the if is in a compressed format - if (substr($filename, -3) == '.gz') { - ob_start(); - readgzfile($filename); - $changelog = ob_get_contents(); - ob_end_clean(); - } else { - $changelog = file_get_contents($filename); - } -} else { - printf( - __( - 'The %s file is not available on this system, please visit ' . - '%s for more information.' - ), - $filename, - 'phpmyadmin.net' - ); - exit; -} - -/** - * Whole changelog in variable. - */ -$changelog = htmlspecialchars($changelog); - -$tracker_url = 'https://sourceforge.net/support/tracker.php?aid=\\1'; -$tracker_url_bug = 'https://sourceforge.net/p/phpmyadmin/bugs/\\1/'; -$tracker_url_rfe = 'https://sourceforge.net/p/phpmyadmin/feature-requests/\\1/'; -$tracker_url_patch = 'https://sourceforge.net/p/phpmyadmin/patches/\\1/'; -$github_url = 'https://github.com/phpmyadmin/phpmyadmin/'; -$faq_url = 'https://docs.phpmyadmin.net/en/latest/faq.html'; - -$replaces = array( - '@(https?://[./a-zA-Z0-9.-_-]*[/a-zA-Z0-9_])@' - => '\\1', - - // sourceforge users - '/([0-9]{4}-[0-9]{2}-[0-9]{2}) (.+[^ ]) +<(.*)@users.sourceforge.net>/i' - => '\\1 \\2', - '/thanks to ([^\(\r\n]+) \(([-\w]+)\)/i' - => 'thanks to \\1', - '/thanks to ([^\(\r\n]+) -\s+([-\w]+)/i' - => 'thanks to \\1', - - // mail address - '/([0-9]{4}-[0-9]{2}-[0-9]{2}) (.+[^ ]) +<(.*@.*)>/i' - => '\\1 \\2', - - // linking patches - '/patch\s*#?([0-9]{6,})/i' - => 'patch #\\1', - - // linking RFE - '/(?:rfe|feature)\s*#?([0-9]{6,})/i' - => 'RFE #\\1', - - // linking files - '/(\s+)([\\/a-z_0-9\.]+\.(?:php3?|html|pl|js|sh))/i' - => '\\1\\2', - - // FAQ entries - '/FAQ ([0-9]+)\.([0-9a-z]+)/i' - => 'FAQ \\1.\\2', - - // linking bugs - '/bug\s*#?([0-9]{6,})/i' - => 'bug #\\1', - - // all other 6+ digit numbers are treated as bugs - '/(? 'bug #\\1', - - // GitHub issues - '/issue\s*#?([0-9]{4,5}) /i' - => 'issue #\\1 ', - - // transitioned SF.net project bug/rfe/patch links - // by the time we reach 6-digit numbers, we can probably retire the above links - '/patch\s*#?([0-9]{4,5}) /i' - => 'patch #\\1 ', - '/(?:rfe|feature)\s*#?([0-9]{4,5}) /i' - => 'RFE #\\1 ', - '/bug\s*#?([0-9]{4,5}) /i' - => 'bug #\\1 ', - '/(? 'bug #\\1 ', - - // CVE/CAN entries - '/((CAN|CVE)-[0-9]+-[0-9]+)/' - => '\\1', - - // PMASAentries - '/(PMASA-[0-9]+-[0-9]+)/' - => '\\1', - - // Highlight releases (with links) - '/([0-9]+)\.([0-9]+)\.([0-9]+)\.0 (\([0-9-]+\))/' - => '' - . '' - . '\\1.\\2.\\3.0 \\4', - '/([0-9]+)\.([0-9]+)\.([0-9]+)\.([1-9][0-9]*) (\([0-9-]+\))/' - => '' - . '' - . '\\1.\\2.\\3.\\4 \\5', - - // Highlight releases (not linkable) - '/( ### )(.*)/' - => '\\1\\2', - - // Links target and rel - '/a href="/' => 'a target="_blank" rel="noopener noreferrer" href="/' - -); - -header('Content-type: text/html; charset=utf-8'); -?> - - - - - - phpMyAdmin - ChangeLog - - - -

phpMyAdmin - ChangeLog

-'; -echo preg_replace(array_keys($replaces), $replaces, $changelog); -echo ''; -?> - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/chk_rel.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/chk_rel.php deleted file mode 100644 index 759e442d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/chk_rel.php +++ /dev/null @@ -1,33 +0,0 @@ -addHTML( - PMA_getRelationsParamDiagnostic($cfgRelation) -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/composer.json deleted file mode 100644 index 362f08f8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/composer.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "phpmyadmin/phpmyadmin", - "type": "application", - "description": "MySQL web administration tool", - "keywords": ["phpmyadmin","mysql","web"], - "homepage": "https://www.phpmyadmin.net/", - "license": "GPL-2.0+", - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "support": { - "forum": "https://www.phpmyadmin.net/support/", - "issues": "https://github.com/phpmyadmin/phpmyadmin/issues", - "wiki": "https://wiki.phpmyadmin.net/", - "docs": "https://docs.phpmyadmin.net/", - "source": "https://github.com/phpmyadmin/phpmyadmin" - }, - "non-feature-branches": ["RELEASE_.*"], - "autoload": { - "psr-4": { - "PMA\\": "./" - } - }, - "require": { - "php": ">=5.5.0", - "ext-mbstring": "*", - "ext-mysqli": "*", - "ext-xml": "*", - "ext-pcre": "*", - "ext-json": "*", - "phpmyadmin/sql-parser": "^4.1.2", - "phpmyadmin/motranslator": "^3.0", - "phpmyadmin/shapefile": "^2.0", - "tecnickcom/tcpdf": "^6.2", - "phpseclib/phpseclib": "^2.0", - "google/recaptcha": "^1.1" - }, - "suggest": { - "ext-openssl": "Cookie encryption", - "ext-curl": "Updates checking", - "ext-opcache": "Better performance", - "ext-zlib": "For gz import and export", - "ext-bz2": "For bzip2 import and export", - "ext-zip": "For zip import and export", - "ext-gd2": "For image transformations", - "tecnickcom/tcpdf": "For PDF support" - }, - "require-dev": { - "satooshi/php-coveralls": "^1.0", - "phpunit/phpunit": "~4.1", - "codacy/coverage": "dev-master", - "phpunit/phpunit-selenium": "~1.2", - "squizlabs/php_codesniffer": "2.*", - "phpmyadmin/coding-standard": ">=0.1.0" - }, - "repositories": [ - { - "type": "composer", - "url": "https://www.phpmyadmin.net" - } - ] -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/composer.lock b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/composer.lock deleted file mode 100644 index 4f426de3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/composer.lock +++ /dev/null @@ -1,2580 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "721eeba882f5a5acc3e1beb732d586f9", - "content-hash": "96b5f978d17e459021559b9733adf6c0", - "packages": [ - { - "name": "google/recaptcha", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/google/recaptcha.git", - "reference": "5a56d15ca10a7b75158178752b2ad8f755eb4f78" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/recaptcha/zipball/5a56d15ca10a7b75158178752b2ad8f755eb4f78", - "reference": "5a56d15ca10a7b75158178752b2ad8f755eb4f78", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "ReCaptcha\\": "src/ReCaptcha" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Client library for reCAPTCHA, a free service that protect websites from spam and abuse.", - "homepage": "http://www.google.com/recaptcha/", - "keywords": [ - "Abuse", - "captcha", - "recaptcha", - "spam" - ], - "time": "2017-03-09 18:44:34" - }, - { - "name": "phpmyadmin/motranslator", - "version": "3.0", - "source": { - "type": "git", - "url": "https://github.com/phpmyadmin/motranslator.git", - "reference": "b5d5f9a0c1f6ed1127e7b766b3b506766becbb89" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/motranslator/zipball/b5d5f9a0c1f6ed1127e7b766b3b506766becbb89", - "reference": "b5d5f9a0c1f6ed1127e7b766b3b506766becbb89", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "symfony/expression-language": "^3.1 || ^2.8" - }, - "require-dev": { - "phpunit/phpunit": "~4.8 || ~5.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpMyAdmin\\MoTranslator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "description": "Translation API for PHP using Gettext MO files", - "homepage": "https://github.com/phpmyadmin/motranslator", - "keywords": [ - "gettext", - "i18n", - "mo", - "translator" - ], - "time": "2017-01-23 11:21:12" - }, - { - "name": "phpmyadmin/shapefile", - "version": "2.0", - "source": { - "type": "git", - "url": "https://github.com/phpmyadmin/shapefile.git", - "reference": "ee3413bda4cfc5683f088c2f232aab5b27339781" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/shapefile/zipball/ee3413bda4cfc5683f088c2f232aab5b27339781", - "reference": "ee3413bda4cfc5683f088c2f232aab5b27339781", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~5.2 || ~4.8" - }, - "suggest": { - "ext-dbase": "For dbf files parsing" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpMyAdmin\\ShapeFile\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "description": "ESRI ShapeFile library for PHP", - "homepage": "https://github.com/phpmyadmin/shapefile", - "keywords": [ - "ESRI", - "Shapefile", - "dbf", - "geo", - "geospatial", - "shape", - "shp" - ], - "time": "2017-01-23 11:52:35" - }, - { - "name": "phpmyadmin/sql-parser", - "version": "v4.1.2", - "source": { - "type": "git", - "url": "https://github.com/phpmyadmin/sql-parser.git", - "reference": "eb359a59f86578ce7dd0690f7403d1a69859ac89" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/eb359a59f86578ce7dd0690f7403d1a69859ac89", - "reference": "eb359a59f86578ce7dd0690f7403d1a69859ac89", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "conflict": { - "phpmyadmin/motranslator": "<3.0" - }, - "require-dev": { - "phpunit/php-code-coverage": "~2.0 || ~3.0", - "phpunit/phpunit": "~4.8 || ~5.1" - }, - "suggest": { - "phpmyadmin/motranslator": "Translate messages to your favorite locale" - }, - "bin": [ - "bin/highlight-query", - "bin/lint-query" - ], - "type": "library", - "autoload": { - "psr-4": { - "PhpMyAdmin\\SqlParser\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "description": "A validating SQL lexer and parser with a focus on MySQL dialect.", - "homepage": "https://github.com/phpmyadmin/sql-parser", - "keywords": [ - "analysis", - "lexer", - "parser", - "sql" - ], - "time": "2017-02-20 07:22:58" - }, - { - "name": "phpseclib/phpseclib", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ab8028c93c03cc8d9c824efa75dc94f1db2369bf", - "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "~4.0", - "sami/sami": "~2.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "type": "library", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "time": "2016-10-04 00:57:04" - }, - { - "name": "psr/cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "time": "2016-08-06 20:24:11" - }, - { - "name": "psr/log", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2016-10-10 12:19:37" - }, - { - "name": "symfony/cache", - "version": "v3.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "38ead350d7c27b08b8da9401cbdbea8121f929a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/38ead350d7c27b08b8da9401cbdbea8121f929a4", - "reference": "38ead350d7c27b08b8da9401cbdbea8121f929a4", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/cache": "~1.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/cache-implementation": "1.0" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/cache": "~1.6", - "doctrine/dbal": "~2.4", - "predis/predis": "~1.0" - }, - "suggest": { - "symfony/polyfill-apcu": "For using ApcuAdapter on HHVM" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Cache\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony implementation of PSR-6", - "homepage": "https://symfony.com", - "keywords": [ - "caching", - "psr6" - ], - "time": "2017-03-08 12:16:26" - }, - { - "name": "symfony/expression-language", - "version": "v3.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/expression-language.git", - "reference": "8f7d3a35015831dc661713f403b0a0dd34a51baf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/8f7d3a35015831dc661713f403b0a0dd34a51baf", - "reference": "8f7d3a35015831dc661713f403b0a0dd34a51baf", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/cache": "~3.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\ExpressionLanguage\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony ExpressionLanguage Component", - "homepage": "https://symfony.com", - "time": "2017-02-24 13:58:52" - }, - { - "name": "tecnickcom/tcpdf", - "version": "6.2.12", - "source": { - "type": "git", - "url": "https://github.com/tecnickcom/TCPDF.git", - "reference": "2f732eaa91b5665274689b1d40b285a7bacdc37f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/2f732eaa91b5665274689b1d40b285a7bacdc37f", - "reference": "2f732eaa91b5665274689b1d40b285a7bacdc37f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "fonts", - "config", - "include", - "tcpdf.php", - "tcpdf_parser.php", - "tcpdf_import.php", - "tcpdf_barcodes_1d.php", - "tcpdf_barcodes_2d.php", - "include/tcpdf_colors.php", - "include/tcpdf_filters.php", - "include/tcpdf_font_data.php", - "include/tcpdf_fonts.php", - "include/tcpdf_images.php", - "include/tcpdf_static.php", - "include/barcodes/datamatrix.php", - "include/barcodes/pdf417.php", - "include/barcodes/qrcode.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPLv3" - ], - "authors": [ - { - "name": "Nicola Asuni", - "email": "info@tecnick.com", - "homepage": "http://nicolaasuni.tecnick.com" - } - ], - "description": "TCPDF is a PHP class for generating PDF documents and barcodes.", - "homepage": "http://www.tcpdf.org/", - "keywords": [ - "PDFD32000-2008", - "TCPDF", - "barcodes", - "datamatrix", - "pdf", - "pdf417", - "qrcode" - ], - "time": "2015-09-12 10:08:34" - } - ], - "packages-dev": [ - { - "name": "codacy/coverage", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/codacy/php-codacy-coverage.git", - "reference": "c0b3a02883bd80f0955c2478193304ddbef23e56" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/codacy/php-codacy-coverage/zipball/c0b3a02883bd80f0955c2478193304ddbef23e56", - "reference": "c0b3a02883bd80f0955c2478193304ddbef23e56", - "shasum": "" - }, - "require": { - "gitonomy/gitlib": "~0.1", - "php": ">=5.3.3", - "symfony/console": "~2.5|~3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.5" - }, - "bin": [ - "bin/codacycoverage" - ], - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jakob Pupke", - "email": "jakob.pupke@gmail.com" - } - ], - "description": "Sends PHP test coverage information to Codacy.", - "homepage": "https://github.com/codacy/php-codacy-coverage", - "time": "2017-03-09 18:29:51" - }, - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14 21:17:01" - }, - { - "name": "gitonomy/gitlib", - "version": "v0.1.8", - "source": { - "type": "git", - "url": "https://github.com/gitonomy/gitlib.git", - "reference": "f575b8f7da917ade7890c6aa705fa22545690389" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/f575b8f7da917ade7890c6aa705fa22545690389", - "reference": "f575b8f7da917ade7890c6aa705fa22545690389", - "shasum": "" - }, - "require": { - "symfony/process": "^2.3|^3.0" - }, - "require-dev": { - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Add some log" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Gitonomy\\Git\\": "src/Gitonomy/Git/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alexandre Salomé", - "email": "alexandre.salome@gmail.com", - "homepage": "http://alexandre-salome.fr" - }, - { - "name": "Julien DIDIER", - "email": "genzo.wm@gmail.com", - "homepage": "http://www.jdidier.net" - } - ], - "description": "Library for accessing git", - "homepage": "http://gitonomy.com", - "time": "2015-12-01 22:25:57" - }, - { - "name": "guzzle/guzzle", - "version": "v3.9.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle3.git", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.3", - "symfony/event-dispatcher": "~2.1" - }, - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" - }, - "require-dev": { - "doctrine/cache": "~1.3", - "monolog/monolog": "~1.0", - "phpunit/phpunit": "3.7.*", - "psr/log": "~1.0", - "symfony/class-loader": "~2.1", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3" - }, - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.9-dev" - } - }, - "autoload": { - "psr-0": { - "Guzzle": "src/", - "Guzzle\\Tests": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" - } - ], - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "abandoned": "guzzlehttp/guzzle", - "time": "2015-03-18 18:23:50" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "time": "2015-12-27 11:43:31" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2016-09-30 07:12:33" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "time": "2016-11-25 06:54:22" - }, - { - "name": "phpmyadmin/coding-standard", - "version": "0.2", - "source": { - "type": "git", - "url": "https://github.com/phpmyadmin/coding-standard.git", - "reference": "4736e6d8e29c2d7a8e86ecea78445e4aa13a8076" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/coding-standard/zipball/4736e6d8e29c2d7a8e86ecea78445e4aa13a8076", - "reference": "4736e6d8e29c2d7a8e86ecea78445e4aa13a8076", - "shasum": "" - }, - "require": { - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "description": "phpMyAdmin PHP CodeSniffer Coding Standard", - "keywords": [ - "codesniffer", - "phpcs", - "phpmyadmin" - ], - "time": "2016-04-19 14:41:23" - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2017-03-02 20:05:34" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06 15:47:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2016-10-03 07:40:28" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21 13:50:34" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2017-02-26 11:10:40" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2017-02-27 10:12:30" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "^1.3.1", - "phpunit/php-code-coverage": "~2.1", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.2.2", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.3", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2017-02-06 05:18:07" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02 06:51:40" - }, - { - "name": "phpunit/phpunit-selenium", - "version": "1.4.2", - "source": { - "type": "git", - "url": "https://github.com/giorgiosironi/phpunit-selenium.git", - "reference": "c84dd7ca214563868ce216123b7ae9c792beb262" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/giorgiosironi/phpunit-selenium/zipball/c84dd7ca214563868ce216123b7ae9c792beb262", - "reference": "c84dd7ca214563868ce216123b7ae9c792beb262", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-dom": "*", - "php": ">=5.3.3", - "phpunit/phpunit": "~3.7|~4.0", - "sebastian/comparator": "~1.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "PHPUnit/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - }, - { - "name": "Giorgio Sironi", - "email": "info@giorgiosironi.com", - "role": "developer" - } - ], - "description": "Selenium Server integration for PHPUnit", - "homepage": "http://www.phpunit.de/", - "keywords": [ - "selenium", - "testing", - "xunit" - ], - "time": "2014-11-02 09:23:27" - }, - { - "name": "satooshi/php-coveralls", - "version": "v1.0.1", - "source": { - "type": "git", - "url": "https://github.com/satooshi/php-coveralls.git", - "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/da51d304fe8622bf9a6da39a8446e7afd432115c", - "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-simplexml": "*", - "guzzle/guzzle": "^2.8|^3.0", - "php": ">=5.3.3", - "psr/log": "^1.0", - "symfony/config": "^2.1|^3.0", - "symfony/console": "^2.1|^3.0", - "symfony/stopwatch": "^2.0|^3.0", - "symfony/yaml": "^2.0|^3.0" - }, - "suggest": { - "symfony/http-kernel": "Allows Symfony integration" - }, - "bin": [ - "bin/coveralls" - ], - "type": "library", - "autoload": { - "psr-4": { - "Satooshi\\": "src/Satooshi/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kitamura Satoshi", - "email": "with.no.parachute@gmail.com", - "homepage": "https://www.facebook.com/satooshi.jp" - } - ], - "description": "PHP client library for Coveralls API", - "homepage": "https://github.com/satooshi/php-coveralls", - "keywords": [ - "ci", - "coverage", - "github", - "test" - ], - "time": "2016-01-20 17:35:46" - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2017-01-29 09:50:25" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08 07:14:41" - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-08-18 05:49:44" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17 09:04:28" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12 03:26:01" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2016-10-03 07:41:43" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21 13:59:46" - }, - { - "name": "squizlabs/php_codesniffer", - "version": "2.8.1", - "source": { - "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "d7cf0d894e8aa4c73712ee4a331cc1eaa37cdc7d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/d7cf0d894e8aa4c73712ee4a331cc1eaa37cdc7d", - "reference": "d7cf0d894e8aa4c73712ee4a331cc1eaa37cdc7d", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "bin": [ - "scripts/phpcs", - "scripts/phpcbf" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "classmap": [ - "CodeSniffer.php", - "CodeSniffer/CLI.php", - "CodeSniffer/Exception.php", - "CodeSniffer/File.php", - "CodeSniffer/Fixer.php", - "CodeSniffer/Report.php", - "CodeSniffer/Reporting.php", - "CodeSniffer/Sniff.php", - "CodeSniffer/Tokens.php", - "CodeSniffer/Reports/", - "CodeSniffer/Tokenizers/", - "CodeSniffer/DocGenerators/", - "CodeSniffer/Standards/AbstractPatternSniff.php", - "CodeSniffer/Standards/AbstractScopeSniff.php", - "CodeSniffer/Standards/AbstractVariableSniff.php", - "CodeSniffer/Standards/IncorrectPatternException.php", - "CodeSniffer/Standards/Generic/Sniffs/", - "CodeSniffer/Standards/MySource/Sniffs/", - "CodeSniffer/Standards/PEAR/Sniffs/", - "CodeSniffer/Standards/PSR1/Sniffs/", - "CodeSniffer/Standards/PSR2/Sniffs/", - "CodeSniffer/Standards/Squiz/Sniffs/", - "CodeSniffer/Standards/Zend/Sniffs/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "lead" - } - ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "http://www.squizlabs.com/php-codesniffer", - "keywords": [ - "phpcs", - "standards" - ], - "time": "2017-03-01 22:17:45" - }, - { - "name": "symfony/config", - "version": "v3.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "741d6d4cd1414d67d48eb71aba6072b46ba740c2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/741d6d4cd1414d67d48eb71aba6072b46ba740c2", - "reference": "741d6d4cd1414d67d48eb71aba6072b46ba740c2", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/filesystem": "~2.8|~3.0" - }, - "require-dev": { - "symfony/yaml": "~3.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "time": "2017-03-01 18:18:25" - }, - { - "name": "symfony/console", - "version": "v3.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "28fb243a2b5727774ca309ec2d92da240f1af0dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/28fb243a2b5727774ca309ec2d92da240f1af0dd", - "reference": "28fb243a2b5727774ca309ec2d92da240f1af0dd", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/filesystem": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2017-03-06 19:30:27" - }, - { - "name": "symfony/debug", - "version": "v3.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "b90c9f91ad8ac37d9f114e369042d3226b34dc1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/b90c9f91ad8ac37d9f114e369042d3226b34dc1a", - "reference": "b90c9f91ad8ac37d9f114e369042d3226b34dc1a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/class-loader": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com", - "time": "2017-02-18 17:28:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.8.18", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bb4ec47e8e109c1c1172145732d0aa468d967cd0", - "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2017-02-21 08:33:48" - }, - { - "name": "symfony/filesystem", - "version": "v3.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "bc0f17bed914df2cceb989972c3b996043c4da4a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/bc0f17bed914df2cceb989972c3b996043c4da4a", - "reference": "bc0f17bed914df2cceb989972c3b996043c4da4a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2017-03-06 19:30:27" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2016-11-14 01:06:16" - }, - { - "name": "symfony/process", - "version": "v3.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "68bfa8c83f24c0ac04ea7193bcdcda4519f41892" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/68bfa8c83f24c0ac04ea7193bcdcda4519f41892", - "reference": "68bfa8c83f24c0ac04ea7193bcdcda4519f41892", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2017-03-04 12:23:14" - }, - { - "name": "symfony/stopwatch", - "version": "v3.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "c5ee0f8650c84b4d36a5f76b3b504233feaabf75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c5ee0f8650c84b4d36a5f76b3b504233feaabf75", - "reference": "c5ee0f8650c84b4d36a5f76b3b504233feaabf75", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2017-02-18 17:28:00" - }, - { - "name": "symfony/yaml", - "version": "v3.2.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "093e416ad096355149e265ea2e4cc1f9ee40ab1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/093e416ad096355149e265ea2e4cc1f9ee40ab1a", - "reference": "093e416ad096355149e265ea2e4cc1f9ee40ab1a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2017-03-07 16:47:02" - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2016-11-23 20:04:58" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": { - "codacy/coverage": 20 - }, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.5.0", - "ext-mbstring": "*", - "ext-mysqli": "*", - "ext-xml": "*", - "ext-pcre": "*", - "ext-json": "*" - }, - "platform-dev": [] -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/config.sample.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/config.sample.inc.php deleted file mode 100644 index 5eede6dd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/config.sample.inc.php +++ /dev/null @@ -1,154 +0,0 @@ -. - * - * @package PhpMyAdmin - */ - -/** - * This is needed for cookie based authentication to encrypt password in - * cookie. Needs to be 32 chars long. - */ -$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ - -/** - * Servers configuration - */ -$i = 0; - -/** - * First server - */ -$i++; -/* Authentication type */ -$cfg['Servers'][$i]['auth_type'] = 'cookie'; -/* Server parameters */ -$cfg['Servers'][$i]['host'] = 'localhost'; -$cfg['Servers'][$i]['compress'] = false; -$cfg['Servers'][$i]['AllowNoPassword'] = false; - -/** - * phpMyAdmin configuration storage settings. - */ - -/* User used to manipulate with storage */ -// $cfg['Servers'][$i]['controlhost'] = ''; -// $cfg['Servers'][$i]['controlport'] = ''; -// $cfg['Servers'][$i]['controluser'] = 'pma'; -// $cfg['Servers'][$i]['controlpass'] = 'pmapass'; - -/* Storage database and tables */ -// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; -// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; -// $cfg['Servers'][$i]['relation'] = 'pma__relation'; -// $cfg['Servers'][$i]['table_info'] = 'pma__table_info'; -// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; -// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages'; -// $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; -// $cfg['Servers'][$i]['history'] = 'pma__history'; -// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; -// $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; -// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; -// $cfg['Servers'][$i]['recent'] = 'pma__recent'; -// $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; -// $cfg['Servers'][$i]['users'] = 'pma__users'; -// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; -// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; -// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; -// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; -// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; -// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates'; - -/** - * End of servers configuration - */ - -/** - * Directories for saving/loading files from server - */ -$cfg['UploadDir'] = ''; -$cfg['SaveDir'] = ''; - -/** - * Whether to display icons or text or both icons and text in table row - * action segment. Value can be either of 'icons', 'text' or 'both'. - * default = 'both' - */ -//$cfg['RowActionType'] = 'icons'; - -/** - * Defines whether a user should be displayed a "show all (records)" - * button in browse mode or not. - * default = false - */ -//$cfg['ShowAll'] = true; - -/** - * Number of rows displayed when browsing a result set. If the result - * set contains more rows, "Previous" and "Next". - * Possible values: 25, 50, 100, 250, 500 - * default = 25 - */ -//$cfg['MaxRows'] = 50; - -/** - * Disallow editing of binary fields - * valid values are: - * false allow editing - * 'blob' allow editing except for BLOB fields - * 'noblob' disallow editing except for BLOB fields - * 'all' disallow editing - * default = 'blob' - */ -//$cfg['ProtectBinary'] = false; - -/** - * Default language to use, if not browser-defined or user-defined - * (you find all languages in the locale folder) - * uncomment the desired line: - * default = 'en' - */ -//$cfg['DefaultLang'] = 'en'; -//$cfg['DefaultLang'] = 'de'; - -/** - * How many columns should be used for table display of a database? - * (a value larger than 1 results in some information being hidden) - * default = 1 - */ -//$cfg['PropertiesNumColumns'] = 2; - -/** - * Set to true if you want DB-based query history.If false, this utilizes - * JS-routines to display query history (lost by window close) - * - * This requires configuration storage enabled, see above. - * default = false - */ -//$cfg['QueryHistoryDB'] = true; - -/** - * When using DB-based query history, how many entries should be kept? - * default = 25 - */ -//$cfg['QueryHistoryMax'] = 100; - -/** - * Whether or not to query the user before sending the error report to - * the phpMyAdmin team when a JavaScript error occurs - * - * Available options - * ('ask' | 'always' | 'never') - * default = 'ask' - */ -//$cfg['SendErrorReports'] = 'always'; - -/** - * You can find more configuration options in the documentation - * in the doc/ folder or at . - */ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_central_columns.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_central_columns.php deleted file mode 100644 index 321b4e9b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_central_columns.php +++ /dev/null @@ -1,154 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('jquery/jquery.uitablefilter.js'); -$scripts->addFile('jquery/jquery.tablesorter.js'); -$scripts->addFile('db_central_columns.js'); -$cfgCentralColumns = PMA_centralColumnsGetParams(); -$pmadb = $cfgCentralColumns['db']; -$pmatable = $cfgCentralColumns['table']; -$max_rows = intval($GLOBALS['cfg']['MaxRows']); - -if (isset($_REQUEST['edit_central_columns_page'])) { - $selected_fld = $_REQUEST['selected_fld']; - $selected_db = $_REQUEST['db']; - $edit_central_column_page = PMA_getHTMLforEditingPage( - $selected_fld, $selected_db - ); - $response->addHTML($edit_central_column_page); - exit; -} -if (isset($_POST['multi_edit_central_column_save'])) { - $message = PMA_updateMultipleColumn(); - if (!is_bool($message)) { - $response->setRequestStatus(false); - $response->addJSON('message', $message); - } -} -if (isset($_POST['delete_save'])) { - $col_name = array(); - parse_str($_POST['col_name'], $col_name); - $tmp_msg = PMA_deleteColumnsFromList($col_name['selected_fld'], false); -} -if (isset($_REQUEST['total_rows']) && $_REQUEST['total_rows']) { - $total_rows = $_REQUEST['total_rows']; -} else { - $total_rows = PMA_getCentralColumnsCount($db); -} -if (PMA_isValid($_REQUEST['pos'], 'integer')) { - $pos = intval($_REQUEST['pos']); -} else { - $pos = 0; -} -$addNewColumn = PMA_getHTMLforAddNewColumn($db, $total_rows); -$response->addHTML($addNewColumn); -if ($total_rows <= 0) { - $response->addHTML( - '
' . __( - 'The central list of columns for the current database is empty.' - ) . '
' - ); - $columnAdd = PMA_getHTMLforAddCentralColumn($total_rows, $pos, $db); - $response->addHTML($columnAdd); - exit; -} -$table_navigation_html = PMA_getHTMLforTableNavigation($total_rows, $pos, $db); -$response->addHTML($table_navigation_html); -$columnAdd = PMA_getHTMLforAddCentralColumn($total_rows, $pos, $db); -$response->addHTML($columnAdd); -$deleteRowForm = '
' - . URL::getHiddenInputs( - $db - ) - . '' - . '' - . '
'; -$response->addHTML($deleteRowForm); -$table_struct = '
' - . '
' - . ''; -$response->addHTML($table_struct); -$tableheader = PMA_getCentralColumnsTableHeader( - 'column_heading', __('Click to sort.'), 2 -); -$response->addHTML($tableheader); -$result = PMA_getColumnsList($db, $pos, $max_rows); -$row_num = 0; -foreach ($result as $row) { - $tableHtmlRow = PMA_getHTMLforCentralColumnsTableRow( - $row, $row_num, $db - ); - $response->addHTML($tableHtmlRow); - $row_num++; -} -$response->addHTML('
'); -$tablefooter = PMA_getCentralColumnsTableFooter($pmaThemeImage, $text_dir); -$response->addHTML($tablefooter); -$response->addHTML('
'); -$message = PMA\libraries\Message::success( - sprintf(__('Showing rows %1$s - %2$s.'), ($pos + 1), ($pos + count($result))) -); -if (isset($tmp_msg) && $tmp_msg !== true) { - $message = $tmp_msg; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_designer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_designer.php deleted file mode 100644 index 94395e88..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_designer.php +++ /dev/null @@ -1,191 +0,0 @@ -addHTML($html); - } - return; -} - -if (isset($_REQUEST['operation'])) { - - if ($_REQUEST['operation'] == 'deletePage') { - $success = PMA_deletePage($_REQUEST['selected_page']); - $response->setRequestStatus($success); - } elseif ($_REQUEST['operation'] == 'savePage') { - if ($_REQUEST['save_page'] == 'same') { - $page = $_REQUEST['selected_page']; - } else { // new - $page = PMA_createNewPage($_REQUEST['selected_value'], $GLOBALS['db']); - $response->addJSON('id', $page); - } - $success = PMA_saveTablePositions($page); - $response->setRequestStatus($success); - } elseif ($_REQUEST['operation'] == 'setDisplayField') { - PMA_saveDisplayField( - $_REQUEST['db'], $_REQUEST['table'], $_REQUEST['field'] - ); - $response->setRequestStatus(true); - } elseif ($_REQUEST['operation'] == 'addNewRelation') { - list($success, $message) = PMA_addNewRelation( - $_REQUEST['db'], - $_REQUEST['T1'], - $_REQUEST['F1'], - $_REQUEST['T2'], - $_REQUEST['F2'], - $_REQUEST['on_delete'], - $_REQUEST['on_update'] - ); - $response->setRequestStatus($success); - $response->addJSON('message', $message); - } elseif ($_REQUEST['operation'] == 'removeRelation') { - list($success, $message) = PMA_removeRelation( - $_REQUEST['T1'], - $_REQUEST['F1'], - $_REQUEST['T2'], - $_REQUEST['F2'] - ); - $response->setRequestStatus($success); - $response->addJSON('message', $message); - } elseif ($_REQUEST['operation'] == 'save_setting_value') { - $success = PMA_saveDesignerSetting($_REQUEST['index'], $_REQUEST['value']); - $response->setRequestStatus($success); - } - - return; -} - -require 'libraries/db_common.inc.php'; - -$script_display_field = PMA_getTablesInfo(); -$tab_column = PMA_getColumnsInfo(); -$script_tables = PMA_getScriptTabs(); -$tables_pk_or_unique_keys = PMA_getPKOrUniqueKeys(); -$tables_all_keys = PMA_getAllKeys(); -$classes_side_menu = PMA_returnClassNamesFromMenuButtons(); - -$display_page = -1; -$selected_page = null; - -if (isset($_REQUEST['query'])) { - $display_page = PMA_getDefaultPage($_REQUEST['db']); -} else { - if (! empty($_REQUEST['page'])) { - $display_page = $_REQUEST['page']; - } else { - $display_page = PMA_getLoadingPage($_REQUEST['db']); - } -} -if ($display_page != -1) { - $selected_page = PMA_getPageName($display_page); -} -$tab_pos = PMA_getTablePositions($display_page); -$script_contr = PMA_getScriptContr(); - -$params = array('lang' => $GLOBALS['lang']); -if (isset($_GET['db'])) { - $params['db'] = $_GET['db']; -} - -$response = Response::getInstance(); -$response->getFooter()->setMinimal(); -$header = $response->getHeader(); -$header->setBodyId('pmd_body'); - -$scripts = $header->getScripts(); -$scripts->addFile('jquery/jquery.fullscreen.js'); -$scripts->addFile('pmd/designer_db.js'); -$scripts->addFile('pmd/designer_objects.js'); -$scripts->addFile('pmd/designer_page.js'); -$scripts->addFile('pmd/history.js'); -$scripts->addFile('pmd/move.js'); -$scripts->addFile('pmd/init.js'); - -list( - $tables, - $num_tables, - $total_num_tables, - $sub_part, - $is_show_stats, - $db_is_system_schema, - $tooltip_truename, - $tooltip_aliasname, - $pos -) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : ''); - -// Embed some data into HTML, later it will be read -// by pmd/init.js and converted to JS variables. -$response->addHTML( - PMA_getHtmlForJSFields( - $script_tables, $script_contr, $script_display_field, $display_page - ) -); -$response->addHTML( - PMA_getDesignerPageMenu( - isset($_REQUEST['query']), - $selected_page, - $classes_side_menu - ) -); - - - -$response->addHTML('
'); -$response->addHTML( - '
' -); - -$response->addHTML(PMA_getHTMLCanvas()); -$response->addHTML(PMA_getHTMLTableList($tab_pos, $display_page)); - -$response->addHTML( - PMA_getDatabaseTables( - $tab_pos, $display_page, $tab_column, - $tables_all_keys, $tables_pk_or_unique_keys - ) -); -$response->addHTML('
'); -$response->addHTML('
'); // end canvas_outer - -$response->addHTML('
'); - -$response->addHTML(PMA_getNewRelationPanel()); -$response->addHTML(PMA_getDeleteRelationPanel()); - -if (isset($_REQUEST['query'])) { - $response->addHTML(PMA_getOptionsPanel()); - $response->addHTML(PMA_getRenameToPanel()); - $response->addHTML(PMA_getHavingQueryPanel()); - $response->addHTML(PMA_getAggregateQueryPanel()); - $response->addHTML(PMA_getWhereQueryPanel()); - $response->addHTML(PMA_getQueryDetails()); -} - -$response->addHTML('
'); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_import.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_import.php deleted file mode 100644 index 34bc300c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_import.php +++ /dev/null @@ -1,46 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('import.js'); - -/** - * Gets tables information and displays top links - */ -require 'libraries/db_common.inc.php'; - -list( - $tables, - $num_tables, - $total_num_tables, - $sub_part, - $is_show_stats, - $db_is_system_schema, - $tooltip_truename, - $tooltip_aliasname, - $pos -) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : ''); - -require 'libraries/display_import.lib.php'; -$response = Response::getInstance(); -$response->addHTML( - PMA_getImportDisplay( - 'database', $db, $table, $max_upload_size - ) -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_operations.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_operations.php deleted file mode 100644 index a934fc43..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_operations.php +++ /dev/null @@ -1,308 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('db_operations.js'); - -$sql_query = ''; - -/** - * Rename/move or copy database - */ -if (strlen($GLOBALS['db']) > 0 - && (! empty($_REQUEST['db_rename']) || ! empty($_REQUEST['db_copy'])) -) { - if (! empty($_REQUEST['db_rename'])) { - $move = true; - } else { - $move = false; - } - - if (! isset($_REQUEST['newname']) || strlen($_REQUEST['newname']) === 0) { - $message = PMA\libraries\Message::error(__('The database name is empty!')); - } else { - $_error = false; - if ($move || ! empty($_REQUEST['create_database_before_copying'])) { - PMA_createDbBeforeCopy(); - } - - // here I don't use DELIMITER because it's not part of the - // language; I have to send each statement one by one - - // to avoid selecting alternatively the current and new db - // we would need to modify the CREATE definitions to qualify - // the db name - PMA_runProcedureAndFunctionDefinitions($GLOBALS['db']); - - // go back to current db, just in case - $GLOBALS['dbi']->selectDb($GLOBALS['db']); - - $tables_full = $GLOBALS['dbi']->getTablesFull($GLOBALS['db']); - - include_once "libraries/plugin_interface.lib.php"; - // remove all foreign key constraints, otherwise we can get errors - /* @var $export_sql_plugin ExportSql */ - $export_sql_plugin = PMA_getPlugin( - "export", - "sql", - 'libraries/plugins/export/', - array( - 'single_table' => isset($single_table), - 'export_type' => 'database' - ) - ); - - // create stand-in tables for views - $views = PMA_getViewsAndCreateSqlViewStandIn( - $tables_full, $export_sql_plugin, $GLOBALS['db'] - ); - - // copy tables - $sqlConstratints = PMA_copyTables( - $tables_full, $move, $GLOBALS['db'] - ); - - // handle the views - if (! $_error) { - PMA_handleTheViews($views, $move, $GLOBALS['db']); - } - unset($views); - - // now that all tables exist, create all the accumulated constraints - if (! $_error && count($sqlConstratints) > 0) { - PMA_createAllAccumulatedConstraints($sqlConstratints); - } - unset($sqlConstratints); - - if (PMA_MYSQL_INT_VERSION >= 50100) { - // here DELIMITER is not used because it's not part of the - // language; each statement is sent one by one - - PMA_runEventDefinitionsForDb($GLOBALS['db']); - } - - // go back to current db, just in case - $GLOBALS['dbi']->selectDb($GLOBALS['db']); - - // Duplicate the bookmarks for this db (done once for each db) - PMA_duplicateBookmarks($_error, $GLOBALS['db']); - - if (! $_error && $move) { - if (isset($_REQUEST['adjust_privileges']) - && ! empty($_REQUEST['adjust_privileges']) - ) { - PMA_AdjustPrivileges_moveDB($GLOBALS['db'], $_REQUEST['newname']); - } - - /** - * cleanup pmadb stuff for this db - */ - include_once 'libraries/relation_cleanup.lib.php'; - PMA_relationsCleanupDatabase($GLOBALS['db']); - - // if someday the RENAME DATABASE reappears, do not DROP - $local_query = 'DROP DATABASE ' - . PMA\libraries\Util::backquote($GLOBALS['db']) . ';'; - $sql_query .= "\n" . $local_query; - $GLOBALS['dbi']->query($local_query); - - $message = PMA\libraries\Message::success( - __('Database %1$s has been renamed to %2$s.') - ); - $message->addParam($GLOBALS['db']); - $message->addParam($_REQUEST['newname']); - } elseif (! $_error) { - if (isset($_REQUEST['adjust_privileges']) - && ! empty($_REQUEST['adjust_privileges']) - ) { - PMA_AdjustPrivileges_copyDB($GLOBALS['db'], $_REQUEST['newname']); - } - - $message = PMA\libraries\Message::success( - __('Database %1$s has been copied to %2$s.') - ); - $message->addParam($GLOBALS['db']); - $message->addParam($_REQUEST['newname']); - } else { - $message = PMA\libraries\Message::error(); - } - $reload = true; - - /* Change database to be used */ - if (! $_error && $move) { - $GLOBALS['db'] = $_REQUEST['newname']; - } elseif (! $_error) { - if (isset($_REQUEST['switch_to_new']) - && $_REQUEST['switch_to_new'] == 'true' - ) { - $GLOBALS['PMA_Config']->setCookie('pma_switch_to_new', 'true'); - $GLOBALS['db'] = $_REQUEST['newname']; - } else { - $GLOBALS['PMA_Config']->setCookie('pma_switch_to_new', ''); - } - } - } - - /** - * Database has been successfully renamed/moved. If in an Ajax request, - * generate the output with {@link PMA\libraries\Response} and exit - */ - if ($response->isAjax()) { - $response->setRequestStatus($message->isSuccess()); - $response->addJSON('message', $message); - $response->addJSON('newname', $_REQUEST['newname']); - $response->addJSON( - 'sql_query', - PMA\libraries\Util::getMessage(null, $sql_query) - ); - $response->addJSON('db', $GLOBALS['db']); - exit; - } -} - -/** - * Settings for relations stuff - */ - -$cfgRelation = PMA_getRelationsParam(); - -/** - * Check if comments were updated - * (must be done before displaying the menu tabs) - */ -if (isset($_REQUEST['comment'])) { - PMA_setDbComment($GLOBALS['db'], $_REQUEST['comment']); -} - -require 'libraries/db_common.inc.php'; -$url_query .= '&goto=db_operations.php'; - -// Gets the database structure -$sub_part = '_structure'; - -list( - $tables, - $num_tables, - $total_num_tables, - $sub_part, - $is_show_stats, - $db_is_system_schema, - $tooltip_truename, - $tooltip_aliasname, - $pos -) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : ''); - -echo "\n"; - -if (isset($message)) { - echo PMA\libraries\Util::getMessage($message, $sql_query); - unset($message); -} - -$_REQUEST['db_collation'] = $GLOBALS['dbi']->getDbCollation($GLOBALS['db']); -$is_information_schema = $GLOBALS['dbi']->isSystemSchema($GLOBALS['db']); - -$response->addHTML('
'); - -if (!$is_information_schema) { - if ($cfgRelation['commwork']) { - /** - * database comment - */ - $response->addHTML(PMA_getHtmlForDatabaseComment($GLOBALS['db'])); - } - - $response->addHTML('
'); - $response->addHTML(PMA_getHtmlForCreateTable($db)); - $response->addHTML('
'); - - /** - * rename database - */ - if ($GLOBALS['db'] != 'mysql') { - $response->addHTML(PMA_getHtmlForRenameDatabase($GLOBALS['db'])); - } - - // Drop link if allowed - // Don't even try to drop information_schema. - // You won't be able to. Believe me. You won't. - // Don't allow to easily drop mysql database, RFE #1327514. - if (($is_superuser || $GLOBALS['cfg']['AllowUserDropDatabase']) - && ! $db_is_system_schema - && $GLOBALS['db'] != 'mysql' - ) { - $response->addHTML(PMA_getHtmlForDropDatabaseLink($GLOBALS['db'])); - } - /** - * Copy database - */ - $response->addHTML(PMA_getHtmlForCopyDatabase($GLOBALS['db'])); - - /** - * Change database charset - */ - $response->addHTML(PMA_getHtmlForChangeDatabaseCharset($GLOBALS['db'], $table)); - - if (! $cfgRelation['allworks'] - && $cfg['PmaNoRelation_DisableWarning'] == false - ) { - $message = PMA\libraries\Message::notice( - __( - 'The phpMyAdmin configuration storage has been deactivated. ' . - '%sFind out why%s.' - ) - ); - $message->addParamHtml(''); - $message->addParamHtml(''); - /* Show error if user has configured something, notice elsewhere */ - if (!empty($cfg['Servers'][$server]['pmadb'])) { - $message->isError(true); - } - } // end if -} // end if (!$is_information_schema) - -$response->addHTML('
'); - -// not sure about displaying the PDF dialog in case db is information_schema -if ($cfgRelation['pdfwork'] && $num_tables > 0) { - // We only show this if we find something in the new pdf_pages table - $test_query = ' - SELECT * - FROM ' . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['pdf_pages']) . ' - WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($GLOBALS['db']) - . '\''; - $test_rs = PMA_queryAsControlUser( - $test_query, - false, - PMA\libraries\DatabaseInterface::QUERY_STORE - ); -} // end if diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_routines.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_routines.php deleted file mode 100644 index 618736e2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_routines.php +++ /dev/null @@ -1,24 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('makegrid.js'); -$scripts->addFile('jquery/jquery.uitablefilter.js'); -$scripts->addFile('sql.js'); - -require 'libraries/db_common.inc.php'; -require_once 'libraries/sql_query_form.lib.php'; - -// After a syntax error, we return to this script -// with the typed query in the textarea. -$goto = 'db_sql.php'; -$back = 'db_sql.php'; - -/** - * Query box, bookmark, insert data from textfile - */ -$response->addHTML( - PMA_getHtmlForSqlQueryForm( - true, false, - isset($_REQUEST['delimiter']) - ? htmlspecialchars($_REQUEST['delimiter']) - : ';' - ) -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_structure.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_structure.php deleted file mode 100644 index 2bb9ec14..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/db_structure.php +++ /dev/null @@ -1,40 +0,0 @@ -factory( - 'PMA\libraries\controllers\database\DatabaseStructureController' -); -$container->alias( - 'DatabaseStructureController', - 'PMA\libraries\controllers\database\DatabaseStructureController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/* Define dependencies for the concerned controller */ -$dependency_definitions = array( - 'db' => $db, - 'url_query' => &$GLOBALS['url_query'], -); - -/** @var DatabaseStructureController $controller */ -$controller = $container->get( - 'DatabaseStructureController', - $dependency_definitions -); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/chart.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/chart.png deleted file mode 100644 index a4585823ac6bedd75fe014c775b1df0367126334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53729 zcmcG$XE>bO7dIRt2_lJ-ArhjuQBz2CQG(H;%nYMOuhDz7gkS_whUn3vj3JoO2TAna zYY;8MDA7Cb?VSI6&Uv5b^ZUW&8guV`uf6*Et+j=}P*=P`ewX~xrAs%ImE^T9T_O>^ zbcwitloA7CIbo2Yg z4^gXQzWJp~{T|Bl&vd+u*6`<^I?&{E@pIYp>w5b=-M2DSN^;?&E}P54OzWXZDxZ%n z5rMBr$!|Z^Iub5nIcqaL+U(nUEUe z6sYtUq>fh$we!@|j{H}Kr1Ffcs=sLAdZ&B6*ZlUpr*|cMM`wO)Z5)gcs@h}H1GyfY ziv=e$Um_xvxkOAEc!`9W(v&!0K4MKhV{$Pm;5+b01d1kG@Kl!LuW$eNAgN%GDGr$j z>F+r-W^5g0XeUW^dMuz{`APSiulP$*l7BV~j3z-2fGgk*$Kw_9{pp912b&0?Re;kGZ3v%Le<<;0rU; zO?3(BgYdLSy8nmhj~bsSF>@4!zlQ{!OBC{zb{bEvi*(4caJne4s#4p;+=*a+rwsY1 zUHrQZh?kbrWfYRKO1bq7p2SlZS7mg^+W+fmv&I5t<{@M zDC@|w!OedqAtOMtH3Ck52GV1Ug0)}qw56XFdGO$YsHjaRNUxq%Vog;@mNz75k?%k6 z`9i~OfPVTG99ta>4q)sQ-DO5iQ?P_TMKh2Wv!v3mBeB;?=9Xd)C!bYhqT z`LHtR+ak=tlSz-PeAODoDDJ*8)XEgVmt;bXi0S?soc97Z*cgVs-IDO%m&®B7=VfyY1>=ww~` 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∈y*a^)a-=Fe91I>jodBr-9_pvpK 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∨ExY;>498ISB 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/line_chart.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/line_chart.png deleted file mode 100644 index a4c5a91bb45a894a9b76af67f93b3d52482d790a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18880 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

xg*nyR{|n3zkPQPy=T84 z%@=Ef9+5svT0svM!25#*HsoaC1-=b6<;MAzFhyGd&p?z$w zFll!!Z+uC2Ssdha5e!5gusC=)3Wh(LWFxEi=V&|H=likG21+}){6n)2b zKC|#{qac1)0R(9I@s76Z{oTefTTsAbD4s;s!}S(kA~FkTZnElE$#qvyr7>-Q86rQ? zOoz!|%<0Q&-2eO+fwD5xZ3RF;|8%Xe1?!apI)b3x4yl3yKKoe%!;~(9;bGl05|y2~ zb7SjFGOY=*_KOS7 zwyw|B!u7Fmn8}i0c}!>mcQ^OYd|E?l%UkPWW*uR`viUM_O%~MO;`UYL1+U#r+Ow^x zn9h^w4t^ILKg>_qj%n;zMCF2N9cC+0rmHV~e?&Get$ILG;~=vDuW0UKZME&Zq9^u6 zEImFiU6>CO6QYI4MOD*y&;ywKqCfm@r+c#TI*R8%26^Z19L*Vei1yr^x!=!htwb5y zGmJwwIU62OmQMO_j>``Hx!tE^OkU$g9O8%?1`D;xC2I-FJ5ztMAX@p@h<;BZUDaPc;7JcBPBpX8HV6E|Td^a(pKAysbL{AeH zXfPA8-kEQfgVGYXU2M7>USMuX8s~Gr*vu)2^Ju=au1XyBU1<9&Bnb5`qp!~#=4|LU zbYFN29Vb!FWx{(_yKFMXkLDJN|6|-aCugDJi9e;C)F5=g1fr;qAk%E*KYIo7Hxzr) z1~1Iw)PvDNbtSR>-kqd*^2zcz68E2d#VtWyc6Q<-S50Ckan_V?T z$VgkfT7yG`HQ0$fRVnZLZFqIwmg)>%_1XMUPR|3#3PapccxulAL<__&79den9*Em> zv6F8o7;!9|ckYk(myk5ccO^(Tn}wjX^o#Rgh;33Uy*U+1>6A8=4b6R+@8LQtuat$w zlGMpU$d=bUB(T zWnFEkl)P`Iq<@J9%U@I++rKISr}_pI>1d}Dfb9hCci%wiHKm>;=}l3-?ggVM7mpZ4 zF9?!Hwio>`z%a`lf5`1=ZiF9w_A)6J>=}y1#}-|RTlg}ixJ?Q<#%M_GZXd-@L^#Y4 zgE@a!qzaLNB#>=#_MV3Gn6iISV&56APrp!jFgjLY0LCt;0;PMtjYI`QXq?%w76MA^ zwN3=&Gg^28O`Bn6w|@{fX73>-jct`KyNS#`U9qa63spP5Lt|n&Au_nPE6N7rp zU)abWWv+NWb{ZST(@Mle8iV#xHQ3r4fou4ca-8D7fk8TbAXpIfe> zf1&oc=y9=D(Vj` zH~1w=THLkv;DUyiTgTELOF`OG6xtZnW{A{>kb`loUCpdJ;wC^%?40-wtEZBiT2f>+ z=xdP=yh}r-PA1-#i(4?j*c6pYW+Q-t4q4qZ zZX0&g9+T#nvB$}g3+XOBpH8kb*wDf$2knK(f~LGitk z?!=(Jddg=9O9%)=93q(?-gD1!dqVwe?ndTHU>Y|P+Utfncxa3|=cnxvV!W)~W`$oC zRuFDLbGuw@l4-|#f!91l)GK!kN}-|OK!SU87INQQ%ghKP;9$|q#Z;n3>um}^1p*~^ z5J`yNsEB*zfiK>Gpj5=Yh+g2? z&X`I%=lzjSSDXDT>*%2w94C_V@orZl9{Ft#^?u!%Uhci5Vmyag}LnP58$ycI5#KDl%w`IA!d)W@LikQ}b zp=TN0#O1g7&EM(kD82?9e%sqC-81Murp7`{B8zK~iVtk9l0yESA6|c>cUh{lCG|r} zpmo*1%#*5`4~_X%wa_*F8*r5oZx(4#z?s+K-Ou%O!60K18^^|zyUVVNFWW8HOD50m zf2a)n%6EBP6BCW%@4p2=7sTLEYNnXBtU4$fb#bc^y&wqxBaor2i&>YE?^?~ugqG3r zXUbUp)2kGY6rN^grDU^>;(%*~vZTJX}6_uxcub zyQdr{@1?iupY^%h+N&=H4WV>-lyS{Mof?tctQ`#@+{_WB$`V)Ict>B1u7df4J`2b$ ze$i;A2%Q=~y7K?+xfq>z%l$TD`@TlrAK?&i&bT#og-1(STbtbdZcHWD1=g}3d|vI4 zUQdtj;JA@e*f=8ks$xI_Zl3~dVGf&)jK05G`^lSnmg3Up&_D8(HfQLr<0@&%<39BA z;r{1WABPIw^^q}$B$*DxYcQUuyg*nk9)j?y;ha3N-lybWEf=QZ%&e|JSl^lQ9B@Qu zX1|#743B1I9Z5y8I>t!GCe)+|0hn5LEfR!h%q$Wz_Mx90)H2)@31vh9QvL@{QbM|w zzZ8O&VJR-GFyA5&Kl3X{-t!U8P0{Umi5{G#yTuV97xGB9?~hIoCsvVIntoCWSRecm ziL8QSHr_SBtxQcdPLR7PMY?cUHORwbVu@El;Y~c3f>0OHtzcBgqXqJk)gcu#-ajBy zmgZ&pTI7*MhRx;o(nEoAIMykN54V|_^y1XQ?o~xR&6LtpoB^*@Z&obTkh=6;nga}C z%J%z0L<=Fby!`S5s63%>vE_Z6C&p@|7ApoJ<4Ym{CSf*1y|PMJ?(DdW{!}9mBnCL= z%gt=MR@zk?Klohl9nNLTFp)`_nFYdu`RoF&$QhPVNyTban96}ib&RMJ`>KIcHrQZc zWxV65`i97nCUj}ERW)zACSr(jl2<%HgH*pP^2MlP0}I5gQQG+@0pgZKFf$^(efpY9U4BK^mX5M|xyfR|1>k{_cvpFFT(fW-1nfCa>a zHsKxi?Iy9So16qqY!+HVl58x*BA}&P0rbTQD)phm|Iz{uUO}Q=6 z*^V&idGBbm9ab2^>xM5YFzR9B#aKQ^-PHtqe_c+A$8?oTLZhRfnTn-Um@$F4WTy)o z-HMlpOXq}sqenW654ziW6-M)~=(w#u|CW1rw86u#e{{>%8nrNWv%A?2TP~@&MNXu! zp#+3cbvMWuZ}zp0fZ~0Bd~6$)errvIUY0y{@@9^GsU|pc<0@mYv2Nr8rex)*+1kow zy)T5e`ZwiwJ7|x{JZA;FYSkM;JDo#ENvPfZoXt}`l>Qs2n+zdK`=O(m8pM@{dMyIf z5gJ`B)Xd&@xp025WkkL^Of2%1V^z%ON4kZe2R5FSiA3Y?PaW%Xy>w&FS1BwzFrhCb zk+cJBJ1_>?1-BKXScdw>)14uqV8|L8$#3UC}A?(gsML{B7nGWz_idV6~b7Rl70h*G-) zR&Rc^MHA6G&x#>1WgnI1PZW_j%3RSoz~jeFaT|M_wvP-kRJO57)>R|}B*!GGyqcr6 z*o>z5paJf$A&&$eIC&TNELcP&lk7oAMeg!RNLZxRh6_1tXO-`^-x zrJXK6r^n31#Kg2%;T<%;0ic`5^qdN15`x98Nqf_EdTA<6c_AY|Or!^l6Aa z4#;kGO7GKh;gBql`&6#gR!Vtko|3U2t^Ls__Je*h3^D<5!+lPAK_Jr+Kzfl?A48cW zo7cjq5#h>bZSQI8%ac`ZKdM#iGg%{Gl99!R!wKI0gF;m^3 zy@)3NZY|bunw6zcKLm1v#>FvcDR8FuQh+TT2z0vhe-vz)L@3&ViFtb#qK0sZSzl;jo6onidlZI%drJPZ+R(YIIhO{bDt;`iRkchW@eiJ~^UAx(2^p=YX1Qz(G&pOXAScS?x{pB2 zB;eGJ?Mp;u3R{Eqed|O3>Vdem4X4r2`?-=yaI!DAI@!R}kikk*H-R>t5i_tk7l+n( z{FMPmyLVgEG$Y^+Uv3L)oL;i*@b`ayD*fw>uQ+wnsZc@BUwpotal}YttrM8)FGD`GrAsj> zL20uSvmg_NpQ)T<%eZAvyvK+39}mY|SFvS?WDenMcE<+wU%?-q(&xW9^%lqmqKw;p zCzm08ib*F*o5tz!T5o1xiu{pW;d!@FA8x+|Z{4N6Y#m+61~WDSexicRxa}vE7wBkk z8lf9J&XgYQHS1v}h~uWXsq%;?qG=Ca;P~-)zc0?PDNe`h;&NZ?<_~+gzKIK};XL?# ztd%3=h73tBD=XVMHCs`S21a8jt?*g!P5;vpnxuU^V$?W7VSDtl+Uao-4_UX7Kdz$0 z+d=3AOx$~t$dm|KlCGBKp4q&CVggR^ofR$#ST5ZlKfnJ%pvO(4%(9Nf8*nyohYqoM z&WXT8hUl!~SOWt@-I77y?VpJN+2Md062P6W^_52kc;{OPO59d=a~|%~u+4VErA0+> z*)MYKTzIPrg)8X%aQ~0D$&4a#%*`4Q(Gbv7MomSZB7|Fo$s*3LjbC3`9Z~lNOl;JR zMbuM*?Aasbif*G)Zkua&4ZR|Ht`j4@50}E>e;^KZDX)P_g^CPL)c{0^I6_W~8>4(l zz;OvO%tWNflSi}HPp%yWL_nYr-AihLuWgnswBoTh z(Xo#9ZBQZVWv&<)`ixpVhbpch-iy*nvI#(MN>Jtn;siIwq$6ZJQN_2-erHUw&mrkw zZN8f{yKW4pvR(C$L^LHMHeNMp!LB!INdv;L#7#pQbHq4&go2VzDd-%=|9&!&UMU|; zh}R)?qW>21VL)_GWa>!(B&_iN3xNJ#ET@uU=PO23#_WTEub*mT#>%e|Qns%ZH5H|Q zQUCOX5k4~?c)Krz>u8Y++BT}=&EOatORc*~aL`b)2OGQoQ+ri~{4ePm3Umn1voNeK zMgErbg(l>nk?)`EjQ4*@*Mw}rPX!xG+ozLy-*?%`TCupEbcDgo7(!>|U@KWVTngTa z#L=_{X|)%Z7Xp+6-@@V{@2NERH-1KAzC`YcE0}VlTIiF6aLb@2cE1C=HT!Is<@vo_ z)LzimYJKL1NVWYzh}onIE$~sGA7$-#fW2LSOq1F#WNaMM8^ z)2B5f5#+)XP!QiEw30u_kY@lyb=y4?42PAO&pXbfo`c__RYop?x6#NrlnvDy%ZPH2 zHeBCDmas$ZI{Ph|8VcL|l~{RMVjO;uaoPXjh`aD{a3g(}G<)Vh%KvqyUQ~ExJ$YDP z*%Up=U3`|G_H4#gH@THcB;|Ft9&Oa#F{=Dj;7Of>VwuBO3 z-1EPMF~z-(!yemrlDhe984VbbEcEWMVWu`h%nBK9LsB%d3kNC55*`(X$+yKkLm^a~ z{duC)C{e*qoYh6eni*?xaclK*bYBvlJWzG67&z?hcP6spdWIis9RUSPk*-|4Kx>0n zG8P-tMvRK=s8b&jbhi>Cu_Kz>T6SR$#Va0_348~_(3=^{RvRUz_i3_u`V8u5_TW(Y zS2!28r-B=tWZHZ-&bU<)sl3$Inqj>AdtWGKep1Gx|f35_^%<4r@J(zehukbK#DstU1DYZ3X~PuTc1Um;Sa#nz3Z*%Jwoc7u?H zKH1UymqVS-qXPQ7vpp8}b9^jwI0g>zWmKI0#kr_V;K zx=wjXx zWk&i-iEc@lrk{tjikh9RAKUg%bsw$v$SQ6fMRxom!u!;H_E=#)u>?sA*RMP(V7+30 zhO;R9U|GsIz;~fc?yqpvXdN4)33|<*UyO2JvPjZi7&}3ZDciev|5AC3S&AtjN53`N z?XJL9GOuB?GseK7!CG^pK^&}b?9^GgdtnS-%hYpN9X`Rdxd0&Ta>jP_%L*7XOB9;H zzVWqxv$x$j{JV};=kDA=dW&`OF-*L25`YOjhl7^d3klBcNi#ENv%;`Zat#zmZKzme zG#*_G;VK+DQr$wuybNy|ivKgVUo!bZag(GT`Sr>qX#54C60ul9J$(1NA!l2TJ;a*!_a!;yps`SA~_`bf2^aS80e~V8@oKN^~PE zlmtLBhWQR+`vsYbdJj%K#`*S5MjS8*et=F@G0&J;$iX49dF4G;*-n?^P51uod-rqa zrj>UB;{DT^!hr`w>SBCiU+(ir8Be{+rpjG4nVI?I zz1Ch6HTw$_U+hygEInrFG6z`E>;}fz8zr~j9ZCTbF%imwyN*pU^4_ww*6@H~U!Kq7 z8Mj1dy^7-f&f>CVXXKh4z zaq3LS(LW6#2@HbYr%qG{8?W?$g>mCVpa1*w#I8uFpD^NuICBLsoC6&@&ERUXdW5gc zXoEB}LV$i)vA{(dWH^IhK@%|Da%TBBgE$IIS{xdgJU#Fui3%DTLc9KXxX#Uh%DWt3 v1O^EE0z*!SO&Y*+bOM_?-JmuxH2&w`VRZB7${?}d3_#%N>gTe~DWM4fnbD2* diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pie_chart.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pie_chart.png deleted file mode 100644 index 3e7a653217f5db282a7a04ce289b851205f276da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13045 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pma-relations-links.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pma-relations-links.png deleted file mode 100644 index 772395dd265095b083e6bd2e67e63549e4877b62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6812 zcmai3WmHt(+r0>k#1N80BOxId+BNJ%#g zNXP&B`|^H#pIP^;bJyHC^PD-)*=O%PF*;h0hzMv2001CTd#wBv0I+btz75_Tux)31 z47LEax1yRp9v0^Fo3 z`V_k4k-Cx3&N@Qk$uyOd9E|V6rfljh+n8Ku2BFY69#-__akpN`h5lcO;_V8_$vF*H z90dSO40tAhLrR(i{r|6!JIJeT7+yrlxt*7M zBrgvX;qq|#<0L2m_@c{<*n#a;O-<*M{4rZa z7ox6uDL4N3Hoz0c>RadzE_VE!hF>zmCpPHIl zBiTwOH!tt1R}%yRxwyE%6mL)Dq@|^4W{So$$>pGnR|?s|+ghjbHt%&}uKQ-JBunD+ zzkky+GP=3DyE`~g!e9f-hp9w)sh;%IcsPiu^6J`uVb&V-Ri0VrBzt&uYkS+t-hNR$ zbnmxBNXT`Q_xc}({As@7%tG@bHq5S4iTpy6LQ_lF?TwWG9(rm@RaJFp*xTDXBqT(I zj!O-f=jHzU{n~O_1vlBccC@9FN%2Gr~C}q%os5sUA`R_(g zFdy(?9ECS9!H8u4XXCH%$+xz)xF0^u(0IT;GCUj?8_UhZQ13FB&NYL1VOCnhG` z9FJBWFO1@ta#AG6*^zBeS5=jkHv4X;ef;YUFTiAzWY04IBM56NOU@2fq|*MU(}b1d9Zdp|U!e%@@> z;Ks|v^||t2JXp=i$pOOSsQI~J0`BwDf!!s&;Sq1Ku&^X0C8J50{5(7sy_!m$)-4-d z+}skD&$^>Yw6i5AO@7*ZKpQ!eVRs9hheTQ6s`(GOh+bk=ht2u?`x6-889dU`E#2fP z27Y_LO)M;0-R2~pzt^|X*4L-V932}O`CaQoqCje&laiD~%E-94yIY~d&cebXD(W|s z$^`(7iPV&oy-OZixw0XP9awNq`@alQerPoM6%xq}BPAz~WPWUK&jwiks&Nn$6lA!F zV;=ba>B;Ht?CCG3+_!-r2#&i}El_^0V5OYw{IWo{b|db7V`X-5a6l)#duI?B*mT7Q zgr^>tXcYe#9T|Z^RlU7yG1s!^+&+?XJw3`wN|BPK*5Oxt5zOF@b`i}C?tUfR<5)`s zg{~|}++S_}FNA61Q#sKF0^yz3E32!4fq^DwX6vh~ZxJNe*x0Q%A6FItw9DXZ+)m%Em0%jXhcM6{44J$M|6Hh>4e;uWLHvC!~be$XQyXsS}I#a z@KjCX#opk8c*}z*?E7tUAUKbY^OJ}TW?k}~q zdPx-2)Mc}JLU4;tPjl{fqQb%@utmygGhy05>iqipw9>z(jZi^6dz~A(cLfD3zS}f1 zB5J;K(_Id)6_}N5Y?dC@AI$uHW3vHg>jtpex`?m_fkEKE=3nOpgbkYwdxs_ongj)r zIDHcT`E`ncgoFgR^u`v6HXAh;uhI_}$DjJvTaJ!K@{zE2ESN@xhuepT>zK-y{T=^Z z+7vjkdS66{6e!t+pnulC^bFj}{CIab*)pqnm^*TVn9}l{J#)vR+ij4ya1$5P9RS)K zcwNn#AgkzR(fr#6XT@&P=C{5}m~_xt=aqlza0uBIUs;La#%F$+zYW8eMbO|c?iI zn55KG@IFaIZP-_CBF;x6*2M^OA`^}~nKKGy`LKad@uUG??;N?|Ytv9Ztnj#x3_wTk zw}js%@W5y8=H=67^!Mz;?i2+wcRGBB8Ik?=m* znYl^q!;k2QX=l9cw1;axGH&NFGbR_W_BQLe3Ar>iGdsdyVsm6e1F0m2btynFo~wNr zo62c;U-GNy%`B%JQ*LP~w+w^mQ)%zM)}IBdWJQ^y9{~+;aVk=w!GS06ga& z-dkvoUKW2zepsy=8rsG`Ua-P%@B}vr(N6tYX>D;$TJ=}*Ni$h}%&tzWf3@_9@l4ol z#f*d4x?t2N10r4)3sJ-$@v^JSD1z#zoVSN{g_;ov#P{Dtnv%IMjPeg7Fa7AYJgFc^ z&Q$GBA-CIA={p?aUJDthfrYB~MjQ*6T{4r+aSaTuiSb(o43zU`CtXDkY;WlS#+13Z$Hzj|>SQ$ia%*Iss z_vlwKeVSHTBO_TW!h+|QbHnMpM$ZD*r_KC&dW6Nq8tUq-VMWccHD6z68R%!?0R~r& z6s+9aA4m)1hUYSB@`zIMy_}ZBxUy8{`}cVAoC7%YE&%tHKcA(#?$`SEI{*N3nIPK7 z*Y_d!(7RzE{J3tVzJ7`|nt0^>QvL*{wm6JT+|A9oSf>x4#b$q={t#-3~>1*25z%F@#3ow%#1d^jMFv`rm5 z-gMi16biC389(t1>9~kQecrF38=~G@;x&tcfjj{7soPRg*d5BNInM}YfH|T~2FW}? zlFOsJRCC2=LQHZi9x!;v#tgAHr+5wy88>(k*6*6tdfka;t>9EZrc3*XoPJjfyQRuE z&W8f;m-a3WKTrmT#((SQs*eScMmX7zFKs**pSrrb(sNJ* z2g_LYGvCB49Te7rK%)JFMfOXYw8o5a09(!Q*8a|HFE8)kmi6e&4I4ISv32=YA+b^GWQ)3X(7{Of;IBh;23JusUs#Pqf?_HZ$*NsWS$}qxHN#+yj6*p*m9)N;>#m7h~kzzyH;iTCk?2&97=9BvPT*e@OiP|&>BC`w8BakM_JhWqxhy|s1H zyLTe4Gs1y6@*Tp?14U{+lCAmqOEX^)3JMAjjVgb)huuD63MniuepLKJL|7OcazLM; zk6;X{6zs^!&HdcP#k}sBuAZKrr>9`%XnkGXn}mduqoZXHal8nD3=OI{_S;Rf*EiU2 zFxCYH1-6|LxCsdf?k$I^wze#By{7G4iXZkR^+#oTQ6VgV2_xutkI0+{$1|YfDR3b~ZUV zIjCvDPL*XVH(AW0I4<=>w;gH0x3-I|GEfQ4{Q9-Iy-kjDkA`M*e?K=p{q*c`StX9D zbM~`i(#}GWc#&BeKIN`>U6hDaz3r;N{E+j7x3ex{BP>84>A zIGNtC1S=9#6rJLauXK=hv5TFWCfxt++~$j2;ogCzHNCpg*u2>$V$qFu5pTRLF~2HT z|IXd%LErBY{zn|S1k=ic-JBwAIBncIpxI@Xa_K+C8Vm`AuJA{?X0GM%;!if#HR(y}A@i4&vP1_WU=t zoLs+mnk{$~qD?>O2M+!UP-h`EG@O@lbKE8X@(`I|xfx71zc_U>HKk4L7ZMdE#>3M& zH2YFz98~*2L1JNU4gla5SXx>_=Mz%%**iLliipHB%1H9?jLgi?0y-up8EI)J8{b%= z-C0>#U0q$^F|8&V4a%JDVf&hum6fZjU`S-O$5Iy>tq;!=PjGT{baZkej8Zf*nw~5( z0#)LP4X2sgf`FG_$L&>XYc(S;Cj_V)W|$P1R(cZqNL-u$y8VbDS>cBLQ|KSy-Rlzs z=RjgP7LeAMnbTr;`EoXH7E@tT`O$Yt}i#+-T@XtUqG)|YxiK{`tsDy*7p04AH^COHU9gSPaEy} ziJ6#kL9M40O$@FQgKV(z*HBeeNbdLo%HKUW_zIMuT&uZZH%)nY%pl0Hv*W6K0~OI< zSECeBQGuT>I(o!xWFOHQQJVT==~R>mQlo_k&HJnT*UU zCikQ9`88}{Yybk{r*P(cIZ>|dat~Er&I9K$F)?YqujF<`*Xno&kY^^{*xvRJ z;1m`{kBn&O=^f4aFYxm5J%|F$77%iIsN%Ypc&ys4=38Hs{sqk*qe^q#K1!YL`iq|ebDVnq!o$%o-6a>WF$iMf8hSmzyb)1GWY_9UFIo-pd30B`)e)_NPv!wZy$Geb_TR| zc6MBB4sEgOpHFhL{)>+WWrh|_UQt`nGQ$eE=)VBPvag#P-z28gpbSbxWW}X9lO?KHuZJsnUJwfq@Z0(M z&u`24F}Ls9+tl$_-AuzOdoRPh^PN4QcN)9Nxt4H8{JvUQb)`UlJs=!!#eo(;DcbJ2_Ig z!e(b@4Xy}%|IP9bj>4Iy$f4%S2f7bx4mCfILQA0W7Xq~1)qW-~GRrFrzJKR-bxy(8 zrXSttS8L3u1G#wdGT9B&fQiR!eOnV7uA1sA+jNC&gE^;~^^X*7nhP%XNlsfkaE zPH?DxDe=WAzg+n}acS8Uy_3apMsU8Qq@*4@KdUpv++&psK%?*MEMW4&w)*|3BM5+) z^Q)eo9=_Sr<6{jqwR?CtcV05HvqvS5XNvLPzyGp-IiC~6U|Kr5*@kTS@ktA5FJ+}Y z_Yn!%##hLRO#py0!&HH+e5wA19SlF*bqvqFeXqg9($Woqh`S<^yzadV36P$DFK8F! z`n(-^r`Hqc_!RwjNk~hYpP!fO;icD&#J1;0GVecrw>5}yZO;X#2SxUUg$#0Df1V*h zTyVa`#l;0TO|9c7=J1e86Y1^rquo<2=3E_Uk2 z&Zy)|?B6!|&{Ocu4CAj&^VuTc_VAjH#zjvrHyc;Rw{L37uNz4OIX8%J^vJ3gw95(UDFa!sNe%I;YE>e z?-k@w=Vwyp9CnpIw4L0hTDLJQLV-hw1c`Gt-;W4wCJ}oFhfl@D{ATrUM$(iN6^R+8 zA3p%UOp8v`MP3)(-Mt)1BAX}Kov#!3QL{+}>Q~hMbs?SoY%u&vLR%^!p8& z-^-I5lR%pqeItAT6#zlG-hF{jPVQI?rva0D`{k~43C&+*8L|l%$ZIWaIrC&JD%<^X z;_cnw-yHmgIk)G>vpV1HDe!j#nK%^{RVa8YI*sSx0s3Y zbZc7^F#>&ju0>d1#(Ot8C1v5ozD$Njz0)`&9Ua~I3w3P3Q= z@6}kimvi)!wOsN=y?_7=24}l^YHIn=CB+&}k&+KX{((au3HH8tw#@6>X0mtOoV+B` zH7<7>yf#8Zp#t&|MMXvQiPM9{ux162!NN;e7v)a>kInvLwIyA**lHE_Cs%<`JMjM{ NKutwUxl++O;(w9a)(8Lq diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pma-relations-relation-link.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/pma-relations-relation-link.png deleted file mode 100644 index 5d4700e5c36f2b8b2df166e14d82dee8b3407a9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17842 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/scatter_chart.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/scatter_chart.png deleted file mode 100644 index 3fdb06a1920b7b93612dff74131be6f2d60c71c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13551 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

0DmmF`kZ?@FP`^cB9vg(gDi5x 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 JlX&I-e*hl?hcf^G diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/spline_chart.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/spline_chart.png deleted file mode 100644 index 164e10e7518adb4ff55bd2428a7ae4d718a395e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20119 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 VTH>WCnEeKDczGNk-XerC{s~RY8@2!d diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/timeline_chart.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/timeline_chart.png deleted file mode 100644 index e74e19ba46d45dea4d6624557e254fbf5fe6a77d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18268 zcmeIaWl$Vl7cL3}OK^8W@F0T)ch>-c;0!LoeIQ712<{S`V8MbzU~qSW1lQm&IKkyK zdB68Nr_QOmf9{W4x9Ut4Lv`<--D~f)_FAj=dY%qbRhGqgLHYs?4h}BdisO! zbNFTk2PbnPFD3ro!{ET@-W`9&$Ne#J+twv(M@Y2aj�IVg8#u9-Y0bNs)EBtlRUC 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 A6aWAK diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/usergroups.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_images/usergroups.png deleted file mode 100644 index bd8efdcce41aa12f501cc83a02645246f45119f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16710 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

ZQJ$m%mv17-NAAj}g)$7-<-@JMA z_U+TRK=AR}yLa#2zkmPX!-tO_KYsf3>Hq)#%qnY_1Fd8&3GxeO2wSmci|LJf=|BO- zByV>Yl`U*PX977no-U3d5|XS39sLdkFt8q|+|QqL_#ErUf6I%zFA7b%b>3$hFGGFs zc72AL|61pRJ1(+5wNdg|xP#*`gQ~lOnTFKiIjl#S3)+QV=h{~`9{M=hx#5uZ&-tIF sG!8onYS_8EFr8v&@CavkqYey&g)1epR*Fkm0PSV)boFyt=akR{044O6bN~PV diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/jquery.js b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/jquery.js deleted file mode 100644 index e03e1484..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/doc/html/_static/jquery.js +++ /dev/null @@ -1,10351 +0,0 @@ -/*! - * jQuery JavaScript Library v1.11.3 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2015-11-11T21:12Z - */ - -(function( global, factory ) { - - if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper window is present, - // execute the factory and get jQuery - // For environments that do not inherently posses a window with a document - // (such as Node.js), expose a jQuery-making factory as module.exports - // This accentuates the need for the creation of a real window - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Can't do this because several apps including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -// - -var deletedIds = []; - -var slice = deletedIds.slice; - -var concat = deletedIds.concat; - -var push = deletedIds.push; - -var indexOf = deletedIds.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var support = {}; - - - -var - version = "1.11.3", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android<4.1, IE<9 - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: deletedIds.sort, - splice: deletedIds.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - isWindow: function( obj ) { - /* jshint eqeqeq: false */ - return obj != null && obj == obj.window; - }, - - isNumeric: function( obj ) { - // parseFloat NaNs numeric-cast false positives (null|true|false|"") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - // adding 1 corrects loss of precision from parseFloat (#15100) - return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - isPlainObject: function( obj ) { - var key; - - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - try { - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 - return false; - } - - // Support: IE<9 - // Handle iteration over inherited properties before own properties. - if ( support.ownLast ) { - for ( key in obj ) { - return hasOwn.call( obj, key ); - } - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call(obj) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Support: Android<4.1, IE<9 - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( indexOf ) { - return indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; - }, - - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - while ( j < len ) { - first[ i++ ] = second[ j++ ]; - } - - // Support: IE<9 - // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) - if ( len !== len ) { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var args, proxy, tmp; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: function() { - return +( new Date() ); - }, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - - // Support: iOS 8.2 (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = "length" in obj && obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.2.0-pre - * http://sizzlejs.com/ - * - * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2014-12-16 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // General-purpose constants - MAX_NEGATIVE = 1 << 31, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // http://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + characterEncoding + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - rescape = /'|\\/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }; - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - nodeType = context.nodeType; - - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - if ( !seed && documentIsHTML ) { - - // Try to shortcut find operations when possible (e.g., not under DocumentFragment) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document (jQuery #6963) - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // QSA path - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType !== 1 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return !!fn( div ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( div.parentNode ) { - div.parentNode.removeChild( div ); - } - // release memory in IE - div = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = attrs.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - ( ~b.sourceIndex || MAX_NEGATIVE ) - - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, parent, - doc = node ? node.ownerDocument || node : preferredDoc; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - parent = doc.defaultView; - - // Support: IE>8 - // If iframe document is assigned to "document" variable and if iframe has been reloaded, - // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 - // IE6-8 do not support the defaultView property so parent will be undefined - if ( parent && parent !== parent.top ) { - // IE11 does not have attachEvent, so all must suffer - if ( parent.addEventListener ) { - parent.addEventListener( "unload", unloadHandler, false ); - } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", unloadHandler ); - } - } - - /* Support tests - ---------------------------------------------------------------------- */ - documentIsHTML = !isXML( doc ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert(function( div ) { - div.className = "i"; - return !div.getAttribute("className"); - }); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert(function( div ) { - docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; - }); - - // ID find and filter - if ( support.getById ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [ m ] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - // Support: IE6/7 - // getElementById is not reliable as a find shortcut - delete Expr.find["ID"]; - - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See http://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - docElem.appendChild( div ).innerHTML = "" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ - if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibing-combinator selector` fails - if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( div ) { - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = doc.createElement("input"); - input.setAttribute( "type", "hidden" ); - div.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( div.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return doc; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch (e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - outerCache[ dir ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context !== document && context; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is no seed and only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( div1 ) { - // Should return 1, but returns 4 (following) - return div1.compareDocumentPosition( document.createElement("div") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( div ) { - div.innerHTML = ""; - return div.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( div ) { - div.innerHTML = ""; - div.firstChild.setAttribute( "value", "" ); - return div.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( div ) { - return div.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - /* jshint -W018 */ - return !!qualifier.call( elem, i, elem ) !== not; - }); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - }); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; - }); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - })); -}; - -jQuery.fn.extend({ - find: function( selector ) { - var i, - ret = [], - self = this, - len = self.length; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = this.selector ? this.selector + " " + selector : selector; - return ret; - }, - filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); - }, - not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -}); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - init = jQuery.fn.init = function( selector, context ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return typeof rootjQuery.ready !== "undefined" ? - rootjQuery.ready( selector ) : - // Execute immediately if ready is not present - selector( jQuery ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.extend({ - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -jQuery.fn.extend({ - has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; - - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { - // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { - - matched.push( cur ); - break; - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; - } - - // index in selector - if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); - } - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.unique( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - if ( this.length > 1 ) { - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - ret = jQuery.unique( ret ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - } - - return this.pushStack( ret ); - }; -}); -var rnotwhite = (/\S+/g); - - - -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - firingLength = 0; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( values === progressValues ) { - deferred.notifyWith( contexts, values ); - - } else if ( !(--remaining) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); - - -// The deferred used on DOM ready -var readyList; - -jQuery.fn.ready = function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; -}; - -jQuery.extend({ - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.triggerHandler ) { - jQuery( document ).triggerHandler( "ready" ); - jQuery( document ).off( "ready" ); - } - } -}); - -/** - * Clean-up method for dom ready events - */ -function detach() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } -} - -/** - * The ready event handler and self cleanup method - */ -function completed() { - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } -} - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - - // If IE event model is used - } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise( obj ); -}; - - -var strundefined = typeof undefined; - - - -// Support: IE<9 -// Iteration over object's inherited properties before its own -var i; -for ( i in jQuery( support ) ) { - break; -} -support.ownLast = i !== "0"; - -// Note: most support tests are defined in their respective modules. -// false until the test is run -support.inlineBlockNeedsLayout = false; - -// Execute ASAP in case we need to set body.style.zoom -jQuery(function() { - // Minified: var a,b,c,d - var val, div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Return for frameset docs that don't have a body - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - if ( typeof div.style.zoom !== strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; - - support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; - if ( val ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; - } - } - - body.removeChild( container ); -}); - - - - -(function() { - var div = document.createElement( "div" ); - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -/** - * Determines whether an object can have data - */ -jQuery.acceptData = function( elem ) { - var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ], - nodeType = +elem.nodeType || 1; - - // Do not set data on non-element DOM nodes because it will not be cleared (#8335). - return nodeType !== 1 && nodeType !== 9 ? - false : - - // Nodes accept data unless otherwise specified; rejection can be conditional - !noData || noData !== true && elem.getAttribute("classid") === noData; -}; - - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { - - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} - -function internalData( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var ret, thisCache, - internalKey = jQuery.expando, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - - if ( !cache[ id ] ) { - // Avoid exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } - - thisCache = cache[ id ]; - - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; - } - - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( typeof name === "string" ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; - - // Test for null|undefined property data - if ( ret == null ) { - - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; - } - } else { - ret = thisCache; - } - - return ret; -} - -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, i, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - - thisCache = pvt ? cache[ id ] : cache[ id ].data; - - if ( thisCache ) { - - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { - - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { - - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); - } - - i = name.length; - while ( i-- ) { - delete thisCache[ name[i] ]; - } - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - /* jshint eqeqeq: false */ - } else if ( support.deleteExpando || cache != cache.window ) { - /* jshint eqeqeq: true */ - delete cache[ id ]; - - // When all else fails, null - } else { - cache[ id ] = null; - } -} - -jQuery.extend({ - cache: {}, - - // The following elements (space-suffixed to avoid Object.prototype collisions) - // throw uncatchable exceptions if you attempt to set expando properties - noData: { - "applet ": true, - "embed ": true, - // ...but Flash objects (which have this classid) *can* handle expandos - "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data ) { - return internalData( elem, name, data ); - }, - - removeData: function( elem, name ) { - return internalRemoveData( elem, name ); - }, - - // For internal use only. - _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); - }, - - _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var i, name, data, - elem = this[0], - attrs = elem && elem.attributes; - - // Special expections of .data basically thwart jQuery.access, - // so implement the relevant behavior ourselves - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = jQuery.data( elem ); - - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE11+ - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice(5) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - jQuery._data( elem, "parsedAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - return arguments.length > 1 ? - - // Sets one value - this.each(function() { - jQuery.data( this, key, value ); - }) : - - // Gets one value - // Try to fetch any internally stored data first - elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - - -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // not intended for public consumption - generates a queueHooks object, or returns the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHidden = function( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); - }; - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; -}; -var rcheckableType = (/^(?:checkbox|radio)$/i); - - - -(function() { - // Minified: var a,b,c - var input = document.createElement( "input" ), - div = document.createElement( "div" ), - fragment = document.createDocumentFragment(); - - // Setup - div.innerHTML = "
a"; - - // IE strips leading whitespace when .innerHTML is used - support.leadingWhitespace = div.firstChild.nodeType === 3; - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - support.tbody = !div.getElementsByTagName( "tbody" ).length; - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; - - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - support.html5Clone = - document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav>"; - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - input.type = "checkbox"; - input.checked = true; - fragment.appendChild( input ); - support.appendChecked = input.checked; - - // Make sure textarea (and checkbox) defaultValue is properly cloned - // Support: IE6-IE11+ - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // #11217 - WebKit loses check when the name is after the checked attribute - fragment.appendChild( div ); - div.innerHTML = ""; - - // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 - // old WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - support.noCloneEvent = true; - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - - div.cloneNode( true ).click(); - } - - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - } -})(); - - -(function() { - var i, eventName, - div = document.createElement( "div" ); - - // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event) - for ( i in { submit: true, change: true, focusin: true }) { - eventName = "on" + i; - - if ( !(support[ i + "Bubbles" ] = eventName in window) ) { - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) - div.setAttribute( eventName, "t" ); - support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false; - } - } - - // Null elements to avoid leaks in IE. - div = null; -})(); - - -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; - }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && jQuery.acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && - jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var sel, handleObj, matches, i, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - /* jshint eqeqeq: false */ - for ( ; cur != this; cur = cur.parentNode || this ) { - /* jshint eqeqeq: true */ - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: IE<9 - // Fix target property (#1925) - if ( !event.target ) { - event.target = originalEvent.srcElement || document; - } - - // Support: Chrome 23+, Safari? - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === strundefined ) { - elem[ name ] = null; - } - - elem.detachEvent( name, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - // Support: IE < 9, Android < 4.0 - src.returnValue === false ? - returnTrue : - returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && e.stopImmediatePropagation ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// IE submit delegation -if ( !support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, - - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, - - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); - } - }; -} - -// IE change delegation and checkbox/radio fix -if ( !support.changeBubbles ) { - - jQuery.event.special.change = { - - setup: function() { - - if ( rformElems.test( this.nodeName ) ) { - // IE doesn't fire change on a check/radio until blur; trigger it on click - // after a propertychange. Eat the blur-change in special.change.handle. - // This still fires onchange a second time for check/radio after blur. - if ( this.type === "checkbox" || this.type === "radio" ) { - jQuery.event.add( this, "propertychange._change", function( event ) { - if ( event.originalEvent.propertyName === "checked" ) { - this._just_changed = true; - } - }); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._just_changed && !event.isTrigger ) { - this._just_changed = false; - } - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event, true ); - }); - } - return false; - } - // Delegated event; lazy-add a change handler on descendant inputs - jQuery.event.add( this, "beforeactivate._change", function( e ) { - var elem = e.target; - - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, - - handle: function( event ) { - var elem = event.target; - - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, - - teardown: function() { - jQuery.event.remove( this, "._change" ); - - return !rformElems.test( this.nodeName ); - } - }; -} - -// Create "bubbling" focus and blur events -if ( !support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - jQuery._removeData( doc, fix ); - } else { - jQuery._data( doc, fix, attaches ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); - - -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "" ], - legend: [ 1, "

", "
" ], - area: [ 1, "", "" ], - param: [ 1, "", "" ], - thead: [ 1, "", "
" ], - tr: [ 2, "", "
" ], - col: [ 2, "", "
" ], - td: [ 3, "", "
" ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
", "
" ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; - - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); - } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; - } -} - -// Support: IE<8 -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - - elem.getElementsByTagName("tbody")[0] || - elem.appendChild( elem.ownerDocument.createElement("tbody") ) : - elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} - -function cloneCopyEvent( src, dest ) { - - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } - - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; - - if ( events ) { - delete curData.handle; - curData.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} - -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; - - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } - - nodeName = dest.nodeName.toLowerCase(); - - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); - - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); - } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); - } - - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); - - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } - - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; - } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!support.noCloneEvent || !support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - destElements = srcElements = node = null; - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], - i = 0; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted from table fragments - if ( !support.tbody ) { - - // String was a , *may* have spurious - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare or - wrap[1] === "
" && !rtbody.test( elem ) ? - tmp : - 0; - - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); - } - } - } - - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } - - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; - } - } - } - - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - tmp = null; - - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - deletedIds.push( id ); - } - } - } - } - } -}); - -jQuery.fn.extend({ - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - append: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - remove: function( selector, keepData /* Internal Use Only */ ) { - var elem, - elems = selector ? jQuery.filter( selector, this ) : this, - i = 0; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map(function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1>" ); - - try { - for (; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - elem = this[i] || {}; - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch(e) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var arg = arguments[ 0 ]; - - // Make the changes, replacing each context element with the new content - this.domManip( arguments, function( elem ) { - arg = this.parentNode; - - jQuery.cleanData( getAll( this ) ); - - if ( arg ) { - arg.replaceChild( elem, this ); - } - }); - - // Force removal if there was no new content (e.g., from empty arguments) - return arg && (arg.length || arg.nodeType) ? this : this.remove(); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, callback ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, self.html() ); - } - self.domManip( args, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( this[i], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return this; - } -}); - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - i = 0, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); - - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - - -var iframe, - elemdisplay = {}; - -/** - * Retrieve the actual display of a element - * @param {String} name nodeName of the element - * @param {Object} doc Document object - */ -// Called only from within defaultDisplay -function actualDisplay( name, doc ) { - var style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? - - // Use of this method is a temporary fix (more like optmization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); - - // We don't have any data stored on the element, - // so use "detach" method as fast way to get rid of the element - elem.detach(); - - return display; -} - -/** - * Try to determine the default display value of an element - * @param {String} nodeName - */ -function defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - - // Use the already-created iframe if possible - iframe = (iframe || jQuery( "'; - $html .= ''; - $html .= '
'; - $html .= ' ajax clock'; - - $html .= PMA_getHtmlForImportJS($upload_id); - - $html .= '
'; - - $html .= PMA_getHtmlForHiddenInputs($import_type, $db, $table); - - $html .= PMA_getHtmlForImportOptions($import_type, $db, $table); - - $html .= PMA_getHtmlForImportOptionsFile( - $max_upload_size, $import_list, $local_import_file - ); - - $html .= PMA_getHtmlForImportOptionsPartialImport($timeout_passed, $offset); - - $html .= PMA_getHtmlForImportOptionsOther(); - - $html .= PMA_getHtmlForImportOptionsFormat($import_list); - - $html .= PMA_getHtmlForImportOptionsSubmit(); - - $html .= ''; - $html .= '
'; - - return $html; -} - -/** - * Prints javascript for upload with plugin, upload process bar - * - * @param int $upload_id The selected upload id - * - * @return string - */ -function PMA_getHtmlForImportWithPlugin($upload_id) -{ - //some variable for javascript - $ajax_url = "import_status.php?id=" . $upload_id . "&" - . URL::getCommonRaw(array('import_status'=>1)); - $promot_str = Sanitize::jsFormat( - __( - 'The file being uploaded is probably larger than ' - . 'the maximum allowed size or this is a known bug in webkit ' - . 'based (Safari, Google Chrome, Arora etc.) browsers.' - ), - false - ); - $statustext_str = Sanitize::escapeJsString(__('%s of %s')); - $upload_str = Sanitize::jsFormat(__('Uploading your import file…'), false); - $second_str = Sanitize::jsFormat(__('%s/sec.'), false); - $remaining_min = Sanitize::jsFormat(__('About %MIN min. %SEC sec. remaining.'), false); - $remaining_second = Sanitize::jsFormat(__('About %SEC sec. remaining.'), false); - $processed_str = Sanitize::jsFormat( - __('The file is being processed, please be patient.'), - false - ); - $import_url = URL::getCommonRaw(array('import_status'=>1)); - - //start output - $html = 'var finished = false; '; - $html .= 'var percent = 0.0; '; - $html .= 'var total = 0; '; - $html .= 'var complete = 0; '; - $html .= 'var original_title = ' - . 'parent && parent.document ? parent.document.title : false; '; - $html .= 'var import_start; '; - - $html .= 'var perform_upload = function () { '; - $html .= 'new $.getJSON( '; - $html .= ' "' . $ajax_url . '", '; - $html .= ' {}, '; - $html .= ' function(response) { '; - $html .= ' finished = response.finished; '; - $html .= ' percent = response.percent; '; - $html .= ' total = response.total; '; - $html .= ' complete = response.complete; '; - - $html .= ' if (total==0 && complete==0 && percent==0) { '; - $img_tag = 'ajax clock ' - . $promot_str . '\'); '; - $html .= ' $("#upload_form_status").css("display", "none"); '; - $html .= ' } else { '; - $html .= ' var now = new Date(); '; - $html .= ' now = Date.UTC( '; - $html .= ' now.getFullYear(), '; - $html .= ' now.getMonth(), '; - $html .= ' now.getDate(), '; - $html .= ' now.getHours(), '; - $html .= ' now.getMinutes(), '; - $html .= ' now.getSeconds()) '; - $html .= ' + now.getMilliseconds() - 1000; '; - $html .= ' var statustext = PMA_sprintf('; - $html .= ' "' . $statustext_str . '", '; - $html .= ' formatBytes( '; - $html .= ' complete, 1, PMA_messages.strDecimalSeparator'; - $html .= ' ), '; - $html .= ' formatBytes('; - $html .= ' total, 1, PMA_messages.strDecimalSeparator'; - $html .= ' ) '; - $html .= ' ); '; - - $html .= ' if ($("#importmain").is(":visible")) { '; - // show progress UI - $html .= ' $("#importmain").hide(); '; - $html .= ' $("#import_form_status") '; - $html .= ' .html(\'
' - . '
' - . '
' - . '
' - . 'ajax clock ' - . $upload_str . '
\') '; - $html .= ' .show(); '; - $html .= ' import_start = now; '; - $html .= ' } '; - $html .= ' else if (percent > 9 || complete > 2000000) { '; - // calculate estimated time - $html .= ' var used_time = now - import_start; '; - $html .= ' var seconds = ' - . 'parseInt(((total - complete) / complete) * used_time / 1000); '; - $html .= ' var speed = PMA_sprintf("' . $second_str . '"'; - $html .= ' , formatBytes(complete / used_time * 1000, 1,' - . ' PMA_messages.strDecimalSeparator)); '; - - $html .= ' var minutes = parseInt(seconds / 60); '; - $html .= ' seconds %= 60; '; - $html .= ' var estimated_time; '; - $html .= ' if (minutes > 0) { '; - $html .= ' estimated_time = "' . $remaining_min . '"'; - $html .= ' .replace("%MIN", minutes)'; - $html .= ' .replace("%SEC", seconds); '; - $html .= ' } '; - $html .= ' else { '; - $html .= ' estimated_time = "' . $remaining_second . '"'; - $html .= ' .replace("%SEC", seconds); '; - $html .= ' } '; - - $html .= ' statustext += "
" + speed + "

" ' - . '+ estimated_time; '; - $html .= ' } '; - - $html .= ' var percent_str = Math.round(percent) + "%"; '; - $html .= ' $("#status").animate({width: percent_str}, 150); '; - $html .= ' $(".percentage").text(percent_str); '; - - // show percent in window title - $html .= ' if (original_title !== false) { '; - $html .= ' parent.document.title '; - $html .= ' = percent_str + " - " + original_title; '; - $html .= ' } '; - $html .= ' else { '; - $html .= ' document.title '; - $html .= ' = percent_str + " - " + original_title; '; - $html .= ' } '; - $html .= ' $("#statustext").html(statustext); '; - $html .= ' } '; - - $html .= ' if (finished == true) { '; - $html .= ' if (original_title !== false) { '; - $html .= ' parent.document.title = original_title; '; - $html .= ' } '; - $html .= ' else { '; - $html .= ' document.title = original_title; '; - $html .= ' } '; - $html .= ' $("#importmain").hide(); '; - // loads the message, either success or mysql error - $html .= ' $("#import_form_status") '; - $html .= ' .html(\'ajax clock ' - . $processed_str . '\')'; - $html .= ' .show(); '; - $html .= ' $("#import_form_status").load("import_status.php?' - . 'message=true&' . $import_url . '"); '; - $html .= ' PMA_reloadNavigation(); '; - - // if finished - $html .= ' } '; - $html .= ' else { '; - $html .= ' setTimeout(perform_upload, 1000); '; - $html .= ' } '; - $html .= '}); '; - $html .= '}; '; - $html .= 'setTimeout(perform_upload, 1000); '; - - return $html; -} - -/** - * Gets HTML to display import dialogs - * - * @param String $import_type Import type: server|database|table - * @param String $db Selected DB - * @param String $table Selected Table - * @param int $max_upload_size Max upload size - * - * @return string $html - */ -function PMA_getImportDisplay($import_type, $db, $table, $max_upload_size) -{ - global $SESSION_KEY; - include_once './libraries/file_listing.lib.php'; - include_once './libraries/plugin_interface.lib.php'; - - include_once './libraries/display_import_ajax.lib.php'; - list( - $SESSION_KEY, - $upload_id, - ) = PMA_uploadProgressSetup(); - - /* Scan for plugins */ - /* @var $import_list ImportPlugin[] */ - $import_list = PMA_getPlugins( - "import", - 'libraries/plugins/import/', - $import_type - ); - - /* Fail if we didn't find any plugin */ - if (empty($import_list)) { - Message::error( - __( - 'Could not load import plugins, please check your installation!' - ) - )->display(); - exit; - } - - if (PMA_isValid($_REQUEST['offset'], 'numeric')) { - $offset = intval($_REQUEST['offset']); - } - if (isset($_REQUEST['timeout_passed'])) { - $timeout_passed = $_REQUEST['timeout_passed']; - } - - $local_import_file = ''; - if (isset($_REQUEST['local_import_file'])) { - $local_import_file = $_REQUEST['local_import_file']; - } - - $timeout_passed_str = isset($timeout_passed)? $timeout_passed : null; - $offset_str = isset($offset)? $offset : null; - return PMA_getHtmlForImport( - $upload_id, - $import_type, - $db, - $table, - $max_upload_size, - $import_list, - $timeout_passed_str, - $offset_str, - $local_import_file - ); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/display_import_ajax.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/display_import_ajax.lib.php deleted file mode 100644 index 838f9b78..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/display_import_ajax.lib.php +++ /dev/null @@ -1,135 +0,0 @@ - PMA_VERSION, - "browser_name" => PMA_USR_BROWSER_AGENT, - "browser_version" => PMA_USR_BROWSER_VER, - "user_os" => PMA_USR_OS, - "server_software" => $_SERVER['SERVER_SOFTWARE'], - "user_agent_string" => $_SERVER['HTTP_USER_AGENT'], - "locale" => $_COOKIE['pma_lang'], - "configuration_storage" => - is_null($relParams['db']) ? "disabled" : - "enabled", - "php_version" => phpversion() - ); - - if ($exception_type == 'js') { - if (empty($_REQUEST['exception'])) { - return array(); - } - $exception = $_REQUEST['exception']; - $exception["stack"] = PMA_translateStacktrace($exception["stack"]); - List($uri, $script_name) = PMA_sanitizeUrl($exception["url"]); - $exception["uri"] = $uri; - unset($exception["url"]); - - $report ["exception_type"] = 'js'; - $report ["exception"] = $exception; - $report ["script_name"] = $script_name; - $report ["microhistory"] = $_REQUEST['microhistory']; - - if (! empty($_REQUEST['description'])) { - $report['steps'] = $_REQUEST['description']; - } - } elseif ($exception_type == 'php') { - $errors = array(); - // create php error report - $i = 0; - if (!isset($_SESSION['prev_errors']) - || $_SESSION['prev_errors'] == '' - ) { - return array(); - } - foreach ($_SESSION['prev_errors'] as $errorObj) { - /* @var $errorObj PMA\libraries\Error */ - if ($errorObj->getLine() - && $errorObj->getType() - && $errorObj->getNumber() != E_USER_WARNING - ) { - $errors[$i++] = array( - "lineNum" => $errorObj->getLine(), - "file" => $errorObj->getFile(), - "type" => $errorObj->getType(), - "msg" => $errorObj->getOnlyMessage(), - "stackTrace" => $errorObj->getBacktrace(5), - "stackhash" => $errorObj->getHash() - ); - - } - } - - // if there were no 'actual' errors to be submitted. - if ($i==0) { - return array(); // then return empty array - } - $report ["exception_type"] = 'php'; - $report["errors"] = $errors; - } else { - return array(); - } - - return $report; -} - -/** - * Sanitize a url to remove the identifiable host name and extract the - * current script name from the url fragment - * - * It returns two things in an array. The first is the uri without the - * hostname and identifying query params. The second is the name of the - * php script in the url - * - * @param String $url the url to sanitize - * - * @return array the uri and script name - */ -function PMA_sanitizeUrl($url) -{ - $components = parse_url($url); - if (isset($components["fragment"]) - && preg_match("", $components["fragment"], $matches) - ) { - $uri = str_replace($matches[0], "", $components["fragment"]); - $url = "https://example.com/" . $uri; - $components = parse_url($url); - } - - // get script name - preg_match("<([a-zA-Z\-_\d]*\.php)$>", $components["path"], $matches); - if (count($matches) < 2) { - $script_name = 'index.php'; - } else { - $script_name = $matches[1]; - } - - // remove deployment specific details to make uri more generic - if (isset($components["query"])) { - parse_str($components["query"], $query_array); - unset($query_array["db"]); - unset($query_array["table"]); - unset($query_array["token"]); - unset($query_array["server"]); - $query = http_build_query($query_array); - } else { - $query = ''; - } - - $uri = $script_name . "?" . $query; - return array($uri, $script_name); -} - -/** - * Sends report data to the error reporting server - * - * @param array $report the report info to be sent - * - * @return String the reply of the server - */ -function PMA_sendErrorReport($report) -{ - $response = PMA\libraries\Util::httpRequest( - SUBMISSION_URL, - "POST", - false, - json_encode($report), - "Content-Type: application/json" - ); - return $response; -} - -/** - * Returns number of lines in given javascript file. - * - * @param string $filename javascript filename - * - * @return Number of lines - * - * @todo Should gracefully handle non existing files - */ -function PMA_countLines($filename) -{ - global $LINE_COUNT; - if (defined('LINE_COUNTS')) { - return $LINE_COUNT[$filename]; - } - - // ensure that the file is inside the phpMyAdmin folder - $depath = 1; - foreach (explode('/', $filename) as $part) { - if ($part == '..') { - $depath--; - } elseif ($part != '.' || $part === '') { - $depath++; - } - if ($depath < 0) { - return 0; - } - } - - $linecount = 0; - $handle = fopen('./js/' . $filename, 'r'); - while (!feof($handle)) { - $line = fgets($handle); - if ($line === false) { - break; - } - $linecount++; - } - fclose($handle); - return $linecount; -} - -/** - * returns the translated line number and the file name from the cumulative line - * number and an array of files - * - * uses the $LINE_COUNT global array of file names and line numbers - * - * @param array $filenames list of files in order of concatenation - * @param Integer $cumulative_number the cumulative line number in the - * concatenated files - * - * @return array the filename and line number - * Returns two variables in an array: - * - A String $filename the filename where the requested cumulative number - * exists - * - Integer $linenumber the translated line number in the returned file - */ -function PMA_getLineNumber($filenames, $cumulative_number) -{ - $cumulative_sum = 0; - foreach ($filenames as $filename) { - $filecount = PMA_countLines($filename); - if ($cumulative_number <= $cumulative_sum + $filecount + 2) { - $linenumber = $cumulative_number - $cumulative_sum; - break; - } - $cumulative_sum += $filecount + 2; - } - if (! isset($filename)) { - $filename = ''; - } - return array($filename, $linenumber); -} - -/** - * translates the cumulative line numbers in the stack trace as well as sanitize - * urls and trim long lines in the context - * - * @param array $stack the stack trace - * - * @return array $stack the modified stack trace - */ -function PMA_translateStacktrace($stack) -{ - foreach ($stack as &$level) { - foreach ($level["context"] as &$line) { - if (mb_strlen($line) > 80) { - $line = mb_substr($line, 0, 75) . "//..."; - } - } - if (preg_match("", $level["url"], $matches)) { - parse_str($matches[1], $vars); - List($file_name, $line_number) = PMA_getLineNumber( - $vars["scripts"], $level["line"] - ); - $level["filename"] = $file_name; - $level["line"] = $line_number; - } else { - unset($level["context"]); - List($uri, $script_name) = PMA_sanitizeUrl($level["url"]); - $level["uri"] = $uri; - $level["scriptname"] = $script_name; - } - unset($level["url"]); - } - unset($level); - return $stack; -} - -/** - * generates the error report form to collect user description and preview the - * report before being sent - * - * @return String the form - */ -function PMA_getErrorReportForm() -{ - $datas = array( - 'report_data' => PMA_getPrettyReportData(), - 'hidden_inputs' => URL::getHiddenInputs(), - 'hidden_fields' => null, - ); - - $reportData = PMA_getReportData(); - if (!empty($reportData)) { - $datas['hidden_fields'] = URL::getHiddenFields($reportData); - } - - return PMA\libraries\Template::get('error/report_form') - ->render($datas); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/export.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/export.lib.php deleted file mode 100644 index 5f8643ef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/export.lib.php +++ /dev/null @@ -1,1057 +0,0 @@ -= 43; // see bug #4942 - - if (@function_exists('gzencode') - && ((! @ini_get('zlib.output_compression') - && ! PMA_isGzHandlerEnabled()) - || $GLOBALS['save_on_server'] - || $chromeAndGreaterThan43) - ) { - return true; - } else { - return false; - } -} - -/** - * Output handler for all exports, if needed buffering, it stores data into - * $dump_buffer, otherwise it prints them out. - * - * @param string $line the insert statement - * - * @return bool Whether output succeeded - */ -function PMA_exportOutputHandler($line) -{ - global $time_start, $dump_buffer, $dump_buffer_len, $save_filename; - - // Kanji encoding convert feature - if ($GLOBALS['output_kanji_conversion']) { - $line = Encoding::kanjiStrConv( - $line, - $GLOBALS['knjenc'], - isset($GLOBALS['xkana']) ? $GLOBALS['xkana'] : '' - ); - } - - // If we have to buffer data, we will perform everything at once at the end - if ($GLOBALS['buffer_needed']) { - - $dump_buffer .= $line; - if ($GLOBALS['onfly_compression']) { - - $dump_buffer_len += strlen($line); - - if ($dump_buffer_len > $GLOBALS['memory_limit']) { - if ($GLOBALS['output_charset_conversion']) { - $dump_buffer = Encoding::convertString( - 'utf-8', - $GLOBALS['charset'], - $dump_buffer - ); - } - if ($GLOBALS['compression'] == 'gzip' - && PMA_gzencodeNeeded() - ) { - // as a gzipped file - // without the optional parameter level because it bugs - $dump_buffer = gzencode($dump_buffer); - } - if ($GLOBALS['save_on_server']) { - $write_result = @fwrite($GLOBALS['file_handle'], $dump_buffer); - // Here, use strlen rather than mb_strlen to get the length - // in bytes to compare against the number of bytes written. - if ($write_result != strlen($dump_buffer)) { - $GLOBALS['message'] = Message::error( - __('Insufficient space to save the file %s.') - ); - $GLOBALS['message']->addParam($save_filename); - return false; - } - } else { - echo $dump_buffer; - } - $dump_buffer = ''; - $dump_buffer_len = 0; - } - } else { - $time_now = time(); - if ($time_start >= $time_now + 30) { - $time_start = $time_now; - header('X-pmaPing: Pong'); - } // end if - } - } else { - if ($GLOBALS['asfile']) { - if ($GLOBALS['output_charset_conversion']) { - $line = Encoding::convertString( - 'utf-8', - $GLOBALS['charset'], - $line - ); - } - if ($GLOBALS['save_on_server'] && mb_strlen($line) > 0) { - $write_result = @fwrite($GLOBALS['file_handle'], $line); - // Here, use strlen rather than mb_strlen to get the length - // in bytes to compare against the number of bytes written. - if (! $write_result - || $write_result != strlen($line) - ) { - $GLOBALS['message'] = Message::error( - __('Insufficient space to save the file %s.') - ); - $GLOBALS['message']->addParam($save_filename); - return false; - } - $time_now = time(); - if ($time_start >= $time_now + 30) { - $time_start = $time_now; - header('X-pmaPing: Pong'); - } // end if - } else { - // We export as file - output normally - echo $line; - } - } else { - // We export as html - replace special chars - echo htmlspecialchars($line); - } - } - return true; -} // end of the 'PMA_exportOutputHandler()' function - -/** - * Returns HTML containing the footer for a displayed export - * - * @param string $back_button the link for going Back - * - * @return string $html the HTML output - */ -function PMA_getHtmlForDisplayedExportFooter($back_button) -{ - /** - * Close the html tags and add the footers for on-screen export - */ - $html = '' - . ' ' - // bottom back button - . $back_button - . '' - . '' . "\n"; - return $html; -} - -/** - * Computes the memory limit for export - * - * @return int $memory_limit the memory limit - */ -function PMA_getMemoryLimitForExport() -{ - $memory_limit = trim(@ini_get('memory_limit')); - $memory_limit_num = (int)substr($memory_limit, 0, -1); - $lowerLastChar = strtolower(substr($memory_limit, -1)); - // 2 MB as default - if (empty($memory_limit) || '-1' == $memory_limit) { - $memory_limit = 2 * 1024 * 1024; - } elseif ($lowerLastChar == 'm') { - $memory_limit = $memory_limit_num * 1024 * 1024; - } elseif ($lowerLastChar == 'k') { - $memory_limit = $memory_limit_num * 1024; - } elseif ($lowerLastChar == 'g') { - $memory_limit = $memory_limit_num * 1024 * 1024 * 1024; - } else { - $memory_limit = (int)$memory_limit; - } - - // Some of memory is needed for other things and as threshold. - // During export I had allocated (see memory_get_usage function) - // approx 1.2MB so this comes from that. - if ($memory_limit > 1500000) { - $memory_limit -= 1500000; - } - - // Some memory is needed for compression, assume 1/3 - $memory_limit /= 8; - return $memory_limit; -} - -/** - * Return the filename and MIME type for export file - * - * @param string $export_type type of export - * @param string $remember_template whether to remember template - * @param ExportPlugin $export_plugin the export plugin - * @param string $compression compression asked - * @param string $filename_template the filename template - * - * @return string[] the filename template and mime type - */ -function PMA_getExportFilenameAndMimetype( - $export_type, $remember_template, $export_plugin, $compression, - $filename_template -) { - if ($export_type == 'server') { - if (! empty($remember_template)) { - $GLOBALS['PMA_Config']->setUserValue( - 'pma_server_filename_template', - 'Export/file_template_server', - $filename_template - ); - } - } elseif ($export_type == 'database') { - if (! empty($remember_template)) { - $GLOBALS['PMA_Config']->setUserValue( - 'pma_db_filename_template', - 'Export/file_template_database', - $filename_template - ); - } - } else { - if (! empty($remember_template)) { - $GLOBALS['PMA_Config']->setUserValue( - 'pma_table_filename_template', - 'Export/file_template_table', - $filename_template - ); - } - } - $filename = PMA\libraries\Util::expandUserString($filename_template); - // remove dots in filename (coming from either the template or already - // part of the filename) to avoid a remote code execution vulnerability - $filename = Sanitize::sanitizeFilename($filename, $replaceDots = true); - - // Grab basic dump extension and mime type - // Check if the user already added extension; - // get the substring where the extension would be if it was included - $extension_start_pos = mb_strlen($filename) - mb_strlen( - $export_plugin->getProperties()->getExtension() - ) - 1; - $user_extension = mb_substr( - $filename, $extension_start_pos, mb_strlen($filename) - ); - $required_extension = "." . $export_plugin->getProperties()->getExtension(); - if (mb_strtolower($user_extension) != $required_extension) { - $filename .= $required_extension; - } - $mime_type = $export_plugin->getProperties()->getMimeType(); - - // If dump is going to be compressed, set correct mime_type and add - // compression to extension - if ($compression == 'gzip') { - $filename .= '.gz'; - $mime_type = 'application/x-gzip'; - } elseif ($compression == 'zip') { - $filename .= '.zip'; - $mime_type = 'application/zip'; - } - return array($filename, $mime_type); -} - -/** - * Open the export file - * - * @param string $filename the export filename - * @param boolean $quick_export whether it's a quick export or not - * - * @return array the full save filename, possible message and the file handle - */ -function PMA_openExportFile($filename, $quick_export) -{ - $file_handle = null; - $message = ''; - - $save_filename = PMA\libraries\Util::userDir($GLOBALS['cfg']['SaveDir']) - . preg_replace('@[/\\\\]@', '_', $filename); - - if (file_exists($save_filename) - && ((! $quick_export && empty($_REQUEST['onserver_overwrite'])) - || ($quick_export - && $_REQUEST['quick_export_onserver_overwrite'] != 'saveitover')) - ) { - $message = Message::error( - __( - 'File %s already exists on server, ' - . 'change filename or check overwrite option.' - ) - ); - $message->addParam($save_filename); - } elseif (@is_file($save_filename) && ! @is_writable($save_filename)) { - $message = Message::error( - __( - 'The web server does not have permission ' - . 'to save the file %s.' - ) - ); - $message->addParam($save_filename); - } elseif (! $file_handle = @fopen($save_filename, 'w')) { - $message = Message::error( - __( - 'The web server does not have permission ' - . 'to save the file %s.' - ) - ); - $message->addParam($save_filename); - } - return array($save_filename, $message, $file_handle); -} - -/** - * Close the export file - * - * @param resource $file_handle the export file handle - * @param string $dump_buffer the current dump buffer - * @param string $save_filename the export filename - * - * @return Message $message a message object (or empty string) - */ -function PMA_closeExportFile($file_handle, $dump_buffer, $save_filename) -{ - $write_result = @fwrite($file_handle, $dump_buffer); - fclose($file_handle); - // Here, use strlen rather than mb_strlen to get the length - // in bytes to compare against the number of bytes written. - if (strlen($dump_buffer) > 0 - && (! $write_result || $write_result != strlen($dump_buffer)) - ) { - $message = new Message( - __('Insufficient space to save the file %s.'), - Message::ERROR, - array($save_filename) - ); - } else { - $message = new Message( - __('Dump has been saved to file %s.'), - Message::SUCCESS, - array($save_filename) - ); - } - return $message; -} - -/** - * Compress the export buffer - * - * @param array|string $dump_buffer the current dump buffer - * @param string $compression the compression mode - * @param string $filename the filename - * - * @return object $message a message object (or empty string) - */ -function PMA_compressExport($dump_buffer, $compression, $filename) -{ - if ($compression == 'zip' && @function_exists('gzcompress')) { - $filename = substr($filename, 0, -4); // remove extension (.zip) - $zipfile = new ZipFile(); - if (is_array($dump_buffer)) { - foreach ($dump_buffer as $table => $dump) { - $ext_pos = strpos($filename, '.'); - $extension = substr($filename, $ext_pos); - $zipfile->addFile( - $dump, - str_replace( - $extension, - '_' . $table . $extension, - $filename - ) - ); - } - } else { - $zipfile->addFile($dump_buffer, $filename); - } - $dump_buffer = $zipfile->file(); - } elseif ($compression == 'gzip' && PMA_gzencodeNeeded()) { - // without the optional parameter level because it bugs - $dump_buffer = gzencode($dump_buffer); - } - return $dump_buffer; -} - -/** - * Saves the dump_buffer for a particular table in an array - * Used in separate files export - * - * @param string $object_name the name of current object to be stored - * @param boolean $append optional boolean to append to an existing index or not - * - * @return void - */ -function PMA_saveObjectInBuffer($object_name, $append = false) -{ - - global $dump_buffer_objects, $dump_buffer, $dump_buffer_len; - - if (! empty($dump_buffer)) { - if ($append && isset($dump_buffer_objects[$object_name])) { - $dump_buffer_objects[$object_name] .= $dump_buffer; - } else { - $dump_buffer_objects[$object_name] = $dump_buffer; - } - } - - // Re - initialize - $dump_buffer = ''; - $dump_buffer_len = 0; - -} - -/** - * Returns HTML containing the header for a displayed export - * - * @param string $export_type the export type - * @param string $db the database name - * @param string $table the table name - * - * @return string[] the generated HTML and back button - */ -function PMA_getHtmlForDisplayedExportHeader($export_type, $db, $table) -{ - $html = '
'; - - /** - * Displays a back button with all the $_REQUEST data in the URL - * (store in a variable to also display after the textarea) - */ - $back_button = '

[ $value) { - if (!is_array($value)) { - $back_button .= '&' . urlencode($name) . '=' . urlencode($value); - } - } - $back_button .= '&repopulate=1">' . __('Back') . ' ]

'; - - $html .= $back_button - . '
' - . ''; - - return $html_output; -} - -/** - * Get HTML for enum type - * - * @param array $column description of column in given table - * @param string $backup_field hidden input field - * @param string $column_name_appendix the name attribute - * @param array $extracted_columnspec associative array containing type, - * spec_in_brackets and possibly - * enum_set_values (another array) - * @param string $onChangeClause onchange clause for fields - * @param integer $tabindex tab index - * @param integer $tabindex_for_value offset for the values tabindex - * @param integer $idindex id index - * @param mixed $data data to edit - * @param boolean $readOnly is column read only or not - * - * @return string an html snippet - */ -function PMA_getPmaTypeEnum($column, $backup_field, $column_name_appendix, - $extracted_columnspec, $onChangeClause, $tabindex, $tabindex_for_value, - $idindex, $data, $readOnly -) { - $html_output = ''; - if (! isset($column['values'])) { - $column['values'] = PMA_getColumnEnumValues( - $column, $extracted_columnspec - ); - } - $column_enum_values = $column['values']; - $html_output .= ''; - $html_output .= "\n" . ' ' . $backup_field . "\n"; - if (mb_strlen($column['Type']) > 20) { - $html_output .= PMA_getDropDownDependingOnLength( - $column, $column_name_appendix, $onChangeClause, - $tabindex, $tabindex_for_value, - $idindex, $data, $column_enum_values, $readOnly - ); - } else { - $html_output .= PMA_getRadioButtonDependingOnLength( - $column_name_appendix, $onChangeClause, - $tabindex, $column, $tabindex_for_value, - $idindex, $data, $column_enum_values, $readOnly - ); - } - return $html_output; -} - -/** - * Get column values - * - * @param array $column description of column in given table - * @param array $extracted_columnspec associative array containing type, - * spec_in_brackets and possibly enum_set_values - * (another array) - * - * @return array column values as an associative array - */ -function PMA_getColumnEnumValues($column, $extracted_columnspec) -{ - $column['values'] = array(); - foreach ($extracted_columnspec['enum_set_values'] as $val) { - $column['values'][] = array( - 'plain' => $val, - 'html' => htmlspecialchars($val), - ); - } - return $column['values']; -} - -/** - * Get HTML drop down for more than 20 string length - * - * @param array $column description of column in given table - * @param string $column_name_appendix the name attribute - * @param string $onChangeClause onchange clause for fields - * @param integer $tabindex tab index - * @param integer $tabindex_for_value offset for the values tabindex - * @param integer $idindex id index - * @param string $data data to edit - * @param array $column_enum_values $column['values'] - * @param boolean $readOnly is column read only or not - * - * @return string an html snippet - */ -function PMA_getDropDownDependingOnLength( - $column, $column_name_appendix, $onChangeClause, - $tabindex, $tabindex_for_value, $idindex, $data, $column_enum_values, - $readOnly -) { - $html_output = ''; - - //Add hidden input, as disabled '; - } - return $html_output; -} - -/** - * Get HTML radio button for less than 20 string length - * - * @param string $column_name_appendix the name attribute - * @param string $onChangeClause onchange clause for fields - * @param integer $tabindex tab index - * @param array $column description of column in given table - * @param integer $tabindex_for_value offset for the values tabindex - * @param integer $idindex id index - * @param string $data data to edit - * @param array $column_enum_values $column['values'] - * @param boolean $readOnly is column read only or not - * - * @return string an html snippet - */ -function PMA_getRadioButtonDependingOnLength( - $column_name_appendix, $onChangeClause, - $tabindex, $column, $tabindex_for_value, $idindex, $data, - $column_enum_values, $readOnly -) { - $j = 0; - $html_output = ''; - foreach ($column_enum_values as $enum_value) { - $html_output .= ' ' - . ''; - $html_output .= '' . "\n"; - $j++; - } - return $html_output; -} - -/** - * Get the HTML for 'set' pma type - * - * @param array $column description of column in given table - * @param array $extracted_columnspec associative array containing type, - * spec_in_brackets and possibly - * enum_set_values (another array) - * @param string $backup_field hidden input field - * @param string $column_name_appendix the name attribute - * @param string $onChangeClause onchange clause for fields - * @param integer $tabindex tab index - * @param integer $tabindex_for_value offset for the values tabindex - * @param integer $idindex id index - * @param string $data description of the column field - * @param boolean $readOnly is column read only or not - * - * @return string an html snippet - */ -function PMA_getPmaTypeSet( - $column, $extracted_columnspec, $backup_field, - $column_name_appendix, $onChangeClause, $tabindex, - $tabindex_for_value, $idindex, $data, $readOnly -) { - list($column_set_values, $select_size) = PMA_getColumnSetValueAndSelectSize( - $column, $extracted_columnspec - ); - $vset = array_flip(explode(',', $data)); - $html_output = $backup_field . "\n"; - $html_output .= ''; - $html_output .= ''; - - //Add hidden input, as disabled '; - } - return $html_output; -} - -/** - * Retrieve column 'set' value and select size - * - * @param array $column description of column in given table - * @param array $extracted_columnspec associative array containing type, - * spec_in_brackets and possibly enum_set_values - * (another array) - * - * @return array $column['values'], $column['select_size'] - */ -function PMA_getColumnSetValueAndSelectSize($column, $extracted_columnspec) -{ - if (! isset($column['values'])) { - $column['values'] = array(); - foreach ($extracted_columnspec['enum_set_values'] as $val) { - $column['values'][] = array( - 'plain' => $val, - 'html' => htmlspecialchars($val), - ); - } - $column['select_size'] = min(4, count($column['values'])); - } - return array($column['values'], $column['select_size']); -} - -/** - * Get HTML for binary and blob column - * - * @param array $column description of column in given table - * @param string $data data to edit - * @param string $special_chars special characters - * @param integer $biggest_max_file_size biggest max file size for uploading - * @param string $backup_field hidden input field - * @param string $column_name_appendix the name attribute - * @param string $onChangeClause onchange clause for fields - * @param integer $tabindex tab index - * @param integer $tabindex_for_value offset for the values tabindex - * @param integer $idindex id index - * @param string $text_dir text direction - * @param string $special_chars_encoded replaced char if the string starts - * with a \r\n pair (0x0d0a) add an extra \n - * @param string $vkey [multi_edit]['row_id'] - * @param boolean $is_upload is upload or not - * @param boolean $readOnly is column read only or not - * - * @return string an html snippet - */ -function PMA_getBinaryAndBlobColumn( - $column, $data, $special_chars, $biggest_max_file_size, - $backup_field, $column_name_appendix, $onChangeClause, $tabindex, - $tabindex_for_value, $idindex, $text_dir, $special_chars_encoded, - $vkey, $is_upload, $readOnly -) { - $html_output = ''; - // Add field type : Protected or Hexadecimal - $fields_type_html = ''; - // Default value : hex - $fields_type_val = 'hex'; - if (($GLOBALS['cfg']['ProtectBinary'] === 'blob' && $column['is_blob']) - || ($GLOBALS['cfg']['ProtectBinary'] === 'all') - || ($GLOBALS['cfg']['ProtectBinary'] === 'noblob' && !$column['is_blob']) - ) { - $html_output .= __('Binary - do not edit'); - if (isset($data)) { - $data_size = PMA\libraries\Util::formatByteDown( - mb_strlen(stripslashes($data)), 3, 1 - ); - $html_output .= ' (' . $data_size[0] . ' ' . $data_size[1] . ')'; - unset($data_size); - } - $fields_type_val = 'protected'; - $html_output .= ''; - } elseif ($column['is_blob'] - || ($column['len'] > $GLOBALS['cfg']['LimitChars']) - ) { - $html_output .= "\n" . PMA_getTextarea( - $column, $backup_field, $column_name_appendix, $onChangeClause, - $tabindex, $tabindex_for_value, $idindex, $text_dir, - $special_chars_encoded, 'HEX', $readOnly - ); - } else { - // field size should be at least 4 and max $GLOBALS['cfg']['LimitChars'] - $fieldsize = min(max($column['len'], 4), $GLOBALS['cfg']['LimitChars']); - $html_output .= "\n" . $backup_field . "\n" . PMA_getHTMLinput( - $column, $column_name_appendix, $special_chars, $fieldsize, - $onChangeClause, $tabindex, $tabindex_for_value, $idindex, 'HEX', - $readOnly - ); - } - $html_output .= sprintf($fields_type_html, $fields_type_val); - - if ($is_upload && $column['is_blob'] && !$readOnly) { - // We don't want to prevent users from using - // browser's default drag-drop feature on some page(s), - // so we add noDragDrop class to the input - $html_output .= '
' - . ' '; - list($html_out,) = PMA_getMaxUploadSize( - $column, $biggest_max_file_size - ); - $html_output .= $html_out; - } - - if (!empty($GLOBALS['cfg']['UploadDir']) && !$readOnly) { - $html_output .= PMA_getSelectOptionForUpload($vkey, $column); - } - - return $html_output; -} - -/** - * Get HTML input type - * - * @param array $column description of column in given table - * @param string $column_name_appendix the name attribute - * @param string $special_chars special characters - * @param integer $fieldsize html field size - * @param string $onChangeClause onchange clause for fields - * @param integer $tabindex tab index - * @param integer $tabindex_for_value offset for the values tabindex - * @param integer $idindex id index - * @param string $data_type the html5 data-* attribute type - * @param boolean $readOnly is column read only or not - * - * @return string an html snippet - */ -function PMA_getHTMLinput( - $column, $column_name_appendix, $special_chars, $fieldsize, $onChangeClause, - $tabindex, $tabindex_for_value, $idindex, $data_type, $readOnly -) { - $input_type = 'text'; - // do not use the 'date' or 'time' types here; they have no effect on some - // browsers and create side effects (see bug #4218) - - $the_class = 'textfield'; - // verify True_Type which does not contain the parentheses and length - if ($readOnly) { - //NOOP. Disable date/timepicker - } else if ($column['True_Type'] === 'date') { - $the_class .= ' datefield'; - } else if ($column['True_Type'] === 'time') { - $the_class .= ' timefield'; - } else if ($column['True_Type'] === 'datetime' - || $column['True_Type'] === 'timestamp' - ) { - $the_class .= ' datetimefield'; - } - $input_min_max = false; - if (in_array($column['True_Type'], $GLOBALS['PMA_Types']->getIntegerTypes())) { - $extracted_columnspec = PMA\libraries\Util::extractColumnSpec( - $column['Type'] - ); - $is_unsigned = $extracted_columnspec['unsigned']; - $min_max_values = $GLOBALS['PMA_Types']->getIntegerRange( - $column['True_Type'], ! $is_unsigned - ); - $input_min_max = 'min="' . $min_max_values[0] . '" ' - . 'max="' . $min_max_values[1] . '"'; - $data_type = 'INT'; - } - return ''; -} - -/** - * Get HTML select option for upload - * - * @param string $vkey [multi_edit]['row_id'] - * @param array $column description of column in given table - * - * @return string|void an html snippet - */ -function PMA_getSelectOptionForUpload($vkey, $column) -{ - $files = PMA_getFileSelectOptions( - PMA\libraries\Util::userDir($GLOBALS['cfg']['UploadDir']) - ); - - if ($files === false) { - return '' . __('Error') . '
' . "\n" - . __('The directory you set for upload work cannot be reached.') . "\n"; - } elseif (!empty($files)) { - return "
\n" - . '' . __('Or') . '' . ' ' - . __('web server upload directory:') . '
' . "\n" - . '' . "\n"; - } - - return null; -} - -/** - * Retrieve the maximum upload file size - * - * @param array $column description of column in given table - * @param integer $biggest_max_file_size biggest max file size for uploading - * - * @return array an html snippet and $biggest_max_file_size - */ -function PMA_getMaxUploadSize($column, $biggest_max_file_size) -{ - // find maximum upload size, based on field type - /** - * @todo with functions this is not so easy, as you can basically - * process any data with function like MD5 - */ - global $max_upload_size; - $max_field_sizes = array( - 'tinyblob' => '256', - 'blob' => '65536', - 'mediumblob' => '16777216', - 'longblob' => '4294967296' // yeah, really - ); - - $this_field_max_size = $max_upload_size; // from PHP max - if ($this_field_max_size > $max_field_sizes[$column['pma_type']]) { - $this_field_max_size = $max_field_sizes[$column['pma_type']]; - } - $html_output - = PMA\libraries\Util::getFormattedMaximumUploadSize( - $this_field_max_size - ) . "\n"; - // do not generate here the MAX_FILE_SIZE, because we should - // put only one in the form to accommodate the biggest field - if ($this_field_max_size > $biggest_max_file_size) { - $biggest_max_file_size = $this_field_max_size; - } - return array($html_output, $biggest_max_file_size); -} - -/** - * Get HTML for the Value column of other datatypes - * (here, "column" is used in the sense of HTML column in HTML table) - * - * @param array $column description of column in given table - * @param string $default_char_editing default char editing mode which is stored - * in the config.inc.php script - * @param string $backup_field hidden input field - * @param string $column_name_appendix the name attribute - * @param string $onChangeClause onchange clause for fields - * @param integer $tabindex tab index - * @param string $special_chars special characters - * @param integer $tabindex_for_value offset for the values tabindex - * @param integer $idindex id index - * @param string $text_dir text direction - * @param string $special_chars_encoded replaced char if the string starts - * with a \r\n pair (0x0d0a) add an extra \n - * @param string $data data to edit - * @param array $extracted_columnspec associative array containing type, - * spec_in_brackets and possibly - * enum_set_values (another array) - * @param boolean $readOnly is column read only or not - * - * @return string an html snippet - */ -function PMA_getValueColumnForOtherDatatypes($column, $default_char_editing, - $backup_field, - $column_name_appendix, $onChangeClause, $tabindex, $special_chars, - $tabindex_for_value, $idindex, $text_dir, $special_chars_encoded, $data, - $extracted_columnspec, $readOnly -) { - // HTML5 data-* attribute data-type - $data_type = $GLOBALS['PMA_Types']->getTypeClass($column['True_Type']); - $fieldsize = PMA_getColumnSize($column, $extracted_columnspec); - $html_output = $backup_field . "\n"; - if ($column['is_char'] - && ($GLOBALS['cfg']['CharEditing'] == 'textarea' - || mb_strpos($data, "\n") !== false) - ) { - $html_output .= "\n"; - $GLOBALS['cfg']['CharEditing'] = $default_char_editing; - $html_output .= PMA_getTextarea( - $column, $backup_field, $column_name_appendix, $onChangeClause, - $tabindex, $tabindex_for_value, $idindex, $text_dir, - $special_chars_encoded, $data_type, $readOnly - ); - } else { - $html_output .= PMA_getHTMLinput( - $column, $column_name_appendix, $special_chars, $fieldsize, - $onChangeClause, $tabindex, $tabindex_for_value, $idindex, - $data_type, $readOnly - ); - - $virtual = array( - 'VIRTUAL', 'PERSISTENT', 'VIRTUAL GENERATED', 'STORED GENERATED' - ); - if (in_array($column['Extra'], $virtual)) { - $html_output .= ''; - } - if ($column['Extra'] == 'auto_increment') { - $html_output .= ''; - } - if (substr($column['pma_type'], 0, 9) == 'timestamp') { - $html_output .= ''; - } - if (substr($column['pma_type'], 0, 8) == 'datetime') { - $html_output .= ''; - } - if ($column['True_Type'] == 'bit') { - $html_output .= ''; - } - if ($column['pma_type'] == 'date' - || $column['pma_type'] == 'datetime' - || substr($column['pma_type'], 0, 9) == 'timestamp' - ) { - // the _3 suffix points to the date field - // the _2 suffix points to the corresponding NULL checkbox - // in dateFormat, 'yy' means the year with 4 digits - } - } - return $html_output; -} - -/** - * Get the field size - * - * @param array $column description of column in given table - * @param array $extracted_columnspec associative array containing type, - * spec_in_brackets and possibly enum_set_values - * (another array) - * - * @return integer field size - */ -function PMA_getColumnSize($column, $extracted_columnspec) -{ - if ($column['is_char']) { - $fieldsize = $extracted_columnspec['spec_in_brackets']; - if ($fieldsize > $GLOBALS['cfg']['MaxSizeForInputField']) { - /** - * This case happens for CHAR or VARCHAR columns which have - * a size larger than the maximum size for input field. - */ - $GLOBALS['cfg']['CharEditing'] = 'textarea'; - } - } else { - /** - * This case happens for example for INT or DATE columns; - * in these situations, the value returned in $column['len'] - * seems appropriate. - */ - $fieldsize = $column['len']; - } - return min( - max($fieldsize, $GLOBALS['cfg']['MinSizeForInputField']), - $GLOBALS['cfg']['MaxSizeForInputField'] - ); -} - -/** - * Get HTML for gis data types - * - * @return string an html snippet - */ -function PMA_getHTMLforGisDataTypes() -{ - $edit_str = PMA\libraries\Util::getIcon('b_edit.png', __('Edit/Insert')); - return '' - . PMA\libraries\Util::linkOrButton( - '#', $edit_str, array(), false, false, '_blank' - ) - . ''; -} - -/** - * get html for continue insertion form - * - * @param string $table name of the table - * @param string $db name of the database - * @param array $where_clause_array array of where clauses - * @param string $err_url error url - * - * @return string an html snippet - */ -function PMA_getContinueInsertionForm($table, $db, $where_clause_array, $err_url) -{ - $html_output = '' - . URL::getHiddenInputs($db, $table) - . '' - . '' - . ''; - - if (isset($_REQUEST['where_clause'])) { - foreach ($where_clause_array as $key_id => $where_clause) { - - $html_output .= '' . "\n"; - } - } - $tmp = '' . "\n"; - $html_output .= "\n" . sprintf(__('Continue insertion with %s rows'), $tmp); - unset($tmp); - $html_output .= '' . "\n"; - return $html_output; -} - -/** - * Get action panel - * - * @param array $where_clause where clause - * @param string $after_insert insert mode, e.g. new_insert, same_insert - * @param integer $tabindex tab index - * @param integer $tabindex_for_value offset for the values tabindex - * @param boolean $found_unique_key boolean variable for unique key - * - * @return string an html snippet - */ -function PMA_getActionsPanel($where_clause, $after_insert, $tabindex, - $tabindex_for_value, $found_unique_key -) { - $html_output = '
' - . '
' - . '' - . '' - . '' - . '' - . ''; - $html_output .='' - . PMA_getSubmitAndResetButtonForActionsPanel($tabindex, $tabindex_for_value) - . '' - . '
' - . PMA_getSubmitTypeDropDown($where_clause, $tabindex, $tabindex_for_value) - . "\n"; - - $html_output .= '' - . '   ' - . __('and then') . '   ' - . '' - . PMA_getAfterInsertDropDown( - $where_clause, $after_insert, $found_unique_key - ) - . '
' - . ''; - return $html_output; -} - -/** - * Get a HTML drop down for submit types - * - * @param array $where_clause where clause - * @param integer $tabindex tab index - * @param integer $tabindex_for_value offset for the values tabindex - * - * @return string an html snippet - */ -function PMA_getSubmitTypeDropDown($where_clause, $tabindex, $tabindex_for_value) -{ - $html_output = ''; - return $html_output; -} - -/** - * Get HTML drop down for after insert - * - * @param array $where_clause where clause - * @param string $after_insert insert mode, e.g. new_insert, same_insert - * @param boolean $found_unique_key boolean variable for unique key - * - * @return string an html snippet - */ -function PMA_getAfterInsertDropDown($where_clause, $after_insert, $found_unique_key) -{ - $html_output = ''; - return $html_output; - -} - -/** - * get Submit button and Reset button for action panel - * - * @param integer $tabindex tab index - * @param integer $tabindex_for_value offset for the values tabindex - * - * @return string an html snippet - */ -function PMA_getSubmitAndResetButtonForActionsPanel($tabindex, $tabindex_for_value) -{ - return '' - . PMA\libraries\Util::showHint( - __( - 'Use TAB key to move from value to value,' - . ' or CTRL+arrows to move anywhere.' - ) - ) - . '' - . '' - . '' - . '' - . '' - . ''; -} - -/** - * Get table head and table foot for insert row table - * - * @param array $url_params url parameters - * - * @return string an html snippet - */ -function PMA_getHeadAndFootOfInsertRowTable($url_params) -{ - $html_output = '' - . '' - . '' - . ''; - - if ($GLOBALS['cfg']['ShowFieldTypesInDataEditView']) { - $html_output .= PMA_showTypeOrFunction('type', $url_params, true); - } - if ($GLOBALS['cfg']['ShowFunctionFields']) { - $html_output .= PMA_showTypeOrFunction('function', $url_params, true); - } - - $html_output .= '' - . '' - . '' - . '' - . ' ' - . '' - . '' - . '' - . ''; - return $html_output; -} - -/** - * Prepares the field value and retrieve special chars, backup field and data array - * - * @param array $current_row a row of the table - * @param array $column description of column in given table - * @param array $extracted_columnspec associative array containing type, - * spec_in_brackets and possibly - * enum_set_values (another array) - * @param boolean $real_null_value whether column value null or not null - * @param array $gis_data_types list of GIS data types - * @param string $column_name_appendix string to append to column name in input - * @param bool $as_is use the data as is, used in repopulating - * - * @return array $real_null_value, $data, $special_chars, $backup_field, - * $special_chars_encoded - */ -function PMA_getSpecialCharsAndBackupFieldForExistingRow( - $current_row, $column, $extracted_columnspec, - $real_null_value, $gis_data_types, $column_name_appendix, $as_is -) { - $special_chars_encoded = ''; - $data = null; - // (we are editing) - if (!isset($current_row[$column['Field']])) { - $real_null_value = true; - $current_row[$column['Field']] = ''; - $special_chars = ''; - $data = $current_row[$column['Field']]; - } elseif ($column['True_Type'] == 'bit') { - $special_chars = $as_is - ? $current_row[$column['Field']] - : PMA\libraries\Util::printableBitValue( - $current_row[$column['Field']], - $extracted_columnspec['spec_in_brackets'] - ); - } elseif ((substr($column['True_Type'], 0, 9) == 'timestamp' - || $column['True_Type'] == 'datetime' - || $column['True_Type'] == 'time') - && (mb_strpos($current_row[$column['Field']], ".") !== false) - ) { - $current_row[$column['Field']] = $as_is - ? $current_row[$column['Field']] - : PMA\libraries\Util::addMicroseconds( - $current_row[$column['Field']] - ); - $special_chars = htmlspecialchars($current_row[$column['Field']]); - } elseif (in_array($column['True_Type'], $gis_data_types)) { - // Convert gis data to Well Know Text format - $current_row[$column['Field']] = $as_is - ? $current_row[$column['Field']] - : PMA\libraries\Util::asWKT( - $current_row[$column['Field']], true - ); - $special_chars = htmlspecialchars($current_row[$column['Field']]); - } else { - // special binary "characters" - if ($column['is_binary'] - || ($column['is_blob'] && $GLOBALS['cfg']['ProtectBinary'] !== 'all') - ) { - $current_row[$column['Field']] = $as_is - ? $current_row[$column['Field']] - : bin2hex( - $current_row[$column['Field']] - ); - } // end if - $special_chars = htmlspecialchars($current_row[$column['Field']]); - - //We need to duplicate the first \n or otherwise we will lose - //the first newline entered in a VARCHAR or TEXT column - $special_chars_encoded - = PMA\libraries\Util::duplicateFirstNewline($special_chars); - - $data = $current_row[$column['Field']]; - } // end if... else... - - //when copying row, it is useful to empty auto-increment column - // to prevent duplicate key error - if (isset($_REQUEST['default_action']) - && $_REQUEST['default_action'] === 'insert' - ) { - if ($column['Key'] === 'PRI' - && mb_strpos($column['Extra'], 'auto_increment') !== false - ) { - $data = $special_chars_encoded = $special_chars = null; - } - } - // If a timestamp field value is not included in an update - // statement MySQL auto-update it to the current timestamp; - // however, things have changed since MySQL 4.1, so - // it's better to set a fields_prev in this situation - $backup_field = ''; - - return array( - $real_null_value, - $special_chars_encoded, - $special_chars, - $data, - $backup_field - ); -} - -/** - * display default values - * - * @param array $column description of column in given table - * @param boolean $real_null_value whether column value null or not null - * - * @return array $real_null_value, $data, $special_chars, - * $backup_field, $special_chars_encoded - */ -function PMA_getSpecialCharsAndBackupFieldForInsertingMode( - $column, $real_null_value -) { - if (! isset($column['Default'])) { - $column['Default'] = ''; - $real_null_value = true; - $data = ''; - } else { - $data = $column['Default']; - } - - $trueType = $column['True_Type']; - - if ($trueType == 'bit') { - $special_chars = PMA\libraries\Util::convertBitDefaultValue( - $column['Default'] - ); - } elseif (substr($trueType, 0, 9) == 'timestamp' - || $trueType == 'datetime' - || $trueType == 'time' - ) { - $special_chars = PMA\libraries\Util::addMicroseconds($column['Default']); - } elseif ($trueType == 'binary' || $trueType == 'varbinary') { - $special_chars = bin2hex($column['Default']); - } else { - $special_chars = htmlspecialchars($column['Default']); - } - $backup_field = ''; - $special_chars_encoded = PMA\libraries\Util::duplicateFirstNewline( - $special_chars - ); - return array( - $real_null_value, $data, $special_chars, - $backup_field, $special_chars_encoded - ); -} - -/** - * Prepares the update/insert of a row - * - * @return array $loop_array, $using_key, $is_insert, $is_insertignore - */ -function PMA_getParamsForUpdateOrInsert() -{ - if (isset($_REQUEST['where_clause'])) { - // we were editing something => use the WHERE clause - $loop_array = is_array($_REQUEST['where_clause']) - ? $_REQUEST['where_clause'] - : array($_REQUEST['where_clause']); - $using_key = true; - $is_insert = isset($_REQUEST['submit_type']) - && ($_REQUEST['submit_type'] == 'insert' - || $_REQUEST['submit_type'] == 'showinsert' - || $_REQUEST['submit_type'] == 'insertignore'); - } else { - // new row => use indexes - $loop_array = array(); - if (! empty($_REQUEST['fields'])) { - foreach ($_REQUEST['fields']['multi_edit'] as $key => $dummy) { - $loop_array[] = $key; - } - } - $using_key = false; - $is_insert = true; - } - $is_insertignore = isset($_REQUEST['submit_type']) - && $_REQUEST['submit_type'] == 'insertignore'; - return array($loop_array, $using_key, $is_insert, $is_insertignore); -} - -/** - * Check wether insert row mode and if so include tbl_changen script and set - * global variables. - * - * @return void - */ -function PMA_isInsertRow() -{ - if (isset($_REQUEST['insert_rows']) - && is_numeric($_REQUEST['insert_rows']) - && $_REQUEST['insert_rows'] != $GLOBALS['cfg']['InsertRows'] - ) { - $GLOBALS['cfg']['InsertRows'] = $_REQUEST['insert_rows']; - $response = Response::getInstance(); - $header = $response->getHeader(); - $scripts = $header->getScripts(); - $scripts->addFile('tbl_change.js'); - if (!defined('TESTSUITE')) { - include 'tbl_change.php'; - exit; - } - } -} - -/** - * set $_SESSION for edit_next - * - * @param string $one_where_clause one where clause from where clauses array - * - * @return void - */ -function PMA_setSessionForEditNext($one_where_clause) -{ - $local_query = 'SELECT * FROM ' . PMA\libraries\Util::backquote($GLOBALS['db']) - . '.' . PMA\libraries\Util::backquote($GLOBALS['table']) . ' WHERE ' - . str_replace('` =', '` >', $one_where_clause) . ' LIMIT 1;'; - - $res = $GLOBALS['dbi']->query($local_query); - $row = $GLOBALS['dbi']->fetchRow($res); - $meta = $GLOBALS['dbi']->getFieldsMeta($res); - // must find a unique condition based on unique key, - // not a combination of all fields - list($unique_condition, $clause_is_unique) - = PMA\libraries\Util::getUniqueCondition( - $res, // handle - count($meta), // fields_cnt - $meta, // fields_meta - $row, // row - true, // force_unique - false, // restrict_to_table - null // analyzed_sql_results - ); - if (! empty($unique_condition)) { - $_SESSION['edit_next'] = $unique_condition; - } - unset($unique_condition, $clause_is_unique); -} - -/** - * set $goto_include variable for different cases and retrieve like, - * if $GLOBALS['goto'] empty, if $goto_include previously not defined - * and new_insert, same_insert, edit_next - * - * @param string $goto_include store some script for include, otherwise it is - * boolean false - * - * @return string $goto_include - */ -function PMA_getGotoInclude($goto_include) -{ - $valid_options = array('new_insert', 'same_insert', 'edit_next'); - if (isset($_REQUEST['after_insert']) - && in_array($_REQUEST['after_insert'], $valid_options) - ) { - $goto_include = 'tbl_change.php'; - } elseif (! empty($GLOBALS['goto'])) { - if (! preg_match('@^[a-z_]+\.php$@', $GLOBALS['goto'])) { - // this should NOT happen - //$GLOBALS['goto'] = false; - $goto_include = false; - } else { - $goto_include = $GLOBALS['goto']; - } - if ($GLOBALS['goto'] == 'db_sql.php' && strlen($GLOBALS['table']) > 0) { - $GLOBALS['table'] = ''; - } - } - if (! $goto_include) { - if (strlen($GLOBALS['table']) === 0) { - $goto_include = 'db_sql.php'; - } else { - $goto_include = 'tbl_sql.php'; - } - } - return $goto_include; -} - -/** - * Defines the url to return in case of failure of the query - * - * @param array $url_params url parameters - * - * @return string error url for query failure - */ -function PMA_getErrorUrl($url_params) -{ - if (isset($_REQUEST['err_url'])) { - return $_REQUEST['err_url']; - } else { - return 'tbl_change.php' . URL::getCommon($url_params); - } -} - -/** - * Builds the sql query - * - * @param boolean $is_insertignore $_REQUEST['submit_type'] == 'insertignore' - * @param array $query_fields column names array - * @param array $value_sets array of query values - * - * @return array of query - */ -function PMA_buildSqlQuery($is_insertignore, $query_fields, $value_sets) -{ - if ($is_insertignore) { - $insert_command = 'INSERT IGNORE '; - } else { - $insert_command = 'INSERT '; - } - $query = array( - $insert_command . 'INTO ' - . PMA\libraries\Util::backquote($GLOBALS['table']) - . ' (' . implode(', ', $query_fields) . ') VALUES (' - . implode('), (', $value_sets) . ')' - ); - unset($insert_command, $query_fields); - return $query; -} - -/** - * Executes the sql query and get the result, then move back to the calling page - * - * @param array $url_params url parameters array - * @param array $query built query from PMA_buildSqlQuery() - * - * @return array $url_params, $total_affected_rows, $last_messages - * $warning_messages, $error_messages, $return_to_sql_query - */ -function PMA_executeSqlQuery($url_params, $query) -{ - $return_to_sql_query = ''; - if (! empty($GLOBALS['sql_query'])) { - $url_params['sql_query'] = $GLOBALS['sql_query']; - $return_to_sql_query = $GLOBALS['sql_query']; - } - $GLOBALS['sql_query'] = implode('; ', $query) . ';'; - // to ensure that the query is displayed in case of - // "insert as new row" and then "insert another new row" - $GLOBALS['display_query'] = $GLOBALS['sql_query']; - - $total_affected_rows = 0; - $last_messages = array(); - $warning_messages = array(); - $error_messages = array(); - - foreach ($query as $single_query) { - if ($_REQUEST['submit_type'] == 'showinsert') { - $last_messages[] = Message::notice(__('Showing SQL query')); - continue; - } - if ($GLOBALS['cfg']['IgnoreMultiSubmitErrors']) { - $result = $GLOBALS['dbi']->tryQuery($single_query); - } else { - $result = $GLOBALS['dbi']->query($single_query); - } - if (! $result) { - $error_messages[] = $GLOBALS['dbi']->getError(); - } else { - // The next line contains a real assignment, it's not a typo - if ($tmp = @$GLOBALS['dbi']->affectedRows()) { - $total_affected_rows += $tmp; - } - unset($tmp); - - $insert_id = $GLOBALS['dbi']->insertId(); - if ($insert_id != 0) { - // insert_id is id of FIRST record inserted in one insert, so if we - // inserted multiple rows, we had to increment this - - if ($total_affected_rows > 0) { - $insert_id = $insert_id + $total_affected_rows - 1; - } - $last_message = Message::notice(__('Inserted row id: %1$d')); - $last_message->addParam($insert_id); - $last_messages[] = $last_message; - } - $GLOBALS['dbi']->freeResult($result); - } - $warning_messages = PMA_getWarningMessages(); - } - return array( - $url_params, - $total_affected_rows, - $last_messages, - $warning_messages, - $error_messages, - $return_to_sql_query - ); -} - -/** - * get the warning messages array - * - * @return array $warning_essages - */ -function PMA_getWarningMessages() -{ - $warning_essages = array(); - foreach ($GLOBALS['dbi']->getWarnings() as $warning) { - $warning_essages[] = Message::sanitize( - $warning['Level'] . ': #' . $warning['Code'] . ' ' . $warning['Message'] - ); - } - return $warning_essages; -} - -/** - * Column to display from the foreign table? - * - * @param string $where_comparison string that contain relation field value - * @param array $map all Relations to foreign tables for a given - * table or optionally a given column in a table - * @param string $relation_field relation field - * - * @return string $dispval display value from the foreign table - */ -function PMA_getDisplayValueForForeignTableColumn($where_comparison, - $map, $relation_field -) { - $foreigner = PMA_searchColumnInForeigners($map, $relation_field); - $display_field = PMA_getDisplayField( - $foreigner['foreign_db'], - $foreigner['foreign_table'] - ); - // Field to display from the foreign table? - if (isset($display_field) && strlen($display_field) > 0) { - $dispsql = 'SELECT ' . PMA\libraries\Util::backquote($display_field) - . ' FROM ' . PMA\libraries\Util::backquote($foreigner['foreign_db']) - . '.' . PMA\libraries\Util::backquote($foreigner['foreign_table']) - . ' WHERE ' . PMA\libraries\Util::backquote($foreigner['foreign_field']) - . $where_comparison; - $dispresult = $GLOBALS['dbi']->tryQuery( - $dispsql, null, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - if ($dispresult && $GLOBALS['dbi']->numRows($dispresult) > 0) { - list($dispval) = $GLOBALS['dbi']->fetchRow($dispresult, 0); - } else { - $dispval = ''; - } - if ($dispresult) { - $GLOBALS['dbi']->freeResult($dispresult); - } - return $dispval; - } - return ''; -} - -/** - * Display option in the cell according to user choices - * - * @param array $map all Relations to foreign tables for a given - * table or optionally a given column in a table - * @param string $relation_field relation field - * @param string $where_comparison string that contain relation field value - * @param string $dispval display value from the foreign table - * @param string $relation_field_value relation field value - * - * @return string $output HTML tag - */ -function PMA_getLinkForRelationalDisplayField($map, $relation_field, - $where_comparison, $dispval, $relation_field_value -) { - $foreigner = PMA_searchColumnInForeigners($map, $relation_field); - if ('K' == $_SESSION['tmpval']['relational_display']) { - // user chose "relational key" in the display options, so - // the title contains the display field - $title = (! empty($dispval)) - ? ' title="' . htmlspecialchars($dispval) . '"' - : ''; - } else { - $title = ' title="' . htmlspecialchars($relation_field_value) . '"'; - } - $_url_params = array( - 'db' => $foreigner['foreign_db'], - 'table' => $foreigner['foreign_table'], - 'pos' => '0', - 'sql_query' => 'SELECT * FROM ' - . PMA\libraries\Util::backquote($foreigner['foreign_db']) - . '.' . PMA\libraries\Util::backquote($foreigner['foreign_table']) - . ' WHERE ' . PMA\libraries\Util::backquote($foreigner['foreign_field']) - . $where_comparison - ); - $output = ''; - - if ('D' == $_SESSION['tmpval']['relational_display']) { - // user chose "relational display field" in the - // display options, so show display field in the cell - $output .= (!empty($dispval)) ? htmlspecialchars($dispval) : ''; - } else { - // otherwise display data in the cell - $output .= htmlspecialchars($relation_field_value); - } - $output .= ''; - return $output; -} - -/** - * Transform edited values - * - * @param string $db db name - * @param string $table table name - * @param array $transformation mimetypes for all columns of a table - * [field_name][field_key] - * @param array &$edited_values transform columns list and new values - * @param string $file file containing the transformation plugin - * @param string $column_name column name - * @param array $extra_data extra data array - * @param string $type the type of transformation - * - * @return array $extra_data - */ -function PMA_transformEditedValues($db, $table, - $transformation, &$edited_values, $file, $column_name, $extra_data, $type -) { - $include_file = 'libraries/plugins/transformations/' . $file; - if (is_file($include_file)) { - include_once $include_file; - $_url_params = array( - 'db' => $db, - 'table' => $table, - 'where_clause' => $_REQUEST['where_clause'], - 'transform_key' => $column_name - ); - $transform_options = PMA_Transformation_getOptions( - isset($transformation[$type . '_options']) - ? $transformation[$type . '_options'] - : '' - ); - $transform_options['wrapper_link'] - = URL::getCommon($_url_params); - $class_name = PMA_getTransformationClassName($include_file); - /** @var TransformationsPlugin $transformation_plugin */ - $transformation_plugin = new $class_name(); - - foreach ($edited_values as $cell_index => $curr_cell_edited_values) { - if (isset($curr_cell_edited_values[$column_name])) { - $edited_values[$cell_index][$column_name] - = $extra_data['transformations'][$cell_index] - = $transformation_plugin->applyTransformation( - $curr_cell_edited_values[$column_name], - $transform_options, - '' - ); - } - } // end of loop for each transformation cell - } - return $extra_data; -} - -/** - * Get current value in multi edit mode - * - * @param array $multi_edit_funcs multiple edit functions array - * @param array $multi_edit_salt multiple edit array with encryption salt - * @param array $gis_from_text_functions array that contains gis from text functions - * @param string $current_value current value in the column - * @param array $gis_from_wkb_functions initially $val is $multi_edit_columns[$key] - * @param array $func_optional_param array('RAND','UNIX_TIMESTAMP') - * @param array $func_no_param array of set of string - * @param string $key an md5 of the column name - * - * @return array $cur_value - */ -function PMA_getCurrentValueAsAnArrayForMultipleEdit( $multi_edit_funcs, - $multi_edit_salt, - $gis_from_text_functions, $current_value, $gis_from_wkb_functions, - $func_optional_param, $func_no_param, $key -) { - if (empty($multi_edit_funcs[$key])) { - return $current_value; - } elseif ('UUID' === $multi_edit_funcs[$key]) { - /* This way user will know what UUID new row has */ - $uuid = $GLOBALS['dbi']->fetchValue('SELECT UUID()'); - return "'" . $uuid . "'"; - } elseif ((in_array($multi_edit_funcs[$key], $gis_from_text_functions) - && substr($current_value, 0, 3) == "'''") - || in_array($multi_edit_funcs[$key], $gis_from_wkb_functions) - ) { - // Remove enclosing apostrophes - $current_value = mb_substr($current_value, 1, -1); - // Remove escaping apostrophes - $current_value = str_replace("''", "'", $current_value); - return $multi_edit_funcs[$key] . '(' . $current_value . ')'; - } elseif (! in_array($multi_edit_funcs[$key], $func_no_param) - || ($current_value != "''" - && in_array($multi_edit_funcs[$key], $func_optional_param)) - ) { - if ((isset($multi_edit_salt[$key]) - && ($multi_edit_funcs[$key] == "AES_ENCRYPT" - || $multi_edit_funcs[$key] == "AES_DECRYPT")) - || (! empty($multi_edit_salt[$key]) - && ($multi_edit_funcs[$key] == "DES_ENCRYPT" - || $multi_edit_funcs[$key] == "DES_DECRYPT" - || $multi_edit_funcs[$key] == "ENCRYPT")) - ) { - return $multi_edit_funcs[$key] . '(' . $current_value . ",'" - . $GLOBALS['dbi']->escapeString($multi_edit_salt[$key]) . "')"; - } else { - return $multi_edit_funcs[$key] . '(' . $current_value . ')'; - } - } else { - return $multi_edit_funcs[$key] . '()'; - } -} - -/** - * Get query values array and query fields array for insert and update in multi edit - * - * @param array $multi_edit_columns_name multiple edit columns name array - * @param array $multi_edit_columns_null multiple edit columns null array - * @param string $current_value current value in the column in loop - * @param array $multi_edit_columns_prev multiple edit previous columns array - * @param array $multi_edit_funcs multiple edit functions array - * @param boolean $is_insert boolean value whether insert or not - * @param array $query_values SET part of the sql query - * @param array $query_fields array of query fields - * @param string $current_value_as_an_array current value in the column - * as an array - * @param array $value_sets array of valu sets - * @param string $key an md5 of the column name - * @param array $multi_edit_columns_null_prev array of multiple edit columns - * null previous - * - * @return array ($query_values, $query_fields) - */ -function PMA_getQueryValuesForInsertAndUpdateInMultipleEdit($multi_edit_columns_name, - $multi_edit_columns_null, $current_value, $multi_edit_columns_prev, - $multi_edit_funcs,$is_insert, $query_values, $query_fields, - $current_value_as_an_array, $value_sets, $key, $multi_edit_columns_null_prev -) { - // i n s e r t - if ($is_insert) { - // no need to add column into the valuelist - if (strlen($current_value_as_an_array) > 0) { - $query_values[] = $current_value_as_an_array; - // first inserted row so prepare the list of fields - if (empty($value_sets)) { - $query_fields[] = PMA\libraries\Util::backquote( - $multi_edit_columns_name[$key] - ); - } - } - - } elseif (! empty($multi_edit_columns_null_prev[$key]) - && ! isset($multi_edit_columns_null[$key]) - ) { - // u p d a t e - - // field had the null checkbox before the update - // field no longer has the null checkbox - $query_values[] - = PMA\libraries\Util::backquote($multi_edit_columns_name[$key]) - . ' = ' . $current_value_as_an_array; - } elseif (empty($multi_edit_funcs[$key]) - && isset($multi_edit_columns_prev[$key]) - && (("'" . $GLOBALS['dbi']->escapeString($multi_edit_columns_prev[$key]) . "'" === $current_value) - || ('0x' . $multi_edit_columns_prev[$key] === $current_value)) - ) { - // No change for this column and no MySQL function is used -> next column - } elseif (! empty($current_value)) { - // avoid setting a field to NULL when it's already NULL - // (field had the null checkbox before the update - // field still has the null checkbox) - if (empty($multi_edit_columns_null_prev[$key]) - || empty($multi_edit_columns_null[$key]) - ) { - $query_values[] - = PMA\libraries\Util::backquote($multi_edit_columns_name[$key]) - . ' = ' . $current_value_as_an_array; - } - } - return array($query_values, $query_fields); -} - -/** - * Get the current column value in the form for different data types - * - * @param string|false $possibly_uploaded_val uploaded file content - * @param string $key an md5 of the column name - * @param array $multi_edit_columns_type array of multi edit column types - * @param string $current_value current column value in the form - * @param array $multi_edit_auto_increment multi edit auto increment - * @param integer $rownumber index of where clause array - * @param array $multi_edit_columns_name multi edit column names array - * @param array $multi_edit_columns_null multi edit columns null array - * @param array $multi_edit_columns_null_prev multi edit columns previous null - * @param boolean $is_insert whether insert or not - * @param boolean $using_key whether editing or new row - * @param string $where_clause where clause - * @param string $table table name - * @param array $multi_edit_funcs multiple edit functions array - * - * @return string $current_value current column value in the form - */ -function PMA_getCurrentValueForDifferentTypes($possibly_uploaded_val, $key, - $multi_edit_columns_type, $current_value, $multi_edit_auto_increment, - $rownumber, $multi_edit_columns_name, $multi_edit_columns_null, - $multi_edit_columns_null_prev, $is_insert, $using_key, $where_clause, $table, - $multi_edit_funcs -) { - // Fetch the current values of a row to use in case we have a protected field - if ($is_insert - && $using_key && isset($multi_edit_columns_type) - && is_array($multi_edit_columns_type) && !empty($where_clause) - ) { - $protected_row = $GLOBALS['dbi']->fetchSingleRow( - 'SELECT * FROM ' . PMA\libraries\Util::backquote($table) - . ' WHERE ' . $where_clause . ';' - ); - } - - if (false !== $possibly_uploaded_val) { - $current_value = $possibly_uploaded_val; - } else if (! empty($multi_edit_funcs[$key])) { - $current_value = "'" . $GLOBALS['dbi']->escapeString($current_value) - . "'"; - } else { - // c o l u m n v a l u e i n t h e f o r m - if (isset($multi_edit_columns_type[$key])) { - $type = $multi_edit_columns_type[$key]; - } else { - $type = ''; - } - - if ($type != 'protected' && $type != 'set' && strlen($current_value) === 0) { - // best way to avoid problems in strict mode - // (works also in non-strict mode) - if (isset($multi_edit_auto_increment) - && isset($multi_edit_auto_increment[$key]) - ) { - $current_value = 'NULL'; - } else { - $current_value = "''"; - } - } elseif ($type == 'set') { - if (! empty($_REQUEST['fields']['multi_edit'][$rownumber][$key])) { - $current_value = implode( - ',', $_REQUEST['fields']['multi_edit'][$rownumber][$key] - ); - $current_value = "'" - . $GLOBALS['dbi']->escapeString($current_value) . "'"; - } else { - $current_value = "''"; - } - } elseif ($type == 'protected') { - // here we are in protected mode (asked in the config) - // so tbl_change has put this special value in the - // columns array, so we do not change the column value - // but we can still handle column upload - - // when in UPDATE mode, do not alter field's contents. When in INSERT - // mode, insert empty field because no values were submitted. - // If protected blobs where set, insert original fields content. - if (! empty($protected_row[$multi_edit_columns_name[$key]])) { - $current_value = '0x' - . bin2hex($protected_row[$multi_edit_columns_name[$key]]); - } else { - $current_value = ''; - } - } elseif ($type === 'hex') { - $current_value = '0x' . $current_value; - } elseif ($type == 'bit') { - $current_value = preg_replace('/[^01]/', '0', $current_value); - $current_value = "b'" . $GLOBALS['dbi']->escapeString($current_value) - . "'"; - } elseif (! ($type == 'datetime' || $type == 'timestamp') - || $current_value != 'CURRENT_TIMESTAMP' - ) { - $current_value = "'" . $GLOBALS['dbi']->escapeString($current_value) - . "'"; - } - - // Was the Null checkbox checked for this field? - // (if there is a value, we ignore the Null checkbox: this could - // be possible if Javascript is disabled in the browser) - if (! empty($multi_edit_columns_null[$key]) - && ($current_value == "''" || $current_value == '') - ) { - $current_value = 'NULL'; - } - - // The Null checkbox was unchecked for this field - if (empty($current_value) - && ! empty($multi_edit_columns_null_prev[$key]) - && ! isset($multi_edit_columns_null[$key]) - ) { - $current_value = "''"; - } - } // end else (column value in the form) - return $current_value; -} - - -/** - * Check whether inline edited value can be truncated or not, - * and add additional parameters for extra_data array if needed - * - * @param string $db Database name - * @param string $table Table name - * @param string $column_name Column name - * @param array &$extra_data Extra data for ajax response - * - * @return void - */ -function PMA_verifyWhetherValueCanBeTruncatedAndAppendExtraData( - $db, $table, $column_name, &$extra_data -) { - - $extra_data['isNeedToRecheck'] = false; - - $sql_for_real_value = 'SELECT ' . PMA\libraries\Util::backquote($table) . '.' - . PMA\libraries\Util::backquote($column_name) - . ' FROM ' . PMA\libraries\Util::backquote($db) . '.' - . PMA\libraries\Util::backquote($table) - . ' WHERE ' . $_REQUEST['where_clause'][0]; - - $result = $GLOBALS['dbi']->tryQuery($sql_for_real_value); - $fields_meta = $GLOBALS['dbi']->getFieldsMeta($result); - $meta = $fields_meta[0]; - if ($row = $GLOBALS['dbi']->fetchRow($result)) { - $new_value = $row[0]; - if ((substr($meta->type, 0, 9) == 'timestamp') - || ($meta->type == 'datetime') - || ($meta->type == 'time') - ) { - $new_value = PMA\libraries\Util::addMicroseconds($new_value); - } - $extra_data['isNeedToRecheck'] = true; - $extra_data['truncatableFieldValue'] = $new_value; - } - $GLOBALS['dbi']->freeResult($result); -} - -/** - * Function to get the columns of a table - * - * @param string $db current db - * @param string $table current table - * - * @return array - */ -function PMA_getTableColumns($db, $table) -{ - $GLOBALS['dbi']->selectDb($db); - return array_values($GLOBALS['dbi']->getColumns($db, $table, null, true)); - -} - -/** - * Function to determine Insert/Edit rows - * - * @param string $where_clause where clause - * @param string $db current database - * @param string $table current table - * - * @return mixed - */ -function PMA_determineInsertOrEdit($where_clause, $db, $table) -{ - if (isset($_REQUEST['where_clause'])) { - $where_clause = $_REQUEST['where_clause']; - } - if (isset($_SESSION['edit_next'])) { - $where_clause = $_SESSION['edit_next']; - unset($_SESSION['edit_next']); - $after_insert = 'edit_next'; - } - if (isset($_REQUEST['ShowFunctionFields'])) { - $GLOBALS['cfg']['ShowFunctionFields'] = $_REQUEST['ShowFunctionFields']; - } - if (isset($_REQUEST['ShowFieldTypesInDataEditView'])) { - $GLOBALS['cfg']['ShowFieldTypesInDataEditView'] - = $_REQUEST['ShowFieldTypesInDataEditView']; - } - if (isset($_REQUEST['after_insert'])) { - $after_insert = $_REQUEST['after_insert']; - } - - if (isset($where_clause)) { - // we are editing - $insert_mode = false; - $where_clause_array = PMA_getWhereClauseArray($where_clause); - list($where_clauses, $result, $rows, $found_unique_key) - = PMA_analyzeWhereClauses( - $where_clause_array, $table, $db - ); - } else { - // we are inserting - $insert_mode = true; - $where_clause = null; - list($result, $rows) = PMA_loadFirstRow($table, $db); - $where_clauses = null; - $where_clause_array = array(); - $found_unique_key = false; - } - - // Copying a row - fetched data will be inserted as a new row, - // therefore the where clause is needless. - if (isset($_REQUEST['default_action']) - && $_REQUEST['default_action'] === 'insert' - ) { - $where_clause = $where_clauses = null; - } - - return array( - $insert_mode, $where_clause, $where_clause_array, $where_clauses, - $result, $rows, $found_unique_key, - isset($after_insert) ? $after_insert : null - ); -} - -/** - * Function to get comments for the table columns - * - * @param string $db current database - * @param string $table current table - * - * @return array $comments_map comments for columns - */ -function PMA_getCommentsMap($db, $table) -{ - $comments_map = array(); - - if ($GLOBALS['cfg']['ShowPropertyComments']) { - $comments_map = PMA_getComments($db, $table); - } - - return $comments_map; -} - -/** - * Function to get URL parameters - * - * @param string $db current database - * @param string $table current table - * - * @return array $url_params url parameters - */ -function PMA_getUrlParameters($db, $table) -{ - /** - * @todo check if we could replace by "db_|tbl_" - please clarify!? - */ - $url_params = array( - 'db' => $db, - 'sql_query' => $_REQUEST['sql_query'] - ); - - if (preg_match('@^tbl_@', $GLOBALS['goto'])) { - $url_params['table'] = $table; - } - - return $url_params; -} - -/** - * Function to get html for the gis editor div - * - * @return string - */ -function PMA_getHtmlForGisEditor() -{ - return '
' - . '' - . '
'; -} - -/** - * Function to get html for the ignore option in insert mode - * - * @param int $row_id row id - * @param bool $checked ignore option is checked or not - * - * @return string - */ -function PMA_getHtmlForIgnoreOption($row_id, $checked = true) -{ - return '' - . '
' . "\n"; -} - -/** - * Function to get html for the function option - * - * @param array $column column - * @param string $column_name_appendix column name appendix - * - * @return String - */ -function PMA_getHtmlForFunctionOption($column, $column_name_appendix) -{ - return '' - . ''; - -} - -/** - * Function to get html for the column type - * - * @param array $column column - * - * @return string - */ -function PMA_getHtmlForInsertEditColumnType($column) -{ - return ''; - -} - -/** - * Function to get html for the insert edit form header - * - * @param bool $has_blob_field whether has blob field - * @param bool $is_upload whether is upload - * - * @return string - */ -function PMA_getHtmlForInsertEditFormHeader($has_blob_field, $is_upload) -{ - $html_output ='fieldLen( - $current_result, $column_number - ); - // length is unknown for geometry fields, - // make enough space to edit very simple WKTs - if (-1 === $column['len']) { - $column['len'] = 30; - } - } - //Call validation when the form submitted... - $onChangeClause = $chg_evt_handler - . "=\"return verificationsAfterFieldChange('" - . Sanitize::escapeJsString($column['Field_md5']) . "', '" - . Sanitize::escapeJsString($jsvkey) . "','" . $column['pma_type'] . "')\""; - - // Use an MD5 as an array index to avoid having special characters - // in the name attribute (see bug #1746964 ) - $column_name_appendix = $vkey . '[' . $column['Field_md5'] . ']'; - - if ($column['Type'] === 'datetime' - && ! isset($column['Default']) - && ! is_null($column['Default']) - && $insert_mode - ) { - $column['Default'] = date('Y-m-d H:i:s', time()); - } - - $html_output = PMA_getHtmlForFunctionOption( - $column, $column_name_appendix - ); - - if ($GLOBALS['cfg']['ShowFieldTypesInDataEditView']) { - $html_output .= PMA_getHtmlForInsertEditColumnType($column); - } //End if - - // Get a list of GIS data types. - $gis_data_types = PMA\libraries\Util::getGISDatatypes(); - - // Prepares the field value - $real_null_value = false; - $special_chars_encoded = ''; - if (!empty($current_row)) { - // (we are editing) - list( - $real_null_value, $special_chars_encoded, $special_chars, - $data, $backup_field - ) - = PMA_getSpecialCharsAndBackupFieldForExistingRow( - $current_row, $column, $extracted_columnspec, - $real_null_value, $gis_data_types, $column_name_appendix, $as_is - ); - } else { - // (we are inserting) - // display default values - $tmp = $column; - if (isset($repopulate[$column['Field_md5']])) { - $tmp['Default'] = $repopulate[$column['Field_md5']]; - } - list($real_null_value, $data, $special_chars, $backup_field, - $special_chars_encoded - ) - = PMA_getSpecialCharsAndBackupFieldForInsertingMode( - $tmp, $real_null_value - ); - unset($tmp); - } - - $idindex = ($o_rows * $columns_cnt) + $column_number + 1; - $tabindex = $idindex; - - // Get a list of data types that are not yet supported. - $no_support_types = PMA\libraries\Util::unsupportedDatatypes(); - - // The function column - // ------------------- - $foreignData = PMA_getForeignData( - $foreigners, $column['Field'], false, '', '' - ); - if ($GLOBALS['cfg']['ShowFunctionFields']) { - $html_output .= PMA_getFunctionColumn( - $column, $is_upload, $column_name_appendix, - $onChangeClause, $no_support_types, $tabindex_for_function, - $tabindex, $idindex, $insert_mode, $readOnly, $foreignData - ); - } - - // The null column - // --------------- - $html_output .= PMA_getNullColumn( - $column, $column_name_appendix, $real_null_value, - $tabindex, $tabindex_for_null, $idindex, $vkey, $foreigners, - $foreignData, $readOnly - ); - - // The value column (depends on type) - // ---------------- - // See bug #1667887 for the reason why we don't use the maxlength - // HTML attribute - - //add data attributes "no of decimals" and "data type" - $no_decimals = 0; - $type = current(explode("(", $column['pma_type'])); - if (preg_match('/\(([^()]+)\)/', $column['pma_type'], $match)) { - $match[0] = trim($match[0], '()'); - $no_decimals = $match[0]; - } - $html_output .= '' . "\n"; - // Will be used by js/tbl_change.js to set the default value - // for the "Continue insertion" feature - $html_output .= '' - . $special_chars . ''; - - // Check input transformation of column - $transformed_html = ''; - if (!empty($column_mime['input_transformation'])) { - $file = $column_mime['input_transformation']; - $include_file = 'libraries/plugins/transformations/' . $file; - if (is_file($include_file)) { - include_once $include_file; - $class_name = PMA_getTransformationClassName($include_file); - $transformation_plugin = new $class_name(); - $transformation_options = PMA_Transformation_getOptions( - $column_mime['input_transformation_options'] - ); - $_url_params = array( - 'db' => $db, - 'table' => $table, - 'transform_key' => $column['Field'], - 'where_clause' => $where_clause - ); - $transformation_options['wrapper_link'] - = URL::getCommon($_url_params); - $current_value = ''; - if (isset($current_row[$column['Field']])) { - $current_value = $current_row[$column['Field']]; - } - if (method_exists($transformation_plugin, 'getInputHtml')) { - $transformed_html = $transformation_plugin->getInputHtml( - $column, $row_id, $column_name_appendix, - $transformation_options, $current_value, $text_dir, - $tabindex, $tabindex_for_value, $idindex - ); - } - if (method_exists($transformation_plugin, 'getScripts')) { - $GLOBALS['plugin_scripts'] = array_merge( - $GLOBALS['plugin_scripts'], $transformation_plugin->getScripts() - ); - } - } - } - if (!empty($transformed_html)) { - $html_output .= $transformed_html; - } else { - $html_output .= PMA_getValueColumn( - $column, $backup_field, $column_name_appendix, $onChangeClause, - $tabindex, $tabindex_for_value, $idindex, $data, $special_chars, - $foreignData, array($table, $db), $row_id, $titles, - $text_dir, $special_chars_encoded, $vkey, $is_upload, - $biggest_max_file_size, $default_char_editing, - $no_support_types, $gis_data_types, $extracted_columnspec, $readOnly - ); - } - return $html_output; -} - -/** - * Function to get html for each insert/edit row - * - * @param array $url_params url parameters - * @param array $table_columns table columns - * @param array $comments_map comments map - * @param bool $timestamp_seen whether timestamp seen - * @param array $current_result current result - * @param string $chg_evt_handler javascript change event handler - * @param string $jsvkey javascript validation key - * @param string $vkey validation key - * @param bool $insert_mode whether insert mode - * @param array $current_row current row - * @param int &$o_rows row offset - * @param int &$tabindex tab index - * @param int $columns_cnt columns count - * @param bool $is_upload whether upload - * @param int $tabindex_for_function tab index offset for function - * @param array $foreigners foreigners - * @param int $tabindex_for_null tab index offset for null - * @param int $tabindex_for_value tab index offset for value - * @param string $table table - * @param string $db database - * @param int $row_id row id - * @param array $titles titles - * @param int $biggest_max_file_size biggest max file size - * @param string $text_dir text direction - * @param array $repopulate the data to be repopulated - * @param array $where_clause_array the array of where clauses - * - * @return string - */ -function PMA_getHtmlForInsertEditRow($url_params, $table_columns, - $comments_map, $timestamp_seen, $current_result, $chg_evt_handler, - $jsvkey, $vkey, $insert_mode, $current_row, &$o_rows, &$tabindex, $columns_cnt, - $is_upload, $tabindex_for_function, $foreigners, $tabindex_for_null, - $tabindex_for_value, $table, $db, $row_id, $titles, - $biggest_max_file_size, $text_dir, $repopulate, $where_clause_array -) { - $html_output = PMA_getHeadAndFootOfInsertRowTable($url_params) - . ''; - - //store the default value for CharEditing - $default_char_editing = $GLOBALS['cfg']['CharEditing']; - $mime_map = PMA_getMIME($db, $table); - $where_clause = ''; - if (isset($where_clause_array[$row_id])) { - $where_clause = $where_clause_array[$row_id]; - } - for ($column_number = 0; $column_number < $columns_cnt; $column_number++) { - $table_column = $table_columns[$column_number]; - $column_mime = array(); - if (isset($mime_map[$table_column['Field']])) { - $column_mime = $mime_map[$table_column['Field']]; - } - $html_output .= PMA_getHtmlForInsertEditFormColumn( - $table_columns, $column_number, $comments_map, $timestamp_seen, - $current_result, $chg_evt_handler, $jsvkey, $vkey, $insert_mode, - $current_row, $o_rows, $tabindex, $columns_cnt, $is_upload, - $tabindex_for_function, $foreigners, $tabindex_for_null, - $tabindex_for_value, $table, $db, $row_id, $titles, - $biggest_max_file_size, $default_char_editing, $text_dir, $repopulate, - $column_mime, $where_clause - ); - } // end for - $o_rows++; - $html_output .= ' ' - . '
' . __('Column') . '' . __('Null') . '' . __('Value') . '
' - . '' - . '
' - . $column['Field_title'] - . '' - . '' - . '' . $column['pma_type'] . '' - . '

' - . '
'; - - return $html_output; -} - -/** - * Returns whether the user has necessary insert/update privileges for the column - * - * @param array $table_column array of column details - * @param bool $insert_mode whether on insert mode - * - * @return boolean whether user has necessary privileges - */ -function PMA_userHasColumnPrivileges($table_column, $insert_mode) -{ - $privileges = $table_column['Privileges']; - return ($insert_mode && strstr($privileges, 'insert') !== false) - || (! $insert_mode && strstr($privileges, 'update') !== false); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ip_allow_deny.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ip_allow_deny.lib.php deleted file mode 100644 index 85fb82cf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ip_allow_deny.lib.php +++ /dev/null @@ -1,301 +0,0 @@ - -1 - || mb_strpos($ipToTest, ':') > -1 - ) { - // assume IPv6 - $result = PMA_ipv6MaskTest($testRange, $ipToTest); - } else { - $result = PMA_ipv4MaskTest($testRange, $ipToTest); - } - - return $result; -} // end of the "PMA_ipMaskTest()" function - - -/** - * Based on IP Pattern Matcher - * Originally by J.Adams - * Found on - * Modified for phpMyAdmin - * - * Matches: - * xxx.xxx.xxx.xxx (exact) - * xxx.xxx.xxx.[yyy-zzz] (range) - * xxx.xxx.xxx.xxx/nn (CIDR) - * - * Does not match: - * xxx.xxx.xxx.xx[yyy-zzz] (range, partial octets not supported) - * - * @param string $testRange string of IP range to match - * @param string $ipToTest string of IP to test against range - * - * @return boolean whether the IP mask matches - * - * @access public - */ -function PMA_ipv4MaskTest($testRange, $ipToTest) -{ - $result = true; - $match = preg_match( - '|([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/([0-9]+)|', - $testRange, - $regs - ); - if ($match) { - // performs a mask match - $ipl = ip2long($ipToTest); - $rangel = ip2long( - $regs[1] . '.' . $regs[2] . '.' . $regs[3] . '.' . $regs[4] - ); - - $maskl = 0; - - for ($i = 0; $i < 31; $i++) { - if ($i < $regs[5] - 1) { - $maskl = $maskl + pow(2, (30 - $i)); - } // end if - } // end for - - if (($maskl & $rangel) == ($maskl & $ipl)) { - return true; - } - - return false; - } - - // range based - $maskocts = explode('.', $testRange); - $ipocts = explode('.', $ipToTest); - - // perform a range match - for ($i = 0; $i < 4; $i++) { - if (preg_match('|\[([0-9]+)\-([0-9]+)\]|', $maskocts[$i], $regs)) { - if (($ipocts[$i] > $regs[2]) || ($ipocts[$i] < $regs[1])) { - $result = false; - } // end if - } else { - if ($maskocts[$i] <> $ipocts[$i]) { - $result = false; - } // end if - } // end if/else - } //end for - - return $result; -} // end of the "PMA_ipv4MaskTest()" function - - -/** - * IPv6 matcher - * CIDR section taken from https://stackoverflow.com/a/10086404 - * Modified for phpMyAdmin - * - * Matches: - * xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx - * (exact) - * xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:[yyyy-zzzz] - * (range, only at end of IP - no subnets) - * xxxx:xxxx:xxxx:xxxx/nn - * (CIDR) - * - * Does not match: - * xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx[yyy-zzz] - * (range, partial octets not supported) - * - * @param string $test_range string of IP range to match - * @param string $ip_to_test string of IP to test against range - * - * @return boolean whether the IP mask matches - * - * @access public - */ -function PMA_ipv6MaskTest($test_range, $ip_to_test) -{ - $result = true; - - // convert to lowercase for easier comparison - $test_range = mb_strtolower($test_range); - $ip_to_test = mb_strtolower($ip_to_test); - - $is_cidr = mb_strpos($test_range, '/') > -1; - $is_range = mb_strpos($test_range, '[') > -1; - $is_single = ! $is_cidr && ! $is_range; - - $ip_hex = bin2hex(inet_pton($ip_to_test)); - - if ($is_single) { - $range_hex = bin2hex(inet_pton($test_range)); - $result = hash_equals($ip_hex, $range_hex); - return $result; - } - - if ($is_range) { - // what range do we operate on? - $range_match = array(); - $match = preg_match( - '/\[([0-9a-f]+)\-([0-9a-f]+)\]/', $test_range, $range_match - ); - if ($match) { - $range_start = $range_match[1]; - $range_end = $range_match[2]; - - // get the first and last allowed IPs - $first_ip = str_replace($range_match[0], $range_start, $test_range); - $first_hex = bin2hex(inet_pton($first_ip)); - $last_ip = str_replace($range_match[0], $range_end, $test_range); - $last_hex = bin2hex(inet_pton($last_ip)); - - // check if the IP to test is within the range - $result = ($ip_hex >= $first_hex && $ip_hex <= $last_hex); - } - return $result; - } - - if ($is_cidr) { - // Split in address and prefix length - list($first_ip, $subnet) = explode('/', $test_range); - - // Parse the address into a binary string - $first_bin = inet_pton($first_ip); - $first_hex = bin2hex($first_bin); - - $flexbits = 128 - $subnet; - - // Build the hexadecimal string of the last address - $last_hex = $first_hex; - - $pos = 31; - while ($flexbits > 0) { - // Get the character at this position - $orig = mb_substr($last_hex, $pos, 1); - - // Convert it to an integer - $origval = hexdec($orig); - - // OR it with (2^flexbits)-1, with flexbits limited to 4 at a time - $newval = $origval | (pow(2, min(4, $flexbits)) - 1); - - // Convert it back to a hexadecimal character - $new = dechex($newval); - - // And put that character back in the string - $last_hex = substr_replace($last_hex, $new, $pos, 1); - - // We processed one nibble, move to previous position - $flexbits -= 4; - --$pos; - } - - // check if the IP to test is within the range - $result = ($ip_hex >= $first_hex && $ip_hex <= $last_hex); - } - - return $result; -} // end of the "PMA_ipv6MaskTest()" function - - -/** - * Runs through IP Allow/Deny rules the use of it below for more information - * - * @param string $type 'allow' | 'deny' type of rule to match - * - * @return bool Whether rule has matched - * - * @access public - * - * @see PMA_getIp() - */ -function PMA_allowDeny($type) -{ - global $cfg; - - // Grabs true IP of the user and returns if it can't be found - $remote_ip = PMA_getIp(); - if (empty($remote_ip)) { - return false; - } - - // copy username - $username = $cfg['Server']['user']; - - // copy rule database - if (isset($cfg['Server']['AllowDeny']['rules'])) { - $rules = $cfg['Server']['AllowDeny']['rules']; - if (! is_array($rules)) { - $rules = array(); - } - } else { - $rules = array(); - } - - // lookup table for some name shortcuts - $shortcuts = array( - 'all' => '0.0.0.0/0', - 'localhost' => '127.0.0.1/8' - ); - - // Provide some useful shortcuts if server gives us address: - if (PMA_getenv('SERVER_ADDR')) { - $shortcuts['localnetA'] = PMA_getenv('SERVER_ADDR') . '/8'; - $shortcuts['localnetB'] = PMA_getenv('SERVER_ADDR') . '/16'; - $shortcuts['localnetC'] = PMA_getenv('SERVER_ADDR') . '/24'; - } - - foreach ($rules as $rule) { - // extract rule data - $rule_data = explode(' ', $rule); - - // check for rule type - if ($rule_data[0] != $type) { - continue; - } - - // check for username - if (($rule_data[1] != '%') //wildcarded first - && (! hash_equals($rule_data[1], $username)) - ) { - continue; - } - - // check if the config file has the full string with an extra - // 'from' in it and if it does, just discard it - if ($rule_data[2] == 'from') { - $rule_data[2] = $rule_data[3]; - } - - // Handle shortcuts with above array - if (isset($shortcuts[$rule_data[2]])) { - $rule_data[2] = $shortcuts[$rule_data[2]]; - } - - // Add code for host lookups here - // Excluded for the moment - - // Do the actual matching now - if (PMA_ipMaskTest($rule_data[2], $remote_ip)) { - return true; - } - } // end while - - return false; -} // end of the "PMA_AllowDeny()" function - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/language_stats.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/language_stats.inc.php deleted file mode 100644 index c2b314f5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/language_stats.inc.php +++ /dev/null @@ -1,92 +0,0 @@ - 8, - 'ar' => 34, - 'az' => 53, - 'be' => 24, - 'be@latin' => 23, - 'bg' => 62, - 'bn' => 73, - 'br' => 17, - 'brx' => 0, - 'bs' => 12, - 'ca' => 100, - 'ckb' => 31, - 'cs' => 93, - 'cy' => 17, - 'da' => 94, - 'de' => 100, - 'el' => 100, - 'en_GB' => 78, - 'eo' => 15, - 'es' => 100, - 'et' => 100, - 'eu' => 15, - 'fa' => 24, - 'fi' => 69, - 'fil' => 0, - 'fr' => 100, - 'fy' => 19, - 'gl' => 84, - 'gu' => 0, - 'he' => 16, - 'hi' => 38, - 'hr' => 28, - 'hu' => 98, - 'hy' => 65, - 'ia' => 75, - 'id' => 70, - 'ig' => 2, - 'it' => 100, - 'ja' => 71, - 'ka' => 13, - 'kab' => 0, - 'kk' => 9, - 'km' => 5, - 'kn' => 4, - 'ko' => 81, - 'ksh' => 0, - 'ky' => 1, - 'li' => 1, - 'lt' => 42, - 'lv' => 18, - 'mk' => 17, - 'ml' => 1, - 'mn' => 20, - 'ms' => 10, - 'nb' => 57, - 'ne' => 1, - 'nl' => 100, - 'pa' => 3, - 'pl' => 82, - 'pt' => 54, - 'pt_BR' => 93, - 'ro' => 53, - 'ru' => 96, - 'si' => 59, - 'sk' => 82, - 'sl' => 100, - 'sq' => 97, - 'sr' => 22, - 'sr@latin' => 44, - 'sv' => 96, - 'ta' => 34, - 'te' => 9, - 'th' => 30, - 'tk' => 0, - 'tr' => 100, - 'tt' => 16, - 'ug' => 10, - 'uk' => 99, - 'ur' => 17, - 'uz' => 32, - 'uz@latin' => 32, - 'vi' => 84, - 'vls' => 2, - 'zh_CN' => 87, - 'zh_TW' => 100, -); -?> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/mime.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/mime.lib.php deleted file mode 100644 index f1a7757a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/mime.lib.php +++ /dev/null @@ -1,30 +0,0 @@ -= 2 && $test[0] == chr(0xff) && $test[1] == chr(0xd8)) { - return 'image/jpeg'; - } - if ($len >= 3 && substr($test, 0, 3) == 'GIF') { - return 'image/gif'; - } - if ($len >= 4 && mb_substr($test, 0, 4) == "\x89PNG") { - return 'image/png'; - } - return 'application/octet-stream'; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/mult_submits.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/mult_submits.lib.php deleted file mode 100644 index 77da42d5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/mult_submits.lib.php +++ /dev/null @@ -1,578 +0,0 @@ - $what, - 'reload' => (! empty($reload) ? 1 : 0), - ); - if (mb_strpos(' ' . $action, 'db_') == 1) { - $_url_params['db']= $db; - } elseif (mb_strpos(' ' . $action, 'tbl_') == 1 - || $what == 'row_delete' - ) { - $_url_params['db']= $db; - $_url_params['table']= $table; - } - foreach ($selected as $sval) { - if ($what == 'row_delete') { - $_url_params['selected'][] = 'DELETE FROM ' - . PMA\libraries\Util::backquote($table) - . ' WHERE ' . $sval . ' LIMIT 1;'; - } else { - $_url_params['selected'][] = $sval; - } - } - if ($what == 'drop_tbl' && !empty($views)) { - foreach ($views as $current) { - $_url_params['views'][] = $current; - } - } - if ($what == 'row_delete') { - $_url_params['original_sql_query'] = $original_sql_query; - if (! empty($original_url_query)) { - $_url_params['original_url_query'] = $original_url_query; - } - } - - return $_url_params; -} - -/** - * Builds or execute queries for multiple elements, depending on $query_type - * - * @param string $query_type query type - * @param array $selected selected tables - * @param string $db db name - * @param string $table table name - * @param array $views table views - * @param string $primary table primary - * @param string $from_prefix from prefix original - * @param string $to_prefix to prefix original - * - * @return array - */ -function PMA_buildOrExecuteQueryForMulti( - $query_type, $selected, $db, $table, $views, $primary, - $from_prefix, $to_prefix -) { - $rebuild_database_list = false; - $reload = null; - $a_query = null; - $sql_query = ''; - $sql_query_views = null; - // whether to run query after each pass - $run_parts = false; - // whether to execute the query at the end (to display results) - $execute_query_later = false; - $result = null; - - if ($query_type == 'drop_tbl') { - $sql_query_views = ''; - } - - $selected_cnt = count($selected); - $deletes = false; - $copy_tbl =false; - - for ($i = 0; $i < $selected_cnt; $i++) { - switch ($query_type) { - case 'row_delete': - $deletes = true; - $a_query = $selected[$i]; - $run_parts = true; - break; - - case 'drop_db': - PMA_relationsCleanupDatabase($selected[$i]); - $a_query = 'DROP DATABASE ' - . PMA\libraries\Util::backquote($selected[$i]); - $reload = 1; - $run_parts = true; - $rebuild_database_list = true; - break; - - case 'drop_tbl': - PMA_relationsCleanupTable($db, $selected[$i]); - $current = $selected[$i]; - if (!empty($views) && in_array($current, $views)) { - $sql_query_views .= (empty($sql_query_views) ? 'DROP VIEW ' : ', ') - . PMA\libraries\Util::backquote($current); - } else { - $sql_query .= (empty($sql_query) ? 'DROP TABLE ' : ', ') - . PMA\libraries\Util::backquote($current); - } - $reload = 1; - break; - - case 'check_tbl': - $sql_query .= (empty($sql_query) ? 'CHECK TABLE ' : ', ') - . PMA\libraries\Util::backquote($selected[$i]); - $execute_query_later = true; - break; - - case 'optimize_tbl': - $sql_query .= (empty($sql_query) ? 'OPTIMIZE TABLE ' : ', ') - . PMA\libraries\Util::backquote($selected[$i]); - $execute_query_later = true; - break; - - case 'analyze_tbl': - $sql_query .= (empty($sql_query) ? 'ANALYZE TABLE ' : ', ') - . PMA\libraries\Util::backquote($selected[$i]); - $execute_query_later = true; - break; - - case 'checksum_tbl': - $sql_query .= (empty($sql_query) ? 'CHECKSUM TABLE ' : ', ') - . PMA\libraries\Util::backquote($selected[$i]); - $execute_query_later = true; - break; - - case 'repair_tbl': - $sql_query .= (empty($sql_query) ? 'REPAIR TABLE ' : ', ') - . PMA\libraries\Util::backquote($selected[$i]); - $execute_query_later = true; - break; - - case 'empty_tbl': - $deletes = true; - $a_query = 'TRUNCATE '; - $a_query .= PMA\libraries\Util::backquote($selected[$i]); - $run_parts = true; - break; - - case 'drop_fld': - PMA_relationsCleanupColumn($db, $table, $selected[$i]); - $sql_query .= (empty($sql_query) - ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) - : ',') - . ' DROP ' . PMA\libraries\Util::backquote($selected[$i]) - . (($i == $selected_cnt-1) ? ';' : ''); - break; - - case 'primary_fld': - $sql_query .= (empty($sql_query) - ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) - . (empty($primary) - ? '' - : ' DROP PRIMARY KEY,') . ' ADD PRIMARY KEY( ' - : ', ') - . PMA\libraries\Util::backquote($selected[$i]) - . (($i == $selected_cnt-1) ? ');' : ''); - break; - - case 'index_fld': - $sql_query .= (empty($sql_query) - ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) - . ' ADD INDEX( ' - : ', ') - . PMA\libraries\Util::backquote($selected[$i]) - . (($i == $selected_cnt-1) ? ');' : ''); - break; - - case 'unique_fld': - $sql_query .= (empty($sql_query) - ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) - . ' ADD UNIQUE( ' - : ', ') - . PMA\libraries\Util::backquote($selected[$i]) - . (($i == $selected_cnt-1) ? ');' : ''); - break; - - case 'spatial_fld': - $sql_query .= (empty($sql_query) - ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) - . ' ADD SPATIAL( ' - : ', ') - . PMA\libraries\Util::backquote($selected[$i]) - . (($i == $selected_cnt-1) ? ');' : ''); - break; - - case 'fulltext_fld': - $sql_query .= (empty($sql_query) - ? 'ALTER TABLE ' . PMA\libraries\Util::backquote($table) - . ' ADD FULLTEXT( ' - : ', ') - . PMA\libraries\Util::backquote($selected[$i]) - . (($i == $selected_cnt-1) ? ');' : ''); - break; - - case 'add_prefix_tbl': - $newtablename = $_POST['add_prefix'] . $selected[$i]; - // ADD PREFIX TO TABLE NAME - $a_query = 'ALTER TABLE ' - . PMA\libraries\Util::backquote($selected[$i]) - . ' RENAME ' - . PMA\libraries\Util::backquote($newtablename); - $run_parts = true; - break; - - case 'replace_prefix_tbl': - $current = $selected[$i]; - $subFromPrefix = mb_substr( - $current, - 0, - mb_strlen($from_prefix) - ); - if ($subFromPrefix == $from_prefix) { - $newtablename = $to_prefix - . mb_substr( - $current, - mb_strlen($from_prefix) - ); - } else { - $newtablename = $current; - } - // CHANGE PREFIX PATTERN - $a_query = 'ALTER TABLE ' - . PMA\libraries\Util::backquote($selected[$i]) - . ' RENAME ' - . PMA\libraries\Util::backquote($newtablename); - $run_parts = true; - break; - - case 'copy_tbl_change_prefix': - $run_parts = true; - $copy_tbl = true; - - $current = $selected[$i]; - $newtablename = $to_prefix . - mb_substr($current, mb_strlen($from_prefix)); - - // COPY TABLE AND CHANGE PREFIX PATTERN - Table::moveCopy( - $db, $current, $db, $newtablename, - 'data', false, 'one_table' - ); - break; - - case 'copy_tbl': - $run_parts = true; - $copy_tbl = true; - Table::moveCopy($db, $selected[$i], $_POST['target_db'], $selected[$i], $_POST['what'], false, 'one_table'); - if (isset($_POST['adjust_privileges']) && !empty($_POST['adjust_privileges'])) { - include_once 'operations.lib.php'; - PMA_AdjustPrivileges_copyTable($db, $selected[$i], $_POST['target_db'], $selected[$i]); - } - break; - } // end switch - - // All "DROP TABLE", "DROP FIELD", "OPTIMIZE TABLE" and "REPAIR TABLE" - // statements will be run at once below - if ($run_parts && !$copy_tbl) { - $sql_query .= $a_query . ';' . "\n"; - if ($query_type != 'drop_db') { - $GLOBALS['dbi']->selectDb($db); - } - $result = $GLOBALS['dbi']->query($a_query); - - if ($query_type == 'drop_db') { - PMA_clearTransformations($selected[$i]); - } elseif ($query_type == 'drop_tbl') { - PMA_clearTransformations($db, $selected[$i]); - } else if ($query_type == 'drop_fld') { - PMA_clearTransformations($db, $table, $selected[$i]); - } - } // end if - } // end for - - if ($deletes && ! empty($_REQUEST['pos'])) { - $_REQUEST['pos'] = PMA_calculatePosForLastPage( - $db, $table, isset($_REQUEST['pos']) ? $_REQUEST['pos'] : null - ); - } - - return array( - $result, $rebuild_database_list, $reload, - $run_parts, $execute_query_later, $sql_query, $sql_query_views - ); -} - -/** - * Gets HTML for copy tables form - * - * @param string $action action type - * @param array $_url_params URL params - * - * @return string - */ -function PMA_getHtmlForCopyMultipleTables($action, $_url_params) -{ - $html = ''; - $html .= URL::getHiddenInputs($_url_params); - $html .= '
'; - $databases_list = $GLOBALS['dblist']->databases; - foreach ($databases_list as $key => $db_name) - if ($db_name == $GLOBALS['db']){ - $databases_list->offsetUnset($key); - break; - } - $html .= ''; - $html .= ''; - $html .= '

'; - $html .= '
'; - $html .= ''; - $html .= '
'; - $html .= ''; - $html .= '
'; - $html .= ''; - $html .= '

'; - $html .= ''; - $html .= '
'; - $html .= ''; - $html .= '
'; - $html .= ''; - $html .= '

'; - $html .= ''; - $html .= ''; - $html .= '
'; - $html .= ''; - $html .= ''; - return $html; -} - -/** - * Gets HTML for replace_prefix_tbl or copy_tbl_change_prefix - * - * @param string $action action type - * @param array $_url_params URL params - * - * @return string - */ -function PMA_getHtmlForReplacePrefixTable($action, $_url_params) -{ - $html = '
'; - $html .= URL::getHiddenInputs($_url_params); - $html .= '
'; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= '
' . __('From') . ''; - $html .= ''; - $html .= '
' . __('To') . ''; - $html .= ''; - $html .= '
'; - $html .= '
'; - $html .= ''; - $html .= '
'; - - return $html; -} - -/** - * Gets HTML for add_prefix_tbl - * - * @param string $action action type - * @param array $_url_params URL params - * - * @return string - */ -function PMA_getHtmlForAddPrefixTable($action, $_url_params) -{ - $html = '
'; - $html .= URL::getHiddenInputs($_url_params); - $html .= '
'; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= '
' . __('Add prefix') . ''; - $html .= ''; - $html .= '
'; - $html .= '
'; - $html .= ''; - $html .= '
'; - - return $html; -} - -/** - * Gets HTML for other mult_submits actions - * - * @param string $what mult_submit type - * @param string $action action type - * @param array $_url_params URL params - * @param string $full_query full sql query string - * - * @return string - */ -function PMA_getHtmlForOtherActions($what, $action, $_url_params, $full_query) -{ - $html = '
'; - $html .= URL::getHiddenInputs($_url_params); - $html .= '
'; - $html .= ''; - if ($what == 'drop_db') { - $html .= __('You are about to DESTROY a complete database!') . ' '; - } - $html .= __('Do you really want to execute the following query?'); - $html .= ''; - $html .= ''; - $html .= ''; - $html .= '' . $full_query . ''; - $html .= '
'; - $html .= '
'; - // Display option to disable foreign key checks while dropping tables - if ($what === 'drop_tbl' || $what === 'empty_tbl' || $what === 'row_delete') { - $html .= '
'; - $html .= PMA\libraries\Util::getFKCheckbox(); - $html .= '
'; - } - $html .= ''; - $html .= ''; - $html .= '
'; - $html .= '
'; - - return $html; -} - -/** - * Get query string from Selected - * - * @param string $what mult_submit type - * @param string $table table name - * @param array $selected the selected columns - * @param array $views table views - * - * @return array - */ -function PMA_getQueryFromSelected($what, $table, $selected, $views) -{ - $reload = false; - $full_query_views = null; - $full_query = ''; - - if ($what == 'drop_tbl') { - $full_query_views = ''; - } - - $selected_cnt = count($selected); - $i = 0; - foreach ($selected as $sval) { - switch ($what) { - case 'row_delete': - $full_query .= 'DELETE FROM ' - . PMA\libraries\Util::backquote(htmlspecialchars($table)) - // Do not append a "LIMIT 1" clause here - // (it's not binlog friendly). - // We don't need the clause because the calling panel permits - // this feature only when there is a unique index. - . ' WHERE ' . htmlspecialchars($sval) - . ';
'; - break; - case 'drop_db': - $full_query .= 'DROP DATABASE ' - . PMA\libraries\Util::backquote(htmlspecialchars($sval)) - . ';
'; - $reload = true; - break; - - case 'drop_tbl': - $current = $sval; - if (!empty($views) && in_array($current, $views)) { - $full_query_views .= (empty($full_query_views) ? 'DROP VIEW ' : ', ') - . PMA\libraries\Util::backquote(htmlspecialchars($current)); - } else { - $full_query .= (empty($full_query) ? 'DROP TABLE ' : ', ') - . PMA\libraries\Util::backquote(htmlspecialchars($current)); - } - break; - - case 'empty_tbl': - $full_query .= 'TRUNCATE '; - $full_query .= PMA\libraries\Util::backquote(htmlspecialchars($sval)) - . ';
'; - break; - - case 'primary_fld': - if ($full_query == '') { - $full_query .= 'ALTER TABLE ' - . PMA\libraries\Util::backquote(htmlspecialchars($table)) - . '
  DROP PRIMARY KEY,' - . '
   ADD PRIMARY KEY(' - . '
     ' - . PMA\libraries\Util::backquote(htmlspecialchars($sval)) - . ','; - } else { - $full_query .= '
     ' - . PMA\libraries\Util::backquote(htmlspecialchars($sval)) - . ','; - } - if ($i == $selected_cnt-1) { - $full_query = preg_replace('@,$@', ');
', $full_query); - } - break; - - case 'drop_fld': - if ($full_query == '') { - $full_query .= 'ALTER TABLE ' - . PMA\libraries\Util::backquote(htmlspecialchars($table)); - } - $full_query .= '
  DROP ' - . PMA\libraries\Util::backquote(htmlspecialchars($sval)) - . ','; - if ($i == $selected_cnt - 1) { - $full_query = preg_replace('@,$@', ';
', $full_query); - } - break; - } // end switch - $i++; - } - - if ($what == 'drop_tbl') { - if (!empty($full_query)) { - $full_query .= ';
' . "\n"; - } - if (!empty($full_query_views)) { - $full_query .= $full_query_views . ';
' . "\n"; - } - unset($full_query_views); - } - - $full_query_views = isset($full_query_views)? $full_query_views : null; - - return array($full_query, $reload, $full_query_views); -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/navigation/NavigationHeader.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/navigation/NavigationHeader.php deleted file mode 100644 index 65839a65..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/navigation/NavigationHeader.php +++ /dev/null @@ -1,253 +0,0 @@ - true, - ) - ); - $class = ' class="list_container'; - if ($GLOBALS['cfg']['NavigationLinkWithMainPanel']) { - $class .= ' synced'; - } - if ($GLOBALS['cfg']['NavigationTreePointerEnable']) { - $class .= ' highlight'; - } - $class .= '"'; - $buffer = '
'; - $buffer .= '
'; - $buffer .= '
'; - $buffer .= '
'; - $buffer .= '
'; - $buffer .= sprintf( - '', - $link_url - ); - $buffer .= $this->_logo(); - $buffer .= $this->_links(); - $buffer .= $this->_serverChoice(); - $buffer .= PMA\libraries\Util::getImage( - 'ajax_clock_small.gif', - __('Loading…'), - array( - 'style' => 'visibility: hidden; display:none', - 'class' => 'throbber', - ) - ); - $buffer .= '
'; // pma_navigation_header - $buffer .= '
'; - - return $buffer; - } - - /** - * Create the code for displaying the phpMyAdmin - * logo based on configuration settings - * - * @return string HTML code for the logo - */ - private function _logo() - { - // display Logo, depending on $GLOBALS['cfg']['NavigationDisplayLogo'] - if (!$GLOBALS['cfg']['NavigationDisplayLogo']) { - return Template::get('navigation/logo') - ->render(array('displayLogo' => false)); - } - - $logo = 'phpMyAdmin'; - if (@file_exists($GLOBALS['pmaThemeImage'] . 'logo_left.png')) { - $logo = ''; - } elseif (@file_exists($GLOBALS['pmaThemeImage'] . 'pma_logo2.png')) { - $logo = ''; - } - - if (!$GLOBALS['cfg']['NavigationLogoLink']) { - return Template::get('navigation/logo') - ->render( - array( - 'displayLogo' => true, - 'useLogoLink' => false, - 'logo' => $logo, - ) - ); - } - - $useLogoLink = true; - $linkAttriks = null; - $logoLink = trim( - htmlspecialchars($GLOBALS['cfg']['NavigationLogoLink']) - ); - // prevent XSS, see PMASA-2013-9 - // if link has protocol, allow only http and https - if (! Sanitize::checkLink($logoLink, true)) { - $logoLink = 'index.php'; - } - switch ($GLOBALS['cfg']['NavigationLogoLinkWindow']) { - case 'new': - $linkAttriks = 'target="_blank" rel="noopener noreferrer"'; - break; - case 'main': - // do not add our parameters for an external link - $host = parse_url( - $GLOBALS['cfg']['NavigationLogoLink'], - PHP_URL_HOST - ); - if (empty($host)) { - $logoLink .= URL::getCommon(); - } else { - $linkAttriks = 'target="_blank" rel="noopener noreferrer"'; - } - } - - return Template::get('navigation/logo') - ->render( - array( - 'displayLogo' => true, - 'useLogoLink' => $useLogoLink, - 'logoLink' => $logoLink, - 'linkAttribs' => $linkAttriks, - 'logo' => $logo, - ) - ); - } - - /** - * Creates the code for displaying the links - * at the top of the navigation panel - * - * @return string HTML code for the links - */ - private function _links() - { - // always iconic - $showIcon = true; - $showText = false; - - $retval = ''; - $retval .= ''; - $retval .= ''; - - return $retval; - } - - /** - * Displays the MySQL servers choice form - * - * @return string HTML code for the MySQL servers choice - */ - private function _serverChoice() - { - $retval = ''; - if ($GLOBALS['cfg']['NavigationDisplayServers'] - && count($GLOBALS['cfg']['Servers']) > 1 - ) { - include_once './libraries/select_server.lib.php'; - $retval .= ''; - $retval .= '
'; - $retval .= PMA_selectServer(true, true); - $retval .= '
'; - $retval .= ''; - } - - return $retval; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/navigation/nodes/Node.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/navigation/nodes/Node.php deleted file mode 100644 index f265fca2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/navigation/nodes/Node.php +++ /dev/null @@ -1,833 +0,0 @@ -name = $name; - $this->real_name = $name; - } - if ($type === Node::CONTAINER) { - $this->type = Node::CONTAINER; - } - $this->is_group = (bool)$is_group; - } - - /** - * Adds a child node to this node - * - * @param Node $child A child node - * - * @return void - */ - public function addChild($child) - { - $this->children[] = $child; - $child->parent = $this; - } - - /** - * Returns a child node given it's name - * - * @param string $name The name of requested child - * @param bool $real_name Whether to use the "real_name" - * instead of "name" in comparisons - * - * @return false|Node The requested child node or false, - * if the requested node cannot be found - */ - public function getChild($name, $real_name = false) - { - if ($real_name) { - foreach ($this->children as $child) { - if ($child->real_name == $name) { - return $child; - } - } - } else { - foreach ($this->children as $child) { - if ($child->name == $name) { - return $child; - } - } - } - - return false; - } - - /** - * Removes a child node from this node - * - * @param string $name The name of child to be removed - * - * @return void - */ - public function removeChild($name) - { - foreach ($this->children as $key => $child) { - if ($child->name == $name) { - unset($this->children[$key]); - break; - } - } - } - - /** - * Retrieves the parents for a node - * - * @param bool $self Whether to include the Node itself in the results - * @param bool $containers Whether to include nodes of type CONTAINER - * @param bool $groups Whether to include nodes which have $group == true - * - * @return array An array of parent Nodes - */ - public function parents($self = false, $containers = false, $groups = false) - { - $parents = array(); - if ($self - && ($this->type != Node::CONTAINER || $containers) - && (!$this->is_group || $groups) - ) { - $parents[] = $this; - } - $parent = $this->parent; - while (isset($parent)) { - if (($parent->type != Node::CONTAINER || $containers) - && (!$parent->is_group || $groups) - ) { - $parents[] = $parent; - } - $parent = $parent->parent; - } - - return $parents; - } - - /** - * Returns the actual parent of a node. If used twice on an index or columns - * node, it will return the table and database nodes. The names of the returned - * nodes can be used in SQL queries, etc... - * - * @return Node|false - */ - public function realParent() - { - $retval = $this->parents(); - if (count($retval) <= 0) { - return false; - } - - return $retval[0]; - } - - /** - * This function checks if the node has children nodes associated with it - * - * @param bool $count_empty_containers Whether to count empty child - * containers as valid children - * - * @return bool Whether the node has child nodes - */ - public function hasChildren($count_empty_containers = true) - { - $retval = false; - if ($count_empty_containers) { - if (count($this->children)) { - $retval = true; - } - } else { - foreach ($this->children as $child) { - if ($child->type == Node::OBJECT || $child->hasChildren(false)) { - $retval = true; - break; - } - } - } - - return $retval; - } - - /** - * Returns true if the node has some siblings (other nodes on the same tree - * level, in the same branch), false otherwise. - * The only exception is for nodes on - * the third level of the tree (columns and indexes), for which the function - * always returns true. This is because we want to render the containers - * for these nodes - * - * @return bool - */ - public function hasSiblings() - { - $retval = false; - $paths = $this->getPaths(); - if (count($paths['aPath_clean']) > 3) { - $retval = true; - - return $retval; - } - - foreach ($this->parent->children as $child) { - if ($child !== $this - && ($child->type == Node::OBJECT || $child->hasChildren(false)) - ) { - $retval = true; - break; - } - } - - return $retval; - } - - /** - * Returns the number of child nodes that a node has associated with it - * - * @return int The number of children nodes - */ - public function numChildren() - { - $retval = 0; - foreach ($this->children as $child) { - if ($child->type == Node::OBJECT) { - $retval++; - } else { - $retval += $child->numChildren(); - } - } - - return $retval; - } - - /** - * Returns the actual path and the virtual paths for a node - * both as clean arrays and base64 encoded strings - * - * @return array - */ - public function getPaths() - { - $aPath = array(); - $aPath_clean = array(); - foreach ($this->parents(true, true, false) as $parent) { - $aPath[] = base64_encode($parent->real_name); - $aPath_clean[] = $parent->real_name; - } - $aPath = implode('.', array_reverse($aPath)); - $aPath_clean = array_reverse($aPath_clean); - - $vPath = array(); - $vPath_clean = array(); - foreach ($this->parents(true, true, true) as $parent) { - $vPath[] = base64_encode($parent->name); - $vPath_clean[] = $parent->name; - } - $vPath = implode('.', array_reverse($vPath)); - $vPath_clean = array_reverse($vPath_clean); - - return array( - 'aPath' => $aPath, - 'aPath_clean' => $aPath_clean, - 'vPath' => $vPath, - 'vPath_clean' => $vPath_clean, - ); - } - - /** - * Returns the names of children of type $type present inside this container - * This method is overridden by the PMA\libraries\navigation\nodes\NodeDatabase and PMA\libraries\navigation\nodes\NodeTable classes - * - * @param string $type The type of item we are looking for - * ('tables', 'views', etc) - * @param int $pos The offset of the list within the results - * @param string $searchClause A string used to filter the results of the query - * - * @return array - */ - public function getData($type, $pos, $searchClause = '') - { - $maxItems = $GLOBALS['cfg']['FirstLevelNavigationItems']; - if (!$GLOBALS['cfg']['NavigationTreeEnableGrouping'] - || !$GLOBALS['cfg']['ShowDatabasesNavigationAsTree'] - ) { - if (isset($GLOBALS['cfg']['Server']['DisableIS']) - && !$GLOBALS['cfg']['Server']['DisableIS'] - ) { - $query = "SELECT `SCHEMA_NAME` "; - $query .= "FROM `INFORMATION_SCHEMA`.`SCHEMATA` "; - $query .= $this->_getWhereClause('SCHEMA_NAME', $searchClause); - $query .= "ORDER BY `SCHEMA_NAME` "; - $query .= "LIMIT $pos, $maxItems"; - $retval = $GLOBALS['dbi']->fetchResult($query); - - return $retval; - } - - if ($GLOBALS['dbs_to_test'] === false) { - $retval = array(); - $query = "SHOW DATABASES "; - $query .= $this->_getWhereClause('Database', $searchClause); - $handle = $GLOBALS['dbi']->tryQuery($query); - if ($handle === false) { - return $retval; - } - - $count = 0; - if (!$GLOBALS['dbi']->dataSeek($handle, $pos)) { - return $retval; - } - - while ($arr = $GLOBALS['dbi']->fetchArray($handle)) { - if ($count < $maxItems) { - $retval[] = $arr[0]; - $count++; - } else { - break; - } - } - - return $retval; - } - - $retval = array(); - $count = 0; - foreach ($this->_getDatabasesToSearch($searchClause) as $db) { - $query = "SHOW DATABASES LIKE '" . $db . "'"; - $handle = $GLOBALS['dbi']->tryQuery($query); - if ($handle === false) { - continue; - } - - while ($arr = $GLOBALS['dbi']->fetchArray($handle)) { - if ($this->_isHideDb($arr[0])) { - continue; - } - if (in_array($arr[0], $retval)) { - continue; - } - - if ($pos <= 0 && $count < $maxItems) { - $retval[] = $arr[0]; - $count++; - } - $pos--; - } - } - sort($retval); - - return $retval; - } - - $dbSeparator = $GLOBALS['cfg']['NavigationTreeDbSeparator']; - if (isset($GLOBALS['cfg']['Server']['DisableIS']) - && !$GLOBALS['cfg']['Server']['DisableIS'] - ) { - $query = "SELECT `SCHEMA_NAME` "; - $query .= "FROM `INFORMATION_SCHEMA`.`SCHEMATA`, "; - $query .= "("; - $query .= "SELECT DB_first_level "; - $query .= "FROM ( "; - $query .= "SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, "; - $query .= "'" . $GLOBALS['dbi']->escapeString($dbSeparator) . "', 1) "; - $query .= "DB_first_level "; - $query .= "FROM INFORMATION_SCHEMA.SCHEMATA "; - $query .= $this->_getWhereClause('SCHEMA_NAME', $searchClause); - $query .= ") t "; - $query .= "ORDER BY DB_first_level ASC "; - $query .= "LIMIT $pos, $maxItems"; - $query .= ") t2 "; - $query .= $this->_getWhereClause('SCHEMA_NAME', $searchClause); - $query .= "AND 1 = LOCATE(CONCAT(DB_first_level, "; - $query .= "'" . $GLOBALS['dbi']->escapeString($dbSeparator) . "'), "; - $query .= "CONCAT(SCHEMA_NAME, "; - $query .= "'" . $GLOBALS['dbi']->escapeString($dbSeparator) . "')) "; - $query .= "ORDER BY SCHEMA_NAME ASC"; - $retval = $GLOBALS['dbi']->fetchResult($query); - - return $retval; - } - - if ($GLOBALS['dbs_to_test'] === false) { - $query = "SHOW DATABASES "; - $query .= $this->_getWhereClause('Database', $searchClause); - $handle = $GLOBALS['dbi']->tryQuery($query); - $prefixes = array(); - if ($handle !== false) { - $prefixMap = array(); - $total = $pos + $maxItems; - while ($arr = $GLOBALS['dbi']->fetchArray($handle)) { - $prefix = strstr($arr[0], $dbSeparator, true); - if ($prefix === false) { - $prefix = $arr[0]; - } - $prefixMap[$prefix] = 1; - if (sizeof($prefixMap) == $total) { - break; - } - } - $prefixes = array_slice(array_keys($prefixMap), $pos); - } - - $query = "SHOW DATABASES "; - $query .= $this->_getWhereClause('Database', $searchClause); - $query .= "AND ("; - $subClauses = array(); - foreach ($prefixes as $prefix) { - $subClauses[] = " LOCATE('" - . $GLOBALS['dbi']->escapeString($prefix) . $dbSeparator - . "', " - . "CONCAT(`Database`, '" . $dbSeparator . "')) = 1 "; - } - $query .= implode("OR", $subClauses) . ")"; - $retval = $GLOBALS['dbi']->fetchResult($query); - - return $retval; - } - - $retval = array(); - $prefixMap = array(); - $total = $pos + $maxItems; - foreach ($this->_getDatabasesToSearch($searchClause) as $db) { - $query = "SHOW DATABASES LIKE '" . $db . "'"; - $handle = $GLOBALS['dbi']->tryQuery($query); - if ($handle === false) { - continue; - } - - while ($arr = $GLOBALS['dbi']->fetchArray($handle)) { - if ($this->_isHideDb($arr[0])) { - continue; - } - $prefix = strstr($arr[0], $dbSeparator, true); - if ($prefix === false) { - $prefix = $arr[0]; - } - $prefixMap[$prefix] = 1; - if (sizeof($prefixMap) == $total) { - break 2; - } - } - } - $prefixes = array_slice(array_keys($prefixMap), $pos); - - foreach ($this->_getDatabasesToSearch($searchClause) as $db) { - $query = "SHOW DATABASES LIKE '" . $db . "'"; - $handle = $GLOBALS['dbi']->tryQuery($query); - if ($handle === false) { - continue; - } - - while ($arr = $GLOBALS['dbi']->fetchArray($handle)) { - if ($this->_isHideDb($arr[0])) { - continue; - } - if (in_array($arr[0], $retval)) { - continue; - } - - foreach ($prefixes as $prefix) { - $starts_with = strpos( - $arr[0] . $dbSeparator, - $prefix . $dbSeparator - ) === 0; - if ($starts_with) { - $retval[] = $arr[0]; - break; - } - } - } - } - sort($retval); - - return $retval; - } - - /** - * Returns the number of children of type $type present inside this container - * This method is overridden by the PMA\libraries\navigation\nodes\NodeDatabase and PMA\libraries\navigation\nodes\NodeTable classes - * - * @param string $type The type of item we are looking for - * ('tables', 'views', etc) - * @param string $searchClause A string used to filter the results of the query - * - * @return int - */ - public function getPresence($type = '', $searchClause = '') - { - if (!$GLOBALS['cfg']['NavigationTreeEnableGrouping'] - || !$GLOBALS['cfg']['ShowDatabasesNavigationAsTree'] - ) { - if (isset($GLOBALS['cfg']['Server']['DisableIS']) - && !$GLOBALS['cfg']['Server']['DisableIS'] - ) { - $query = "SELECT COUNT(*) "; - $query .= "FROM INFORMATION_SCHEMA.SCHEMATA "; - $query .= $this->_getWhereClause('SCHEMA_NAME', $searchClause); - $retval = (int)$GLOBALS['dbi']->fetchValue($query); - - return $retval; - } - - if ($GLOBALS['dbs_to_test'] === false) { - $query = "SHOW DATABASES "; - $query .= $this->_getWhereClause('Database', $searchClause); - $retval = $GLOBALS['dbi']->numRows( - $GLOBALS['dbi']->tryQuery($query) - ); - - return $retval; - } - - $retval = 0; - foreach ($this->_getDatabasesToSearch($searchClause) as $db) { - $query = "SHOW DATABASES LIKE '" . $db . "'"; - $retval += $GLOBALS['dbi']->numRows( - $GLOBALS['dbi']->tryQuery($query) - ); - } - - return $retval; - } - - $dbSeparator = $GLOBALS['cfg']['NavigationTreeDbSeparator']; - if (!$GLOBALS['cfg']['Server']['DisableIS']) { - $query = "SELECT COUNT(*) "; - $query .= "FROM ( "; - $query .= "SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, "; - $query .= "'$dbSeparator', 1) "; - $query .= "DB_first_level "; - $query .= "FROM INFORMATION_SCHEMA.SCHEMATA "; - $query .= $this->_getWhereClause('SCHEMA_NAME', $searchClause); - $query .= ") t "; - $retval = (int)$GLOBALS['dbi']->fetchValue($query); - - return $retval; - } - - if ($GLOBALS['dbs_to_test'] !== false) { - $prefixMap = array(); - foreach ($this->_getDatabasesToSearch($searchClause) as $db) { - $query = "SHOW DATABASES LIKE '" . $db . "'"; - $handle = $GLOBALS['dbi']->tryQuery($query); - if ($handle === false) { - continue; - } - - while ($arr = $GLOBALS['dbi']->fetchArray($handle)) { - if ($this->_isHideDb($arr[0])) { - continue; - } - $prefix = strstr($arr[0], $dbSeparator, true); - if ($prefix === false) { - $prefix = $arr[0]; - } - $prefixMap[$prefix] = 1; - } - } - $retval = count($prefixMap); - - return $retval; - } - - $prefixMap = array(); - $query = "SHOW DATABASES "; - $query .= $this->_getWhereClause('Database', $searchClause); - $handle = $GLOBALS['dbi']->tryQuery($query); - if ($handle !== false) { - while ($arr = $GLOBALS['dbi']->fetchArray($handle)) { - $prefix = strstr($arr[0], $dbSeparator, true); - if ($prefix === false) { - $prefix = $arr[0]; - } - $prefixMap[$prefix] = 1; - } - } - $retval = count($prefixMap); - - return $retval; - } - - /** - * Detemines whether a given database should be hidden according to 'hide_db' - * - * @param string $db database name - * - * @return boolean whether to hide - */ - private function _isHideDb($db) - { - if (!empty($GLOBALS['cfg']['Server']['hide_db']) - && preg_match('/' . $GLOBALS['cfg']['Server']['hide_db'] . '/', $db) - ) { - return true; - } - - return false; - } - - /** - * Get the list of databases for 'SHOW DATABASES LIKE' queries. - * If a search clause is set it gets the highest priority while only_db gets - * the next priority. In case both are empty list of databases determined by - * GRANTs are used - * - * @param string $searchClause search clause - * - * @return array array of databases - */ - private function _getDatabasesToSearch($searchClause) - { - if (!empty($searchClause)) { - $databases = array( - "%" . $GLOBALS['dbi']->escapeString($searchClause) . "%", - ); - } elseif (!empty($GLOBALS['cfg']['Server']['only_db'])) { - $databases = $GLOBALS['cfg']['Server']['only_db']; - } elseif (!empty($GLOBALS['dbs_to_test'])) { - $databases = $GLOBALS['dbs_to_test']; - } - sort($databases); - - return $databases; - } - - /** - * Returns the WHERE clause depending on the $searchClause parameter - * and the hide_db directive - * - * @param string $columnName Column name of the column having database names - * @param string $searchClause A string used to filter the results of the query - * - * @return string - */ - private function _getWhereClause($columnName, $searchClause = '') - { - $whereClause = "WHERE TRUE "; - if (!empty($searchClause)) { - $whereClause .= "AND " . Util::backquote($columnName) - . " LIKE '%"; - $whereClause .= $GLOBALS['dbi']->escapeString($searchClause); - $whereClause .= "%' "; - } - - if (!empty($GLOBALS['cfg']['Server']['hide_db'])) { - $whereClause .= "AND " . Util::backquote($columnName) - . " NOT REGEXP '" - . $GLOBALS['dbi']->escapeString($GLOBALS['cfg']['Server']['hide_db']) - . "' "; - } - - if (!empty($GLOBALS['cfg']['Server']['only_db'])) { - if (is_string($GLOBALS['cfg']['Server']['only_db'])) { - $GLOBALS['cfg']['Server']['only_db'] = array( - $GLOBALS['cfg']['Server']['only_db'], - ); - } - $whereClause .= "AND ("; - $subClauses = array(); - foreach ($GLOBALS['cfg']['Server']['only_db'] as $each_only_db) { - $subClauses[] = " " . Util::backquote($columnName) - . " LIKE '" - . $GLOBALS['dbi']->escapeString($each_only_db) . "' "; - } - $whereClause .= implode("OR", $subClauses) . ") "; - } - - return $whereClause; - } - - /** - * Returns HTML for control buttons displayed infront of a node - * - * @return String HTML for control buttons - */ - public function getHtmlForControlButtons() - { - return ''; - } - - /** - * Returns CSS classes for a node - * - * @param boolean $match Whether the node matched loaded tree - * - * @return String with html classes. - */ - public function getCssClasses($match) - { - if (!$GLOBALS['cfg']['NavigationTreeEnableExpansion'] - ) { - return ''; - } - - $result = array('expander'); - - if ($this->is_group || $match) { - $result[] = 'loaded'; - } - if ($this->type == Node::CONTAINER) { - $result[] = 'container'; - } - - return implode(' ', $result); - } - - /** - * Returns icon for the node - * - * @param boolean $match Whether the node matched loaded tree - * - * @return String with image name - */ - public function getIcon($match) - { - if (!$GLOBALS['cfg']['NavigationTreeEnableExpansion'] - ) { - return ''; - } elseif ($match && !$this->is_group) { - $this->visible = true; - - return Util::getImage('b_minus.png'); - } else { - return Util::getImage('b_plus.png', __('Expand/Collapse')); - } - } - - /** - * Gets the count of hidden elements for each database - * - * @return array array containing the count of hidden elements for each database - */ - public function getNavigationHidingData() - { - $cfgRelation = PMA_getRelationsParam(); - if ($cfgRelation['navwork']) { - $navTable = Util::backquote($cfgRelation['db']) - . "." . Util::backquote( - $cfgRelation['navigationhiding'] - ); - $sqlQuery = "SELECT `db_name`, COUNT(*) AS `count` FROM " . $navTable - . " WHERE `username`='" - . $GLOBALS['dbi']->escapeString( - $GLOBALS['cfg']['Server']['user'] - ) . "'" - . " GROUP BY `db_name`"; - $counts = $GLOBALS['dbi']->fetchResult( - $sqlQuery, - 'db_name', - 'count', - $GLOBALS['controllink'] - ); - - return $counts; - } - - return null; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/normalization.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/normalization.lib.php deleted file mode 100644 index 39572ec9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/normalization.lib.php +++ /dev/null @@ -1,980 +0,0 @@ -getColumns(); - $columnTypeList = $types[$colTypeCategory]; - } - $GLOBALS['dbi']->selectDb($db, $GLOBALS['userlink']); - $columns = $GLOBALS['dbi']->getColumns( - $db, $table, null, - true, $GLOBALS['userlink'] - ); - $type = ""; - $selectColHtml = ""; - foreach ($columns as $column => $def) { - if (isset($def['Type'])) { - $extracted_columnspec = Util::extractColumnSpec($def['Type']); - $type = $extracted_columnspec['type']; - } - if (empty($columnTypeList) - || in_array(mb_strtoupper($type), $columnTypeList) - ) { - if ($listType == 'checkbox') { - $selectColHtml .= '' - . htmlspecialchars($column) . ' [ ' - . htmlspecialchars($def['Type']) . ' ]
'; - } else { - $selectColHtml .= ''; - } - } - } - return $selectColHtml; -} - -/** - * get the html of the form to add the new column to given table - * - * @param integer $num_fields number of columns to add - * @param string $db current database - * @param string $table current table - * @param array $columnMeta array containing default values for the fields - * - * @return string HTML - */ -function PMA_getHtmlForCreateNewColumn( - $num_fields, $db, $table, $columnMeta=array() -) { - $cfgRelation = PMA_getRelationsParam(); - $content_cells = array(); - $available_mime = array(); - $mime_map = array(); - if ($cfgRelation['mimework'] && $GLOBALS['cfg']['BrowseMIME']) { - $mime_map = PMA_getMIME($db, $table); - $available_mime = PMA_getAvailableMIMEtypes(); - } - $comments_map = PMA_getComments($db, $table); - for ($columnNumber = 0; $columnNumber < $num_fields; $columnNumber++) { - $content_cells[$columnNumber] = array( - 'columnNumber' => $columnNumber, - 'columnMeta' => $columnMeta, - 'type_upper' => '', - 'length_values_input_size' => 8, - 'length' => '', - 'extracted_columnspec' => array(), - 'submit_attribute' => null, - 'comments_map' => $comments_map, - 'fields_meta' => null, - 'is_backup' => true, - 'move_columns' => array(), - 'cfgRelation' => $cfgRelation, - 'available_mime' => isset($available_mime)?$available_mime:array(), - 'mime_map' => $mime_map - ); - } - - return PMA\libraries\Template::get( - 'columns_definitions/table_fields_definitions' - ) - ->render( - array( - 'is_backup' => true, - 'fields_meta' => null, - 'mimework' => $cfgRelation['mimework'], - 'content_cells' => $content_cells - ) - ); -} -/** - * build the html for step 1.1 of normalization - * - * @param string $db current database - * @param string $table current table - * @param string $normalizedTo up to which step normalization will go, - * possible values 1nf|2nf|3nf - * - * @return string HTML for step 1.1 - */ -function PMA_getHtmlFor1NFStep1($db, $table, $normalizedTo) -{ - $step = 1; - $stepTxt = __('Make all columns atomic'); - $html = "

" - . __('First step of normalization (1NF)') . "

"; - $html .= "
" . - "
" . - "" . __('Step 1.') . $step . " " . $stepTxt . "" . - "

" . __( - 'Do you have any column which can be split into more than' - . ' one column? ' - . 'For example: address can be split into street, city, country and zip.' - ) - . "
( " - . __( - 'Show me the central list of columns that are not already in this table' - ) . " )

" - . "

" . __( - 'Select a column which can be split into more ' - . 'than one (on select of \'no such column\', it\'ll move to next step).' - ) - . "

" - . "
" - . "" - . "" . __('split into ') - . "" - . "
" - . "
" - . "
" - . "
" - . "
"; - return $html; -} - -/** - * build the html contents of various html elements in step 1.2 - * - * @param string $db current database - * @param string $table current table - * - * @return string HTML contents for step 1.2 - */ -function PMA_getHtmlContentsFor1NFStep2($db, $table) -{ - $step = 2; - $stepTxt = __('Have a primary key'); - $primary = PMA\libraries\Index::getPrimary($table, $db); - $hasPrimaryKey = "0"; - $legendText = __('Step 1.') . $step . " " . $stepTxt; - $extra = ''; - if ($primary) { - $headText = __("Primary key already exists."); - $subText = __("Taking you to next step…"); - $hasPrimaryKey = "1"; - } else { - $headText = __( - "There is no primary key; please add one.
" - . "Hint: A primary key is a column " - . "(or combination of columns) that uniquely identify all rows." - ); - $subText = '' - . Util::getIcon( - 'b_index_add.png', __( - 'Add a primary key on existing column(s)' - ) - ) - . ''; - $extra = __( - "If it's not possible to make existing " - . "column combinations as primary key" - ) . "
" - . '' - . __('+ Add a new primary key column') . ''; - } - $res = array( - 'legendText' => $legendText, - 'headText' => $headText, - 'subText' => $subText, - 'hasPrimaryKey' => $hasPrimaryKey, - 'extra' => $extra - ); - return $res; -} - -/** - * build the html contents of various html elements in step 1.4 - * - * @param string $db current database - * @param string $table current table - * - * @return string HTML contents for step 1.4 - */ -function PMA_getHtmlContentsFor1NFStep4($db, $table) -{ - $step = 4; - $stepTxt = __('Remove redundant columns'); - $legendText = __('Step 1.') . $step . " " . $stepTxt; - $headText = __( - "Do you have a group of columns which on combining gives an existing" - . " column? For example, if you have first_name, last_name and" - . " full_name then combining first_name and last_name gives full_name" - . " which is redundant." - ); - $subText = __( - "Check the columns which are redundant and click on remove. " - . "If no redundant column, click on 'No redundant column'" - ); - $extra = PMA_getHtmlForColumnsList($db, $table, 'all', "checkbox") . "
" - . '' - . ''; - $res = array( - 'legendText' => $legendText, - 'headText' => $headText, - 'subText' => $subText, - 'extra' => $extra - ); - return $res; -} - -/** - * build the html contents of various html elements in step 1.3 - * - * @param string $db current database - * @param string $table current table - * - * @return string HTML contents for step 1.3 - */ -function PMA_getHtmlContentsFor1NFStep3($db, $table) -{ - $step = 3; - $stepTxt = __('Move repeating groups'); - $legendText = __('Step 1.') . $step . " " . $stepTxt; - $headText = __( - "Do you have a group of two or more columns that are closely " - . "related and are all repeating the same attribute? For example, " - . "a table that holds data on books might have columns such as book_id, " - . "author1, author2, author3 and so on which form a " - . "repeating group. In this case a new table (book_id, author) should " - . "be created." - ); - $subText = __( - "Check the columns which form a repeating group. " - . "If no such group, click on 'No repeating group'" - ); - $extra = PMA_getHtmlForColumnsList($db, $table, 'all', "checkbox") . "
" - . '' - . ''; - $primary = PMA\libraries\Index::getPrimary($table, $db); - $primarycols = $primary->getColumns(); - $pk = array(); - foreach ($primarycols as $col) { - $pk[] = $col->getName(); - } - $res = array( - 'legendText' => $legendText, - 'headText' => $headText, - 'subText' => $subText, - 'extra' => $extra, - 'primary_key' => json_encode($pk) - ); - return $res; -} - -/** - * build html contents for 2NF step 2.1 - * - * @param string $db current database - * @param string $table current table - * - * @return string HTML contents for 2NF step 2.1 - */ -function PMA_getHtmlFor2NFstep1($db, $table) -{ - $legendText = __('Step 2.') . "1 " . __('Find partial dependencies'); - $primary = PMA\libraries\Index::getPrimary($table, $db); - $primarycols = $primary->getColumns(); - $pk = array(); - $subText = ''; - $selectPkForm = ""; - $extra = ""; - foreach ($primarycols as $col) { - $pk[] = $col->getName(); - $selectPkForm .= '' - . htmlspecialchars($col->getName()); - } - $key = implode(', ', $pk); - if (count($primarycols) > 1) { - $GLOBALS['dbi']->selectDb($db, $GLOBALS['userlink']); - $columns = (array) $GLOBALS['dbi']->getColumnNames( - $db, $table, $GLOBALS['userlink'] - ); - if (count($pk) == count($columns)) { - $headText = sprintf( - __( - 'No partial dependencies possible as ' - . 'no non-primary column exists since primary key ( %1$s ) ' - . 'is composed of all the columns in the table.' - ), htmlspecialchars($key) - ) . '
'; - $extra = '

' . __('Table is already in second normal form.') - . '

'; - } else { - $headText = sprintf( - __( - 'The primary key ( %1$s ) consists of more than one column ' - . 'so we need to find the partial dependencies.' - ), htmlspecialchars($key) - ) . '
' . __( - 'Please answer the following question(s) ' - . 'carefully to obtain a correct normalization.' - ) - . '
' . __( - '+ Show me the possible partial dependencies ' - . 'based on data in the table' - ) . ''; - $subText = __( - 'For each column below, ' - . 'please select the minimal set of columns among given set ' - . 'whose values combined together are sufficient' - . ' to determine the value of the column.' - ); - $cnt = 0; - foreach ($columns as $column) { - if (!in_array($column, $pk)) { - $cnt++; - $extra .= "" . sprintf( - __('\'%1$s\' depends on:'), htmlspecialchars($column) - ) . "
"; - $extra .= '
' - . $selectPkForm . '


'; - } - } - } - } else { - $headText = sprintf( - __( - 'No partial dependencies possible as the primary key' - . ' ( %1$s ) has just one column.' - ), htmlspecialchars($key) - ) . '
'; - $extra = '

' . __('Table is already in second normal form.') . '

'; - } - $res = array( - 'legendText' => $legendText, - 'headText' => $headText, - 'subText' => $subText, - 'extra' => $extra, - 'primary_key' => $key - ); - return $res; -} - -/** - * build the html for showing the tables to have in order to put current table in 2NF - * - * @param array $partialDependencies array containing all the dependencies - * @param string $table current table - * - * @return string HTML - */ -function PMA_getHtmlForNewTables2NF($partialDependencies,$table) -{ - $html = '

' . sprintf( - __( - 'In order to put the ' - . 'original table \'%1$s\' into Second normal form we need ' - . 'to create the following tables:' - ), htmlspecialchars($table) - ) . '

'; - $tableName = $table; - $i = 1; - foreach ($partialDependencies as $key=>$dependents) { - $html .= '

' - . '( ' . htmlspecialchars($key) . '' - . (count($dependents)>0?', ':'') - . htmlspecialchars(implode(', ', $dependents)) . ' )'; - $i++; - $tableName = 'table' . $i; - } - return $html; -} - -/** - * create/alter the tables needed for 2NF - * - * @param array $partialDependencies array containing all the partial dependencies - * @param object $tablesName name of new tables - * @param string $table current table - * @param string $db current database - * - * @return array - */ -function PMA_createNewTablesFor2NF($partialDependencies, $tablesName, $table, $db) -{ - $dropCols = false; - $nonPKCols = array(); - $queries = array(); - $error = false; - $headText = '

' . sprintf( - __('The second step of normalization is complete for table \'%1$s\'.'), - htmlspecialchars($table) - ) . '

'; - if (count((array)$partialDependencies) == 1) { - return array( - 'legendText'=>__('End of step'), 'headText'=>$headText, - 'queryError'=>$error - ); - } - $message = ''; - $GLOBALS['dbi']->selectDb($db, $GLOBALS['userlink']); - foreach ($partialDependencies as $key=>$dependents) { - if ($tablesName->$key != $table) { - $backquotedKey = implode(', ', Util::backquote(explode(', ', $key))); - $queries[] = 'CREATE TABLE ' . Util::backquote($tablesName->$key) - . ' SELECT DISTINCT ' . $backquotedKey - . (count($dependents)>0?', ':'') - . implode(',', Util::backquote($dependents)) - . ' FROM ' . Util::backquote($table) . ';'; - $queries[] = 'ALTER TABLE ' . Util::backquote($tablesName->$key) - . ' ADD PRIMARY KEY(' . $backquotedKey . ');'; - $nonPKCols = array_merge($nonPKCols, $dependents); - } else { - $dropCols = true; - } - } - - if ($dropCols) { - $query = 'ALTER TABLE ' . Util::backquote($table); - foreach ($nonPKCols as $col) { - $query .= ' DROP ' . Util::backquote($col) . ','; - } - $query = trim($query, ', '); - $query .= ';'; - $queries[] = $query; - } else { - $queries[] = 'DROP TABLE ' . Util::backquote($table); - } - foreach ($queries as $query) { - if (!$GLOBALS['dbi']->tryQuery($query, $GLOBALS['userlink'])) { - $message = Message::error(__('Error in processing!')); - $message->addMessage( - Message::rawError( - $GLOBALS['dbi']->getError($GLOBALS['userlink']) - ), - '

' - ); - $error = true; - break; - } - } - return array( - 'legendText' => __('End of step'), - 'headText' => $headText, - 'queryError' => $error, - 'extra' => $message - ); -} - -/** - * build the html for showing the new tables to have in order - * to put given tables in 3NF - * - * @param object $dependencies containing all the dependencies - * @param array $tables tables formed after 2NF and need to convert to 3NF - * @param string $db current database - * - * @return array containing html and the list of new tables - */ -function PMA_getHtmlForNewTables3NF($dependencies, $tables, $db) -{ - $html = ""; - $i = 1; - $newTables = array(); - foreach ($tables as $table=>$arrDependson) { - if (count(array_unique($arrDependson)) == 1) { - continue; - } - $primary = PMA\libraries\Index::getPrimary($table, $db); - $primarycols = $primary->getColumns(); - $pk = array(); - foreach ($primarycols as $col) { - $pk[] = $col->getName(); - } - $html .= '

' . sprintf( - __( - 'In order to put the ' - . 'original table \'%1$s\' into Third normal form we need ' - . 'to create the following tables:' - ), htmlspecialchars($table) - ) . '

'; - $tableName = $table; - $columnList = array(); - foreach ($arrDependson as $key) { - $dependents = $dependencies->$key; - if ($key == $table) { - $key = implode(', ', $pk); - } - $tmpTableCols =array_merge(explode(', ', $key), $dependents); - sort($tmpTableCols); - if (!in_array($tmpTableCols, $columnList)) { - $columnList[] = $tmpTableCols; - $html .= '

' - . '( ' . htmlspecialchars($key) . '' - . (count($dependents)>0?', ':'') - . htmlspecialchars(implode(', ', $dependents)) . ' )'; - $newTables[$table][$tableName] = array( - "pk"=>$key, "nonpk"=>implode(', ', $dependents) - ); - $i++; - $tableName = 'table' . $i; - } - } - } - return array('html' => $html, 'newTables' => $newTables, 'success' => true); -} - -/** - * create new tables or alter existing to get 3NF - * - * @param array $newTables list of new tables to be created - * @param string $db current database - * - * @return array - */ -function PMA_createNewTablesFor3NF($newTables, $db) -{ - $queries = array(); - $dropCols = false; - $error = false; - $headText = '

' . - __('The third step of normalization is complete.') - . '

'; - if (count((array)$newTables) == 0) { - return array( - 'legendText'=>__('End of step'), 'headText'=>$headText, - 'queryError'=>$error - ); - } - $message = ''; - $GLOBALS['dbi']->selectDb($db, $GLOBALS['userlink']); - foreach ($newTables as $originalTable=>$tablesList) { - foreach ($tablesList as $table=>$cols) { - if ($table != $originalTable) { - $quotedPk = implode( - ', ', Util::backquote(explode(', ', $cols->pk)) - ); - $quotedNonpk = implode( - ', ', Util::backquote(explode(', ', $cols->nonpk)) - ); - $queries[] = 'CREATE TABLE ' . Util::backquote($table) - . ' SELECT DISTINCT ' . $quotedPk - . ', ' . $quotedNonpk - . ' FROM ' . Util::backquote($originalTable) . ';'; - $queries[] = 'ALTER TABLE ' . Util::backquote($table) - . ' ADD PRIMARY KEY(' . $quotedPk . ');'; - } else { - $dropCols = $cols; - } - } - if ($dropCols) { - $columns = (array) $GLOBALS['dbi']->getColumnNames( - $db, $originalTable, $GLOBALS['userlink'] - ); - $colPresent = array_merge( - explode(', ', $dropCols->pk), explode(', ', $dropCols->nonpk) - ); - $query = 'ALTER TABLE ' . Util::backquote($originalTable); - foreach ($columns as $col) { - if (!in_array($col, $colPresent)) { - $query .= ' DROP ' . Util::backquote($col) . ','; - } - } - $query = trim($query, ', '); - $query .= ';'; - $queries[] = $query; - } else { - $queries[] = 'DROP TABLE ' . Util::backquote($originalTable); - } - $dropCols = false; - } - foreach ($queries as $query) { - if (!$GLOBALS['dbi']->tryQuery($query, $GLOBALS['userlink'])) { - $message = Message::error(__('Error in processing!')); - $message->addMessage( - Message::rawError( - $GLOBALS['dbi']->getError($GLOBALS['userlink']) - ), - '

' - ); - $error = true; - break; - } - } - return array( - 'legendText' => __('End of step'), - 'headText' => $headText, - 'queryError' => $error, - 'extra' => $message - ); -} -/** - * move the repeating group of columns to a new table - * - * @param string $repeatingColumns comma separated list of repeating group columns - * @param string $primary_columns comma separated list of column in primary key - * of $table - * @param string $newTable name of the new table to be created - * @param string $newColumn name of the new column in the new table - * @param string $table current table - * @param string $db current database - * - * @return array - */ -function PMA_moveRepeatingGroup( - $repeatingColumns, $primary_columns, $newTable, $newColumn, $table, $db -) { - $repeatingColumnsArr = (array)Util::backquote( - explode(', ', $repeatingColumns) - ); - $primary_columns = implode( - ',', Util::backquote(explode(',', $primary_columns)) - ); - $query1 = 'CREATE TABLE ' . Util::backquote($newTable); - $query2 = 'ALTER TABLE ' . Util::backquote($table); - $message = Message::success( - sprintf( - __('Selected repeating group has been moved to the table \'%s\''), - htmlspecialchars($table) - ) - ); - $first = true; - $error = false; - foreach ($repeatingColumnsArr as $repeatingColumn) { - if (!$first) { - $query1 .= ' UNION '; - } - $first = false; - $query1 .= ' SELECT ' . $primary_columns . ',' . $repeatingColumn - . ' as ' . Util::backquote($newColumn) - . ' FROM ' . Util::backquote($table); - $query2 .= ' DROP ' . $repeatingColumn . ','; - } - $query2 = trim($query2, ','); - $queries = array($query1, $query2); - $GLOBALS['dbi']->selectDb($db, $GLOBALS['userlink']); - foreach ($queries as $query) { - if (!$GLOBALS['dbi']->tryQuery($query, $GLOBALS['userlink'])) { - $message = Message::error(__('Error in processing!')); - $message->addMessage( - Message::rawError( - $GLOBALS['dbi']->getError($GLOBALS['userlink']) - ), - '

' - ); - $error = true; - break; - } - } - return array( - 'queryError' => $error, 'message' => $message - ); -} - -/** - * build html for 3NF step 1 to find the transitive dependencies - * - * @param string $db current database - * @param array $tables tables formed after 2NF and need to process for 3NF - * - * @return string - */ -function PMA_getHtmlFor3NFstep1($db, $tables) -{ - $legendText = __('Step 3.') . "1 " . __('Find transitive dependencies'); - $extra = ""; - $headText = __( - 'Please answer the following question(s) ' - . 'carefully to obtain a correct normalization.' - ); - $subText = __( - 'For each column below, ' - . 'please select the minimal set of columns among given set ' - . 'whose values combined together are sufficient' - . ' to determine the value of the column.
' - . 'Note: A column may have no transitive dependency, ' - . 'in that case you don\'t have to select any.' - ); - $cnt = 0; - foreach ($tables as $table) { - $primary = PMA\libraries\Index::getPrimary($table, $db); - $primarycols = $primary->getColumns(); - $selectTdForm = ""; - $pk = array(); - foreach ($primarycols as $col) { - $pk[] = $col->getName(); - } - $GLOBALS['dbi']->selectDb($db, $GLOBALS['userlink']); - $columns = (array) $GLOBALS['dbi']->getColumnNames( - $db, $table, $GLOBALS['userlink'] - ); - if (count($columns) - count($pk) <= 1) { - continue; - } - foreach ($columns as $column) { - if (!in_array($column, $pk)) { - $selectTdForm .= '' - . '' . htmlspecialchars($column) . ''; - } - } - foreach ($columns as $column) { - if (!in_array($column, $pk)) { - $cnt++; - $extra .= "" . sprintf( - __('\'%1$s\' depends on:'), htmlspecialchars($column) - ) - . "
"; - $extra .= '
' - . $selectTdForm - . '


'; - } - } - } - if ($extra == "") { - $headText = __( - "No Transitive dependencies possible as the table " - . "doesn't have any non primary key columns" - ); - $subText = ""; - $extra = "

" . __("Table is already in Third normal form!") . "

"; - } - $res = array( - 'legendText' => $legendText, - 'headText' => $headText, - 'subText' => $subText, - 'extra' => $extra - ); - return $res; -} -/** - * get html for options to normalize table - * - * @return string HTML - */ -function PMA_getHtmlForNormalizetable() -{ - $html_output = '
' - . URL::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']) - . ''; - $html_output .= '
'; - $html_output .= '' - . __('Improve table structure (Normalization):') . ''; - $html_output .= '

' . __('Select up to what step you want to normalize') - . '

'; - $choices = array( - '1nf' => __('First step of normalization (1NF)'), - '2nf' => __('Second step of normalization (1NF+2NF)'), - '3nf' => __('Third step of normalization (1NF+2NF+3NF)')); - - $html_output .= Util::getRadioFields( - 'normalizeTo', $choices, '1nf', true - ); - $html_output .= '
' - . "" . __( - 'Hint: Please follow the procedure carefully in order ' - . 'to obtain correct normalization' - ) . "" - . '' - . '
' - . '
' - . '
'; - - return $html_output; -} - -/** - * find all the possible partial dependencies based on data in the table. - * - * @param string $table current table - * @param string $db current database - * - * @return string HTML containing the list of all the possible partial dependencies - */ -function PMA_findPartialDependencies($table, $db) -{ - $dependencyList = array(); - $GLOBALS['dbi']->selectDb($db, $GLOBALS['userlink']); - $columns = (array) $GLOBALS['dbi']->getColumnNames( - $db, $table, $GLOBALS['userlink'] - ); - $columns = (array)Util::backquote($columns); - $totalRowsRes = $GLOBALS['dbi']->fetchResult( - 'SELECT COUNT(*) FROM (SELECT * FROM ' - . Util::backquote($table) . ' LIMIT 500) as dt;' - ); - $totalRows = $totalRowsRes[0]; - $primary = PMA\libraries\Index::getPrimary($table, $db); - $primarycols = $primary->getColumns(); - $pk = array(); - foreach ($primarycols as $col) { - $pk[] = Util::backquote($col->getName()); - } - $partialKeys = PMA_getAllCombinationPartialKeys($pk); - $distinctValCount = PMA_findDistinctValuesCount( - array_unique( - array_merge($columns, $partialKeys) - ), $table - ); - foreach ($columns as $column) { - if (!in_array($column, $pk)) { - foreach ($partialKeys as $partialKey) { - if ($partialKey - && PMA_checkPartialDependency( - $partialKey, $column, $table, - $distinctValCount[$partialKey], - $distinctValCount[$column], $totalRows - ) - ) { - $dependencyList[$partialKey][] = $column; - } - } - } - } - - $html = __( - 'This list is based on a subset of the table\'s data ' - . 'and is not necessarily accurate. ' - ) - . '
'; - foreach ($dependencyList as $dependon=>$colList) { - $html .= '' - . '' - . '' - . htmlspecialchars(str_replace('`', '', $dependon)) . ' -> ' - . '' - . htmlspecialchars(str_replace('`', '', implode(', ', $colList))) - . '' - . ''; - } - if (empty($dependencyList)) { - $html .= '

' - . __('No partial dependencies found!') . '

'; - } - $html .= '
'; - return $html; -} -/** - * check whether a particular column is dependent on given subset of primary key - * - * @param string $partialKey the partial key, subset of primary key, - * each column in key supposed to be backquoted - * @param string $column backquoted column on whose dependency being checked - * @param string $table current table - * @param integer $pkCnt distinct value count for given partial key - * @param integer $colCnt distinct value count for given column - * @param integer $totalRows total distinct rows count of the table - * - * @return boolean TRUE if $column is dependent on $partialKey, False otherwise - */ -function PMA_checkPartialDependency( - $partialKey, $column, $table, $pkCnt, $colCnt, $totalRows -) { - $query = 'SELECT ' - . 'COUNT(DISTINCT ' . $partialKey . ',' . $column . ') as pkColCnt ' - . 'FROM (SELECT * FROM ' . Util::backquote($table) - . ' LIMIT 500) as dt' . ';'; - $res = $GLOBALS['dbi']->fetchResult($query, null, null, $GLOBALS['userlink']); - $pkColCnt = $res[0]; - if ($pkCnt && $pkCnt == $colCnt && $colCnt == $pkColCnt) { - return true; - } - if ($totalRows && $totalRows == $pkCnt) { - return true; - } - return false; -} - -/** - * function to get distinct values count of all the column in the array $columns - * - * @param array $columns array of backquoted columns whose distinct values - * need to be counted. - * @param string $table table to which these columns belong - * - * @return array associative array containing the count - */ -function PMA_findDistinctValuesCount($columns, $table) -{ - $result = array(); - $query = 'SELECT '; - foreach ($columns as $column) { - if ($column) { //each column is already backquoted - $query .= 'COUNT(DISTINCT ' . $column . ') as \'' - . $column . '_cnt\', '; - } - } - $query = trim($query, ', '); - $query .= ' FROM (SELECT * FROM ' . Util::backquote($table) - . ' LIMIT 500) as dt' . ';'; - $res = $GLOBALS['dbi']->fetchResult($query, null, null, $GLOBALS['userlink']); - foreach ($columns as $column) { - if ($column) { - $result[$column] = $res[0][$column . '_cnt']; - } - } - return $result; -} - -/** - * find all the possible partial keys - * - * @param array $primaryKey array containing all the column present in primary key - * - * @return array containing all the possible partial keys(subset of primary key) - */ -function PMA_getAllCombinationPartialKeys($primaryKey) -{ - $results = array(''); - foreach ($primaryKey as $element) { - foreach ($results as $combination) { - array_push( - $results, trim($element . ',' . $combination, ',') - ); - } - } - array_pop($results); //remove key which consist of all primary key columns - return $results; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/operations.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/operations.lib.php deleted file mode 100644 index 5ccc44dc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/operations.lib.php +++ /dev/null @@ -1,2122 +0,0 @@ -' - . '
' - . URL::getHiddenInputs($db) - . '
' - . ''; - if (Util::showIcons('ActionLinksMode')) { - $html_output .= Util::getImage('b_comment.png') . ' '; - } - $html_output .= __('Database comment'); - $html_output .= ''; - $html_output .= '' - . '
'; - $html_output .= '
' - . '' - . '
' - . '
' - . '
'; - - return $html_output; -} - -/** - * Get HTML output for rename database - * - * @param string $db database name - * - * @return string $html_output - */ -function PMA_getHtmlForRenameDatabase($db) -{ - $html_output = '
' - . '
'; - if (isset($_REQUEST['db_collation'])) { - $html_output .= '' . "\n"; - } - $html_output .= '' - . '' - . URL::getHiddenInputs($db) - . '
' - . ''; - - if (Util::showIcons('ActionLinksMode')) { - $html_output .= Util::getImage('b_edit.png') . ' '; - } - $html_output .= __('Rename database to') - . ''; - - $html_output .= ''; - - if ($GLOBALS['db_priv'] && $GLOBALS['table_priv'] - && $GLOBALS['col_priv'] && $GLOBALS['proc_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $html_output .= ''; - } else { - $html_output .= ''; - } - - $html_output .= '
'; - - $html_output .= '' - . '
' - . '
' - . '' - . '
' - . '
' - . '
'; - - return $html_output; -} - -/** - * Get HTML for database drop link - * - * @param string $db database name - * - * @return string $html_output - */ -function PMA_getHtmlForDropDatabaseLink($db) -{ - $this_sql_query = 'DROP DATABASE ' . Util::backquote($db); - $this_url_params = array( - 'sql_query' => $this_sql_query, - 'back' => 'db_operations.php', - 'goto' => 'index.php', - 'reload' => '1', - 'purge' => '1', - 'message_to_show' => sprintf( - __('Database %s has been dropped.'), - htmlspecialchars(Util::backquote($db)) - ), - 'db' => null, - ); - - $html_output = '
' - . '
'; - $html_output .= ''; - if (Util::showIcons('ActionLinksMode')) { - $html_output .= Util::getImage('b_deltbl.png') . ' '; - } - $html_output .= __('Remove database') - . ''; - $html_output .= '
    '; - $html_output .= PMA_getDeleteDataOrTablelink( - $this_url_params, - 'DROP_DATABASE', - __('Drop the database (DROP)'), - 'drop_db_anchor' - ); - $html_output .= '
' - . '
'; - - return $html_output; -} - -/** - * Get HTML snippet for copy database - * - * @param string $db database name - * - * @return string $html_output - */ -function PMA_getHtmlForCopyDatabase($db) -{ - $drop_clause = 'DROP TABLE / DROP VIEW'; - $choices = array( - 'structure' => __('Structure only'), - 'data' => __('Structure and data'), - 'dataonly' => __('Data only') - ); - - if (isset($_COOKIE) - && isset($_COOKIE['pma_switch_to_new']) - && $_COOKIE['pma_switch_to_new'] == 'true' - ) { - $pma_switch_to_new = 'true'; - } - - $html_output = '
'; - $html_output .= '
'; - - if (isset($_REQUEST['db_collation'])) { - $html_output .= '' . "\n"; - } - $html_output .= '' . "\n" - . URL::getHiddenInputs($db); - $html_output .= '
' - . ''; - - if (Util::showIcons('ActionLinksMode')) { - $html_output .= Util::getImage('b_edit.png') . ' '; - } - $html_output .= __('Copy database to') - . '' - . '
' - . Util::getRadioFields( - 'what', $choices, 'data', true - ); - $html_output .= '
'; - $html_output .= ''; - $html_output .= '
'; - $html_output .= ''; - $html_output .= '
'; - $html_output .= ''; - $html_output .= '
'; - $html_output .= ''; - $html_output .= '
'; - $html_output .= '
'; - - if ($GLOBALS['db_priv'] && $GLOBALS['table_priv'] - && $GLOBALS['col_priv'] && $GLOBALS['proc_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $html_output .= ''; - } else { - $html_output .= ''; - } - $html_output .= '
'; - - $html_output .= ''; - $html_output .= '' - . '
'; - $html_output .= '
' - . '' - . '
' - . '
' - . '
'; - - return $html_output; -} - -/** - * Get HTML snippet for change database charset - * - * @param string $db database name - * @param string $table table name - * - * @return string $html_output - */ -function PMA_getHtmlForChangeDatabaseCharset($db, $table) -{ - $html_output = '
' - . '
'; - if (Util::showIcons('ActionLinksMode')) { - $html_output .= Util::getImage('s_asci.png') . ' '; - } - $html_output .= '' . "\n" - . '' . "\n" - . Charsets::getCollationDropdownBox( - 'db_collation', - 'select_db_collation', - isset($_REQUEST['db_collation']) ? $_REQUEST['db_collation'] : '', - false - ) - . '' - . '
' - . '' . "\n" - . '
' . "\n" - . '
' . "\n"; - - return $html_output; -} - -/** - * Run the Procedure definitions and function definitions - * - * to avoid selecting alternatively the current and new db - * we would need to modify the CREATE definitions to qualify - * the db name - * - * @param string $db database name - * - * @return void - */ -function PMA_runProcedureAndFunctionDefinitions($db) -{ - $procedure_names = $GLOBALS['dbi']->getProceduresOrFunctions($db, 'PROCEDURE'); - if ($procedure_names) { - foreach ($procedure_names as $procedure_name) { - $GLOBALS['dbi']->selectDb($db); - $tmp_query = $GLOBALS['dbi']->getDefinition( - $db, 'PROCEDURE', $procedure_name - ); - // collect for later display - $GLOBALS['sql_query'] .= "\n" . $tmp_query; - $GLOBALS['dbi']->selectDb($_REQUEST['newname']); - $GLOBALS['dbi']->query($tmp_query); - } - } - - $function_names = $GLOBALS['dbi']->getProceduresOrFunctions($db, 'FUNCTION'); - if ($function_names) { - foreach ($function_names as $function_name) { - $GLOBALS['dbi']->selectDb($db); - $tmp_query = $GLOBALS['dbi']->getDefinition( - $db, 'FUNCTION', $function_name - ); - // collect for later display - $GLOBALS['sql_query'] .= "\n" . $tmp_query; - $GLOBALS['dbi']->selectDb($_REQUEST['newname']); - $GLOBALS['dbi']->query($tmp_query); - } - } -} - -/** - * Create database before copy - * - * @return void - */ -function PMA_createDbBeforeCopy() -{ - // lower_case_table_names=1 `DB` becomes `db` - if ($GLOBALS['dbi']->getLowerCaseNames() === '1') { - $_REQUEST['newname'] = mb_strtolower( - $_REQUEST['newname'] - ); - } - - $local_query = 'CREATE DATABASE IF NOT EXISTS ' - . Util::backquote($_REQUEST['newname']); - if (isset($_REQUEST['db_collation'])) { - $local_query .= ' DEFAULT' - . Util::getCharsetQueryPart($_REQUEST['db_collation']); - } - $local_query .= ';'; - $GLOBALS['sql_query'] .= $local_query; - - // save the original db name because Tracker.php which - // may be called under $GLOBALS['dbi']->query() changes $GLOBALS['db'] - // for some statements, one of which being CREATE DATABASE - $original_db = $GLOBALS['db']; - $GLOBALS['dbi']->query($local_query); - $GLOBALS['db'] = $original_db; - - // Set the SQL mode to NO_AUTO_VALUE_ON_ZERO to prevent MySQL from creating - // export statements it cannot import - $sql_set_mode = "SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'"; - $GLOBALS['dbi']->query($sql_set_mode); - - // rebuild the database list because Table::moveCopy - // checks in this list if the target db exists - $GLOBALS['dblist']->databases->build(); -} - -/** - * Get views as an array and create SQL view stand-in - * - * @param array $tables_full array of all tables in given db or dbs - * @param ExportSql $export_sql_plugin export plugin instance - * @param string $db database name - * - * @return array $views - */ -function PMA_getViewsAndCreateSqlViewStandIn( - $tables_full, $export_sql_plugin, $db -) { - $views = array(); - foreach ($tables_full as $each_table => $tmp) { - // to be able to rename a db containing views, - // first all the views are collected and a stand-in is created - // the real views are created after the tables - if ($GLOBALS['dbi']->getTable($db, $each_table)->isView()) { - - // If view exists, and 'add drop view' is selected: Drop it! - if ($_REQUEST['what'] != 'nocopy' - && isset($_REQUEST['drop_if_exists']) - && $_REQUEST['drop_if_exists'] == 'true' - ) { - $drop_query = 'DROP VIEW IF EXISTS ' - . Util::backquote($_REQUEST['newname']) . '.' - . Util::backquote($each_table); - $GLOBALS['dbi']->query($drop_query); - - $GLOBALS['sql_query'] .= "\n" . $drop_query . ';'; - } - - $views[] = $each_table; - // Create stand-in definition to resolve view dependencies - $sql_view_standin = $export_sql_plugin->getTableDefStandIn( - $db, $each_table, "\n" - ); - $GLOBALS['dbi']->selectDb($_REQUEST['newname']); - $GLOBALS['dbi']->query($sql_view_standin); - $GLOBALS['sql_query'] .= "\n" . $sql_view_standin; - } - } - return $views; -} - -/** - * Get sql query for copy/rename table and boolean for whether copy/rename or not - * - * @param array $tables_full array of all tables in given db or dbs - * @param boolean $move whether database name is empty or not - * @param string $db database name - * - * @return array SQL queries for the constraints - */ -function PMA_copyTables($tables_full, $move, $db) -{ - $sqlContraints = array(); - foreach ($tables_full as $each_table => $tmp) { - // skip the views; we have created stand-in definitions - if ($GLOBALS['dbi']->getTable($db, $each_table)->isView()) { - continue; - } - - // value of $what for this table only - $this_what = $_REQUEST['what']; - - // do not copy the data from a Merge table - // note: on the calling FORM, 'data' means 'structure and data' - if ($GLOBALS['dbi']->getTable($db, $each_table)->isMerge()) { - if ($this_what == 'data') { - $this_what = 'structure'; - } - if ($this_what == 'dataonly') { - $this_what = 'nocopy'; - } - } - - if ($this_what != 'nocopy') { - // keep the triggers from the original db+table - // (third param is empty because delimiters are only intended - // for importing via the mysql client or our Import feature) - $triggers = $GLOBALS['dbi']->getTriggers($db, $each_table, ''); - - if (! Table::moveCopy( - $db, $each_table, $_REQUEST['newname'], $each_table, - (isset($this_what) ? $this_what : 'data'), - $move, 'db_copy' - )) { - $GLOBALS['_error'] = true; - break; - } - // apply the triggers to the destination db+table - if ($triggers) { - $GLOBALS['dbi']->selectDb($_REQUEST['newname']); - foreach ($triggers as $trigger) { - $GLOBALS['dbi']->query($trigger['create']); - $GLOBALS['sql_query'] .= "\n" . $trigger['create'] . ';'; - } - } - - // this does not apply to a rename operation - if (isset($_REQUEST['add_constraints']) - && ! empty($GLOBALS['sql_constraints_query']) - ) { - $sqlContraints[] = $GLOBALS['sql_constraints_query']; - unset($GLOBALS['sql_constraints_query']); - } - } - } - return $sqlContraints; -} - -/** - * Run the EVENT definition for selected database - * - * to avoid selecting alternatively the current and new db - * we would need to modify the CREATE definitions to qualify - * the db name - * - * @param string $db database name - * - * @return void - */ -function PMA_runEventDefinitionsForDb($db) -{ - $event_names = $GLOBALS['dbi']->fetchResult( - 'SELECT EVENT_NAME FROM information_schema.EVENTS WHERE EVENT_SCHEMA= \'' - . $GLOBALS['dbi']->escapeString($db) . '\';' - ); - if ($event_names) { - foreach ($event_names as $event_name) { - $GLOBALS['dbi']->selectDb($db); - $tmp_query = $GLOBALS['dbi']->getDefinition($db, 'EVENT', $event_name); - // collect for later display - $GLOBALS['sql_query'] .= "\n" . $tmp_query; - $GLOBALS['dbi']->selectDb($_REQUEST['newname']); - $GLOBALS['dbi']->query($tmp_query); - } - } -} - -/** - * Handle the views, return the boolean value whether table rename/copy or not - * - * @param array $views views as an array - * @param boolean $move whether database name is empty or not - * @param string $db database name - * - * @return void - */ -function PMA_handleTheViews($views, $move, $db) -{ - // temporarily force to add DROP IF EXIST to CREATE VIEW query, - // to remove stand-in VIEW that was created earlier - // ( $_REQUEST['drop_if_exists'] is used in moveCopy() ) - if (isset($_REQUEST['drop_if_exists'])) { - $temp_drop_if_exists = $_REQUEST['drop_if_exists']; - } - - $_REQUEST['drop_if_exists'] = 'true'; - foreach ($views as $view) { - $copying_succeeded = Table::moveCopy( - $db, $view, $_REQUEST['newname'], $view, 'structure', $move, 'db_copy' - ); - if (! $copying_succeeded) { - $GLOBALS['_error'] = true; - break; - } - } - unset($_REQUEST['drop_if_exists']); - - if (isset($temp_drop_if_exists)) { - // restore previous value - $_REQUEST['drop_if_exists'] = $temp_drop_if_exists; - } -} - -/** - * Adjust the privileges after Renaming the db - * - * @param string $oldDb Database name before renaming - * @param string $newname New Database name requested - * - * @return void - */ -function PMA_AdjustPrivileges_moveDB($oldDb, $newname) -{ - if ($GLOBALS['db_priv'] && $GLOBALS['table_priv'] - && $GLOBALS['col_priv'] && $GLOBALS['proc_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $GLOBALS['dbi']->selectDb('mysql'); - $newname = str_replace("_", "\_", $newname); - $oldDb = str_replace("_", "\_", $oldDb); - - // For Db specific privileges - $query_db_specific = 'UPDATE ' . Util::backquote('db') - . 'SET Db = \'' . $GLOBALS['dbi']->escapeString($newname) - . '\' where Db = \'' . $GLOBALS['dbi']->escapeString($oldDb) . '\';'; - $GLOBALS['dbi']->query($query_db_specific); - - // For table specific privileges - $query_table_specific = 'UPDATE ' . Util::backquote('tables_priv') - . 'SET Db = \'' . $GLOBALS['dbi']->escapeString($newname) - . '\' where Db = \'' . $GLOBALS['dbi']->escapeString($oldDb) . '\';'; - $GLOBALS['dbi']->query($query_table_specific); - - // For column specific privileges - $query_col_specific = 'UPDATE ' . Util::backquote('columns_priv') - . 'SET Db = \'' . $GLOBALS['dbi']->escapeString($newname) - . '\' where Db = \'' . $GLOBALS['dbi']->escapeString($oldDb) . '\';'; - $GLOBALS['dbi']->query($query_col_specific); - - // For procedures specific privileges - $query_proc_specific = 'UPDATE ' . Util::backquote('procs_priv') - . 'SET Db = \'' . $GLOBALS['dbi']->escapeString($newname) - . '\' where Db = \'' . $GLOBALS['dbi']->escapeString($oldDb) . '\';'; - $GLOBALS['dbi']->query($query_proc_specific); - - // Finally FLUSH the new privileges - $flush_query = "FLUSH PRIVILEGES;"; - $GLOBALS['dbi']->query($flush_query); - } -} - -/** - * Adjust the privileges after Copying the db - * - * @param string $oldDb Database name before copying - * @param string $newname New Database name requested - * - * @return void - */ -function PMA_AdjustPrivileges_copyDB($oldDb, $newname) -{ - if ($GLOBALS['db_priv'] && $GLOBALS['table_priv'] - && $GLOBALS['col_priv'] && $GLOBALS['proc_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $GLOBALS['dbi']->selectDb('mysql'); - $newname = str_replace("_", "\_", $newname); - $oldDb = str_replace("_", "\_", $oldDb); - - $query_db_specific_old = 'SELECT * FROM ' - . Util::backquote('db') . ' WHERE ' - . 'Db = "' . $oldDb . '";'; - - $old_privs_db = $GLOBALS['dbi']->fetchResult($query_db_specific_old, 0); - - foreach ($old_privs_db as $old_priv) { - $newDb_db_privs_query = 'INSERT INTO ' . Util::backquote('db') - . ' VALUES("' . $old_priv[0] . '", "' . $newname . '", "' - . $old_priv[2] . '", "' . $old_priv[3] . '", "' . $old_priv[4] - . '", "' . $old_priv[5] . '", "' . $old_priv[6] . '", "' - . $old_priv[7] . '", "' . $old_priv[8] . '", "' . $old_priv[9] - . '", "' . $old_priv[10] . '", "' . $old_priv[11] . '", "' - . $old_priv[12] . '", "' . $old_priv[13] . '", "' . $old_priv[14] - . '", "' . $old_priv[15] . '", "' . $old_priv[16] . '", "' - . $old_priv[17] . '", "' . $old_priv[18] . '", "' . $old_priv[19] - . '", "' . $old_priv[20] . '", "' . $old_priv[21] . '");'; - - $GLOBALS['dbi']->query($newDb_db_privs_query); - } - - // For Table Specific privileges - $query_table_specific_old = 'SELECT * FROM ' - . Util::backquote('tables_priv') . ' WHERE ' - . 'Db = "' . $oldDb . '";'; - - $old_privs_table = $GLOBALS['dbi']->fetchResult( - $query_table_specific_old, - 0 - ); - - foreach ($old_privs_table as $old_priv) { - $newDb_table_privs_query = 'INSERT INTO ' . Util::backquote( - 'tables_priv' - ) . ' VALUES("' . $old_priv[0] . '", "' . $newname . '", "' - . $old_priv[2] . '", "' . $old_priv[3] . '", "' . $old_priv[4] - . '", "' . $old_priv[5] . '", "' . $old_priv[6] . '", "' - . $old_priv[7] . '");'; - - $GLOBALS['dbi']->query($newDb_table_privs_query); - } - - // For Column Specific privileges - $query_col_specific_old = 'SELECT * FROM ' - . Util::backquote('columns_priv') . ' WHERE ' - . 'Db = "' . $oldDb . '";'; - - $old_privs_col = $GLOBALS['dbi']->fetchResult( - $query_col_specific_old, - 0 - ); - - foreach ($old_privs_col as $old_priv) { - $newDb_col_privs_query = 'INSERT INTO ' . Util::backquote( - 'columns_priv' - ) . ' VALUES("' . $old_priv[0] . '", "' . $newname . '", "' - . $old_priv[2] . '", "' . $old_priv[3] . '", "' . $old_priv[4] - . '", "' . $old_priv[5] . '", "' . $old_priv[6] . '");'; - - $GLOBALS['dbi']->query($newDb_col_privs_query); - } - - // For Procedure Specific privileges - $query_proc_specific_old = 'SELECT * FROM ' - . Util::backquote('procs_priv') . ' WHERE ' - . 'Db = "' . $oldDb . '";'; - - $old_privs_proc = $GLOBALS['dbi']->fetchResult( - $query_proc_specific_old, - 0 - ); - - foreach ($old_privs_proc as $old_priv) { - $newDb_proc_privs_query = 'INSERT INTO ' . Util::backquote( - 'procs_priv' - ) . ' VALUES("' . $old_priv[0] . '", "' . $newname . '", "' - . $old_priv[2] . '", "' . $old_priv[3] . '", "' . $old_priv[4] - . '", "' . $old_priv[5] . '", "' . $old_priv[6] . '", "' - . $old_priv[7] . '");'; - - $GLOBALS['dbi']->query($newDb_proc_privs_query); - } - - // Finally FLUSH the new privileges - $flush_query = "FLUSH PRIVILEGES;"; - $GLOBALS['dbi']->query($flush_query); - } -} - -/** - * Create all accumulated constraints - * - * @param array $sqlConstratints array of sql constraints for the database - * - * @return void - */ -function PMA_createAllAccumulatedConstraints($sqlConstratints) -{ - $GLOBALS['dbi']->selectDb($_REQUEST['newname']); - foreach ($sqlConstratints as $one_query) { - $GLOBALS['dbi']->query($one_query); - // and prepare to display them - $GLOBALS['sql_query'] .= "\n" . $one_query; - } -} - -/** - * Duplicate the bookmarks for the db (done once for each db) - * - * @param boolean $_error whether table rename/copy or not - * @param string $db database name - * - * @return void - */ -function PMA_duplicateBookmarks($_error, $db) -{ - if (! $_error && $db != $_REQUEST['newname']) { - $get_fields = array('user', 'label', 'query'); - $where_fields = array('dbase' => $db); - $new_fields = array('dbase' => $_REQUEST['newname']); - Table::duplicateInfo( - 'bookmarkwork', 'bookmark', $get_fields, - $where_fields, $new_fields - ); - } -} - -/** - * Get the HTML snippet for order the table - * - * @param array $columns columns array - * - * @return string $html_out - */ -function PMA_getHtmlForOrderTheTable($columns) -{ - $html_output = '
'; - $html_output .= '
'; - $html_output .= URL::getHiddenInputs( - $GLOBALS['db'], $GLOBALS['table'] - ); - $html_output .= '
' - . '' . __('Alter table order by') . '' - . ' ' . __('(singly)') . ' ' - . '
' - . '' - . '' - . '' - . '' - . '
' - . '
' - . '' - . '' - . '
' - . '
' - . '
'; - - return $html_output; -} - -/** - * Get the HTML snippet for move table - * - * @return string $html_output - */ -function PMA_getHtmlForMoveTable() -{ - $html_output = '
'; - $html_output .= '
' - . URL::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); - - $html_output .= '' - . '' - . '
'; - - $html_output .= '' . __('Move table to (database.table)') - . ''; - - if (count($GLOBALS['dblist']->databases) > $GLOBALS['cfg']['MaxDbList']) { - $html_output .= ''; - } else { - $html_output .= ''; - } - $html_output .= ' . '; - $html_output .= '
'; - - // starting with MySQL 5.0.24, SHOW CREATE TABLE includes the AUTO_INCREMENT - // next value but users can decide if they want it or not for the operation - - $html_output .= '' - . '
'; - - if ($GLOBALS['table_priv'] && $GLOBALS['col_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $html_output .= ''; - } else { - $html_output .= ''; - } - $html_output .= '
'; - - $html_output .= '
' - . '' - . '
' - . '
' - . '
'; - - return $html_output; -} - -/** - * Get the HTML div for Table option - * - * @param Table $pma_table Table object - * @param string $comment Comment - * @param array $tbl_collation table collation - * @param string $tbl_storage_engine table storage engine - * @param string $pack_keys pack keys - * @param string $auto_increment value of auto increment - * @param string $delay_key_write delay key write - * @param string $transactional value of transactional - * @param string $page_checksum value of page checksum - * @param string $checksum the checksum - * - * @return string $html_output - */ -function PMA_getTableOptionDiv($pma_table, $comment, $tbl_collation, $tbl_storage_engine, - $pack_keys, $auto_increment, $delay_key_write, - $transactional, $page_checksum, $checksum -) { - $html_output = '
'; - $html_output .= '
' - . '' - . '' - . '
' - . '
'; - - return $html_output; -} - -/** - * Get HTML for the rename table part of table options - * - * @return string $html_output - */ -function PMA_getHtmlForRenameTable() -{ - $html_output = '' . __('Rename table to') . '' - . '' - . '' - . '' - . ''; - - if ($GLOBALS['table_priv'] && $GLOBALS['col_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $html_output .= ''; - } else { - $html_output .= ''; - } - $html_output .= ''; - - $html_output .= ''; - return $html_output; -} - -/** - * Get HTML for the table comments part of table options - * - * @param string $current_value of the table comments - * - * @return string $html_output - */ -function PMA_getHtmlForTableComments($current_value) -{ - $commentLength = PMA_MYSQL_INT_VERSION >= 50503 ? 2048 : 60; - $html_output = '' . __('Table comments') . '' - . '' - . '' - . '' - . ''; - - return $html_output; -} - -/** - * Get HTML for the PACK KEYS part of table options - * - * @param string $current_value of the pack keys option - * - * @return string $html_output - */ -function PMA_getHtmlForPackKeys($current_value) -{ - $html_output = '' - . '' - . '' - . '' - . ''; - - if ($pma_table->isEngine(array('MYISAM', 'ARIA', 'ISAM'))) { - $html_output .= PMA_getHtmlForPackKeys($pack_keys); - } // end if (MYISAM|ISAM) - - if ($pma_table->isEngine(array('MYISAM', 'ARIA'))) { - $html_output .= PMA_getHtmlForTableRow( - 'new_checksum', - 'CHECKSUM', - $checksum - ); - - $html_output .= PMA_getHtmlForTableRow( - 'new_delay_key_write', - 'DELAY_KEY_WRITE', - $delay_key_write - ); - } // end if (MYISAM) - - if ($pma_table->isEngine('ARIA')) { - $html_output .= PMA_getHtmlForTableRow( - 'new_transactional', - 'TRANSACTIONAL', - $transactional - ); - - $html_output .= PMA_getHtmlForTableRow( - 'new_page_checksum', - 'PAGE_CHECKSUM', - $page_checksum - ); - } // end if (ARIA) - - if (strlen($auto_increment) > 0 - && $pma_table->isEngine(array('MYISAM', 'ARIA', 'INNODB', 'PBXT')) - ) { - $html_output .= '' - . '' - . '' - . ' '; - } // end if (MYISAM|INNODB) - - $possible_row_formats = PMA_getPossibleRowFormat(); - - // for MYISAM there is also COMPRESSED but it can be set only by the - // myisampack utility, so don't offer here the choice because if we - // try it inside an ALTER TABLE, MySQL (at least in 5.1.23-maria) - // does not return a warning - // (if the table was compressed, it can be seen on the Structure page) - - if (isset($possible_row_formats[$tbl_storage_engine])) { - $current_row_format - = mb_strtoupper($GLOBALS['showtable']['Row_format']); - $html_output .= '' - . '' - . ''; - $html_output .= Util::getDropdown( - 'new_row_format', $possible_row_formats[$tbl_storage_engine], - $current_row_format, 'new_row_format' - ); - $html_output .= ''; - } - $html_output .= '' - . ''; - - return $html_output; -} - -/** - * Get the common HTML table row (tr) for new_checksum, new_delay_key_write, - * new_transactional and new_page_checksum - * - * @param string $attribute class, name and id attribute - * @param string $label label value - * @param string $val checksum, delay_key_write, transactional, page_checksum - * - * @return string $html_output - */ -function PMA_getHtmlForTableRow($attribute, $label, $val) -{ - return '' - . '' - . '' - . '' - . '' - . '' - . '' - . ''; -} - -/** - * Get array of possible row formats - * - * @return array $possible_row_formats - */ -function PMA_getPossibleRowFormat() -{ - // the outer array is for engines, the inner array contains the dropdown - // option values as keys then the dropdown option labels - - $possible_row_formats = array( - 'ARCHIVE' => array( - 'COMPRESSED' => 'COMPRESSED', - ), - 'ARIA' => array( - 'FIXED' => 'FIXED', - 'DYNAMIC' => 'DYNAMIC', - 'PAGE' => 'PAGE' - ), - 'MARIA' => array( - 'FIXED' => 'FIXED', - 'DYNAMIC' => 'DYNAMIC', - 'PAGE' => 'PAGE' - ), - 'MYISAM' => array( - 'FIXED' => 'FIXED', - 'DYNAMIC' => 'DYNAMIC' - ), - 'PBXT' => array( - 'FIXED' => 'FIXED', - 'DYNAMIC' => 'DYNAMIC' - ), - 'INNODB' => array( - 'COMPACT' => 'COMPACT', - 'REDUNDANT' => 'REDUNDANT' - ) - ); - - /** @var Innodb $innodbEnginePlugin */ - $innodbEnginePlugin = StorageEngine::getEngine('Innodb'); - $innodbPluginVersion = $innodbEnginePlugin->getInnodbPluginVersion(); - if (!empty($innodbPluginVersion)) { - $innodb_file_format = $innodbEnginePlugin->getInnodbFileFormat(); - } else { - $innodb_file_format = ''; - } - if ('Barracuda' == $innodb_file_format - && $innodbEnginePlugin->supportsFilePerTable() - ) { - $possible_row_formats['INNODB']['DYNAMIC'] = 'DYNAMIC'; - $possible_row_formats['INNODB']['COMPRESSED'] = 'COMPRESSED'; - } - - return $possible_row_formats; -} - -/** - * Get HTML div for copy table - * - * @return string $html_output - */ -function PMA_getHtmlForCopytable() -{ - $html_output = '
'; - $html_output .= '
' - . URL::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']) - . ''; - - $html_output .= '
'; - $html_output .= '' - . __('Copy table to (database.table)') . ''; - - if (count($GLOBALS['dblist']->databases) > $GLOBALS['cfg']['MaxDbList']) { - $html_output .= ''; - } else { - $html_output .= ''; - } - $html_output .= ' . '; - $html_output .= '
'; - - $choices = array( - 'structure' => __('Structure only'), - 'data' => __('Structure and data'), - 'dataonly' => __('Data only') - ); - - $html_output .= Util::getRadioFields( - 'what', $choices, 'data', true - ); - $html_output .= '
'; - - $html_output .= '' - . '
' - . '' - . '
'; - - // display "Add constraints" choice only if there are - // foreign keys - if (PMA_getForeigners($GLOBALS['db'], $GLOBALS['table'], '', 'foreign')) { - $html_output .= ''; - $html_output .= '
'; - } // endif - - $html_output .= '
'; - - if ($GLOBALS['table_priv'] && $GLOBALS['col_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $html_output .= ''; - } else { - $html_output .= ''; - } - $html_output .= '
'; - - if (isset($_COOKIE['pma_switch_to_new']) - && $_COOKIE['pma_switch_to_new'] == 'true' - ) { - $pma_switch_to_new = 'true'; - } - - $html_output .= ''); - $html_output .= '' - . '
'; - - $html_output .= '
' - . '' - . '
' - . '
' - . '
'; - - return $html_output; -} - -/** - * Get HTML snippet for table maintenance - * - * @param Table $pma_table Table object - * @param array $url_params array of URL parameters - * - * @return string $html_output - */ -function PMA_getHtmlForTableMaintenance($pma_table, $url_params) -{ - $html_output = '
'; - $html_output .= '
' - . '' . __('Table maintenance') . ''; - $html_output .= '
    '; - - // Note: BERKELEY (BDB) is no longer supported, starting with MySQL 5.1 - $html_output .= PMA_getListofMaintainActionLink($pma_table, $url_params); - - $html_output .= '
' - . '
' - . '
'; - - return $html_output; -} - -/** - * Get HTML 'li' having a link of maintain action - * - * @param Table $pma_table Table object - * @param array $url_params Array of URL parameters - * - * @return string $html_output - */ -function PMA_getListofMaintainActionLink($pma_table, $url_params) -{ - $html_output = ''; - - // analyze table - if ($pma_table->isEngine(array('MYISAM', 'ARIA', 'INNODB', 'BERKELEYDB', 'TOKUDB'))) { - $params = array( - 'sql_query' => 'ANALYZE TABLE ' - . Util::backquote($GLOBALS['table']), - 'table_maintenance' => 'Go', - ); - $html_output .= PMA_getMaintainActionlink( - __('Analyze table'), - $params, - $url_params, - 'ANALYZE_TABLE' - ); - } - - // check table - if ($pma_table->isEngine(array('MYISAM', 'ARIA', 'INNODB', 'TOKUDB'))) { - $params = array( - 'sql_query' => 'CHECK TABLE ' - . Util::backquote($GLOBALS['table']), - 'table_maintenance' => 'Go', - ); - $html_output .= PMA_getMaintainActionlink( - __('Check table'), - $params, - $url_params, - 'CHECK_TABLE' - ); - } - - // checksum table - $params = array( - 'sql_query' => 'CHECKSUM TABLE ' - . Util::backquote($GLOBALS['table']), - 'table_maintenance' => 'Go', - ); - $html_output .= PMA_getMaintainActionlink( - __('Checksum table'), - $params, - $url_params, - 'CHECKSUM_TABLE' - ); - - // defragment table - if ($pma_table->isEngine(array('INNODB'))) { - $params = array( - 'sql_query' => 'ALTER TABLE ' - . Util::backquote($GLOBALS['table']) - . ' ENGINE = InnoDB;' - ); - $html_output .= PMA_getMaintainActionlink( - __('Defragment table'), - $params, - $url_params, - 'InnoDB_File_Defragmenting' - ); - } - - // flush table - $params = array( - 'sql_query' => 'FLUSH TABLE ' - . Util::backquote($GLOBALS['table']), - 'message_to_show' => sprintf( - __('Table %s has been flushed.'), - htmlspecialchars($GLOBALS['table']) - ), - 'reload' => 1, - ); - $html_output .= PMA_getMaintainActionlink( - __('Flush the table (FLUSH)'), - $params, - $url_params, - 'FLUSH' - ); - - // optimize table - if ($pma_table->isEngine(array('MYISAM', 'ARIA', 'INNODB', 'BERKELEYDB', 'TOKUDB'))) { - $params = array( - 'sql_query' => 'OPTIMIZE TABLE ' - . Util::backquote($GLOBALS['table']), - 'table_maintenance' => 'Go', - ); - $html_output .= PMA_getMaintainActionlink( - __('Optimize table'), - $params, - $url_params, - 'OPTIMIZE_TABLE' - ); - } - - // repair table - if ($pma_table->isEngine(array('MYISAM', 'ARIA'))) { - $params = array( - 'sql_query' => 'REPAIR TABLE ' - . Util::backquote($GLOBALS['table']), - 'table_maintenance' => 'Go', - ); - $html_output .= PMA_getMaintainActionlink( - __('Repair table'), - $params, - $url_params, - 'REPAIR_TABLE' - ); - } - - return $html_output; -} - -/** - * Get maintain action HTML link - * - * @param string $action_message action message - * @param array $params url parameters array - * @param array $url_params additional url parameters - * @param string $link contains name of page/anchor that is being linked - * - * @return string $html_output - */ -function PMA_getMaintainActionlink($action_message, $params, $url_params, $link) -{ - return '
  • ' - . '' - . $action_message - . '' - . Util::showMySQLDocu($link) - . '
  • '; -} - -/** - * Get HTML for Delete data or table (truncate table, drop table) - * - * @param array $truncate_table_url_params url parameter array for truncate table - * @param array $dropTableUrlParams url parameter array for drop table - * - * @return string $html_output - */ -function PMA_getHtmlForDeleteDataOrTable( - $truncate_table_url_params, - $dropTableUrlParams -) { - $html_output = '
    ' - . '
    ' - . '' . __('Delete data or table') . ''; - - $html_output .= '
      '; - - if (! empty($truncate_table_url_params)) { - $html_output .= PMA_getDeleteDataOrTablelink( - $truncate_table_url_params, - 'TRUNCATE_TABLE', - __('Empty the table (TRUNCATE)'), - 'truncate_tbl_anchor' - ); - } - if (!empty($dropTableUrlParams)) { - $html_output .= PMA_getDeleteDataOrTablelink( - $dropTableUrlParams, - 'DROP_TABLE', - __('Delete the table (DROP)'), - 'drop_tbl_anchor' - ); - } - $html_output .= '
    '; - - return $html_output; -} - -/** - * Get the HTML link for Truncate table, Drop table and Drop db - * - * @param array $url_params url parameter array for delete data or table - * @param string $syntax TRUNCATE_TABLE or DROP_TABLE or DROP_DATABASE - * @param string $link link to be shown - * @param string $htmlId id of the link - * - * @return String html output - */ -function PMA_getDeleteDataOrTablelink($url_params, $syntax, $link, $htmlId) -{ - return '
  • ' - . $link . '' - . Util::showMySQLDocu($syntax) - . '
  • '; -} - -/** - * Get HTML snippet for partition maintenance - * - * @param array $partition_names array of partition names for a specific db/table - * @param array $url_params url parameters - * - * @return string $html_output - */ -function PMA_getHtmlForPartitionMaintenance($partition_names, $url_params) -{ - $choices = array( - 'ANALYZE' => __('Analyze'), - 'CHECK' => __('Check'), - 'OPTIMIZE' => __('Optimize'), - 'REBUILD' => __('Rebuild'), - 'REPAIR' => __('Repair'), - 'TRUNCATE' => __('Truncate') - ); - - $partition_method = Partition::getPartitionMethod( - $GLOBALS['db'], $GLOBALS['table'] - ); - // add COALESCE or DROP option to choices array depeding on Partition method - if ($partition_method == 'RANGE' - || $partition_method == 'RANGE COLUMNS' - || $partition_method == 'LIST' - || $partition_method == 'LIST COLUMNS' - ) { - $choices['DROP'] = __('Drop'); - } else { - $choices['COALESCE'] = __('Coalesce'); - } - - $html_output = '
    ' - . '
    ' - . URL::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']) - . '
    ' - . '' - . __('Partition maintenance') - . Util::showMySQLDocu('partitioning_maintenance') - . ''; - - $html_select = '' . "\n"; - $html_output .= sprintf(__('Partition %s'), $html_select); - - $html_output .= '
    '; - $html_output .= Util::getRadioFields( - 'partition_operation', $choices, 'ANALYZE', false, true, 'floatleft' - ); - $this_url_params = array_merge( - $url_params, - array( - 'sql_query' => 'ALTER TABLE ' - . Util::backquote($GLOBALS['table']) - . ' REMOVE PARTITIONING;' - ) - ); - $html_output .= '

    '; - - $html_output .= '' - . __('Remove partitioning') . ''; - - $html_output .= '
    ' - . '
    ' - . '' - . '' - . '
    ' - . '
    ' - . '
    '; - - return $html_output; -} - -/** - * Get the HTML for Referential Integrity check - * - * @param array $foreign all Relations to foreign tables for a given table - * or optionally a given column in a table - * @param array $url_params array of url parameters - * - * @return string $html_output - */ -function PMA_getHtmlForReferentialIntegrityCheck($foreign, $url_params) -{ - $html_output = '
    ' - . '
    ' - . '' . __('Check referential integrity:') . ''; - - $html_output .= '
      '; - - foreach ($foreign as $master => $arr) { - $join_query = 'SELECT ' - . Util::backquote($GLOBALS['table']) . '.*' - . ' FROM ' . Util::backquote($GLOBALS['table']) - . ' LEFT JOIN ' - . Util::backquote($arr['foreign_db']) - . '.' - . Util::backquote($arr['foreign_table']); - if ($arr['foreign_table'] == $GLOBALS['table']) { - $foreign_table = $GLOBALS['table'] . '1'; - $join_query .= ' AS ' . Util::backquote($foreign_table); - } else { - $foreign_table = $arr['foreign_table']; - } - $join_query .= ' ON ' - . Util::backquote($GLOBALS['table']) . '.' - . Util::backquote($master) - . ' = ' - . Util::backquote($arr['foreign_db']) - . '.' - . Util::backquote($foreign_table) . '.' - . Util::backquote($arr['foreign_field']) - . ' WHERE ' - . Util::backquote($arr['foreign_db']) - . '.' - . Util::backquote($foreign_table) . '.' - . Util::backquote($arr['foreign_field']) - . ' IS NULL AND ' - . Util::backquote($GLOBALS['table']) . '.' - . Util::backquote($master) - . ' IS NOT NULL'; - $this_url_params = array_merge( - $url_params, - array('sql_query' => $join_query) - ); - - $html_output .= '
    • ' - . '' - . $master . ' -> ' . $arr['foreign_db'] . '.' - . $arr['foreign_table'] . '.' . $arr['foreign_field'] - . '
    • ' . "\n"; - } // foreach $foreign - $html_output .= '
    '; - - return $html_output; -} - -/** - * Reorder table based on request params - * - * @return array SQL query and result - */ -function PMA_getQueryAndResultForReorderingTable() -{ - $sql_query = 'ALTER TABLE ' - . Util::backquote($GLOBALS['table']) - . ' ORDER BY ' - . Util::backquote(urldecode($_REQUEST['order_field'])); - if (isset($_REQUEST['order_order']) - && $_REQUEST['order_order'] === 'desc' - ) { - $sql_query .= ' DESC'; - } else { - $sql_query .= ' ASC'; - } - $sql_query .= ';'; - $result = $GLOBALS['dbi']->query($sql_query); - - return array($sql_query, $result); -} - -/** - * Get table alters array - * - * @param Table $pma_table The Table object - * @param string $pack_keys pack keys - * @param string $checksum value of checksum - * @param string $page_checksum value of page checksum - * @param string $delay_key_write delay key write - * @param string $row_format row format - * @param string $newTblStorageEngine table storage engine - * @param string $transactional value of transactional - * @param string $tbl_collation collation of the table - * - * @return array $table_alters - */ -function PMA_getTableAltersArray($pma_table, $pack_keys, - $checksum, $page_checksum, $delay_key_write, - $row_format, $newTblStorageEngine, $transactional, $tbl_collation -) { - global $auto_increment; - - $table_alters = array(); - - if (isset($_REQUEST['comment']) - && urldecode($_REQUEST['prev_comment']) !== $_REQUEST['comment'] - ) { - $table_alters[] = 'COMMENT = \'' - . $GLOBALS['dbi']->escapeString($_REQUEST['comment']) . '\''; - } - - if (! empty($newTblStorageEngine) - && mb_strtolower($newTblStorageEngine) !== mb_strtolower($GLOBALS['tbl_storage_engine']) - ) { - $table_alters[] = 'ENGINE = ' . $newTblStorageEngine; - } - if (! empty($_REQUEST['tbl_collation']) - && $_REQUEST['tbl_collation'] !== $tbl_collation - ) { - $table_alters[] = 'DEFAULT ' - . Util::getCharsetQueryPart($_REQUEST['tbl_collation']); - } - - if ($pma_table->isEngine(array('MYISAM', 'ARIA', 'ISAM')) - && isset($_REQUEST['new_pack_keys']) - && $_REQUEST['new_pack_keys'] != (string)$pack_keys - ) { - $table_alters[] = 'pack_keys = ' . $_REQUEST['new_pack_keys']; - } - - $_REQUEST['new_checksum'] = empty($_REQUEST['new_checksum']) ? '0' : '1'; - if ($pma_table->isEngine(array('MYISAM', 'ARIA')) - && $_REQUEST['new_checksum'] !== $checksum - ) { - $table_alters[] = 'checksum = ' . $_REQUEST['new_checksum']; - } - - $_REQUEST['new_transactional'] - = empty($_REQUEST['new_transactional']) ? '0' : '1'; - if ($pma_table->isEngine('ARIA') - && $_REQUEST['new_transactional'] !== $transactional - ) { - $table_alters[] = 'TRANSACTIONAL = ' . $_REQUEST['new_transactional']; - } - - $_REQUEST['new_page_checksum'] - = empty($_REQUEST['new_page_checksum']) ? '0' : '1'; - if ($pma_table->isEngine('ARIA') - && $_REQUEST['new_page_checksum'] !== $page_checksum - ) { - $table_alters[] = 'PAGE_CHECKSUM = ' . $_REQUEST['new_page_checksum']; - } - - $_REQUEST['new_delay_key_write'] - = empty($_REQUEST['new_delay_key_write']) ? '0' : '1'; - if ($pma_table->isEngine(array('MYISAM', 'ARIA')) - && $_REQUEST['new_delay_key_write'] !== $delay_key_write - ) { - $table_alters[] = 'delay_key_write = ' . $_REQUEST['new_delay_key_write']; - } - - if ($pma_table->isEngine(array('MYISAM', 'ARIA', 'INNODB', 'PBXT')) - && ! empty($_REQUEST['new_auto_increment']) - && (! isset($auto_increment) - || $_REQUEST['new_auto_increment'] !== $auto_increment) - ) { - $table_alters[] = 'auto_increment = ' - . $GLOBALS['dbi']->escapeString($_REQUEST['new_auto_increment']); - } - - if (! empty($_REQUEST['new_row_format'])) { - $newRowFormat = $_REQUEST['new_row_format']; - $newRowFormatLower = mb_strtolower($newRowFormat); - if ($pma_table->isEngine(array('MYISAM', 'ARIA', 'INNODB', 'PBXT')) - && (strlen($row_format) === 0 - || $newRowFormatLower !== mb_strtolower($row_format)) - ) { - $table_alters[] = 'ROW_FORMAT = ' - . $GLOBALS['dbi']->escapeString($newRowFormat); - } - } - - return $table_alters; -} - -/** - * Get warning messages array - * - * @return array $warning_messages - */ -function PMA_getWarningMessagesArray() -{ - $warning_messages = array(); - foreach ($GLOBALS['dbi']->getWarnings() as $warning) { - // In MariaDB 5.1.44, when altering a table from Maria to MyISAM - // and if TRANSACTIONAL was set, the system reports an error; - // I discussed with a Maria developer and he agrees that this - // should not be reported with a Level of Error, so here - // I just ignore it. But there are other 1478 messages - // that it's better to show. - if (! ($_REQUEST['new_tbl_storage_engine'] == 'MyISAM' - && $warning['Code'] == '1478' - && $warning['Level'] == 'Error') - ) { - $warning_messages[] = $warning['Level'] . ': #' . $warning['Code'] - . ' ' . $warning['Message']; - } - } - return $warning_messages; -} - -/** - * Get SQL query and result after ran this SQL query for a partition operation - * has been requested by the user - * - * @return array $sql_query, $result - */ -function PMA_getQueryAndResultForPartition() -{ - $sql_query = 'ALTER TABLE ' - . Util::backquote($GLOBALS['table']) . ' ' - . $_REQUEST['partition_operation'] - . ' PARTITION '; - - if ($_REQUEST['partition_operation'] == 'COALESCE') { - $sql_query .= count($_REQUEST['partition_name']); - } else { - $sql_query .= implode(', ', $_REQUEST['partition_name']) . ';'; - } - - $result = $GLOBALS['dbi']->query($sql_query); - - return array($sql_query, $result); -} - -/** - * Adjust the privileges after renaming/moving a table - * - * @param string $oldDb Database name before table renaming/moving table - * @param string $oldTable Table name before table renaming/moving table - * @param string $newDb Database name after table renaming/ moving table - * @param string $newTable Table name after table renaming/moving table - * - * @return void - */ -function PMA_AdjustPrivileges_renameOrMoveTable($oldDb, $oldTable, $newDb, $newTable) -{ - if ($GLOBALS['table_priv'] && $GLOBALS['col_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $GLOBALS['dbi']->selectDb('mysql'); - - // For table specific privileges - $query_table_specific = 'UPDATE ' . Util::backquote('tables_priv') - . 'SET Db = \'' . $GLOBALS['dbi']->escapeString($newDb) . '\', Table_name = \'' . $GLOBALS['dbi']->escapeString($newTable) - . '\' where Db = \'' . $GLOBALS['dbi']->escapeString($oldDb) . '\' AND Table_name = \'' . $GLOBALS['dbi']->escapeString($oldTable) - . '\';'; - $GLOBALS['dbi']->query($query_table_specific); - - // For column specific privileges - $query_col_specific = 'UPDATE ' . Util::backquote('columns_priv') - . 'SET Db = \'' . $GLOBALS['dbi']->escapeString($newDb) . '\', Table_name = \'' . $GLOBALS['dbi']->escapeString($newTable) - . '\' where Db = \'' . $GLOBALS['dbi']->escapeString($oldDb) . '\' AND Table_name = \'' . $GLOBALS['dbi']->escapeString($oldTable) - . '\';'; - $GLOBALS['dbi']->query($query_col_specific); - - // Finally FLUSH the new privileges - $flush_query = "FLUSH PRIVILEGES;"; - $GLOBALS['dbi']->query($flush_query); - } -} - -/** - * Adjust the privileges after copying a table - * - * @param string $oldDb Database name before table copying - * @param string $oldTable Table name before table copying - * @param string $newDb Database name after table copying - * @param string $newTable Table name after table copying - * - * @return void - */ -function PMA_AdjustPrivileges_copyTable($oldDb, $oldTable, $newDb, $newTable) -{ - if ($GLOBALS['table_priv'] && $GLOBALS['col_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $GLOBALS['dbi']->selectDb('mysql'); - - // For Table Specific privileges - $query_table_specific_old = 'SELECT * FROM ' - . Util::backquote('tables_priv') . ' where ' - . 'Db = "' . $oldDb . '" AND Table_name = "' . $oldTable . '";'; - - $old_privs_table = $GLOBALS['dbi']->fetchResult( - $query_table_specific_old, - 0 - ); - - foreach ($old_privs_table as $old_priv) { - $newDb_table_privs_query = 'INSERT INTO ' - . Util::backquote('tables_priv') . ' VALUES("' - . $old_priv[0] . '", "' . $newDb . '", "' . $old_priv[2] . '", "' - . $newTable . '", "' . $old_priv[4] . '", "' . $old_priv[5] - . '", "' . $old_priv[6] . '", "' . $old_priv[7] . '");'; - - $GLOBALS['dbi']->query($newDb_table_privs_query); - } - - // For Column Specific privileges - $query_col_specific_old = 'SELECT * FROM ' - . Util::backquote('columns_priv') . ' WHERE ' - . 'Db = "' . $oldDb . '" AND Table_name = "' . $oldTable . '";'; - - $old_privs_col = $GLOBALS['dbi']->fetchResult( - $query_col_specific_old, - 0 - ); - - foreach ($old_privs_col as $old_priv) { - $newDb_col_privs_query = 'INSERT INTO ' - . Util::backquote('columns_priv') . ' VALUES("' - . $old_priv[0] . '", "' . $newDb . '", "' . $old_priv[2] . '", "' - . $newTable . '", "' . $old_priv[4] . '", "' . $old_priv[5] - . '", "' . $old_priv[6] . '");'; - - $GLOBALS['dbi']->query($newDb_col_privs_query); - } - - // Finally FLUSH the new privileges - $flush_query = "FLUSH PRIVILEGES;"; - $GLOBALS['dbi']->query($flush_query); - } -} - -/** - * Change all collations and character sets of all columns in table - * - * @param string $db Database name - * @param string $table Table name - * @param string $tbl_collation Collation Name - * - * @return void - */ -function PMA_changeAllColumnsCollation($db, $table, $tbl_collation) -{ - $GLOBALS['dbi']->selectDb($db); - - $change_all_collations_query = 'ALTER TABLE ' - . Util::backquote($table) - . ' CONVERT TO'; - - list($charset) = explode('_', $tbl_collation); - - $change_all_collations_query .= ' CHARACTER SET ' . $charset - . ($charset == $tbl_collation ? '' : ' COLLATE ' . $tbl_collation); - - $GLOBALS['dbi']->query($change_all_collations_query); -} - -/** - * Move or copy a table - * - * @param string $db current database name - * @param string $table current table name - * - * @return void - */ -function PMA_moveOrCopyTable($db, $table) -{ - /** - * Selects the database to work with - */ - $GLOBALS['dbi']->selectDb($db); - - /** - * $_REQUEST['target_db'] could be empty in case we came from an input field - * (when there are many databases, no drop-down) - */ - if (empty($_REQUEST['target_db'])) { - $_REQUEST['target_db'] = $db; - } - - /** - * A target table name has been sent to this script -> do the work - */ - if (PMA_isValid($_REQUEST['new_name'])) { - if ($db == $_REQUEST['target_db'] && $table == $_REQUEST['new_name']) { - if (isset($_REQUEST['submit_move'])) { - $message = Message::error(__('Can\'t move table to same one!')); - } else { - $message = Message::error(__('Can\'t copy table to same one!')); - } - } else { - Table::moveCopy( - $db, $table, $_REQUEST['target_db'], $_REQUEST['new_name'], - $_REQUEST['what'], isset($_REQUEST['submit_move']), 'one_table' - ); - - if (isset($_REQUEST['adjust_privileges']) - && ! empty($_REQUEST['adjust_privileges']) - ) { - if (isset($_REQUEST['submit_move'])) { - PMA_AdjustPrivileges_renameOrMoveTable( - $db, $table, $_REQUEST['target_db'], $_REQUEST['new_name'] - ); - } else { - PMA_AdjustPrivileges_copyTable( - $db, $table, $_REQUEST['target_db'], $_REQUEST['new_name'] - ); - } - - if (isset($_REQUEST['submit_move'])) { - $message = Message::success( - __( - 'Table %s has been moved to %s. Privileges have been ' - . 'adjusted.' - ) - ); - } else { - $message = Message::success( - __( - 'Table %s has been copied to %s. Privileges have been ' - . 'adjusted.' - ) - ); - } - - } else { - if (isset($_REQUEST['submit_move'])) { - $message = Message::success( - __('Table %s has been moved to %s.') - ); - } else { - $message = Message::success( - __('Table %s has been copied to %s.') - ); - } - } - - $old = Util::backquote($db) . '.' - . Util::backquote($table); - $message->addParam($old); - - - $new_name = $_REQUEST['new_name']; - if ($GLOBALS['dbi']->getLowerCaseNames() === '1') { - $new_name = strtolower($new_name); - } - - $new = Util::backquote($_REQUEST['target_db']) . '.' - . Util::backquote($new_name); - $message->addParam($new); - - /* Check: Work on new table or on old table? */ - if (isset($_REQUEST['submit_move']) - || PMA_isValid($_REQUEST['switch_to_new']) - ) { - } - } - } else { - /** - * No new name for the table! - */ - $message = Message::error(__('The table name is empty!')); - } - - $response = Response::getInstance(); - if ($response->isAjax()) { - $response->addJSON('message', $message); - if ($message->isSuccess()) { - $response->addJSON('db', $GLOBALS['db']); - } else { - $response->setRequestStatus(false); - } - exit; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/parse_analyze.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/parse_analyze.lib.php deleted file mode 100644 index 8efeac96..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/parse_analyze.lib.php +++ /dev/null @@ -1,71 +0,0 @@ - 1) { - - /** - * @todo if there are more than one table name in the Select: - * - do not extract the first table name - * - do not show a table name in the page header - * - do not display the sub-pages links) - */ - $table = ''; - } else { - $table = $analyzed_sql_results['select_tables'][0][0]; - if (!empty($analyzed_sql_results['select_tables'][0][1])) { - $db = $analyzed_sql_results['select_tables'][0][1]; - } - } - // There is no point checking if a reload is required if we already decided - // to reload. Also, no reload is required for AJAX requests. - $response = Response::getInstance(); - if (empty($reload) && ! $response->isAjax()) { - // NOTE: Database names are case-insensitive. - $reload = strcasecmp($db, $prev_db) != 0; - } - - // Updating the array. - $analyzed_sql_results['reload'] = $reload; - } - - return array($analyzed_sql_results, $db, $table); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugin_interface.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugin_interface.lib.php deleted file mode 100644 index 0376e87e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugin_interface.lib.php +++ /dev/null @@ -1,578 +0,0 @@ -getProperties()) { - $plugin_list[] = $plugin; - } - } - } - } - - ksort($plugin_list); - return $plugin_list; -} - -/** - * Returns locale string for $name or $name if no locale is found - * - * @param string $name for local string - * - * @return string locale string for $name - */ -function PMA_getString($name) -{ - return isset($GLOBALS[$name]) ? $GLOBALS[$name] : $name; -} - -/** - * Returns html input tag option 'checked' if plugin $opt - * should be set by config or request - * - * @param string $section name of config section in - * $GLOBALS['cfg'][$section] for plugin - * @param string $opt name of option - * - * @return string html input tag option 'checked' - */ -function PMA_pluginCheckboxCheck($section, $opt) -{ - // If the form is being repopulated using $_GET data, that is priority - if (isset($_GET[$opt]) - || ! isset($_GET['repopulate']) - && ((! empty($GLOBALS['timeout_passed']) && isset($_REQUEST[$opt])) - || ! empty($GLOBALS['cfg'][$section][$opt])) - ) { - return ' checked="checked"'; - } - return ''; -} - -/** - * Returns default value for option $opt - * - * @param string $section name of config section in - * $GLOBALS['cfg'][$section] for plugin - * @param string $opt name of option - * - * @return string default value for option $opt - */ -function PMA_pluginGetDefault($section, $opt) -{ - if (isset($_GET[$opt])) { - // If the form is being repopulated using $_GET data, that is priority - return htmlspecialchars($_GET[$opt]); - } - - if (isset($GLOBALS['timeout_passed']) - && $GLOBALS['timeout_passed'] - && isset($_REQUEST[$opt]) - ) { - return htmlspecialchars($_REQUEST[$opt]); - } - - if (!isset($GLOBALS['cfg'][$section][$opt])) { - return ''; - } - - $matches = array(); - /* Possibly replace localised texts */ - if (!preg_match_all( - '/(str[A-Z][A-Za-z0-9]*)/', - $GLOBALS['cfg'][$section][$opt], - $matches - )) { - return htmlspecialchars($GLOBALS['cfg'][$section][$opt]); - } - - $val = $GLOBALS['cfg'][$section][$opt]; - foreach ($matches[0] as $match) { - if (isset($GLOBALS[$match])) { - $val = str_replace($match, $GLOBALS[$match], $val); - } - } - return htmlspecialchars($val); -} - -/** - * Returns html select form element for plugin choice - * and hidden fields denoting whether each plugin must be exported as a file - * - * @param string $section name of config section in - * $GLOBALS['cfg'][$section] for plugin - * @param string $name name of select element - * @param array &$list array with plugin instances - * @param string $cfgname name of config value, if none same as $name - * - * @return string html select tag - */ -function PMA_pluginGetChoice($section, $name, &$list, $cfgname = null) -{ - if (! isset($cfgname)) { - $cfgname = $name; - } - $ret = '' . "\n"; - } - $ret .= '' . "\n" . $hidden; - - return $ret; -} - -/** - * Returns single option in a list element - * - * @param string $section name of - * config - * section in - * $GLOBALS['cfg'][$section] - * for plugin - * @param string $plugin_name unique plugin - * name - * @param array|\PMA\libraries\properties\PropertyItem &$propertyGroup options - * property main - * group - * instance - * @param boolean $is_subgroup if this group - * is a subgroup - * - * @return string table row with option - */ -function PMA_pluginGetOneOption( - $section, - $plugin_name, - &$propertyGroup, - $is_subgroup = false -) { - $ret = "\n"; - - if (! $is_subgroup) { - // for subgroup headers - if (mb_strpos(get_class($propertyGroup), "PropertyItem")) { - $properties = array($propertyGroup); - } else { - // for main groups - $ret .= '
    '; - - if (method_exists($propertyGroup, 'getText')) { - $text = $propertyGroup->getText(); - } - - if ($text != null) { - $ret .= '

    ' . PMA_getString($text) . '

    '; - } - $ret .= '
      '; - } - } - - if (! isset($properties)) { - $not_subgroup_header = true; - if (method_exists($propertyGroup, 'getProperties')) { - $properties = $propertyGroup->getProperties(); - } - } - - if (isset($properties)) { - /** @var OptionsPropertySubgroup $propertyItem */ - foreach ($properties as $propertyItem) { - $property_class = get_class($propertyItem); - // if the property is a subgroup, we deal with it recursively - if (mb_strpos($property_class, "Subgroup")) { - // for subgroups - // each subgroup can have a header, which may also be a form element - /** @var OptionsPropertyItem $subgroup_header */ - $subgroup_header = $propertyItem->getSubgroupHeader(); - if (isset($subgroup_header)) { - $ret .= PMA_pluginGetOneOption( - $section, - $plugin_name, - $subgroup_header - ); - } - - $ret .= '
    • getName() . '">'; - } else { - $ret .= '>'; - } - - $ret .= PMA_pluginGetOneOption( - $section, - $plugin_name, - $propertyItem, - true - ); - continue; - } - - // single property item - $ret .= PMA_getHtmlForProperty( - $section, $plugin_name, $propertyItem - ); - } - } - - if ($is_subgroup) { - // end subgroup - $ret .= '
    '; - } else { - // end main group - if (! empty($not_subgroup_header)) { - $ret .= '
    '; - } - } - - if (method_exists($propertyGroup, "getDoc")) { - $doc = $propertyGroup->getDoc(); - if ($doc != null) { - if (count($doc) == 3) { - $ret .= PMA\libraries\Util::showMySQLDocu( - $doc[1], - false, - $doc[2] - ); - } elseif (count($doc) == 1) { - $ret .= PMA\libraries\Util::showDocu('faq', $doc[0]); - } else { - $ret .= PMA\libraries\Util::showMySQLDocu( - $doc[1] - ); - } - } - } - - // Close the list element after $doc link is displayed - if (isset($property_class)) { - if ($property_class == 'PMA\libraries\properties\options\items\BoolPropertyItem' - || $property_class == 'PMA\libraries\properties\options\items\MessageOnlyPropertyItem' - || $property_class == 'PMA\libraries\properties\options\items\SelectPropertyItem' - || $property_class == 'PMA\libraries\properties\options\items\TextPropertyItem' - ) { - $ret .= ''; - } - } - $ret .= "\n"; - return $ret; -} - -/** - * Get HTML for properties items - * - * @param string $section name of config section in - * $GLOBALS['cfg'][$section] for plugin - * @param string $plugin_name unique plugin name - * @param OptionsPropertyItem $propertyItem Property item - * - * @return string - */ -function PMA_getHtmlForProperty( - $section, $plugin_name, $propertyItem -) { - $ret = null; - $property_class = get_class($propertyItem); - switch ($property_class) { - case 'PMA\libraries\properties\options\items\BoolPropertyItem': - $ret .= '
  • ' . "\n"; - $ret .= 'getName() - ); - - if ($propertyItem->getForce() != null) { - // Same code is also few lines lower, update both if needed - $ret .= ' onclick="if (!this.checked && ' - . '(!document.getElementById(\'checkbox_' . $plugin_name - . '_' . $propertyItem->getForce() . '\') ' - . '|| !document.getElementById(\'checkbox_' - . $plugin_name . '_' . $propertyItem->getForce() - . '\').checked)) ' - . 'return false; else return true;"'; - } - $ret .= ' />'; - $ret .= ''; - break; - case 'PMA\libraries\properties\options\items\DocPropertyItem': - echo 'PMA\libraries\properties\options\items\DocPropertyItem'; - break; - case 'PMA\libraries\properties\options\items\HiddenPropertyItem': - $ret .= '
  • '; - break; - case 'PMA\libraries\properties\options\items\MessageOnlyPropertyItem': - $ret .= '
  • ' . "\n"; - $ret .= '

    ' . PMA_getString($propertyItem->getText()) . '

    '; - break; - case 'PMA\libraries\properties\options\items\RadioPropertyItem': - $default = PMA_pluginGetDefault( - $section, - $plugin_name . '_' . $propertyItem->getName() - ); - foreach ($propertyItem->getValues() as $key => $val) { - $ret .= '
  • ' - . PMA_getString($val) . '
  • '; - } - break; - case 'PMA\libraries\properties\options\items\SelectPropertyItem': - $ret .= '
  • ' . "\n"; - $ret .= ''; - $ret .= ''; - break; - case 'PMA\libraries\properties\options\items\TextPropertyItem': - case 'PMA\libraries\properties\options\items\NumberPropertyItem': - $ret .= '
  • ' . "\n"; - $ret .= ''; - $ret .= 'getSize() != null - ? ' size="' . $propertyItem->getSize() . '"' - : '') - . ($propertyItem->getLen() != null - ? ' maxlength="' . $propertyItem->getLen() . '"' - : '') - . ' />'; - break; - default: - break; - } - return $ret; -} - -/** - * Returns html div with editable options for plugin - * - * @param string $section name of config section in $GLOBALS['cfg'][$section] - * @param array &$list array with plugin instances - * - * @return string html fieldset with plugin options - */ -function PMA_pluginGetOptions($section, &$list) -{ - $ret = ''; - // Options for plugins that support them - foreach ($list as $plugin) { - $properties = $plugin->getProperties(); - if ($properties != null) { - $text = $properties->getText(); - $options = $properties->getOptions(); - } - - $elem = explode('\\', get_class($plugin)); - $plugin_name = array_pop($elem); - unset($elem); - $plugin_name = mb_strtolower( - mb_substr( - $plugin_name, - mb_strlen($section) - ) - ); - - $ret .= '
    '; - $ret .= '

    ' . PMA_getString($text) . '

    '; - - $no_options = true; - if ($options != null && count($options) > 0) { - foreach ($options->getProperties() - as $propertyMainGroup - ) { - // check for hidden properties - $no_options = true; - foreach ($propertyMainGroup->getProperties() as $propertyItem) { - if (strcmp('PMA\libraries\properties\options\items\HiddenPropertyItem', get_class($propertyItem))) { - $no_options = false; - break; - } - } - - $ret .= PMA_pluginGetOneOption( - $section, - $plugin_name, - $propertyMainGroup - ); - } - } - - if ($no_options) { - $ret .= '

    ' . __('This format has no options') . '

    '; - } - $ret .= '
    '; - } - return $ret; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/AuthenticationPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/AuthenticationPlugin.php deleted file mode 100644 index 479b06d5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/AuthenticationPlugin.php +++ /dev/null @@ -1,167 +0,0 @@ - authentication failed - * - * @return boolean - */ - abstract public function authFails(); - - /** - * Perform logout - * - * @return void - */ - public function logOut() - { - global $PHP_AUTH_USER, $PHP_AUTH_PW; - - /* Obtain redirect URL (before doing logout) */ - if (! empty($GLOBALS['cfg']['Server']['LogoutURL'])) { - $redirect_url = $GLOBALS['cfg']['Server']['LogoutURL']; - } else { - $redirect_url = $this->getLoginFormURL(); - } - - /* Clear credentials */ - $PHP_AUTH_USER = ''; - $PHP_AUTH_PW = ''; - - /* delete user's choices that were stored in session */ - $_SESSION = array(); - if (!defined('TESTSUITE')) { - session_destroy(); - } - - /* Redirect to login form (or configured URL) */ - PMA_sendHeaderLocation($redirect_url); - } - - /** - * Returns URL for login form. - * - * @return string - */ - public function getLoginFormURL() - { - return './index.php'; - } - - /** - * Returns error message for failed authentication. - * - * @return string - */ - public function getErrorMessage() - { - if (!empty($GLOBALS['login_without_password_is_forbidden'])) { - return __( - 'Login without a password is forbidden by configuration' - . ' (see AllowNoPassword)' - ); - } elseif (!empty($GLOBALS['allowDeny_forbidden'])) { - return __('Access denied!'); - } elseif (!empty($GLOBALS['no_activity'])) { - return sprintf( - __('No activity within %s seconds; please log in again.'), - intval($GLOBALS['cfg']['LoginCookieValidity']) - ); - } else { - $dbi_error = $GLOBALS['dbi']->getError(); - if (!empty($dbi_error)) { - return htmlspecialchars($dbi_error); - } elseif (isset($GLOBALS['errno'])) { - return '#' . $GLOBALS['errno'] . ' ' - . __('Cannot log in to the MySQL server'); - } else { - return __('Cannot log in to the MySQL server'); - } - } - } - - /** - * Callback when user changes password. - * - * @param string $password New password to set - * - * @return void - */ - public function handlePasswordChange($password) - { - } - - /** - * Store session access time in session. - * - * Tries to workaround PHP 5 session garbage collection which - * looks at the session file's last modified time - * - * @return void - */ - public function setSessionAccessTime() - { - if (isset($_REQUEST['guid'])) { - $guid = (string)$_REQUEST['guid']; - } else { - $guid = 'default'; - } - if (isset($_REQUEST['access_time'])) { - // Ensure access_time is in range <0, LoginCookieValidity + 1> - // to avoid excessive extension of validity. - // - // Negative values can cause session expiry extension - // Too big values can cause overflow and lead to same - $time = time() - min(max(0, intval($_REQUEST['access_time'])), $GLOBALS['cfg']['LoginCookieValidity'] + 1); - } else { - $time = time(); - } - $_SESSION['browser_access_time'][$guid] = $time; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/auth/AuthenticationHttp.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/auth/AuthenticationHttp.php deleted file mode 100644 index aca37bd9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/auth/AuthenticationHttp.php +++ /dev/null @@ -1,257 +0,0 @@ -isAjax()) { - $response->setRequestStatus(false); - // reload_flag removes the token parameter from the URL and reloads - $response->addJSON('reload_flag', '1'); - if (defined('TESTSUITE')) { - return true; - } else { - exit; - } - } - - return $this->authForm(); - } - - /** - * Displays authentication form - * - * @return boolean - */ - public function authForm() - { - if (empty($GLOBALS['cfg']['Server']['auth_http_realm'])) { - if (empty($GLOBALS['cfg']['Server']['verbose'])) { - $server_message = $GLOBALS['cfg']['Server']['host']; - } else { - $server_message = $GLOBALS['cfg']['Server']['verbose']; - } - $realm_message = 'phpMyAdmin ' . $server_message; - } else { - $realm_message = $GLOBALS['cfg']['Server']['auth_http_realm']; - } - - $response = Response::getInstance(); - - // remove non US-ASCII to respect RFC2616 - $realm_message = preg_replace('/[^\x20-\x7e]/i', '', $realm_message); - $response->header('WWW-Authenticate: Basic realm="' . $realm_message . '"'); - $response->header('HTTP/1.0 401 Unauthorized'); - if (php_sapi_name() !== 'cgi-fcgi') { - $response->header('status: 401 Unauthorized'); - } - - /* HTML header */ - $footer = $response->getFooter(); - $footer->setMinimal(); - $header = $response->getHeader(); - $header->setTitle(__('Access denied!')); - $header->disableMenuAndConsole(); - $header->setBodyId('loginform'); - - $response->addHTML('

    '); - $response->addHTML(sprintf(__('Welcome to %s'), ' phpMyAdmin')); - $response->addHTML('

    '); - $response->addHTML('

    '); - $response->addHTML( - Message::error( - __('Wrong username/password. Access denied.') - ) - ); - $response->addHTML('

    '); - - $response->addHTML(Config::renderFooter()); - - if (!defined('TESTSUITE')) { - exit; - } else { - return false; - } - } - - /** - * Gets advanced authentication settings - * - * @global string $PHP_AUTH_USER the username - * @global string $PHP_AUTH_PW the password - * - * @return boolean whether we get authentication settings or not - */ - public function authCheck() - { - global $PHP_AUTH_USER, $PHP_AUTH_PW; - - // Grabs the $PHP_AUTH_USER variable - if (empty($PHP_AUTH_USER)) { - if (PMA_getenv('PHP_AUTH_USER')) { - $PHP_AUTH_USER = PMA_getenv('PHP_AUTH_USER'); - } elseif (PMA_getenv('REMOTE_USER')) { - // CGI, might be encoded, see below - $PHP_AUTH_USER = PMA_getenv('REMOTE_USER'); - } elseif (PMA_getenv('REDIRECT_REMOTE_USER')) { - // CGI, might be encoded, see below - $PHP_AUTH_USER = PMA_getenv('REDIRECT_REMOTE_USER'); - } elseif (PMA_getenv('AUTH_USER')) { - // WebSite Professional - $PHP_AUTH_USER = PMA_getenv('AUTH_USER'); - } elseif (PMA_getenv('HTTP_AUTHORIZATION')) { - // IIS, might be encoded, see below - $PHP_AUTH_USER = PMA_getenv('HTTP_AUTHORIZATION'); - } elseif (PMA_getenv('Authorization')) { - // FastCGI, might be encoded, see below - $PHP_AUTH_USER = PMA_getenv('Authorization'); - } - } - // Grabs the $PHP_AUTH_PW variable - if (empty($PHP_AUTH_PW)) { - if (PMA_getenv('PHP_AUTH_PW')) { - $PHP_AUTH_PW = PMA_getenv('PHP_AUTH_PW'); - } elseif (PMA_getenv('REMOTE_PASSWORD')) { - // Apache/CGI - $PHP_AUTH_PW = PMA_getenv('REMOTE_PASSWORD'); - } elseif (PMA_getenv('AUTH_PASSWORD')) { - // WebSite Professional - $PHP_AUTH_PW = PMA_getenv('AUTH_PASSWORD'); - } - } - // Sanitize empty password login - if (is_null($PHP_AUTH_PW)) { - $PHP_AUTH_PW = ''; - } - - // Decode possibly encoded information (used by IIS/CGI/FastCGI) - // (do not use explode() because a user might have a colon in his password - if (strcmp(substr($PHP_AUTH_USER, 0, 6), 'Basic ') == 0) { - $usr_pass = base64_decode(substr($PHP_AUTH_USER, 6)); - if (!empty($usr_pass)) { - $colon = strpos($usr_pass, ':'); - if ($colon) { - $PHP_AUTH_USER = substr($usr_pass, 0, $colon); - $PHP_AUTH_PW = substr($usr_pass, $colon + 1); - } - unset($colon); - } - unset($usr_pass); - } - - // sanitize username - $PHP_AUTH_USER = PMA_sanitizeMySQLUser($PHP_AUTH_USER); - - // User logged out -> ensure the new username is not the same - $old_usr = isset($_REQUEST['old_usr']) ? $_REQUEST['old_usr'] : ''; - if (! empty($old_usr) - && (isset($PHP_AUTH_USER) && hash_equals($old_usr, $PHP_AUTH_USER)) - ) { - $PHP_AUTH_USER = ''; - } - - // Returns whether we get authentication settings or not - if (empty($PHP_AUTH_USER)) { - return false; - } else { - return true; - } - } - - /** - * Set the user and password after last checkings if required - * - * @global array $cfg the valid servers settings - * @global integer $server the id of the current server - * @global string $PHP_AUTH_USER the current username - * @global string $PHP_AUTH_PW the current password - * - * @return boolean always true - */ - public function authSetUser() - { - global $cfg, $server; - global $PHP_AUTH_USER, $PHP_AUTH_PW; - - // Ensures valid authentication mode, 'only_db', bookmark database and - // table names and relation table name are used - if (! hash_equals($cfg['Server']['user'], $PHP_AUTH_USER)) { - $servers_cnt = count($cfg['Servers']); - for ($i = 1; $i <= $servers_cnt; $i++) { - if (isset($cfg['Servers'][$i]) - && ($cfg['Servers'][$i]['host'] == $cfg['Server']['host'] - && hash_equals($cfg['Servers'][$i]['user'], $PHP_AUTH_USER)) - ) { - $server = $i; - $cfg['Server'] = $cfg['Servers'][$i]; - break; - } - } // end for - } // end if - - $cfg['Server']['user'] = $PHP_AUTH_USER; - $cfg['Server']['password'] = $PHP_AUTH_PW; - - // Avoid showing the password in phpinfo()'s output - unset($GLOBALS['PHP_AUTH_PW']); - unset($_SERVER['PHP_AUTH_PW']); - - $this->setSessionAccessTime(); - - return true; - } - - /** - * User is not allowed to login to MySQL -> authentication failed - * - * @return bool true - */ - public function authFails() - { - $error = $GLOBALS['dbi']->getError(); - if ($error && $GLOBALS['errno'] != 1045) { - PMA_fatalError($error); - - return true; - } - - $this->authForm(); - - return true; - } - - /** - * Returns URL for login form. - * - * @return string - */ - public function getLoginFormURL() - { - return './index.php?old_usr=' . $GLOBALS['PHP_AUTH_USER']; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/auth/AuthenticationSignon.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/auth/AuthenticationSignon.php deleted file mode 100644 index 644adfcb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/auth/AuthenticationSignon.php +++ /dev/null @@ -1,265 +0,0 @@ - authentication failed - * - * @return boolean always true (no return indeed) - */ - public function authFails() - { - /* Session name */ - $session_name = $GLOBALS['cfg']['Server']['SignonSession']; - - /* Does session exist? */ - if (isset($_COOKIE[$session_name])) { - /* End current session */ - if (!defined('TESTSUITE')) { - session_write_close(); - } - - /* Load single signon session */ - session_name($session_name); - session_id($_COOKIE[$session_name]); - if (!defined('TESTSUITE')) { - session_start(); - } - - /* Set error message */ - $_SESSION['PMA_single_signon_error_message'] = $this->getErrorMessage(); - } - $this->auth(); - } - - /** - * Returns URL for login form. - * - * @return string - */ - public function getLoginFormURL() - { - return $GLOBALS['cfg']['Server']['SignonURL']; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/export/PMA_ExportPdf.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/export/PMA_ExportPdf.php deleted file mode 100644 index c553be62..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/export/PMA_ExportPdf.php +++ /dev/null @@ -1,811 +0,0 @@ -y; - } - $current_page = $this->page; - if ((($y + $h) > $this->PageBreakTrigger) - && (!$this->InFooter) - && ($this->AcceptPageBreak()) - ) { - if ($addpage) { - //Automatic page break - $x = $this->x; - $this->AddPage($this->CurOrientation); - $this->y = $this->dataY; - $oldpage = $this->page - 1; - - $this_page_orm = $this->pagedim[$this->page]['orm']; - $old_page_orm = $this->pagedim[$oldpage]['orm']; - $this_page_olm = $this->pagedim[$this->page]['olm']; - $old_page_olm = $this->pagedim[$oldpage]['olm']; - if ($this->rtl) { - if ($this_page_orm != $old_page_orm) { - $this->x = $x - ($this_page_orm - $old_page_orm); - } else { - $this->x = $x; - } - } else { - if ($this_page_olm != $old_page_olm) { - $this->x = $x + ($this_page_olm - $old_page_olm); - } else { - $this->x = $x; - } - } - } - - return true; - } - if ($current_page != $this->page) { - // account for columns mode - return true; - } - - return false; - } - - /** - * This method is used to render the page header. - * - * @return void - */ - public function Header() - { - global $maxY; - // We don't want automatic page breaks while generating header - // as this can lead to infinite recursion as auto generated page - // will want header as well causing another page break - // FIXME: Better approach might be to try to compact the content - $this->SetAutoPageBreak(false); - // Check if header for this page already exists - if (!isset($this->headerset[$this->page])) { - $fullwidth = 0; - foreach ($this->tablewidths as $width) { - $fullwidth += $width; - } - $this->SetY(($this->tMargin) - ($this->FontSizePt / $this->k) * 5); - $this->cellFontSize = $this->FontSizePt; - $this->SetFont( - PDF::PMA_PDF_FONT, - '', - ($this->titleFontSize - ? $this->titleFontSize - : $this->FontSizePt) - ); - $this->Cell(0, $this->FontSizePt, $this->titleText, 0, 1, 'C'); - $this->SetFont(PDF::PMA_PDF_FONT, '', $this->cellFontSize); - $this->SetY(($this->tMargin) - ($this->FontSizePt / $this->k) * 2.5); - $this->Cell( - 0, - $this->FontSizePt, - __('Database:') . ' ' . $this->dbAlias . ', ' - . __('Table:') . ' ' . $this->tableAlias . ', ' - . __('Purpose:') . ' ' . $this->purpose, - 0, - 1, - 'L' - ); - $l = ($this->lMargin); - foreach ($this->colTitles as $col => $txt) { - $this->SetXY($l, ($this->tMargin)); - $this->MultiCell( - $this->tablewidths[$col], - $this->FontSizePt, - $txt - ); - $l += $this->tablewidths[$col]; - $maxY = ($maxY < $this->getY()) ? $this->getY() : $maxY; - } - $this->SetXY($this->lMargin, $this->tMargin); - $this->setFillColor(200, 200, 200); - $l = ($this->lMargin); - foreach ($this->colTitles as $col => $txt) { - $this->SetXY($l, $this->tMargin); - $this->cell( - $this->tablewidths[$col], - $maxY - ($this->tMargin), - '', - 1, - 0, - 'L', - 1 - ); - $this->SetXY($l, $this->tMargin); - $this->MultiCell( - $this->tablewidths[$col], - $this->FontSizePt, - $txt, - 0, - 'C' - ); - $l += $this->tablewidths[$col]; - } - $this->setFillColor(255, 255, 255); - // set headerset - $this->headerset[$this->page] = 1; - } - - $this->dataY = $maxY; - $this->SetAutoPageBreak(true); - } - - /** - * Generate table - * - * @param int $lineheight Height of line - * - * @return void - */ - public function morepagestable($lineheight = 8) - { - // some things to set and 'remember' - $l = $this->lMargin; - $startheight = $h = $this->dataY; - $startpage = $currpage = $this->page; - - // calculate the whole width - $fullwidth = 0; - foreach ($this->tablewidths as $width) { - $fullwidth += $width; - } - - // Now let's start to write the table - $row = 0; - $tmpheight = array(); - $maxpage = $this->page; - - while ($data = $GLOBALS['dbi']->fetchRow($this->results)) { - $this->page = $currpage; - // write the horizontal borders - $this->Line($l, $h, $fullwidth + $l, $h); - // write the content and remember the height of the highest col - foreach ($data as $col => $txt) { - $this->page = $currpage; - $this->SetXY($l, $h); - if ($this->tablewidths[$col] > 0) { - $this->MultiCell( - $this->tablewidths[$col], - $lineheight, - $txt, - 0, - $this->colAlign[$col] - ); - $l += $this->tablewidths[$col]; - } - - if (!isset($tmpheight[$row . '-' . $this->page])) { - $tmpheight[$row . '-' . $this->page] = 0; - } - if ($tmpheight[$row . '-' . $this->page] < $this->GetY()) { - $tmpheight[$row . '-' . $this->page] = $this->GetY(); - } - if ($this->page > $maxpage) { - $maxpage = $this->page; - } - unset($data[$col]); - } - - // get the height we were in the last used page - $h = $tmpheight[$row . '-' . $maxpage]; - // set the "pointer" to the left margin - $l = $this->lMargin; - // set the $currpage to the last page - $currpage = $maxpage; - unset($data[$row]); - $row++; - } - // draw the borders - // we start adding a horizontal line on the last page - $this->page = $maxpage; - $this->Line($l, $h, $fullwidth + $l, $h); - // now we start at the top of the document and walk down - for ($i = $startpage; $i <= $maxpage; $i++) { - $this->page = $i; - $l = $this->lMargin; - $t = ($i == $startpage) ? $startheight : $this->tMargin; - $lh = ($i == $maxpage) ? $h : $this->h - $this->bMargin; - $this->Line($l, $t, $l, $lh); - foreach ($this->tablewidths as $width) { - $l += $width; - $this->Line($l, $t, $l, $lh); - } - } - // set it to the last page, if not it'll cause some problems - $this->page = $maxpage; - } - - /** - * Sets a set of attributes. - * - * @param array $attr array containing the attributes - * - * @return void - */ - public function setAttributes($attr = array()) - { - foreach ($attr as $key => $val) { - $this->$key = $val; - } - } - - /** - * Defines the top margin. - * The method can be called before creating the first page. - * - * @param float $topMargin the margin - * - * @return void - */ - public function setTopMargin($topMargin) - { - $this->tMargin = $topMargin; - } - - /** - * Prints triggers - * - * @param string $db database name - * @param string $table table name - * - * @return void - */ - public function getTriggers($db, $table) - { - $i = 0; - $triggers = $GLOBALS['dbi']->getTriggers($db, $table); - foreach ($triggers as $trigger) { - $i++; - break; - } - if ($i == 0) { - return; //prevents printing blank trigger list for any table - } - - unset($this->tablewidths); - unset($this->colTitles); - unset($this->titleWidth); - unset($this->colFits); - unset($this->display_column); - unset($this->colAlign); - - /** - * Making table heading - * Keeping column width constant - */ - $this->colTitles[0] = __('Name'); - $this->tablewidths[0] = 90; - $this->colTitles[1] = __('Time'); - $this->tablewidths[1] = 80; - $this->colTitles[2] = __('Event'); - $this->tablewidths[2] = 40; - $this->colTitles[3] = __('Definition'); - $this->tablewidths[3] = 240; - - for ($columns_cnt = 0; $columns_cnt < 4; $columns_cnt++) { - $this->colAlign[$columns_cnt] = 'L'; - $this->display_column[$columns_cnt] = true; - } - - // Starting to fill table with required info - - $this->setY($this->tMargin); - $this->AddPage(); - $this->SetFont(PDF::PMA_PDF_FONT, '', 9); - - $l = $this->lMargin; - $startheight = $h = $this->dataY; - $startpage = $currpage = $this->page; - - // calculate the whole width - $fullwidth = 0; - foreach ($this->tablewidths as $width) { - $fullwidth += $width; - } - - $row = 0; - $tmpheight = array(); - $maxpage = $this->page; - $data = array(); - - $triggers = $GLOBALS['dbi']->getTriggers($db, $table); - - foreach ($triggers as $trigger) { - $data[] = $trigger['name']; - $data[] = $trigger['action_timing']; - $data[] = $trigger['event_manipulation']; - $data[] = $trigger['definition']; - $this->page = $currpage; - // write the horizontal borders - $this->Line($l, $h, $fullwidth + $l, $h); - // write the content and remember the height of the highest col - foreach ($data as $col => $txt) { - $this->page = $currpage; - $this->SetXY($l, $h); - if ($this->tablewidths[$col] > 0) { - $this->MultiCell( - $this->tablewidths[$col], - $this->FontSizePt, - $txt, - 0, - $this->colAlign[$col] - ); - $l += $this->tablewidths[$col]; - } - - if (!isset($tmpheight[$row . '-' . $this->page])) { - $tmpheight[$row . '-' . $this->page] = 0; - } - if ($tmpheight[$row . '-' . $this->page] < $this->GetY()) { - $tmpheight[$row . '-' . $this->page] = $this->GetY(); - } - if ($this->page > $maxpage) { - $maxpage = $this->page; - } - } - // get the height we were in the last used page - $h = $tmpheight[$row . '-' . $maxpage]; - // set the "pointer" to the left margin - $l = $this->lMargin; - // set the $currpage to the last page - $currpage = $maxpage; - unset($data); - $row++; - } - // draw the borders - // we start adding a horizontal line on the last page - $this->page = $maxpage; - $this->Line($l, $h, $fullwidth + $l, $h); - // now we start at the top of the document and walk down - for ($i = $startpage; $i <= $maxpage; $i++) { - $this->page = $i; - $l = $this->lMargin; - $t = ($i == $startpage) ? $startheight : $this->tMargin; - $lh = ($i == $maxpage) ? $h : $this->h - $this->bMargin; - $this->Line($l, $t, $l, $lh); - foreach ($this->tablewidths as $width) { - $l += $width; - $this->Line($l, $t, $l, $lh); - } - } - // set it to the last page, if not it'll cause some problems - $this->page = $maxpage; - } - - /** - * Print $table's CREATE definition - * - * @param string $db the database name - * @param string $table the table name - * @param bool $do_relation whether to include relation comments - * @param bool $do_comments whether to include the pmadb-style column - * comments as comments in the structure; - * this is deprecated but the parameter is - * left here because export.php calls - * PMA_exportStructure() also for other - * export types which use this parameter - * @param bool $do_mime whether to include mime comments - * @param bool $view whether we're handling a view - * @param array $aliases aliases of db/table/columns - * - * @return void - */ - public function getTableDef( - $db, - $table, - $do_relation, - $do_comments, - $do_mime, - $view = false, - $aliases = array() - ) { - // set $cfgRelation here, because there is a chance that it's modified - // since the class initialization - global $cfgRelation; - - unset($this->tablewidths); - unset($this->colTitles); - unset($this->titleWidth); - unset($this->colFits); - unset($this->display_column); - unset($this->colAlign); - - /** - * Gets fields properties - */ - $GLOBALS['dbi']->selectDb($db); - - /** - * All these three checks do_relation, do_comment and do_mime is - * not required. As presently all are set true by default. - * But when, methods to take user input will be developed, - * it will be of use - */ - // Check if we can use Relations - if ($do_relation) { - // Find which tables are related with the current one and write it in - // an array - $res_rel = PMA_getForeigners($db, $table); - $have_rel = !empty($res_rel); - } else { - $have_rel = false; - } // end if - - //column count and table heading - - $this->colTitles[0] = __('Column'); - $this->tablewidths[0] = 90; - $this->colTitles[1] = __('Type'); - $this->tablewidths[1] = 80; - $this->colTitles[2] = __('Null'); - $this->tablewidths[2] = 40; - $this->colTitles[3] = __('Default'); - $this->tablewidths[3] = 120; - - for ($columns_cnt = 0; $columns_cnt < 4; $columns_cnt++) { - $this->colAlign[$columns_cnt] = 'L'; - $this->display_column[$columns_cnt] = true; - } - - if ($do_relation && $have_rel) { - $this->colTitles[$columns_cnt] = __('Links to'); - $this->display_column[$columns_cnt] = true; - $this->colAlign[$columns_cnt] = 'L'; - $this->tablewidths[$columns_cnt] = 120; - $columns_cnt++; - } - if ($do_comments /*&& $cfgRelation['commwork']*/) { - $this->colTitles[$columns_cnt] = __('Comments'); - $this->display_column[$columns_cnt] = true; - $this->colAlign[$columns_cnt] = 'L'; - $this->tablewidths[$columns_cnt] = 120; - $columns_cnt++; - } - if ($do_mime && $cfgRelation['mimework']) { - $this->colTitles[$columns_cnt] = __('MIME'); - $this->display_column[$columns_cnt] = true; - $this->colAlign[$columns_cnt] = 'L'; - $this->tablewidths[$columns_cnt] = 120; - $columns_cnt++; - } - - // Starting to fill table with required info - - $this->setY($this->tMargin); - $this->AddPage(); - $this->SetFont(PDF::PMA_PDF_FONT, '', 9); - - // Now let's start to write the table structure - - if ($do_comments) { - $comments = PMA_getComments($db, $table); - } - if ($do_mime && $cfgRelation['mimework']) { - $mime_map = PMA_getMIME($db, $table, true); - } - - $columns = $GLOBALS['dbi']->getColumns($db, $table); - /** - * Get the unique keys in the table. - * Presently, this information is not used. We will have to find out - * way of displaying it. - */ - $unique_keys = array(); - $keys = $GLOBALS['dbi']->getTableIndexes($db, $table); - foreach ($keys as $key) { - if ($key['Non_unique'] == 0) { - $unique_keys[] = $key['Column_name']; - } - } - - // some things to set and 'remember' - $l = $this->lMargin; - $startheight = $h = $this->dataY; - $startpage = $currpage = $this->page; - // calculate the whole width - $fullwidth = 0; - foreach ($this->tablewidths as $width) { - $fullwidth += $width; - } - - $row = 0; - $tmpheight = array(); - $maxpage = $this->page; - $data = array(); - - // fun begin - foreach ($columns as $column) { - $extracted_columnspec - = Util::extractColumnSpec($column['Type']); - - $type = $extracted_columnspec['print_type']; - if (empty($type)) { - $type = ' '; - } - - if (!isset($column['Default'])) { - if ($column['Null'] != 'NO') { - $column['Default'] = 'NULL'; - } - } - $data [] = $column['Field']; - $data [] = $type; - $data [] = ($column['Null'] == '' || $column['Null'] == 'NO') - ? 'No' - : 'Yes'; - $data [] = isset($column['Default']) ? $column['Default'] : ''; - - $field_name = $column['Field']; - - if ($do_relation && $have_rel) { - $data [] = isset($res_rel[$field_name]) - ? $res_rel[$field_name]['foreign_table'] - . ' (' . $res_rel[$field_name]['foreign_field'] - . ')' - : ''; - } - if ($do_comments) { - $data [] = isset($comments[$field_name]) - ? $comments[$field_name] - : ''; - } - if ($do_mime) { - $data [] = isset($mime_map[$field_name]) - ? $mime_map[$field_name]['mimetype'] - : ''; - } - - $this->page = $currpage; - // write the horizontal borders - $this->Line($l, $h, $fullwidth + $l, $h); - // write the content and remember the height of the highest col - foreach ($data as $col => $txt) { - $this->page = $currpage; - $this->SetXY($l, $h); - if ($this->tablewidths[$col] > 0) { - $this->MultiCell( - $this->tablewidths[$col], - $this->FontSizePt, - $txt, - 0, - $this->colAlign[$col] - ); - $l += $this->tablewidths[$col]; - } - - if (!isset($tmpheight[$row . '-' . $this->page])) { - $tmpheight[$row . '-' . $this->page] = 0; - } - if ($tmpheight[$row . '-' . $this->page] < $this->GetY()) { - $tmpheight[$row . '-' . $this->page] = $this->GetY(); - } - if ($this->page > $maxpage) { - $maxpage = $this->page; - } - } - - // get the height we were in the last used page - $h = $tmpheight[$row . '-' . $maxpage]; - // set the "pointer" to the left margin - $l = $this->lMargin; - // set the $currpage to the last page - $currpage = $maxpage; - unset($data); - $row++; - } - // draw the borders - // we start adding a horizontal line on the last page - $this->page = $maxpage; - $this->Line($l, $h, $fullwidth + $l, $h); - // now we start at the top of the document and walk down - for ($i = $startpage; $i <= $maxpage; $i++) { - $this->page = $i; - $l = $this->lMargin; - $t = ($i == $startpage) ? $startheight : $this->tMargin; - $lh = ($i == $maxpage) ? $h : $this->h - $this->bMargin; - $this->Line($l, $t, $l, $lh); - foreach ($this->tablewidths as $width) { - $l += $width; - $this->Line($l, $t, $l, $lh); - } - } - // set it to the last page, if not it'll cause some problems - $this->page = $maxpage; - } - - /** - * MySQL report - * - * @param string $query Query to execute - * - * @return void - */ - public function mysqlReport($query) - { - unset($this->tablewidths); - unset($this->colTitles); - unset($this->titleWidth); - unset($this->colFits); - unset($this->display_column); - unset($this->colAlign); - - /** - * Pass 1 for column widths - */ - $this->results = $GLOBALS['dbi']->query( - $query, - null, - DatabaseInterface::QUERY_UNBUFFERED - ); - $this->numFields = $GLOBALS['dbi']->numFields($this->results); - $this->fields = $GLOBALS['dbi']->getFieldsMeta($this->results); - - // sColWidth = starting col width (an average size width) - $availableWidth = $this->w - $this->lMargin - $this->rMargin; - $this->sColWidth = $availableWidth / $this->numFields; - $totalTitleWidth = 0; - - // loop through results header and set initial - // col widths/ titles/ alignment - // if a col title is less than the starting col width, - // reduce that column size - $colFits = array(); - $titleWidth = array(); - for ($i = 0; $i < $this->numFields; $i++) { - $col_as = $this->fields[$i]->name; - $db = $this->currentDb; - $table = $this->currentTable; - if (!empty($this->aliases[$db]['tables'][$table]['columns'][$col_as])) { - $col_as = $this->aliases[$db]['tables'][$table]['columns'][$col_as]; - } - $stringWidth = $this->getstringwidth($col_as) + 6; - // save the real title's width - $titleWidth[$i] = $stringWidth; - $totalTitleWidth += $stringWidth; - - // set any column titles less than the start width to - // the column title width - if ($stringWidth < $this->sColWidth) { - $colFits[$i] = $stringWidth; - } - $this->colTitles[$i] = $col_as; - $this->display_column[$i] = true; - - switch ($this->fields[$i]->type) { - case 'int': - $this->colAlign[$i] = 'R'; - break; - case 'blob': - case 'tinyblob': - case 'mediumblob': - case 'longblob': - /** - * @todo do not deactivate completely the display - * but show the field's name and [BLOB] - */ - if (stristr($this->fields[$i]->flags, 'BINARY')) { - $this->display_column[$i] = false; - unset($this->colTitles[$i]); - } - $this->colAlign[$i] = 'L'; - break; - default: - $this->colAlign[$i] = 'L'; - } - } - - // title width verification - if ($totalTitleWidth > $availableWidth) { - $adjustingMode = true; - } else { - $adjustingMode = false; - // we have enough space for all the titles at their - // original width so use the true title's width - foreach ($titleWidth as $key => $val) { - $colFits[$key] = $val; - } - } - - // loop through the data; any column whose contents - // is greater than the column size is resized - /** - * @todo force here a LIMIT to avoid reading all rows - */ - while ($row = $GLOBALS['dbi']->fetchRow($this->results)) { - foreach ($colFits as $key => $val) { - $stringWidth = $this->getstringwidth($row[$key]) + 6; - if ($adjustingMode && ($stringWidth > $this->sColWidth)) { - // any column whose data's width is bigger than - // the start width is now discarded - unset($colFits[$key]); - } else { - // if data's width is bigger than the current column width, - // enlarge the column (but avoid enlarging it if the - // data's width is very big) - if ($stringWidth > $val - && $stringWidth < ($this->sColWidth * 3) - ) { - $colFits[$key] = $stringWidth; - } - } - } - } - - $totAlreadyFitted = 0; - foreach ($colFits as $key => $val) { - // set fitted columns to smallest size - $this->tablewidths[$key] = $val; - // to work out how much (if any) space has been freed up - $totAlreadyFitted += $val; - } - - if ($adjustingMode) { - $surplus = (sizeof($colFits) * $this->sColWidth) - $totAlreadyFitted; - $surplusToAdd = $surplus / ($this->numFields - sizeof($colFits)); - } else { - $surplusToAdd = 0; - } - - for ($i = 0; $i < $this->numFields; $i++) { - if (!in_array($i, array_keys($colFits))) { - $this->tablewidths[$i] = $this->sColWidth + $surplusToAdd; - } - if ($this->display_column[$i] == false) { - $this->tablewidths[$i] = 0; - } - } - - ksort($this->tablewidths); - - $GLOBALS['dbi']->freeResult($this->results); - - // Pass 2 - - $this->results = $GLOBALS['dbi']->query( - $query, - null, - DatabaseInterface::QUERY_UNBUFFERED - ); - $this->setY($this->tMargin); - $this->AddPage(); - $this->SetFont(PDF::PMA_PDF_FONT, '', 9); - $this->morepagestable($this->FontSizePt); - $GLOBALS['dbi']->freeResult($this->results); - } // end of mysqlReport function -} // end of PMA_Export_PDF class diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/export/README b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/export/README deleted file mode 100644 index 1bb8843c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/export/README +++ /dev/null @@ -1,257 +0,0 @@ -This directory holds export plugins for phpMyAdmin. Any new plugin should -basically follow the structure presented here. Official plugins need to -have str* messages with their definition in language files, but if you build -some plugins for your use, you can directly use texts in plugin. - -setProperties(); - } - - // optional - declare global variables and use getters later - /** - * Initialize the local variables that are used specific for export SQL - * - * @global type $global_variable_name - * [..] - * - * @return void - */ - protected function initSpecificVariables() - { - global $global_variable_name; - $this->_setGlobalVariableName($global_variable_name); - } - - /** - * Sets the export plugin properties. - * Called in the constructor. - * - * @return void - */ - protected function setProperties() - { - $exportPluginProperties = new PMA\libraries\properties\plugins\ExportPluginProperties(); - $exportPluginProperties->setText('[name]'); // the name of your plug-in - $exportPluginProperties->setExtension('[ext]'); // extension this plug-in can handle - $exportPluginProperties->setOptionsText(__('Options')); - - // create the root group that will be the options field for - // $exportPluginProperties - // this will be shown as "Format specific options" - $exportSpecificOptions = new PMA\libraries\properties\options\groups\OptionsPropertyRootGroup( - "Format Specific Options" - ); - - // general options main group - $generalOptions = new PMA\libraries\properties\options\groups\OptionsPropertyMainGroup( - "general_opts" - ); - - // optional : - // create primary items and add them to the group - // type - one of the classes listed in libraries/properties/options/items/ - // name - form element name - // text - description in GUI - // size - size of text element - // len - maximal size of input - // values - possible values of the item - $leaf = new PMA\libraries\properties\options\items\RadioPropertyItem( - "structure_or_data" - ); - $leaf->setValues( - array( - 'structure' => __('structure'), - 'data' => __('data'), - 'structure_and_data' => __('structure and data') - ) - ); - $generalOptions->addProperty($leaf); - - // add the main group to the root group - $exportSpecificOptions->addProperty($generalOptions); - - // set the options for the export plugin property item - $exportPluginProperties->setOptions($exportSpecificOptions); - $this->properties = $exportPluginProperties; - } - - /** - * Outputs export header - * - * @return bool Whether it succeeded - */ - public function exportHeader () - { - // implementation - return true; - } - - /** - * Outputs export footer - * - * @return bool Whether it succeeded - */ - public function exportFooter () - { - // implementation - return true; - } - - /** - * Outputs database header - * - * @param string $db Database name - * @param string $db_alias Aliases of db - * - * @return bool Whether it succeeded - */ - public function exportDBHeader ($db, $db_alias = '') - { - // implementation - return true; - } - - /** - * Outputs database footer - * - * @param string $db Database name - * - * @return bool Whether it succeeded - */ - public function exportDBFooter ($db) - { - // implementation - return true; - } - - /** - * Outputs CREATE DATABASE statement - * - * @param string $db Database name - * @param string $db_alias Aliases of db - * - * @return bool Whether it succeeded - */ - public function exportDBCreate($db, $db_alias = '') - { - // implementation - return true; - } - - /** - * Outputs the content of a table in [Name] format - * - * @param string $db database name - * @param string $table table name - * @param string $crlf the end of line sequence - * @param string $error_url the url to go back in case of error - * @param string $sql_query SQL query for obtaining data - * @param array $aliases Aliases of db/table/columns - * - * @return bool Whether it succeeded - */ - public function exportData( - $db, $table, $crlf, $error_url, $sql_query, $aliases = array() - ) { - // implementation; - return true; - } - - // optional - implement other methods defined in PMA\libraries\plugins\ExportPlugin.class.php: - // - exportRoutines() - // - exportStructure() - // - getTableDefStandIn() - // - getTriggers() - - // optional - implement other private methods in order to avoid - // having huge methods or avoid duplicate code. Make use of them - // as well as of the getters and setters declared both here - // and in the PMA\libraries\plugins\ExportPlugin class - - - // optional: - /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */ - - - /** - * Getter description - * - * @return type - */ - private function _getMyOptionalVariable() - { - return $this->_myOptionalVariable; - } - - /** - * Setter description - * - * @param type $my_optional_variable description - * - * @return void - */ - private function _setMyOptionalVariable($my_optional_variable) - { - $this->_myOptionalVariable = $my_optional_variable; - } - - /** - * Getter description - * - * @return type - */ - private function _getGlobalVariableName() - { - return $this->_globalVariableName; - } - - /** - * Setter description - * - * @param type $global_variable_name description - * - * @return void - */ - private function _setGlobalVariableName($global_variable_name) - { - $this->_globalVariableName = $global_variable_name; - } -} -?> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/import/README b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/import/README deleted file mode 100644 index a7e60dd1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/import/README +++ /dev/null @@ -1,155 +0,0 @@ -This directory holds import plugins for phpMyAdmin. Any new plugin should -basically follow the structure presented here. The messages must use our -gettext mechanism, see https://wiki.phpmyadmin.net/pma/Gettext_for_developers. - -setProperties(); - } - - /** - * Sets the import plugin properties. - * Called in the constructor. - * - * @return void - */ - protected function setProperties() - { - $importPluginProperties = new PMA\libraries\properties\plugins\ImportPluginProperties(); - $importPluginProperties->setText('[name]'); // the name of your plug-in - $importPluginProperties->setExtension('[ext]'); // extension this plug-in can handle - $importPluginProperties->setOptionsText(__('Options')); - - // create the root group that will be the options field for - // $importPluginProperties - // this will be shown as "Format specific options" - $importSpecificOptions = new - PMA\libraries\properties\options\groups\OptionsPropertyRootGroup( - "Format Specific Options" - ); - - // general options main group - $generalOptions = new PMA\libraries\properties\options\groups\OptionsPropertyMainGroup( - "general_opts" - ); - - // optional : - // create primary items and add them to the group - // type - one of the classes listed in libraries/properties/options/items/ - // name - form element name - // text - description in GUI - // size - size of text element - // len - maximal size of input - // values - possible values of the item - $leaf = new PMA\libraries\properties\options\items\RadioPropertyItem( - "structure_or_data" - ); - $leaf->setValues( - array( - 'structure' => __('structure'), - 'data' => __('data'), - 'structure_and_data' => __('structure and data') - ) - ); - $generalOptions->addProperty($leaf); - - // add the main group to the root group - $importSpecificOptions->addProperty($generalOptions); - - // set the options for the import plugin property item - $importPluginProperties->setOptions($importSpecificOptions); - $this->properties = $importPluginProperties; - } - - /** - * Handles the whole import logic - * - * @param array &$sql_data 2-element array with sql data - * - * @return void - */ - public function doImport(&$sql_data = array()) - { - // get globals (others are optional) - global $error, $timeout_passed, $finished; - - $buffer = ''; - while (! ($finished && $i >= $len) && ! $error && ! $timeout_passed) { - $data = PMA_importGetNextChunk(); - if ($data === false) { - // subtract data we didn't handle yet and stop processing - $GLOBALS['offset'] -= strlen($buffer); - break; - } elseif ($data === true) { - // Handle rest of buffer - } else { - // Append new data to buffer - $buffer .= $data; - } - // PARSE $buffer here, post sql queries using: - PMA_importRunQuery($sql, $verbose_sql_with_comments, $sql_data); - } // End of import loop - // Commit any possible data in buffers - PMA_importRunQuery('', '', $sql_data); - } - - - // optional: - /* ~~~~~~~~~~~~~~~~~~~~ Getters and Setters ~~~~~~~~~~~~~~~~~~~~ */ - - - /** - * Getter description - * - * @return type - */ - private function _getMyOptionalVariable() - { - return $this->_myOptionalVariable; - } - - /** - * Setter description - * - * @param type $my_optional_variable description - * - * @return void - */ - private function _setMyOptionalVariable($my_optional_variable) - { - $this->_myOptionalVariable = $my_optional_variable; - } -} -?> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/eps/Eps.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/eps/Eps.php deleted file mode 100644 index 4b257d4d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/eps/Eps.php +++ /dev/null @@ -1,277 +0,0 @@ -stringCommands = ""; - $this->stringCommands .= "%!PS-Adobe-3.0 EPSF-3.0 \n"; - } - - /** - * Set document title - * - * @param string $value sets the title text - * - * @return void - */ - public function setTitle($value) - { - $this->stringCommands .= '%%Title: ' . $value . "\n"; - } - - /** - * Set document author - * - * @param string $value sets the author - * - * @return void - */ - public function setAuthor($value) - { - $this->stringCommands .= '%%Creator: ' . $value . "\n"; - } - - /** - * Set document creation date - * - * @param string $value sets the date - * - * @return void - */ - public function setDate($value) - { - $this->stringCommands .= '%%CreationDate: ' . $value . "\n"; - } - - /** - * Set document orientation - * - * @param string $orientation sets the orientation - * - * @return void - */ - public function setOrientation($orientation) - { - $this->stringCommands .= "%%PageOrder: Ascend \n"; - if ($orientation == "L") { - $orientation = "Landscape"; - $this->stringCommands .= '%%Orientation: ' . $orientation . "\n"; - } else { - $orientation = "Portrait"; - $this->stringCommands .= '%%Orientation: ' . $orientation . "\n"; - } - $this->stringCommands .= "%%EndComments \n"; - $this->stringCommands .= "%%Pages 1 \n"; - $this->stringCommands .= "%%BoundingBox: 72 150 144 170 \n"; - } - - /** - * Set the font and size - * - * font can be set whenever needed in EPS - * - * @param string $value sets the font name e.g Arial - * @param integer $size sets the size of the font e.g 10 - * - * @return void - */ - public function setFont($value, $size) - { - $this->font = $value; - $this->fontSize = $size; - $this->stringCommands .= "/" . $value . " findfont % Get the basic font\n"; - $this->stringCommands .= "" - . $size . " scalefont % Scale the font to $size points\n"; - $this->stringCommands - .= "setfont % Make it the current font\n"; - } - - /** - * Get the font - * - * @return string return the font name e.g Arial - */ - public function getFont() - { - return $this->font; - } - - /** - * Get the font Size - * - * @return string return the size of the font e.g 10 - */ - public function getFontSize() - { - return $this->fontSize; - } - - /** - * Draw the line - * - * drawing the lines from x,y source to x,y destination and set the - * width of the line. lines helps in showing relationships of tables - * - * @param integer $x_from The x_from attribute defines the start - * left position of the element - * @param integer $y_from The y_from attribute defines the start - * right position of the element - * @param integer $x_to The x_to attribute defines the end - * left position of the element - * @param integer $y_to The y_to attribute defines the end - * right position of the element - * @param integer $lineWidth Sets the width of the line e.g 2 - * - * @return void - */ - public function line( - $x_from = 0, - $y_from = 0, - $x_to = 0, - $y_to = 0, - $lineWidth = 0 - ) { - $this->stringCommands .= $lineWidth . " setlinewidth \n"; - $this->stringCommands .= $x_from . ' ' . $y_from . " moveto \n"; - $this->stringCommands .= $x_to . ' ' . $y_to . " lineto \n"; - $this->stringCommands .= "stroke \n"; - } - - /** - * Draw the rectangle - * - * drawing the rectangle from x,y source to x,y destination and set the - * width of the line. rectangles drawn around the text shown of fields - * - * @param integer $x_from The x_from attribute defines the start - * left position of the element - * @param integer $y_from The y_from attribute defines the start - * right position of the element - * @param integer $x_to The x_to attribute defines the end - * left position of the element - * @param integer $y_to The y_to attribute defines the end - * right position of the element - * @param integer $lineWidth Sets the width of the line e.g 2 - * - * @return void - */ - public function rect($x_from, $y_from, $x_to, $y_to, $lineWidth) - { - $this->stringCommands .= $lineWidth . " setlinewidth \n"; - $this->stringCommands .= "newpath \n"; - $this->stringCommands .= $x_from . " " . $y_from . " moveto \n"; - $this->stringCommands .= "0 " . $y_to . " rlineto \n"; - $this->stringCommands .= $x_to . " 0 rlineto \n"; - $this->stringCommands .= "0 -" . $y_to . " rlineto \n"; - $this->stringCommands .= "closepath \n"; - $this->stringCommands .= "stroke \n"; - } - - /** - * Set the current point - * - * The moveto operator takes two numbers off the stack and treats - * them as x and y coordinates to which to move. The coordinates - * specified become the current point. - * - * @param integer $x The x attribute defines the left position of the element - * @param integer $y The y attribute defines the right position of the element - * - * @return void - */ - public function moveTo($x, $y) - { - $this->stringCommands .= $x . ' ' . $y . " moveto \n"; - } - - /** - * Output/Display the text - * - * @param string $text The string to be displayed - * - * @return void - */ - public function show($text) - { - $this->stringCommands .= '(' . $text . ") show \n"; - } - - /** - * Output the text at specified co-ordinates - * - * @param string $text String to be displayed - * @param integer $x X attribute defines the left position of the element - * @param integer $y Y attribute defines the right position of the element - * - * @return void - */ - public function showXY($text, $x, $y) - { - $this->moveTo($x, $y); - $this->show($text); - } - - /** - * Ends EPS Document - * - * @return void - */ - public function endEpsDoc() - { - $this->stringCommands .= "showpage \n"; - } - - /** - * Output EPS Document for download - * - * @param string $fileName name of the eps document - * - * @return void - */ - public function showOutput($fileName) - { - // if(ob_get_clean()){ - //ob_end_clean(); - //} - $output = $this->stringCommands; - Response::getInstance() - ->disable(); - PMA_downloadHeader( - $fileName, - 'image/x-eps', - strlen($output) - ); - print $output; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/pdf/Pdf.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/pdf/Pdf.php deleted file mode 100644 index 67178c4b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/pdf/Pdf.php +++ /dev/null @@ -1,396 +0,0 @@ -_pageNumber = $pageNumber; - $this->_withDoc = $withDoc; - $this->_db = $db; - } - - /** - * Sets the value for margins - * - * @param float $c_margin margin - * - * @return void - */ - public function setCMargin($c_margin) - { - $this->cMargin = $c_margin; - } - - /** - * Sets the scaling factor, defines minimum coordinates and margins - * - * @param float|int $scale The scaling factor - * @param float|int $xMin The minimum X coordinate - * @param float|int $yMin The minimum Y coordinate - * @param float|int $leftMargin The left margin - * @param float|int $topMargin The top margin - * - * @return void - */ - public function setScale($scale = 1, $xMin = 0, $yMin = 0, - $leftMargin = -1, $topMargin = -1 - ) { - $this->scale = $scale; - $this->_xMin = $xMin; - $this->_yMin = $yMin; - if ($this->leftMargin != -1) { - $this->leftMargin = $leftMargin; - } - if ($this->topMargin != -1) { - $this->topMargin = $topMargin; - } - } - - /** - * Outputs a scaled cell - * - * @param float|int $w The cell width - * @param float|int $h The cell height - * @param string $txt The text to output - * @param mixed $border Whether to add borders or not - * @param integer $ln Where to put the cursor once the output is done - * @param string $align Align mode - * @param integer $fill Whether to fill the cell with a color or not - * @param string $link Link - * - * @return void - * - * @see TCPDF::Cell() - */ - public function cellScale($w, $h = 0, $txt = '', $border = 0, $ln = 0, - $align = '', $fill = 0, $link = '' - ) { - $h = $h / $this->scale; - $w = $w / $this->scale; - $this->Cell($w, $h, $txt, $border, $ln, $align, $fill, $link); - } - - /** - * Draws a scaled line - * - * @param float $x1 The horizontal position of the starting point - * @param float $y1 The vertical position of the starting point - * @param float $x2 The horizontal position of the ending point - * @param float $y2 The vertical position of the ending point - * - * @return void - * - * @see TCPDF::Line() - */ - public function lineScale($x1, $y1, $x2, $y2) - { - $x1 = ($x1 - $this->_xMin) / $this->scale + $this->leftMargin; - $y1 = ($y1 - $this->_yMin) / $this->scale + $this->topMargin; - $x2 = ($x2 - $this->_xMin) / $this->scale + $this->leftMargin; - $y2 = ($y2 - $this->_yMin) / $this->scale + $this->topMargin; - $this->Line($x1, $y1, $x2, $y2); - } - - /** - * Sets x and y scaled positions - * - * @param float $x The x position - * @param float $y The y position - * - * @return void - * - * @see TCPDF::SetXY() - */ - public function setXyScale($x, $y) - { - $x = ($x - $this->_xMin) / $this->scale + $this->leftMargin; - $y = ($y - $this->_yMin) / $this->scale + $this->topMargin; - $this->SetXY($x, $y); - } - - /** - * Sets the X scaled positions - * - * @param float $x The x position - * - * @return void - * - * @see TCPDF::SetX() - */ - public function setXScale($x) - { - $x = ($x - $this->_xMin) / $this->scale + $this->leftMargin; - $this->SetX($x); - } - - /** - * Sets the scaled font size - * - * @param float $size The font size (in points) - * - * @return void - * - * @see TCPDF::SetFontSize() - */ - public function setFontSizeScale($size) - { - // Set font size in points - $size = $size / $this->scale; - $this->SetFontSize($size); - } - - /** - * Sets the scaled line width - * - * @param float $width The line width - * - * @return void - * - * @see TCPDF::SetLineWidth() - */ - public function setLineWidthScale($width) - { - $width = $width / $this->scale; - $this->SetLineWidth($width); - } - - /** - * This method is used to render the page header. - * - * @return void - * - * @see TCPDF::Header() - */ - public function Header() - { - // We only show this if we find something in the new pdf_pages table - - // This function must be named "Header" to work with the TCPDF library - if ($this->_withDoc) { - if ($this->_offline || $this->_pageNumber == -1) { - $pg_name = __("PDF export page"); - } else { - $test_query = 'SELECT * FROM ' - . Util::backquote($GLOBALS['cfgRelation']['db']) . '.' - . Util::backquote($GLOBALS['cfgRelation']['pdf_pages']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($this->_db) - . '\' AND page_nr = \'' . $this->_pageNumber . '\''; - $test_rs = PMA_queryAsControlUser($test_query); - $pages = @$GLOBALS['dbi']->fetchAssoc($test_rs); - $pg_name = ucfirst($pages['page_descr']); - } - - $this->SetFont($this->_ff, 'B', 14); - $this->Cell(0, 6, $pg_name, 'B', 1, 'C'); - $this->SetFont($this->_ff, ''); - $this->Ln(); - } - } - - /** - * This function must be named "Footer" to work with the TCPDF library - * - * @return void - * - * @see PDF::Footer() - */ - public function Footer() - { - if ($this->_withDoc) { - parent::Footer(); - } - } - - /** - * Sets widths - * - * @param array $w array of widths - * - * @return void - */ - public function SetWidths($w) - { - // column widths - $this->widths = $w; - } - - /** - * Generates table row. - * - * @param array $data Data for table - * @param array $links Links for table cells - * - * @return void - */ - public function Row($data, $links) - { - // line height - $nb = 0; - $data_cnt = count($data); - for ($i = 0;$i < $data_cnt;$i++) { - $nb = max($nb, $this->NbLines($this->widths[$i], $data[$i])); - } - $il = $this->FontSize; - $h = ($il + 1) * $nb; - // page break if necessary - $this->CheckPageBreak($h); - // draw the cells - $data_cnt = count($data); - for ($i = 0;$i < $data_cnt;$i++) { - $w = $this->widths[$i]; - // save current position - $x = $this->GetX(); - $y = $this->GetY(); - // draw the border - $this->Rect($x, $y, $w, $h); - if (isset($links[$i])) { - $this->Link($x, $y, $w, $h, $links[$i]); - } - // print text - $this->MultiCell($w, $il + 1, $data[$i], 0, 'L'); - // go to right side - $this->SetXY($x + $w, $y); - } - // go to line - $this->Ln($h); - } - - /** - * Compute number of lines used by a multicell of width w - * - * @param int $w width - * @param string $txt text - * - * @return int - */ - public function NbLines($w, $txt) - { - $cw = &$this->CurrentFont['cw']; - if ($w == 0) { - $w = $this->w - $this->rMargin - $this->x; - } - $wmax = ($w-2 * $this->cMargin) * 1000 / $this->FontSize; - $s = str_replace("\r", '', $txt); - $nb = strlen($s); - if ($nb > 0 && $s[$nb-1] == "\n") { - $nb--; - } - $sep = -1; - $i = 0; - $j = 0; - $l = 0; - $nl = 1; - while ($i < $nb) { - $c = $s[$i]; - if ($c == "\n") { - $i++; - $sep = -1; - $j = $i; - $l = 0; - $nl++; - continue; - } - if ($c == ' ') { - $sep = $i; - } - $l += isset($cw[mb_ord($c)])?$cw[mb_ord($c)]:0 ; - if ($l > $wmax) { - if ($sep == -1) { - if ($i == $j) { - $i++; - } - } else { - $i = $sep + 1; - } - $sep = -1; - $j = $i; - $l = 0; - $nl++; - } else { - $i++; - } - } - return $nl; - } - - /** - * Set whether the document is generated from client side DB - * - * @param string $value whether offline - * - * @return void - * - * @access private - */ - public function setOffline($value) - { - $this->_offline = $value; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/svg/Svg.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/svg/Svg.php deleted file mode 100644 index d37add74..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/schema/svg/Svg.php +++ /dev/null @@ -1,279 +0,0 @@ -openMemory(); - /* - * Set indenting using three spaces, - * so output is formatted - */ - - $this->setIndent(true); - $this->setIndentString(' '); - /* - * Create the XML document - */ - - $this->startDocument('1.0', 'UTF-8'); - $this->startDtd( - 'svg', - '-//W3C//DTD SVG 1.1//EN', - 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd' - ); - $this->endDtd(); - } - - /** - * Set document title - * - * @param string $value sets the title text - * - * @return void - */ - public function setTitle($value) - { - $this->title = $value; - } - - /** - * Set document author - * - * @param string $value sets the author - * - * @return void - */ - public function setAuthor($value) - { - $this->author = $value; - } - - /** - * Set document font - * - * @param string $value sets the font e.g Arial, Sans-serif etc - * - * @return void - */ - public function setFont($value) - { - $this->font = $value; - } - - /** - * Get document font - * - * @return string returns the font name - */ - public function getFont() - { - return $this->font; - } - - /** - * Set document font size - * - * @param integer $value sets the font size in pixels - * - * @return void - */ - public function setFontSize($value) - { - $this->fontSize = $value; - } - - /** - * Get document font size - * - * @return integer returns the font size - */ - public function getFontSize() - { - return $this->fontSize; - } - - /** - * Starts RelationStatsSvg Document - * - * svg document starts by first initializing svg tag - * which contains all the attributes and namespace that needed - * to define the svg document - * - * @param integer $width total width of the RelationStatsSvg document - * @param integer $height total height of the RelationStatsSvg document - * @param integer $x min-x of the view box - * @param integer $y min-y of the view box - * - * @return void - * - * @see XMLWriter::startElement(),XMLWriter::writeAttribute() - */ - public function startSvgDoc($width, $height, $x = 0, $y = 0) - { - $this->startElement('svg'); - - if (!is_int($width)) { - $width = intval($width); - } - - if (!is_int($height)) { - $height = intval($height); - } - - if ($x != 0 || $y != 0) { - $this->writeAttribute('viewBox', "$x $y $width $height"); - } - $this->writeAttribute('width', ($width - $x) . 'px'); - $this->writeAttribute('height', ($height - $y) . 'px'); - $this->writeAttribute('xmlns', 'http://www.w3.org/2000/svg'); - $this->writeAttribute('version', '1.1'); - } - - /** - * Ends RelationStatsSvg Document - * - * @return void - * @see XMLWriter::endElement(),XMLWriter::endDocument() - */ - public function endSvgDoc() - { - $this->endElement(); - $this->endDocument(); - } - - /** - * output RelationStatsSvg Document - * - * svg document prompted to the user for download - * RelationStatsSvg document saved in .svg extension and can be - * easily changeable by using any svg IDE - * - * @param string $fileName file name - * - * @return void - * @see XMLWriter::startElement(),XMLWriter::writeAttribute() - */ - public function showOutput($fileName) - { - //ob_get_clean(); - $output = $this->flush(); - Response::getInstance()->disable(); - PMA_downloadHeader( - $fileName, - 'image/svg+xml', - strlen($output) - ); - print $output; - } - - /** - * Draws RelationStatsSvg elements - * - * SVG has some predefined shape elements like rectangle & text - * and other elements who have x,y co-ordinates are drawn. - * specify their width and height and can give styles too. - * - * @param string $name RelationStatsSvg element name - * @param int $x The x attr defines the left position of the element - * (e.g. x="0" places the element 0 pixels from the - * left of the browser window) - * @param integer $y The y attribute defines the top position of the - * element (e.g. y="0" places the element 0 pixels - * from the top of the browser window) - * @param int|string $width The width attribute defines the width the element - * @param int|string $height The height attribute defines the height the element - * @param string $text The text attribute defines the text the element - * @param string $styles The style attribute defines the style the element - * styles can be defined like CSS styles - * - * @return void - * - * @see XMLWriter::startElement(), XMLWriter::writeAttribute(), - * XMLWriter::text(), XMLWriter::endElement() - */ - public function printElement( - $name, - $x, - $y, - $width = '', - $height = '', - $text = '', - $styles = '' - ) { - $this->startElement($name); - $this->writeAttribute('width', $width); - $this->writeAttribute('height', $height); - $this->writeAttribute('x', $x); - $this->writeAttribute('y', $y); - $this->writeAttribute('style', $styles); - if (isset($text)) { - $this->writeAttribute('font-family', $this->font); - $this->writeAttribute('font-size', $this->fontSize . 'px'); - $this->text($text); - } - $this->endElement(); - } - - /** - * Draws RelationStatsSvg Line element - * - * RelationStatsSvg line element is drawn for connecting the tables. - * arrows are also drawn by specify its start and ending - * co-ordinates - * - * @param string $name RelationStatsSvg element name i.e line - * @param integer $x1 Defines the start of the line on the x-axis - * @param integer $y1 Defines the start of the line on the y-axis - * @param integer $x2 Defines the end of the line on the x-axis - * @param integer $y2 Defines the end of the line on the y-axis - * @param string $styles The style attribute defines the style the element - * styles can be defined like CSS styles - * - * @return void - * - * @see XMLWriter::startElement(), XMLWriter::writeAttribute(), - * XMLWriter::endElement() - */ - public function printElementLine($name, $x1, $y1, $x2, $y2, $styles) - { - $this->startElement($name); - $this->writeAttribute('x1', $x1); - $this->writeAttribute('y1', $y1); - $this->writeAttribute('x2', $x2); - $this->writeAttribute('y2', $y2); - $this->writeAttribute('style', $styles); - $this->endElement(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/transformations/output/Text_Plain_Sql.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/transformations/output/Text_Plain_Sql.php deleted file mode 100644 index 71b1b5d8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/plugins/transformations/output/Text_Plain_Sql.php +++ /dev/null @@ -1,57 +0,0 @@ -getHeader() - ->getScripts(); - $scripts->addFile('codemirror/lib/codemirror.js'); - $scripts->addFile('codemirror/mode/sql/sql.js'); - $scripts->addFile('codemirror/addon/runmode/runmode.js'); - $scripts->addFile('function.js'); - } - } - - /** - * Gets the plugin`s MIME type - * - * @return string - */ - public static function getMIMEType() - { - return "Text"; - } - - /** - * Gets the plugin`s MIME subtype - * - * @return string - */ - public static function getMIMESubtype() - { - return "Plain"; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/pmd_common.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/pmd_common.php deleted file mode 100644 index 73b77dd7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/pmd_common.php +++ /dev/null @@ -1,777 +0,0 @@ -getTablesFull($GLOBALS['db']); - // seems to be needed later - $GLOBALS['dbi']->selectDb($GLOBALS['db']); - $i = 0; - foreach ($tables as $one_table) { - $GLOBALS['PMD']['TABLE_NAME'][$i] - = $GLOBALS['db'] . "." . $one_table['TABLE_NAME']; - $GLOBALS['PMD']['OWNER'][$i] = $GLOBALS['db']; - $GLOBALS['PMD']['TABLE_NAME_SMALL'][$i] = htmlspecialchars( - $one_table['TABLE_NAME'], ENT_QUOTES - ); - - $GLOBALS['PMD_URL']['TABLE_NAME'][$i] - = $GLOBALS['db'] . "." . $one_table['TABLE_NAME']; - $GLOBALS['PMD_URL']['OWNER'][$i] = $GLOBALS['db']; - $GLOBALS['PMD_URL']['TABLE_NAME_SMALL'][$i] - = $one_table['TABLE_NAME']; - - $GLOBALS['PMD_OUT']['TABLE_NAME'][$i] = htmlspecialchars( - $GLOBALS['db'] . "." . $one_table['TABLE_NAME'], ENT_QUOTES - ); - $GLOBALS['PMD_OUT']['OWNER'][$i] = htmlspecialchars( - $GLOBALS['db'], ENT_QUOTES - ); - $GLOBALS['PMD_OUT']['TABLE_NAME_SMALL'][$i] = htmlspecialchars( - $one_table['TABLE_NAME'], ENT_QUOTES - ); - - $GLOBALS['PMD']['TABLE_TYPE'][$i] = mb_strtoupper( - $one_table['ENGINE'] - ); - - $DF = PMA_getDisplayField($GLOBALS['db'], $one_table['TABLE_NAME']); - if ($DF != '') { - $retval[$GLOBALS['PMD_URL']["TABLE_NAME_SMALL"][$i]] = $DF; - } - - $i++; - } - - return $retval; -} - -/** - * Retrieves table column info - * - * @return array table column nfo - */ -function PMA_getColumnsInfo() -{ - $GLOBALS['dbi']->selectDb($GLOBALS['db']); - $tab_column = array(); - for ($i = 0, $cnt = count($GLOBALS['PMD']["TABLE_NAME"]); $i < $cnt; $i++) { - $fields_rs = $GLOBALS['dbi']->query( - $GLOBALS['dbi']->getColumnsSql( - $GLOBALS['db'], - $GLOBALS['PMD']["TABLE_NAME_SMALL"][$i], - null, - true - ), - null, - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - $tbl_name_i = $GLOBALS['PMD']['TABLE_NAME'][$i]; - $j = 0; - while ($row = $GLOBALS['dbi']->fetchAssoc($fields_rs)) { - $tab_column[$tbl_name_i]['COLUMN_ID'][$j] = $j; - $tab_column[$tbl_name_i]['COLUMN_NAME'][$j] = $row['Field']; - $tab_column[$tbl_name_i]['TYPE'][$j] = $row['Type']; - $tab_column[$tbl_name_i]['NULLABLE'][$j] = $row['Null']; - $j++; - } - } - return $tab_column; -} - -/** - * Returns JavaScript code for initializing vars - * - * @return string JavaScript code - */ -function PMA_getScriptContr() -{ - $GLOBALS['dbi']->selectDb($GLOBALS['db']); - $con = array(); - $con["C_NAME"] = array(); - $i = 0; - $alltab_rs = $GLOBALS['dbi']->query( - 'SHOW TABLES FROM ' . PMA\libraries\Util::backquote($GLOBALS['db']), - null, - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - while ($val = @$GLOBALS['dbi']->fetchRow($alltab_rs)) { - $row = PMA_getForeigners($GLOBALS['db'], $val[0], '', 'internal'); - - if ($row !== false) { - foreach ($row as $field => $value) { - $con['C_NAME'][$i] = ''; - $con['DTN'][$i] = urlencode($GLOBALS['db'] . "." . $val[0]); - $con['DCN'][$i] = urlencode($field); - $con['STN'][$i] = urlencode( - $value['foreign_db'] . "." . $value['foreign_table'] - ); - $con['SCN'][$i] = urlencode($value['foreign_field']); - $i++; - } - } - $row = PMA_getForeigners($GLOBALS['db'], $val[0], '', 'foreign'); - - if ($row !== false) { - foreach ($row['foreign_keys_data'] as $one_key) { - foreach ($one_key['index_list'] as $index => $one_field) { - $con['C_NAME'][$i] = $one_key['constraint']; - $con['DTN'][$i] = urlencode($GLOBALS['db'] . "." . $val[0]); - $con['DCN'][$i] = urlencode($one_field); - $con['STN'][$i] = urlencode( - (isset($one_key['ref_db_name']) ? - $one_key['ref_db_name'] : $GLOBALS['db']) - . "." . $one_key['ref_table_name'] - ); - $con['SCN'][$i] = urlencode($one_key['ref_index_list'][$index]); - $i++; - } - } - } - } - - $ti = 0; - $retval = array(); - for ($i = 0, $cnt = count($con["C_NAME"]); $i < $cnt; $i++) { - $c_name_i = $con['C_NAME'][$i]; - $dtn_i = $con['DTN'][$i]; - $retval[$ti] = array(); - $retval[$ti][$c_name_i] = array(); - if (in_array($dtn_i, $GLOBALS['PMD_URL']["TABLE_NAME"]) - && in_array($con['STN'][$i], $GLOBALS['PMD_URL']["TABLE_NAME"]) - ) { - $retval[$ti][$c_name_i][$dtn_i] = array(); - $retval[$ti][$c_name_i][$dtn_i][$con['DCN'][$i]] = array( - 0 => $con['STN'][$i], - 1 => $con['SCN'][$i] - ); - } - $ti++; - } - return $retval; -} - -/** - * Returns UNIQUE and PRIMARY indices - * - * @return array unique or primary indices - */ -function PMA_getPKOrUniqueKeys() -{ - return PMA_getAllKeys(true); -} - -/** - * Returns all indices - * - * @param bool $unique_only whether to include only unique ones - * - * @return array indices - */ -function PMA_getAllKeys($unique_only = false) -{ - $keys = array(); - - foreach ($GLOBALS['PMD']['TABLE_NAME_SMALL'] as $I => $table) { - $schema = $GLOBALS['PMD']['OWNER'][$I]; - // for now, take into account only the first index segment - foreach (PMA\libraries\Index::getFromTable($table, $schema) as $index) { - if ($unique_only && ! $index->isUnique()) { - continue; - } - $columns = $index->getColumns(); - foreach ($columns as $column_name => $dummy) { - $keys[$schema . '.' . $table . '.' . $column_name] = 1; - } - } - } - return $keys; -} - -/** - * Return script to create j_tab and h_tab arrays - * - * @return string - */ -function PMA_getScriptTabs() -{ - $retval = array( - 'j_tabs' => array(), - 'h_tabs' => array() - ); - - for ($i = 0, $cnt = count($GLOBALS['PMD']['TABLE_NAME']); $i < $cnt; $i++) { - $j = 0; - if (PMA\libraries\Util::isForeignKeySupported($GLOBALS['PMD']['TABLE_TYPE'][$i])) { - $j = 1; - } - $retval['j_tabs'][$GLOBALS['PMD_URL']['TABLE_NAME'][$i]] = $j; - $retval['h_tabs'][$GLOBALS['PMD_URL']['TABLE_NAME'][$i]] = 1; - } - return $retval; -} - -/** - * Returns table positions of a given pdf page - * - * @param int $pg pdf page id - * - * @return array of table positions - */ -function PMA_getTablePositions($pg) -{ - $cfgRelation = PMA_getRelationsParam(); - if (! $cfgRelation['pdfwork']) { - return null; - } - - $query = " - SELECT CONCAT_WS('.', `db_name`, `table_name`) AS `name`, - `x` AS `X`, - `y` AS `Y`, - 1 AS `V`, - 1 AS `H` - FROM " . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['table_coords']) . " - WHERE pdf_page_number = " . intval($pg); - - $tab_pos = $GLOBALS['dbi']->fetchResult( - $query, - 'name', - null, - $GLOBALS['controllink'], - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - return $tab_pos; -} - -/** - * Returns page name of a given pdf page - * - * @param int $pg pdf page id - * - * @return String table name - */ -function PMA_getPageName($pg) -{ - $cfgRelation = PMA_getRelationsParam(); - if (! $cfgRelation['pdfwork']) { - return null; - } - - $query = "SELECT `page_descr`" - . " FROM " . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['pdf_pages']) - . " WHERE " . PMA\libraries\Util::backquote('page_nr') . " = " . intval($pg); - $page_name = $GLOBALS['dbi']->fetchResult( - $query, - null, - null, - $GLOBALS['controllink'], - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - return count($page_name) ? $page_name[0] : null; -} - -/** - * Deletes a given pdf page and its corresponding coordinates - * - * @param int $pg page id - * - * @return boolean success/failure - */ -function PMA_deletePage($pg) -{ - $cfgRelation = PMA_getRelationsParam(); - if (! $cfgRelation['pdfwork']) { - return false; - } - - $query = "DELETE FROM " . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['table_coords']) - . " WHERE " . PMA\libraries\Util::backquote('pdf_page_number') . " = " . intval($pg); - $success = PMA_queryAsControlUser( - $query, true, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if ($success) { - $query = "DELETE FROM " . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['pdf_pages']) - . " WHERE " . PMA\libraries\Util::backquote('page_nr') . " = " . intval($pg); - $success = PMA_queryAsControlUser( - $query, true, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - } - - return (boolean) $success; -} - -/** - * Returns the id of the default pdf page of the database. - * Default page is the one which has the same name as the database. - * - * @param string $db database - * - * @return int id of the default pdf page for the database - */ -function PMA_getDefaultPage($db) -{ - $cfgRelation = PMA_getRelationsParam(); - if (! $cfgRelation['pdfwork']) { - return null; - } - - $query = "SELECT `page_nr`" - . " FROM " . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['pdf_pages']) - . " WHERE `db_name` = '" . $GLOBALS['dbi']->escapeString($db) . "'" - . " AND `page_descr` = '" . $GLOBALS['dbi']->escapeString($db) . "'"; - - $default_page_no = $GLOBALS['dbi']->fetchResult( - $query, - null, - null, - $GLOBALS['controllink'], - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if (count($default_page_no)) { - return intval($default_page_no[0]); - } - return -1; -} - -/** - * Get the id of the page to load. If a default page exists it will be returned. - * If no such exists, returns the id of the first page of the database. - * - * @param string $db database - * - * @return int id of the page to load - */ -function PMA_getLoadingPage($db) -{ - $cfgRelation = PMA_getRelationsParam(); - if (! $cfgRelation['pdfwork']) { - return null; - } - - $page_no = -1; - - $default_page_no = PMA_getDefaultPage($db); - if ($default_page_no != -1) { - $page_no = $default_page_no; - } else { - $query = "SELECT MIN(`page_nr`)" - . " FROM " . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['pdf_pages']) - . " WHERE `db_name` = '" . $GLOBALS['dbi']->escapeString($db) . "'"; - - $min_page_no = $GLOBALS['dbi']->fetchResult( - $query, - null, - null, - $GLOBALS['controllink'], - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - if (count($min_page_no[0])) { - $page_no = $min_page_no[0]; - } - } - return intval($page_no); -} - -/** - * Creates a new page and returns its auto-incrementing id - * - * @param string $pageName name of the page - * @param string $db name of the database - * - * @return int|null - */ -function PMA_createNewPage($pageName, $db) -{ - $cfgRelation = PMA_getRelationsParam(); - if ($cfgRelation['pdfwork']) { - $pageNumber = PMA_REL_createPage( - $pageName, - $cfgRelation, - $db - ); - return $pageNumber; - } - return null; -} - -/** - * Saves positions of table(s) of a given pdf page - * - * @param int $pg pdf page id - * - * @return boolean success/failure - */ -function PMA_saveTablePositions($pg) -{ - $cfgRelation = PMA_getRelationsParam(); - if (! $cfgRelation['pdfwork']) { - return false; - } - - $query = "DELETE FROM " - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db']) - . "." . PMA\libraries\Util::backquote( - $GLOBALS['cfgRelation']['table_coords'] - ) - . " WHERE `db_name` = '" . $GLOBALS['dbi']->escapeString($_REQUEST['db']) - . "'" - . " AND `pdf_page_number` = '" . $GLOBALS['dbi']->escapeString($pg) - . "'"; - - $res = PMA_queryAsControlUser( - $query, - true, - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if (!$res) { - return (boolean)$res; - } - - foreach ($_REQUEST['t_h'] as $key => $value) { - list($DB, $TAB) = explode(".", $key); - if (!$value) { - continue; - } - - $query = "INSERT INTO " - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db']) . "." - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['table_coords']) - . " (`db_name`, `table_name`, `pdf_page_number`, `x`, `y`)" - . " VALUES (" - . "'" . $GLOBALS['dbi']->escapeString($DB) . "', " - . "'" . $GLOBALS['dbi']->escapeString($TAB) . "', " - . "'" . $GLOBALS['dbi']->escapeString($pg) . "', " - . "'" . $GLOBALS['dbi']->escapeString($_REQUEST['t_x'][$key]) . "', " - . "'" . $GLOBALS['dbi']->escapeString($_REQUEST['t_y'][$key]) . "')"; - - $res = PMA_queryAsControlUser( - $query, true, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - } - - return (boolean) $res; -} - -/** - * Saves the display field for a table. - * - * @param string $db database name - * @param string $table table name - * @param string $field display field name - * - * @return boolean - */ -function PMA_saveDisplayField($db, $table, $field) -{ - $cfgRelation = PMA_getRelationsParam(); - if (!$cfgRelation['displaywork']) { - return false; - } - - $disp = PMA_getDisplayField($db, $table); - if ($disp && $disp === $field) { - $field = ''; - } - - $upd_query = new Table($table, $db, $GLOBALS['dbi']); - $upd_query->updateDisplayField($disp, $field, $cfgRelation); - - return true; -} - -/** - * Adds a new foreign relation - * - * @param string $db database name - * @param string $T1 foreign table - * @param string $F1 foreign field - * @param string $T2 master table - * @param string $F2 master field - * @param string $on_delete on delete action - * @param string $on_update on update action - * - * @return array array of success/failure and message - */ -function PMA_addNewRelation($db, $T1, $F1, $T2, $F2, $on_delete, $on_update) -{ - $tables = $GLOBALS['dbi']->getTablesFull($db, $T1); - $type_T1 = mb_strtoupper($tables[$T1]['ENGINE']); - $tables = $GLOBALS['dbi']->getTablesFull($db, $T2); - $type_T2 = mb_strtoupper($tables[$T2]['ENGINE']); - - // native foreign key - if (PMA\libraries\Util::isForeignKeySupported($type_T1) - && PMA\libraries\Util::isForeignKeySupported($type_T2) - && $type_T1 == $type_T2 - ) { - // relation exists? - $existrel_foreign = PMA_getForeigners($db, $T2, '', 'foreign'); - $foreigner = PMA_searchColumnInForeigners($existrel_foreign, $F2); - if ($foreigner - && isset($foreigner['constraint']) - ) { - return array(false, __('Error: relationship already exists.')); - } - // note: in InnoDB, the index does not requires to be on a PRIMARY - // or UNIQUE key - // improve: check all other requirements for InnoDB relations - $result = $GLOBALS['dbi']->query( - 'SHOW INDEX FROM ' . PMA\libraries\Util::backquote($db) - . '.' . PMA\libraries\Util::backquote($T1) . ';' - ); - - // will be use to emphasis prim. keys in the table view - $index_array1 = array(); - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $index_array1[$row['Column_name']] = 1; - } - $GLOBALS['dbi']->freeResult($result); - - $result = $GLOBALS['dbi']->query( - 'SHOW INDEX FROM ' . PMA\libraries\Util::backquote($db) - . '.' . PMA\libraries\Util::backquote($T2) . ';' - ); - // will be used to emphasis prim. keys in the table view - $index_array2 = array(); - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $index_array2[$row['Column_name']] = 1; - } - $GLOBALS['dbi']->freeResult($result); - - if (! empty($index_array1[$F1]) && ! empty($index_array2[$F2])) { - $upd_query = 'ALTER TABLE ' . PMA\libraries\Util::backquote($db) - . '.' . PMA\libraries\Util::backquote($T2) - . ' ADD FOREIGN KEY (' - . PMA\libraries\Util::backquote($F2) . ')' - . ' REFERENCES ' - . PMA\libraries\Util::backquote($db) . '.' - . PMA\libraries\Util::backquote($T1) . '(' - . PMA\libraries\Util::backquote($F1) . ')'; - - if ($on_delete != 'nix') { - $upd_query .= ' ON DELETE ' . $on_delete; - } - if ($on_update != 'nix') { - $upd_query .= ' ON UPDATE ' . $on_update; - } - $upd_query .= ';'; - if ($GLOBALS['dbi']->tryQuery($upd_query)) { - return array(true, __('FOREIGN KEY relationship has been added.')); - } - - $error = $GLOBALS['dbi']->getError(); - return array( - false, - __('Error: FOREIGN KEY relationship could not be added!') - . "
    " . $error - ); - } - - return array(false, __('Error: Missing index on column(s).')); - } - - // internal (pmadb) relation - if ($GLOBALS['cfgRelation']['relwork'] == false) { - return array(false, __('Error: Relational features are disabled!')); - } - - // no need to recheck if the keys are primary or unique at this point, - // this was checked on the interface part - - $q = "INSERT INTO " - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db']) - . "." - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['relation']) - . "(master_db, master_table, master_field, " - . "foreign_db, foreign_table, foreign_field)" - . " values(" - . "'" . $GLOBALS['dbi']->escapeString($db) . "', " - . "'" . $GLOBALS['dbi']->escapeString($T2) . "', " - . "'" . $GLOBALS['dbi']->escapeString($F2) . "', " - . "'" . $GLOBALS['dbi']->escapeString($db) . "', " - . "'" . $GLOBALS['dbi']->escapeString($T1) . "', " - . "'" . $GLOBALS['dbi']->escapeString($F1) . "')"; - - if (PMA_queryAsControlUser($q, false, PMA\libraries\DatabaseInterface::QUERY_STORE) - ) { - return array(true, __('Internal relationship has been added.')); - } - - $error = $GLOBALS['dbi']->getError($GLOBALS['controllink']); - return array( - false, - __('Error: Internal relationship could not be added!') - . "
    " . $error - ); -} - -/** - * Removes a foreign relation - * - * @param string $T1 foreign db.table - * @param string $F1 foreign field - * @param string $T2 master db.table - * @param string $F2 master field - * - * @return array array of success/failure and message - */ -function PMA_removeRelation($T1, $F1, $T2, $F2) -{ - list($DB1, $T1) = explode(".", $T1); - list($DB2, $T2) = explode(".", $T2); - - $tables = $GLOBALS['dbi']->getTablesFull($DB1, $T1); - $type_T1 = mb_strtoupper($tables[$T1]['ENGINE']); - $tables = $GLOBALS['dbi']->getTablesFull($DB2, $T2); - $type_T2 = mb_strtoupper($tables[$T2]['ENGINE']); - - if (PMA\libraries\Util::isForeignKeySupported($type_T1) - && PMA\libraries\Util::isForeignKeySupported($type_T2) - && $type_T1 == $type_T2 - ) { - // InnoDB - $existrel_foreign = PMA_getForeigners($DB2, $T2, '', 'foreign'); - $foreigner = PMA_searchColumnInForeigners($existrel_foreign, $F2); - - if (isset($foreigner['constraint'])) { - $upd_query = 'ALTER TABLE ' . PMA\libraries\Util::backquote($DB2) - . '.' . PMA\libraries\Util::backquote($T2) . ' DROP FOREIGN KEY ' - . PMA\libraries\Util::backquote($foreigner['constraint']) . ';'; - if ($GLOBALS['dbi']->query($upd_query)) { - return array(true, __('FOREIGN KEY relationship has been removed.')); - } - - $error = $GLOBALS['dbi']->getError(); - return array( - false, - __('Error: FOREIGN KEY relationship could not be removed!') - . "
    " . $error - ); - } - } - - // internal relations - $delete_query = "DELETE FROM " - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db']) . "." - . $GLOBALS['cfgRelation']['relation'] . " WHERE " - . "master_db = '" . $GLOBALS['dbi']->escapeString($DB2) . "'" - . " AND master_table = '" . $GLOBALS['dbi']->escapeString($T2) . "'" - . " AND master_field = '" . $GLOBALS['dbi']->escapeString($F2) . "'" - . " AND foreign_db = '" . $GLOBALS['dbi']->escapeString($DB1) . "'" - . " AND foreign_table = '" . $GLOBALS['dbi']->escapeString($T1) . "'" - . " AND foreign_field = '" . $GLOBALS['dbi']->escapeString($F1) . "'"; - - $result = PMA_queryAsControlUser( - $delete_query, - false, - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if (!$result) { - $error = $GLOBALS['dbi']->getError($GLOBALS['controllink']); - return array( - false, - __('Error: Internal relationship could not be removed!') . "
    " . $error - ); - } - - return array(true, __('Internal relationship has been removed.')); -} - -/** - * Save value for a designer setting - * - * @param string $index setting - * @param string $value value - * - * @return bool whether the operation succeeded - */ -function PMA_saveDesignerSetting($index, $value) -{ - $cfgRelation = PMA_getRelationsParam(); - $cfgDesigner = array( - 'user' => $GLOBALS['cfg']['Server']['user'], - 'db' => $cfgRelation['db'], - 'table' => $cfgRelation['designer_settings'] - ); - - $success = true; - if ($GLOBALS['cfgRelation']['designersettingswork']) { - - $orig_data_query = "SELECT settings_data" - . " FROM " . PMA\libraries\Util::backquote($cfgDesigner['db']) - . "." . PMA\libraries\Util::backquote($cfgDesigner['table']) - . " WHERE username = '" - . $GLOBALS['dbi']->escapeString($cfgDesigner['user']) . "';"; - - $orig_data = $GLOBALS['dbi']->fetchSingleRow( - $orig_data_query, 'ASSOC', $GLOBALS['controllink'] - ); - - if (! empty($orig_data)) { - $orig_data = json_decode($orig_data['settings_data'], true); - $orig_data[$index] = $value; - $orig_data = json_encode($orig_data); - - $save_query = "UPDATE " - . PMA\libraries\Util::backquote($cfgDesigner['db']) - . "." . PMA\libraries\Util::backquote($cfgDesigner['table']) - . " SET settings_data = '" . $orig_data . "'" - . " WHERE username = '" - . $GLOBALS['dbi']->escapeString($cfgDesigner['user']) . "';"; - - $success = PMA_queryAsControlUser($save_query); - } else { - $save_data = array($index => $value); - - $query = "INSERT INTO " - . PMA\libraries\Util::backquote($cfgDesigner['db']) - . "." . PMA\libraries\Util::backquote($cfgDesigner['table']) - . " (username, settings_data)" - . " VALUES('" . $cfgDesigner['user'] . "'," - . " '" . json_encode($save_data) . "');"; - - $success = PMA_queryAsControlUser($query); - } - } - - return (bool) $success; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/PropertyItem.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/PropertyItem.php deleted file mode 100644 index 40f910ce..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/PropertyItem.php +++ /dev/null @@ -1,46 +0,0 @@ -_subgroupHeader; - } - - /** - * Sets the subgroup header - * - * @param \PMA\libraries\properties\PropertyItem $subgroupHeader subgroup header - * - * @return void - */ - public function setSubgroupHeader($subgroupHeader) - { - $this->_subgroupHeader = $subgroupHeader; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/BoolPropertyItem.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/BoolPropertyItem.php deleted file mode 100644 index c4315a8f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/properties/options/items/BoolPropertyItem.php +++ /dev/null @@ -1,33 +0,0 @@ -query( - $sql, - $GLOBALS['controllink'], - $options, - $cache_affected_rows - ); - } else { - $result = @$GLOBALS['dbi']->tryQuery( - $sql, - $GLOBALS['controllink'], - $options, - $cache_affected_rows - ); - } // end if... else... - - if ($result) { - return $result; - } else { - return false; - } -} // end of the "PMA_queryAsControlUser()" function - -/** - * Returns current relation parameters - * - * @return array $cfgRelation - */ -function PMA_getRelationsParam() -{ - if (empty($_SESSION['relation'][$GLOBALS['server']]) - || (empty($_SESSION['relation'][$GLOBALS['server']]['PMA_VERSION'])) - || $_SESSION['relation'][$GLOBALS['server']]['PMA_VERSION'] != PMA_VERSION - ) { - $_SESSION['relation'][$GLOBALS['server']] = PMA_checkRelationsParam(); - } - - // just for BC but needs to be before PMA_getRelationsParamDiagnostic() - // which uses it - $GLOBALS['cfgRelation'] = $_SESSION['relation'][$GLOBALS['server']]; - - return $_SESSION['relation'][$GLOBALS['server']]; -} - -/** - * prints out diagnostic info for pma relation feature - * - * @param array $cfgRelation Relation configuration - * - * @return string - */ -function PMA_getRelationsParamDiagnostic($cfgRelation) -{ - $retval = '
    '; - - $messages = array(); - $messages['error'] = '' - . __('not OK') - . ''; - - $messages['ok'] = '' - . _pgettext('Correctly working', 'OK') - . ''; - - $messages['enabled'] = '' . __('Enabled') . ''; - $messages['disabled'] = '' . __('Disabled') . ''; - - if (empty($cfgRelation['db'])) { - $retval .= __('Configuration of pmadb…') . ' ' - . $messages['error'] - . PMA\libraries\Util::showDocu('setup', 'linked-tables') - . '
    ' . "\n" - . __('General relation features') - . ' ' . __('Disabled') - . '' . "\n"; - if ($GLOBALS['cfg']['ZeroConf']) { - if (empty($GLOBALS['db'])) { - $retval .= PMA_getHtmlFixPMATables(true, true); - } else { - $retval .= PMA_getHtmlFixPMATables(true); - } - } - } else { - $retval .= '' . "\n"; - - if (! $cfgRelation['allworks'] - && $GLOBALS['cfg']['ZeroConf'] - // Avoid showing a "Create missing tables" link if it's a - // problem of missing definition - && PMA_arePmadbTablesDefined() - ) { - $retval .= PMA_getHtmlFixPMATables(false); - $retval .= '
    '; - } - - $retval .= PMA_getDiagMessageForParameter( - 'pmadb', - $cfgRelation['db'], - $messages, - 'pmadb' - ); - $retval .= PMA_getDiagMessageForParameter( - 'relation', - isset($cfgRelation['relation']), - $messages, - 'relation' - ); - $retval .= PMA_getDiagMessageForFeature( - __('General relation features'), - 'relwork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'table_info', - isset($cfgRelation['table_info']), - $messages, - 'table_info' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Display Features'), - 'displaywork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'table_coords', - isset($cfgRelation['table_coords']), - $messages, - 'table_coords' - ); - $retval .= PMA_getDiagMessageForParameter( - 'pdf_pages', - isset($cfgRelation['pdf_pages']), - $messages, - 'pdf_pages' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Designer and creation of PDFs'), - 'pdfwork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'column_info', - isset($cfgRelation['column_info']), - $messages, - 'column_info' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Displaying Column Comments'), - 'commwork', - $messages, - false - ); - $retval .= PMA_getDiagMessageForFeature( - __('Browser transformation'), - 'mimework', - $messages - ); - if ($cfgRelation['commwork'] && ! $cfgRelation['mimework']) { - $retval .= ''; - } - $retval .= PMA_getDiagMessageForParameter( - 'bookmarktable', - isset($cfgRelation['bookmark']), - $messages, - 'bookmark' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Bookmarked SQL query'), - 'bookmarkwork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'history', - isset($cfgRelation['history']), - $messages, - 'history' - ); - $retval .= PMA_getDiagMessageForFeature( - __('SQL history'), - 'historywork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'recent', - isset($cfgRelation['recent']), - $messages, - 'recent' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Persistent recently used tables'), - 'recentwork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'favorite', - isset($cfgRelation['favorite']), - $messages, - 'favorite' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Persistent favorite tables'), - 'favoritework', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'table_uiprefs', - isset($cfgRelation['table_uiprefs']), - $messages, - 'table_uiprefs' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Persistent tables\' UI preferences'), - 'uiprefswork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'tracking', - isset($cfgRelation['tracking']), - $messages, - 'tracking' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Tracking'), - 'trackingwork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'userconfig', - isset($cfgRelation['userconfig']), - $messages, - 'userconfig' - ); - $retval .= PMA_getDiagMessageForFeature( - __('User preferences'), - 'userconfigwork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'users', - isset($cfgRelation['users']), - $messages, - 'users' - ); - $retval .= PMA_getDiagMessageForParameter( - 'usergroups', - isset($cfgRelation['usergroups']), - $messages, - 'usergroups' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Configurable menus'), - 'menuswork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'navigationhiding', - isset($cfgRelation['navigationhiding']), - $messages, - 'navigationhiding' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Hide/show navigation items'), - 'navwork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'savedsearches', - isset($cfgRelation['savedsearches']), - $messages, - 'savedsearches' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Saving Query-By-Example searches'), - 'savedsearcheswork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'central_columns', - isset($cfgRelation['central_columns']), - $messages, - 'central_columns' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Managing Central list of columns'), - 'centralcolumnswork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'designer_settings', - isset($cfgRelation['designer_settings']), - $messages, - 'designer_settings' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Remembering Designer Settings'), - 'designersettingswork', - $messages - ); - $retval .= PMA_getDiagMessageForParameter( - 'export_templates', - isset($cfgRelation['export_templates']), - $messages, - 'export_templates' - ); - $retval .= PMA_getDiagMessageForFeature( - __('Saving export templates'), - 'exporttemplateswork', - $messages - ); - $retval .= '
    '; - $retval .= __( - 'Please see the documentation on how to' - . ' update your column_info table.' - ); - $retval .= PMA\libraries\Util::showDocu( - 'config', - 'cfg_Servers_column_info' - ); - $retval .= '
    ' . "\n"; - - if (! $cfgRelation['allworks']) { - - $retval .= '

    ' . __('Quick steps to set up advanced features:') - . '

    '; - - $items = array(); - $items[] = sprintf( - __( - 'Create the needed tables with the ' - . '%screate_tables.sql.' - ), - htmlspecialchars(SQL_DIR) - ) . ' ' . PMA\libraries\Util::showDocu('setup', 'linked-tables'); - $items[] = __('Create a pma user and give access to these tables.') . ' ' - . PMA\libraries\Util::showDocu('config', 'cfg_Servers_controluser'); - $items[] = __( - 'Enable advanced features in configuration file ' - . '(config.inc.php), for example by ' - . 'starting from config.sample.inc.php.' - ) . ' ' . PMA\libraries\Util::showDocu('setup', 'quick-install'); - $items[] = __( - 'Re-login to phpMyAdmin to load the updated configuration file.' - ); - - $retval .= PMA\libraries\Template::get('list/unordered')->render( - array('items' => $items,) - ); - } - } - - return $retval; -} - -/** - * prints out one diagnostic message for a feature - * - * @param string $feature_name feature name in a message string - * @param string $relation_parameter the $GLOBALS['cfgRelation'] parameter to check - * @param array $messages utility messages - * @param boolean $skip_line whether to skip a line after the message - * - * @return string - */ -function PMA_getDiagMessageForFeature($feature_name, - $relation_parameter, $messages, $skip_line = true -) { - $retval = ' ' . $feature_name . ': '; - if (isset($GLOBALS['cfgRelation'][$relation_parameter]) - && $GLOBALS['cfgRelation'][$relation_parameter] - ) { - $retval .= $messages['enabled']; - } else { - $retval .= $messages['disabled']; - } - $retval .= ''; - if ($skip_line) { - $retval .= ' '; - } - return $retval; -} - -/** - * prints out one diagnostic message for a configuration parameter - * - * @param string $parameter config parameter name to display - * @param boolean $relationParameterSet whether this parameter is set - * @param array $messages utility messages - * @param string $docAnchor anchor in documentation - * - * @return string - */ -function PMA_getDiagMessageForParameter($parameter, - $relationParameterSet, $messages, $docAnchor -) { - $retval = ''; - $retval .= '$cfg[\'Servers\'][$i][\'' . $parameter . '\'] ... '; - $retval .= ''; - if ($relationParameterSet) { - $retval .= $messages['ok']; - } else { - $retval .= sprintf( - $messages['error'], - PMA\libraries\Util::getDocuLink('config', 'cfg_Servers_' . $docAnchor) - ); - } - $retval .= '' . "\n"; - return $retval; -} - - -/** - * Defines the relation parameters for the current user - * just a copy of the functions used for relations ;-) - * but added some stuff to check what will work - * - * @access protected - * @return array the relation parameters for the current user - */ -function PMA_checkRelationsParam() -{ - $cfgRelation = array(); - $cfgRelation['PMA_VERSION'] = PMA_VERSION; - - $workToTable = array( - 'relwork' => 'relation', - 'displaywork' => array('relation', 'table_info'), - 'bookmarkwork' => 'bookmarktable', - 'pdfwork' => array('table_coords', 'pdf_pages'), - 'commwork' => 'column_info', - 'mimework' => 'column_info', - 'historywork' => 'history', - 'recentwork' => 'recent', - 'favoritework' => 'favorite', - 'uiprefswork' => 'table_uiprefs', - 'trackingwork' => 'tracking', - 'userconfigwork' => 'userconfig', - 'menuswork' => array('users', 'usergroups'), - 'navwork' => 'navigationhiding', - 'savedsearcheswork' => 'savedsearches', - 'centralcolumnswork' => 'central_columns', - 'designersettingswork' => 'designer_settings', - 'exporttemplateswork' => 'export_templates', - ); - - foreach ($workToTable as $work => $table) { - $cfgRelation[$work] = false; - } - $cfgRelation['allworks'] = false; - $cfgRelation['user'] = null; - $cfgRelation['db'] = null; - - if ($GLOBALS['server'] == 0 - || empty($GLOBALS['cfg']['Server']['pmadb']) - || empty($GLOBALS['controllink']) - || ! $GLOBALS['dbi']->selectDb( - $GLOBALS['cfg']['Server']['pmadb'], $GLOBALS['controllink'] - ) - ) { - // No server selected -> no bookmark table - // we return the array with the falses in it, - // to avoid some 'Uninitialized string offset' errors later - $GLOBALS['cfg']['Server']['pmadb'] = false; - return $cfgRelation; - } - - $cfgRelation['user'] = $GLOBALS['cfg']['Server']['user']; - $cfgRelation['db'] = $GLOBALS['cfg']['Server']['pmadb']; - - // Now I just check if all tables that i need are present so I can for - // example enable relations but not pdf... - // I was thinking of checking if they have all required columns but I - // fear it might be too slow - - $tab_query = 'SHOW TABLES FROM ' - . PMA\libraries\Util::backquote( - $GLOBALS['cfg']['Server']['pmadb'] - ); - $tab_rs = PMA_queryAsControlUser( - $tab_query, false, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if (! $tab_rs) { - // query failed ... ? - //$GLOBALS['cfg']['Server']['pmadb'] = false; - return $cfgRelation; - } - - while ($curr_table = @$GLOBALS['dbi']->fetchRow($tab_rs)) { - if ($curr_table[0] == $GLOBALS['cfg']['Server']['bookmarktable']) { - $cfgRelation['bookmark'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['relation']) { - $cfgRelation['relation'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['table_info']) { - $cfgRelation['table_info'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['table_coords']) { - $cfgRelation['table_coords'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['column_info']) { - $cfgRelation['column_info'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['pdf_pages']) { - $cfgRelation['pdf_pages'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['history']) { - $cfgRelation['history'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['recent']) { - $cfgRelation['recent'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['favorite']) { - $cfgRelation['favorite'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['table_uiprefs']) { - $cfgRelation['table_uiprefs'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['tracking']) { - $cfgRelation['tracking'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['userconfig']) { - $cfgRelation['userconfig'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['users']) { - $cfgRelation['users'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['usergroups']) { - $cfgRelation['usergroups'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['navigationhiding']) { - $cfgRelation['navigationhiding'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['savedsearches']) { - $cfgRelation['savedsearches'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['central_columns']) { - $cfgRelation['central_columns'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['designer_settings']) { - $cfgRelation['designer_settings'] = $curr_table[0]; - } elseif ($curr_table[0] == $GLOBALS['cfg']['Server']['export_templates']) { - $cfgRelation['export_templates'] = $curr_table[0]; - } - } // end while - $GLOBALS['dbi']->freeResult($tab_rs); - - if (isset($cfgRelation['relation'])) { - $cfgRelation['relwork'] = true; - } - - if (isset($cfgRelation['relation']) && isset($cfgRelation['table_info'])) { - $cfgRelation['displaywork'] = true; - } - - if (isset($cfgRelation['table_coords']) && isset($cfgRelation['pdf_pages'])) { - $cfgRelation['pdfwork'] = true; - } - - if (isset($cfgRelation['column_info'])) { - $cfgRelation['commwork'] = true; - // phpMyAdmin 4.3+ - // Check for input transformations upgrade. - $cfgRelation['mimework'] = PMA_tryUpgradeTransformations(); - } - - if (isset($cfgRelation['history'])) { - $cfgRelation['historywork'] = true; - } - - if (isset($cfgRelation['recent'])) { - $cfgRelation['recentwork'] = true; - } - - if (isset($cfgRelation['favorite'])) { - $cfgRelation['favoritework'] = true; - } - - if (isset($cfgRelation['table_uiprefs'])) { - $cfgRelation['uiprefswork'] = true; - } - - if (isset($cfgRelation['tracking'])) { - $cfgRelation['trackingwork'] = true; - } - - if (isset($cfgRelation['userconfig'])) { - $cfgRelation['userconfigwork'] = true; - } - - if (isset($cfgRelation['bookmark'])) { - $cfgRelation['bookmarkwork'] = true; - } - - if (isset($cfgRelation['users']) && isset($cfgRelation['usergroups'])) { - $cfgRelation['menuswork'] = true; - } - - if (isset($cfgRelation['navigationhiding'])) { - $cfgRelation['navwork'] = true; - } - - if (isset($cfgRelation['savedsearches'])) { - $cfgRelation['savedsearcheswork'] = true; - } - - if (isset($cfgRelation['central_columns'])) { - $cfgRelation['centralcolumnswork'] = true; - } - - if (isset($cfgRelation['designer_settings'])) { - $cfgRelation['designersettingswork'] = true; - } - - if (isset($cfgRelation['export_templates'])) { - $cfgRelation['exporttemplateswork'] = true; - } - - $allWorks = true; - foreach ($workToTable as $work => $table) { - if (! $cfgRelation[$work]) { - if (is_string($table)) { - if (isset($GLOBALS['cfg']['Server'][$table]) - && $GLOBALS['cfg']['Server'][$table] !== false - ) { - $allWorks = false; - break; - } - } else if (is_array($table)) { - $oneNull = false; - foreach ($table as $t) { - if (isset($GLOBALS['cfg']['Server'][$t]) - && $GLOBALS['cfg']['Server'][$t] === false - ) { - $oneNull = true; - break; - } - } - if (! $oneNull) { - $allWorks = false; - break; - } - } - } - } - $cfgRelation['allworks'] = $allWorks; - - return $cfgRelation; -} // end of the 'PMA_checkRelationsParam()' function - -/** - * Check whether column_info table input transformation - * upgrade is required and try to upgrade silently - * - * @return bool false if upgrade failed - * - * @access public - */ -function PMA_tryUpgradeTransformations() -{ - // From 4.3, new input oriented transformation feature was introduced. - // Check whether column_info table has input transformation columns - $new_cols = array( - "input_transformation", - "input_transformation_options" - ); - $query = 'SHOW COLUMNS FROM ' - . PMA\libraries\Util::backquote($GLOBALS['cfg']['Server']['pmadb']) - . '.' . PMA\libraries\Util::backquote( - $GLOBALS['cfg']['Server']['column_info'] - ) - . ' WHERE Field IN (\'' . implode('\', \'', $new_cols) . '\')'; - $result = PMA_queryAsControlUser( - $query, false, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - if ($result) { - $rows = $GLOBALS['dbi']->numRows($result); - $GLOBALS['dbi']->freeResult($result); - // input transformations are present - // no need to upgrade - if ($rows === 2) { - return true; - // try silent upgrade without disturbing the user - } else { - // read upgrade query file - $query = @file_get_contents(SQL_DIR . 'upgrade_column_info_4_3_0+.sql'); - // replace database name from query to with set in config.inc.php - $query = str_replace( - '`phpmyadmin`', - PMA\libraries\Util::backquote($GLOBALS['cfg']['Server']['pmadb']), - $query - ); - // replace pma__column_info table name from query - // to with set in config.inc.php - $query = str_replace( - '`pma__column_info`', - PMA\libraries\Util::backquote( - $GLOBALS['cfg']['Server']['column_info'] - ), - $query - ); - $GLOBALS['dbi']->tryMultiQuery($query, $GLOBALS['controllink']); - // skips result sets of query as we are not interested in it - while ($GLOBALS['dbi']->moreResults($GLOBALS['controllink']) - && $GLOBALS['dbi']->nextResult($GLOBALS['controllink']) - ) { - } - $error = $GLOBALS['dbi']->getError($GLOBALS['controllink']); - // return true if no error exists otherwise false - return empty($error); - } - } - // some failure, either in upgrading or something else - // make some noise, time to wake up user. - return false; -} - -/** - * Gets all Relations to foreign tables for a given table or - * optionally a given column in a table - * - * @param string $db the name of the db to check for - * @param string $table the name of the table to check for - * @param string $column the name of the column to check for - * @param string $source the source for foreign key information - * - * @return array db,table,column - * - * @access public - */ -function PMA_getForeigners($db, $table, $column = '', $source = 'both') -{ - $cfgRelation = PMA_getRelationsParam(); - $foreign = array(); - - if ($cfgRelation['relwork'] && ($source == 'both' || $source == 'internal')) { - $rel_query = ' - SELECT `master_field`, - `foreign_db`, - `foreign_table`, - `foreign_field` - FROM ' . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['relation']) . ' - WHERE `master_db` = \'' . $GLOBALS['dbi']->escapeString($db) . '\' - AND `master_table` = \'' . $GLOBALS['dbi']->escapeString($table) - . '\' '; - if (strlen($column) > 0) { - $rel_query .= ' AND `master_field` = ' - . '\'' . $GLOBALS['dbi']->escapeString($column) . '\''; - } - $foreign = $GLOBALS['dbi']->fetchResult( - $rel_query, 'master_field', null, $GLOBALS['controllink'] - ); - } - - if (($source == 'both' || $source == 'foreign') && strlen($table) > 0) { - $tableObj = new Table($table, $db); - $show_create_table = $tableObj->showCreate(); - if ($show_create_table) { - $parser = new \PhpMyAdmin\SqlParser\Parser($show_create_table); - /** - * @var \PhpMyAdmin\SqlParser\Statements\CreateStatement $stmt - */ - $stmt = $parser->statements[0]; - $foreign['foreign_keys_data'] = \PhpMyAdmin\SqlParser\Utils\Table::getForeignKeys( - $stmt - ); - } - } - - /** - * Emulating relations for some information_schema tables - */ - $isInformationSchema = mb_strtolower($db) == 'information_schema'; - $isMysql = mb_strtolower($db) == 'mysql'; - if (($isInformationSchema || $isMysql) - && ($source == 'internal' || $source == 'both') - ) { - if ($isInformationSchema) { - $relations_key = 'information_schema_relations'; - include_once './libraries/information_schema_relations.lib.php'; - } else { - $relations_key = 'mysql_relations'; - include_once './libraries/mysql_relations.lib.php'; - } - if (isset($GLOBALS[$relations_key][$table])) { - foreach ($GLOBALS[$relations_key][$table] as $field => $relations) { - if ((strlen($column) === 0 || $column == $field) - && (! isset($foreign[$field]) - || strlen($foreign[$field]) === 0) - ) { - $foreign[$field] = $relations; - } - } - } - } - - return $foreign; -} // end of the 'PMA_getForeigners()' function - -/** - * Gets the display field of a table - * - * @param string $db the name of the db to check for - * @param string $table the name of the table to check for - * - * @return string field name - * - * @access public - */ -function PMA_getDisplayField($db, $table) -{ - $cfgRelation = PMA_getRelationsParam(); - - /** - * Try to fetch the display field from DB. - */ - if ($cfgRelation['displaywork']) { - $disp_query = ' - SELECT `display_field` - FROM ' . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['table_info']) . ' - WHERE `db_name` = \'' . $GLOBALS['dbi']->escapeString($db) . '\' - AND `table_name` = \'' . $GLOBALS['dbi']->escapeString($table) - . '\''; - - $row = $GLOBALS['dbi']->fetchSingleRow( - $disp_query, 'ASSOC', $GLOBALS['controllink'] - ); - if (isset($row['display_field'])) { - return $row['display_field']; - } - } - - /** - * Emulating the display field for some information_schema tables. - */ - if ($db == 'information_schema') { - switch ($table) { - case 'CHARACTER_SETS': - return 'DESCRIPTION'; - case 'TABLES': - return 'TABLE_COMMENT'; - } - } - - /** - * Pick first char field - */ - $columns = $GLOBALS['dbi']->getColumnsFull($db, $table); - if ($columns) { - foreach ($columns as $column) { - if ($GLOBALS['PMA_Types']->getTypeClass($column['DATA_TYPE']) == 'CHAR') { - return $column['COLUMN_NAME']; - } - } - } - - /** - * No Luck... - */ - return false; - -} // end of the 'PMA_getDisplayField()' function - -/** - * Gets the comments for all columns of a table or the db itself - * - * @param string $db the name of the db to check for - * @param string $table the name of the table to check for - * - * @return array [column_name] = comment - * - * @access public - */ -function PMA_getComments($db, $table = '') -{ - $comments = array(); - - if ($table != '') { - // MySQL native column comments - $columns = $GLOBALS['dbi']->getColumns($db, $table, null, true); - if ($columns) { - foreach ($columns as $column) { - if (! empty($column['Comment'])) { - $comments[$column['Field']] = $column['Comment']; - } - } - } - } else { - $comments[] = PMA_getDbComment($db); - } - - return $comments; -} // end of the 'PMA_getComments()' function - -/** - * Gets the comment for a db - * - * @param string $db the name of the db to check for - * - * @return string comment - * - * @access public - */ -function PMA_getDbComment($db) -{ - $cfgRelation = PMA_getRelationsParam(); - $comment = ''; - - if ($cfgRelation['commwork']) { - // pmadb internal db comment - $com_qry = " - SELECT `comment` - FROM " . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['column_info']) - . " - WHERE db_name = '" . $GLOBALS['dbi']->escapeString($db) . "' - AND table_name = '' - AND column_name = '(db_comment)'"; - $com_rs = PMA_queryAsControlUser( - $com_qry, true, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if ($com_rs && $GLOBALS['dbi']->numRows($com_rs) > 0) { - $row = $GLOBALS['dbi']->fetchAssoc($com_rs); - $comment = $row['comment']; - } - $GLOBALS['dbi']->freeResult($com_rs); - } - - return $comment; -} // end of the 'PMA_getDbComment()' function - -/** - * Gets the comment for a db - * - * @access public - * - * @return string comment - */ -function PMA_getDbComments() -{ - $cfgRelation = PMA_getRelationsParam(); - $comments = array(); - - if ($cfgRelation['commwork']) { - // pmadb internal db comment - $com_qry = " - SELECT `db_name`, `comment` - FROM " . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['column_info']) - . " - WHERE `column_name` = '(db_comment)'"; - $com_rs = PMA_queryAsControlUser( - $com_qry, true, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if ($com_rs && $GLOBALS['dbi']->numRows($com_rs) > 0) { - while ($row = $GLOBALS['dbi']->fetchAssoc($com_rs)) { - $comments[$row['db_name']] = $row['comment']; - } - } - $GLOBALS['dbi']->freeResult($com_rs); - } - - return $comments; -} // end of the 'PMA_getDbComments()' function - -/** - * Set a database comment to a certain value. - * - * @param string $db the name of the db - * @param string $comment the value of the column - * - * @return boolean true, if comment-query was made. - * - * @access public - */ -function PMA_setDbComment($db, $comment = '') -{ - $cfgRelation = PMA_getRelationsParam(); - - if (! $cfgRelation['commwork']) { - return false; - } - - if (strlen($comment) > 0) { - $upd_query = 'INSERT INTO ' - . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['column_info']) - . ' (`db_name`, `table_name`, `column_name`, `comment`)' - . ' VALUES (\'' - . $GLOBALS['dbi']->escapeString($db) - . "', '', '(db_comment)', '" - . $GLOBALS['dbi']->escapeString($comment) - . "') " - . ' ON DUPLICATE KEY UPDATE ' - . "`comment` = '" . $GLOBALS['dbi']->escapeString($comment) . "'"; - } else { - $upd_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['column_info']) - . ' WHERE `db_name` = \'' . $GLOBALS['dbi']->escapeString($db) - . '\' - AND `table_name` = \'\' - AND `column_name` = \'(db_comment)\''; - } - - if (isset($upd_query)) { - return PMA_queryAsControlUser($upd_query); - } - - return false; -} // end of 'PMA_setDbComment()' function - -/** - * Set a SQL history entry - * - * @param string $db the name of the db - * @param string $table the name of the table - * @param string $username the username - * @param string $sqlquery the sql query - * - * @return void - * - * @access public - */ -function PMA_setHistory($db, $table, $username, $sqlquery) -{ - $maxCharactersInDisplayedSQL = $GLOBALS['cfg']['MaxCharactersInDisplayedSQL']; - // Prevent to run this automatically on Footer class destroying in testsuite - if (defined('TESTSUITE') - || mb_strlen($sqlquery) > $maxCharactersInDisplayedSQL - ) { - return; - } - - $cfgRelation = PMA_getRelationsParam(); - - if (! isset($_SESSION['sql_history'])) { - $_SESSION['sql_history'] = array(); - } - - $_SESSION['sql_history'][] = array( - 'db' => $db, - 'table' => $table, - 'sqlquery' => $sqlquery, - ); - - if (count($_SESSION['sql_history']) > $GLOBALS['cfg']['QueryHistoryMax']) { - // history should not exceed a maximum count - array_shift($_SESSION['sql_history']); - } - - if (! $cfgRelation['historywork'] || ! $GLOBALS['cfg']['QueryHistoryDB']) { - return; - } - - PMA_queryAsControlUser( - 'INSERT INTO ' - . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['history']) . ' - (`username`, - `db`, - `table`, - `timevalue`, - `sqlquery`) - VALUES - (\'' . $GLOBALS['dbi']->escapeString($username) . '\', - \'' . $GLOBALS['dbi']->escapeString($db) . '\', - \'' . $GLOBALS['dbi']->escapeString($table) . '\', - NOW(), - \'' . $GLOBALS['dbi']->escapeString($sqlquery) . '\')' - ); - - PMA_purgeHistory($username); - -} // end of 'PMA_setHistory()' function - -/** - * Gets a SQL history entry - * - * @param string $username the username - * - * @return array list of history items - * - * @access public - */ -function PMA_getHistory($username) -{ - $cfgRelation = PMA_getRelationsParam(); - - if (! $cfgRelation['historywork']) { - return false; - } - - /** - * if db-based history is disabled but there exists a session-based - * history, use it - */ - if (! $GLOBALS['cfg']['QueryHistoryDB']) { - if (isset($_SESSION['sql_history'])) { - return array_reverse($_SESSION['sql_history']); - } - return false; - } - - $hist_query = ' - SELECT `db`, - `table`, - `sqlquery`, - `timevalue` - FROM ' . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['history']) . ' - WHERE `username` = \'' . $GLOBALS['dbi']->escapeString($username) . '\' - ORDER BY `id` DESC'; - - return $GLOBALS['dbi']->fetchResult( - $hist_query, null, null, $GLOBALS['controllink'] - ); -} // end of 'PMA_getHistory()' function - -/** - * purges SQL history - * - * deletes entries that exceeds $cfg['QueryHistoryMax'], oldest first, for the - * given user - * - * @param string $username the username - * - * @return void - * - * @access public - */ -function PMA_purgeHistory($username) -{ - $cfgRelation = PMA_getRelationsParam(); - if (! $GLOBALS['cfg']['QueryHistoryDB'] || ! $cfgRelation['historywork']) { - return; - } - - if (! $cfgRelation['historywork']) { - return; - } - - $search_query = ' - SELECT `timevalue` - FROM ' . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['history']) . ' - WHERE `username` = \'' . $GLOBALS['dbi']->escapeString($username) . '\' - ORDER BY `timevalue` DESC - LIMIT ' . $GLOBALS['cfg']['QueryHistoryMax'] . ', 1'; - - if ($max_time = $GLOBALS['dbi']->fetchValue( - $search_query, 0, 0, $GLOBALS['controllink'] - )) { - PMA_queryAsControlUser( - 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['history']) . ' - WHERE `username` = \'' . $GLOBALS['dbi']->escapeString($username) - . '\' - AND `timevalue` <= \'' . $max_time . '\'' - ); - } -} // end of 'PMA_purgeHistory()' function - -/** - * Prepares the dropdown for one mode - * - * @param array $foreign the keys and values for foreigns - * @param string $data the current data of the dropdown - * @param string $mode the needed mode - * - * @return array the '; - } elseif ($mode == 'id-content') { - $reloptions[] = $reloption . '>' - . htmlspecialchars($key) . ' - ' . $value . ''; - } elseif ($mode == 'id-only') { - $reloptions[] = $reloption . '>' - . htmlspecialchars($key) . ''; - } - } // end foreach - - return $reloptions; -} // end of 'PMA_buildForeignDropdown' function - -/** - * Outputs dropdown with values of foreign fields - * - * @param array $disp_row array of the displayed row - * @param string $foreign_field the foreign field - * @param string $foreign_display the foreign field to display - * @param string $data the current data of the dropdown (field in row) - * @param int $max maximum number of items in the dropdown - * - * @return string the '; - $top_count = count($top); - if ($max == -1 || $top_count < $max) { - $ret .= implode('', $top); - if ($foreign_display && $top_count > 0) { - // this empty option is to visually mark the beginning of the - // second series of values (bottom) - $ret .= ''; - } - } - if ($foreign_display) { - $ret .= implode('', $bottom); - } - - return $ret; -} // end of 'PMA_foreignDropdown()' function - -/** - * Gets foreign keys in preparation for a drop-down selector - * - * @param array|boolean $foreigners array of the foreign keys - * @param string $field the foreign field name - * @param bool $override_total whether to override the total - * @param string $foreign_filter a possible filter - * @param string $foreign_limit a possible LIMIT clause - * @param bool $get_total optional, whether to get total num of rows - * in $foreignData['the_total;] - * (has an effect of performance) - * - * @return array data about the foreign keys - * - * @access public - */ -function PMA_getForeignData( - $foreigners, $field, $override_total, - $foreign_filter, $foreign_limit, $get_total=false -) { - // we always show the foreign field in the drop-down; if a display - // field is defined, we show it besides the foreign field - $foreign_link = false; - do { - if (! $foreigners) { - break; - } - $foreigner = PMA_searchColumnInForeigners($foreigners, $field); - if ($foreigner != false) { - $foreign_db = $foreigner['foreign_db']; - $foreign_table = $foreigner['foreign_table']; - $foreign_field = $foreigner['foreign_field']; - } else { - break; - } - - // Count number of rows in the foreign table. Currently we do - // not use a drop-down if more than ForeignKeyMaxLimit rows in the - // foreign table, - // for speed reasons and because we need a better interface for this. - // - // We could also do the SELECT anyway, with a LIMIT, and ensure that - // the current value of the field is one of the choices. - - // Check if table has more rows than specified by - // $GLOBALS['cfg']['ForeignKeyMaxLimit'] - $moreThanLimit = $GLOBALS['dbi']->getTable($foreign_db, $foreign_table) - ->checkIfMinRecordsExist($GLOBALS['cfg']['ForeignKeyMaxLimit']); - - if ($override_total == true - || !$moreThanLimit - ) { - // foreign_display can be false if no display field defined: - $foreign_display = PMA_getDisplayField($foreign_db, $foreign_table); - - $f_query_main = 'SELECT ' . PMA\libraries\Util::backquote($foreign_field) - . ( - ($foreign_display == false) - ? '' - : ', ' . PMA\libraries\Util::backquote($foreign_display) - ); - $f_query_from = ' FROM ' . PMA\libraries\Util::backquote($foreign_db) - . '.' . PMA\libraries\Util::backquote($foreign_table); - $f_query_filter = empty($foreign_filter) ? '' : ' WHERE ' - . PMA\libraries\Util::backquote($foreign_field) - . ' LIKE "%' . $GLOBALS['dbi']->escapeString($foreign_filter) . '%"' - . ( - ($foreign_display == false) - ? '' - : ' OR ' . PMA\libraries\Util::backquote($foreign_display) - . ' LIKE "%' . $GLOBALS['dbi']->escapeString($foreign_filter) - . '%"' - ); - $f_query_order = ($foreign_display == false) ? '' :' ORDER BY ' - . PMA\libraries\Util::backquote($foreign_table) . '.' - . PMA\libraries\Util::backquote($foreign_display); - - $f_query_limit = ! empty($foreign_limit) ? ($foreign_limit) : ''; - - if (!empty($foreign_filter)) { - $the_total = $GLOBALS['dbi']->fetchValue( - 'SELECT COUNT(*)' . $f_query_from . $f_query_filter - ); - if ($the_total === false) { - $the_total = 0; - } - } - - $disp = $GLOBALS['dbi']->tryQuery( - $f_query_main . $f_query_from . $f_query_filter - . $f_query_order . $f_query_limit - ); - if ($disp && $GLOBALS['dbi']->numRows($disp) > 0) { - // If a resultset has been created, pre-cache it in the $disp_row - // array. This helps us from not needing to use mysql_data_seek by - // accessing a pre-cached PHP array. Usually those resultsets are - // not that big, so a performance hit should not be expected. - $disp_row = array(); - while ($single_disp_row = @$GLOBALS['dbi']->fetchAssoc($disp)) { - $disp_row[] = $single_disp_row; - } - @$GLOBALS['dbi']->freeResult($disp); - } else { - // Either no data in the foreign table or - // user does not have select permission to foreign table/field - // Show an input field with a 'Browse foreign values' link - $disp_row = null; - $foreign_link = true; - } - } else { - $disp_row = null; - $foreign_link = true; - } - } while (false); - - if ($get_total) { - $the_total = $GLOBALS['dbi']->getTable($foreign_db, $foreign_table) - ->countRecords(true); - } - - $foreignData = array(); - $foreignData['foreign_link'] = $foreign_link; - $foreignData['the_total'] = isset($the_total) ? $the_total : null; - $foreignData['foreign_display'] = ( - isset($foreign_display) ? $foreign_display : null - ); - $foreignData['disp_row'] = isset($disp_row) ? $disp_row : null; - $foreignData['foreign_field'] = isset($foreign_field) ? $foreign_field : null; - - return $foreignData; -} // end of 'PMA_getForeignData()' function - -/** - * Rename a field in relation tables - * - * usually called after a column in a table was renamed - * - * @param string $db database name - * @param string $table table name - * @param string $field old field name - * @param string $new_name new field name - * - * @return void - */ -function PMA_REL_renameField($db, $table, $field, $new_name) -{ - $cfgRelation = PMA_getRelationsParam(); - - if ($cfgRelation['displaywork']) { - $table_query = 'UPDATE ' - . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['table_info']) - . ' SET display_field = \'' . $GLOBALS['dbi']->escapeString( - $new_name - ) . '\'' - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) - . '\'' - . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table) - . '\'' - . ' AND display_field = \'' . $GLOBALS['dbi']->escapeString($field) - . '\''; - PMA_queryAsControlUser($table_query); - } - - if ($cfgRelation['relwork']) { - $table_query = 'UPDATE ' - . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['relation']) - . ' SET master_field = \'' . $GLOBALS['dbi']->escapeString( - $new_name - ) . '\'' - . ' WHERE master_db = \'' . $GLOBALS['dbi']->escapeString($db) - . '\'' - . ' AND master_table = \'' . $GLOBALS['dbi']->escapeString($table) - . '\'' - . ' AND master_field = \'' . $GLOBALS['dbi']->escapeString($field) - . '\''; - PMA_queryAsControlUser($table_query); - - $table_query = 'UPDATE ' - . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['relation']) - . ' SET foreign_field = \'' . $GLOBALS['dbi']->escapeString( - $new_name - ) . '\'' - . ' WHERE foreign_db = \'' . $GLOBALS['dbi']->escapeString($db) - . '\'' - . ' AND foreign_table = \'' . $GLOBALS['dbi']->escapeString($table) - . '\'' - . ' AND foreign_field = \'' . $GLOBALS['dbi']->escapeString($field) - . '\''; - PMA_queryAsControlUser($table_query); - - } // end if relwork -} - - -/** - * Performs SQL query used for renaming table. - * - * @param string $table Relation table to use - * @param string $source_db Source database name - * @param string $target_db Target database name - * @param string $source_table Source table name - * @param string $target_table Target table name - * @param string $db_field Name of database field - * @param string $table_field Name of table field - * - * @return void - */ -function PMA_REL_renameSingleTable($table, - $source_db, $target_db, - $source_table, $target_table, - $db_field, $table_field -) { - $query = 'UPDATE ' - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db']) . '.' - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation'][$table]) - . ' SET ' - . $db_field . ' = \'' . $GLOBALS['dbi']->escapeString($target_db) - . '\', ' - . $table_field . ' = \'' . $GLOBALS['dbi']->escapeString($target_table) - . '\'' - . ' WHERE ' - . $db_field . ' = \'' . $GLOBALS['dbi']->escapeString($source_db) . '\'' - . ' AND ' - . $table_field . ' = \'' . $GLOBALS['dbi']->escapeString($source_table) - . '\''; - PMA_queryAsControlUser($query); -} - - -/** - * Rename a table in relation tables - * - * usually called after table has been moved - * - * @param string $source_db Source database name - * @param string $target_db Target database name - * @param string $source_table Source table name - * @param string $target_table Target table name - * - * @return void - */ -function PMA_REL_renameTable($source_db, $target_db, $source_table, $target_table) -{ - // Move old entries from PMA-DBs to new table - if ($GLOBALS['cfgRelation']['commwork']) { - PMA_REL_renameSingleTable( - 'column_info', - $source_db, $target_db, - $source_table, $target_table, - 'db_name', 'table_name' - ); - } - - // updating bookmarks is not possible since only a single table is - // moved, and not the whole DB. - - if ($GLOBALS['cfgRelation']['displaywork']) { - PMA_REL_renameSingleTable( - 'table_info', - $source_db, $target_db, - $source_table, $target_table, - 'db_name', 'table_name' - ); - } - - if ($GLOBALS['cfgRelation']['relwork']) { - PMA_REL_renameSingleTable( - 'relation', - $source_db, $target_db, - $source_table, $target_table, - 'foreign_db', 'foreign_table' - ); - - PMA_REL_renameSingleTable( - 'relation', - $source_db, $target_db, - $source_table, $target_table, - 'master_db', 'master_table' - ); - } - - if ($GLOBALS['cfgRelation']['pdfwork']) { - if ($source_db == $target_db) { - // rename within the database can be handled - PMA_REL_renameSingleTable( - 'table_coords', - $source_db, $target_db, - $source_table, $target_table, - 'db_name', 'table_name' - ); - } else { - // if the table is moved out of the database we can no loger keep the - // record for table coordinate - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db']) . "." - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['table_coords']) - . " WHERE db_name = '" . $GLOBALS['dbi']->escapeString($source_db) . "'" - . " AND table_name = '" . $GLOBALS['dbi']->escapeString($source_table) - . "'"; - PMA_queryAsControlUser($remove_query); - } - } - - if ($GLOBALS['cfgRelation']['uiprefswork']) { - PMA_REL_renameSingleTable( - 'table_uiprefs', - $source_db, $target_db, - $source_table, $target_table, - 'db_name', 'table_name' - ); - } - - if ($GLOBALS['cfgRelation']['navwork']) { - // update hidden items inside table - PMA_REL_renameSingleTable( - 'navigationhiding', - $source_db, $target_db, - $source_table, $target_table, - 'db_name', 'table_name' - ); - - // update data for hidden table - $query = "UPDATE " - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db']) . "." - . PMA\libraries\Util::backquote( - $GLOBALS['cfgRelation']['navigationhiding'] - ) - . " SET db_name = '" . $GLOBALS['dbi']->escapeString($target_db) - . "'," - . " item_name = '" . $GLOBALS['dbi']->escapeString($target_table) - . "'" - . " WHERE db_name = '" . $GLOBALS['dbi']->escapeString($source_db) - . "'" - . " AND item_name = '" . $GLOBALS['dbi']->escapeString($source_table) - . "'" - . " AND item_type = 'table'"; - PMA_queryAsControlUser($query); - } -} - -/** - * Create a PDF page - * - * @param string $newpage name of the new PDF page - * @param array $cfgRelation Relation configuration - * @param string $db database name - * - * @return int $pdf_page_number - */ -function PMA_REL_createPage($newpage, $cfgRelation, $db) -{ - if (! isset($newpage) || $newpage == '') { - $newpage = __('no description'); - } - $ins_query = 'INSERT INTO ' - . PMA\libraries\Util::backquote($GLOBALS['cfgRelation']['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['pdf_pages']) - . ' (db_name, page_descr)' - . ' VALUES (\'' - . $GLOBALS['dbi']->escapeString($db) . '\', \'' - . $GLOBALS['dbi']->escapeString($newpage) . '\')'; - PMA_queryAsControlUser($ins_query, false); - - return $GLOBALS['dbi']->insertId( - isset($GLOBALS['controllink']) ? $GLOBALS['controllink'] : '' - ); -} - -/** - * Get child table references for a table column. - * This works only if 'DisableIS' is false. An empty array is returned otherwise. - * - * @param string $db name of master table db. - * @param string $table name of master table. - * @param string $column name of master table column. - * - * @return array $child_references - */ -function PMA_getChildReferences($db, $table, $column = '') -{ - $child_references = array(); - if (! $GLOBALS['cfg']['Server']['DisableIS']) { - $rel_query = "SELECT `column_name`, `table_name`," - . " `table_schema`, `referenced_column_name`" - . " FROM `information_schema`.`key_column_usage`" - . " WHERE `referenced_table_name` = '" - . $GLOBALS['dbi']->escapeString($table) . "'" - . " AND `referenced_table_schema` = '" - . $GLOBALS['dbi']->escapeString($db) . "'"; - if ($column) { - $rel_query .= " AND `referenced_column_name` = '" - . $GLOBALS['dbi']->escapeString($column) . "'"; - } - - $child_references = $GLOBALS['dbi']->fetchResult( - $rel_query, array('referenced_column_name', null) - ); - } - return $child_references; -} - -/** - * Check child table references and foreign key for a table column. - * - * @param string $db name of master table db. - * @param string $table name of master table. - * @param string $column name of master table column. - * @param array $foreigners_full foreiners array for the whole table. - * @param array $child_references_full child references for the whole table. - * - * @return array $column_status telling about references if foreign key. - */ -function PMA_checkChildForeignReferences( - $db, $table, $column, $foreigners_full = null, $child_references_full = null -) { - $column_status = array(); - $column_status['isEditable'] = false; - $column_status['isReferenced'] = false; - $column_status['isForeignKey'] = false; - $column_status['references'] = array(); - - $foreigners = array(); - if ($foreigners_full !== null) { - if (isset($foreigners_full[$column])) { - $foreigners[$column] = $foreigners_full[$column]; - } - if (isset($foreigners_full['foreign_keys_data'])) { - $foreigners['foreign_keys_data'] = $foreigners_full['foreign_keys_data']; - } - } else { - $foreigners = PMA_getForeigners($db, $table, $column, 'foreign'); - } - $foreigner = PMA_searchColumnInForeigners($foreigners, $column); - - $child_references = array(); - if ($child_references_full !== null) { - if (isset($child_references_full[$column])) { - $child_references = $child_references_full[$column]; - } - } else { - $child_references = PMA_getChildReferences($db, $table, $column); - } - - if (sizeof($child_references, 0) > 0 - || $foreigner - ) { - if (sizeof($child_references, 0) > 0) { - $column_status['isReferenced'] = true; - foreach ($child_references as $columns) { - array_push( - $column_status['references'], - PMA\libraries\Util::backquote($columns['table_schema']) - . '.' . PMA\libraries\Util::backquote($columns['table_name']) - ); - } - } - - if ($foreigner) { - $column_status['isForeignKey'] = true; - } - } else { - $column_status['isEditable'] = true; - } - - return $column_status; -} - -/** - * Search a table column in foreign data. - * - * @param array $foreigners Table Foreign data - * @param string $column Column name - * - * @return bool|array - */ -function PMA_searchColumnInForeigners($foreigners, $column) -{ - if (isset($foreigners[$column])) { - return $foreigners[$column]; - } else { - $foreigner = array(); - foreach ($foreigners['foreign_keys_data'] as $one_key) { - $column_index = array_search($column, $one_key['index_list']); - if ($column_index !== false) { - $foreigner['foreign_field'] - = $one_key['ref_index_list'][$column_index]; - $foreigner['foreign_db'] = isset($one_key['ref_db_name']) - ? $one_key['ref_db_name'] - : $GLOBALS['db']; - $foreigner['foreign_table'] = $one_key['ref_table_name']; - $foreigner['constraint'] = $one_key['constraint']; - $foreigner['on_update'] = isset($one_key['on_update']) - ? $one_key['on_update'] - : 'RESTRICT'; - $foreigner['on_delete'] = isset($one_key['on_delete']) - ? $one_key['on_delete'] - : 'RESTRICT'; - - return $foreigner; - } - } - } - - return false; -} - -/** - * Returns default PMA table names and their create queries. - * - * @return array table name, create query - */ -function PMA_getDefaultPMATableNames() -{ - $pma_tables = array(); - $create_tables_file = file_get_contents( - SQL_DIR . 'create_tables.sql' - ); - - $queries = explode(';', $create_tables_file); - - foreach ($queries as $query) { - if (preg_match( - '/CREATE TABLE IF NOT EXISTS `(.*)` \(/', - $query, - $table - ) - ) { - $pma_tables[$table[1]] = $query . ';'; - } - } - - return $pma_tables; -} - -/** - * Create a table named phpmyadmin to be used as configuration storage - * - * @return bool - */ -function PMA_createPMADatabase() -{ - $GLOBALS['dbi']->tryQuery("CREATE DATABASE IF NOT EXISTS `phpmyadmin`"); - if ($error = $GLOBALS['dbi']->getError()) { - if ($GLOBALS['errno'] == 1044) { - $GLOBALS['message'] = __( - 'You do not have necessary privileges to create a database named' - . ' \'phpmyadmin\'. You may go to \'Operations\' tab of any' - . ' database to set up the phpMyAdmin configuration storage there.' - ); - } else { - $GLOBALS['message'] = $error; - } - return false; - } - return true; -} - -/** - * Creates PMA tables in the given db, updates if already exists. - * - * @param string $db database - * @param boolean $create whether to create tables if they don't exist. - * - * @return void - */ -function PMA_fixPMATables($db, $create = true) -{ - $tablesToFeatures = array( - 'pma__bookmark' => 'bookmarktable', - 'pma__relation' => 'relation', - 'pma__table_info' => 'table_info', - 'pma__table_coords' => 'table_coords', - 'pma__pdf_pages' => 'pdf_pages', - 'pma__column_info' => 'column_info', - 'pma__history' => 'history', - 'pma__recent' => 'recent', - 'pma__favorite' => 'favorite', - 'pma__table_uiprefs' => 'table_uiprefs', - 'pma__tracking' => 'tracking', - 'pma__userconfig' => 'userconfig', - 'pma__users' => 'users', - 'pma__usergroups' => 'usergroups', - 'pma__navigationhiding' => 'navigationhiding', - 'pma__savedsearches' => 'savedsearches', - 'pma__central_columns' => 'central_columns', - 'pma__designer_settings' => 'designer_settings', - 'pma__export_templates' => 'export_templates', - ); - - $existingTables = $GLOBALS['dbi']->getTables($db, $GLOBALS['controllink']); - - $createQueries = null; - $foundOne = false; - foreach ($tablesToFeatures as $table => $feature) { - if (! in_array($table, $existingTables)) { - if ($create) { - if ($createQueries == null) { // first create - $createQueries = PMA_getDefaultPMATableNames(); - $GLOBALS['dbi']->selectDb($db); - } - $GLOBALS['dbi']->tryQuery($createQueries[$table]); - if ($error = $GLOBALS['dbi']->getError()) { - $GLOBALS['message'] = $error; - return; - } - $foundOne = true; - $GLOBALS['cfg']['Server'][$feature] = $table; - } - } else { - $foundOne = true; - $GLOBALS['cfg']['Server'][$feature] = $table; - } - } - - if (! $foundOne) { - return; - } - $GLOBALS['cfg']['Server']['pmadb'] = $db; - $_SESSION['relation'][$GLOBALS['server']] = PMA_checkRelationsParam(); - - $cfgRelation = PMA_getRelationsParam(); - if ($cfgRelation['recentwork'] || $cfgRelation['favoritework']) { - // Since configuration storage is updated, we need to - // re-initialize the favorite and recent tables stored in the - // session from the current configuration storage. - if ($cfgRelation['favoritework']) { - $fav_tables = RecentFavoriteTable::getInstance('favorite'); - $_SESSION['tmpval']['favorite_tables'][$GLOBALS['server']] - = $fav_tables->getFromDb(); - } - - if ($cfgRelation['recentwork']) { - $recent_tables = RecentFavoriteTable::getInstance('recent'); - $_SESSION['tmpval']['recent_tables'][$GLOBALS['server']] - = $recent_tables->getFromDb(); - } - - // Reload navi panel to update the recent/favorite lists. - $GLOBALS['reload'] = true; - } -} - -/** - * Get Html for PMA tables fixing anchor. - * - * @param boolean $allTables whether to create all tables - * @param boolean $createDb whether to create the pmadb also - * - * @return string Html - */ -function PMA_getHtmlFixPMATables($allTables, $createDb = false) -{ - $retval = ''; - - $url_query = URL::getCommon(array('db' => $GLOBALS['db'])); - if ($allTables) { - if ($createDb) { - $url_query .= '&goto=db_operations.php&create_pmadb=1'; - $message = Message::notice( - __( - '%sCreate%s a database named \'phpmyadmin\' and setup ' - . 'the phpMyAdmin configuration storage there.' - ) - ); - } else { - $url_query .= '&goto=db_operations.php&fixall_pmadb=1'; - $message = Message::notice( - __( - '%sCreate%s the phpMyAdmin configuration storage in the ' - . 'current database.' - ) - ); - } - } else { - $url_query .= '&goto=db_operations.php&fix_pmadb=1'; - $message = Message::notice( - __('%sCreate%s missing phpMyAdmin configuration storage tables.') - ); - } - $message->addParamHtml(''); - $message->addParamHtml(''); - - $retval .= $message->getDisplay(); - - return $retval; -} - -/** - * Gets the relations info and status, depending on the condition - * - * @param boolean $condition whether to look for foreigners or not - * @param string $db database name - * @param string $table table name - * - * @return array ($res_rel, $have_rel) - */ -function PMA_getRelationsAndStatus($condition, $db, $table) -{ - if ($condition) { - // Find which tables are related with the current one and write it in - // an array - $res_rel = PMA_getForeigners($db, $table); - - if (count($res_rel) > 0) { - $have_rel = true; - } else { - $have_rel = false; - } - } else { - $have_rel = false; - $res_rel = array(); - } // end if - return(array($res_rel, $have_rel)); -} - -/** - * Verifies if all the pmadb tables are defined - * - * @return boolean - */ -function PMA_arePmadbTablesDefined() -{ - if (empty($GLOBALS['cfg']['Server']['bookmarktable']) - || empty($GLOBALS['cfg']['Server']['relation']) - || empty($GLOBALS['cfg']['Server']['table_info']) - || empty($GLOBALS['cfg']['Server']['table_coords']) - || empty($GLOBALS['cfg']['Server']['column_info']) - || empty($GLOBALS['cfg']['Server']['pdf_pages']) - || empty($GLOBALS['cfg']['Server']['history']) - || empty($GLOBALS['cfg']['Server']['recent']) - || empty($GLOBALS['cfg']['Server']['favorite']) - || empty($GLOBALS['cfg']['Server']['table_uiprefs']) - || empty($GLOBALS['cfg']['Server']['tracking']) - || empty($GLOBALS['cfg']['Server']['userconfig']) - || empty($GLOBALS['cfg']['Server']['users']) - || empty($GLOBALS['cfg']['Server']['usergroups']) - || empty($GLOBALS['cfg']['Server']['navigationhiding']) - || empty($GLOBALS['cfg']['Server']['savedsearches']) - || empty($GLOBALS['cfg']['Server']['central_columns']) - || empty($GLOBALS['cfg']['Server']['designer_settings']) - || empty($GLOBALS['cfg']['Server']['export_templates']) - ) { - return false; - } else { - return true; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/relation_cleanup.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/relation_cleanup.lib.php deleted file mode 100644 index ac4a94cd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/relation_cleanup.lib.php +++ /dev/null @@ -1,356 +0,0 @@ -escapeString($db) . '\'' - . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table) - . '\'' - . ' AND column_name = \'' . $GLOBALS['dbi']->escapeString($column) - . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['displaywork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['table_info']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'' - . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table) - . '\'' - . ' AND display_field = \'' . $GLOBALS['dbi']->escapeString($column) - . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['relwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['relation']) - . ' WHERE master_db = \'' . $GLOBALS['dbi']->escapeString($db) - . '\'' - . ' AND master_table = \'' . $GLOBALS['dbi']->escapeString($table) - . '\'' - . ' AND master_field = \'' . $GLOBALS['dbi']->escapeString($column) - . '\''; - PMA_queryAsControlUser($remove_query); - - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['relation']) - . ' WHERE foreign_db = \'' . $GLOBALS['dbi']->escapeString($db) - . '\'' - . ' AND foreign_table = \'' . $GLOBALS['dbi']->escapeString($table) - . '\'' - . ' AND foreign_field = \'' . $GLOBALS['dbi']->escapeString($column) - . '\''; - PMA_queryAsControlUser($remove_query); - } -} - -/** - * Cleanup table related relation stuff - * - * @param string $db database name - * @param string $table table name - * - * @return void - */ -function PMA_relationsCleanupTable($db, $table) -{ - $cfgRelation = PMA_getRelationsParam(); - - if ($cfgRelation['commwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['column_info']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'' - . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table) - . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['displaywork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['table_info']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'' - . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table) - . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['pdfwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['table_coords']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'' - . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table) - . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['relwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['relation']) - . ' WHERE master_db = \'' . $GLOBALS['dbi']->escapeString($db) - . '\'' - . ' AND master_table = \'' . $GLOBALS['dbi']->escapeString($table) - . '\''; - PMA_queryAsControlUser($remove_query); - - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['relation']) - . ' WHERE foreign_db = \'' . $GLOBALS['dbi']->escapeString($db) - . '\'' - . ' AND foreign_table = \'' . $GLOBALS['dbi']->escapeString($table) - . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['uiprefswork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['table_uiprefs']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'' - . ' AND table_name = \'' . $GLOBALS['dbi']->escapeString($table) - . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['navwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['navigationhiding']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\'' - . ' AND (table_name = \'' . $GLOBALS['dbi']->escapeString($table) - . '\'' - . ' OR (item_name = \'' . $GLOBALS['dbi']->escapeString($table) - . '\'' - . ' AND item_type = \'table\'))'; - PMA_queryAsControlUser($remove_query); - } -} - -/** - * Cleanup database related relation stuff - * - * @param string $db database name - * - * @return void - */ -function PMA_relationsCleanupDatabase($db) -{ - $cfgRelation = PMA_getRelationsParam(); - - if ($cfgRelation['commwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['column_info']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['bookmarkwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['bookmark']) - . ' WHERE dbase = \'' . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['displaywork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['table_info']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['pdfwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['pdf_pages']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['table_coords']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['relwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['relation']) - . ' WHERE master_db = \'' - . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['relation']) - . ' WHERE foreign_db = \'' . $GLOBALS['dbi']->escapeString($db) - . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['uiprefswork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['table_uiprefs']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['navwork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['navigationhiding']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['savedsearcheswork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['savedsearches']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['centralcolumnswork']) { - $remove_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['central_columns']) - . ' WHERE db_name = \'' . $GLOBALS['dbi']->escapeString($db) . '\''; - PMA_queryAsControlUser($remove_query); - } -} - -/** - * Cleanup user related relation stuff - * - * @param string $username username - * - * @return void - */ -function PMA_relationsCleanupUser($username) -{ - $cfgRelation = PMA_getRelationsParam(); - - if ($cfgRelation['bookmarkwork']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['bookmark']) - . " WHERE `user` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['historywork']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['history']) - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['recentwork']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['recent']) - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['favoritework']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['favorite']) - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['uiprefswork']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['table_uiprefs']) - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['userconfigwork']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['userconfig']) - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['menuswork']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['users']) - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['navwork']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['navigationhiding']) - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['savedsearcheswork']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['savedsearches']) - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } - - if ($cfgRelation['designersettingswork']) { - $remove_query = "DELETE FROM " - . PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['designer_settings']) - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) - . "'"; - PMA_queryAsControlUser($remove_query); - } -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/replication.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/replication.inc.php deleted file mode 100644 index 262719b7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/replication.inc.php +++ /dev/null @@ -1,326 +0,0 @@ -fetchResult('SHOW MASTER STATUS'); - -/** - * set selected master server - */ -if (! empty($_REQUEST['master_connection'])) { - /** - * check for multi-master replication functionality - */ - $server_slave_multi_replication = $GLOBALS['dbi']->fetchResult( - 'SHOW ALL SLAVES STATUS' - ); - if ($server_slave_multi_replication) { - $GLOBALS['dbi']->query( - "SET @@default_master_connection = '" - . $GLOBALS['dbi']->escapeString( - $_REQUEST['master_connection'] - ) . "'" - ); - $GLOBALS['url_params']['master_connection'] = $_REQUEST['master_connection']; - } -} - -/** - * get slave replication from server - */ -$server_slave_replication = $GLOBALS['dbi']->fetchResult('SHOW SLAVE STATUS'); - -/** - * replication types - */ -$replication_types = array('master', 'slave'); - - -/** - * define variables for master status - */ -$master_variables = array( - 'File', - 'Position', - 'Binlog_Do_DB', - 'Binlog_Ignore_DB', -); - -/** - * Define variables for slave status - */ -$slave_variables = array( - 'Slave_IO_State', - 'Master_Host', - 'Master_User', - 'Master_Port', - 'Connect_Retry', - 'Master_Log_File', - 'Read_Master_Log_Pos', - 'Relay_Log_File', - 'Relay_Log_Pos', - 'Relay_Master_Log_File', - 'Slave_IO_Running', - 'Slave_SQL_Running', - 'Replicate_Do_DB', - 'Replicate_Ignore_DB', - 'Replicate_Do_Table', - 'Replicate_Ignore_Table', - 'Replicate_Wild_Do_Table', - 'Replicate_Wild_Ignore_Table', - 'Last_Errno', - 'Last_Error', - 'Skip_Counter', - 'Exec_Master_Log_Pos', - 'Relay_Log_Space', - 'Until_Condition', - 'Until_Log_File', - 'Until_Log_Pos', - 'Master_SSL_Allowed', - 'Master_SSL_CA_File', - 'Master_SSL_CA_Path', - 'Master_SSL_Cert', - 'Master_SSL_Cipher', - 'Master_SSL_Key', - 'Seconds_Behind_Master', -); -/** - * define important variables, which need to be watched for - * correct running of replication in slave mode - * - * @usedby PMA_getHtmlForReplicationStatusTable() - */ -// TODO change to regexp or something, to allow for negative match. -// To e.g. highlight 'Last_Error' -// -$slave_variables_alerts = array( - 'Slave_IO_Running' => 'No', - 'Slave_SQL_Running' => 'No', -); -$slave_variables_oks = array( - 'Slave_IO_Running' => 'Yes', - 'Slave_SQL_Running' => 'Yes', -); - -// check which replication is available and -// set $server_{master/slave}_status and assign values - -// replication info is more easily passed to functions -$GLOBALS['replication_info'] = array(); - -foreach ($replication_types as $type) { - if (count(${"server_{$type}_replication"}) > 0) { - $GLOBALS['replication_info'][$type]['status'] = true; - } else { - $GLOBALS['replication_info'][$type]['status'] = false; - } - if ($GLOBALS['replication_info'][$type]['status']) { - if ($type == "master") { - PMA_fillReplicationInfo( - $type, 'Do_DB', $server_master_replication[0], - 'Binlog_Do_DB' - ); - - PMA_fillReplicationInfo( - $type, 'Ignore_DB', $server_master_replication[0], - 'Binlog_Ignore_DB' - ); - } elseif ($type == "slave") { - PMA_fillReplicationInfo( - $type, 'Do_DB', $server_slave_replication[0], - 'Replicate_Do_DB' - ); - - PMA_fillReplicationInfo( - $type, 'Ignore_DB', $server_slave_replication[0], - 'Replicate_Ignore_DB' - ); - - PMA_fillReplicationInfo( - $type, 'Do_Table', $server_slave_replication[0], - 'Replicate_Do_Table' - ); - - PMA_fillReplicationInfo( - $type, 'Ignore_Table', $server_slave_replication[0], - 'Replicate_Ignore_Table' - ); - - PMA_fillReplicationInfo( - $type, 'Wild_Do_Table', $server_slave_replication[0], - 'Replicate_Wild_Do_Table' - ); - - PMA_fillReplicationInfo( - $type, 'Wild_Ignore_Table', $server_slave_replication[0], - 'Replicate_Wild_Ignore_Table' - ); - } - } -} - -/** - * Fill global replication_info variable. - * - * @param string $type Type: master, slave - * @param string $replicationInfoKey Key in replication_info variable - * @param array $mysqlInfo MySQL data about replication - * @param string $mysqlKey MySQL key - * - * @return array - */ -function PMA_fillReplicationInfo( - $type, $replicationInfoKey, $mysqlInfo, $mysqlKey -) { - $GLOBALS['replication_info'][$type][$replicationInfoKey] - = empty($mysqlInfo[$mysqlKey]) - ? array() - : explode( - ",", - $mysqlInfo[$mysqlKey] - ); - - return $GLOBALS['replication_info'][$type][$replicationInfoKey]; -} - -/** - * Extracts database or table name from string - * - * @param string $string contains "dbname.tablename" - * @param string $what what to extract (db|table) - * - * @return string the extracted part - */ -function PMA_extractDbOrTable($string, $what = 'db') -{ - $list = explode(".", $string); - if ('db' == $what) { - return $list[0]; - } else { - return $list[1]; - } -} - -/** - * Configures replication slave - * - * @param string $action possible values: START or STOP - * @param string $control default: null, - * possible values: SQL_THREAD or IO_THREAD or null. - * If it is set to null, it controls both - * SQL_THREAD and IO_THREAD - * @param mixed $link mysql link - * - * @return mixed output of DatabaseInterface::tryQuery - */ -function PMA_Replication_Slave_control($action, $control = null, $link = null) -{ - $action = mb_strtoupper($action); - $control = mb_strtoupper($control); - - if ($action != "START" && $action != "STOP") { - return -1; - } - if ($control != "SQL_THREAD" && $control != "IO_THREAD" && $control != null) { - return -1; - } - - return $GLOBALS['dbi']->tryQuery($action . " SLAVE " . $control . ";", $link); -} - -/** - * Changes master for replication slave - * - * @param string $user replication user on master - * @param string $password password for the user - * @param string $host master's hostname or IP - * @param int $port port, where mysql is running - * @param array $pos position of mysql replication, - * array should contain fields File and Position - * @param bool $stop shall we stop slave? - * @param bool $start shall we start slave? - * @param mixed $link mysql link - * - * @return string output of CHANGE MASTER mysql command - */ -function PMA_Replication_Slave_changeMaster($user, $password, $host, $port, - $pos, $stop = true, $start = true, $link = null -) { - if ($stop) { - PMA_Replication_Slave_control("STOP", null, $link); - } - - $out = $GLOBALS['dbi']->tryQuery( - 'CHANGE MASTER TO ' . - 'MASTER_HOST=\'' . $host . '\',' . - 'MASTER_PORT=' . ($port * 1) . ',' . - 'MASTER_USER=\'' . $user . '\',' . - 'MASTER_PASSWORD=\'' . $password . '\',' . - 'MASTER_LOG_FILE=\'' . $pos["File"] . '\',' . - 'MASTER_LOG_POS=' . $pos["Position"] . ';', $link - ); - - if ($start) { - PMA_Replication_Slave_control("START", null, $link); - } - - return $out; -} - -/** - * This function provides connection to remote mysql server - * - * @param string $user mysql username - * @param string $password password for the user - * @param string $host mysql server's hostname or IP - * @param int $port mysql remote port - * @param string $socket path to unix socket - * - * @return mixed $link mysql link on success - */ -function PMA_Replication_connectToMaster( - $user, $password, $host = null, $port = null, $socket = null -) { - $server = array(); - $server['user'] = $user; - $server['password'] = $password; - $server["host"] = PMA_sanitizeMySQLHost($host); - $server["port"] = $port; - $server["socket"] = $socket; - - // 5th parameter set to true means that it's an auxiliary connection - // and we must not go back to login page if it fails - return $GLOBALS['dbi']->connect(databaseinterface::CONNECT_AUXILIARY, $server); -} -/** - * Fetches position and file of current binary log on master - * - * @param mixed $link mysql link - * - * @return array an array containing File and Position in MySQL replication - * on master server, useful for PMA_Replication_Slave_changeMaster - */ -function PMA_Replication_Slave_binLogMaster($link = null) -{ - $data = $GLOBALS['dbi']->fetchResult('SHOW MASTER STATUS', null, null, $link); - $output = array(); - - if (! empty($data)) { - $output["File"] = $data[0]["File"]; - $output["Position"] = $data[0]["Position"]; - } - return $output; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/replication_gui.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/replication_gui.lib.php deleted file mode 100644 index 88f83fcd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/replication_gui.lib.php +++ /dev/null @@ -1,1078 +0,0 @@ -getDisplay(); - $_SESSION['replication']['sr_action_status'] = 'unknown'; - } elseif ($_SESSION['replication']['sr_action_status'] == 'success') { - $success_message = $_SESSION['replication']['sr_action_info']; - $html .= Message::success($success_message)->getDisplay(); - $_SESSION['replication']['sr_action_status'] = 'unknown'; - } - } - return $html; -} - -/** - * returns HTML for master replication - * - * @return String HTML code - */ -function PMA_getHtmlForMasterReplication() -{ - $html = ''; - if (! isset($_REQUEST['repl_clear_scr'])) { - $html .= '
    '; - $html .= '' . __('Master replication') . ''; - $html .= __('This server is configured as master in a replication process.'); - $html .= '
      '; - $html .= '
    • '; - $html .= __('Show master status') . ''; - $html .= PMA_getHtmlForReplicationStatusTable('master', true, false); - $html .= '
    • '; - - $html .= '
    • '; - $html .= __('Show connected slaves') . ''; - $html .= PMA_getHtmlForReplicationSlavesTable(true); - $html .= '
    • '; - - $_url_params = $GLOBALS['url_params']; - $_url_params['mr_adduser'] = true; - $_url_params['repl_clear_scr'] = true; - - $html .= '
    • '; - $html .= __('Add slave replication user') . '
    • '; - } - - // Display 'Add replication slave user' form - if (isset($_REQUEST['mr_adduser'])) { - $html .= PMA_getHtmlForReplicationMasterAddSlaveuser(); - } elseif (! isset($_REQUEST['repl_clear_scr'])) { - $html .= "
    "; - $html .= "
    "; - } - - return $html; -} - -/** - * returns HTML for master replication configuration - * - * @return String HTML code - */ -function PMA_getHtmlForMasterConfiguration() -{ - $html = '
    '; - $html .= '' . __('Master configuration') . ''; - $html .= __( - 'This server is not configured as a master server in a ' - . 'replication process. You can choose from either replicating ' - . 'all databases and ignoring some of them (useful if you want to ' - . 'replicate a majority of the databases) or you can choose to ignore ' - . 'all databases by default and allow only certain databases to be ' - . 'replicated. Please select the mode:' - ) . '

    '; - - $html .= ''; - $html .= '

    '; - $html .= __('Please select databases:') . '
    '; - $html .= PMA_getHtmlForReplicationDbMultibox(); - $html .= '

    '; - $html .= __( - 'Now, add the following lines at the end of [mysqld] section' - . ' in your my.cnf and please restart the MySQL server afterwards.' - ) . '
    '; - $html .= '
    ';
    -    $html .= __(
    -        'Once you restarted MySQL server, please click on Go button. '
    -        . 'Afterwards, you should see a message informing you, that this server'
    -        . ' is configured as master.'
    -    );
    -    $html .= '
    '; - $html .= '
    '; - $html .= '
    '; - $html .= URL::getHiddenInputs('', ''); - $html .= ' '; - $html .= '
    '; - $html .= '
    '; - - return $html; -} - -/** - * returns HTML for slave replication configuration - * - * @param bool $server_slave_status Whether it is Master or Slave - * @param array $server_slave_replication Slave replication - * - * @return String HTML code - */ -function PMA_getHtmlForSlaveConfiguration( - $server_slave_status, $server_slave_replication -) { - $html = '
    '; - $html .= '' . __('Slave replication') . ''; - /** - * check for multi-master replication functionality - */ - $server_slave_multi_replication = $GLOBALS['dbi']->fetchResult( - 'SHOW ALL SLAVES STATUS' - ); - if ($server_slave_multi_replication) { - $html .= __('Master connection:'); - $html .= '
    '; - $html .= URL::getHiddenInputs($GLOBALS['url_params']); - $html .= ' '; - $html .= ' '; - $html .= '
    '; - $html .= '

    '; - } - if ($server_slave_status) { - $html .= '
    '; - - $_url_params = $GLOBALS['url_params']; - $_url_params['sr_take_action'] = true; - $_url_params['sr_slave_server_control'] = true; - - if ($server_slave_replication[0]['Slave_IO_Running'] == 'No') { - $_url_params['sr_slave_action'] = 'start'; - } else { - $_url_params['sr_slave_action'] = 'stop'; - } - - $_url_params['sr_slave_control_parm'] = 'IO_THREAD'; - $slave_control_io_link = 'server_replication.php' - . URL::getCommon($_url_params); - - if ($server_slave_replication[0]['Slave_SQL_Running'] == 'No') { - $_url_params['sr_slave_action'] = 'start'; - } else { - $_url_params['sr_slave_action'] = 'stop'; - } - - $_url_params['sr_slave_control_parm'] = 'SQL_THREAD'; - $slave_control_sql_link = 'server_replication.php' - . URL::getCommon($_url_params); - - if ($server_slave_replication[0]['Slave_IO_Running'] == 'No' - || $server_slave_replication[0]['Slave_SQL_Running'] == 'No' - ) { - $_url_params['sr_slave_action'] = 'start'; - } else { - $_url_params['sr_slave_action'] = 'stop'; - } - - $_url_params['sr_slave_control_parm'] = null; - $slave_control_full_link = 'server_replication.php' - . URL::getCommon($_url_params); - - $_url_params['sr_slave_action'] = 'reset'; - $slave_control_reset_link = 'server_replication.php' - . URL::getCommon($_url_params); - - $_url_params = $GLOBALS['url_params']; - $_url_params['sr_take_action'] = true; - $_url_params['sr_slave_skip_error'] = true; - $slave_skip_error_link = 'server_replication.php' - . URL::getCommon($_url_params); - - if ($server_slave_replication[0]['Slave_SQL_Running'] == 'No') { - $html .= Message::error( - __('Slave SQL Thread not running!') - )->getDisplay(); - } - if ($server_slave_replication[0]['Slave_IO_Running'] == 'No') { - $html .= Message::error( - __('Slave IO Thread not running!') - )->getDisplay(); - } - - $_url_params = $GLOBALS['url_params']; - $_url_params['sl_configure'] = true; - $_url_params['repl_clear_scr'] = true; - - $reconfiguremaster_link = 'server_replication.php' - . URL::getCommon($_url_params); - - $html .= __( - 'Server is configured as slave in a replication process. Would you ' . - 'like to:' - ); - $html .= '
    '; - $html .= ''; - $html .= '
    '; - - } elseif (! isset($_REQUEST['sl_configure'])) { - $_url_params = $GLOBALS['url_params']; - $_url_params['sl_configure'] = true; - $_url_params['repl_clear_scr'] = true; - - $html .= sprintf( - __( - 'This server is not configured as slave in a replication process. ' - . 'Would you like to configure it?' - ), - 'server_replication.php' . URL::getCommon($_url_params) - ); - } - $html .= '
    '; - - return $html; -} - -/** - * returns HTML for Slave Error Management - * - * @param String $slave_skip_error_link error link - * - * @return String HTML code - */ -function PMA_getHtmlForSlaveErrorManagement($slave_skip_error_link) -{ - $html = ''; - $html .= __('Error management:') . ''; - $html .= ' '; - return $html; -} - -/** - * returns HTML for not configure for a server replication - * - * @return String HTML code - */ -function PMA_getHtmlForNotServerReplication() -{ - $_url_params = $GLOBALS['url_params']; - $_url_params['mr_configure'] = true; - - $html = '
    '; - $html .= '' . __('Master replication') . ''; - $html .= sprintf( - __( - 'This server is not configured as master in a replication process. ' - . 'Would you like to configure it?' - ), - 'server_replication.php' . URL::getCommon($_url_params) - ); - $html .= '
    '; - return $html; -} - -/** - * returns HTML code for selecting databases - * - * @return String HTML code - */ -function PMA_getHtmlForReplicationDbMultibox() -{ - $multi_values = ''; - $multi_values .= '
    '; - $multi_values .= '' . __('Select all') . ''; - $multi_values .= ' / '; - $multi_values .= '' . __('Unselect all') . ''; - - return $multi_values; -} - -/** - * returns HTML for changing master - * - * @param String $submitname - submit button name - * - * @return String HTML code - */ -function PMA_getHtmlForReplicationChangeMaster($submitname) -{ - $html = ''; - list($username_length, $hostname_length) - = PMA_replicationGetUsernameHostnameLength(); - - $html .= '
    '; - $html .= URL::getHiddenInputs('', ''); - $html .= '
    '; - $html .= ' ' . __('Slave configuration'); - $html .= ' - ' . __('Change or reconfigure master server') . ''; - $html .= __( - 'Make sure you have a unique server-id in your configuration file (my.cnf). ' - . 'If not, please add the following line into [mysqld] section:' - ); - $html .= '
    '; - $html .= '
    server-id=' . time() . '
    '; - - $html .= PMA_getHtmlForAddUserInputDiv( - array('text'=>__('User name:'), 'for'=>"text_username"), - array( - 'type'=>'text', - 'name'=>'username', - 'id'=>'text_username', - 'maxlength'=>$username_length, - 'title'=>__('User name'), - 'required'=>'required' - ) - ); - - $html .= PMA_getHtmlForAddUserInputDiv( - array('text'=>__('Password:'), 'for'=>"text_pma_pw"), - array( - 'type'=>'password', - 'name'=>'pma_pw', - 'id'=>'text_pma_pw', - 'title'=>__('Password'), - 'required'=>'required' - ) - ); - - $html .= PMA_getHtmlForAddUserInputDiv( - array('text'=>__('Host:'), 'for'=>"text_hostname"), - array( - 'type'=>'text', - 'name'=>'hostname', - 'id'=>'text_hostname', - 'maxlength'=>$hostname_length, - 'value'=>'', - 'required'=>'required' - ) - ); - - $html .= PMA_getHtmlForAddUserInputDiv( - array('text'=>__('Port:'), 'for'=>"text_port"), - array( - 'type'=>'number', - 'name'=>'text_port', - 'id'=>'text_port', - 'maxlength'=>6, - 'value'=>'3306', - 'required'=>'required' - ) - ); - - $html .= '
    '; - $html .= ' '; - $html .= '
    '; - - return $html; -} - -/** - * returns HTML code for Add user input div - * - * @param array $label_array label tag elements - * @param array $input_array input tag elements - * - * @return String HTML code - */ -function PMA_getHtmlForAddUserInputDiv($label_array, $input_array) -{ - $html = '
    '; - $html .= ' '; - - $html .= ' $value) { - $html .= ' ' . $key . '="' . $value . '" '; - } - $html .= ' />'; - $html .= '
    '; - return $html; -} - -/** - * This function returns html code for table with replication status. - * - * @param string $type either master or slave - * @param boolean $hidden if true, then default style is set to hidden, - * default value false - * @param boolean $title if true, then title is displayed, default true - * - * @return String HTML code - */ -function PMA_getHtmlForReplicationStatusTable($type, $hidden = false, $title = true) -{ - global ${"{$type}_variables"}; - global ${"{$type}_variables_alerts"}; - global ${"{$type}_variables_oks"}; - global ${"server_{$type}_replication"}; - global ${"strReplicationStatus_{$type}"}; - - $html = ''; - - // TODO check the Masters server id? - // seems to default to '1' when queried via SHOW VARIABLES , - // but resulted in error on the master when slave connects - // [ERROR] Error reading packet from server: Misconfigured master - // - server id was not set ( server_errno=1236) - // [ERROR] Got fatal error 1236: 'Misconfigured master - // - server id was not set' from master when reading data from binary log - // - //$server_id = $GLOBALS['dbi']->fetchValue( - // "SHOW VARIABLES LIKE 'server_id'", 0, 1 - //); - - $html .= '
    '; - - if ($title) { - if ($type == 'master') { - $html .= '

    '; - $html .= __('Master status') . '

    '; - } else { - $html .= '

    '; - $html .= __('Slave status') . '

    '; - } - } else { - $html .= '
    '; - } - - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - - foreach (${"{$type}_variables"} as $variable) { - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - } - - $html .= ' '; - $html .= '
    ' . __('Variable') . '' . __('Value') . '
    '; - $html .= htmlspecialchars($variable); - $html .= ' '; - - // TODO change to regexp or something, to allow for negative match - if (isset(${"{$type}_variables_alerts"}[$variable]) - && ${"{$type}_variables_alerts"}[$variable] == ${"server_{$type}_replication"}[0][$variable] - ) { - $html .= ''; - - } elseif (isset(${"{$type}_variables_oks"}[$variable]) - && ${"{$type}_variables_oks"}[$variable] == ${"server_{$type}_replication"}[0][$variable] - ) { - $html .= ''; - } else { - $html .= ''; - } - // allow wrapping long table lists into multiple lines - static $variables_wrap = array( - 'Replicate_Do_DB', 'Replicate_Ignore_DB', - 'Replicate_Do_Table', 'Replicate_Ignore_Table', - 'Replicate_Wild_Do_Table', 'Replicate_Wild_Ignore_Table'); - if (in_array($variable, $variables_wrap)) { - $html .= htmlspecialchars(str_replace( - ',', - ', ', - ${"server_{$type}_replication"}[0][$variable] - )); - } else { - $html .= htmlspecialchars(${"server_{$type}_replication"}[0][$variable]); - } - $html .= ''; - - $html .= '
    '; - $html .= '
    '; - $html .= '
    '; - - return $html; -} - -/** - * returns html code for table with slave users connected to this master - * - * @param boolean $hidden - if true, then default style is set to hidden, - * - default value false - * - * @return string - */ -function PMA_getHtmlForReplicationSlavesTable($hidden = false) -{ - $html = ''; - // Fetch data - $data = $GLOBALS['dbi']->fetchResult('SHOW SLAVE HOSTS', null, null); - - $html .= '
    '; - $html .= '
    '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - - foreach ($data as $slave) { - $html .= ' '; - $html .= ' '; - $html .= ' '; - $html .= ' '; - } - - $html .= ' '; - $html .= '
    ' . __('Server ID') . '' . __('Host') . '
    ' . $slave['Server_id'] . '' . $slave['Host'] . '
    '; - $html .= '
    '; - $html .= Message::notice( - __( - 'Only slaves started with the ' - . '--report-host=host_name option are visible in this list.' - ) - )->getDisplay(); - $html .= '
    '; - $html .= '
    '; - - return $html; -} - -/** - * get the correct username and hostname lengths for this MySQL server - * - * @return array username length, hostname length - */ -function PMA_replicationGetUsernameHostnameLength() -{ - $fields_info = $GLOBALS['dbi']->getColumns('mysql', 'user'); - $username_length = 16; - $hostname_length = 41; - foreach ($fields_info as $val) { - if ($val['Field'] == 'User') { - strtok($val['Type'], '()'); - $v = strtok('()'); - if (is_int($v)) { - $username_length = $v; - } - } elseif ($val['Field'] == 'Host') { - strtok($val['Type'], '()'); - $v = strtok('()'); - if (is_int($v)) { - $hostname_length = $v; - } - } - } - return array($username_length, $hostname_length); -} - -/** - * returns html code to add a replication slave user to the master - * - * @return String HTML code - */ -function PMA_getHtmlForReplicationMasterAddSlaveuser() -{ - $html = ''; - list($username_length, $hostname_length) - = PMA_replicationGetUsernameHostnameLength(); - - if (isset($_REQUEST['username']) && strlen($_REQUEST['username']) === 0) { - $GLOBALS['pred_username'] = 'any'; - } - $html .= '
    '; - $html .= '
    ' . __('Add slave replication user') . '' - . PMA_getHtmlForAddUserLoginForm($username_length) - . '
    ' - . '' - . '' - . ' ' - . '' - . '' - . ' ' - . '' - . '
    ' - . '' - . '' - . ' ' - . '' - . '' - . '
    '; - - return $html; -} - -/** - * returns HTML for TableInfoForm - * - * @param int $hostname_length Selected hostname length - * - * @return String HTML code - */ -function PMA_getHtmlForTableInfoForm($hostname_length) -{ - $html = ' ' - . ' ' - . ' ' - . '
    ' - . '' - . PMA\libraries\Util::showHint( - __( - 'When Host table is used, this field is ignored ' - . 'and values stored in Host table are used instead.' - ) - ) - . '
    ' - . '
    ' - . '' - . '' - . ' ' - . '' - . '' - . '
    ' - . '
    ' - . '' - . ' ' - . '' - . '
    ' - . '
    ' - . '' - . '' - . ' ' - . '' - . '' - . '
    ' - . ''; - $html .= ''; - return $html; -} - -/** - * handle control requests - * - * @return NULL - */ -function PMA_handleControlRequest() -{ - if (isset($_REQUEST['sr_take_action'])) { - $refresh = false; - $result = false; - $messageSuccess = null; - $messageError = null; - - if (isset($_REQUEST['slave_changemaster']) && ! $GLOBALS['cfg']['AllowArbitraryServer']) { - $_SESSION['replication']['sr_action_status'] = 'error'; - $_SESSION['replication']['sr_action_info'] = __('Connection to server is disabled, please enable $cfg[\'AllowArbitraryServer\'] in phpMyAdmin configuration.'); - } elseif (isset($_REQUEST['slave_changemaster'])) { - $result = PMA_handleRequestForSlaveChangeMaster(); - } elseif (isset($_REQUEST['sr_slave_server_control'])) { - $result = PMA_handleRequestForSlaveServerControl(); - $refresh = true; - - switch ($_REQUEST['sr_slave_action']) { - case 'start': - $messageSuccess = __('Replication started successfully.'); - $messageError = __('Error starting replication.'); - break; - case 'stop': - $messageSuccess = __('Replication stopped successfully.'); - $messageError = __('Error stopping replication.'); - break; - case 'reset': - $messageSuccess = __('Replication resetting successfully.'); - $messageError = __('Error resetting replication.'); - break; - default: - $messageSuccess = __('Success.'); - $messageError = __('Error.'); - break; - } - } elseif (isset($_REQUEST['sr_slave_skip_error'])) { - $result = PMA_handleRequestForSlaveSkipError(); - } - - if ($refresh) { - $response = Response::getInstance(); - if ($response->isAjax()) { - $response->setRequestStatus($result); - $response->addJSON( - 'message', - $result - ? Message::success($messageSuccess) - : Message::error($messageError) - ); - } else { - PMA_sendHeaderLocation( - './server_replication.php' - . URL::getCommonRaw($GLOBALS['url_params']) - ); - } - } - unset($refresh); - } -} -/** - * handle control requests for Slave Change Master - * - * @return boolean - */ -function PMA_handleRequestForSlaveChangeMaster() -{ - $sr = array(); - $_SESSION['replication']['m_username'] = $sr['username'] - = $GLOBALS['dbi']->escapeString($_REQUEST['username']); - $_SESSION['replication']['m_password'] = $sr['pma_pw'] - = $GLOBALS['dbi']->escapeString($_REQUEST['pma_pw']); - $_SESSION['replication']['m_hostname'] = $sr['hostname'] - = $GLOBALS['dbi']->escapeString($_REQUEST['hostname']); - $_SESSION['replication']['m_port'] = $sr['port'] - = $GLOBALS['dbi']->escapeString($_REQUEST['text_port']); - $_SESSION['replication']['m_correct'] = ''; - $_SESSION['replication']['sr_action_status'] = 'error'; - $_SESSION['replication']['sr_action_info'] = __('Unknown error'); - - // Attempt to connect to the new master server - $link_to_master = PMA_Replication_connectToMaster( - $sr['username'], $sr['pma_pw'], $sr['hostname'], $sr['port'] - ); - - if (! $link_to_master) { - $_SESSION['replication']['sr_action_status'] = 'error'; - $_SESSION['replication']['sr_action_info'] = sprintf( - __('Unable to connect to master %s.'), - htmlspecialchars($sr['hostname']) - ); - } else { - // Read the current master position - $position = PMA_Replication_Slave_binLogMaster($link_to_master); - - if (empty($position)) { - $_SESSION['replication']['sr_action_status'] = 'error'; - $_SESSION['replication']['sr_action_info'] - = __( - 'Unable to read master log position. ' - . 'Possible privilege problem on master.' - ); - } else { - $_SESSION['replication']['m_correct'] = true; - - if (! PMA_Replication_Slave_changeMaster( - $sr['username'], - $sr['pma_pw'], - $sr['hostname'], - $sr['port'], - $position, - true, - false - ) - ) { - $_SESSION['replication']['sr_action_status'] = 'error'; - $_SESSION['replication']['sr_action_info'] - = __('Unable to change master!'); - } else { - $_SESSION['replication']['sr_action_status'] = 'success'; - $_SESSION['replication']['sr_action_info'] = sprintf( - __('Master server changed successfully to %s.'), - htmlspecialchars($sr['hostname']) - ); - } - } - } - - return $_SESSION['replication']['sr_action_status'] === 'success'; -} - -/** - * handle control requests for Slave Server Control - * - * @return boolean - */ -function PMA_handleRequestForSlaveServerControl() -{ - if (empty($_REQUEST['sr_slave_control_parm'])) { - $_REQUEST['sr_slave_control_parm'] = null; - } - if ($_REQUEST['sr_slave_action'] == 'reset') { - $qStop = PMA_Replication_Slave_control("STOP"); - $qReset = $GLOBALS['dbi']->tryQuery("RESET SLAVE;"); - $qStart = PMA_Replication_Slave_control("START"); - - $result = ($qStop !== false && $qStop !== -1 && - $qReset !== false && $qReset !== -1 && - $qStart !== false && $qStart !== -1); - } else { - $qControl = PMA_Replication_Slave_control( - $_REQUEST['sr_slave_action'], - $_REQUEST['sr_slave_control_parm'] - ); - - $result = ($qControl !== false && $qControl !== -1); - } - - return $result; -} - -/** - * handle control requests for Slave Skip Error - * - * @return boolean - */ -function PMA_handleRequestForSlaveSkipError() -{ - $count = 1; - if (isset($_REQUEST['sr_skip_errors_count'])) { - $count = $_REQUEST['sr_skip_errors_count'] * 1; - } - - $qStop = PMA_Replication_Slave_control("STOP"); - $qSkip = $GLOBALS['dbi']->tryQuery( - "SET GLOBAL SQL_SLAVE_SKIP_COUNTER = " . $count . ";" - ); - $qStart = PMA_Replication_Slave_control("START"); - - $result = ($qStop !== false && $qStop !== -1 && - $qSkip !== false && $qSkip !== -1 && - $qStart !== false && $qStart !== -1); - - return $result; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_events.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_events.lib.php deleted file mode 100644 index 619e783c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_events.lib.php +++ /dev/null @@ -1,615 +0,0 @@ - array('ENABLE', - 'DISABLE', - 'DISABLE ON SLAVE'), - 'display' => array('ENABLED', - 'DISABLED', - 'SLAVESIDE_DISABLED') - ); - $event_type = array('RECURRING', - 'ONE TIME'); - $event_interval = array('YEAR', - 'QUARTER', - 'MONTH', - 'DAY', - 'HOUR', - 'MINUTE', - 'WEEK', - 'SECOND', - 'YEAR_MONTH', - 'DAY_HOUR', - 'DAY_MINUTE', - 'DAY_SECOND', - 'HOUR_MINUTE', - 'HOUR_SECOND', - 'MINUTE_SECOND'); -} - -/** - * Main function for the events functionality - * - * @return void - */ -function PMA_EVN_main() -{ - global $db; - - PMA_EVN_setGlobals(); - /** - * Process all requests - */ - PMA_EVN_handleEditor(); - PMA_EVN_handleExport(); - /** - * Display a list of available events - */ - $items = $GLOBALS['dbi']->getEvents($db); - echo PMA_RTE_getList('event', $items); - /** - * Display a link for adding a new event, if - * the user has the privileges and a link to - * toggle the state of the event scheduler. - */ - echo PMA_EVN_getFooterLinks(); -} // end PMA_EVN_main() - -/** - * Handles editor requests for adding or editing an item - * - * @return void - */ -function PMA_EVN_handleEditor() -{ - global $_REQUEST, $_POST, $errors, $db; - - if (! empty($_REQUEST['editor_process_add']) - || ! empty($_REQUEST['editor_process_edit']) - ) { - $sql_query = ''; - - $item_query = PMA_EVN_getQueryFromRequest(); - - if (! count($errors)) { // set by PMA_RTN_getQueryFromRequest() - // Execute the created query - if (! empty($_REQUEST['editor_process_edit'])) { - // Backup the old trigger, in case something goes wrong - $create_item = $GLOBALS['dbi']->getDefinition( - $db, - 'EVENT', - $_REQUEST['item_original_name'] - ); - $drop_item = "DROP EVENT " - . PMA\libraries\Util::backquote($_REQUEST['item_original_name']) - . ";\n"; - $result = $GLOBALS['dbi']->tryQuery($drop_item); - if (! $result) { - $errors[] = sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($drop_item) - ) - . '
    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - } else { - $result = $GLOBALS['dbi']->tryQuery($item_query); - if (! $result) { - $errors[] = sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($item_query) - ) - . '
    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - // We dropped the old item, but were unable to create - // the new one. Try to restore the backup query - $result = $GLOBALS['dbi']->tryQuery($create_item); - $errors = checkResult( - $result, - __( - 'Sorry, we failed to restore the dropped event.' - ), - $create_item, - $errors - ); - } else { - $message = PMA\libraries\Message::success( - __('Event %1$s has been modified.') - ); - $message->addParam( - PMA\libraries\Util::backquote($_REQUEST['item_name']) - ); - $sql_query = $drop_item . $item_query; - } - } - } else { - // 'Add a new item' mode - $result = $GLOBALS['dbi']->tryQuery($item_query); - if (! $result) { - $errors[] = sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($item_query) - ) - . '

    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - } else { - $message = PMA\libraries\Message::success( - __('Event %1$s has been created.') - ); - $message->addParam( - PMA\libraries\Util::backquote($_REQUEST['item_name']) - ); - $sql_query = $item_query; - } - } - } - - if (count($errors)) { - $message = PMA\libraries\Message::error( - '' - . __( - 'One or more errors have occurred while processing your request:' - ) - . '' - ); - $message->addHtml('
      '); - foreach ($errors as $string) { - $message->addHtml('
    • ' . $string . '
    • '); - } - $message->addHtml('
    '); - } - - $output = PMA\libraries\Util::getMessage($message, $sql_query); - $response = Response::getInstance(); - if ($response->isAjax()) { - if ($message->isSuccess()) { - $events = $GLOBALS['dbi']->getEvents($db, $_REQUEST['item_name']); - $event = $events[0]; - $response->addJSON( - 'name', - htmlspecialchars( - mb_strtoupper($_REQUEST['item_name']) - ) - ); - $response->addJSON('new_row', PMA_EVN_getRowForList($event)); - $response->addJSON('insert', ! empty($event)); - $response->addJSON('message', $output); - } else { - $response->setRequestStatus(false); - $response->addJSON('message', $message); - } - exit; - } - } - /** - * Display a form used to add/edit a trigger, if necessary - */ - if (count($errors) - || (empty($_REQUEST['editor_process_add']) - && empty($_REQUEST['editor_process_edit']) - && (! empty($_REQUEST['add_item']) - || ! empty($_REQUEST['edit_item']) - || ! empty($_REQUEST['item_changetype']))) - ) { // FIXME: this must be simpler than that - $operation = ''; - if (! empty($_REQUEST['item_changetype'])) { - $operation = 'change'; - } - // Get the data for the form (if any) - if (! empty($_REQUEST['add_item'])) { - $title = PMA_RTE_getWord('add'); - $item = PMA_EVN_getDataFromRequest(); - $mode = 'add'; - } else if (! empty($_REQUEST['edit_item'])) { - $title = __("Edit event"); - if (! empty($_REQUEST['item_name']) - && empty($_REQUEST['editor_process_edit']) - && empty($_REQUEST['item_changetype']) - ) { - $item = PMA_EVN_getDataFromName($_REQUEST['item_name']); - if ($item !== false) { - $item['item_original_name'] = $item['item_name']; - } - } else { - $item = PMA_EVN_getDataFromRequest(); - } - $mode = 'edit'; - } - PMA_RTE_sendEditor('EVN', $mode, $item, $title, $db, $operation); - } -} // end PMA_EVN_handleEditor() - -/** - * This function will generate the values that are required to for the editor - * - * @return array Data necessary to create the editor. - */ -function PMA_EVN_getDataFromRequest() -{ - $retval = array(); - $indices = array('item_name', - 'item_original_name', - 'item_status', - 'item_execute_at', - 'item_interval_value', - 'item_interval_field', - 'item_starts', - 'item_ends', - 'item_definition', - 'item_preserve', - 'item_comment', - 'item_definer'); - foreach ($indices as $index) { - $retval[$index] = isset($_REQUEST[$index]) ? $_REQUEST[$index] : ''; - } - $retval['item_type'] = 'ONE TIME'; - $retval['item_type_toggle'] = 'RECURRING'; - if (isset($_REQUEST['item_type']) && $_REQUEST['item_type'] == 'RECURRING') { - $retval['item_type'] = 'RECURRING'; - $retval['item_type_toggle'] = 'ONE TIME'; - } - return $retval; -} // end PMA_EVN_getDataFromRequest() - -/** - * This function will generate the values that are required to complete - * the "Edit event" form given the name of a event. - * - * @param string $name The name of the event. - * - * @return array Data necessary to create the editor. - */ -function PMA_EVN_getDataFromName($name) -{ - global $db; - - $retval = array(); - $columns = "`EVENT_NAME`, `STATUS`, `EVENT_TYPE`, `EXECUTE_AT`, " - . "`INTERVAL_VALUE`, `INTERVAL_FIELD`, `STARTS`, `ENDS`, " - . "`EVENT_DEFINITION`, `ON_COMPLETION`, `DEFINER`, `EVENT_COMMENT`"; - $where = "EVENT_SCHEMA " . PMA\libraries\Util::getCollateForIS() . "=" - . "'" . $GLOBALS['dbi']->escapeString($db) . "' " - . "AND EVENT_NAME='" . $GLOBALS['dbi']->escapeString($name) . "'"; - $query = "SELECT $columns FROM `INFORMATION_SCHEMA`.`EVENTS` WHERE $where;"; - $item = $GLOBALS['dbi']->fetchSingleRow($query); - if (! $item) { - return false; - } - $retval['item_name'] = $item['EVENT_NAME']; - $retval['item_status'] = $item['STATUS']; - $retval['item_type'] = $item['EVENT_TYPE']; - if ($retval['item_type'] == 'RECURRING') { - $retval['item_type_toggle'] = 'ONE TIME'; - } else { - $retval['item_type_toggle'] = 'RECURRING'; - } - $retval['item_execute_at'] = $item['EXECUTE_AT']; - $retval['item_interval_value'] = $item['INTERVAL_VALUE']; - $retval['item_interval_field'] = $item['INTERVAL_FIELD']; - $retval['item_starts'] = $item['STARTS']; - $retval['item_ends'] = $item['ENDS']; - $retval['item_preserve'] = ''; - if ($item['ON_COMPLETION'] == 'PRESERVE') { - $retval['item_preserve'] = " checked='checked'"; - } - $retval['item_definition'] = $item['EVENT_DEFINITION']; - $retval['item_definer'] = $item['DEFINER']; - $retval['item_comment'] = $item['EVENT_COMMENT']; - - return $retval; -} // end PMA_EVN_getDataFromName() - -/** - * Displays a form used to add/edit an event - * - * @param string $mode If the editor will be used to edit an event - * or add a new one: 'edit' or 'add'. - * @param string $operation If the editor was previously invoked with - * JS turned off, this will hold the name of - * the current operation - * @param array $item Data for the event returned by - * PMA_EVN_getDataFromRequest() or - * PMA_EVN_getDataFromName() - * - * @return string HTML code for the editor. - */ -function PMA_EVN_getEditorForm($mode, $operation, $item) -{ - global $db, $table, $event_status, $event_type, $event_interval; - - $modeToUpper = mb_strtoupper($mode); - - $response = Response::getInstance(); - - // Escape special characters - $need_escape = array( - 'item_original_name', - 'item_name', - 'item_type', - 'item_execute_at', - 'item_interval_value', - 'item_starts', - 'item_ends', - 'item_definition', - 'item_definer', - 'item_comment' - ); - foreach ($need_escape as $index) { - $item[$index] = htmlentities($item[$index], ENT_QUOTES); - } - $original_data = ''; - if ($mode == 'edit') { - $original_data = "\n"; - } - // Handle some logic first - if ($operation == 'change') { - if ($item['item_type'] == 'RECURRING') { - $item['item_type'] = 'ONE TIME'; - $item['item_type_toggle'] = 'RECURRING'; - } else { - $item['item_type'] = 'RECURRING'; - $item['item_type_toggle'] = 'ONE TIME'; - } - } - if ($item['item_type'] == 'ONE TIME') { - $isrecurring_class = ' hide'; - $isonetime_class = ''; - } else { - $isrecurring_class = ''; - $isonetime_class = ' hide'; - } - // Create the output - $retval = ""; - $retval .= "\n\n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= $original_data; - $retval .= URL::getHiddenInputs($db, $table) . "\n"; - $retval .= "
    \n"; - $retval .= "" . __('Details') . "\n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "\n"; - - $retval .= "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - - return $retval; -} // end PMA_RTN_getRowForList() - -/** - * Creates the contents for a row in the list of triggers - * - * @param array $trigger An array of routine data - * @param string $rowclass Additional class - * - * @return string HTML code of a cell for the list of triggers - */ -function PMA_TRI_getRowForList($trigger, $rowclass = '') -{ - global $ajax_class, $url_query, $db, $table, $titles; - - $retval = " \n"; - $retval .= " \n"; - $retval .= " \n"; - if (empty($table)) { - $retval .= " \n"; - } - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - - return $retval; -} // end PMA_TRI_getRowForList() - -/** - * Creates the contents for a row in the list of events - * - * @param array $event An array of routine data - * @param string $rowclass Additional class - * - * @return string HTML code of a cell for the list of events - */ -function PMA_EVN_getRowForList($event, $rowclass = '') -{ - global $ajax_class, $url_query, $db, $titles; - - $sql_drop = sprintf( - 'DROP EVENT IF EXISTS %s', - PMA\libraries\Util::backquote($event['name']) - ); - - $retval = " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - - return $retval; -} // end PMA_EVN_getRowForList() - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_main.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_main.inc.php deleted file mode 100644 index 0e11f0a9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_main.inc.php +++ /dev/null @@ -1,109 +0,0 @@ -isAjax()) { - /** - * Displays the header and tabs - */ - if (! empty($table) && in_array($table, $GLOBALS['dbi']->getTables($db))) { - include_once './libraries/tbl_common.inc.php'; - } else { - $table = ''; - include_once './libraries/db_common.inc.php'; - - list( - $tables, - $num_tables, - $total_num_tables, - $sub_part, - $is_show_stats, - $db_is_system_schema, - $tooltip_truename, - $tooltip_aliasname, - $pos - ) = PMA\libraries\Util::getDbInfo($db, isset($sub_part) ? $sub_part : ''); - } -} else { - /** - * Since we did not include some libraries, we need - * to manually select the required database and - * create the missing $url_query variable - */ - if (strlen($db) > 0) { - $GLOBALS['dbi']->selectDb($db); - if (! isset($url_query)) { - $url_query = URL::getCommon( - array( - 'db' => $db, 'table' => $table - ) - ); - } - } -} - -/** - * Generate the conditional classes that will - * be used to attach jQuery events to links - */ -$ajax_class = array( - 'add' => 'class="ajax add_anchor"', - 'edit' => 'class="ajax edit_anchor"', - 'exec' => 'class="ajax exec_anchor"', - 'drop' => 'class="ajax drop_anchor"', - 'export' => 'class="ajax export_anchor"' -); - -/** - * Create labels for the list - */ -$titles = PMA\libraries\Util::buildActionTitles(); - -/** - * Keep a list of errors that occurred while - * processing an 'Add' or 'Edit' operation. - */ -$errors = array(); - - -/** - * Call the appropriate main function - */ -switch ($_PMA_RTE) { -case 'RTN': - $type = null; - if (isset($_REQUEST['type'])) { - $type = $_REQUEST['type']; - } - PMA_RTN_main($type); - break; -case 'TRI': - PMA_TRI_main(); - break; -case 'EVN': - PMA_EVN_main(); - break; -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_routines.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_routines.lib.php deleted file mode 100644 index 4a8d73ae..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_routines.lib.php +++ /dev/null @@ -1,1703 +0,0 @@ -getRoutines($db, $type); - echo PMA_RTE_getList('routine', $items); - /** - * Display the form for adding a new routine, if the user has the privileges. - */ - echo PMA_RTN_getFooterLinks(); - /** - * Display a warning for users with PHP's old "mysql" extension. - */ - if (! PMA\libraries\DatabaseInterface::checkDbExtension('mysqli')) { - trigger_error( - __( - 'You are using PHP\'s deprecated \'mysql\' extension, ' - . 'which is not capable of handling multi queries. ' - . '[strong]The execution of some stored routines may fail![/strong] ' - . 'Please use the improved \'mysqli\' extension to ' - . 'avoid any problems.' - ), - E_USER_WARNING - ); - } -} // end PMA_RTN_main() - -/** - * Handles editor requests for adding or editing an item - * - * @return void - */ -function PMA_RTN_handleEditor() -{ - global $_GET, $_POST, $_REQUEST, $GLOBALS, $db, $errors; - - $errors = PMA_RTN_handleRequestCreateOrEdit($errors, $db); - $response = Response::getInstance(); - - /** - * Display a form used to add/edit a routine, if necessary - */ - // FIXME: this must be simpler than that - if (count($errors) - || ( empty($_REQUEST['editor_process_add']) - && empty($_REQUEST['editor_process_edit']) - && (! empty($_REQUEST['add_item']) || ! empty($_REQUEST['edit_item']) - || ! empty($_REQUEST['routine_addparameter']) - || ! empty($_REQUEST['routine_removeparameter']) - || ! empty($_REQUEST['routine_changetype']))) - ) { - // Handle requests to add/remove parameters and changing routine type - // This is necessary when JS is disabled - $operation = ''; - if (! empty($_REQUEST['routine_addparameter'])) { - $operation = 'add'; - } else if (! empty($_REQUEST['routine_removeparameter'])) { - $operation = 'remove'; - } else if (! empty($_REQUEST['routine_changetype'])) { - $operation = 'change'; - } - // Get the data for the form (if any) - if (! empty($_REQUEST['add_item'])) { - $title = PMA_RTE_getWord('add'); - $routine = PMA_RTN_getDataFromRequest(); - $mode = 'add'; - } else if (! empty($_REQUEST['edit_item'])) { - $title = __("Edit routine"); - if (! $operation && ! empty($_REQUEST['item_name']) - && empty($_REQUEST['editor_process_edit']) - ) { - $routine = PMA_RTN_getDataFromName( - $_REQUEST['item_name'], $_REQUEST['item_type'] - ); - if ($routine !== false) { - $routine['item_original_name'] = $routine['item_name']; - $routine['item_original_type'] = $routine['item_type']; - } - } else { - $routine = PMA_RTN_getDataFromRequest(); - } - $mode = 'edit'; - } - if ($routine !== false) { - // Show form - $editor = PMA_RTN_getEditorForm($mode, $operation, $routine); - if ($response->isAjax()) { - $response->addJSON('message', $editor); - $response->addJSON('title', $title); - $response->addJSON('param_template', PMA_RTN_getParameterRow()); - $response->addJSON('type', $routine['item_type']); - } else { - echo "\n\n

    $title

    \n\n$editor"; - } - exit; - } else { - $message = __('Error in processing request:') . ' '; - $message .= sprintf( - PMA_RTE_getWord('no_edit'), - htmlspecialchars( - PMA\libraries\Util::backquote($_REQUEST['item_name']) - ), - htmlspecialchars(PMA\libraries\Util::backquote($db)) - ); - - $message = Message::error($message); - if ($response->isAjax()) { - $response->setRequestStatus(false); - $response->addJSON('message', $message); - exit; - } else { - $message->display(); - } - } - } -} - -/** - * Handle request to create or edit a routine - * - * @param array $errors Errors - * @param string $db DB name - * - * @return array - */ -function PMA_RTN_handleRequestCreateOrEdit($errors, $db) -{ - if (empty($_REQUEST['editor_process_add']) - && empty($_REQUEST['editor_process_edit']) - ) { - return $errors; - } - - $sql_query = ''; - $routine_query = PMA_RTN_getQueryFromRequest(); - if (!count($errors)) { // set by PMA_RTN_getQueryFromRequest() - // Execute the created query - if (!empty($_REQUEST['editor_process_edit'])) { - $isProcOrFunc = in_array( - $_REQUEST['item_original_type'], - array('PROCEDURE', 'FUNCTION') - ); - - if (!$isProcOrFunc) { - $errors[] = sprintf( - __('Invalid routine type: "%s"'), - htmlspecialchars($_REQUEST['item_original_type']) - ); - } else { - // Backup the old routine, in case something goes wrong - $create_routine = $GLOBALS['dbi']->getDefinition( - $db, - $_REQUEST['item_original_type'], - $_REQUEST['item_original_name'] - ); - - $privilegesBackup = PMA_RTN_backupPrivileges(); - - $drop_routine = "DROP {$_REQUEST['item_original_type']} " - . PMA\libraries\Util::backquote($_REQUEST['item_original_name']) - . ";\n"; - $result = $GLOBALS['dbi']->tryQuery($drop_routine); - if (!$result) { - $errors[] = sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($drop_routine) - ) - . '
    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - } else { - list($newErrors, $message) = PMA_RTN_createRoutine( - $routine_query, - $create_routine, - $privilegesBackup - ); - if (empty($newErrors)) { - $sql_query = $drop_routine . $routine_query; - } else { - $errors = array_merge($errors, $newErrors); - } - unset($newErrors); - if (null === $message) { - unset($message); - } - } - } - } else { - // 'Add a new routine' mode - $result = $GLOBALS['dbi']->tryQuery($routine_query); - if (!$result) { - $errors[] = sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($routine_query) - ) - . '

    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - } else { - $message = PMA\libraries\Message::success( - __('Routine %1$s has been created.') - ); - $message->addParam( - PMA\libraries\Util::backquote($_REQUEST['item_name']) - ); - $sql_query = $routine_query; - } - } - } - - if (count($errors)) { - $message = PMA\libraries\Message::error( - __( - 'One or more errors have occurred while' - . ' processing your request:' - ) - ); - $message->addHtml('
      '); - foreach ($errors as $string) { - $message->addHtml('
    • ' . $string . '
    • '); - } - $message->addHtml('
    '); - } - - $output = PMA\libraries\Util::getMessage($message, $sql_query); - $response = Response::getInstance(); - if (!$response->isAjax()) { - return $errors; - } - - if (!$message->isSuccess()) { - $response->setRequestStatus(false); - $response->addJSON('message', $output); - exit; - } - - $routines = $GLOBALS['dbi']->getRoutines( - $db, - $_REQUEST['item_type'], - $_REQUEST['item_name'] - ); - $routine = $routines[0]; - $response->addJSON( - 'name', - htmlspecialchars( - mb_strtoupper($_REQUEST['item_name']) - ) - ); - $response->addJSON('new_row', PMA_RTN_getRowForList($routine)); - $response->addJSON('insert', !empty($routine)); - $response->addJSON('message', $output); - exit; -} - -/** - * Backup the privileges - * - * @return array - */ -function PMA_RTN_backupPrivileges() -{ - if (! $GLOBALS['proc_priv'] || ! $GLOBALS['is_reload_priv']) { - return array(); - } - - // Backup the Old Privileges before dropping - // if $_REQUEST['item_adjust_privileges'] set - if (! isset($_REQUEST['item_adjust_privileges']) - || empty($_REQUEST['item_adjust_privileges']) - ) { - return array(); - } - - $privilegesBackupQuery = 'SELECT * FROM ' . PMA\libraries\Util::backquote( - 'mysql' - ) - . '.' . PMA\libraries\Util::backquote('procs_priv') - . ' where Routine_name = "' . $_REQUEST['item_original_name'] - . '" AND Routine_type = "' . $_REQUEST['item_original_type'] - . '";'; - - $privilegesBackup = $GLOBALS['dbi']->fetchResult( - $privilegesBackupQuery, - 0 - ); - - return $privilegesBackup; -} - -/** - * Create the routine - * - * @param string $routine_query Query to create routine - * @param string $create_routine Query to restore routine - * @param array $privilegesBackup Privileges backup - * - * @return array - */ -function PMA_RTN_createRoutine( - $routine_query, - $create_routine, - $privilegesBackup -) { - $result = $GLOBALS['dbi']->tryQuery($routine_query); - if (!$result) { - $errors = array(); - $errors[] = sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($routine_query) - ) - . '
    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - // We dropped the old routine, - // but were unable to create the new one - // Try to restore the backup query - $result = $GLOBALS['dbi']->tryQuery($create_routine); - $errors = checkResult( - $result, - __( - 'Sorry, we failed to restore' - . ' the dropped routine.' - ), - $create_routine, - $errors - ); - - return array($errors, null); - } - - // Default value - $resultAdjust = false; - - if ($GLOBALS['proc_priv'] - && $GLOBALS['is_reload_priv'] - ) { - // Insert all the previous privileges - // but with the new name and the new type - foreach ($privilegesBackup as $priv) { - $adjustProcPrivilege = 'INSERT INTO ' - . Util::backquote('mysql') . '.' - . Util::backquote('procs_priv') - . ' VALUES("' . $priv[0] . '", "' - . $priv[1] . '", "' . $priv[2] . '", "' - . $_REQUEST['item_name'] . '", "' - . $_REQUEST['item_type'] . '", "' - . $priv[5] . '", "' - . $priv[6] . '", "' - . $priv[7] . '");'; - $resultAdjust = $GLOBALS['dbi']->query( - $adjustProcPrivilege - ); - } - } - - $message = PMA_RTN_flushPrivileges($resultAdjust); - - return array(array(), $message); -} - -/** - * Flush privileges and get message - * - * @param bool $flushPrivileges Flush privileges - * - * @return PMA\libraries\Message - */ -function PMA_RTN_flushPrivileges($flushPrivileges) -{ - if ($flushPrivileges) { - // Flush the Privileges - $flushPrivQuery = 'FLUSH PRIVILEGES;'; - $GLOBALS['dbi']->query($flushPrivQuery); - - $message = PMA\libraries\Message::success( - __( - 'Routine %1$s has been modified. Privileges have been adjusted.' - ) - ); - } else { - $message = PMA\libraries\Message::success( - __('Routine %1$s has been modified.') - ); - } - $message->addParam( - PMA\libraries\Util::backquote($_REQUEST['item_name']) - ); - - return $message; -} // end PMA_RTN_handleEditor() - -/** - * This function will generate the values that are required to - * complete the editor form. It is especially necessary to handle - * the 'Add another parameter', 'Remove last parameter' and - * 'Change routine type' functionalities when JS is disabled. - * - * @return array Data necessary to create the routine editor. - */ -function PMA_RTN_getDataFromRequest() -{ - global $_REQUEST, $param_directions, $param_sqldataaccess; - - $retval = array(); - $indices = array('item_name', - 'item_original_name', - 'item_returnlength', - 'item_returnopts_num', - 'item_returnopts_text', - 'item_definition', - 'item_comment', - 'item_definer'); - foreach ($indices as $index) { - $retval[$index] = isset($_REQUEST[$index]) ? $_REQUEST[$index] : ''; - } - - $retval['item_type'] = 'PROCEDURE'; - $retval['item_type_toggle'] = 'FUNCTION'; - if (isset($_REQUEST['item_type']) && $_REQUEST['item_type'] == 'FUNCTION') { - $retval['item_type'] = 'FUNCTION'; - $retval['item_type_toggle'] = 'PROCEDURE'; - } - $retval['item_original_type'] = 'PROCEDURE'; - if (isset($_REQUEST['item_original_type']) - && $_REQUEST['item_original_type'] == 'FUNCTION' - ) { - $retval['item_original_type'] = 'FUNCTION'; - } - $retval['item_num_params'] = 0; - $retval['item_param_dir'] = array(); - $retval['item_param_name'] = array(); - $retval['item_param_type'] = array(); - $retval['item_param_length'] = array(); - $retval['item_param_opts_num'] = array(); - $retval['item_param_opts_text'] = array(); - if (isset($_REQUEST['item_param_name']) - && isset($_REQUEST['item_param_type']) - && isset($_REQUEST['item_param_length']) - && isset($_REQUEST['item_param_opts_num']) - && isset($_REQUEST['item_param_opts_text']) - && is_array($_REQUEST['item_param_name']) - && is_array($_REQUEST['item_param_type']) - && is_array($_REQUEST['item_param_length']) - && is_array($_REQUEST['item_param_opts_num']) - && is_array($_REQUEST['item_param_opts_text']) - ) { - if ($_REQUEST['item_type'] == 'PROCEDURE') { - $retval['item_param_dir'] = $_REQUEST['item_param_dir']; - foreach ($retval['item_param_dir'] as $key => $value) { - if (! in_array($value, $param_directions, true)) { - $retval['item_param_dir'][$key] = ''; - } - } - } - $retval['item_param_name'] = $_REQUEST['item_param_name']; - $retval['item_param_type'] = $_REQUEST['item_param_type']; - foreach ($retval['item_param_type'] as $key => $value) { - if (! in_array($value, PMA\libraries\Util::getSupportedDatatypes(), true)) { - $retval['item_param_type'][$key] = ''; - } - } - $retval['item_param_length'] = $_REQUEST['item_param_length']; - $retval['item_param_opts_num'] = $_REQUEST['item_param_opts_num']; - $retval['item_param_opts_text'] = $_REQUEST['item_param_opts_text']; - $retval['item_num_params'] = max( - count($retval['item_param_name']), - count($retval['item_param_type']), - count($retval['item_param_length']), - count($retval['item_param_opts_num']), - count($retval['item_param_opts_text']) - ); - } - $retval['item_returntype'] = ''; - if (isset($_REQUEST['item_returntype']) - && in_array($_REQUEST['item_returntype'], PMA\libraries\Util::getSupportedDatatypes()) - ) { - $retval['item_returntype'] = $_REQUEST['item_returntype']; - } - - $retval['item_isdeterministic'] = ''; - if (isset($_REQUEST['item_isdeterministic']) - && mb_strtolower($_REQUEST['item_isdeterministic']) == 'on' - ) { - $retval['item_isdeterministic'] = " checked='checked'"; - } - $retval['item_securitytype_definer'] = ''; - $retval['item_securitytype_invoker'] = ''; - if (isset($_REQUEST['item_securitytype'])) { - if ($_REQUEST['item_securitytype'] === 'DEFINER') { - $retval['item_securitytype_definer'] = " selected='selected'"; - } else if ($_REQUEST['item_securitytype'] === 'INVOKER') { - $retval['item_securitytype_invoker'] = " selected='selected'"; - } - } - $retval['item_sqldataaccess'] = ''; - if (isset($_REQUEST['item_sqldataaccess']) - && in_array($_REQUEST['item_sqldataaccess'], $param_sqldataaccess, true) - ) { - $retval['item_sqldataaccess'] = $_REQUEST['item_sqldataaccess']; - } - - return $retval; -} // end function PMA_RTN_getDataFromRequest() - -/** - * This function will generate the values that are required to complete - * the "Edit routine" form given the name of a routine. - * - * @param string $name The name of the routine. - * @param string $type Type of routine (ROUTINE|PROCEDURE) - * @param bool $all Whether to return all data or just - * the info about parameters. - * - * @return array Data necessary to create the routine editor. - */ -function PMA_RTN_getDataFromName($name, $type, $all = true) -{ - global $db; - - $retval = array(); - - // Build and execute the query - $fields = "SPECIFIC_NAME, ROUTINE_TYPE, DTD_IDENTIFIER, " - . "ROUTINE_DEFINITION, IS_DETERMINISTIC, SQL_DATA_ACCESS, " - . "ROUTINE_COMMENT, SECURITY_TYPE"; - $where = "ROUTINE_SCHEMA " . PMA\libraries\Util::getCollateForIS() . "=" - . "'" . $GLOBALS['dbi']->escapeString($db) . "' " - . "AND SPECIFIC_NAME='" . $GLOBALS['dbi']->escapeString($name) . "'" - . "AND ROUTINE_TYPE='" . $GLOBALS['dbi']->escapeString($type) . "'"; - $query = "SELECT $fields FROM INFORMATION_SCHEMA.ROUTINES WHERE $where;"; - - $routine = $GLOBALS['dbi']->fetchSingleRow($query, 'ASSOC'); - - if (! $routine) { - return false; - } - - // Get required data - $retval['item_name'] = $routine['SPECIFIC_NAME']; - $retval['item_type'] = $routine['ROUTINE_TYPE']; - - $definition - = $GLOBALS['dbi']->getDefinition( - $db, - $routine['ROUTINE_TYPE'], - $routine['SPECIFIC_NAME'] - ); - - if ($definition == NULL) { - return false; - } - - $parser = new PhpMyAdmin\SqlParser\Parser($definition); - - /** - * @var CreateStatement $stmt - */ - $stmt = $parser->statements[0]; - - $params = PhpMyAdmin\SqlParser\Utils\Routine::getParameters($stmt); - $retval['item_num_params'] = $params['num']; - $retval['item_param_dir'] = $params['dir']; - $retval['item_param_name'] = $params['name']; - $retval['item_param_type'] = $params['type']; - $retval['item_param_length'] = $params['length']; - $retval['item_param_length_arr'] = $params['length_arr']; - $retval['item_param_opts_num'] = $params['opts']; - $retval['item_param_opts_text'] = $params['opts']; - - // Get extra data - if (!$all) { - return $retval; - } - - if ($retval['item_type'] == 'FUNCTION') { - $retval['item_type_toggle'] = 'PROCEDURE'; - } else { - $retval['item_type_toggle'] = 'FUNCTION'; - } - $retval['item_returntype'] = ''; - $retval['item_returnlength'] = ''; - $retval['item_returnopts_num'] = ''; - $retval['item_returnopts_text'] = ''; - - if (! empty($routine['DTD_IDENTIFIER'])) { - $options = array(); - foreach ($stmt->return->options->options as $opt) { - $options[] = is_string($opt) ? $opt : $opt['value']; - } - - $retval['item_returntype'] = $stmt->return->name; - $retval['item_returnlength'] = implode(',', $stmt->return->parameters); - $retval['item_returnopts_num'] = implode(' ', $options); - $retval['item_returnopts_text'] = implode(' ', $options); - } - - $retval['item_definer'] = $stmt->options->has('DEFINER'); - $retval['item_definition'] = $routine['ROUTINE_DEFINITION']; - $retval['item_isdeterministic'] = ''; - if ($routine['IS_DETERMINISTIC'] == 'YES') { - $retval['item_isdeterministic'] = " checked='checked'"; - } - $retval['item_securitytype_definer'] = ''; - $retval['item_securitytype_invoker'] = ''; - if ($routine['SECURITY_TYPE'] == 'DEFINER') { - $retval['item_securitytype_definer'] = " selected='selected'"; - } else if ($routine['SECURITY_TYPE'] == 'INVOKER') { - $retval['item_securitytype_invoker'] = " selected='selected'"; - } - $retval['item_sqldataaccess'] = $routine['SQL_DATA_ACCESS']; - $retval['item_comment'] = $routine['ROUTINE_COMMENT']; - - return $retval; -} // PMA_RTN_getDataFromName() - -/** - * Creates one row for the parameter table used in the routine editor. - * - * @param array $routine Data for the routine returned by - * PMA_RTN_getDataFromRequest() or - * PMA_RTN_getDataFromName() - * @param mixed $index Either a numeric index of the row being processed - * or NULL to create a template row for AJAX request - * @param string $class Class used to hide the direction column, if the - * row is for a stored function. - * - * @return string HTML code of one row of parameter table for the editor. - */ -function PMA_RTN_getParameterRow($routine = array(), $index = null, $class = '') -{ - global $param_directions, $param_opts_num, $titles; - - if ($index === null) { - // template row for AJAX request - $i = 0; - $index = '%s'; - $drop_class = ''; - $routine = array( - 'item_param_dir' => array(0 => ''), - 'item_param_name' => array(0 => ''), - 'item_param_type' => array(0 => ''), - 'item_param_length' => array(0 => ''), - 'item_param_opts_num' => array(0 => ''), - 'item_param_opts_text' => array(0 => '') - ); - } else if (! empty($routine)) { - // regular row for routine editor - $drop_class = ' hide'; - $i = $index; - } else { - // No input data. This shouldn't happen, - // but better be safe than sorry. - return ''; - } - - // Create the output - $retval = ""; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - - return $retval; -} // end PMA_RTN_getParameterRow() - -/** - * Displays a form used to add/edit a routine - * - * @param string $mode If the editor will be used to edit a routine - * or add a new one: 'edit' or 'add'. - * @param string $operation If the editor was previously invoked with - * JS turned off, this will hold the name of - * the current operation - * @param array $routine Data for the routine returned by - * PMA_RTN_getDataFromRequest() or - * PMA_RTN_getDataFromName() - * - * @return string HTML code for the editor. - */ -function PMA_RTN_getEditorForm($mode, $operation, $routine) -{ - global $db, $errors, $param_sqldataaccess, $param_opts_num; - - $response = Response::getInstance(); - - // Escape special characters - $need_escape = array( - 'item_original_name', - 'item_name', - 'item_returnlength', - 'item_definition', - 'item_definer', - 'item_comment' - ); - foreach ($need_escape as $key => $index) { - $routine[$index] = htmlentities($routine[$index], ENT_QUOTES, 'UTF-8'); - } - for ($i = 0; $i < $routine['item_num_params']; $i++) { - $routine['item_param_name'][$i] = htmlentities( - $routine['item_param_name'][$i], - ENT_QUOTES - ); - $routine['item_param_length'][$i] = htmlentities( - $routine['item_param_length'][$i], - ENT_QUOTES - ); - } - - // Handle some logic first - if ($operation == 'change') { - if ($routine['item_type'] == 'PROCEDURE') { - $routine['item_type'] = 'FUNCTION'; - $routine['item_type_toggle'] = 'PROCEDURE'; - } else { - $routine['item_type'] = 'PROCEDURE'; - $routine['item_type_toggle'] = 'FUNCTION'; - } - } else if ($operation == 'add' - || ($routine['item_num_params'] == 0 && $mode == 'add' && ! $errors) - ) { - $routine['item_param_dir'][] = ''; - $routine['item_param_name'][] = ''; - $routine['item_param_type'][] = ''; - $routine['item_param_length'][] = ''; - $routine['item_param_opts_num'][] = ''; - $routine['item_param_opts_text'][] = ''; - $routine['item_num_params']++; - } else if ($operation == 'remove') { - unset($routine['item_param_dir'][$routine['item_num_params'] - 1]); - unset($routine['item_param_name'][$routine['item_num_params'] - 1]); - unset($routine['item_param_type'][$routine['item_num_params'] - 1]); - unset($routine['item_param_length'][$routine['item_num_params'] - 1]); - unset($routine['item_param_opts_num'][$routine['item_num_params'] - 1]); - unset($routine['item_param_opts_text'][$routine['item_num_params'] - 1]); - $routine['item_num_params']--; - } - $disableRemoveParam = ''; - if (! $routine['item_num_params']) { - $disableRemoveParam = " color: gray;' disabled='disabled"; - } - $original_routine = ''; - if ($mode == 'edit') { - $original_routine = "\n" - . "\n"; - } - $isfunction_class = ''; - $isprocedure_class = ''; - $isfunction_select = ''; - $isprocedure_select = ''; - if ($routine['item_type'] == 'PROCEDURE') { - $isfunction_class = ' hide'; - $isprocedure_select = " selected='selected'"; - } else { - $isprocedure_class = ' hide'; - $isfunction_select = " selected='selected'"; - } - - // Create the output - $retval = ""; - $retval .= "\n\n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= $original_routine; - $retval .= URL::getHiddenInputs($db) . "\n"; - $retval .= "
    \n"; - $retval .= "" . __('Details') . "\n"; - $retval .= "
    " . __('Event name') . "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "
    " . __('Event type') . "\n"; - if ($response->isAjax()) { - $retval .= " \n"; - } else { - $retval .= " \n"; - $retval .= " {$item['item_type']}\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " $value) { - $selected = ""; - if (! empty($item['item_interval_field']) - && $item['item_interval_field'] == $value - ) { - $selected = " selected='selected'"; - } - $retval .= "$value"; - } - $retval .= " \n"; - $retval .= "
    " . _pgettext('Start of recurring event', 'Start'); - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "
    " . __('On completion preserve') . "\n"; - $retval .= " \n"; - $retval .= " isAjax()) { - $retval .= "\n"; - $retval .= "\n"; - } - $retval .= "\n\n"; - $retval .= "\n\n"; - - return $retval; -} // end PMA_EVN_getEditorForm() - -/** - * Composes the query necessary to create an event from an HTTP request. - * - * @return string The CREATE EVENT query. - */ -function PMA_EVN_getQueryFromRequest() -{ - global $_REQUEST, $errors, $event_status, $event_type, $event_interval; - - $query = 'CREATE '; - if (! empty($_REQUEST['item_definer'])) { - if (mb_strpos($_REQUEST['item_definer'], '@') !== false - ) { - $arr = explode('@', $_REQUEST['item_definer']); - $query .= 'DEFINER=' . PMA\libraries\Util::backquote($arr[0]); - $query .= '@' . PMA\libraries\Util::backquote($arr[1]) . ' '; - } else { - $errors[] = __('The definer must be in the "username@hostname" format!'); - } - } - $query .= 'EVENT '; - if (! empty($_REQUEST['item_name'])) { - $query .= PMA\libraries\Util::backquote($_REQUEST['item_name']) . ' '; - } else { - $errors[] = __('You must provide an event name!'); - } - $query .= 'ON SCHEDULE '; - if (! empty($_REQUEST['item_type']) - && in_array($_REQUEST['item_type'], $event_type) - ) { - if ($_REQUEST['item_type'] == 'RECURRING') { - if (! empty($_REQUEST['item_interval_value']) - && !empty($_REQUEST['item_interval_field']) - && in_array($_REQUEST['item_interval_field'], $event_interval) - ) { - $query .= 'EVERY ' . intval($_REQUEST['item_interval_value']) . ' '; - $query .= $_REQUEST['item_interval_field'] . ' '; - } else { - $errors[] - = __('You must provide a valid interval value for the event.'); - } - if (! empty($_REQUEST['item_starts'])) { - $query .= "STARTS '" - . $GLOBALS['dbi']->escapeString($_REQUEST['item_starts']) - . "' "; - } - if (! empty($_REQUEST['item_ends'])) { - $query .= "ENDS '" - . $GLOBALS['dbi']->escapeString($_REQUEST['item_ends']) - . "' "; - } - } else { - if (! empty($_REQUEST['item_execute_at'])) { - $query .= "AT '" - . $GLOBALS['dbi']->escapeString($_REQUEST['item_execute_at']) - . "' "; - } else { - $errors[] - = __('You must provide a valid execution time for the event.'); - } - } - } else { - $errors[] = __('You must provide a valid type for the event.'); - } - $query .= 'ON COMPLETION '; - if (empty($_REQUEST['item_preserve'])) { - $query .= 'NOT '; - } - $query .= 'PRESERVE '; - if (! empty($_REQUEST['item_status'])) { - foreach ($event_status['display'] as $key => $value) { - if ($value == $_REQUEST['item_status']) { - $query .= $event_status['query'][$key] . ' '; - break; - } - } - } - if (! empty($_REQUEST['item_comment'])) { - $query .= "COMMENT '" . $GLOBALS['dbi']->escapeString( - $_REQUEST['item_comment'] - ) . "' "; - } - $query .= 'DO '; - if (! empty($_REQUEST['item_definition'])) { - $query .= $_REQUEST['item_definition']; - } else { - $errors[] = __('You must provide an event definition.'); - } - - return $query; -} // end PMA_EVN_getQueryFromRequest() - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_export.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_export.lib.php deleted file mode 100644 index 38820131..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_export.lib.php +++ /dev/null @@ -1,137 +0,0 @@ -isAjax()) { - $response->addJSON('message', $export_data); - $response->addJSON('title', $title); - exit; - } else { - $export_data = ''; - echo "
    \n" - , "$title\n" - , $export_data - , "
    \n"; - } - } else { - $_db = htmlspecialchars(PMA\libraries\Util::backquote($db)); - $message = __('Error in processing request:') . ' ' - . sprintf(PMA_RTE_getWord('no_view'), $item_name, $_db); - $message = Message::error($message); - - if ($response->isAjax()) { - $response->setRequestStatus(false); - $response->addJSON('message', $message); - exit; - } else { - $message->display(); - } - } -} // end PMA_RTE_handleExport() - -/** - * If necessary, prepares event information and passes - * it to PMA_RTE_handleExport() for the actual export. - * - * @return void - */ -function PMA_EVN_handleExport() -{ - global $_GET, $db; - - if (! empty($_GET['export_item']) && ! empty($_GET['item_name'])) { - $item_name = $_GET['item_name']; - $export_data = $GLOBALS['dbi']->getDefinition($db, 'EVENT', $item_name); - if (! $export_data) { - $export_data = false; - } - PMA_RTE_handleExport($export_data); - } -} // end PMA_EVN_handleExport() - -/** - * If necessary, prepares routine information and passes - * it to PMA_RTE_handleExport() for the actual export. - * - * @return void - */ -function PMA_RTN_handleExport() -{ - global $_GET, $db; - - if (! empty($_GET['export_item']) - && ! empty($_GET['item_name']) - && ! empty($_GET['item_type']) - ) { - if ($_GET['item_type'] == 'FUNCTION' || $_GET['item_type'] == 'PROCEDURE') { - $rtn_definition - = $GLOBALS['dbi']->getDefinition( - $db, - $_GET['item_type'], - $_GET['item_name'] - ); - if (! $rtn_definition) { - $export_data = false; - } else { - $export_data = "DELIMITER $$\n" - . $rtn_definition - . "$$\nDELIMITER ;\n"; - } - - PMA_RTE_handleExport($export_data); - } - } -} // end PMA_RTN_handleExport() - -/** - * If necessary, prepares trigger information and passes - * it to PMA_RTE_handleExport() for the actual export. - * - * @return void - */ -function PMA_TRI_handleExport() -{ - global $_GET, $db, $table; - - if (! empty($_GET['export_item']) && ! empty($_GET['item_name'])) { - $item_name = $_GET['item_name']; - $triggers = $GLOBALS['dbi']->getTriggers($db, $table, ''); - $export_data = false; - foreach ($triggers as $trigger) { - if ($trigger['name'] === $item_name) { - $export_data = $trigger['create']; - break; - } - } - PMA_RTE_handleExport($export_data); - } -} // end PMA_TRI_handleExport() diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_footer.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_footer.lib.php deleted file mode 100644 index c3252a2d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_footer.lib.php +++ /dev/null @@ -1,129 +0,0 @@ -\n"; - $retval .= "
    \n"; - $retval .= "" . _pgettext('Create new procedure', 'New') . "\n"; - $retval .= " \n"; - $retval .= "
    \n"; - $retval .= "\n\n"; - - return $retval; -} // end PMA_RTE_getFooterLinks() - -/** - * Creates a fieldset for adding a new routine, if the user has the privileges. - * - * @return string HTML code with containing the footer fieldset - */ -function PMA_RTN_getFooterLinks() -{ - return PMA_RTE_getFooterLinks('CREATE_PROCEDURE', 'CREATE ROUTINE', 'ROUTINE'); -}// end PMA_RTN_getFooterLinks() - -/** - * Creates a fieldset for adding a new trigger, if the user has the privileges. - * - * @return string HTML code with containing the footer fieldset - */ -function PMA_TRI_getFooterLinks() -{ - return PMA_RTE_getFooterLinks('CREATE_TRIGGER', 'TRIGGER', 'TRIGGER'); -} // end PMA_TRI_getFooterLinks() - -/** - * Creates a fieldset for adding a new event, if the user has the privileges. - * - * @return string HTML code with containing the footer fieldset - */ -function PMA_EVN_getFooterLinks() -{ - global $db, $url_query; - - /** - * For events, we show the usual 'Add event' form and also - * a form for toggling the state of the event scheduler - */ - // Init options for the event scheduler toggle functionality - $es_state = $GLOBALS['dbi']->fetchValue( - "SHOW GLOBAL VARIABLES LIKE 'event_scheduler'", - 0, - 1 - ); - $es_state = mb_strtolower($es_state); - $options = array( - 0 => array( - 'label' => __('OFF'), - 'value' => "SET GLOBAL event_scheduler=\"OFF\"", - 'selected' => ($es_state != 'on') - ), - 1 => array( - 'label' => __('ON'), - 'value' => "SET GLOBAL event_scheduler=\"ON\"", - 'selected' => ($es_state == 'on') - ) - ); - // Generate output - $retval = "\n"; - $retval .= "
    \n"; - // show the usual footer - $retval .= PMA_RTE_getFooterLinks('CREATE_EVENT', 'EVENT', 'EVENT'); - $retval .= "
    \n"; - $retval .= " \n"; - $retval .= " " . __('Event scheduler status') . "\n"; - $retval .= " \n"; - $retval .= "
    \n"; - // show the toggle button - $retval .= PMA\libraries\Util::toggleButton( - "sql.php$url_query&goto=db_events.php" . urlencode("?db=$db"), - 'sql_query', - $options, - 'PMA_slidingMessage(data.sql_query);' - ); - $retval .= "
    \n"; - $retval .= "
    \n"; - $retval .= "
    \n"; - $retval .= "
    "; - $retval .= "\n"; - - return $retval; -} // end PMA_EVN_getFooterLinks() - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_general.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_general.lib.php deleted file mode 100644 index 08d50965..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_general.lib.php +++ /dev/null @@ -1,90 +0,0 @@ -' - . __('The backed up query was:') - . "\"" . htmlspecialchars($createStatement) . "\"" . '
    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - - return $errors; -} - -/** - * Send TRI or EVN editor via ajax or by echoing. - * - * @param string $type TRI or EVN - * @param string $mode Editor mode 'add' or 'edit' - * @param array $item Data necessary to create the editor - * @param string $title Title of the editor - * @param string $db Database - * @param string $operation Operation 'change' or '' - * - * @return void - */ -function PMA_RTE_sendEditor($type, $mode, $item, $title, $db, $operation = null) -{ - $response = Response::getInstance(); - if ($item !== false) { - // Show form - if ($type == 'TRI') { - $editor = PMA_TRI_getEditorForm($mode, $item); - } else { // EVN - $editor = PMA_EVN_getEditorForm($mode, $operation, $item); - } - if ($response->isAjax()) { - $response->addJSON('message', $editor); - $response->addJSON('title', $title); - } else { - echo "\n\n

    $title

    \n\n$editor"; - unset($_POST); - } - exit; - } else { - $message = __('Error in processing request:') . ' '; - $message .= sprintf( - PMA_RTE_getWord('not_found'), - htmlspecialchars(PMA\libraries\Util::backquote($_REQUEST['item_name'])), - htmlspecialchars(PMA\libraries\Util::backquote($db)) - ); - $message = Message::error($message); - if ($response->isAjax()) { - $response->setRequestStatus(false); - $response->addJSON('message', $message); - exit; - } else { - $message->display(); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_list.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_list.lib.php deleted file mode 100644 index 113ea91b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_list.lib.php +++ /dev/null @@ -1,483 +0,0 @@ -\n"; - $retval .= '
    '; - $retval .= URL::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); - $retval .= "
    \n"; - $retval .= " \n"; - $retval .= " " . PMA_RTE_getWord('title') . "\n"; - $retval .= " " - . PMA\libraries\Util::showMySQLDocu(PMA_RTE_getWord('docu')) . "\n"; - $retval .= " \n"; - $retval .= "
    \n"; - $retval .= " " . PMA_RTE_getWord('nothing') . "\n"; - $retval .= "
    \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - // th cells with a colspan need corresponding td cells, according to W3C - switch ($type) { - case 'routine': - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; // see comment above - for ($i = 0; $i < 7; $i++) { - $retval .= " \n"; - } - break; - case 'trigger': - $retval .= " \n"; - $retval .= " \n"; - if (empty($table)) { - $retval .= " \n"; - } - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; // see comment above - for ($i = 0; $i < (empty($table) ? 7 : 6); $i++) { - $retval .= " \n"; - } - break; - case 'event': - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; // see comment above - for ($i = 0; $i < 6; $i++) { - $retval .= " \n"; - } - break; - default: - break; - } - $retval .= " \n"; - $retval .= " \n"; - $count = 0; - $response = Response::getInstance(); - foreach ($items as $item) { - if ($response->isAjax() && empty($_REQUEST['ajax_page_request'])) { - $rowclass = 'ajaxInsert hide'; - } else { - $rowclass = ''; - } - // Get each row from the correct function - switch ($type) { - case 'routine': - $retval .= PMA_RTN_getRowForList($item, $rowclass); - break; - case 'trigger': - $retval .= PMA_TRI_getRowForList($item, $rowclass); - break; - case 'event': - $retval .= PMA_EVN_getRowForList($item, $rowclass); - break; - default: - break; - } - $count++; - } - $retval .= "
    " . __('Name') . "" . __('Action') . "" . __('Type') . "" . __('Returns') . "
    " . __('Name') . "" . __('Table') . "" . __('Action') . "" . __('Time') . "" . __('Event') . "
    " . __('Name') . "" . __('Status') . "" . __('Action') . "" . __('Type') . "
    \n"; - - if (count($items)) { - $retval .= '
    '; - $retval .= Template::get('select_all') - ->render( - array( - 'pmaThemeImage' => $GLOBALS['pmaThemeImage'], - 'text_dir' => $GLOBALS['text_dir'], - 'formName' => 'rteListForm', - ) - ); - $retval .= PMA\libraries\Util::getButtonOrImage( - 'submit_mult', 'mult_submit', - __('Export'), 'b_export.png', 'export' - ); - $retval .= PMA\libraries\Util::getButtonOrImage( - 'submit_mult', 'mult_submit', - __('Drop'), 'b_drop.png', 'drop' - ); - $retval .= '
    '; - } - - $retval .= "
    \n"; - $retval .= "
    \n"; - $retval .= "\n"; - - return $retval; -} // end PMA_RTE_getList() - -/** - * Creates the contents for a row in the list of routines - * - * @param array $routine An array of routine data - * @param string $rowclass Additional class - * - * @return string HTML code of a row for the list of routines - */ -function PMA_RTN_getRowForList($routine, $rowclass = '') -{ - global $ajax_class, $url_query, $db, $titles; - - $sql_drop = sprintf( - 'DROP %s IF EXISTS %s', - $routine['type'], - PMA\libraries\Util::backquote($routine['name']) - ); - $type_link = "item_type={$routine['type']}"; - - $retval = "
    \n"; - $retval .= ' '; - $retval .= " \n"; - $retval .= " " - . htmlspecialchars($sql_drop) . "\n"; - $retval .= " \n"; - $retval .= " " - . htmlspecialchars($routine['name']) . "\n"; - $retval .= " \n"; - $retval .= " \n"; - - // this is for our purpose to decide whether to - // show the edit link or not, so we need the DEFINER for the routine - $where = "ROUTINE_SCHEMA " . PMA\libraries\Util::getCollateForIS() . "=" - . "'" . $GLOBALS['dbi']->escapeString($db) . "' " - . "AND SPECIFIC_NAME='" . $GLOBALS['dbi']->escapeString($routine['name']) . "'" - . "AND ROUTINE_TYPE='" . $GLOBALS['dbi']->escapeString($routine['type']) . "'"; - $query = "SELECT `DEFINER` FROM INFORMATION_SCHEMA.ROUTINES WHERE $where;"; - $routine_definer = $GLOBALS['dbi']->fetchValue($query); - - $curr_user = $GLOBALS['dbi']->getCurrentUser(); - - // Since editing a procedure involved dropping and recreating, check also for - // CREATE ROUTINE privilege to avoid lost procedures. - if ((PMA\libraries\Util::currentUserHasPrivilege('CREATE ROUTINE', $db) - && $curr_user == $routine_definer) - || $GLOBALS['is_superuser'] - ) { - $retval .= ' ' . $titles['Edit'] . "\n"; - } else { - $retval .= " {$titles['NoEdit']}\n"; - } - $retval .= " \n"; - - // There is a problem with PMA\libraries\Util::currentUserHasPrivilege(): - // it does not detect all kinds of privileges, for example - // a direct privilege on a specific routine. So, at this point, - // we show the Execute link, hoping that the user has the correct rights. - // Also, information_schema might be hiding the ROUTINE_DEFINITION - // but a routine with no input parameters can be nonetheless executed. - - // Check if the routine has any input parameters. If it does, - // we will show a dialog to get values for these parameters, - // otherwise we can execute it directly. - - $definition = $GLOBALS['dbi']->getDefinition( - $db, $routine['type'], $routine['name'] - ); - if ($definition !== false) { - $parser = new PhpMyAdmin\SqlParser\Parser($definition); - - /** - * @var CreateStatement $stmt - */ - $stmt = $parser->statements[0]; - - $params = PhpMyAdmin\SqlParser\Utils\Routine::getParameters($stmt); - - if (PMA\libraries\Util::currentUserHasPrivilege('EXECUTE', $db)) { - $execute_action = 'execute_routine'; - for ($i = 0; $i < $params['num']; $i++) { - if ($routine['type'] == 'PROCEDURE' - && $params['dir'][$i] == 'OUT' - ) { - continue; - } - $execute_action = 'execute_dialog'; - break; - } - $retval .= ' ' . $titles['Execute'] . "\n"; - } else { - $retval .= " {$titles['NoExecute']}\n"; - } - } - - $retval .= " \n"; - if ((PMA\libraries\Util::currentUserHasPrivilege('CREATE ROUTINE', $db) - && $curr_user == $routine_definer) - || $GLOBALS['is_superuser'] - ) { - $retval .= ' ' . $titles['Export'] . "\n"; - } else { - $retval .= " {$titles['NoExport']}\n"; - } - $retval .= " \n"; - $retval .= ' ' . $titles['Drop'] . "\n"; - $retval .= " \n"; - $retval .= " {$routine['type']}\n"; - $retval .= " \n"; - $retval .= " " - . htmlspecialchars($routine['returns']) . "\n"; - $retval .= "
    \n"; - $retval .= ' '; - $retval .= " \n"; - $retval .= " " - . htmlspecialchars($trigger['drop']) . "\n"; - $retval .= " \n"; - $retval .= " " . htmlspecialchars($trigger['name']) . "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "" - . urlencode($trigger['table']) . ""; - $retval .= " \n"; - if (PMA\libraries\Util::currentUserHasPrivilege('TRIGGER', $db, $table)) { - $retval .= ' ' . $titles['Edit'] . "\n"; - } else { - $retval .= " {$titles['NoEdit']}\n"; - } - $retval .= " \n"; - $retval .= ' ' . $titles['Export'] . "\n"; - $retval .= " \n"; - if (PMA\libraries\Util::currentUserHasPrivilege('TRIGGER', $db)) { - $retval .= ' ' . $titles['Drop'] . "\n"; - } else { - $retval .= " {$titles['NoDrop']}\n"; - } - $retval .= " \n"; - $retval .= " {$trigger['action_timing']}\n"; - $retval .= " \n"; - $retval .= " {$trigger['event_manipulation']}\n"; - $retval .= "
    \n"; - $retval .= ' '; - $retval .= " \n"; - $retval .= " " - . htmlspecialchars($sql_drop) . "\n"; - $retval .= " \n"; - $retval .= " " - . htmlspecialchars($event['name']) . "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " {$event['status']}\n"; - $retval .= " \n"; - if (PMA\libraries\Util::currentUserHasPrivilege('EVENT', $db)) { - $retval .= ' ' . $titles['Edit'] . "\n"; - } else { - $retval .= " {$titles['NoEdit']}\n"; - } - $retval .= " \n"; - $retval .= ' ' . $titles['Export'] . "\n"; - $retval .= " \n"; - if (PMA\libraries\Util::currentUserHasPrivilege('EVENT', $db)) { - $retval .= ' ' . $titles['Drop'] . "\n"; - } else { - $retval .= " {$titles['NoDrop']}\n"; - } - $retval .= " \n"; - $retval .= " {$event['type']}\n"; - $retval .= "
    " - . "" - . "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " ---\n"; - $retval .= Charsets::getCharsetDropdownBox( - "item_param_opts_text[$index]", - null, - $routine['item_param_opts_text'][$i] - ); - $retval .= " ---\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " {$titles['Drop']}\n"; - $retval .= " \n"; - $retval .= "
    \n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " "; - $retval .= ""; - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= ""; - // parameter handling end - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= ""; - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= " "; - $retval .= ""; - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= ""; - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= ""; - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= ""; - if (isset($_REQUEST['edit_item']) - && ! empty($_REQUEST['edit_item']) - ) { - $retval .= ""; - $retval .= " "; - if ($GLOBALS['proc_priv'] - && $GLOBALS['is_reload_priv'] - ) { - $retval .= " "; - } else { - $retval .= " "; - } - $retval .= ""; - } - - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= ""; - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= ""; - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= ""; - $retval .= ""; - $retval .= " "; - $retval .= " "; - $retval .= ""; - $retval .= "
    " . __('Routine name') . "\n"; - $retval .= " \n"; - if ($response->isAjax()) { - $retval .= " \n"; - } else { - $retval .= "\n" - . "
    \n" - . $routine['item_type'] . "\n" - . "
    \n" - . "\n"; - } - $retval .= "
    " . __('Parameters') . "\n"; - // parameter handling start - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= " "; - $retval .= " \n"; - $retval .= " \n"; - for ($i = 0; $i < $routine['item_num_params']; $i++) { // each parameter - $retval .= PMA_RTN_getParameterRow($routine, $i, $isprocedure_class); - } - $retval .= " \n"; - $retval .= "
    " - . __('Direction') . "" . __('Name') . "" . __('Type') . "" . __('Length/Values') . "" . __('Options') . " 
    "; - $retval .= "
     "; - $retval .= " "; - $retval .= " "; - $retval .= "
    " . __('Return type') . "
    " . __('Return length/values') . "---
    " . __('Return options') . "
    "; - $retval .= Charsets::getCharsetDropdownBox( - "item_returnopts_text", - null, - $routine['item_returnopts_text'] - ); - $retval .= "
    "; - $retval .= "
    "; - $retval .= "
    ---
    "; - $retval .= "
    " . __('Definition') . "
    " . __('Is deterministic') . "
    " . __('Adjust privileges'); - $retval .= PMA\libraries\Util::showDocu('faq', 'faq6-39'); - $retval .= "
    " . __('Definer') . "
    " . __('Security type') . "
    " . __('SQL data access') . "
    " . __('Comment') . "
    "; - $retval .= "
    "; - if ($response->isAjax()) { - $retval .= ""; - $retval .= ""; - } - $retval .= ""; - $retval .= ""; - - return $retval; -} // end PMA_RTN_getEditorForm() - -/** - * Composes the query necessary to create a routine from an HTTP request. - * - * @return string The CREATE [ROUTINE | PROCEDURE] query. - */ -function PMA_RTN_getQueryFromRequest() -{ - global $_REQUEST, $errors, $param_sqldataaccess, $param_directions, $PMA_Types; - - $_REQUEST['item_type'] = isset($_REQUEST['item_type']) - ? $_REQUEST['item_type'] : ''; - - $query = 'CREATE '; - if (! empty($_REQUEST['item_definer'])) { - if (mb_strpos($_REQUEST['item_definer'], '@') !== false) { - $arr = explode('@', $_REQUEST['item_definer']); - - $do_backquote = true; - if (substr($arr[0], 0, 1) === "`" - && substr($arr[0], -1) === "`" - ) { - $do_backquote = false; - } - $query .= 'DEFINER=' . PMA\libraries\Util::backquote($arr[0], $do_backquote); - - $do_backquote = true; - if (substr($arr[1], 0, 1) === "`" - && substr($arr[1], -1) === "`" - ) { - $do_backquote = false; - } - $query .= '@' . PMA\libraries\Util::backquote($arr[1], $do_backquote) . ' '; - } else { - $errors[] = __('The definer must be in the "username@hostname" format!'); - } - } - if ($_REQUEST['item_type'] == 'FUNCTION' - || $_REQUEST['item_type'] == 'PROCEDURE' - ) { - $query .= $_REQUEST['item_type'] . ' '; - } else { - $errors[] = sprintf( - __('Invalid routine type: "%s"'), - htmlspecialchars($_REQUEST['item_type']) - ); - } - if (! empty($_REQUEST['item_name'])) { - $query .= PMA\libraries\Util::backquote($_REQUEST['item_name']); - } else { - $errors[] = __('You must provide a routine name!'); - } - $params = ''; - $warned_about_dir = false; - $warned_about_length = false; - - if (! empty($_REQUEST['item_param_name']) - && ! empty($_REQUEST['item_param_type']) - && ! empty($_REQUEST['item_param_length']) - && is_array($_REQUEST['item_param_name']) - && is_array($_REQUEST['item_param_type']) - && is_array($_REQUEST['item_param_length']) - ) { - $item_param_name = $_REQUEST['item_param_name']; - $item_param_type = $_REQUEST['item_param_type']; - $item_param_length = $_REQUEST['item_param_length']; - - for ($i=0, $nb = count($item_param_name); $i < $nb; $i++) { - if (! empty($item_param_name[$i]) - && ! empty($item_param_type[$i]) - ) { - if ($_REQUEST['item_type'] == 'PROCEDURE' - && ! empty($_REQUEST['item_param_dir'][$i]) - && in_array($_REQUEST['item_param_dir'][$i], $param_directions) - ) { - $params .= $_REQUEST['item_param_dir'][$i] . " " - . PMA\libraries\Util::backquote($item_param_name[$i]) - . " " . $item_param_type[$i]; - } else if ($_REQUEST['item_type'] == 'FUNCTION') { - $params .= PMA\libraries\Util::backquote($item_param_name[$i]) - . " " . $item_param_type[$i]; - } else if (! $warned_about_dir) { - $warned_about_dir = true; - $errors[] = sprintf( - __('Invalid direction "%s" given for parameter.'), - htmlspecialchars($_REQUEST['item_param_dir'][$i]) - ); - } - if ($item_param_length[$i] != '' - && !preg_match( - '@^(DATE|TINYBLOB|TINYTEXT|BLOB|TEXT|' - . 'MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT|' - . 'SERIAL|BOOLEAN)$@i', - $item_param_type[$i] - ) - ) { - $params .= "(" . $item_param_length[$i] . ")"; - } else if ($item_param_length[$i] == '' - && preg_match( - '@^(ENUM|SET|VARCHAR|VARBINARY)$@i', - $item_param_type[$i] - ) - ) { - if (! $warned_about_length) { - $warned_about_length = true; - $errors[] = __( - 'You must provide length/values for routine parameters' - . ' of type ENUM, SET, VARCHAR and VARBINARY.' - ); - } - } - if (! empty($_REQUEST['item_param_opts_text'][$i])) { - if ($PMA_Types->getTypeClass($item_param_type[$i]) == 'CHAR') { - $params .= ' CHARSET ' - . mb_strtolower( - $_REQUEST['item_param_opts_text'][$i] - ); - } - } - if (! empty($_REQUEST['item_param_opts_num'][$i])) { - if ($PMA_Types->getTypeClass($item_param_type[$i]) == 'NUMBER') { - $params .= ' ' - . mb_strtoupper( - $_REQUEST['item_param_opts_num'][$i] - ); - } - } - if ($i != (count($item_param_name) - 1)) { - $params .= ", "; - } - } else { - $errors[] = __( - 'You must provide a name and a type for each routine parameter.' - ); - break; - } - } - } - $query .= "(" . $params . ") "; - if ($_REQUEST['item_type'] == 'FUNCTION') { - $item_returntype = isset($_REQUEST['item_returntype']) - ? $_REQUEST['item_returntype'] - : null; - - if (! empty($item_returntype) - && in_array( - $item_returntype, PMA\libraries\Util::getSupportedDatatypes() - ) - ) { - $query .= "RETURNS " . $item_returntype; - } else { - $errors[] = __('You must provide a valid return type for the routine.'); - } - if (! empty($_REQUEST['item_returnlength']) - && !preg_match( - '@^(DATE|DATETIME|TIME|TINYBLOB|TINYTEXT|BLOB|TEXT|' - . 'MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT|SERIAL|BOOLEAN)$@i', - $item_returntype - ) - ) { - $query .= "(" . $_REQUEST['item_returnlength'] . ")"; - } else if (empty($_REQUEST['item_returnlength']) - && preg_match( - '@^(ENUM|SET|VARCHAR|VARBINARY)$@i', $item_returntype - ) - ) { - if (! $warned_about_length) { - $errors[] = __( - 'You must provide length/values for routine parameters' - . ' of type ENUM, SET, VARCHAR and VARBINARY.' - ); - } - } - if (! empty($_REQUEST['item_returnopts_text'])) { - if ($PMA_Types->getTypeClass($item_returntype) == 'CHAR') { - $query .= ' CHARSET ' - . mb_strtolower($_REQUEST['item_returnopts_text']); - } - } - if (! empty($_REQUEST['item_returnopts_num'])) { - if ($PMA_Types->getTypeClass($item_returntype) == 'NUMBER') { - $query .= ' ' - . mb_strtoupper($_REQUEST['item_returnopts_num']); - } - } - $query .= ' '; - } - if (! empty($_REQUEST['item_comment'])) { - $query .= "COMMENT '" . $GLOBALS['dbi']->escapeString($_REQUEST['item_comment']) - . "' "; - } - if (isset($_REQUEST['item_isdeterministic'])) { - $query .= 'DETERMINISTIC '; - } else { - $query .= 'NOT DETERMINISTIC '; - } - if (! empty($_REQUEST['item_sqldataaccess']) - && in_array($_REQUEST['item_sqldataaccess'], $param_sqldataaccess) - ) { - $query .= $_REQUEST['item_sqldataaccess'] . ' '; - } - if (! empty($_REQUEST['item_securitytype'])) { - if ($_REQUEST['item_securitytype'] == 'DEFINER' - || $_REQUEST['item_securitytype'] == 'INVOKER' - ) { - $query .= 'SQL SECURITY ' . $_REQUEST['item_securitytype'] . ' '; - } - } - if (! empty($_REQUEST['item_definition'])) { - $query .= $_REQUEST['item_definition']; - } else { - $errors[] = __('You must provide a routine definition.'); - } - - return $query; -} // end PMA_RTN_getQueryFromRequest() - -/** - * Handles requests for executing a routine - * - * @return void - */ -function PMA_RTN_handleExecute() -{ - global $_GET, $_POST, $_REQUEST, $GLOBALS, $db; - - $response = Response::getInstance(); - - /** - * Handle all user requests other than the default of listing routines - */ - if (! empty($_REQUEST['execute_routine']) && ! empty($_REQUEST['item_name'])) { - // Build the queries - $routine = PMA_RTN_getDataFromName( - $_REQUEST['item_name'], $_REQUEST['item_type'], false - ); - if ($routine === false) { - $message = __('Error in processing request:') . ' '; - $message .= sprintf( - PMA_RTE_getWord('not_found'), - htmlspecialchars(PMA\libraries\Util::backquote($_REQUEST['item_name'])), - htmlspecialchars(PMA\libraries\Util::backquote($db)) - ); - $message = Message::error($message); - if ($response->isAjax()) { - $response->setRequestStatus(false); - $response->addJSON('message', $message); - exit; - } else { - echo $message->getDisplay(); - unset($_POST); - } - } - - $queries = array(); - $end_query = array(); - $args = array(); - $all_functions = $GLOBALS['PMA_Types']->getAllFunctions(); - for ($i = 0; $i < $routine['item_num_params']; $i++) { - if (isset($_REQUEST['params'][$routine['item_param_name'][$i]])) { - $value = $_REQUEST['params'][$routine['item_param_name'][$i]]; - if (is_array($value)) { // is SET type - $value = implode(',', $value); - } - $value = $GLOBALS['dbi']->escapeString($value); - if (! empty($_REQUEST['funcs'][$routine['item_param_name'][$i]]) - && in_array( - $_REQUEST['funcs'][$routine['item_param_name'][$i]], - $all_functions - ) - ) { - $queries[] = "SET @p$i=" - . $_REQUEST['funcs'][$routine['item_param_name'][$i]] - . "('$value');\n"; - } else { - $queries[] = "SET @p$i='$value';\n"; - } - $args[] = "@p$i"; - } else { - $args[] = "@p$i"; - } - if ($routine['item_type'] == 'PROCEDURE') { - if ($routine['item_param_dir'][$i] == 'OUT' - || $routine['item_param_dir'][$i] == 'INOUT' - ) { - $end_query[] = "@p$i AS " - . PMA\libraries\Util::backquote($routine['item_param_name'][$i]); - } - } - } - if ($routine['item_type'] == 'PROCEDURE') { - $queries[] = "CALL " . PMA\libraries\Util::backquote($routine['item_name']) - . "(" . implode(', ', $args) . ");\n"; - if (count($end_query)) { - $queries[] = "SELECT " . implode(', ', $end_query) . ";\n"; - } - } else { - $queries[] = "SELECT " . PMA\libraries\Util::backquote($routine['item_name']) - . "(" . implode(', ', $args) . ") " - . "AS " . PMA\libraries\Util::backquote($routine['item_name']) - . ";\n"; - } - - // Get all the queries as one SQL statement - $multiple_query = implode("", $queries); - - $outcome = true; - $affected = 0; - - // Execute query - if (! $GLOBALS['dbi']->tryMultiQuery($multiple_query)) { - $outcome = false; - } - - // Generate output - if ($outcome) { - - // Pass the SQL queries through the "pretty printer" - $output = PMA\libraries\Util::formatSql(implode($queries, "\n")); - - // Display results - $output .= "
    "; - $output .= sprintf( - __('Execution results of routine %s'), - PMA\libraries\Util::backquote(htmlspecialchars($routine['item_name'])) - ); - $output .= ""; - - $nbResultsetToDisplay = 0; - - do { - - $result = $GLOBALS['dbi']->storeResult(); - $num_rows = $GLOBALS['dbi']->numRows($result); - - if (($result !== false) && ($num_rows > 0)) { - - $output .= ""; - foreach ($GLOBALS['dbi']->getFieldsMeta($result) as $field) { - $output .= ""; - } - $output .= ""; - - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $output .= "" . browseRow($row) . ""; - } - - $output .= "
    "; - $output .= htmlspecialchars($field->name); - $output .= "
    "; - $nbResultsetToDisplay++; - $affected = $num_rows; - - } - - if (! $GLOBALS['dbi']->moreResults()) { - break; - } - - $output .= "
    "; - - $GLOBALS['dbi']->freeResult($result); - - } while ($outcome = $GLOBALS['dbi']->nextResult()); - } - - if ($outcome) { - - $output .= "
    "; - - $message = __('Your SQL query has been executed successfully.'); - if ($routine['item_type'] == 'PROCEDURE') { - $message .= '
    '; - - // TODO : message need to be modified according to the - // output from the routine - $message .= sprintf( - _ngettext( - '%d row affected by the last statement inside the ' - . 'procedure.', - '%d rows affected by the last statement inside the ' - . 'procedure.', - $affected - ), - $affected - ); - } - $message = Message::success($message); - - if ($nbResultsetToDisplay == 0) { - $notice = __( - 'MySQL returned an empty result set (i.e. zero rows).' - ); - $output .= Message::notice($notice)->getDisplay(); - } - - } else { - $output = ''; - $message = Message::error( - sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($multiple_query) - ) - . '

    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null) - ); - } - - // Print/send output - if ($response->isAjax()) { - $response->setRequestStatus($message->isSuccess()); - $response->addJSON('message', $message->getDisplay() . $output); - $response->addJSON('dialog', false); - exit; - } else { - echo $message->getDisplay() , $output; - if ($message->isError()) { - // At least one query has failed, so shouldn't - // execute any more queries, so we quit. - exit; - } - unset($_POST); - // Now deliberately fall through to displaying the routines list - } - return; - } else if (! empty($_GET['execute_dialog']) && ! empty($_GET['item_name'])) { - /** - * Display the execute form for a routine. - */ - $routine = PMA_RTN_getDataFromName( - $_GET['item_name'], $_GET['item_type'], true - ); - if ($routine !== false) { - $form = PMA_RTN_getExecuteForm($routine); - if ($response->isAjax()) { - $title = __("Execute routine") . " " . PMA\libraries\Util::backquote( - htmlentities($_GET['item_name'], ENT_QUOTES) - ); - $response->addJSON('message', $form); - $response->addJSON('title', $title); - $response->addJSON('dialog', true); - } else { - echo "\n\n

    " . __("Execute routine") . "

    \n\n"; - echo $form; - } - exit; - } else if (($response->isAjax())) { - $message = __('Error in processing request:') . ' '; - $message .= sprintf( - PMA_RTE_getWord('not_found'), - htmlspecialchars(PMA\libraries\Util::backquote($_REQUEST['item_name'])), - htmlspecialchars(PMA\libraries\Util::backquote($db)) - ); - $message = Message::error($message); - - $response->setRequestStatus(false); - $response->addJSON('message', $message); - exit; - } - } -} - -/** - * Browse row array - * - * @param array $row Columns - * @param string $color_class CSS class - * - * @return string - */ -function browseRow($row) -{ - $output = null; - foreach ($row as $value) { - if ($value === null) { - $value = 'NULL'; - } else { - $value = htmlspecialchars($value); - } - $output .= "" . $value . ""; - } - return $output; -} - -/** - * Creates the HTML code that shows the routine execution dialog. - * - * @param array $routine Data for the routine returned by - * PMA_RTN_getDataFromName() - * - * @return string HTML code for the routine execution dialog. - */ -function PMA_RTN_getExecuteForm($routine) -{ - global $db, $cfg; - - $response = Response::getInstance(); - - // Escape special characters - $routine['item_name'] = htmlentities($routine['item_name'], ENT_QUOTES); - for ($i = 0; $i < $routine['item_num_params']; $i++) { - $routine['item_param_name'][$i] = htmlentities( - $routine['item_param_name'][$i], - ENT_QUOTES - ); - } - - // Create the output - $retval = ""; - $retval .= "\n\n"; - $retval .= "
    isAjax()) { - $retval .= "{$routine['item_name']}\n"; - $retval .= "\n"; - $retval .= "\n"; - } else { - $retval .= "" . __('Routine parameters') . "\n"; - $retval .= "
    \n"; - $retval .= __('Routine parameters'); - $retval .= "
    \n"; - } - $retval .= "\n"; - $retval .= "\n"; - $retval .= "\n"; - if ($cfg['ShowFunctionFields']) { - $retval .= "\n"; - } - $retval .= "\n"; - $retval .= "\n"; - // Get a list of data types that are not yet supported. - $no_support_types = PMA\libraries\Util::unsupportedDatatypes(); - for ($i = 0; $i < $routine['item_num_params']; $i++) { // Each parameter - if ($routine['item_type'] == 'PROCEDURE' - && $routine['item_param_dir'][$i] == 'OUT' - ) { - continue; - } - $retval .= "\n\n"; - $retval .= "\n"; - $retval .= "\n"; - if ($cfg['ShowFunctionFields']) { - $retval .= "\n"; - } - // Append a class to date/time fields so that - // jQuery can attach a datepicker to them - $class = ''; - if ($routine['item_param_type'][$i] == 'DATETIME' - || $routine['item_param_type'][$i] == 'TIMESTAMP' - ) { - $class = 'datetimefield'; - } else if ($routine['item_param_type'][$i] == 'DATE') { - $class = 'datefield'; - } - $retval .= "\n"; - $retval .= "\n"; - } - $retval .= "\n
    " . __('Name') . "" . __('Type') . "" . __('Function') . "" . __('Value') . "
    {$routine['item_param_name'][$i]}{$routine['item_param_type'][$i]}\n"; - if (stristr($routine['item_param_type'][$i], 'enum') - || stristr($routine['item_param_type'][$i], 'set') - || in_array( - mb_strtolower($routine['item_param_type'][$i]), - $no_support_types - ) - ) { - $retval .= "--\n"; - } else { - $field = array( - 'True_Type' => mb_strtolower( - $routine['item_param_type'][$i] - ), - 'Type' => '', - 'Key' => '', - 'Field' => '', - 'Default' => '', - 'first_timestamp' => false - ); - $retval .= ""; - } - $retval .= "\n"; - if (in_array($routine['item_param_type'][$i], array('ENUM', 'SET'))) { - if ($routine['item_param_type'][$i] == 'ENUM') { - $input_type = 'radio'; - } else { - $input_type = 'checkbox'; - } - foreach ($routine['item_param_length_arr'][$i] as $value) { - $value = htmlentities(PMA\libraries\Util::unquote($value), ENT_QUOTES); - $retval .= "" - . $value . "
    \n"; - } - } else if (in_array( - mb_strtolower($routine['item_param_type'][$i]), - $no_support_types - )) { - $retval .= "\n"; - } else { - $retval .= "\n"; - } - $retval .= "
    \n"; - if (! $response->isAjax()) { - $retval .= "\n\n"; - $retval .= "
    \n"; - $retval .= " \n"; - $retval .= "
    \n"; - } else { - $retval .= ""; - $retval .= ""; - } - $retval .= "
    \n\n"; - $retval .= "\n\n"; - - return $retval; -} // end PMA_RTN_getExecuteForm() - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_triggers.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_triggers.lib.php deleted file mode 100644 index f97beed2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_triggers.lib.php +++ /dev/null @@ -1,466 +0,0 @@ -getTriggers($db, $table); - echo PMA_RTE_getList('trigger', $items); - /** - * Display a link for adding a new trigger, - * if the user has the necessary privileges - */ - echo PMA_TRI_getFooterLinks(); -} // end PMA_TRI_main() - -/** - * Handles editor requests for adding or editing an item - * - * @return void - */ -function PMA_TRI_handleEditor() -{ - global $_REQUEST, $_POST, $errors, $db, $table; - - if (! empty($_REQUEST['editor_process_add']) - || ! empty($_REQUEST['editor_process_edit']) - ) { - $sql_query = ''; - - $item_query = PMA_TRI_getQueryFromRequest(); - - if (! count($errors)) { // set by PMA_RTN_getQueryFromRequest() - // Execute the created query - if (! empty($_REQUEST['editor_process_edit'])) { - // Backup the old trigger, in case something goes wrong - $trigger = PMA_TRI_getDataFromName($_REQUEST['item_original_name']); - $create_item = $trigger['create']; - $drop_item = $trigger['drop'] . ';'; - $result = $GLOBALS['dbi']->tryQuery($drop_item); - if (! $result) { - $errors[] = sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($drop_item) - ) - . '
    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - } else { - $result = $GLOBALS['dbi']->tryQuery($item_query); - if (! $result) { - $errors[] = sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($item_query) - ) - . '
    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - // We dropped the old item, but were unable to create the - // new one. Try to restore the backup query. - $result = $GLOBALS['dbi']->tryQuery($create_item); - - $errors = checkResult( - $result, - __( - 'Sorry, we failed to restore the dropped trigger.' - ), - $create_item, - $errors - ); - } else { - $message = PMA\libraries\Message::success( - __('Trigger %1$s has been modified.') - ); - $message->addParam( - PMA\libraries\Util::backquote($_REQUEST['item_name']) - ); - $sql_query = $drop_item . $item_query; - } - } - } else { - // 'Add a new item' mode - $result = $GLOBALS['dbi']->tryQuery($item_query); - if (! $result) { - $errors[] = sprintf( - __('The following query has failed: "%s"'), - htmlspecialchars($item_query) - ) - . '

    ' - . __('MySQL said: ') . $GLOBALS['dbi']->getError(null); - } else { - $message = PMA\libraries\Message::success( - __('Trigger %1$s has been created.') - ); - $message->addParam( - PMA\libraries\Util::backquote($_REQUEST['item_name']) - ); - $sql_query = $item_query; - } - } - } - - if (count($errors)) { - $message = PMA\libraries\Message::error( - '' - . __( - 'One or more errors have occurred while processing your request:' - ) - . '' - ); - $message->addHtml('
      '); - foreach ($errors as $string) { - $message->addHtml('
    • ' . $string . '
    • '); - } - $message->addHtml('
    '); - } - - $output = PMA\libraries\Util::getMessage($message, $sql_query); - $response = Response::getInstance(); - if ($response->isAjax()) { - if ($message->isSuccess()) { - $items = $GLOBALS['dbi']->getTriggers($db, $table, ''); - $trigger = false; - foreach ($items as $value) { - if ($value['name'] == $_REQUEST['item_name']) { - $trigger = $value; - } - } - $insert = false; - if (empty($table) - || ($trigger !== false && $table == $trigger['table']) - ) { - $insert = true; - $response->addJSON('new_row', PMA_TRI_getRowForList($trigger)); - $response->addJSON( - 'name', - htmlspecialchars( - mb_strtoupper( - $_REQUEST['item_name'] - ) - ) - ); - } - $response->addJSON('insert', $insert); - $response->addJSON('message', $output); - } else { - $response->addJSON('message', $message); - $response->setRequestStatus(false); - } - exit; - } - } - - /** - * Display a form used to add/edit a trigger, if necessary - */ - if (count($errors) - || (empty($_REQUEST['editor_process_add']) - && empty($_REQUEST['editor_process_edit']) - && (! empty($_REQUEST['add_item']) - || ! empty($_REQUEST['edit_item']))) // FIXME: this must be simpler than that - ) { - // Get the data for the form (if any) - if (! empty($_REQUEST['add_item'])) { - $title = PMA_RTE_getWord('add'); - $item = PMA_TRI_getDataFromRequest(); - $mode = 'add'; - } else if (! empty($_REQUEST['edit_item'])) { - $title = __("Edit trigger"); - if (! empty($_REQUEST['item_name']) - && empty($_REQUEST['editor_process_edit']) - ) { - $item = PMA_TRI_getDataFromName($_REQUEST['item_name']); - if ($item !== false) { - $item['item_original_name'] = $item['item_name']; - } - } else { - $item = PMA_TRI_getDataFromRequest(); - } - $mode = 'edit'; - } - PMA_RTE_sendEditor('TRI', $mode, $item, $title, $db); - } -} // end PMA_TRI_handleEditor() - -/** - * This function will generate the values that are required to for the editor - * - * @return array Data necessary to create the editor. - */ -function PMA_TRI_getDataFromRequest() -{ - $retval = array(); - $indices = array('item_name', - 'item_table', - 'item_original_name', - 'item_action_timing', - 'item_event_manipulation', - 'item_definition', - 'item_definer'); - foreach ($indices as $index) { - $retval[$index] = isset($_REQUEST[$index]) ? $_REQUEST[$index] : ''; - } - return $retval; -} // end PMA_TRI_getDataFromRequest() - -/** - * This function will generate the values that are required to complete - * the "Edit trigger" form given the name of a trigger. - * - * @param string $name The name of the trigger. - * - * @return array Data necessary to create the editor. - */ -function PMA_TRI_getDataFromName($name) -{ - global $db, $table, $_REQUEST; - - $temp = array(); - $items = $GLOBALS['dbi']->getTriggers($db, $table, ''); - foreach ($items as $value) { - if ($value['name'] == $name) { - $temp = $value; - } - } - if (empty($temp)) { - return false; - } else { - $retval = array(); - $retval['create'] = $temp['create']; - $retval['drop'] = $temp['drop']; - $retval['item_name'] = $temp['name']; - $retval['item_table'] = $temp['table']; - $retval['item_action_timing'] = $temp['action_timing']; - $retval['item_event_manipulation'] = $temp['event_manipulation']; - $retval['item_definition'] = $temp['definition']; - $retval['item_definer'] = $temp['definer']; - return $retval; - } -} // end PMA_TRI_getDataFromName() - -/** - * Displays a form used to add/edit a trigger - * - * @param string $mode If the editor will be used to edit a trigger - * or add a new one: 'edit' or 'add'. - * @param array $item Data for the trigger returned by PMA_TRI_getDataFromRequest() - * or PMA_TRI_getDataFromName() - * - * @return string HTML code for the editor. - */ -function PMA_TRI_getEditorForm($mode, $item) -{ - global $db, $table, $event_manipulations, $action_timings; - - $modeToUpper = mb_strtoupper($mode); - $response = Response::getInstance(); - - // Escape special characters - $need_escape = array( - 'item_original_name', - 'item_name', - 'item_definition', - 'item_definer' - ); - foreach ($need_escape as $key => $index) { - $item[$index] = htmlentities($item[$index], ENT_QUOTES, 'UTF-8'); - } - $original_data = ''; - if ($mode == 'edit') { - $original_data = "\n"; - } - $query = "SELECT `TABLE_NAME` FROM `INFORMATION_SCHEMA`.`TABLES` "; - $query .= "WHERE `TABLE_SCHEMA`='" . $GLOBALS['dbi']->escapeString($db) . "' "; - $query .= "AND `TABLE_TYPE`='BASE TABLE'"; - $tables = $GLOBALS['dbi']->fetchResult($query); - - // Create the output - $retval = ""; - $retval .= "\n\n"; - $retval .= "
    \n"; - $retval .= "\n"; - $retval .= $original_data; - $retval .= URL::getHiddenInputs($db, $table) . "\n"; - $retval .= "
    \n"; - $retval .= "" . __('Details') . "\n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "\n"; - $retval .= "\n"; - $retval .= " \n"; - $retval .= " '; - - $html_output .= ''; - - $html_output .= '' - . '' - . '' - . '' - . ''; - $current_user = $row['User']; - $current_host = $row['Host']; - $routine = $row['Routine_name']; - $html_output .= ''; - - $html_output .= ''; - - } - return $html_output; -} - -/** - * Get the HTML for user form and check the privileges for a particular database. - * - * @param string $db database name - * - * @return string $html_output - */ -function PMA_getHtmlForSpecificDbPrivileges($db) -{ - $html_output = ''; - if ($GLOBALS['is_superuser']) { - // check the privileges for a particular database. - $html_output = ''; - $html_output .= URL::getHiddenInputs($db); - $html_output .= '
    '; - $html_output .= '' . "\n" - . Util::getIcon('b_usrcheck.png') - . ' ' - . sprintf( - __('Users having access to "%s"'), - '' - . htmlspecialchars($db) - . '' - ) - . "\n" - . '' . "\n"; - - $html_output .= '
    " . __('Trigger name') . "\n"; - $retval .= " \n"; - $retval .= " \n"; - $retval .= "
    " . _pgettext('Trigger action time', 'Time') . "
    " . __('Event') . "
    " . __('Definition') . "
    " . __('Definer') . "isAjax()) { - $retval .= "\n"; - $retval .= "\n"; - } - $retval .= "\n\n"; - $retval .= "\n\n"; - - return $retval; -} // end PMA_TRI_getEditorForm() - -/** - * Composes the query necessary to create a trigger from an HTTP request. - * - * @return string The CREATE TRIGGER query. - */ -function PMA_TRI_getQueryFromRequest() -{ - global $_REQUEST, $db, $errors, $action_timings, $event_manipulations; - - $query = 'CREATE '; - if (! empty($_REQUEST['item_definer'])) { - if (mb_strpos($_REQUEST['item_definer'], '@') !== false - ) { - $arr = explode('@', $_REQUEST['item_definer']); - $query .= 'DEFINER=' . PMA\libraries\Util::backquote($arr[0]); - $query .= '@' . PMA\libraries\Util::backquote($arr[1]) . ' '; - } else { - $errors[] = __('The definer must be in the "username@hostname" format!'); - } - } - $query .= 'TRIGGER '; - if (! empty($_REQUEST['item_name'])) { - $query .= PMA\libraries\Util::backquote($_REQUEST['item_name']) . ' '; - } else { - $errors[] = __('You must provide a trigger name!'); - } - if (! empty($_REQUEST['item_timing']) - && in_array($_REQUEST['item_timing'], $action_timings) - ) { - $query .= $_REQUEST['item_timing'] . ' '; - } else { - $errors[] = __('You must provide a valid timing for the trigger!'); - } - if (! empty($_REQUEST['item_event']) - && in_array($_REQUEST['item_event'], $event_manipulations) - ) { - $query .= $_REQUEST['item_event'] . ' '; - } else { - $errors[] = __('You must provide a valid event for the trigger!'); - } - $query .= 'ON '; - if (! empty($_REQUEST['item_table']) - && in_array($_REQUEST['item_table'], $GLOBALS['dbi']->getTables($db)) - ) { - $query .= PMA\libraries\Util::backquote($_REQUEST['item_table']); - } else { - $errors[] = __('You must provide a valid table name!'); - } - $query .= ' FOR EACH ROW '; - if (! empty($_REQUEST['item_definition'])) { - $query .= $_REQUEST['item_definition']; - } else { - $errors[] = __('You must provide a trigger definition.'); - } - - return $query; -} // end PMA_TRI_getQueryFromRequest() - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_words.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_words.lib.php deleted file mode 100644 index 95fc5a10..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/rte/rte_words.lib.php +++ /dev/null @@ -1,82 +0,0 @@ - __('Add routine'), - 'docu' => 'STORED_ROUTINES', - 'export' => __('Export of routine %s'), - 'human' => __('routine'), - 'no_create' => __( - 'You do not have the necessary privileges to create a routine.' - ), - 'no_edit' => __( - 'No routine with name %1$s found in database %2$s. ' - . 'You might be lacking the necessary privileges to edit this routine.' - ), - 'no_view' => __( - 'No routine with name %1$s found in database %2$s. ' - . 'You might be lacking the necessary privileges to view/export this routine.' - ), - 'not_found' => __('No routine with name %1$s found in database %2$s.'), - 'nothing' => __('There are no routines to display.'), - 'title' => __('Routines'), - ); - break; - case 'TRI': - $words = array( - 'add' => __('Add trigger'), - 'docu' => 'TRIGGERS', - 'export' => __('Export of trigger %s'), - 'human' => __('trigger'), - 'no_create' => __( - 'You do not have the necessary privileges to create a trigger.' - ), - 'not_found' => __('No trigger with name %1$s found in database %2$s.'), - 'nothing' => __('There are no triggers to display.'), - 'title' => __('Triggers'), - ); - break; - case 'EVN': - $words = array( - 'add' => __('Add event'), - 'docu' => 'EVENTS', - 'export' => __('Export of event %s'), - 'human' => __('event'), - 'no_create' => __( - 'You do not have the necessary privileges to create an event.' - ), - 'not_found' => __('No event with name %1$s found in database %2$s.'), - 'nothing' => __('There are no events to display.'), - 'title' => __('Events'), - ); - break; - default: - $words = array(); - break; - } - - return isset($words[$index]) ? $words[$index] : ''; -} // end PMA_RTE_getWord() - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/select_server.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/select_server.lib.php deleted file mode 100644 index ec69b91d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/select_server.lib.php +++ /dev/null @@ -1,115 +0,0 @@ -'; - - if (! $omit_fieldset) { - $retval .= '
    '; - } - - $retval .= ''; - $retval .= ' '; - - $retval .= ''; - if (! $omit_fieldset) { - $retval .= '
    '; - } - $retval .= ''; - } elseif ($list) { - $retval .= ''; - } - - return $retval; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_common.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_common.inc.php deleted file mode 100644 index 1206ad7b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_common.inc.php +++ /dev/null @@ -1,54 +0,0 @@ - $db)); - -/** - * Defines the urls to return to in case of error in a sql statement - */ -$err_url = 'index.php' . $GLOBALS['url_query']; - -/** - * @global boolean Checks for superuser privileges - */ -$GLOBALS['is_superuser'] = $GLOBALS['dbi']->isSuperuser(); -$GLOBALS['is_grantuser'] = $GLOBALS['dbi']->isUserType('grant'); -$GLOBALS['is_createuser'] = $GLOBALS['dbi']->isUserType('create'); - -// now, select the mysql db -if ($GLOBALS['is_superuser']) { - $GLOBALS['dbi']->selectDb('mysql', $GLOBALS['userlink']); -} - -PMA\libraries\Util::checkParameters( - array('is_superuser', 'url_query'), false -); - -/** - * shared functions for server page - */ -require_once './libraries/server_common.lib.php'; - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_common.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_common.lib.php deleted file mode 100644 index 7e3a2ca9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_common.lib.php +++ /dev/null @@ -1,63 +0,0 @@ -' . "\n" - . PMA\libraries\Util::getImage($header[$type]['image']) - . ' ' . $header[$type]['text'] . "\n" - . $link . '' . "\n"; - } else { - $html = '

    ' . "\n" - . PMA\libraries\Util::getIcon($header[$type]['image']) - . ' ' . $header[$type]['text'] . "\n" - . $link . '

    ' . "\n"; - } - return $html; -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_privileges.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_privileges.lib.php deleted file mode 100644 index 16cce961..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_privileges.lib.php +++ /dev/null @@ -1,5297 +0,0 @@ -isAjax()) { - $response->addJSON('message', $dialog); - exit; - } else { - $html .= $dialog; - } - } - - return $html; -} - -/** - * Escapes wildcard in a database+table specification - * before using it in a GRANT statement. - * - * Escaping a wildcard character in a GRANT is only accepted at the global - * or database level, not at table level; this is why I remove - * the escaping character. Internally, in mysql.tables_priv.Db there are - * no escaping (for example test_db) but in mysql.db you'll see test\_db - * for a db-specific privilege. - * - * @param string $dbname Database name - * @param string $tablename Table name - * - * @return string the escaped (if necessary) database.table - */ -function PMA_wildcardEscapeForGrant($dbname, $tablename) -{ - if (strlen($dbname) === 0) { - $db_and_table = '*.*'; - } else { - if (strlen($tablename) > 0) { - $db_and_table = Util::backquote( - Util::unescapeMysqlWildcards($dbname) - ) - . '.' . Util::backquote($tablename); - } else { - $db_and_table = Util::backquote($dbname) . '.*'; - } - } - return $db_and_table; -} - -/** - * Generates a condition on the user name - * - * @param string $initial the user's initial - * - * @return string the generated condition - */ -function PMA_rangeOfUsers($initial = '') -{ - // strtolower() is used because the User field - // might be BINARY, so LIKE would be case sensitive - if ($initial === null || $initial === '') { - return ''; - } - - $ret = " WHERE `User` LIKE '" - . $GLOBALS['dbi']->escapeString($initial) . "%'" - . " OR `User` LIKE '" - . $GLOBALS['dbi']->escapeString(mb_strtolower($initial)) - . "%'"; - return $ret; -} // end function - -/** - * Formats privilege name for a display - * - * @param array $privilege Privilege information - * @param boolean $html Whether to use HTML - * - * @return string - */ -function PMA_formatPrivilege($privilege, $html) -{ - if ($html) { - return '' - . $privilege[1] . ''; - } else { - return $privilege[1]; - } -} - -/** - * Parses privileges into an array, it modifies the array - * - * @param array &$row Results row from - * - * @return void - */ -function PMA_fillInTablePrivileges(&$row) -{ - $row1 = $GLOBALS['dbi']->fetchSingleRow( - 'SHOW COLUMNS FROM `mysql`.`tables_priv` LIKE \'Table_priv\';', - 'ASSOC', $GLOBALS['userlink'] - ); - // note: in MySQL 5.0.3 we get "Create View', 'Show view'; - // the View for Create is spelled with uppercase V - // the view for Show is spelled with lowercase v - // and there is a space between the words - - $av_grants = explode( - '\',\'', - mb_substr( - $row1['Type'], - mb_strpos($row1['Type'], '(') + 2, - mb_strpos($row1['Type'], ')') - - mb_strpos($row1['Type'], '(') - 3 - ) - ); - - $users_grants = explode(',', $row['Table_priv']); - - foreach ($av_grants as $current_grant) { - $row[$current_grant . '_priv'] - = in_array($current_grant, $users_grants) ? 'Y' : 'N'; - } - unset($row['Table_priv']); -} - - -/** - * Extracts the privilege information of a priv table row - * - * @param array|null $row the row - * @param boolean $enableHTML add tag with tooltips - * @param boolean $tablePrivs whether row contains table privileges - * - * @global resource $user_link the database connection - * - * @return array - */ -function PMA_extractPrivInfo($row = null, $enableHTML = false, $tablePrivs = false) -{ - if ($tablePrivs) { - $grants = PMA_getTableGrantsArray(); - } else { - $grants = PMA_getGrantsArray(); - } - - if (! is_null($row) && isset($row['Table_priv'])) { - PMA_fillInTablePrivileges($row); - } - - $privs = array(); - $allPrivileges = true; - foreach ($grants as $current_grant) { - if ((! is_null($row) && isset($row[$current_grant[0]])) - || (is_null($row) && isset($GLOBALS[$current_grant[0]])) - ) { - if ((! is_null($row) && $row[$current_grant[0]] == 'Y') - || (is_null($row) - && ($GLOBALS[$current_grant[0]] == 'Y' - || (is_array($GLOBALS[$current_grant[0]]) - && count($GLOBALS[$current_grant[0]]) == $_REQUEST['column_count'] - && empty($GLOBALS[$current_grant[0] . '_none'])))) - ) { - $privs[] = PMA_formatPrivilege($current_grant, $enableHTML); - } elseif (! empty($GLOBALS[$current_grant[0]]) - && is_array($GLOBALS[$current_grant[0]]) - && empty($GLOBALS[$current_grant[0] . '_none']) - ) { - // Required for proper escaping of ` (backtick) in a column name - $grant_cols = array_map( - function($val) { - return Util::backquote($val); - }, - $GLOBALS[$current_grant[0]] - ); - - $privs[] = PMA_formatPrivilege($current_grant, $enableHTML) - . ' (' . join(', ', $grant_cols) . ')'; - } else { - $allPrivileges = false; - } - } - } - if (empty($privs)) { - if ($enableHTML) { - $privs[] = 'USAGE'; - } else { - $privs[] = 'USAGE'; - } - } elseif ($allPrivileges - && (! isset($_POST['grant_count']) || count($privs) == $_POST['grant_count']) - ) { - if ($enableHTML) { - $privs = array('ALL PRIVILEGES' - ); - } else { - $privs = array('ALL PRIVILEGES'); - } - } - return $privs; -} // end of the 'PMA_extractPrivInfo()' function - -/** - * Returns an array of table grants and their descriptions - * - * @return array array of table grants - */ -function PMA_getTableGrantsArray() -{ - return array( - array( - 'Delete', - 'DELETE', - $GLOBALS['strPrivDescDelete'] - ), - array( - 'Create', - 'CREATE', - $GLOBALS['strPrivDescCreateTbl'] - ), - array( - 'Drop', - 'DROP', - $GLOBALS['strPrivDescDropTbl'] - ), - array( - 'Index', - 'INDEX', - $GLOBALS['strPrivDescIndex'] - ), - array( - 'Alter', - 'ALTER', - $GLOBALS['strPrivDescAlter'] - ), - array( - 'Create View', - 'CREATE_VIEW', - $GLOBALS['strPrivDescCreateView'] - ), - array( - 'Show view', - 'SHOW_VIEW', - $GLOBALS['strPrivDescShowView'] - ), - array( - 'Trigger', - 'TRIGGER', - $GLOBALS['strPrivDescTrigger'] - ), - ); -} - -/** - * Get the grants array which contains all the privilege types - * and relevant grant messages - * - * @return array - */ -function PMA_getGrantsArray() -{ - return array( - array( - 'Select_priv', - 'SELECT', - __('Allows reading data.') - ), - array( - 'Insert_priv', - 'INSERT', - __('Allows inserting and replacing data.') - ), - array( - 'Update_priv', - 'UPDATE', - __('Allows changing data.') - ), - array( - 'Delete_priv', - 'DELETE', - __('Allows deleting data.') - ), - array( - 'Create_priv', - 'CREATE', - __('Allows creating new databases and tables.') - ), - array( - 'Drop_priv', - 'DROP', - __('Allows dropping databases and tables.') - ), - array( - 'Reload_priv', - 'RELOAD', - __('Allows reloading server settings and flushing the server\'s caches.') - ), - array( - 'Shutdown_priv', - 'SHUTDOWN', - __('Allows shutting down the server.') - ), - array( - 'Process_priv', - 'PROCESS', - __('Allows viewing processes of all users.') - ), - array( - 'File_priv', - 'FILE', - __('Allows importing data from and exporting data into files.') - ), - array( - 'References_priv', - 'REFERENCES', - __('Has no effect in this MySQL version.') - ), - array( - 'Index_priv', - 'INDEX', - __('Allows creating and dropping indexes.') - ), - array( - 'Alter_priv', - 'ALTER', - __('Allows altering the structure of existing tables.') - ), - array( - 'Show_db_priv', - 'SHOW DATABASES', - __('Gives access to the complete list of databases.') - ), - array( - 'Super_priv', - 'SUPER', - __( - 'Allows connecting, even if maximum number of connections ' - . 'is reached; required for most administrative operations ' - . 'like setting global variables or killing threads of other users.' - ) - ), - array( - 'Create_tmp_table_priv', - 'CREATE TEMPORARY TABLES', - __('Allows creating temporary tables.') - ), - array( - 'Lock_tables_priv', - 'LOCK TABLES', - __('Allows locking tables for the current thread.') - ), - array( - 'Repl_slave_priv', - 'REPLICATION SLAVE', - __('Needed for the replication slaves.') - ), - array( - 'Repl_client_priv', - 'REPLICATION CLIENT', - __('Allows the user to ask where the slaves / masters are.') - ), - array( - 'Create_view_priv', - 'CREATE VIEW', - __('Allows creating new views.') - ), - array( - 'Event_priv', - 'EVENT', - __('Allows to set up events for the event scheduler.') - ), - array( - 'Trigger_priv', - 'TRIGGER', - __('Allows creating and dropping triggers.') - ), - // for table privs: - array( - 'Create View_priv', - 'CREATE VIEW', - __('Allows creating new views.') - ), - array( - 'Show_view_priv', - 'SHOW VIEW', - __('Allows performing SHOW CREATE VIEW queries.') - ), - // for table privs: - array( - 'Show view_priv', - 'SHOW VIEW', - __('Allows performing SHOW CREATE VIEW queries.') - ), - array( - 'Create_routine_priv', - 'CREATE ROUTINE', - __('Allows creating stored routines.') - ), - array( - 'Alter_routine_priv', - 'ALTER ROUTINE', - __('Allows altering and dropping stored routines.') - ), - array( - 'Create_user_priv', - 'CREATE USER', - __('Allows creating, dropping and renaming user accounts.') - ), - array( - 'Execute_priv', - 'EXECUTE', - __('Allows executing stored routines.') - ), - ); -} - -/** - * Displays on which column(s) a table-specific privilege is granted - * - * @param array $columns columns array - * @param array $row first row from result or boolean false - * @param string $name_for_select privilege types - Select_priv, Insert_priv - * Update_priv, References_priv - * @param string $priv_for_header privilege for header - * @param string $name privilege name: insert, select, update, references - * @param string $name_for_dfn name for dfn - * @param string $name_for_current name for current - * - * @return string $html_output html snippet - */ -function PMA_getHtmlForColumnPrivileges($columns, $row, $name_for_select, - $priv_for_header, $name, $name_for_dfn, $name_for_current -) { - $data = array( - 'columns' => $columns, - 'row' => $row, - 'name_for_select' => $name_for_select, - 'priv_for_header' => $priv_for_header, - 'name' => $name, - 'name_for_dfn' => $name_for_dfn, - 'name_for_current' => $name_for_current - ); - - $html_output = Template::get('privileges/column_privileges') - ->render($data); - - return $html_output; -} // end function - -/** - * Get sql query for display privileges table - * - * @param string $db the database - * @param string $table the table - * @param string $username username for database connection - * @param string $hostname hostname for database connection - * - * @return string sql query - */ -function PMA_getSqlQueryForDisplayPrivTable($db, $table, $username, $hostname) -{ - if ($db == '*') { - return "SELECT * FROM `mysql`.`user`" - . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" - . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "';"; - } elseif ($table == '*') { - return "SELECT * FROM `mysql`.`db`" - . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" - . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "'" - . " AND '" . $GLOBALS['dbi']->escapeString(Util::unescapeMysqlWildcards($db)) . "'" - . " LIKE `Db`;"; - } - return "SELECT `Table_priv`" - . " FROM `mysql`.`tables_priv`" - . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" - . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "'" - . " AND `Db` = '" . $GLOBALS['dbi']->escapeString(Util::unescapeMysqlWildcards($db)) . "'" - . " AND `Table_name` = '" . $GLOBALS['dbi']->escapeString($table) . "';"; -} - -/** - * Displays a dropdown to select the user group - * with menu items configured to each of them. - * - * @param string $username username - * - * @return string html to select the user group - */ -function PMA_getHtmlToChooseUserGroup($username) -{ - $cfgRelation = PMA_getRelationsParam(); - $groupTable = Util::backquote($cfgRelation['db']) - . "." . Util::backquote($cfgRelation['usergroups']); - $userTable = Util::backquote($cfgRelation['db']) - . "." . Util::backquote($cfgRelation['users']); - - $userGroup = ''; - if (isset($GLOBALS['username'])) { - $sql_query = "SELECT `usergroup` FROM " . $userTable - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) . "'"; - $userGroup = $GLOBALS['dbi']->fetchValue( - $sql_query, 0, 0, $GLOBALS['controllink'] - ); - } - - $allUserGroups = array('' => ''); - $sql_query = "SELECT DISTINCT `usergroup` FROM " . $groupTable; - $result = PMA_queryAsControlUser($sql_query, false); - if ($result) { - while ($row = $GLOBALS['dbi']->fetchRow($result)) { - $allUserGroups[$row[0]] = $row[0]; - } - } - $GLOBALS['dbi']->freeResult($result); - - // render the template - $data = array( - 'allUserGroups' => $allUserGroups, - 'userGroup' => $userGroup, - 'params' => array('username' => $username) - ); - $html_output = Template::get('privileges/choose_user_group') - ->render($data); - - return $html_output; -} - -/** - * Sets the user group from request values - * - * @param string $username username - * @param string $userGroup user group to set - * - * @return void - */ -function PMA_setUserGroup($username, $userGroup) -{ - $cfgRelation = PMA_getRelationsParam(); - if (empty($cfgRelation['db']) || empty($cfgRelation['users']) || empty($cfgRelation['usergroups'])) { - return; - } - - $userTable = Util::backquote($cfgRelation['db']) - . "." . Util::backquote($cfgRelation['users']); - - $sql_query = "SELECT `usergroup` FROM " . $userTable - . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) . "'"; - $oldUserGroup = $GLOBALS['dbi']->fetchValue( - $sql_query, 0, 0, $GLOBALS['controllink'] - ); - - if ($oldUserGroup === false) { - $upd_query = "INSERT INTO " . $userTable . "(`username`, `usergroup`)" - . " VALUES ('" . $GLOBALS['dbi']->escapeString($username) . "', " - . "'" . $GLOBALS['dbi']->escapeString($userGroup) . "')"; - } else { - if (empty($userGroup)) { - $upd_query = "DELETE FROM " . $userTable - . " WHERE `username`='" . $GLOBALS['dbi']->escapeString($username) . "'"; - } elseif ($oldUserGroup != $userGroup) { - $upd_query = "UPDATE " . $userTable - . " SET `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) . "'" - . " WHERE `username`='" . $GLOBALS['dbi']->escapeString($username) . "'"; - } - } - if (isset($upd_query)) { - PMA_queryAsControlUser($upd_query); - } -} - -/** - * Displays the privileges form table - * - * @param string $db the database - * @param string $table the table - * @param boolean $submit whether to display the submit button or not - * - * @global array $cfg the phpMyAdmin configuration - * @global resource $user_link the database connection - * - * @return string html snippet - */ -function PMA_getHtmlToDisplayPrivilegesTable($db = '*', - $table = '*', $submit = true -) { - $html_output = ''; - $sql_query = ''; - - if ($db == '*') { - $table = '*'; - } - - if (isset($GLOBALS['username'])) { - $username = $GLOBALS['username']; - $hostname = $GLOBALS['hostname']; - $sql_query = PMA_getSqlQueryForDisplayPrivTable( - $db, $table, $username, $hostname - ); - $row = $GLOBALS['dbi']->fetchSingleRow($sql_query); - } - if (empty($row)) { - if ($table == '*' && $GLOBALS['is_superuser']) { - $row = array(); - if ($db == '*') { - $sql_query = 'SHOW COLUMNS FROM `mysql`.`user`;'; - } elseif ($table == '*') { - $sql_query = 'SHOW COLUMNS FROM `mysql`.`db`;'; - } - $res = $GLOBALS['dbi']->query($sql_query); - while ($row1 = $GLOBALS['dbi']->fetchRow($res)) { - if (mb_substr($row1[0], 0, 4) == 'max_') { - $row[$row1[0]] = 0; - } elseif (mb_substr($row1[0], 0, 5) == 'x509_' - || mb_substr($row1[0], 0, 4) == 'ssl_' - ) { - $row[$row1[0]] = ''; - } else { - $row[$row1[0]] = 'N'; - } - } - $GLOBALS['dbi']->freeResult($res); - } elseif ($table == '*') { - $row = array(); - } else { - $row = array('Table_priv' => ''); - } - } - if (isset($row['Table_priv'])) { - PMA_fillInTablePrivileges($row); - - // get columns - $res = $GLOBALS['dbi']->tryQuery( - 'SHOW COLUMNS FROM ' - . Util::backquote( - Util::unescapeMysqlWildcards($db) - ) - . '.' . Util::backquote($table) . ';' - ); - $columns = array(); - if ($res) { - while ($row1 = $GLOBALS['dbi']->fetchRow($res)) { - $columns[$row1[0]] = array( - 'Select' => false, - 'Insert' => false, - 'Update' => false, - 'References' => false - ); - } - $GLOBALS['dbi']->freeResult($res); - } - unset($res, $row1); - } - // table-specific privileges - if (! empty($columns)) { - $html_output .= PMA_getHtmlForTableSpecificPrivileges( - $username, $hostname, $db, $table, $columns, $row - ); - } else { - // global or db-specific - $html_output .= PMA_getHtmlForGlobalOrDbSpecificPrivs($db, $table, $row); - } - $html_output .= '' . "\n"; - if ($submit) { - $html_output .= '' . "\n"; - } - return $html_output; -} // end of the 'PMA_displayPrivTable()' function - -/** - * Get HTML for "Require" - * - * @param array $row privilege array - * - * @return string html snippet - */ -function PMA_getHtmlForRequires($row) -{ - $specified = (isset($row['ssl_type']) && $row['ssl_type'] == 'SPECIFIED'); - $require_options = array( - array( - 'name' => 'ssl_type', - 'value' => 'NONE', - 'description' => __( - 'Does not require SSL-encrypted connections.' - ), - 'label' => 'REQUIRE NONE', - 'checked' => ((isset($row['ssl_type']) - && ($row['ssl_type'] == 'NONE' - || $row['ssl_type'] == '')) - ? 'checked="checked"' - : '' - ), - 'disabled' => false, - 'radio' => true - ), - array( - 'name' => 'ssl_type', - 'value' => 'ANY', - 'description' => __( - 'Requires SSL-encrypted connections.' - ), - 'label' => 'REQUIRE SSL', - 'checked' => (isset($row['ssl_type']) && ($row['ssl_type'] == 'ANY') - ? 'checked="checked"' - : '' - ), - 'disabled' => false, - 'radio' => true - ), - array( - 'name' => 'ssl_type', - 'value' => 'X509', - 'description' => __( - 'Requires a valid X509 certificate.' - ), - 'label' => 'REQUIRE X509', - 'checked' => (isset($row['ssl_type']) && ($row['ssl_type'] == 'X509') - ? 'checked="checked"' - : '' - ), - 'disabled' => false, - 'radio' => true - ), - array( - 'name' => 'ssl_type', - 'value' => 'SPECIFIED', - 'description' => '', - 'label' => 'SPECIFIED', - 'checked' => ($specified ? 'checked="checked"' : ''), - 'disabled' => false, - 'radio' => true - ), - array( - 'name' => 'ssl_cipher', - 'value' => (isset($row['ssl_cipher']) - ? htmlspecialchars($row['ssl_cipher']) : '' - ), - 'description' => __( - 'Requires that a specific cipher method be used for a connection.' - ), - 'label' => 'REQUIRE CIPHER', - 'checked' => '', - 'disabled' => ! $specified, - 'radio' => false - ), - array( - 'name' => 'x509_issuer', - 'value' => (isset($row['x509_issuer']) - ? htmlspecialchars($row['x509_issuer']) : '' - ), - 'description' => __( - 'Requires that a valid X509 certificate issued by this CA be presented.' - ), - 'label' => 'REQUIRE ISSUER', - 'checked' => '', - 'disabled' => ! $specified, - 'radio' => false - ), - array( - 'name' => 'x509_subject', - 'value' => (isset($row['x509_subject']) - ? htmlspecialchars($row['x509_subject']) : '' - ), - 'description' => __( - 'Requires that a valid X509 certificate with this subject be presented.' - ), - 'label' => 'REQUIRE SUBJECT', - 'checked' => '', - 'disabled' => ! $specified, - 'radio' => false - ), - ); - - $html_output = Template::get('privileges/require_options') - ->render(array('require_options' => $require_options)); - - return $html_output; -} - -/** - * Get HTML for "Resource limits" - * - * @param array $row first row from result or boolean false - * - * @return string html snippet - */ -function PMA_getHtmlForResourceLimits($row) -{ - $limits = array( - array( - 'input_name' => 'max_questions', - 'name_main' => 'MAX QUERIES PER HOUR', - 'value' => (isset($row['max_questions']) ? $row['max_questions'] : '0'), - 'description' => __( - 'Limits the number of queries the user may send to the server per hour.' - ) - ), - array( - 'input_name' => 'max_updates', - 'name_main' => 'MAX UPDATES PER HOUR', - 'value' => (isset($row['max_updates']) ? $row['max_updates'] : '0'), - 'description' => __( - 'Limits the number of commands that change any table ' - . 'or database the user may execute per hour.' - ) - ), - array( - 'input_name' => 'max_connections', - 'name_main' => 'MAX CONNECTIONS PER HOUR', - 'value' => (isset($row['max_connections']) ? $row['max_connections'] : '0'), - 'description' => __( - 'Limits the number of new connections the user may open per hour.' - ) - ), - array( - 'input_name' => 'max_user_connections', - 'name_main' => 'MAX USER_CONNECTIONS', - 'value' => (isset($row['max_user_connections']) ? - $row['max_user_connections'] : '0'), - 'description' => __( - 'Limits the number of simultaneous connections ' - . 'the user may have.' - ) - ) - ); - - $html_output = Template::get('privileges/resource_limits') - ->render(array('limits' => $limits)); - - $html_output .= '' . "\n"; - - return $html_output; -} - -/** - * Get the HTML snippet for routine specific privileges - * - * @param string $username username for database connection - * @param string $hostname hostname for database connection - * @param string $db the database - * @param string $routine the routine - * @param string $url_dbname url encoded db name - * - * @return string $html_output - */ -function PMA_getHtmlForRoutineSpecificPrivilges( - $username, $hostname, $db, $routine, $url_dbname -) { - $header = PMA_getHtmlHeaderForUserProperties( - false, $url_dbname, $db, $username, $hostname, - $routine, 'routine' - ); - - $sql = "SELECT `Proc_priv`" - . " FROM `mysql`.`procs_priv`" - . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" - . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "'" - . " AND `Db` = '" - . $GLOBALS['dbi']->escapeString(Util::unescapeMysqlWildcards($db)) . "'" - . " AND `Routine_name` LIKE '" . $GLOBALS['dbi']->escapeString($routine) . "';"; - $res = $GLOBALS['dbi']->fetchValue($sql); - - $privs = PMA_parseProcPriv($res); - - $routineArray = array(PMA_getTriggerPrivilegeTable()); - $privTableNames = array(__('Routine')); - $privCheckboxes = PMA_getHtmlForGlobalPrivTableWithCheckboxes( - $routineArray, $privTableNames, $privs - ); - - $data = array( - 'username' => $username, - 'hostname' => $hostname, - 'database' => $db, - 'routine' => $routine, - 'grantCount' => count($privs), - 'privCheckboxes' => $privCheckboxes, - 'header' => $header, - ); - $html_output = Template::get('privileges/edit_routine_privileges') - ->render($data); - - return $html_output; -} - -/** - * Get routine privilege table as an array - * - * @return privilege type array - */ -function PMA_getTriggerPrivilegeTable() -{ - $routinePrivTable = array( - array( - 'Grant', - 'GRANT', - __( - 'Allows user to give to other users or remove from other users ' - . 'privileges that user possess on this routine.' - ) - ), - array( - 'Alter_routine', - 'ALTER ROUTINE', - __('Allows altering and dropping this routine.') - ), - array( - 'Execute', - 'EXECUTE', - __('Allows executing this routine.') - ) - ); - return $routinePrivTable; -} - -/** - * Get the HTML snippet for table specific privileges - * - * @param string $username username for database connection - * @param string $hostname hostname for database connection - * @param string $db the database - * @param string $table the table - * @param array $columns columns array - * @param array $row current privileges row - * - * @return string $html_output - */ -function PMA_getHtmlForTableSpecificPrivileges( - $username, $hostname, $db, $table, $columns, $row -) { - $res = $GLOBALS['dbi']->query( - 'SELECT `Column_name`, `Column_priv`' - . ' FROM `mysql`.`columns_priv`' - . ' WHERE `User`' - . ' = \'' . $GLOBALS['dbi']->escapeString($username) . "'" - . ' AND `Host`' - . ' = \'' . $GLOBALS['dbi']->escapeString($hostname) . "'" - . ' AND `Db`' - . ' = \'' . $GLOBALS['dbi']->escapeString( - Util::unescapeMysqlWildcards($db) - ) . "'" - . ' AND `Table_name`' - . ' = \'' . $GLOBALS['dbi']->escapeString($table) . '\';' - ); - - while ($row1 = $GLOBALS['dbi']->fetchRow($res)) { - $row1[1] = explode(',', $row1[1]); - foreach ($row1[1] as $current) { - $columns[$row1[0]][$current] = true; - } - } - $GLOBALS['dbi']->freeResult($res); - unset($res, $row1, $current); - - $html_output = '' . "\n" - . '' . "\n" - . '
    ' . "\n" - . '' . __('Table-specific privileges') - . '' - . '

    ' - . __('Note: MySQL privilege names are expressed in English.') - . '

    '; - - // privs that are attached to a specific column - $html_output .= PMA_getHtmlForAttachedPrivilegesToTableSpecificColumn( - $columns, $row - ); - - // privs that are not attached to a specific column - $html_output .= '
    ' . "\n" - . PMA_getHtmlForNotAttachedPrivilegesToTableSpecificColumn($row) - . '
    ' . "\n"; - - // for Safari 2.0.2 - $html_output .= '
    ' . "\n"; - - return $html_output; -} - -/** - * Get HTML snippet for privileges that are attached to a specific column - * - * @param array $columns columns array - * @param array $row first row from result or boolean false - * - * @return string $html_output - */ -function PMA_getHtmlForAttachedPrivilegesToTableSpecificColumn($columns, $row) -{ - $html_output = PMA_getHtmlForColumnPrivileges( - $columns, $row, 'Select_priv', 'SELECT', - 'select', __('Allows reading data.'), 'Select' - ); - - $html_output .= PMA_getHtmlForColumnPrivileges( - $columns, $row, 'Insert_priv', 'INSERT', - 'insert', __('Allows inserting and replacing data.'), 'Insert' - ); - - $html_output .= PMA_getHtmlForColumnPrivileges( - $columns, $row, 'Update_priv', 'UPDATE', - 'update', __('Allows changing data.'), 'Update' - ); - - $html_output .= PMA_getHtmlForColumnPrivileges( - $columns, $row, 'References_priv', 'REFERENCES', 'references', - __('Has no effect in this MySQL version.'), 'References' - ); - return $html_output; -} - -/** - * Get HTML for privileges that are not attached to a specific column - * - * @param array $row first row from result or boolean false - * - * @return string $html_output - */ -function PMA_getHtmlForNotAttachedPrivilegesToTableSpecificColumn($row) -{ - $html_output = ''; - - foreach ($row as $current_grant => $current_grant_value) { - $grant_type = substr($current_grant, 0, -5); - if (in_array($grant_type, array('Select', 'Insert', 'Update', 'References')) - ) { - continue; - } - // make a substitution to match the messages variables; - // also we must substitute the grant we get, because we can't generate - // a form variable containing blanks (those would get changed to - // an underscore when receiving the POST) - if ($current_grant == 'Create View_priv') { - $tmp_current_grant = 'CreateView_priv'; - $current_grant = 'Create_view_priv'; - } elseif ($current_grant == 'Show view_priv') { - $tmp_current_grant = 'ShowView_priv'; - $current_grant = 'Show_view_priv'; - } else { - $tmp_current_grant = $current_grant; - } - - $html_output .= '
    ' . "\n" - . '' . "\n"; - - $privGlobalName1 = 'strPrivDesc' - . mb_substr( - $tmp_current_grant, - 0, - - 5 - ); - $html_output .= '' . "\n" - . '
    ' . "\n"; - } // end foreach () - return $html_output; -} - -/** - * Get HTML for global or database specific privileges - * - * @param string $db the database - * @param string $table the table - * @param array $row first row from result or boolean false - * - * @return string $html_output - */ -function PMA_getHtmlForGlobalOrDbSpecificPrivs($db, $table, $row) -{ - $privTable_names = array(0 => __('Data'), - 1 => __('Structure'), - 2 => __('Administration') - ); - $privTable = array(); - // d a t a - $privTable[0] = PMA_getDataPrivilegeTable($db); - - // s t r u c t u r e - $privTable[1] = PMA_getStructurePrivilegeTable($table, $row); - - // a d m i n i s t r a t i o n - $privTable[2] = PMA_getAdministrationPrivilegeTable($db); - - $html_output = ''; - if ($db == '*') { - $legend = __('Global privileges'); - $menu_label = __('Global'); - } else if ($table == '*') { - $legend = __('Database-specific privileges'); - $menu_label = __('Database'); - } else { - $legend = __('Table-specific privileges'); - $menu_label = __('Table'); - } - $html_output .= '
    ' - . '' . $legend - . ' ' - . ' ' - . '' - . '

    ' - . __('Note: MySQL privilege names are expressed in English.') - . '

    '; - - // Output the Global privilege tables with checkboxes - $html_output .= PMA_getHtmlForGlobalPrivTableWithCheckboxes( - $privTable, $privTable_names, $row - ); - - // The "Resource limits" box is not displayed for db-specific privs - if ($db == '*') { - $html_output .= PMA_getHtmlForResourceLimits($row); - $html_output .= PMA_getHtmlForRequires($row); - } - // for Safari 2.0.2 - $html_output .= '
    '; - - return $html_output; -} - -/** - * Get data privilege table as an array - * - * @param string $db the database - * - * @return string data privilege table - */ -function PMA_getDataPrivilegeTable($db) -{ - $data_privTable = array( - array('Select', 'SELECT', __('Allows reading data.')), - array('Insert', 'INSERT', __('Allows inserting and replacing data.')), - array('Update', 'UPDATE', __('Allows changing data.')), - array('Delete', 'DELETE', __('Allows deleting data.')) - ); - if ($db == '*') { - $data_privTable[] - = array('File', - 'FILE', - __('Allows importing data from and exporting data into files.') - ); - } - return $data_privTable; -} - -/** - * Get structure privilege table as an array - * - * @param string $table the table - * @param array $row first row from result or boolean false - * - * @return string structure privilege table - */ -function PMA_getStructurePrivilegeTable($table, $row) -{ - $structure_privTable = array( - array('Create', - 'CREATE', - ($table == '*' - ? __('Allows creating new databases and tables.') - : __('Allows creating new tables.') - ) - ), - array('Alter', - 'ALTER', - __('Allows altering the structure of existing tables.') - ), - array('Index', 'INDEX', __('Allows creating and dropping indexes.')), - array('Drop', - 'DROP', - ($table == '*' - ? __('Allows dropping databases and tables.') - : __('Allows dropping tables.') - ) - ), - array('Create_tmp_table', - 'CREATE TEMPORARY TABLES', - __('Allows creating temporary tables.') - ), - array('Show_view', - 'SHOW VIEW', - __('Allows performing SHOW CREATE VIEW queries.') - ), - array('Create_routine', - 'CREATE ROUTINE', - __('Allows creating stored routines.') - ), - array('Alter_routine', - 'ALTER ROUTINE', - __('Allows altering and dropping stored routines.') - ), - array('Execute', 'EXECUTE', __('Allows executing stored routines.')), - ); - // this one is for a db-specific priv: Create_view_priv - if (isset($row['Create_view_priv'])) { - $structure_privTable[] = array('Create_view', - 'CREATE VIEW', - __('Allows creating new views.') - ); - } - // this one is for a table-specific priv: Create View_priv - if (isset($row['Create View_priv'])) { - $structure_privTable[] = array('Create View', - 'CREATE VIEW', - __('Allows creating new views.') - ); - } - if (isset($row['Event_priv'])) { - // MySQL 5.1.6 - $structure_privTable[] = array('Event', - 'EVENT', - __('Allows to set up events for the event scheduler.') - ); - $structure_privTable[] = array('Trigger', - 'TRIGGER', - __('Allows creating and dropping triggers.') - ); - } - return $structure_privTable; -} - -/** - * Get administration privilege table as an array - * - * @param string $db the table - * - * @return string administration privilege table - */ -function PMA_getAdministrationPrivilegeTable($db) -{ - if ($db == '*') { - $adminPrivTable = array( - array('Grant', - 'GRANT', - __( - 'Allows adding users and privileges ' - . 'without reloading the privilege tables.' - ) - ), - ); - $adminPrivTable[] = array('Super', - 'SUPER', - __( - 'Allows connecting, even if maximum number ' - . 'of connections is reached; required for ' - . 'most administrative operations like ' - . 'setting global variables or killing threads of other users.' - ) - ); - $adminPrivTable[] = array('Process', - 'PROCESS', - __('Allows viewing processes of all users.') - ); - $adminPrivTable[] = array('Reload', - 'RELOAD', - __('Allows reloading server settings and flushing the server\'s caches.') - ); - $adminPrivTable[] = array('Shutdown', - 'SHUTDOWN', - __('Allows shutting down the server.') - ); - $adminPrivTable[] = array('Show_db', - 'SHOW DATABASES', - __('Gives access to the complete list of databases.') - ); - } - else { - $adminPrivTable = array( - array('Grant', - 'GRANT', - __( - 'Allows user to give to other users or remove from other' - . ' users the privileges that user possess yourself.' - ) - ), - ); - } - $adminPrivTable[] = array('Lock_tables', - 'LOCK TABLES', - __('Allows locking tables for the current thread.') - ); - $adminPrivTable[] = array('References', - 'REFERENCES', - __('Has no effect in this MySQL version.') - ); - if ($db == '*') { - $adminPrivTable[] = array('Repl_client', - 'REPLICATION CLIENT', - __('Allows the user to ask where the slaves / masters are.') - ); - $adminPrivTable[] = array('Repl_slave', - 'REPLICATION SLAVE', - __('Needed for the replication slaves.') - ); - $adminPrivTable[] = array('Create_user', - 'CREATE USER', - __('Allows creating, dropping and renaming user accounts.') - ); - } - return $adminPrivTable; -} - -/** - * Get HTML snippet for global privileges table with check boxes - * - * @param array $privTable privileges table array - * @param array $privTable_names names of the privilege tables - * (Data, Structure, Administration) - * @param array $row first row from result or boolean false - * - * @return string $html_output - */ -function PMA_getHtmlForGlobalPrivTableWithCheckboxes( - $privTable, $privTable_names, $row -) { - $html_output = ''; - $html_output = Template::get('privileges/global_priv_table') - ->render( - array( - 'privTable' => $privTable, - 'privTable_names' => $privTable_names, - 'row' => $row - ) - ); - - return $html_output; -} - -/** - * Gets the currently active authentication plugins - * - * @param string $orig_auth_plugin Default Authentication plugin - * @param string $mode are we creating a new user or are we just - * changing one? - * (allowed values: 'new', 'edit', 'change_pw') - * @param string $versions Is MySQL version newer or older than 5.5.7 - * - * @return string $html_output - */ -function PMA_getHtmlForAuthPluginsDropdown( - $orig_auth_plugin, - $mode = 'new', - $versions = 'new' -) { - $select_id = 'select_authentication_plugin' - . ($mode =='change_pw' ? '_cp' : ''); - - if ($versions == 'new') { - $active_auth_plugins = PMA_getActiveAuthPlugins(); - - if (isset($active_auth_plugins['mysql_old_password'])) { - unset($active_auth_plugins['mysql_old_password']); - } - } else { - $active_auth_plugins = array( - 'mysql_native_password' => __('Native MySQL authentication') - ); - } - - $html_output = Util::getDropdown( - 'authentication_plugin', - $active_auth_plugins, - $orig_auth_plugin, - $select_id - ); - - return $html_output; -} - -/** - * Gets the currently active authentication plugins - * - * @return array $result array of plugin names and descriptions - */ -function PMA_getActiveAuthPlugins() -{ - $get_plugins_query = "SELECT `PLUGIN_NAME`, `PLUGIN_DESCRIPTION`" - . " FROM `information_schema`.`PLUGINS` " - . "WHERE `PLUGIN_TYPE` = 'AUTHENTICATION';"; - $resultset = $GLOBALS['dbi']->query($get_plugins_query); - - $result = array(); - - while ($row = $GLOBALS['dbi']->fetchAssoc($resultset)) { - // if description is known, enable its translation - if ('mysql_native_password' == $row['PLUGIN_NAME']) { - $row['PLUGIN_DESCRIPTION'] = __('Native MySQL authentication'); - } elseif ('sha256_password' == $row['PLUGIN_NAME']) { - $row['PLUGIN_DESCRIPTION'] = __('SHA256 password authentication'); - } - - $result[$row['PLUGIN_NAME']] = $row['PLUGIN_DESCRIPTION']; - } - - return $result; -} - -/** - * Displays the fields used by the "new user" form as well as the - * "change login information / copy user" form. - * - * @param string $mode are we creating a new user or are we just - * changing one? (allowed values: 'new', 'change') - * @param string $username User name - * @param string $hostname Host name - * - * @global array $cfg the phpMyAdmin configuration - * @global resource $user_link the database connection - * - * @return string $html_output a HTML snippet - */ -function PMA_getHtmlForLoginInformationFields( - $mode = 'new', - $username = null, - $hostname = null -) { - list($username_length, $hostname_length) = PMA_getUsernameAndHostnameLength(); - - if (isset($GLOBALS['username']) && strlen($GLOBALS['username']) === 0) { - $GLOBALS['pred_username'] = 'any'; - } - $html_output = '
    ' . "\n" - . '' . __('Login Information') . '' . "\n" - . '
    ' . "\n" - . '' . "\n" - . '' . "\n"; - - $html_output .= '' . "\n" - . '' . "\n"; - - $html_output .= '' . "\n"; - - $html_output .= ''; - $html_output .= '
    '; - - $html_output .= '
    ' . "\n" - . '' . "\n"; - - $html_output .= '' . "\n" - . ' ' . "\n" - . '' . "\n"; - - $html_output .= '' . "\n" - . Util::showHint( - __( - 'When Host table is used, this field is ignored ' - . 'and values stored in Host table are used instead.' - ) - ) - . '
    ' . "\n"; - - $html_output .= '
    ' . "\n" - . '' . "\n" - . '' . "\n" - . '' . "\n" - . '' . "\n" - . '' . "\n" - . 'Strength: ' - . ' ' - . '' . "\n" - . '
    ' . "\n"; - - $html_output .= '
    ' . "\n" - . '' . "\n" - . ' ' . "\n" - . '' . "\n" - . '
    ' . "\n" - . '
    ' - . ' ' . "\n"; - - $auth_plugin_dropdown = PMA_getHtmlForAuthPluginsDropdown( - $orig_auth_plugin, $mode, 'new' - ); - } else { - $html_output .= __('Password Hashing Method') - . ' ' . "\n"; - $auth_plugin_dropdown = PMA_getHtmlForAuthPluginsDropdown( - $orig_auth_plugin, $mode, 'old' - ); - } - $html_output .= $auth_plugin_dropdown; - - $html_output .= '
    ' - . Message::notice( - __( - 'This method requires using an \'SSL connection\' ' - . 'or an \'unencrypted connection that encrypts the password ' - . 'using RSA\'; while connecting to the server.' - ) - . Util::showMySQLDocu('sha256-authentication-plugin') - ) - ->getDisplay() - . '
    '; - - $html_output .= '
    ' . "\n" - // Generate password added here via jQuery - . '
    ' . "\n"; - - return $html_output; -} // end of the 'PMA_getHtmlForLoginInformationFields()' function - -/** - * Get username and hostname length - * - * @return array username length and hostname length - */ -function PMA_getUsernameAndHostnameLength() -{ - /* Fallback values */ - $username_length = 16; - $hostname_length = 41; - - /* Try to get real lengths from the database */ - $fields_info = $GLOBALS['dbi']->fetchResult( - 'SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH ' - . 'FROM information_schema.columns ' - . "WHERE table_schema = 'mysql' AND table_name = 'user' " - . "AND COLUMN_NAME IN ('User', 'Host')" - ); - foreach ($fields_info as $val) { - if ($val['COLUMN_NAME'] == 'User') { - $username_length = $val['CHARACTER_MAXIMUM_LENGTH']; - } elseif ($val['COLUMN_NAME'] == 'Host') { - $hostname_length = $val['CHARACTER_MAXIMUM_LENGTH']; - } - } - return array($username_length, $hostname_length); -} - -/** - * Get current authentication plugin in use - for a user or globally - * - * @param string $mode are we creating a new user or are we just - * changing one? (allowed values: 'new', 'change') - * @param string $username User name - * @param string $hostname Host name - * - * @return string authentication plugin in use - */ -function PMA_getCurrentAuthenticationPlugin( - $mode = 'new', - $username = null, - $hostname = null -) { - /* Fallback (standard) value */ - $authentication_plugin = 'mysql_native_password'; - - if (isset($username) && isset($hostname) - && $mode == 'change' - ) { - $row = $GLOBALS['dbi']->fetchSingleRow( - 'SELECT `plugin` FROM `mysql`.`user` WHERE ' - . '`User` = "' . $username . '" AND `Host` = "' . $hostname . '" LIMIT 1' - ); - // Table 'mysql'.'user' may not exist for some previous - // versions of MySQL - in that case consider fallback value - if (isset($row) && $row) { - $authentication_plugin = $row['plugin']; - } - } elseif ($mode == 'change') { - list($username, $hostname) = $GLOBALS['dbi']->getCurrentUserAndHost(); - - $row = $GLOBALS['dbi']->fetchSingleRow( - 'SELECT `plugin` FROM `mysql`.`user` WHERE ' - . '`User` = "' . $username . '" AND `Host` = "' . $hostname . '"' - ); - if (isset($row) && $row && ! empty($row['plugin'])) { - $authentication_plugin = $row['plugin']; - } - } elseif (PMA_MYSQL_INT_VERSION >= 50702) { - $row = $GLOBALS['dbi']->fetchSingleRow( - 'SELECT @@default_authentication_plugin' - ); - $authentication_plugin = $row['@@default_authentication_plugin']; - } - - return $authentication_plugin; -} - -/** - * Returns all the grants for a certain user on a certain host - * Used in the export privileges for all users section - * - * @param string $user User name - * @param string $host Host name - * - * @return string containing all the grants text - */ -function PMA_getGrants($user, $host) -{ - $grants = $GLOBALS['dbi']->fetchResult( - "SHOW GRANTS FOR '" - . $GLOBALS['dbi']->escapeString($user) . "'@'" - . $GLOBALS['dbi']->escapeString($host) . "'" - ); - $response = ''; - foreach ($grants as $one_grant) { - $response .= $one_grant . ";\n\n"; - } - return $response; -} // end of the 'PMA_getGrants()' function - -/** - * Update password and get message for password updating - * - * @param string $err_url error url - * @param string $username username - * @param string $hostname hostname - * - * @return string $message success or error message after updating password - */ -function PMA_updatePassword($err_url, $username, $hostname) -{ - // similar logic in user_password.php - $message = ''; - $is_superuser = $GLOBALS['dbi']->isSuperuser(); - - if (empty($_REQUEST['nopass']) - && isset($_POST['pma_pw']) - && isset($_POST['pma_pw2']) - ) { - if ($_POST['pma_pw'] != $_POST['pma_pw2']) { - $message = Message::error(__('The passwords aren\'t the same!')); - } elseif (empty($_POST['pma_pw']) || empty($_POST['pma_pw2'])) { - $message = Message::error(__('The password is empty!')); - } - } - - // here $nopass could be == 1 - if (empty($message)) { - $hashing_function = 'PASSWORD'; - $serverType = Util::getServerType(); - $authentication_plugin - = (isset($_REQUEST['authentication_plugin']) - ? $_REQUEST['authentication_plugin'] - : PMA_getCurrentAuthenticationPlugin( - 'change', - $username, - $hostname - )); - - // Use 'ALTER USER ...' syntax for MySQL 5.7.6+ - if ($serverType == 'MySQL' - && PMA_MYSQL_INT_VERSION >= 50706 - ) { - if ($authentication_plugin != 'mysql_old_password') { - $query_prefix = "ALTER USER '" - . $GLOBALS['dbi']->escapeString($username) - . "'@'" . $GLOBALS['dbi']->escapeString($hostname) . "'" - . " IDENTIFIED WITH " - . $authentication_plugin - . " BY '"; - } else { - $query_prefix = "ALTER USER '" - . $GLOBALS['dbi']->escapeString($username) - . "'@'" . $GLOBALS['dbi']->escapeString($hostname) . "'" - . " IDENTIFIED BY '"; - } - - // in $sql_query which will be displayed, hide the password - $sql_query = $query_prefix . "*'"; - - $local_query = $query_prefix - . $GLOBALS['dbi']->escapeString($_POST['pma_pw']) . "'"; - } else if ($serverType == 'MariaDB' - && PMA_MYSQL_INT_VERSION >= 50200 - && $is_superuser - ) { - // Use 'UPDATE `mysql`.`user` ...' Syntax for MariaDB 5.2+ - if ($authentication_plugin == 'mysql_native_password') { - // Set the hashing method used by PASSWORD() - // to be 'mysql_native_password' type - $GLOBALS['dbi']->tryQuery('SET old_passwords = 0;'); - - } else if ($authentication_plugin == 'sha256_password') { - // Set the hashing method used by PASSWORD() - // to be 'sha256_password' type - $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 2;'); - } - - $hashedPassword = PMA_getHashedPassword($_POST['pma_pw']); - - $sql_query = 'SET PASSWORD FOR \'' - . $GLOBALS['dbi']->escapeString($username) - . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\' = ' - . (($_POST['pma_pw'] == '') - ? '\'\'' - : $hashing_function . '(\'' - . preg_replace('@.@s', '*', $_POST['pma_pw']) . '\')'); - - $local_query = "UPDATE `mysql`.`user` SET " - . " `authentication_string` = '" . $hashedPassword - . "', `Password` = '', " - . " `plugin` = '" . $authentication_plugin . "'" - . " WHERE `User` = '" . $username . "' AND Host = '" - . $hostname . "';"; - } else { - // USE 'SET PASSWORD ...' syntax for rest of the versions - // Backup the old value, to be reset later - $row = $GLOBALS['dbi']->fetchSingleRow( - 'SELECT @@old_passwords;' - ); - $orig_value = $row['@@old_passwords']; - $update_plugin_query = "UPDATE `mysql`.`user` SET" - . " `plugin` = '" . $authentication_plugin . "'" - . " WHERE `User` = '" . $username . "' AND Host = '" - . $hostname . "';"; - - // Update the plugin for the user - if (!($GLOBALS['dbi']->tryQuery($update_plugin_query))) { - Util::mysqlDie( - $GLOBALS['dbi']->getError(), - $update_plugin_query, - false, $err_url - ); - } - $GLOBALS['dbi']->tryQuery("FLUSH PRIVILEGES;"); - - if ($authentication_plugin == 'mysql_native_password') { - // Set the hashing method used by PASSWORD() - // to be 'mysql_native_password' type - $GLOBALS['dbi']->tryQuery('SET old_passwords = 0;'); - } else if ($authentication_plugin == 'sha256_password') { - // Set the hashing method used by PASSWORD() - // to be 'sha256_password' type - $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 2;'); - } - $sql_query = 'SET PASSWORD FOR \'' - . $GLOBALS['dbi']->escapeString($username) - . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\' = ' - . (($_POST['pma_pw'] == '') - ? '\'\'' - : $hashing_function . '(\'' - . preg_replace('@.@s', '*', $_POST['pma_pw']) . '\')'); - - $local_query = 'SET PASSWORD FOR \'' - . $GLOBALS['dbi']->escapeString($username) - . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\' = ' - . (($_POST['pma_pw'] == '') ? '\'\'' : $hashing_function - . '(\'' . $GLOBALS['dbi']->escapeString($_POST['pma_pw']) . '\')'); - } - - if (!($GLOBALS['dbi']->tryQuery($local_query))) { - Util::mysqlDie( - $GLOBALS['dbi']->getError(), $sql_query, false, $err_url - ); - } - // Flush privileges after successful password change - $GLOBALS['dbi']->tryQuery("FLUSH PRIVILEGES;"); - - $message = Message::success( - __('The password for %s was changed successfully.') - ); - $message->addParam('\'' . $username . '\'@\'' . $hostname . '\''); - if (isset($orig_value)) { - $GLOBALS['dbi']->tryQuery( - 'SET `old_passwords` = ' . $orig_value . ';' - ); - } - } - return $message; -} - -/** - * Revokes privileges and get message and SQL query for privileges revokes - * - * @param string $dbname database name - * @param string $tablename table name - * @param string $username username - * @param string $hostname host name - * @param string $itemType item type - * - * @return array ($message, $sql_query) - */ -function PMA_getMessageAndSqlQueryForPrivilegesRevoke($dbname, - $tablename, $username, $hostname, $itemType -) { - $db_and_table = PMA_wildcardEscapeForGrant($dbname, $tablename); - - $sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $itemType . ' ' . $db_and_table - . ' FROM \'' - . $GLOBALS['dbi']->escapeString($username) . '\'@\'' - . $GLOBALS['dbi']->escapeString($hostname) . '\';'; - - $sql_query1 = 'REVOKE GRANT OPTION ON ' . $itemType . ' ' . $db_and_table - . ' FROM \'' . $GLOBALS['dbi']->escapeString($username) . '\'@\'' - . $GLOBALS['dbi']->escapeString($hostname) . '\';'; - - $GLOBALS['dbi']->query($sql_query0); - if (! $GLOBALS['dbi']->tryQuery($sql_query1)) { - // this one may fail, too... - $sql_query1 = ''; - } - $sql_query = $sql_query0 . ' ' . $sql_query1; - $message = Message::success( - __('You have revoked the privileges for %s.') - ); - $message->addParam('\'' . $username . '\'@\'' . $hostname . '\''); - - return array($message, $sql_query); -} - -/** - * Get REQUIRE cluase - * - * @return string REQUIRE clause - */ -function PMA_getRequireClause() -{ - $arr = isset($_POST['ssl_type']) ? $_POST : $GLOBALS; - if (isset($arr['ssl_type']) && $arr['ssl_type'] == 'SPECIFIED') { - $require = array(); - if (! empty($arr['ssl_cipher'])) { - $require[] = "CIPHER '" - . $GLOBALS['dbi']->escapeString($arr['ssl_cipher']) . "'"; - } - if (! empty($arr['x509_issuer'])) { - $require[] = "ISSUER '" - . $GLOBALS['dbi']->escapeString($arr['x509_issuer']) . "'"; - } - if (! empty($arr['x509_subject'])) { - $require[] = "SUBJECT '" - . $GLOBALS['dbi']->escapeString($arr['x509_subject']) . "'"; - } - if (count($require)) { - $require_clause = " REQUIRE " . implode(" AND ", $require); - } else { - $require_clause = " REQUIRE NONE"; - } - } elseif (isset($arr['ssl_type']) && $arr['ssl_type'] == 'X509') { - $require_clause = " REQUIRE X509"; - } elseif (isset($arr['ssl_type']) && $arr['ssl_type'] == 'ANY') { - $require_clause = " REQUIRE SSL"; - } else { - $require_clause = " REQUIRE NONE"; - } - - return $require_clause; -} - -/** - * Get a WITH clause for 'update privileges' and 'add user' - * - * @return string $sql_query - */ -function PMA_getWithClauseForAddUserAndUpdatePrivs() -{ - $sql_query = ''; - if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y') - || (isset($GLOBALS['Grant_priv']) && $GLOBALS['Grant_priv'] == 'Y') - ) { - $sql_query .= ' GRANT OPTION'; - } - if (isset($_POST['max_questions']) || isset($GLOBALS['max_questions'])) { - $max_questions = isset($_POST['max_questions']) - ? (int)$_POST['max_questions'] : (int)$GLOBALS['max_questions']; - $max_questions = max(0, $max_questions); - $sql_query .= ' MAX_QUERIES_PER_HOUR ' . $max_questions; - } - if (isset($_POST['max_connections']) || isset($GLOBALS['max_connections'])) { - $max_connections = isset($_POST['max_connections']) - ? (int)$_POST['max_connections'] : (int)$GLOBALS['max_connections']; - $max_connections = max(0, $max_connections); - $sql_query .= ' MAX_CONNECTIONS_PER_HOUR ' . $max_connections; - } - if (isset($_POST['max_updates']) || isset($GLOBALS['max_updates'])) { - $max_updates = isset($_POST['max_updates']) - ? (int)$_POST['max_updates'] : (int)$GLOBALS['max_updates']; - $max_updates = max(0, $max_updates); - $sql_query .= ' MAX_UPDATES_PER_HOUR ' . $max_updates; - } - if (isset($_POST['max_user_connections']) - || isset($GLOBALS['max_user_connections']) - ) { - $max_user_connections = isset($_POST['max_user_connections']) - ? (int)$_POST['max_user_connections'] - : (int)$GLOBALS['max_user_connections']; - $max_user_connections = max(0, $max_user_connections); - $sql_query .= ' MAX_USER_CONNECTIONS ' . $max_user_connections; - } - return ((!empty($sql_query)) ? ' WITH' . $sql_query : ''); -} - -/** - * Get HTML for addUsersForm, This function call if isset($_REQUEST['adduser']) - * - * @param string $dbname database name - * - * @return string HTML for addUserForm - */ -function PMA_getHtmlForAddUser($dbname) -{ - $html_output = '

    ' . "\n" - . Util::getIcon('b_usradd.png') . __('Add user account') . "\n" - . '

    ' . "\n" - . '
    ' . "\n" - . URL::getHiddenInputs('', '') - . PMA_getHtmlForLoginInformationFields('new'); - - $html_output .= '
    ' . "\n" - . '' . __('Database for user account') . '' . "\n"; - - $html_output .= Template::get('checkbox') - ->render( - array( - 'html_field_name' => 'createdb-1', - 'label' => __('Create database with same name and grant all privileges.'), - 'checked' => false, - 'onclick' => false, - 'html_field_id' => 'createdb-1', - ) - ); - $html_output .= '
    ' . "\n"; - $html_output .= Template::get('checkbox') - ->render( - array( - 'html_field_name' => 'createdb-2', - 'label' => __('Grant all privileges on wildcard name (username\\_%).'), - 'checked' => false, - 'onclick' => false, - 'html_field_id' => 'createdb-2', - ) - ); - $html_output .= '
    ' . "\n"; - - if (! empty($dbname) ) { - $html_output .= Template::get('checkbox') - ->render( - array( - 'html_field_name' => 'createdb-3', - 'label' => sprintf(__('Grant all privileges on database %s.'), htmlspecialchars($dbname)), - 'checked' => true, - 'onclick' => false, - 'html_field_id' => 'createdb-3', - ) - ); - $html_output .= '' . "\n"; - $html_output .= '
    ' . "\n"; - } - - $html_output .= '
    ' . "\n"; - if ($GLOBALS['is_grantuser']) { - $html_output .= PMA_getHtmlToDisplayPrivilegesTable('*', '*', false); - } - $html_output .= '' . "\n" - . '
    ' . "\n"; - - return $html_output; -} - -/** - * Get the list of privileges and list of compared privileges as strings - * and return a array that contains both strings - * - * @return array $list_of_privileges, $list_of_compared_privileges - */ -function PMA_getListOfPrivilegesAndComparedPrivileges() -{ - $list_of_privileges - = '`User`, ' - . '`Host`, ' - . '`Select_priv`, ' - . '`Insert_priv`, ' - . '`Update_priv`, ' - . '`Delete_priv`, ' - . '`Create_priv`, ' - . '`Drop_priv`, ' - . '`Grant_priv`, ' - . '`Index_priv`, ' - . '`Alter_priv`, ' - . '`References_priv`, ' - . '`Create_tmp_table_priv`, ' - . '`Lock_tables_priv`, ' - . '`Create_view_priv`, ' - . '`Show_view_priv`, ' - . '`Create_routine_priv`, ' - . '`Alter_routine_priv`, ' - . '`Execute_priv`'; - - $listOfComparedPrivs - = '`Select_priv` = \'N\'' - . ' AND `Insert_priv` = \'N\'' - . ' AND `Update_priv` = \'N\'' - . ' AND `Delete_priv` = \'N\'' - . ' AND `Create_priv` = \'N\'' - . ' AND `Drop_priv` = \'N\'' - . ' AND `Grant_priv` = \'N\'' - . ' AND `References_priv` = \'N\'' - . ' AND `Create_tmp_table_priv` = \'N\'' - . ' AND `Lock_tables_priv` = \'N\'' - . ' AND `Create_view_priv` = \'N\'' - . ' AND `Show_view_priv` = \'N\'' - . ' AND `Create_routine_priv` = \'N\'' - . ' AND `Alter_routine_priv` = \'N\'' - . ' AND `Execute_priv` = \'N\''; - - $list_of_privileges .= - ', `Event_priv`, ' - . '`Trigger_priv`'; - $listOfComparedPrivs .= - ' AND `Event_priv` = \'N\'' - . ' AND `Trigger_priv` = \'N\''; - return array($list_of_privileges, $listOfComparedPrivs); -} - -/** - * Get the HTML for routine based privileges - * - * @param string $db database name - * @param string $index_checkbox starting index for rows to be added - * - * @return string $html_output - */ -function PMA_getHtmlTableBodyForSpecificDbRoutinePrivs($db, $index_checkbox) -{ - $sql_query = 'SELECT * FROM `mysql`.`procs_priv` WHERE Db = \'' . $GLOBALS['dbi']->escapeString($db) . '\';'; - $res = $GLOBALS['dbi']->query($sql_query); - $html_output = ''; - while ($row = $GLOBALS['dbi']->fetchAssoc($res)) { - - $html_output .= '
    ' . htmlspecialchars($row['User']) - . '' . htmlspecialchars($row['Host']) - . '' . 'routine' - . '' . '' . htmlspecialchars($row['Routine_name']) . '' - . '' . 'Yes' - . ''; - if ($GLOBALS['is_grantuser']) { - $specific_db = (isset($row['Db']) && $row['Db'] != '*') - ? $row['Db'] : ''; - $specific_table = (isset($row['Table_name']) - && $row['Table_name'] != '*') - ? $row['Table_name'] : ''; - $html_output .= PMA_getUserLink( - 'edit', - $current_user, - $current_host, - $specific_db, - $specific_table, - $routine - ); - } - $html_output .= '
    '; - $html_output .= PMA_getHtmlForPrivsTableHead(); - $privMap = PMA_getPrivMap($db); - $html_output .= PMA_getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db); - $html_output .= '
    '; - - $html_output .= '
    '; - $html_output .= Template::get('select_all') - ->render( - array( - 'pmaThemeImage' => $GLOBALS['pmaThemeImage'], - 'text_dir' => $GLOBALS['text_dir'], - 'formName' => "usersForm", - ) - ); - $html_output .= Util::getButtonOrImage( - 'submit_mult', 'mult_submit', - __('Export'), 'b_tblexport.png', 'export' - ); - - $html_output .= '
    '; - $html_output .= ''; - } else { - $html_output .= PMA_getHtmlForViewUsersError(); - } - - $response = Response::getInstance(); - if ($response->isAjax() == true - && empty($_REQUEST['ajax_page_request']) - ) { - $message = Message::success(__('User has been added.')); - $response->addJSON('message', $message); - $response->addJSON('user_form', $html_output); - exit; - } else { - // Offer to create a new user for the current database - $html_output .= PMA_getAddUserHtmlFieldset($db); - } - return $html_output; -} - -/** - * Get the HTML for user form and check the privileges for a particular table. - * - * @param string $db database name - * @param string $table table name - * - * @return string $html_output - */ -function PMA_getHtmlForSpecificTablePrivileges($db, $table) -{ - $html_output = ''; - if ($GLOBALS['is_superuser']) { - // check the privileges for a particular table. - $html_output = '
    '; - $html_output .= URL::getHiddenInputs($db, $table); - $html_output .= '
    '; - $html_output .= '' - . Util::getIcon('b_usrcheck.png') - . sprintf( - __('Users having access to "%s"'), - '' - . htmlspecialchars($db) . '.' . htmlspecialchars($table) - . '' - ) - . ''; - - $html_output .= ''; - $html_output .= PMA_getHtmlForPrivsTableHead(); - $privMap = PMA_getPrivMap($db); - $sql_query = "SELECT `User`, `Host`, `Db`," - . " 't' AS `Type`, `Table_name`, `Table_priv`" - . " FROM `mysql`.`tables_priv`" - . " WHERE '" . $GLOBALS['dbi']->escapeString($db) . "' LIKE `Db`" - . " AND '" . $GLOBALS['dbi']->escapeString($table) . "' LIKE `Table_name`" - . " AND NOT (`Table_priv` = '' AND Column_priv = '')" - . " ORDER BY `User` ASC, `Host` ASC, `Db` ASC, `Table_priv` ASC;"; - $res = $GLOBALS['dbi']->query($sql_query); - PMA_mergePrivMapFromResult($privMap, $res); - $html_output .= PMA_getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db); - $html_output .= '
    '; - - $html_output .= '
    '; - $html_output .= Template::get('select_all') - ->render( - array( - 'pmaThemeImage' => $GLOBALS['pmaThemeImage'], - 'text_dir' => $GLOBALS['text_dir'], - 'formName' => "usersForm", - ) - ); - $html_output .= Util::getButtonOrImage( - 'submit_mult', 'mult_submit', - __('Export'), 'b_tblexport.png', 'export' - ); - - $html_output .= '
    '; - $html_output .= '
    '; - } else { - $html_output .= PMA_getHtmlForViewUsersError(); - } - // Offer to create a new user for the current database - $html_output .= PMA_getAddUserHtmlFieldset($db, $table); - return $html_output; -} - -/** - * gets privilege map - * - * @param string $db the database - * - * @return array $privMap the privilege map - */ -function PMA_getPrivMap($db) -{ - list($listOfPrivs, $listOfComparedPrivs) - = PMA_getListOfPrivilegesAndComparedPrivileges(); - $sql_query - = "(" - . " SELECT " . $listOfPrivs . ", '*' AS `Db`, 'g' AS `Type`" - . " FROM `mysql`.`user`" - . " WHERE NOT (" . $listOfComparedPrivs . ")" - . ")" - . " UNION " - . "(" - . " SELECT " . $listOfPrivs . ", `Db`, 'd' AS `Type`" - . " FROM `mysql`.`db`" - . " WHERE '" . $GLOBALS['dbi']->escapeString($db) . "' LIKE `Db`" - . " AND NOT (" . $listOfComparedPrivs . ")" - . ")" - . " ORDER BY `User` ASC, `Host` ASC, `Db` ASC;"; - $res = $GLOBALS['dbi']->query($sql_query); - $privMap = array(); - PMA_mergePrivMapFromResult($privMap, $res); - return $privMap; -} - -/** - * merge privilege map and rows from resultset - * - * @param array &$privMap the privilege map reference - * @param object $result the resultset of query - * - * @return void - */ -function PMA_mergePrivMapFromResult(&$privMap, $result) -{ - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $user = $row['User']; - $host = $row['Host']; - if (! isset($privMap[$user])) { - $privMap[$user] = array(); - } - if (! isset($privMap[$user][$host])) { - $privMap[$user][$host] = array(); - } - $privMap[$user][$host][] = $row; - } -} - -/** - * Get HTML snippet for privileges table head - * - * @return string $html_output - */ -function PMA_getHtmlForPrivsTableHead() -{ - return '' - . '' - . '' - . '' . __('User name') . '' - . '' . __('Host name') . '' - . '' . __('Type') . '' - . '' . __('Privileges') . '' - . '' . __('Grant') . '' - . '' . __('Action') . '' - . '' - . ''; -} - -/** - * Get HTML error for View Users form - * For non superusers such as grant/create users - * - * @return string $html_output - */ -function PMA_getHtmlForViewUsersError() -{ - return Message::error( - __('Not enough privilege to view users.') - )->getDisplay(); -} - -/** - * Get HTML snippet for table body of specific database or table privileges - * - * @param array $privMap privilege map - * @param string $db database - * - * @return string $html_output - */ -function PMA_getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db) -{ - $html_output = ''; - $index_checkbox = 0; - if (empty($privMap)) { - $html_output .= '' - . '' - . __('No user found.') - . '' - . '' - . ''; - return $html_output; - } - - foreach ($privMap as $current_user => $val) { - foreach ($val as $current_host => $current_privileges) { - $nbPrivileges = count($current_privileges); - $html_output .= ''; - - $value = htmlspecialchars($current_user . '&#27;' . $current_host); - $html_output .= ' 1) { - $html_output .= ' rowspan="' . $nbPrivileges . '"'; - } - $html_output .= '>'; - $html_output .= '' . "\n"; - - // user - $html_output .= ' 1) { - $html_output .= ' rowspan="' . $nbPrivileges . '"'; - } - $html_output .= '>'; - if (empty($current_user)) { - $html_output .= '' - . __('Any') . ''; - } else { - $html_output .= htmlspecialchars($current_user); - } - $html_output .= ''; - - // host - $html_output .= ' 1) { - $html_output .= ' rowspan="' . $nbPrivileges . '"'; - } - $html_output .= '>'; - $html_output .= htmlspecialchars($current_host); - $html_output .= ''; - - $html_output .= PMA_getHtmlListOfPrivs( - $db, $current_privileges, $current_user, - $current_host - ); - } - } - - //For fetching routine based privileges - $html_output .= PMA_getHtmlTableBodyForSpecificDbRoutinePrivs($db, $index_checkbox); - $html_output .= ''; - - return $html_output; -} - -/** - * Get HTML to display privileges - * - * @param string $db Database name - * @param array $current_privileges List of privileges - * @param string $current_user Current user - * @param string $current_host Current host - * - * @return string HTML to display privileges - */ -function PMA_getHtmlListOfPrivs( - $db, $current_privileges, $current_user, - $current_host -) { - $nbPrivileges = count($current_privileges); - $html_output = null; - for ($i = 0; $i < $nbPrivileges; $i++) { - $current = $current_privileges[$i]; - - // type - $html_output .= ''; - if ($current['Type'] == 'g') { - $html_output .= __('global'); - } elseif ($current['Type'] == 'd') { - if ($current['Db'] == Util::escapeMysqlWildcards($db)) { - $html_output .= __('database-specific'); - } else { - $html_output .= __('wildcard') . ': ' - . '' - . htmlspecialchars($current['Db']) - . ''; - } - } elseif ($current['Type'] == 't') { - $html_output .= __('table-specific'); - } - $html_output .= ''; - - // privileges - $html_output .= ''; - if (isset($current['Table_name'])) { - $privList = explode(',', $current['Table_priv']); - $privs = array(); - $grantsArr = PMA_getTableGrantsArray(); - foreach ($grantsArr as $grant) { - $privs[$grant[0]] = 'N'; - foreach ($privList as $priv) { - if ($grant[0] == $priv) { - $privs[$grant[0]] = 'Y'; - } - } - } - $html_output .= '' - . join( - ',', - PMA_extractPrivInfo($privs, true, true) - ) - . ''; - } else { - $html_output .= '' - . join( - ',', - PMA_extractPrivInfo($current, true, false) - ) - . ''; - } - $html_output .= ''; - - // grant - $html_output .= ''; - $containsGrant = false; - if (isset($current['Table_name'])) { - $privList = explode(',', $current['Table_priv']); - foreach ($privList as $priv) { - if ($priv == 'Grant') { - $containsGrant = true; - } - } - } else { - $containsGrant = $current['Grant_priv'] == 'Y'; - } - $html_output .= ($containsGrant ? __('Yes') : __('No')); - $html_output .= ''; - - // action - $html_output .= ''; - if ($GLOBALS['is_grantuser']) { - $specific_db = (isset($current['Db']) && $current['Db'] != '*') - ? $current['Db'] : ''; - $specific_table = (isset($current['Table_name']) - && $current['Table_name'] != '*') - ? $current['Table_name'] : ''; - $html_output .= PMA_getUserLink( - 'edit', - $current_user, - $current_host, - $specific_db, - $specific_table - ); - } - $html_output .= ''; - - $html_output .= ''; - if (($i + 1) < $nbPrivileges) { - $html_output .= ''; - } - } - return $html_output; -} - -/** - * Returns edit, revoke or export link for a user. - * - * @param string $linktype The link type (edit | revoke | export) - * @param string $username User name - * @param string $hostname Host name - * @param string $dbname Database name - * @param string $tablename Table name - * @param string $routinename Routine name - * @param string $initial Initial value - * - * @return string HTML code with link - */ -function PMA_getUserLink( - $linktype, $username, $hostname, $dbname = '', - $tablename = '', $routinename = '', $initial = '' -) { - $html = ' $username, - 'hostname' => $hostname - ); - switch($linktype) { - case 'edit': - $params['dbname'] = $dbname; - $params['tablename'] = $tablename; - $params['routinename'] = $routinename; - break; - case 'revoke': - $params['dbname'] = $dbname; - $params['tablename'] = $tablename; - $params['routinename'] = $routinename; - $params['revokeall'] = 1; - break; - case 'export': - $params['initial'] = $initial; - $params['export'] = 1; - break; - } - - $html .= ' href="server_privileges.php' - . URL::getCommon($params) - . '">'; - - switch($linktype) { - case 'edit': - $html .= Util::getIcon('b_usredit.png', __('Edit privileges')); - break; - case 'revoke': - $html .= Util::getIcon('b_usrdrop.png', __('Revoke')); - break; - case 'export': - $html .= Util::getIcon('b_tblexport.png', __('Export')); - break; - } - $html .= ''; - - return $html; -} - -/** - * Returns user group edit link - * - * @param string $username User name - * - * @return string HTML code with link - */ -function PMA_getUserGroupEditLink($username) -{ - return '' - . Util::getIcon('b_usrlist.png', __('Edit user group')) - . ''; -} - -/** - * Returns number of defined user groups - * - * @return integer $user_group_count - */ -function PMA_getUserGroupCount() -{ - $cfgRelation = PMA_getRelationsParam(); - $user_group_table = Util::backquote($cfgRelation['db']) - . '.' . Util::backquote($cfgRelation['usergroups']); - $sql_query = 'SELECT COUNT(*) FROM ' . $user_group_table; - $user_group_count = $GLOBALS['dbi']->fetchValue( - $sql_query, 0, 0, $GLOBALS['controllink'] - ); - - return $user_group_count; -} - -/** - * Returns name of user group that user is part of - * - * @param string $username User name - * - * @return mixed usergroup if found or null if not found - */ -function PMA_getUserGroupForUser($username) -{ - $cfgRelation = PMA_getRelationsParam(); - - if (empty($cfgRelation['db']) - || empty($cfgRelation['users']) - ) { - return null; - } - - $user_table = Util::backquote($cfgRelation['db']) - . '.' . Util::backquote($cfgRelation['users']); - $sql_query = 'SELECT `usergroup` FROM ' . $user_table - . ' WHERE `username` = \'' . $username . '\'' - . ' LIMIT 1'; - - $usergroup = $GLOBALS['dbi']->fetchValue( - $sql_query, 0, 0, $GLOBALS['controllink'] - ); - - if ($usergroup === false) { - return null; - } - - return $usergroup; -} - -/** - * This function return the extra data array for the ajax behavior - * - * @param string $password password - * @param string $sql_query sql query - * @param string $hostname hostname - * @param string $username username - * - * @return array $extra_data - */ -function PMA_getExtraDataForAjaxBehavior( - $password, $sql_query, $hostname, $username -) { - if (isset($GLOBALS['dbname'])) { - //if (preg_match('/\\\\(?:_|%)/i', $dbname)) { - if (preg_match('/(? 0) { - $extra_data['sql_query'] = Util::getMessage(null, $sql_query); - } - - if (isset($_REQUEST['change_copy'])) { - /** - * generate html on the fly for the new user that was just created. - */ - $new_user_string = '' . "\n" - . ' ' - . '' . "\n" - . '' . "\n" - . '' . htmlspecialchars($hostname) . '' . "\n"; - - $new_user_string .= ''; - - if (! empty($password) || isset($_POST['pma_pw'])) { - $new_user_string .= __('Yes'); - } else { - $new_user_string .= '' - . __('No') - . ''; - }; - - $new_user_string .= '' . "\n"; - $new_user_string .= '' - . '' . join(', ', PMA_extractPrivInfo(null, true)) . '' - . ''; //Fill in privileges here - - // if $cfg['Servers'][$i]['users'] and $cfg['Servers'][$i]['usergroups'] are - // enabled - $cfgRelation = PMA_getRelationsParam(); - if (!empty($cfgRelation['users']) && !empty($cfgRelation['usergroups'])) { - $new_user_string .= ''; - } - - $new_user_string .= ''; - if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y')) { - $new_user_string .= __('Yes'); - } else { - $new_user_string .= __('No'); - } - $new_user_string .=''; - - if ($GLOBALS['is_grantuser']) { - $new_user_string .= '' - . PMA_getUserLink('edit', $username, $hostname) - . '' . "\n"; - } - - if ($cfgRelation['menuswork'] && $user_group_count > 0) { - $new_user_string .= '' - . PMA_getUserGroupEditLink($username) - . '' . "\n"; - } - - $new_user_string .= '' - . PMA_getUserLink( - 'export', - $username, - $hostname, - '', - '', - '', - isset($_GET['initial']) ? $_GET['initial'] : '' - ) - . '' . "\n"; - - $new_user_string .= ''; - - $extra_data['new_user_string'] = $new_user_string; - - /** - * Generate the string for this alphabet's initial, to update the user - * pagination - */ - $new_user_initial = mb_strtoupper( - mb_substr($username, 0, 1) - ); - $newUserInitialString = '' - . $new_user_initial . ''; - $extra_data['new_user_initial'] = $new_user_initial; - $extra_data['new_user_initial_string'] = $newUserInitialString; - } - - if (isset($_POST['update_privs'])) { - $extra_data['db_specific_privs'] = false; - $extra_data['db_wildcard_privs'] = false; - if (isset($dbname_is_wildcard)) { - $extra_data['db_specific_privs'] = ! $dbname_is_wildcard; - $extra_data['db_wildcard_privs'] = $dbname_is_wildcard; - } - $new_privileges = join(', ', PMA_extractPrivInfo(null, true)); - - $extra_data['new_privileges'] = $new_privileges; - } - - if (isset($_REQUEST['validate_username'])) { - $sql_query = "SELECT * FROM `mysql`.`user` WHERE `User` = '" - . $_REQUEST['username'] . "';"; - $res = $GLOBALS['dbi']->query($sql_query); - $row = $GLOBALS['dbi']->fetchRow($res); - if (empty($row)) { - $extra_data['user_exists'] = false; - } else { - $extra_data['user_exists'] = true; - } - } - - return $extra_data; -} - -/** - * Get the HTML snippet for change user login information - * - * @param string $username username - * @param string $hostname host name - * - * @return string HTML snippet - */ -function PMA_getChangeLoginInformationHtmlForm($username, $hostname) -{ - $choices = array( - '4' => __('… keep the old one.'), - '1' => __('… delete the old one from the user tables.'), - '2' => __( - '… revoke all active privileges from ' - . 'the old one and delete it afterwards.' - ), - '3' => __( - '… delete the old one from the user tables ' - . 'and reload the privileges afterwards.' - ) - ); - - $html_output = '' . "\n"; - - return $html_output; -} - -/** - * Provide a line with links to the relevant database and table - * - * @param string $url_dbname url database name that urlencode() string - * @param string $dbname database name - * @param string $tablename table name - * - * @return string HTML snippet - */ -function PMA_getLinkToDbAndTable($url_dbname, $dbname, $tablename) -{ - $html_output = '[ ' . __('Database') - . ' ' - . htmlspecialchars($dbname) . ': ' - . Util::getTitleForTarget( - $GLOBALS['cfg']['DefaultTabDatabase'] - ) - . " ]\n"; - - if (strlen($tablename) > 0) { - $html_output .= ' [ ' . __('Table') . ' ' . htmlspecialchars($tablename) . ': ' - . Util::getTitleForTarget( - $GLOBALS['cfg']['DefaultTabTable'] - ) - . " ]\n"; - } - return $html_output; -} - -/** - * no db name given, so we want all privs for the given user - * db name was given, so we want all user specific rights for this db - * So this function returns user rights as an array - * - * @param string $username username - * @param string $hostname host name - * @param string $type database or table - * @param string $dbname database name - * - * @return array $db_rights database rights - */ -function PMA_getUserSpecificRights($username, $hostname, $type, $dbname = '') -{ - $user_host_condition = " WHERE `User`" - . " = '" . $GLOBALS['dbi']->escapeString($username) . "'" - . " AND `Host`" - . " = '" . $GLOBALS['dbi']->escapeString($hostname) . "'"; - - if ($type == 'database') { - $tables_to_search_for_users = array( - 'tables_priv', 'columns_priv', 'procs_priv' - ); - $dbOrTableName = 'Db'; - } elseif ($type == 'table') { - $user_host_condition .= " AND `Db` LIKE '" - . $GLOBALS['dbi']->escapeString($dbname) . "'"; - $tables_to_search_for_users = array('columns_priv',); - $dbOrTableName = 'Table_name'; - } else { // routine - $user_host_condition .= " AND `Db` LIKE '" - . $GLOBALS['dbi']->escapeString($dbname) . "'"; - $tables_to_search_for_users = array('procs_priv',); - $dbOrTableName = 'Routine_name'; - } - - // we also want privileges for this user not in table `db` but in other table - $tables = $GLOBALS['dbi']->fetchResult('SHOW TABLES FROM `mysql`;'); - - $db_rights_sqls = array(); - foreach ($tables_to_search_for_users as $table_search_in) { - if (in_array($table_search_in, $tables)) { - $db_rights_sqls[] = ' - SELECT DISTINCT `' . $dbOrTableName . '` - FROM `mysql`.' . Util::backquote($table_search_in) - . $user_host_condition; - } - } - - $user_defaults = array( - $dbOrTableName => '', - 'Grant_priv' => 'N', - 'privs' => array('USAGE'), - 'Column_priv' => true, - ); - - // for the rights - $db_rights = array(); - - $db_rights_sql = '(' . implode(') UNION (', $db_rights_sqls) . ')' - . ' ORDER BY `' . $dbOrTableName . '` ASC'; - - $db_rights_result = $GLOBALS['dbi']->query($db_rights_sql); - - while ($db_rights_row = $GLOBALS['dbi']->fetchAssoc($db_rights_result)) { - $db_rights_row = array_merge($user_defaults, $db_rights_row); - if ($type == 'database') { - // only Db names in the table `mysql`.`db` uses wildcards - // as we are in the db specific rights display we want - // all db names escaped, also from other sources - $db_rights_row['Db'] = Util::escapeMysqlWildcards( - $db_rights_row['Db'] - ); - } - $db_rights[$db_rights_row[$dbOrTableName]] = $db_rights_row; - } - - $GLOBALS['dbi']->freeResult($db_rights_result); - - if ($type == 'database') { - $sql_query = 'SELECT * FROM `mysql`.`db`' - . $user_host_condition . ' ORDER BY `Db` ASC'; - } elseif ($type == 'table') { - $sql_query = 'SELECT `Table_name`,' - . ' `Table_priv`,' - . ' IF(`Column_priv` = _latin1 \'\', 0, 1)' - . ' AS \'Column_priv\'' - . ' FROM `mysql`.`tables_priv`' - . $user_host_condition - . ' ORDER BY `Table_name` ASC;'; - } else { - $sql_query = "SELECT `Routine_name`, `Proc_priv`" - . " FROM `mysql`.`procs_priv`" - . $user_host_condition - . " ORDER BY `Routine_name`"; - - } - - $result = $GLOBALS['dbi']->query($sql_query); - - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - if (isset($db_rights[$row[$dbOrTableName]])) { - $db_rights[$row[$dbOrTableName]] - = array_merge($db_rights[$row[$dbOrTableName]], $row); - } else { - $db_rights[$row[$dbOrTableName]] = $row; - } - if ($type == 'database') { - // there are db specific rights for this user - // so we can drop this db rights - $db_rights[$row['Db']]['can_delete'] = true; - } - } - $GLOBALS['dbi']->freeResult($result); - return $db_rights; -} - -/** - * Parses Proc_priv data - * - * @param string $privs Proc_priv - * - * @return array - */ -function PMA_parseProcPriv($privs) -{ - $result = array( - 'Alter_routine_priv' => 'N', - 'Execute_priv' => 'N', - 'Grant_priv' => 'N', - ); - foreach (explode(',', $privs) as $priv) { - if ($priv == 'Alter Routine') { - $result['Alter_routine_priv'] = 'Y'; - } else { - $result[$priv . '_priv'] = 'Y'; - } - } - return $result; -} - -/** - * Get a HTML table for display user's tabel specific or database specific rights - * - * @param string $username username - * @param string $hostname host name - * @param string $type database, table or routine - * @param string $dbname database name - * - * @return array $html_output - */ -function PMA_getHtmlForAllTableSpecificRights( - $username, $hostname, $type, $dbname = '' -) { - $uiData = array( - 'database' => array( - 'formId' => 'database_specific_priv', - 'subMenuLabel' => __('Database'), - 'legend' => __('Database-specific privileges'), - 'typeLabel' => __('Database'), - ), - 'table' => array( - 'formId' => 'table_specific_priv', - 'subMenuLabel' => __('Table'), - 'legend' => __('Table-specific privileges'), - 'typeLabel' => __('Table'), - ), - 'routine' => array( - 'formId' => 'routine_specific_priv', - 'subMenuLabel' => __('Routine'), - 'legend' => __('Routine-specific privileges'), - 'typeLabel' => __('Routine'), - ), - ); - - /** - * no db name given, so we want all privs for the given user - * db name was given, so we want all user specific rights for this db - */ - $db_rights = PMA_getUserSpecificRights($username, $hostname, $type, $dbname); - ksort($db_rights); - - $foundRows = array(); - $privileges = array(); - foreach ($db_rights as $row) { - $onePrivilege = array(); - - $paramTableName = ''; - $paramRoutineName = ''; - - if ($type == 'database') { - $name = $row['Db']; - $onePrivilege['grant'] = $row['Grant_priv'] == 'Y'; - $onePrivilege['tablePrivs'] = ! empty($row['Table_priv']) - || ! empty($row['Column_priv']); - $onePrivilege['privileges'] = join(',', PMA_extractPrivInfo($row, true)); - - $paramDbName = $row['Db']; - - } elseif ($type == 'table') { - $name = $row['Table_name']; - $onePrivilege['grant'] = in_array( - 'Grant', - explode(',', $row['Table_priv']) - ); - $onePrivilege['columnPrivs'] = ! empty($row['Column_priv']); - $onePrivilege['privileges'] = join(',', PMA_extractPrivInfo($row, true)); - - $paramDbName = $dbname; - $paramTableName = $row['Table_name']; - - } else { // routine - $name = $row['Routine_name']; - $onePrivilege['grant'] = in_array( - 'Grant', - explode(',', $row['Proc_priv']) - ); - - $privs = PMA_parseProcPriv($row['Proc_priv']); - $onePrivilege['privileges'] = join( - ',', - PMA_extractPrivInfo($privs, true) - ); - - $paramDbName = $dbname; - $paramRoutineName = $row['Routine_name']; - } - - $foundRows[] = $name; - $onePrivilege['name'] = $name; - - $onePrivilege['editLink'] = ''; - if ($GLOBALS['is_grantuser']) { - $onePrivilege['editLink'] = PMA_getUserLink( - 'edit', - $username, - $hostname, - $paramDbName, - $paramTableName, - $paramRoutineName - ); - } - - $onePrivilege['revokeLink'] = ''; - if ($type != 'database' || ! empty($row['can_delete'])) { - $onePrivilege['revokeLink'] = PMA_getUserLink( - 'revoke', - $username, - $hostname, - $paramDbName, - $paramTableName, - $paramRoutineName - ); - } - - $privileges[] = $onePrivilege; - } - - $data = $uiData[$type]; - $data['privileges'] = $privileges; - $data['userName'] = $username; - $data['hostName'] = $hostname; - $data['database'] = $dbname; - $data['type'] = $type; - - if ($type == 'database') { - - // we already have the list of databases from libraries/common.inc.php - // via $pma = new PMA; - $pred_db_array = $GLOBALS['dblist']->databases; - $databases_to_skip = array('information_schema', 'performance_schema'); - - $databases = array(); - if (! empty($pred_db_array)) { - foreach ($pred_db_array as $current_db) { - if (in_array($current_db, $databases_to_skip)) { - continue; - } - $current_db_escaped = Util::escapeMysqlWildcards($current_db); - // cannot use array_diff() once, outside of the loop, - // because the list of databases has special characters - // already escaped in $foundRows, - // contrary to the output of SHOW DATABASES - if (! in_array($current_db_escaped, $foundRows)) { - $databases[] = $current_db; - } - } - } - $data['databases'] = $databases; - - } elseif ($type == 'table') { - $result = @$GLOBALS['dbi']->tryQuery( - "SHOW TABLES FROM " . Util::backquote($dbname), - null, - DatabaseInterface::QUERY_STORE - ); - - $tables = array(); - if ($result) { - while ($row = $GLOBALS['dbi']->fetchRow($result)) { - if (! in_array($row[0], $foundRows)) { - $tables[] = $row[0]; - } - } - $GLOBALS['dbi']->freeResult($result); - } - $data['tables'] = $tables; - - } else { // routine - $routineData = $GLOBALS['dbi']->getRoutines($dbname); - - $routines = array(); - foreach ($routineData as $routine) { - if (! in_array($routine['name'], $foundRows)) { - $routines[] = $routine['name']; - } - } - $data['routines'] = $routines; - } - - $html_output = Template::get('privileges/privileges_summary') - ->render($data); - - return $html_output; -} - -/** - * Get HTML for display the users overview - * (if less than 50 users, display them immediately) - * - * @param array $result ran sql query - * @param array $db_rights user's database rights array - * @param string $pmaThemeImage a image source link - * @param string $text_dir text directory - * - * @return string HTML snippet - */ -function PMA_getUsersOverview($result, $db_rights, $pmaThemeImage, $text_dir) -{ - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $row['privs'] = PMA_extractPrivInfo($row, true); - $db_rights[$row['User']][$row['Host']] = $row; - } - $GLOBALS['dbi']->freeResult($result); - $user_group_count = 0; - if ($GLOBALS['cfgRelation']['menuswork']) { - $user_group_count = PMA_getUserGroupCount(); - } - - $html_output - = '
    ' . "\n" - . URL::getHiddenInputs('', '') - . '' . "\n" - . '' . "\n" - . '' . "\n" - . '' . "\n" - . '' . "\n" - . '' . "\n" - . '' . "\n"; - if ($GLOBALS['cfgRelation']['menuswork']) { - $html_output .= '' . "\n"; - } - $html_output .= '' . "\n" - . '' . "\n" - . '' . "\n" - . '' . "\n"; - - $html_output .= '' . "\n"; - $html_output .= PMA_getHtmlTableBodyForUserRights($db_rights); - $html_output .= '' - . '
    ' . __('User name') . '' . __('Host name') . '' . __('Password') . '' . __('Global privileges') . ' ' - . Util::showHint( - __('Note: MySQL privilege names are expressed in English.') - ) - . '' . __('User group') . '' . __('Grant') . '' - . __('Action') . '
    ' . "\n"; - - $html_output .= '
    ' - . Template::get('select_all') - ->render( - array( - 'pmaThemeImage' => $pmaThemeImage, - 'text_dir' => $text_dir, - 'formName' => 'usersForm', - ) - ) . "\n"; - $html_output .= Util::getButtonOrImage( - 'submit_mult', 'mult_submit', - __('Export'), 'b_tblexport.png', 'export' - ); - $html_output .= ''; - $html_output .= '
    ' - . '
    '; - - // add/delete user fieldset - $html_output .= PMA_getFieldsetForAddDeleteUser(); - $html_output .= '
    ' . "\n"; - - return $html_output; -} - -/** - * Get table body for 'tableuserrights' table in userform - * - * @param array $db_rights user's database rights array - * - * @return string HTML snippet - */ -function PMA_getHtmlTableBodyForUserRights($db_rights) -{ - $cfgRelation = PMA_getRelationsParam(); - if ($cfgRelation['menuswork']) { - $users_table = Util::backquote($cfgRelation['db']) - . "." . Util::backquote($cfgRelation['users']); - $sql_query = 'SELECT * FROM ' . $users_table; - $result = PMA_queryAsControlUser($sql_query, false); - $group_assignment = array(); - if ($result) { - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $group_assignment[$row['username']] = $row['usergroup']; - } - } - $GLOBALS['dbi']->freeResult($result); - - $user_group_count = PMA_getUserGroupCount(); - } - - $index_checkbox = 0; - $html_output = ''; - foreach ($db_rights as $user) { - ksort($user); - foreach ($user as $host) { - $index_checkbox++; - $html_output .= '' - . "\n"; - $html_output .= '' - . '' . "\n"; - - $html_output .= '' . "\n" - . '' . htmlspecialchars($host['Host']) . '' . "\n"; - - $html_output .= ''; - - $password_column = 'Password'; - - $check_plugin_query = "SELECT * FROM `mysql`.`user` WHERE " - . "`User` = '" . $host['User'] . "' AND `Host` = '" - . $host['Host'] . "'"; - $res = $GLOBALS['dbi']->fetchSingleRow($check_plugin_query); - - if ((isset($res['authentication_string']) - && ! empty($res['authentication_string'])) - || (isset($res['Password']) - && ! empty($res['Password'])) - ) { - $host[$password_column] = 'Y'; - } else { - $host[$password_column] = 'N'; - } - - switch ($host[$password_column]) { - case 'Y': - $html_output .= __('Yes'); - break; - case 'N': - $html_output .= '' . __('No') - . ''; - break; - // this happens if this is a definition not coming from mysql.user - default: - $html_output .= '--'; // in future version, replace by "not present" - break; - } // end switch - - $html_output .= '' . "\n"; - - $html_output .= '' . "\n" - . '' . implode(',' . "\n" . ' ', $host['privs']) . "\n" - . '' . "\n"; - if ($cfgRelation['menuswork']) { - $html_output .= '' . "\n" - . (isset($group_assignment[$host['User']]) - ? htmlspecialchars($group_assignment[$host['User']]) - : '' - ) - . '' . "\n"; - } - $html_output .= '' - . ($host['Grant_priv'] == 'Y' ? __('Yes') : __('No')) - . '' . "\n"; - - if ($GLOBALS['is_grantuser']) { - $html_output .= '' - . PMA_getUserLink( - 'edit', - $host['User'], - $host['Host'] - ) - . ''; - } - if ($cfgRelation['menuswork'] && $user_group_count > 0) { - if (empty($host['User'])) { - $html_output .= ''; - } else { - $html_output .= '' - . PMA_getUserGroupEditLink($host['User']) - . ''; - } - } - $html_output .= '' - . PMA_getUserLink( - 'export', - $host['User'], - $host['Host'], - '', - '', - '', - isset($_GET['initial']) ? $_GET['initial'] : '' - ) - . ''; - $html_output .= ''; - } - } - return $html_output; -} - -/** - * Get HTML fieldset for Add/Delete user - * - * @return string HTML snippet - */ -function PMA_getFieldsetForAddDeleteUser() -{ - $html_output = PMA_getAddUserHtmlFieldset(); - - $html_output .= Template::get('privileges/delete_user_fieldset') - ->render(array()); - - return $html_output; -} - -/** - * Get HTML for Displays the initials - * - * @param array $array_initials array for all initials, even non A-Z - * - * @return string HTML snippet - */ -function PMA_getHtmlForInitials($array_initials) -{ - // initialize to false the letters A-Z - for ($letter_counter = 1; $letter_counter < 27; $letter_counter++) { - if (! isset($array_initials[mb_chr($letter_counter + 64)])) { - $array_initials[mb_chr($letter_counter + 64)] = false; - } - } - - $initials = $GLOBALS['dbi']->tryQuery( - 'SELECT DISTINCT UPPER(LEFT(`User`,1)) FROM `user`' - . ' ORDER BY UPPER(LEFT(`User`,1)) ASC', - null, - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - if ($initials) { - while (list($tmp_initial) = $GLOBALS['dbi']->fetchRow($initials)) { - $array_initials[$tmp_initial] = true; - } - } - - // Display the initials, which can be any characters, not - // just letters. For letters A-Z, we add the non-used letters - // as greyed out. - - uksort($array_initials, "strnatcasecmp"); - - $html_output = Template::get('privileges/initials_row') - ->render( - array( - 'array_initials' => $array_initials - ) - ); - - return $html_output; -} - -/** - * Get the database rights array for Display user overview - * - * @return array $db_rights database rights array - */ -function PMA_getDbRightsForUserOverview() -{ - // we also want users not in table `user` but in other table - $tables = $GLOBALS['dbi']->fetchResult('SHOW TABLES FROM `mysql`;'); - - $tablesSearchForUsers = array( - 'user', 'db', 'tables_priv', 'columns_priv', 'procs_priv', - ); - - $db_rights_sqls = array(); - foreach ($tablesSearchForUsers as $table_search_in) { - if (in_array($table_search_in, $tables)) { - $db_rights_sqls[] = 'SELECT DISTINCT `User`, `Host` FROM `mysql`.`' - . $table_search_in . '` ' - . (isset($_GET['initial']) - ? PMA_rangeOfUsers($_GET['initial']) - : ''); - } - } - $user_defaults = array( - 'User' => '', - 'Host' => '%', - 'Password' => '?', - 'Grant_priv' => 'N', - 'privs' => array('USAGE'), - ); - - // for the rights - $db_rights = array(); - - $db_rights_sql = '(' . implode(') UNION (', $db_rights_sqls) . ')' - . ' ORDER BY `User` ASC, `Host` ASC'; - - $db_rights_result = $GLOBALS['dbi']->query($db_rights_sql); - - while ($db_rights_row = $GLOBALS['dbi']->fetchAssoc($db_rights_result)) { - $db_rights_row = array_merge($user_defaults, $db_rights_row); - $db_rights[$db_rights_row['User']][$db_rights_row['Host']] - = $db_rights_row; - } - $GLOBALS['dbi']->freeResult($db_rights_result); - ksort($db_rights); - - return $db_rights; -} - -/** - * Delete user and get message and sql query for delete user in privileges - * - * @param array $queries queries - * - * @return array Message - */ -function PMA_deleteUser($queries) -{ - $sql_query = ''; - if (empty($queries)) { - $message = Message::error(__('No users selected for deleting!')); - } else { - if ($_REQUEST['mode'] == 3) { - $queries[] = '# ' . __('Reloading the privileges') . ' …'; - $queries[] = 'FLUSH PRIVILEGES;'; - } - $drop_user_error = ''; - foreach ($queries as $sql_query) { - if ($sql_query{0} != '#') { - if (! $GLOBALS['dbi']->tryQuery($sql_query, $GLOBALS['userlink'])) { - $drop_user_error .= $GLOBALS['dbi']->getError() . "\n"; - } - } - } - // tracking sets this, causing the deleted db to be shown in navi - unset($GLOBALS['db']); - - $sql_query = join("\n", $queries); - if (! empty($drop_user_error)) { - $message = Message::rawError($drop_user_error); - } else { - $message = Message::success( - __('The selected users have been deleted successfully.') - ); - } - } - return array($sql_query, $message); -} - -/** - * Update the privileges and return the success or error message - * - * @param string $username username - * @param string $hostname host name - * @param string $tablename table name - * @param string $dbname database name - * @param string $itemType item type - * - * @return Message success message or error message for update - */ -function PMA_updatePrivileges($username, $hostname, $tablename, $dbname, $itemType) -{ - $db_and_table = PMA_wildcardEscapeForGrant($dbname, $tablename); - - $sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $itemType . ' ' . $db_and_table - . ' FROM \'' . $GLOBALS['dbi']->escapeString($username) - . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\';'; - - if (! isset($_POST['Grant_priv']) || $_POST['Grant_priv'] != 'Y') { - $sql_query1 = 'REVOKE GRANT OPTION ON ' . $itemType . ' ' . $db_and_table - . ' FROM \'' . $GLOBALS['dbi']->escapeString($username) . '\'@\'' - . $GLOBALS['dbi']->escapeString($hostname) . '\';'; - } else { - $sql_query1 = ''; - } - - // Should not do a GRANT USAGE for a table-specific privilege, it - // causes problems later (cannot revoke it) - if (! (strlen($tablename) > 0 - && 'USAGE' == implode('', PMA_extractPrivInfo())) - ) { - $sql_query2 = 'GRANT ' . join(', ', PMA_extractPrivInfo()) - . ' ON ' . $itemType . ' ' . $db_and_table - . ' TO \'' . $GLOBALS['dbi']->escapeString($username) . '\'@\'' - . $GLOBALS['dbi']->escapeString($hostname) . '\''; - - if (strlen($dbname) === 0) { - // add REQUIRE clause - $sql_query2 .= PMA_getRequireClause(); - } - - if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y') - || (strlen($dbname) === 0 - && (isset($_POST['max_questions']) || isset($_POST['max_connections']) - || isset($_POST['max_updates']) - || isset($_POST['max_user_connections']))) - ) { - $sql_query2 .= PMA_getWithClauseForAddUserAndUpdatePrivs(); - } - $sql_query2 .= ';'; - } - if (! $GLOBALS['dbi']->tryQuery($sql_query0)) { - // This might fail when the executing user does not have - // ALL PRIVILEGES himself. - // See https://sourceforge.net/p/phpmyadmin/bugs/3270/ - $sql_query0 = ''; - } - if (! empty($sql_query1) && ! $GLOBALS['dbi']->tryQuery($sql_query1)) { - // this one may fail, too... - $sql_query1 = ''; - } - if (! empty($sql_query2)) { - $GLOBALS['dbi']->query($sql_query2); - } else { - $sql_query2 = ''; - } - $sql_query = $sql_query0 . ' ' . $sql_query1 . ' ' . $sql_query2; - $message = Message::success(__('You have updated the privileges for %s.')); - $message->addParam('\'' . $username . '\'@\'' . $hostname . '\''); - - return array($sql_query, $message); -} - -/** - * Get List of information: Changes / copies a user - * - * @return array - */ -function PMA_getDataForChangeOrCopyUser() -{ - $queries = null; - $password = null; - - if (isset($_REQUEST['change_copy'])) { - $user_host_condition = ' WHERE `User` = ' - . "'" . $GLOBALS['dbi']->escapeString($_REQUEST['old_username']) . "'" - . ' AND `Host` = ' - . "'" . $GLOBALS['dbi']->escapeString($_REQUEST['old_hostname']) . "';"; - $row = $GLOBALS['dbi']->fetchSingleRow( - 'SELECT * FROM `mysql`.`user` ' . $user_host_condition - ); - if (! $row) { - $response = Response::getInstance(); - $response->addHTML( - Message::notice(__('No user found.'))->getDisplay() - ); - unset($_REQUEST['change_copy']); - } else { - extract($row, EXTR_OVERWRITE); - foreach ($row as $key => $value) { - $GLOBALS[$key] = $value; - } - // Recent MySQL versions have the field "Password" in mysql.user, - // so the previous extract creates $Password but this script - // uses $password - if (! isset($password) && isset($Password)) { - $password = $Password; - } - if (Util::getServerType() == 'MySQL' - && PMA_MYSQL_INT_VERSION >= 50606 - && PMA_MYSQL_INT_VERSION < 50706 - && ((isset($authentication_string) - && empty($password)) - || (isset($plugin) - && $plugin == 'sha256_password')) - ) { - $password = $authentication_string; - } - - if (Util::getServerType() == 'MariaDB' - && PMA_MYSQL_INT_VERSION >= 50500 - && isset($authentication_string) - && empty($password) - ) { - $password = $authentication_string; - } - - // Always use 'authentication_string' column - // for MySQL 5.7.6+ since it does not have - // the 'password' column at all - if (Util::getServerType() == 'MySQL' - && PMA_MYSQL_INT_VERSION >= 50706 - && isset($authentication_string) - ) { - $password = $authentication_string; - } - - $queries = array(); - } - } - - return array($queries, $password); -} - -/** - * Update Data for information: Deletes users - * - * @param array $queries queries array - * - * @return array - */ -function PMA_getDataForDeleteUsers($queries) -{ - if (isset($_REQUEST['change_copy'])) { - $selected_usr = array( - $_REQUEST['old_username'] . '&#27;' . $_REQUEST['old_hostname'] - ); - } else { - $selected_usr = $_REQUEST['selected_usr']; - $queries = array(); - } - - // this happens, was seen in https://reports.phpmyadmin.net/reports/view/17146 - if (! is_array($selected_usr)) { - return array(); - } - - foreach ($selected_usr as $each_user) { - list($this_user, $this_host) = explode('&#27;', $each_user); - $queries[] = '# ' - . sprintf( - __('Deleting %s'), - '\'' . $this_user . '\'@\'' . $this_host . '\'' - ) - . ' ...'; - $queries[] = 'DROP USER \'' - . $GLOBALS['dbi']->escapeString($this_user) - . '\'@\'' . $GLOBALS['dbi']->escapeString($this_host) . '\';'; - PMA_relationsCleanupUser($this_user); - - if (isset($_REQUEST['drop_users_db'])) { - $queries[] = 'DROP DATABASE IF EXISTS ' - . Util::backquote($this_user) . ';'; - $GLOBALS['reload'] = true; - } - } - return $queries; -} - -/** - * update Message For Reload - * - * @return array - */ -function PMA_updateMessageForReload() -{ - $message = null; - if (isset($_REQUEST['flush_privileges'])) { - $sql_query = 'FLUSH PRIVILEGES;'; - $GLOBALS['dbi']->query($sql_query); - $message = Message::success( - __('The privileges were reloaded successfully.') - ); - } - - if (isset($_REQUEST['validate_username'])) { - $message = Message::success(); - } - - return $message; -} - -/** - * update Data For Queries from queries_for_display - * - * @param array $queries queries array - * @param array|null $queries_for_display queries array for display - * - * @return null - */ -function PMA_getDataForQueries($queries, $queries_for_display) -{ - $tmp_count = 0; - foreach ($queries as $sql_query) { - if ($sql_query{0} != '#') { - $GLOBALS['dbi']->query($sql_query); - } - // when there is a query containing a hidden password, take it - // instead of the real query sent - if (isset($queries_for_display[$tmp_count])) { - $queries[$tmp_count] = $queries_for_display[$tmp_count]; - } - $tmp_count++; - } - - return $queries; -} - -/** - * update Data for information: Adds a user - * - * @param string $dbname db name - * @param string $username user name - * @param string $hostname host name - * @param string $password password - * @param bool $is_menuwork is_menuwork set? - * - * @return array - */ -function PMA_addUser( - $dbname, $username, $hostname, - $password, $is_menuwork -) { - $_add_user_error = false; - $message = null; - $queries = null; - $queries_for_display = null; - $sql_query = null; - - if (!isset($_REQUEST['adduser_submit']) && !isset($_REQUEST['change_copy'])) { - return array( - $message, $queries, $queries_for_display, $sql_query, $_add_user_error - ); - } - - $sql_query = ''; - if ($_POST['pred_username'] == 'any') { - $username = ''; - } - switch ($_POST['pred_hostname']) { - case 'any': - $hostname = '%'; - break; - case 'localhost': - $hostname = 'localhost'; - break; - case 'hosttable': - $hostname = ''; - break; - case 'thishost': - $_user_name = $GLOBALS['dbi']->fetchValue('SELECT USER()'); - $hostname = mb_substr( - $_user_name, - (mb_strrpos($_user_name, '@') + 1) - ); - unset($_user_name); - break; - } - $sql = "SELECT '1' FROM `mysql`.`user`" - . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" - . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "';"; - if ($GLOBALS['dbi']->fetchValue($sql) == 1) { - $message = Message::error(__('The user %s already exists!')); - $message->addParam('[em]\'' . $username . '\'@\'' . $hostname . '\'[/em]'); - $_REQUEST['adduser'] = true; - $_add_user_error = true; - - return array( - $message, - $queries, - $queries_for_display, - $sql_query, - $_add_user_error - ); - } - - list( - $create_user_real, $create_user_show, $real_sql_query, $sql_query, - $password_set_real, $password_set_show - ) = PMA_getSqlQueriesForDisplayAndAddUser( - $username, $hostname, (isset($password) ? $password : '') - ); - - if (empty($_REQUEST['change_copy'])) { - $_error = false; - - if (isset($create_user_real)) { - if (!$GLOBALS['dbi']->tryQuery($create_user_real)) { - $_error = true; - } - if (isset($password_set_real) && !empty($password_set_real) - && isset($_REQUEST['authentication_plugin']) - ) { - PMA_setProperPasswordHashing( - $_REQUEST['authentication_plugin'] - ); - if ($GLOBALS['dbi']->tryQuery($password_set_real)) { - $sql_query .= $password_set_show; - } - } - $sql_query = $create_user_show . $sql_query; - } - - list($sql_query, $message) = PMA_addUserAndCreateDatabase( - $_error, - $real_sql_query, - $sql_query, - $username, - $hostname, - isset($dbname) ? $dbname : null - ); - if (!empty($_REQUEST['userGroup']) && $is_menuwork) { - PMA_setUserGroup($GLOBALS['username'], $_REQUEST['userGroup']); - } - - return array( - $message, - $queries, - $queries_for_display, - $sql_query, - $_add_user_error - ); - } - - // Copy the user group while copying a user - $old_usergroup = - isset($_REQUEST['old_usergroup']) ? $_REQUEST['old_usergroup'] : null; - PMA_setUserGroup($_REQUEST['username'], $old_usergroup); - - if (isset($create_user_real)) { - $queries[] = $create_user_real; - } - $queries[] = $real_sql_query; - - if (isset($password_set_real) && ! empty($password_set_real) - && isset($_REQUEST['authentication_plugin']) - ) { - PMA_setProperPasswordHashing( - $_REQUEST['authentication_plugin'] - ); - - $queries[] = $password_set_real; - } - // we put the query containing the hidden password in - // $queries_for_display, at the same position occupied - // by the real query in $queries - $tmp_count = count($queries); - if (isset($create_user_real)) { - $queries_for_display[$tmp_count - 2] = $create_user_show; - } - if (isset($password_set_real) && ! empty($password_set_real)) { - $queries_for_display[$tmp_count - 3] = $create_user_show; - $queries_for_display[$tmp_count - 2] = $sql_query; - $queries_for_display[$tmp_count - 1] = $password_set_show; - } else { - $queries_for_display[$tmp_count - 1] = $sql_query; - } - - return array( - $message, $queries, $queries_for_display, $sql_query, $_add_user_error - ); -} - -/** - * Sets proper value of `old_passwords` according to - * the authentication plugin selected - * - * @param string $auth_plugin authentication plugin selected - * - * @return void - */ -function PMA_setProperPasswordHashing($auth_plugin) -{ - // Set the hashing method used by PASSWORD() - // to be of type depending upon $authentication_plugin - if ($auth_plugin == 'sha256_password') { - $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 2'); - } else if ($auth_plugin == 'mysql_old_password') { - $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 1'); - } else { - $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 0'); - } -} - -/** - * Update DB information: DB, Table, isWildcard - * - * @return array - */ -function PMA_getDataForDBInfo() -{ - $username = null; - $hostname = null; - $dbname = null; - $tablename = null; - $routinename = null; - $dbname_is_wildcard = null; - - if (isset($_REQUEST['username'])) { - $username = $_REQUEST['username']; - } - if (isset($_REQUEST['hostname'])) { - $hostname = $_REQUEST['hostname']; - } - /** - * Checks if a dropdown box has been used for selecting a database / table - */ - if (PMA_isValid($_REQUEST['pred_tablename'])) { - $tablename = $_REQUEST['pred_tablename']; - } elseif (PMA_isValid($_REQUEST['tablename'])) { - $tablename = $_REQUEST['tablename']; - } else { - unset($tablename); - } - - if (PMA_isValid($_REQUEST['pred_routinename'])) { - $routinename = $_REQUEST['pred_routinename']; - } elseif (PMA_isValid($_REQUEST['routinename'])) { - $routinename = $_REQUEST['routinename']; - } else { - unset($routinename); - } - - if (isset($_REQUEST['pred_dbname'])) { - $is_valid_pred_dbname = true; - foreach ($_REQUEST['pred_dbname'] as $key => $db_name) { - if (! PMA_isValid($db_name)) { - $is_valid_pred_dbname = false; - break; - } - } - } - - if (isset($_REQUEST['dbname'])) { - $is_valid_dbname = true; - if (is_array($_REQUEST['dbname'])) { - foreach ($_REQUEST['dbname'] as $key => $db_name) { - if (! PMA_isValid($db_name)) { - $is_valid_dbname = false; - break; - } - } - } else { - if (! PMA_isValid($_REQUEST['dbname'])) { - $is_valid_dbname = false; - } - } - } - - if (isset($is_valid_pred_dbname) && $is_valid_pred_dbname) { - $dbname = $_REQUEST['pred_dbname']; - // If dbname contains only one database. - if (count($dbname) == 1) { - $dbname = $dbname[0]; - } - } elseif (isset($is_valid_dbname) && $is_valid_dbname) { - $dbname = $_REQUEST['dbname']; - } else { - unset($dbname); - unset($tablename); - } - - if (isset($dbname)) { - if (is_array($dbname)) { - $db_and_table = $dbname; - foreach ($db_and_table as $key => $db_name) { - $db_and_table[$key] .= '.'; - } - } else { - $unescaped_db = Util::unescapeMysqlWildcards($dbname); - $db_and_table = Util::backquote($unescaped_db) . '.'; - } - if (isset($tablename)) { - $db_and_table .= Util::backquote($tablename); - } else { - if (is_array($db_and_table)) { - foreach ($db_and_table as $key => $db_name) { - $db_and_table[$key] .= '*'; - } - } else { - $db_and_table .= '*'; - } - } - } else { - $db_and_table = '*.*'; - } - - // check if given $dbname is a wildcard or not - if (isset($dbname)) { - //if (preg_match('/\\\\(?:_|%)/i', $dbname)) { - if (! is_array($dbname) && preg_match('/(?'; - - if (isset($_REQUEST['selected_usr'])) { - // export privileges for selected users - $title = __('Privileges'); - - //For removing duplicate entries of users - $_REQUEST['selected_usr'] = array_unique($_REQUEST['selected_usr']); - - foreach ($_REQUEST['selected_usr'] as $export_user) { - $export_username = mb_substr( - $export_user, 0, mb_strpos($export_user, '&') - ); - $export_hostname = mb_substr( - $export_user, mb_strrpos($export_user, ';') + 1 - ); - $export .= '# ' - . sprintf( - __('Privileges for %s'), - '`' . htmlspecialchars($export_username) - . '`@`' . htmlspecialchars($export_hostname) . '`' - ) - . "\n\n"; - $export .= PMA_getGrants($export_username, $export_hostname) . "\n"; - } - } else { - // export privileges for a single user - $title = __('User') . ' `' . htmlspecialchars($username) - . '`@`' . htmlspecialchars($hostname) . '`'; - $export .= PMA_getGrants($username, $hostname); - } - // remove trailing whitespace - $export = trim($export); - - $export .= ''; - - return array($title, $export); -} - -/** - * Get HTML for display Add userfieldset - * - * @param string $db the database - * @param string $table the table name - * - * @return string html output - */ -function PMA_getAddUserHtmlFieldset($db = '', $table = '') -{ - if (!$GLOBALS['is_createuser']) { - return ''; - } - $rel_params = array(); - $url_params = array( - 'adduser' => 1 - ); - if (!empty($db)) { - $url_params['dbname'] - = $rel_params['checkprivsdb'] - = $db; - } - if (!empty($table)) { - $url_params['tablename'] - = $rel_params['checkprivstable'] - = $table; - } - - return Template::get('privileges/add_user_fieldset') - ->render( - array( - 'url_params' => $url_params, - 'rel_params' => $rel_params - ) - ); -} - -/** - * Get HTML header for display User's properties - * - * @param boolean $dbname_is_wildcard whether database name is wildcard or not - * @param string $url_dbname url database name that urlencode() string - * @param string $dbname database name - * @param string $username username - * @param string $hostname host name - * @param string $entity_name entity (table or routine) name - * @param string $entity_type optional, type of entity ('table' or 'routine') - * - * @return string $html_output - */ -function PMA_getHtmlHeaderForUserProperties( - $dbname_is_wildcard, $url_dbname, $dbname, - $username, $hostname, $entity_name, $entity_type='table' -) { - $html_output = '

    ' . "\n" - . Util::getIcon('b_usredit.png') - . __('Edit privileges:') . ' ' - . __('User account'); - - if (! empty($dbname)) { - $html_output .= ' \'' . htmlspecialchars($username) - . '\'@\'' . htmlspecialchars($hostname) - . '\'' . "\n"; - - $html_output .= ' - '; - $html_output .= ($dbname_is_wildcard - || is_array($dbname) && count($dbname) > 1) - ? __('Databases') : __('Database'); - if (! empty($entity_name) && $entity_type === 'table') { - $html_output .= ' ' . htmlspecialchars($dbname) - . ''; - - $html_output .= ' - ' . __('Table') - . ' ' . htmlspecialchars($entity_name) . ''; - } elseif (! empty($entity_name)) { - $html_output .= ' ' . htmlspecialchars($dbname) - . ''; - - $html_output .= ' - ' . __('Routine') - . ' ' . htmlspecialchars($entity_name) . ''; - } else { - if (! is_array($dbname)) { - $dbname = array($dbname); - } - $html_output .= ' ' - . htmlspecialchars(implode(', ', $dbname)) - . ''; - } - - } else { - $html_output .= ' \'' . htmlspecialchars($username) - . '\'@\'' . htmlspecialchars($hostname) - . '\'' . "\n"; - - } - $html_output .= '

    ' . "\n"; - $cur_user = $GLOBALS['dbi']->getCurrentUser(); - $user = $username . '@' . $hostname; - // Add a short notice for the user - // to remind him that he is editing his own privileges - if ($user === $cur_user) { - $html_output .= Message::notice( - __( - 'Note: You are attempting to edit privileges of the ' - . 'user with which you are currently logged in.' - ) - )->getDisplay(); - } - return $html_output; -} - -/** - * Get HTML snippet for display user overview page - * - * @param string $pmaThemeImage a image source link - * @param string $text_dir text directory - * - * @return string $html_output - */ -function PMA_getHtmlForUserOverview($pmaThemeImage, $text_dir) -{ - $html_output = '

    ' . "\n" - . Util::getIcon('b_usrlist.png') - . __('User accounts overview') . "\n" - . '

    ' . "\n"; - - $password_column = 'Password'; - $server_type = Util::getServerType(); - if (($server_type == 'MySQL' || $server_type == 'Percona Server') - && PMA_MYSQL_INT_VERSION >= 50706 - ) { - $password_column = 'authentication_string'; - } - // $sql_query is for the initial-filtered, - // $sql_query_all is for counting the total no. of users - - $sql_query = $sql_query_all = 'SELECT *,' . - " IF(`" . $password_column . "` = _latin1 '', 'N', 'Y') AS 'Password'" . - ' FROM `mysql`.`user`'; - - $sql_query .= (isset($_REQUEST['initial']) - ? PMA_rangeOfUsers($_REQUEST['initial']) - : ''); - - $sql_query .= ' ORDER BY `User` ASC, `Host` ASC;'; - $sql_query_all .= ' ;'; - - $res = $GLOBALS['dbi']->tryQuery( - $sql_query, null, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - $res_all = $GLOBALS['dbi']->tryQuery( - $sql_query_all, null, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if (! $res) { - // the query failed! This may have two reasons: - // - the user does not have enough privileges - // - the privilege tables use a structure of an earlier version. - // so let's try a more simple query - - $GLOBALS['dbi']->freeResult($res); - $GLOBALS['dbi']->freeResult($res_all); - $sql_query = 'SELECT * FROM `mysql`.`user`'; - $res = $GLOBALS['dbi']->tryQuery( - $sql_query, null, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if (! $res) { - $html_output .= PMA_getHtmlForViewUsersError(); - $html_output .= PMA_getAddUserHtmlFieldset(); - } else { - // This message is hardcoded because I will replace it by - // a automatic repair feature soon. - $raw = 'Your privilege table structure seems to be older than' - . ' this MySQL version!
    ' - . 'Please run the mysql_upgrade command' - . ' that should be included in your MySQL server distribution' - . ' to solve this problem!'; - $html_output .= Message::rawError($raw)->getDisplay(); - } - $GLOBALS['dbi']->freeResult($res); - } else { - $db_rights = PMA_getDbRightsForUserOverview(); - // for all initials, even non A-Z - $array_initials = array(); - - foreach ($db_rights as $right) { - foreach ($right as $account) { - if (empty($account['User']) && $account['Host'] == 'localhost') { - $html_output .= Message::notice( - __( - 'A user account allowing any user from localhost to ' - . 'connect is present. This will prevent other users ' - . 'from connecting if the host part of their account ' - . 'allows a connection from any (%) host.' - ) - . Util::showMySQLDocu('problems-connecting') - )->getDisplay(); - break 2; - } - } - } - - /** - * Displays the initials - * Also not necessary if there is less than 20 privileges - */ - if ($GLOBALS['dbi']->numRows($res_all) > 20) { - $html_output .= PMA_getHtmlForInitials($array_initials); - } - - /** - * Display the user overview - * (if less than 50 users, display them immediately) - */ - if (isset($_REQUEST['initial']) - || isset($_REQUEST['showall']) - || $GLOBALS['dbi']->numRows($res) < 50 - ) { - $html_output .= PMA_getUsersOverview( - $res, $db_rights, $pmaThemeImage, $text_dir - ); - } else { - $html_output .= PMA_getAddUserHtmlFieldset(); - } // end if (display overview) - - $response = Response::getInstance(); - if (! $response->isAjax() - || ! empty($_REQUEST['ajax_page_request']) - ) { - if ($GLOBALS['is_reload_priv']) { - $flushnote = new Message( - __( - 'Note: phpMyAdmin gets the users\' privileges directly ' - . 'from MySQL\'s privilege tables. The content of these ' - . 'tables may differ from the privileges the server uses, ' - . 'if they have been changed manually. In this case, ' - . 'you should %sreload the privileges%s before you continue.' - ), - Message::NOTICE - ); - $flushnote->addParamHtml( - '' - ); - $flushnote->addParamHtml(''); - } else { - $flushnote = new Message( - __( - 'Note: phpMyAdmin gets the users\' privileges directly ' - . 'from MySQL\'s privilege tables. The content of these ' - . 'tables may differ from the privileges the server uses, ' - . 'if they have been changed manually. In this case, ' - . 'the privileges have to be reloaded but currently, you ' - . 'don\'t have the RELOAD privilege.' - ) - . Util::showMySQLDocu( - 'privileges-provided', - false, - 'priv_reload' - ), - Message::NOTICE - ); - } - $html_output .= $flushnote->getDisplay(); - } - } - - return $html_output; -} - -/** - * Get HTML snippet for display user properties - * - * @param boolean $dbname_is_wildcard whether database name is wildcard or not - * @param string $url_dbname url database name that urlencode() string - * @param string $username username - * @param string $hostname host name - * @param string $dbname database name - * @param string $tablename table name - * - * @return string $html_output - */ -function PMA_getHtmlForUserProperties($dbname_is_wildcard,$url_dbname, - $username, $hostname, $dbname, $tablename -) { - $html_output = '
    '; - $html_output .= PMA_getHtmlHeaderForUserProperties( - $dbname_is_wildcard, $url_dbname, $dbname, $username, $hostname, - $tablename, 'table' - ); - - $sql = "SELECT '1' FROM `mysql`.`user`" - . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" - . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "';"; - - $user_does_not_exists = (bool) ! $GLOBALS['dbi']->fetchValue($sql); - - if ($user_does_not_exists) { - $html_output .= Message::error( - __('The selected user was not found in the privilege table.') - )->getDisplay(); - $html_output .= PMA_getHtmlForLoginInformationFields(); - } - - $_params = array( - 'username' => $username, - 'hostname' => $hostname, - ); - if (! is_array($dbname) && strlen($dbname) > 0) { - $_params['dbname'] = $dbname; - if (strlen($tablename) > 0) { - $_params['tablename'] = $tablename; - } - } else { - $_params['dbname'] = $dbname; - } - - $html_output .= '' . "\n"; - - if (! is_array($dbname) && strlen($tablename) === 0 - && empty($dbname_is_wildcard) - ) { - // no table name was given, display all table specific rights - // but only if $dbname contains no wildcards - if (strlen($dbname) === 0) { - $html_output .= PMA_getHtmlForAllTableSpecificRights( - $username, $hostname, 'database' - ); - } else { - // unescape wildcards in dbname at table level - $unescaped_db = Util::unescapeMysqlWildcards($dbname); - - $html_output .= PMA_getHtmlForAllTableSpecificRights( - $username, $hostname, 'table', $unescaped_db - ); - $html_output .= PMA_getHtmlForAllTableSpecificRights( - $username, $hostname, 'routine', $unescaped_db - ); - } - } - - // Provide a line with links to the relevant database and table - if (! is_array($dbname) && strlen($dbname) > 0 && empty($dbname_is_wildcard)) { - $html_output .= PMA_getLinkToDbAndTable($url_dbname, $dbname, $tablename); - - } - - if (! is_array($dbname) && strlen($dbname) === 0 && ! $user_does_not_exists) { - //change login information - $html_output .= PMA_getHtmlForChangePassword( - 'edit_other', - $username, - $hostname - ); - $html_output .= PMA_getChangeLoginInformationHtmlForm($username, $hostname); - } - $html_output .= '
    '; - - return $html_output; -} - -/** - * Get queries for Table privileges to change or copy user - * - * @param string $user_host_condition user host condition to - * select relevant table privileges - * @param array $queries queries array - * @param string $username username - * @param string $hostname host name - * - * @return array $queries - */ -function PMA_getTablePrivsQueriesForChangeOrCopyUser($user_host_condition, - $queries, $username, $hostname -) { - $res = $GLOBALS['dbi']->query( - 'SELECT `Db`, `Table_name`, `Table_priv` FROM `mysql`.`tables_priv`' - . $user_host_condition, - $GLOBALS['userlink'], - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - while ($row = $GLOBALS['dbi']->fetchAssoc($res)) { - - $res2 = $GLOBALS['dbi']->query( - 'SELECT `Column_name`, `Column_priv`' - . ' FROM `mysql`.`columns_priv`' - . ' WHERE `User`' - . ' = \'' . $GLOBALS['dbi']->escapeString($_REQUEST['old_username']) . "'" - . ' AND `Host`' - . ' = \'' . $GLOBALS['dbi']->escapeString($_REQUEST['old_username']) . '\'' - . ' AND `Db`' - . ' = \'' . $GLOBALS['dbi']->escapeString($row['Db']) . "'" - . ' AND `Table_name`' - . ' = \'' . $GLOBALS['dbi']->escapeString($row['Table_name']) . "'" - . ';', - null, - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - $tmp_privs1 = PMA_extractPrivInfo($row); - $tmp_privs2 = array( - 'Select' => array(), - 'Insert' => array(), - 'Update' => array(), - 'References' => array() - ); - - while ($row2 = $GLOBALS['dbi']->fetchAssoc($res2)) { - $tmp_array = explode(',', $row2['Column_priv']); - if (in_array('Select', $tmp_array)) { - $tmp_privs2['Select'][] = $row2['Column_name']; - } - if (in_array('Insert', $tmp_array)) { - $tmp_privs2['Insert'][] = $row2['Column_name']; - } - if (in_array('Update', $tmp_array)) { - $tmp_privs2['Update'][] = $row2['Column_name']; - } - if (in_array('References', $tmp_array)) { - $tmp_privs2['References'][] = $row2['Column_name']; - } - } - if (count($tmp_privs2['Select']) > 0 && ! in_array('SELECT', $tmp_privs1)) { - $tmp_privs1[] = 'SELECT (`' . join('`, `', $tmp_privs2['Select']) . '`)'; - } - if (count($tmp_privs2['Insert']) > 0 && ! in_array('INSERT', $tmp_privs1)) { - $tmp_privs1[] = 'INSERT (`' . join('`, `', $tmp_privs2['Insert']) . '`)'; - } - if (count($tmp_privs2['Update']) > 0 && ! in_array('UPDATE', $tmp_privs1)) { - $tmp_privs1[] = 'UPDATE (`' . join('`, `', $tmp_privs2['Update']) . '`)'; - } - if (count($tmp_privs2['References']) > 0 - && ! in_array('REFERENCES', $tmp_privs1) - ) { - $tmp_privs1[] - = 'REFERENCES (`' . join('`, `', $tmp_privs2['References']) . '`)'; - } - - $queries[] = 'GRANT ' . join(', ', $tmp_privs1) - . ' ON ' . Util::backquote($row['Db']) . '.' - . Util::backquote($row['Table_name']) - . ' TO \'' . $GLOBALS['dbi']->escapeString($username) - . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\'' - . (in_array('Grant', explode(',', $row['Table_priv'])) - ? ' WITH GRANT OPTION;' - : ';'); - } - return $queries; -} - -/** - * Get queries for database specific privileges for change or copy user - * - * @param array $queries queries array with string - * @param string $username username - * @param string $hostname host name - * - * @return array $queries - */ -function PMA_getDbSpecificPrivsQueriesForChangeOrCopyUser( - $queries, $username, $hostname -) { - $user_host_condition = ' WHERE `User`' - . ' = \'' . $GLOBALS['dbi']->escapeString($_REQUEST['old_username']) . "'" - . ' AND `Host`' - . ' = \'' . $GLOBALS['dbi']->escapeString($_REQUEST['old_hostname']) . '\';'; - - $res = $GLOBALS['dbi']->query( - 'SELECT * FROM `mysql`.`db`' . $user_host_condition - ); - - while ($row = $GLOBALS['dbi']->fetchAssoc($res)) { - $queries[] = 'GRANT ' . join(', ', PMA_extractPrivInfo($row)) - . ' ON ' . Util::backquote($row['Db']) . '.*' - . ' TO \'' . $GLOBALS['dbi']->escapeString($username) - . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\'' - . ($row['Grant_priv'] == 'Y' ? ' WITH GRANT OPTION;' : ';'); - } - $GLOBALS['dbi']->freeResult($res); - - $queries = PMA_getTablePrivsQueriesForChangeOrCopyUser( - $user_host_condition, $queries, $username, $hostname - ); - - return $queries; -} - -/** - * Prepares queries for adding users and - * also create database and return query and message - * - * @param boolean $_error whether user create or not - * @param string $real_sql_query SQL query for add a user - * @param string $sql_query SQL query to be displayed - * @param string $username username - * @param string $hostname host name - * @param string $dbname database name - * - * @return array $sql_query, $message - */ -function PMA_addUserAndCreateDatabase($_error, $real_sql_query, $sql_query, - $username, $hostname, $dbname -) { - if ($_error || (!empty($real_sql_query) - && !$GLOBALS['dbi']->tryQuery($real_sql_query)) - ) { - $_REQUEST['createdb-1'] = $_REQUEST['createdb-2'] - = $_REQUEST['createdb-3'] = null; - $message = Message::rawError($GLOBALS['dbi']->getError()); - } else { - $message = Message::success(__('You have added a new user.')); - } - - if (isset($_REQUEST['createdb-1'])) { - // Create database with same name and grant all privileges - $q = 'CREATE DATABASE IF NOT EXISTS ' - . Util::backquote( - $GLOBALS['dbi']->escapeString($username) - ) . ';'; - $sql_query .= $q; - if (! $GLOBALS['dbi']->tryQuery($q)) { - $message = Message::rawError($GLOBALS['dbi']->getError()); - } - - /** - * Reload the navigation - */ - $GLOBALS['reload'] = true; - $GLOBALS['db'] = $username; - - $q = 'GRANT ALL PRIVILEGES ON ' - . Util::backquote( - Util::escapeMysqlWildcards( - $GLOBALS['dbi']->escapeString($username) - ) - ) . '.* TO \'' - . $GLOBALS['dbi']->escapeString($username) - . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\';'; - $sql_query .= $q; - if (! $GLOBALS['dbi']->tryQuery($q)) { - $message = Message::rawError($GLOBALS['dbi']->getError()); - } - } - - if (isset($_REQUEST['createdb-2'])) { - // Grant all privileges on wildcard name (username\_%) - $q = 'GRANT ALL PRIVILEGES ON ' - . Util::backquote( - Util::escapeMysqlWildcards( - $GLOBALS['dbi']->escapeString($username) - ) . '\_%' - ) . '.* TO \'' - . $GLOBALS['dbi']->escapeString($username) - . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\';'; - $sql_query .= $q; - if (! $GLOBALS['dbi']->tryQuery($q)) { - $message = Message::rawError($GLOBALS['dbi']->getError()); - } - } - - if (isset($_REQUEST['createdb-3'])) { - // Grant all privileges on the specified database to the new user - $q = 'GRANT ALL PRIVILEGES ON ' - . Util::backquote( - $GLOBALS['dbi']->escapeString($dbname) - ) . '.* TO \'' - . $GLOBALS['dbi']->escapeString($username) - . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\';'; - $sql_query .= $q; - if (! $GLOBALS['dbi']->tryQuery($q)) { - $message = Message::rawError($GLOBALS['dbi']->getError()); - } - } - return array($sql_query, $message); -} - -/** - * Get the hashed string for password - * - * @param string $password password - * - * @return string $hashedPassword - */ -function PMA_getHashedPassword($password) -{ - $result = $GLOBALS['dbi']->fetchSingleRow( - "SELECT PASSWORD('" . $password . "') AS `password`;" - ); - - $hashedPassword = $result['password']; - - return $hashedPassword; -} - -/** - * Check if MariaDB's 'simple_password_check' - * OR 'cracklib_password_check' is ACTIVE - * - * @return boolean if atleast one of the plugins is ACTIVE - */ -function PMA_checkIfMariaDBPwdCheckPluginActive() -{ - if (!(Util::getServerType() == 'MariaDB' && PMA_MYSQL_INT_VERSION >= 100002)) { - return false; - } - - $result = $GLOBALS['dbi']->tryQuery( - 'SHOW PLUGINS SONAME LIKE \'%_password_check%\'' - ); - - /* Plugins are not working, for example directory does not exists */ - if ($result === false) { - return false; - } - - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - if ($row['Status'] === 'ACTIVE') { - return true; - } - } - - return false; -} - - -/** - * Get SQL queries for Display and Add user - * - * @param string $username username - * @param string $hostname host name - * @param string $password password - * - * @return array ($create_user_real, $create_user_show,$real_sql_query, $sql_query - * $password_set_real, $password_set_show) - */ -function PMA_getSqlQueriesForDisplayAndAddUser($username, $hostname, $password) -{ - $slashedUsername = $GLOBALS['dbi']->escapeString($username); - $slashedHostname = $GLOBALS['dbi']->escapeString($hostname); - $slashedPassword = $GLOBALS['dbi']->escapeString($password); - $serverType = Util::getServerType(); - - $create_user_stmt = sprintf( - 'CREATE USER \'%s\'@\'%s\'', - $slashedUsername, - $slashedHostname - ); - $isMariaDBPwdPluginActive = PMA_checkIfMariaDBPwdCheckPluginActive(); - - // See https://github.com/phpmyadmin/phpmyadmin/pull/11560#issuecomment-147158219 - // for details regarding details of syntax usage for various versions - - // 'IDENTIFIED WITH auth_plugin' - // is supported by MySQL 5.5.7+ - if (($serverType == 'MySQL' || $serverType == 'Percona Server') - && PMA_MYSQL_INT_VERSION >= 50507 - && isset($_REQUEST['authentication_plugin']) - ) { - $create_user_stmt .= ' IDENTIFIED WITH ' - . $_REQUEST['authentication_plugin']; - } - - // 'IDENTIFIED VIA auth_plugin' - // is supported by MariaDB 5.2+ - if ($serverType == 'MariaDB' - && PMA_MYSQL_INT_VERSION >= 50200 - && isset($_REQUEST['authentication_plugin']) - && ! $isMariaDBPwdPluginActive - ) { - $create_user_stmt .= ' IDENTIFIED VIA ' - . $_REQUEST['authentication_plugin']; - } - - $create_user_real = $create_user_show = $create_user_stmt; - - $password_set_stmt = 'SET PASSWORD FOR \'%s\'@\'%s\' = \'%s\''; - $password_set_show = sprintf( - $password_set_stmt, - $slashedUsername, - $slashedHostname, - '***' - ); - - $sql_query_stmt = sprintf( - 'GRANT %s ON *.* TO \'%s\'@\'%s\'', - join(', ', PMA_extractPrivInfo()), - $slashedUsername, - $slashedHostname - ); - $real_sql_query = $sql_query = $sql_query_stmt; - - // Set the proper hashing method - if (isset($_REQUEST['authentication_plugin'])) { - PMA_setProperPasswordHashing( - $_REQUEST['authentication_plugin'] - ); - } - - // Use 'CREATE USER ... WITH ... AS ..' syntax for - // newer MySQL versions - // and 'CREATE USER ... VIA .. USING ..' syntax for - // newer MariaDB versions - if ((($serverType == 'MySQL' || $serverType == 'Percona Server') - && PMA_MYSQL_INT_VERSION >= 50706) - || ($serverType == 'MariaDB' - && PMA_MYSQL_INT_VERSION >= 50200) - ) { - $password_set_real = null; - - // Required for binding '%' with '%s' - $create_user_stmt = str_replace( - '%', '%%', $create_user_stmt - ); - - // MariaDB uses 'USING' whereas MySQL uses 'AS' - // but MariaDB with validation plugin needs cleartext password - if ($serverType == 'MariaDB' - && ! $isMariaDBPwdPluginActive - ) { - $create_user_stmt .= ' USING \'%s\''; - } elseif ($serverType == 'MariaDB') { - $create_user_stmt .= ' IDENTIFIED BY \'%s\''; - } else { - $create_user_stmt .= ' AS \'%s\''; - } - - if ($_POST['pred_password'] == 'keep') { - $create_user_real = sprintf( - $create_user_stmt, - $slashedPassword - ); - $create_user_show = sprintf( - $create_user_stmt, - '***' - ); - } else if ($_POST['pred_password'] == 'none') { - $create_user_real = sprintf( - $create_user_stmt, - null - ); - $create_user_show = sprintf( - $create_user_stmt, - '***' - ); - } else { - if (! ($serverType == 'MariaDB' - && $isMariaDBPwdPluginActive) - ) { - $hashedPassword = PMA_getHashedPassword($_POST['pma_pw']); - } else { - // MariaDB with validation plugin needs cleartext password - $hashedPassword = $_POST['pma_pw']; - } - $create_user_real = sprintf( - $create_user_stmt, - $hashedPassword - ); - $create_user_show = sprintf( - $create_user_stmt, - '***' - ); - } - } else { - // Use 'SET PASSWORD' syntax for pre-5.7.6 MySQL versions - // and pre-5.2.0 MariaDB versions - if ($_POST['pred_password'] == 'keep') { - $password_set_real = sprintf( - $password_set_stmt, - $slashedUsername, - $slashedHostname, - $slashedPassword - ); - } else if ($_POST['pred_password'] == 'none') { - $password_set_real = sprintf( - $password_set_stmt, - $slashedUsername, - $slashedHostname, - null - ); - } else { - $hashedPassword = PMA_getHashedPassword($_POST['pma_pw']); - $password_set_real = sprintf( - $password_set_stmt, - $slashedUsername, - $slashedHostname, - $hashedPassword - ); - } - } - - // add REQUIRE clause - $require_clause = PMA_getRequireClause(); - $real_sql_query .= $require_clause; - $sql_query .= $require_clause; - - $with_clause = PMA_getWithClauseForAddUserAndUpdatePrivs(); - $real_sql_query .= $with_clause; - $sql_query .= $with_clause; - - if (isset($create_user_real)) { - $create_user_real .= ';'; - $create_user_show .= ';'; - } - $real_sql_query .= ';'; - $sql_query .= ';'; - // No Global GRANT_OPTION privilege - if (!$GLOBALS['is_grantuser']) { - $real_sql_query = ''; - $sql_query = ''; - } - - // Use 'SET PASSWORD' for pre-5.7.6 MySQL versions - // and pre-5.2.0 MariaDB - if (($serverType == 'MySQL' - && PMA_MYSQL_INT_VERSION >= 50706) - || ($serverType == 'MariaDB' - && PMA_MYSQL_INT_VERSION >= 50200) - ) { - $password_set_real = null; - $password_set_show = null; - } else { - $password_set_real .= ";"; - $password_set_show .= ";"; - } - - return array($create_user_real, - $create_user_show, - $real_sql_query, - $sql_query, - $password_set_real, - $password_set_show - ); -} - -/** - * Returns the type ('PROCEDURE' or 'FUNCTION') of the routine - * - * @param string $dbname database - * @param string $routineName routine - * - * @return string type - */ -function PMA_getRoutineType($dbname, $routineName) -{ - $routineData = $GLOBALS['dbi']->getRoutines($dbname); - - foreach ($routineData as $routine) { - if ($routine['name'] === $routineName) { - return $routine['type']; - } - } - return ''; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status.lib.php deleted file mode 100644 index ea485f95..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status.lib.php +++ /dev/null @@ -1,324 +0,0 @@ -fetchValue( - 'SELECT UNIX_TIMESTAMP() - ' . $ServerStatusData->status['Uptime'] - ); - - $retval = '

    '; - $bytes_received = $ServerStatusData->status['Bytes_received']; - $bytes_sent = $ServerStatusData->status['Bytes_sent']; - $retval .= sprintf( - __('Network traffic since startup: %s'), - implode( - ' ', - PMA\libraries\Util::formatByteDown( - $bytes_received + $bytes_sent, - 3, - 1 - ) - ) - ); - $retval .= '

    '; - $retval .= '

    '; - $retval .= sprintf( - __('This MySQL server has been running for %1$s. It started up on %2$s.'), - PMA\libraries\Util::timespanFormat($ServerStatusData->status['Uptime']), - PMA\libraries\Util::localisedDate($start_time) - ) . "\n"; - $retval .= '

    '; - - return $retval; -} - -/** - * Returns HTML to display replication information - * - * @return string HTML on replication - */ -function PMA_getHtmlForReplicationInfo() -{ - $retval = '

    '; - if ($GLOBALS['replication_info']['master']['status'] - && $GLOBALS['replication_info']['slave']['status'] - ) { - $retval .= __( - 'This MySQL server works as master and ' - . 'slave in replication process.' - ); - } elseif ($GLOBALS['replication_info']['master']['status']) { - $retval .= __( - 'This MySQL server works as master ' - . 'in replication process.' - ); - } elseif ($GLOBALS['replication_info']['slave']['status']) { - $retval .= __( - 'This MySQL server works as slave ' - . 'in replication process.' - ); - } - $retval .= '

    '; - - /* - * if the server works as master or slave in replication process, - * display useful information - */ - $retval .= '
    '; - $retval .= '

    '; - $retval .= __('Replication status'); - $retval .= '

    '; - foreach ($GLOBALS['replication_types'] as $type) { - if (isset($GLOBALS['replication_info'][$type]['status']) - && $GLOBALS['replication_info'][$type]['status'] - ) { - $retval .= PMA_getHtmlForReplicationStatusTable($type); - } - } - - return $retval; -} - -/** - * Prints server state traffic information - * - * @param ServerStatusData $ServerStatusData Server status data - * - * @return string - */ -function PMA_getHtmlForServerStateTraffic($ServerStatusData) -{ - $hour_factor = 3600 / $ServerStatusData->status['Uptime']; - $retval = ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= '
    '; - $retval .= __('Traffic') . ' '; - $retval .= PMA\libraries\Util::showHint( - __( - 'On a busy server, the byte counters may overrun, so those statistics ' - . 'as reported by the MySQL server may be incorrect.' - ) - ); - $retval .= '#ø ' . __('per hour') . '
    ' . __('Received') . ''; - $retval .= implode( - ' ', - PMA\libraries\Util::formatByteDown( - $ServerStatusData->status['Bytes_received'], 3, 1 - ) - ); - $retval .= ''; - $retval .= implode( - ' ', - PMA\libraries\Util::formatByteDown( - $ServerStatusData->status['Bytes_received'] * $hour_factor, 3, 1 - ) - ); - $retval .= '
    ' . __('Sent') . ''; - $retval .= implode( - ' ', - PMA\libraries\Util::formatByteDown( - $ServerStatusData->status['Bytes_sent'], 3, 1 - ) - ); - $retval .= ''; - $retval .= implode( - ' ', - PMA\libraries\Util::formatByteDown( - $ServerStatusData->status['Bytes_sent'] * $hour_factor, 3, 1 - ) - ); - $retval .= '
    ' . __('Total') . ''; - $bytes_received = $ServerStatusData->status['Bytes_received']; - $bytes_sent = $ServerStatusData->status['Bytes_sent']; - $retval .= implode( - ' ', - PMA\libraries\Util::formatByteDown( - $bytes_received + $bytes_sent, 3, 1 - ) - ); - $retval .= ''; - $bytes_received = $ServerStatusData->status['Bytes_received']; - $bytes_sent = $ServerStatusData->status['Bytes_sent']; - $retval .= implode( - ' ', - PMA\libraries\Util::formatByteDown( - ($bytes_received + $bytes_sent) * $hour_factor, 3, 1 - ) - ); - $retval .= '
    '; - return $retval; -} - -/** - * Prints server state connections information - * - * @param ServerStatusData $ServerStatusData Server status data - * - * @return string - */ -function PMA_getHtmlForServerStateConnections($ServerStatusData) -{ - $hour_factor = 3600 / $ServerStatusData->status['Uptime']; - $retval = ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= '
    ' . __('Connections') . '#ø ' . __('per hour') . '%
    ' . __('Max. concurrent connections') . ''; - $retval .= PMA\libraries\Util::formatNumber( - $ServerStatusData->status['Max_used_connections'], 0 - ); - $retval .= '--- ---
    ' . __('Failed attempts') . ''; - $retval .= PMA\libraries\Util::formatNumber( - $ServerStatusData->status['Aborted_connects'], 4, 1, true - ); - $retval .= ''; - $retval .= PMA\libraries\Util::formatNumber( - $ServerStatusData->status['Aborted_connects'] * $hour_factor, 4, 2, true - ); - $retval .= ''; - if ($ServerStatusData->status['Connections'] > 0) { - $abortNum = $ServerStatusData->status['Aborted_connects']; - $connectNum = $ServerStatusData->status['Connections']; - - $retval .= PMA\libraries\Util::formatNumber( - $abortNum * 100 / $connectNum, - 0, 2, true - ); - $retval .= '%'; - } else { - $retval .= '--- '; - } - $retval .= '
    ' . __('Aborted') . ''; - $retval .= PMA\libraries\Util::formatNumber( - $ServerStatusData->status['Aborted_clients'], 4, 1, true - ); - $retval .= ''; - $retval .= PMA\libraries\Util::formatNumber( - $ServerStatusData->status['Aborted_clients'] * $hour_factor, 4, 2, true - ); - $retval .= ''; - if ($ServerStatusData->status['Connections'] > 0) { - $abortNum = $ServerStatusData->status['Aborted_clients']; - $connectNum = $ServerStatusData->status['Connections']; - - $retval .= PMA\libraries\Util::formatNumber( - $abortNum * 100 / $connectNum, - 0, 2, true - ); - $retval .= '%'; - } else { - $retval .= '--- '; - } - $retval .= '
    ' . __('Total') . ''; - $retval .= PMA\libraries\Util::formatNumber( - $ServerStatusData->status['Connections'], 4, 0 - ); - $retval .= ''; - $retval .= PMA\libraries\Util::formatNumber( - $ServerStatusData->status['Connections'] * $hour_factor, 4, 2 - ); - $retval .= ''; - $retval .= PMA\libraries\Util::formatNumber(100, 0, 2); - $retval .= '%
    '; - - return $retval; -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_advisor.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_advisor.lib.php deleted file mode 100644 index f78577bd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_advisor.lib.php +++ /dev/null @@ -1,63 +0,0 @@ -'; - $output .= PMA\libraries\Util::getIcon('b_help.png', __('Instructions')); - $output .= ''; - $output .= '
    '; - $output .= ''; - $output .= ''; - - return $output; -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_monitor.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_monitor.lib.php deleted file mode 100644 index 0bcacda0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_monitor.lib.php +++ /dev/null @@ -1,819 +0,0 @@ -'; - $retval .= '
    '; - $retval .= '
    '; - $retval .= '
    '; - - $retval .= ''; - - return $retval; -} - -/** - * Returns html for Analyse Dialog - * - * @return string - */ -function PMA_getHtmlForAnalyseDialog() -{ - $retval = ''; - $retval .= ''; - - return $retval; -} - -/** - * Returns html for Instructions Dialog - * - * @return string - */ -function PMA_getHtmlForInstructionsDialog() -{ - $retval = ''; - - return $retval; -} - -/** - * Returns html for addChartDialog - * - * @return string - */ -function PMA_getHtmlForAddChartDialog() -{ - $retval = ''; - - return $retval; -} - -/** - * Returns html with Tab Links - * - * @return string - */ -function PMA_getHtmlForTabLinks() -{ - $retval = ''; - - return $retval; -} - -/** - * Returns html with Settings dialog - * - * @return string - */ -function PMA_getHtmlForSettingsDialog() -{ - $retval = '
    '; - $retval .= ''; - $retval .= PMA\libraries\Util::getImage('b_chart.png') . __('Add chart'); - $retval .= ''; - $retval .= ''; - $retval .= PMA\libraries\Util::getImage('b_tblops.png') - . __('Enable charts dragging'); - $retval .= ''; - $retval .= '
    '; - $retval .= '
    '; - $retval .= __('Refresh rate') . '
    '; - $retval .= ServerStatusData::getHtmlForRefreshList( - 'gridChartRefresh', - 5, - Array(2, 3, 4, 5, 10, 20, 40, 60, 120, 300, 600, 1200) - ); - $retval .= '
    '; - $retval .= '
    '; - $retval .= '
    '; - $retval .= __('Chart columns'); - $retval .= '
    '; - $retval .= ''; - $retval .= '
    '; - $retval .= '
    '; - $retval .= '' . __('Chart arrangement') . ' '; - $retval .= PMA\libraries\Util::showHint( - __( - 'The arrangement of the charts is stored to the browsers local storage. ' - . 'You may want to export it if you have a complicated set up.' - ) - ); - $retval .= '
    '; - $retval .= ''; - $retval .= __('Import'); - $retval .= ''; - $retval .= '  '; - $retval .= ''; - $retval .= __('Export'); - $retval .= ''; - $retval .= '  '; - $retval .= ''; - $retval .= __('Reset to default'); - $retval .= ''; - $retval .= '
    '; - $retval .= '
    '; - - return $retval; -} - - -/** - * Define some data and links needed on the client side - * - * @param ServerStatusData $ServerStatusData Server status data - * - * @return string - */ -function PMA_getHtmlForClientSideDataAndLinks($ServerStatusData) -{ - /** - * Define some data needed on the client side - */ - $input = ''; - $form = '
    '; - $form .= sprintf($input, 'server_time', microtime(true) * 1000); - $form .= sprintf($input, 'server_os', PHP_OS); - $form .= sprintf($input, 'is_superuser', $GLOBALS['dbi']->isSuperuser()); - $form .= sprintf($input, 'server_db_isLocal', $ServerStatusData->db_isLocal); - $form .= '
    '; - /** - * Define some links used on client side - */ - $links = '
    '; - $links .= PMA\libraries\Util::showMySQLDocu('general-thread-states'); - $links .= '
    '; - $links .= '
    '; - $links .= PMA\libraries\Util::showMySQLDocu('explain-output'); - $links .= '
    '; - - return $form . $links; -} - -/***************************Ajax request function***********************************/ - -/** - * Returns JSon for real-time charting data - * - * @return array - */ -function PMA_getJsonForChartingData() -{ - $ret = json_decode($_REQUEST['requiredData'], true); - $statusVars = array(); - $serverVars = array(); - $sysinfo = $cpuload = $memory = 0; - - /* Accumulate all required variables and data */ - list($serverVars, $statusVars, $ret) = PMA_getJsonForChartingDataGet( - $ret, $serverVars, $statusVars, $sysinfo, $cpuload, $memory - ); - - // Retrieve all required status variables - if (count($statusVars)) { - $statusVarValues = $GLOBALS['dbi']->fetchResult( - "SHOW GLOBAL STATUS WHERE Variable_name='" - . implode("' OR Variable_name='", $statusVars) . "'", - 0, - 1 - ); - } else { - $statusVarValues = array(); - } - - // Retrieve all required server variables - if (count($serverVars)) { - $serverVarValues = $GLOBALS['dbi']->fetchResult( - "SHOW GLOBAL VARIABLES WHERE Variable_name='" - . implode("' OR Variable_name='", $serverVars) . "'", - 0, - 1 - ); - } else { - $serverVarValues = array(); - } - - // ...and now assign them - $ret = PMA_getJsonForChartingDataSet($ret, $statusVarValues, $serverVarValues); - - $ret['x'] = microtime(true) * 1000; - return $ret; -} - -/** - * Assign the variables for real-time charting data - * - * @param array $ret Real-time charting data - * @param array $statusVarValues Status variable values - * @param array $serverVarValues Server variable values - * - * @return array - */ -function PMA_getJsonForChartingDataSet($ret, $statusVarValues, $serverVarValues) -{ - foreach ($ret as $chart_id => $chartNodes) { - foreach ($chartNodes as $node_id => $nodeDataPoints) { - foreach ($nodeDataPoints as $point_id => $dataPoint) { - switch ($dataPoint['type']) { - case 'statusvar': - $ret[$chart_id][$node_id][$point_id]['value'] - = $statusVarValues[$dataPoint['name']]; - break; - case 'servervar': - $ret[$chart_id][$node_id][$point_id]['value'] - = $serverVarValues[$dataPoint['name']]; - break; - } - } - } - } - return $ret; -} - -/** - * Get called to get JSON for charting data - * - * @param array $ret Real-time charting data - * @param array $serverVars Server variable values - * @param array $statusVars Status variable values - * @param mixed $sysinfo System info - * @param mixed $cpuload CPU load - * @param mixed $memory Memory - * - * @return array - */ -function PMA_getJsonForChartingDataGet( - $ret, $serverVars, $statusVars, $sysinfo, $cpuload, $memory -) { - // For each chart - foreach ($ret as $chart_id => $chartNodes) { - // For each data series - foreach ($chartNodes as $node_id => $nodeDataPoints) { - // For each data point in the series (usually just 1) - foreach ($nodeDataPoints as $point_id => $dataPoint) { - list($serverVars, $statusVars, $ret[$chart_id][$node_id][$point_id]) - = PMA_getJsonForChartingDataSwitch( - $dataPoint['type'], $dataPoint['name'], $serverVars, - $statusVars, $ret[$chart_id][$node_id][$point_id], - $sysinfo, $cpuload, $memory - ); - } /* foreach */ - } /* foreach */ - } - return array($serverVars, $statusVars, $ret); -} - -/** - * Switch called to get JSON for charting data - * - * @param string $type Type - * @param string $pName Name - * @param array $serverVars Server variable values - * @param array $statusVars Status variable values - * @param array $ret Real-time charting data - * @param mixed $sysinfo System info - * @param mixed $cpuload CPU load - * @param mixed $memory Memory - * - * @return array - */ -function PMA_getJsonForChartingDataSwitch( - $type, $pName, $serverVars, $statusVars, $ret, - $sysinfo, $cpuload, $memory -) { - switch ($type) { - /* We only collect the status and server variables here to - * read them all in one query, - * and only afterwards assign them. - * Also do some white list filtering on the names - */ - case 'servervar': - if (!preg_match('/[^a-zA-Z_]+/', $pName)) { - $serverVars[] = $pName; - } - break; - - case 'statusvar': - if (!preg_match('/[^a-zA-Z_]+/', $pName)) { - $statusVars[] = $pName; - } - break; - - case 'proc': - $result = $GLOBALS['dbi']->query('SHOW PROCESSLIST'); - $ret['value'] = $GLOBALS['dbi']->numRows($result); - break; - - case 'cpu': - if (!$sysinfo) { - include_once 'libraries/sysinfo.lib.php'; - $sysinfo = PMA_getSysInfo(); - } - if (!$cpuload) { - $cpuload = $sysinfo->loadavg(); - } - - if (PMA_getSysInfoOs() == 'Linux') { - $ret['idle'] = $cpuload['idle']; - $ret['busy'] = $cpuload['busy']; - } else { - $ret['value'] = $cpuload['loadavg']; - } - - break; - - case 'memory': - if (!$sysinfo) { - include_once 'libraries/sysinfo.lib.php'; - $sysinfo = PMA_getSysInfo(); - } - if (!$memory) { - $memory = $sysinfo->memory(); - } - - $ret['value'] = isset($memory[$pName]) ? $memory[$pName] : 0; - break; - } - - return array($serverVars, $statusVars, $ret); -} - -/** - * Returns JSon for log data with type: slow - * - * @param int $start Unix Time: Start time for query - * @param int $end Unix Time: End time for query - * - * @return array - */ -function PMA_getJsonForLogDataTypeSlow($start, $end) -{ - $query = 'SELECT start_time, user_host, '; - $query .= 'Sec_to_Time(Sum(Time_to_Sec(query_time))) as query_time, '; - $query .= 'Sec_to_Time(Sum(Time_to_Sec(lock_time))) as lock_time, '; - $query .= 'SUM(rows_sent) AS rows_sent, '; - $query .= 'SUM(rows_examined) AS rows_examined, db, sql_text, '; - $query .= 'COUNT(sql_text) AS \'#\' '; - $query .= 'FROM `mysql`.`slow_log` '; - $query .= 'WHERE start_time > FROM_UNIXTIME(' . $start . ') '; - $query .= 'AND start_time < FROM_UNIXTIME(' . $end . ') GROUP BY sql_text'; - - $result = $GLOBALS['dbi']->tryQuery($query); - - $return = array('rows' => array(), 'sum' => array()); - - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $type = mb_strtolower( - mb_substr( - $row['sql_text'], - 0, - mb_strpos($row['sql_text'], ' ') - ) - ); - - switch($type) { - case 'insert': - case 'update': - //Cut off big inserts and updates, but append byte count instead - if (mb_strlen($row['sql_text']) > 220) { - $implode_sql_text = implode( - ' ', - PMA\libraries\Util::formatByteDown( - mb_strlen($row['sql_text']), 2, 2 - ) - ); - $row['sql_text'] = mb_substr($row['sql_text'], 0, 200) - . '... [' . $implode_sql_text . ']'; - } - break; - default: - break; - } - - if (! isset($return['sum'][$type])) { - $return['sum'][$type] = 0; - } - $return['sum'][$type] += $row['#']; - $return['rows'][] = $row; - } - - $return['sum']['TOTAL'] = array_sum($return['sum']); - $return['numRows'] = count($return['rows']); - - $GLOBALS['dbi']->freeResult($result); - return $return; -} - -/** - * Returns JSon for log data with type: general - * - * @param int $start Unix Time: Start time for query - * @param int $end Unix Time: End time for query - * - * @return array - */ -function PMA_getJsonForLogDataTypeGeneral($start, $end) -{ - $limitTypes = ''; - if (isset($_REQUEST['limitTypes']) && $_REQUEST['limitTypes']) { - $limitTypes - = 'AND argument REGEXP \'^(INSERT|SELECT|UPDATE|DELETE)\' '; - } - - $query = 'SELECT TIME(event_time) as event_time, user_host, thread_id, '; - $query .= 'server_id, argument, count(argument) as \'#\' '; - $query .= 'FROM `mysql`.`general_log` '; - $query .= 'WHERE command_type=\'Query\' '; - $query .= 'AND event_time > FROM_UNIXTIME(' . $start . ') '; - $query .= 'AND event_time < FROM_UNIXTIME(' . $end . ') '; - $query .= $limitTypes . 'GROUP by argument'; // HAVING count > 1'; - - $result = $GLOBALS['dbi']->tryQuery($query); - - $return = array('rows' => array(), 'sum' => array()); - $insertTables = array(); - $insertTablesFirst = -1; - $i = 0; - $removeVars = isset($_REQUEST['removeVariables']) - && $_REQUEST['removeVariables']; - - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - preg_match('/^(\w+)\s/', $row['argument'], $match); - $type = mb_strtolower($match[1]); - - if (! isset($return['sum'][$type])) { - $return['sum'][$type] = 0; - } - $return['sum'][$type] += $row['#']; - - switch($type) { - /** @noinspection PhpMissingBreakStatementInspection */ - case 'insert': - // Group inserts if selected - if ($removeVars - && preg_match( - '/^INSERT INTO (`|\'|"|)([^\s\\1]+)\\1/i', - $row['argument'], $matches - ) - ) { - $insertTables[$matches[2]]++; - if ($insertTables[$matches[2]] > 1) { - $return['rows'][$insertTablesFirst]['#'] - = $insertTables[$matches[2]]; - - // Add a ... to the end of this query to indicate that - // there's been other queries - $temp = $return['rows'][$insertTablesFirst]['argument']; - $return['rows'][$insertTablesFirst]['argument'] - .= PMA_getSuspensionPoints( - $temp[strlen($temp) - 1] - ); - - // Group this value, thus do not add to the result list - continue 2; - } else { - $insertTablesFirst = $i; - $insertTables[$matches[2]] += $row['#'] - 1; - } - } - // No break here - - case 'update': - // Cut off big inserts and updates, - // but append byte count therefor - if (mb_strlen($row['argument']) > 220) { - $row['argument'] = mb_substr($row['argument'], 0, 200) - . '... [' - . implode( - ' ', - PMA\libraries\Util::formatByteDown( - mb_strlen($row['argument']), - 2, - 2 - ) - ) - . ']'; - } - break; - - default: - break; - } - - $return['rows'][] = $row; - $i++; - } - - $return['sum']['TOTAL'] = array_sum($return['sum']); - $return['numRows'] = count($return['rows']); - - $GLOBALS['dbi']->freeResult($result); - - return $return; -} - -/** - * Return suspension points if needed - * - * @param string $lastChar Last char - * - * @return null|string Return suspension points if needed - */ -function PMA_getSuspensionPoints($lastChar) -{ - if ($lastChar != '.') { - return '
    ...'; - } - - return null; -} -/** - * Returns JSon for logging vars - * - * @return array - */ -function PMA_getJsonForLoggingVars() -{ - if (isset($_REQUEST['varName']) && isset($_REQUEST['varValue'])) { - $value = $GLOBALS['dbi']->escapeString($_REQUEST['varValue']); - if (! is_numeric($value)) { - $value="'" . $value . "'"; - } - - if (! preg_match("/[^a-zA-Z0-9_]+/", $_REQUEST['varName'])) { - $GLOBALS['dbi']->query( - 'SET GLOBAL ' . $_REQUEST['varName'] . ' = ' . $value - ); - } - - } - - $loggingVars = $GLOBALS['dbi']->fetchResult( - 'SHOW GLOBAL VARIABLES WHERE Variable_name IN' - . ' ("general_log","slow_query_log","long_query_time","log_output")', - 0, - 1 - ); - return $loggingVars; -} - -/** - * Returns JSon for query_analyzer - * - * @return array - */ -function PMA_getJsonForQueryAnalyzer() -{ - $return = array(); - - if (strlen($_REQUEST['database']) > 0) { - $GLOBALS['dbi']->selectDb($_REQUEST['database']); - } - - if ($profiling = PMA\libraries\Util::profilingSupported()) { - $GLOBALS['dbi']->query('SET PROFILING=1;'); - } - - // Do not cache query - $query = preg_replace( - '/^(\s*SELECT)/i', - '\\1 SQL_NO_CACHE', - $_REQUEST['query'] - ); - - $GLOBALS['dbi']->tryQuery($query); - $return['affectedRows'] = $GLOBALS['cached_affected_rows']; - - $result = $GLOBALS['dbi']->tryQuery('EXPLAIN ' . $query); - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $return['explain'][] = $row; - } - - // In case an error happened - $return['error'] = $GLOBALS['dbi']->getError(); - - $GLOBALS['dbi']->freeResult($result); - - if ($profiling) { - $return['profiling'] = array(); - $result = $GLOBALS['dbi']->tryQuery( - 'SELECT seq,state,duration FROM INFORMATION_SCHEMA.PROFILING' - . ' WHERE QUERY_ID=1 ORDER BY seq' - ); - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $return['profiling'][]= $row; - } - $GLOBALS['dbi']->freeResult($result); - } - return $return; -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_processes.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_processes.lib.php deleted file mode 100644 index 7d31c582..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_processes.lib.php +++ /dev/null @@ -1,305 +0,0 @@ -getDisplay(); - $retval = $notice . ''; - return $retval; -} - -/** - * Prints Server Process list - * - * @return string - */ -function PMA_getHtmlForServerProcesslist() -{ - $url_params = array(); - - $show_full_sql = ! empty($_REQUEST['full']); - if ($show_full_sql) { - $url_params['full'] = 1; - $full_text_link = 'server_status_processes.php' . URL::getCommon( - array(), '?' - ); - } else { - $full_text_link = 'server_status_processes.php' . URL::getCommon( - array('full' => 1) - ); - } - - // This array contains display name and real column name of each - // sortable column in the table - $sortable_columns = array( - array( - 'column_name' => __('ID'), - 'order_by_field' => 'Id' - ), - array( - 'column_name' => __('User'), - 'order_by_field' => 'User' - ), - array( - 'column_name' => __('Host'), - 'order_by_field' => 'Host' - ), - array( - 'column_name' => __('Database'), - 'order_by_field' => 'db' - ), - array( - 'column_name' => __('Command'), - 'order_by_field' => 'Command' - ), - array( - 'column_name' => __('Time'), - 'order_by_field' => 'Time' - ), - array( - 'column_name' => __('Status'), - 'order_by_field' => 'State' - ), - array( - 'column_name' => __('Progress'), - 'order_by_field' => 'Progress' - ), - array( - 'column_name' => __('SQL query'), - 'order_by_field' => 'Info' - ) - ); - $sortableColCount = count($sortable_columns); - - $sql_query = $show_full_sql - ? 'SHOW FULL PROCESSLIST' - : 'SHOW PROCESSLIST'; - if ((! empty($_REQUEST['order_by_field']) - && ! empty($_REQUEST['sort_order'])) - || (! empty($_REQUEST['showExecuting'])) - ) { - $sql_query = 'SELECT * FROM `INFORMATION_SCHEMA`.`PROCESSLIST` '; - } - if (! empty($_REQUEST['showExecuting'])) { - $sql_query .= ' WHERE state != "" '; - } - if (!empty($_REQUEST['order_by_field']) && !empty($_REQUEST['sort_order'])) { - $sql_query .= ' ORDER BY ' - . Util::backquote($_REQUEST['order_by_field']) - . ' ' . $_REQUEST['sort_order']; - } - - $result = $GLOBALS['dbi']->query($sql_query); - - $retval = ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - foreach ($sortable_columns as $column) { - - $is_sorted = ! empty($_REQUEST['order_by_field']) - && ! empty($_REQUEST['sort_order']) - && ($_REQUEST['order_by_field'] == $column['order_by_field']); - - $column['sort_order'] = 'ASC'; - if ($is_sorted && $_REQUEST['sort_order'] === 'ASC') { - $column['sort_order'] = 'DESC'; - } - if (isset($_REQUEST['showExecuting'])) { - $column['showExecuting'] = 'on'; - } - - $retval .= ''; - } - - $retval .= ''; - $retval .= ''; - $retval .= ''; - - while ($process = $GLOBALS['dbi']->fetchAssoc($result)) { - $retval .= PMA_getHtmlForServerProcessItem( - $process, - $show_full_sql - ); - } - $retval .= ''; - $retval .= '
    ' . __('Processes') . ''; - $columnUrl = URL::getCommon($column); - $retval .= ''; - $retval .= ''
-                . __('Ascending') . ''; - } - - $retval .= ''; - - if (0 === --$sortableColCount) { - $retval .= ''; - if ($show_full_sql) { - $retval .= Util::getImage( - 's_partialtext.png', - __('Truncate Shown Queries') - ); - } else { - $retval .= Util::getImage( - 's_fulltext.png', - __('Show Full Queries') - ); - } - $retval .= ''; - } - $retval .= '
    '; - - return $retval; -} - -/** - * Returns the html for the list filter - * - * @return string - */ -function PMA_getHtmlForProcessListFilter() -{ - $showExecuting = ''; - if (! empty($_REQUEST['showExecuting'])) { - $showExecuting = ' checked="checked"'; - } - - $url_params = array( - 'ajax_request' => true, - 'full' => (isset($_REQUEST['full']) ? $_REQUEST['full'] : ''), - 'column_name' => (isset($_REQUEST['column_name']) ? $_REQUEST['column_name'] : ''), - 'order_by_field' - => (isset($_REQUEST['order_by_field']) ? $_REQUEST['order_by_field'] : ''), - 'sort_order' => (isset($_REQUEST['sort_order']) ? $_REQUEST['sort_order'] : ''), - ); - - $retval = ''; - $retval .= '
    '; - $retval .= '' . __('Filters') . ''; - $retval .= '
    '; - $retval .= ''; - $retval .= '
    '; - $retval .= ''; - $retval .= ''; - $retval .= '
    '; - $retval .= '
    '; - $retval .= '
    '; - - return $retval; -} - -/** - * Prints Every Item of Server Process - * - * @param array $process data of Every Item of Server Process - * @param bool $show_full_sql show full sql or not - * - * @return string - */ -function PMA_getHtmlForServerProcessItem($process, $show_full_sql) -{ - // Array keys need to modify due to the way it has used - // to display column values - if ((! empty($_REQUEST['order_by_field']) && ! empty($_REQUEST['sort_order'])) - || (! empty($_REQUEST['showExecuting'])) - ) { - foreach (array_keys($process) as $key) { - $new_key = ucfirst(mb_strtolower($key)); - if ($new_key !== $key) { - $process[$new_key] = $process[$key]; - unset($process[$key]); - } - } - } - - $url_params = array( - 'kill' => $process['Id'], - 'ajax_request' => true - ); - $kill_process = 'server_status_processes.php' . URL::getCommon($url_params); - - $retval = ''; - $retval .= '' - . __('Kill') . ''; - $retval .= '' . $process['Id'] . ''; - $retval .= '' . htmlspecialchars($process['User']) . ''; - $retval .= '' . htmlspecialchars($process['Host']) . ''; - $retval .= '' . ((! isset($process['db']) - || strlen($process['db']) === 0) - ? '' . __('None') . '' - : htmlspecialchars($process['db'])) . ''; - $retval .= '' . htmlspecialchars($process['Command']) . ''; - $retval .= '' . $process['Time'] . ''; - $processStatusStr = empty($process['State']) ? '---' : $process['State']; - $retval .= '' . $processStatusStr . ''; - $processProgress = empty($process['Progress']) ? '---' : $process['Progress']; - $retval .= '' . $processProgress . ''; - $retval .= ''; - - if (empty($process['Info'])) { - $retval .= '---'; - } else { - $retval .= Util::formatSql($process['Info'], ! $show_full_sql); - } - $retval .= ''; - $retval .= ''; - - return $retval; -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_queries.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_queries.lib.php deleted file mode 100644 index 270a7529..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_queries.lib.php +++ /dev/null @@ -1,145 +0,0 @@ -status['Uptime']; - $used_queries = $ServerStatusData->used_queries; - $total_queries = array_sum($used_queries); - - $retval .= '

    '; - /* l10n: Questions is the name of a MySQL Status variable */ - $retval .= sprintf( - __('Questions since startup: %s'), - PMA\libraries\Util::formatNumber($total_queries, 0) - ); - $retval .= ' '; - $retval .= PMA\libraries\Util::showMySQLDocu( - 'server-status-variables', - false, - 'statvar_Questions' - ); - $retval .= '
    '; - $retval .= ''; - $retval .= 'ø ' . __('per hour:') . ' '; - $retval .= PMA\libraries\Util::formatNumber($total_queries * $hour_factor, 0); - $retval .= '
    '; - $retval .= 'ø ' . __('per minute:') . ' '; - $retval .= PMA\libraries\Util::formatNumber( - $total_queries * 60 / $ServerStatusData->status['Uptime'], - 0 - ); - $retval .= '
    '; - if ($total_queries / $ServerStatusData->status['Uptime'] >= 1) { - $retval .= 'ø ' . __('per second:') . ' '; - $retval .= PMA\libraries\Util::formatNumber( - $total_queries / $ServerStatusData->status['Uptime'], - 0 - ); - } - $retval .= '
    '; - $retval .= '

    '; - - $retval .= PMA_getHtmlForServerStatusQueriesDetails($ServerStatusData); - - return $retval; -} - -/** - * Returns the html content for the query details - * - * @param ServerStatusData $ServerStatusData Server status data - * - * @return string - */ -function PMA_getHtmlForServerStatusQueriesDetails($ServerStatusData) -{ - $hour_factor = 3600 / $ServerStatusData->status['Uptime']; - $used_queries = $ServerStatusData->used_queries; - $total_queries = array_sum($used_queries); - // reverse sort by value to show most used statements first - arsort($used_queries); - - //(- $ServerStatusData->status['Connections']); - $perc_factor = 100 / $total_queries; - - $retval = ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - - $chart_json = array(); - $query_sum = array_sum($used_queries); - $other_sum = 0; - foreach ($used_queries as $name => $value) { - // For the percentage column, use Questions - Connections, because - // the number of connections is not an item of the Query types - // but is included in Questions. Then the total of the percentages is 100. - $name = str_replace(array('Com_', '_'), array('', ' '), $name); - // Group together values that make out less than 2% into "Other", but only - // if we have more than 6 fractions already - if ($value < $query_sum * 0.02 && count($chart_json)>6) { - $other_sum += $value; - } else { - $chart_json[$name] = $value; - } - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - } - $retval .= ''; - $retval .= '
    ' . __('Statements') . ''; - /* l10n: # = Amount of queries */ - $retval .= __('#'); - $retval .= 'ø ' . __('per hour') - . '%
    ' . htmlspecialchars($name) . ''; - $retval .= htmlspecialchars( - PMA\libraries\Util::formatNumber($value, 5, 0, true) - ); - $retval .= ''; - $retval .= htmlspecialchars( - PMA\libraries\Util::formatNumber($value * $hour_factor, 4, 1, true) - ); - $retval .= ''; - $retval .= htmlspecialchars( - PMA\libraries\Util::formatNumber($value * $perc_factor, 0, 2) - ); - $retval .= '
    '; - - $retval .= '
    '; - - return $retval; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_variables.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_variables.lib.php deleted file mode 100644 index 0b4d6356..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_status_variables.lib.php +++ /dev/null @@ -1,763 +0,0 @@ -'; - $retval .= '' . __('Filters') . ''; - $retval .= '
    '; - $retval .= ''; - $retval .= '
    '; - $retval .= ''; - $retval .= ''; - $retval .= '
    '; - $retval .= '
    '; - $retval .= ''; - $retval .= ''; - $retval .= '
    '; - $retval .= '
    '; - $retval .= ''; - $retval .= '
    '; - $retval .= '
    '; - $retval .= ''; - $retval .= ''; - $retval .= '
    '; - $retval .= '
    '; - $retval .= ''; - - return $retval; -} - -/** - * Prints the suggestion links - * - * @param ServerStatusData $ServerStatusData Server status data - * - * @return string - */ -function PMA_getHtmlForLinkSuggestions($ServerStatusData) -{ - $retval = ''; - - return $retval; -} - -/** - * Returns a table with variables information - * - * @param ServerStatusData $ServerStatusData Server status data - * - * @return string - */ -function PMA_getHtmlForVariablesList($ServerStatusData) -{ - $retval = ''; - $strShowStatus = PMA_getStatusVariablesDescriptions(); - /** - * define some alerts - */ - // name => max value before alert - $alerts = array( - // lower is better - // variable => max value - 'Aborted_clients' => 0, - 'Aborted_connects' => 0, - - 'Binlog_cache_disk_use' => 0, - - 'Created_tmp_disk_tables' => 0, - - 'Handler_read_rnd' => 0, - 'Handler_read_rnd_next' => 0, - - 'Innodb_buffer_pool_pages_dirty' => 0, - 'Innodb_buffer_pool_reads' => 0, - 'Innodb_buffer_pool_wait_free' => 0, - 'Innodb_log_waits' => 0, - 'Innodb_row_lock_time_avg' => 10, // ms - 'Innodb_row_lock_time_max' => 50, // ms - 'Innodb_row_lock_waits' => 0, - - 'Slow_queries' => 0, - 'Delayed_errors' => 0, - 'Select_full_join' => 0, - 'Select_range_check' => 0, - 'Sort_merge_passes' => 0, - 'Opened_tables' => 0, - 'Table_locks_waited' => 0, - 'Qcache_lowmem_prunes' => 0, - - 'Qcache_free_blocks' => - isset($ServerStatusData->status['Qcache_total_blocks']) - ? $ServerStatusData->status['Qcache_total_blocks'] / 5 - : 0, - 'Slow_launch_threads' => 0, - - // depends on Key_read_requests - // normally lower then 1:0.01 - 'Key_reads' => isset($ServerStatusData->status['Key_read_requests']) - ? (0.01 * $ServerStatusData->status['Key_read_requests']) : 0, - // depends on Key_write_requests - // normally nearly 1:1 - 'Key_writes' => isset($ServerStatusData->status['Key_write_requests']) - ? (0.9 * $ServerStatusData->status['Key_write_requests']) : 0, - - 'Key_buffer_fraction' => 0.5, - - // alert if more than 95% of thread cache is in use - 'Threads_cached' => isset($ServerStatusData->variables['thread_cache_size']) - ? 0.95 * $ServerStatusData->variables['thread_cache_size'] : 0 - - // higher is better - // variable => min value - //'Handler read key' => '> ', - ); - - $retval .= PMA_getHtmlForRenderVariables( - $ServerStatusData, - $alerts, - $strShowStatus - ); - - return $retval; -} - -/** - * Returns HTML for render variables list - * - * @param ServerStatusData $ServerStatusData Server status data - * @param array $alerts Alert Array - * @param array $strShowStatus Status Array - * - * @return string - */ -function PMA_getHtmlForRenderVariables($ServerStatusData, $alerts, $strShowStatus) -{ - $retval = ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - $retval .= ''; - - foreach ($ServerStatusData->status as $name => $value) { - $retval .= ''; - - $retval .= ''; - - $retval .= ''; - $retval .= ''; - $retval .= ''; - } - $retval .= ''; - $retval .= '
    ' . __('Variable') . '' . __('Value') . '' . __('Description') . '
    '; - $retval .= htmlspecialchars(str_replace('_', ' ', $name)); - // Fields containing % are calculated, - // they can not be described in MySQL documentation - if (mb_strpos($name, '%') === false) { - $retval .= PMA\libraries\Util::showMySQLDocu( - 'server-status-variables', - false, - 'statvar_' . $name - ); - } - $retval .= ''; - if (isset($alerts[$name])) { - if ($value > $alerts[$name]) { - $retval .= ''; - } else { - $retval .= ''; - } - } - if (substr($name, -1) === '%') { - $retval .= htmlspecialchars( - PMA\libraries\Util::formatNumber($value, 0, 2) - ) . ' %'; - } elseif (strpos($name, 'Uptime') !== false) { - $retval .= htmlspecialchars( - PMA\libraries\Util::timespanFormat($value) - ); - } elseif (is_numeric($value) && $value > 1000) { - $retval .= '' - . htmlspecialchars(PMA\libraries\Util::formatNumber($value, 3, 1)) - . ''; - } elseif (is_numeric($value)) { - $retval .= htmlspecialchars( - PMA\libraries\Util::formatNumber($value, 3, 1) - ); - } else { - $retval .= htmlspecialchars($value); - } - if (isset($alerts[$name])) { - $retval .= ''; - } - $retval .= ''; - $retval .= ''; - - if (isset($strShowStatus[$name])) { - $retval .= $strShowStatus[$name]; - } - - if (isset($ServerStatusData->links[$name])) { - foreach ($ServerStatusData->links[$name] as $link_name => $link_url) { - if ('doc' == $link_name) { - $retval .= PMA\libraries\Util::showMySQLDocu($link_url); - } else { - $retval .= ' ' . $link_name . ''; - } - } - unset($link_url, $link_name); - } - $retval .= '
    '; - - return $retval; -} - -/** - * Returns a list of variable descriptions - * - * @return array - */ -function PMA_getStatusVariablesDescriptions() -{ - /** - * Messages are built using the message name - */ - return array( - 'Aborted_clients' => __( - 'The number of connections that were aborted because the client died' - . ' without closing the connection properly.' - ), - 'Aborted_connects' => __( - 'The number of failed attempts to connect to the MySQL server.' - ), - 'Binlog_cache_disk_use' => __( - 'The number of transactions that used the temporary binary log cache' - . ' but that exceeded the value of binlog_cache_size and used a' - . ' temporary file to store statements from the transaction.' - ), - 'Binlog_cache_use' => __( - 'The number of transactions that used the temporary binary log cache.' - ), - 'Connections' => __( - 'The number of connection attempts (successful or not)' - . ' to the MySQL server.' - ), - 'Created_tmp_disk_tables' => __( - 'The number of temporary tables on disk created automatically by' - . ' the server while executing statements. If' - . ' Created_tmp_disk_tables is big, you may want to increase the' - . ' tmp_table_size value to cause temporary tables to be' - . ' memory-based instead of disk-based.' - ), - 'Created_tmp_files' => __( - 'How many temporary files mysqld has created.' - ), - 'Created_tmp_tables' => __( - 'The number of in-memory temporary tables created automatically' - . ' by the server while executing statements.' - ), - 'Delayed_errors' => __( - 'The number of rows written with INSERT DELAYED for which some' - . ' error occurred (probably duplicate key).' - ), - 'Delayed_insert_threads' => __( - 'The number of INSERT DELAYED handler threads in use. Every' - . ' different table on which one uses INSERT DELAYED gets' - . ' its own thread.' - ), - 'Delayed_writes' => __( - 'The number of INSERT DELAYED rows written.' - ), - 'Flush_commands' => __( - 'The number of executed FLUSH statements.' - ), - 'Handler_commit' => __( - 'The number of internal COMMIT statements.' - ), - 'Handler_delete' => __( - 'The number of times a row was deleted from a table.' - ), - 'Handler_discover' => __( - 'The MySQL server can ask the NDB Cluster storage engine if it' - . ' knows about a table with a given name. This is called discovery.' - . ' Handler_discover indicates the number of time tables have been' - . ' discovered.' - ), - 'Handler_read_first' => __( - 'The number of times the first entry was read from an index. If this' - . ' is high, it suggests that the server is doing a lot of full' - . ' index scans; for example, SELECT col1 FROM foo, assuming that' - . ' col1 is indexed.' - ), - 'Handler_read_key' => __( - 'The number of requests to read a row based on a key. If this is' - . ' high, it is a good indication that your queries and tables' - . ' are properly indexed.' - ), - 'Handler_read_next' => __( - 'The number of requests to read the next row in key order. This is' - . ' incremented if you are querying an index column with a range' - . ' constraint or if you are doing an index scan.' - ), - 'Handler_read_prev' => __( - 'The number of requests to read the previous row in key order.' - . ' This read method is mainly used to optimize ORDER BY … DESC.' - ), - 'Handler_read_rnd' => __( - 'The number of requests to read a row based on a fixed position.' - . ' This is high if you are doing a lot of queries that require' - . ' sorting of the result. You probably have a lot of queries that' - . ' require MySQL to scan whole tables or you have joins that' - . ' don\'t use keys properly.' - ), - 'Handler_read_rnd_next' => __( - 'The number of requests to read the next row in the data file.' - . ' This is high if you are doing a lot of table scans. Generally' - . ' this suggests that your tables are not properly indexed or that' - . ' your queries are not written to take advantage of the indexes' - . ' you have.' - ), - 'Handler_rollback' => __( - 'The number of internal ROLLBACK statements.' - ), - 'Handler_update' => __( - 'The number of requests to update a row in a table.' - ), - 'Handler_write' => __( - 'The number of requests to insert a row in a table.' - ), - 'Innodb_buffer_pool_pages_data' => __( - 'The number of pages containing data (dirty or clean).' - ), - 'Innodb_buffer_pool_pages_dirty' => __( - 'The number of pages currently dirty.' - ), - 'Innodb_buffer_pool_pages_flushed' => __( - 'The number of buffer pool pages that have been requested' - . ' to be flushed.' - ), - 'Innodb_buffer_pool_pages_free' => __( - 'The number of free pages.' - ), - 'Innodb_buffer_pool_pages_latched' => __( - 'The number of latched pages in InnoDB buffer pool. These are pages' - . ' currently being read or written or that can\'t be flushed or' - . ' removed for some other reason.' - ), - 'Innodb_buffer_pool_pages_misc' => __( - 'The number of pages busy because they have been allocated for' - . ' administrative overhead such as row locks or the adaptive' - . ' hash index. This value can also be calculated as' - . ' Innodb_buffer_pool_pages_total - Innodb_buffer_pool_pages_free' - . ' - Innodb_buffer_pool_pages_data.' - ), - 'Innodb_buffer_pool_pages_total' => __( - 'Total size of buffer pool, in pages.' - ), - 'Innodb_buffer_pool_read_ahead_rnd' => __( - 'The number of "random" read-aheads InnoDB initiated. This happens' - . ' when a query is to scan a large portion of a table but in' - . ' random order.' - ), - 'Innodb_buffer_pool_read_ahead_seq' => __( - 'The number of sequential read-aheads InnoDB initiated. This' - . ' happens when InnoDB does a sequential full table scan.' - ), - 'Innodb_buffer_pool_read_requests' => __( - 'The number of logical read requests InnoDB has done.' - ), - 'Innodb_buffer_pool_reads' => __( - 'The number of logical reads that InnoDB could not satisfy' - . ' from buffer pool and had to do a single-page read.' - ), - 'Innodb_buffer_pool_wait_free' => __( - 'Normally, writes to the InnoDB buffer pool happen in the' - . ' background. However, if it\'s necessary to read or create a page' - . ' and no clean pages are available, it\'s necessary to wait for' - . ' pages to be flushed first. This counter counts instances of' - . ' these waits. If the buffer pool size was set properly, this' - . ' value should be small.' - ), - 'Innodb_buffer_pool_write_requests' => __( - 'The number writes done to the InnoDB buffer pool.' - ), - 'Innodb_data_fsyncs' => __( - 'The number of fsync() operations so far.' - ), - 'Innodb_data_pending_fsyncs' => __( - 'The current number of pending fsync() operations.' - ), - 'Innodb_data_pending_reads' => __( - 'The current number of pending reads.' - ), - 'Innodb_data_pending_writes' => __( - 'The current number of pending writes.' - ), - 'Innodb_data_read' => __( - 'The amount of data read so far, in bytes.' - ), - 'Innodb_data_reads' => __( - 'The total number of data reads.' - ), - 'Innodb_data_writes' => __( - 'The total number of data writes.' - ), - 'Innodb_data_written' => __( - 'The amount of data written so far, in bytes.' - ), - 'Innodb_dblwr_pages_written' => __( - 'The number of pages that have been written for' - . ' doublewrite operations.' - ), - 'Innodb_dblwr_writes' => __( - 'The number of doublewrite operations that have been performed.' - ), - 'Innodb_log_waits' => __( - 'The number of waits we had because log buffer was too small and' - . ' we had to wait for it to be flushed before continuing.' - ), - 'Innodb_log_write_requests' => __( - 'The number of log write requests.' - ), - 'Innodb_log_writes' => __( - 'The number of physical writes to the log file.' - ), - 'Innodb_os_log_fsyncs' => __( - 'The number of fsync() writes done to the log file.' - ), - 'Innodb_os_log_pending_fsyncs' => __( - 'The number of pending log file fsyncs.' - ), - 'Innodb_os_log_pending_writes' => __( - 'Pending log file writes.' - ), - 'Innodb_os_log_written' => __( - 'The number of bytes written to the log file.' - ), - 'Innodb_pages_created' => __( - 'The number of pages created.' - ), - 'Innodb_page_size' => __( - 'The compiled-in InnoDB page size (default 16KB). Many values are' - . ' counted in pages; the page size allows them to be easily' - . ' converted to bytes.' - ), - 'Innodb_pages_read' => __( - 'The number of pages read.' - ), - 'Innodb_pages_written' => __( - 'The number of pages written.' - ), - 'Innodb_row_lock_current_waits' => __( - 'The number of row locks currently being waited for.' - ), - 'Innodb_row_lock_time_avg' => __( - 'The average time to acquire a row lock, in milliseconds.' - ), - 'Innodb_row_lock_time' => __( - 'The total time spent in acquiring row locks, in milliseconds.' - ), - 'Innodb_row_lock_time_max' => __( - 'The maximum time to acquire a row lock, in milliseconds.' - ), - 'Innodb_row_lock_waits' => __( - 'The number of times a row lock had to be waited for.' - ), - 'Innodb_rows_deleted' => __( - 'The number of rows deleted from InnoDB tables.' - ), - 'Innodb_rows_inserted' => __( - 'The number of rows inserted in InnoDB tables.' - ), - 'Innodb_rows_read' => __( - 'The number of rows read from InnoDB tables.' - ), - 'Innodb_rows_updated' => __( - 'The number of rows updated in InnoDB tables.' - ), - 'Key_blocks_not_flushed' => __( - 'The number of key blocks in the key cache that have changed but' - . ' haven\'t yet been flushed to disk. It used to be known as' - . ' Not_flushed_key_blocks.' - ), - 'Key_blocks_unused' => __( - 'The number of unused blocks in the key cache. You can use this' - . ' value to determine how much of the key cache is in use.' - ), - 'Key_blocks_used' => __( - 'The number of used blocks in the key cache. This value is a' - . ' high-water mark that indicates the maximum number of blocks' - . ' that have ever been in use at one time.' - ), - 'Key_buffer_fraction_%' => __( - 'Percentage of used key cache (calculated value)' - ), - 'Key_read_requests' => __( - 'The number of requests to read a key block from the cache.' - ), - 'Key_reads' => __( - 'The number of physical reads of a key block from disk. If Key_reads' - . ' is big, then your key_buffer_size value is probably too small.' - . ' The cache miss rate can be calculated as' - . ' Key_reads/Key_read_requests.' - ), - 'Key_read_ratio_%' => __( - 'Key cache miss calculated as rate of physical reads compared' - . ' to read requests (calculated value)' - ), - 'Key_write_requests' => __( - 'The number of requests to write a key block to the cache.' - ), - 'Key_writes' => __( - 'The number of physical writes of a key block to disk.' - ), - 'Key_write_ratio_%' => __( - 'Percentage of physical writes compared' - . ' to write requests (calculated value)' - ), - 'Last_query_cost' => __( - 'The total cost of the last compiled query as computed by the query' - . ' optimizer. Useful for comparing the cost of different query' - . ' plans for the same query. The default value of 0 means that' - . ' no query has been compiled yet.' - ), - 'Max_used_connections' => __( - 'The maximum number of connections that have been in use' - . ' simultaneously since the server started.' - ), - 'Not_flushed_delayed_rows' => __( - 'The number of rows waiting to be written in INSERT DELAYED queues.' - ), - 'Opened_tables' => __( - 'The number of tables that have been opened. If opened tables is' - . ' big, your table cache value is probably too small.' - ), - 'Open_files' => __( - 'The number of files that are open.' - ), - 'Open_streams' => __( - 'The number of streams that are open (used mainly for logging).' - ), - 'Open_tables' => __( - 'The number of tables that are open.' - ), - 'Qcache_free_blocks' => __( - 'The number of free memory blocks in query cache. High numbers can' - . ' indicate fragmentation issues, which may be solved by issuing' - . ' a FLUSH QUERY CACHE statement.' - ), - 'Qcache_free_memory' => __( - 'The amount of free memory for query cache.' - ), - 'Qcache_hits' => __( - 'The number of cache hits.' - ), - 'Qcache_inserts' => __( - 'The number of queries added to the cache.' - ), - 'Qcache_lowmem_prunes' => __( - 'The number of queries that have been removed from the cache to' - . ' free up memory for caching new queries. This information can' - . ' help you tune the query cache size. The query cache uses a' - . ' least recently used (LRU) strategy to decide which queries' - . ' to remove from the cache.' - ), - 'Qcache_not_cached' => __( - 'The number of non-cached queries (not cachable, or not cached' - . ' due to the query_cache_type setting).' - ), - 'Qcache_queries_in_cache' => __( - 'The number of queries registered in the cache.' - ), - 'Qcache_total_blocks' => __( - 'The total number of blocks in the query cache.' - ), - 'Rpl_status' => __( - 'The status of failsafe replication (not yet implemented).' - ), - 'Select_full_join' => __( - 'The number of joins that do not use indexes. If this value is' - . ' not 0, you should carefully check the indexes of your tables.' - ), - 'Select_full_range_join' => __( - 'The number of joins that used a range search on a reference table.' - ), - 'Select_range_check' => __( - 'The number of joins without keys that check for key usage after' - . ' each row. (If this is not 0, you should carefully check the' - . ' indexes of your tables.)' - ), - 'Select_range' => __( - 'The number of joins that used ranges on the first table. (It\'s' - . ' normally not critical even if this is big.)' - ), - 'Select_scan' => __( - 'The number of joins that did a full scan of the first table.' - ), - 'Slave_open_temp_tables' => __( - 'The number of temporary tables currently' - . ' open by the slave SQL thread.' - ), - 'Slave_retried_transactions' => __( - 'Total (since startup) number of times the replication slave SQL' - . ' thread has retried transactions.' - ), - 'Slave_running' => __( - 'This is ON if this server is a slave that is connected to a master.' - ), - 'Slow_launch_threads' => __( - 'The number of threads that have taken more than slow_launch_time' - . ' seconds to create.' - ), - 'Slow_queries' => __( - 'The number of queries that have taken more than long_query_time' - . ' seconds.' - ), - 'Sort_merge_passes' => __( - 'The number of merge passes the sort algorithm has had to do.' - . ' If this value is large, you should consider increasing the' - . ' value of the sort_buffer_size system variable.' - ), - 'Sort_range' => __( - 'The number of sorts that were done with ranges.' - ), - 'Sort_rows' => __( - 'The number of sorted rows.' - ), - 'Sort_scan' => __( - 'The number of sorts that were done by scanning the table.' - ), - 'Table_locks_immediate' => __( - 'The number of times that a table lock was acquired immediately.' - ), - 'Table_locks_waited' => __( - 'The number of times that a table lock could not be acquired' - . ' immediately and a wait was needed. If this is high, and you have' - . ' performance problems, you should first optimize your queries,' - . ' and then either split your table or tables or use replication.' - ), - 'Threads_cached' => __( - 'The number of threads in the thread cache. The cache hit rate can' - . ' be calculated as Threads_created/Connections. If this value is' - . ' red you should raise your thread_cache_size.' - ), - 'Threads_connected' => __( - 'The number of currently open connections.' - ), - 'Threads_created' => __( - 'The number of threads created to handle connections. If' - . ' Threads_created is big, you may want to increase the' - . ' thread_cache_size value. (Normally this doesn\'t give a notable' - . ' performance improvement if you have a good thread' - . ' implementation.)' - ), - 'Threads_cache_hitrate_%' => __( - 'Thread cache hit rate (calculated value)' - ), - 'Threads_running' => __( - 'The number of threads that are not sleeping.' - ) - ); -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_user_groups.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_user_groups.lib.php deleted file mode 100644 index d10f638e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_user_groups.lib.php +++ /dev/null @@ -1,360 +0,0 @@ -' - . sprintf(__('Users of \'%s\' user group'), htmlspecialchars($userGroup)) - . ''; - - $cfgRelation = PMA_getRelationsParam(); - $usersTable = PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['users']); - $sql_query = "SELECT `username` FROM " . $usersTable - . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) - . "'"; - $result = PMA_queryAsControlUser($sql_query, false); - if ($result) { - if ($GLOBALS['dbi']->numRows($result) == 0) { - $html_output .= '

    ' - . __('No users were found belonging to this user group.') - . '

    '; - } else { - $html_output .= '' - . '' - . ''; - $i = 0; - while ($row = $GLOBALS['dbi']->fetchRow($result)) { - $i++; - $html_output .= '' - . '' - . '' - . ''; - } - $html_output .= '' - . '
    #' . __('User') . '
    ' . $i . ' ' . htmlspecialchars($row[0]) . '
    '; - } - } - $GLOBALS['dbi']->freeResult($result); - return $html_output; -} - -/** - * Returns HTML for the 'user groups' table - * - * @return string HTML for the 'user groups' table - */ -function PMA_getHtmlForUserGroupsTable() -{ - $html_output = '

    ' . __('User groups') . '

    '; - $cfgRelation = PMA_getRelationsParam(); - $groupTable = PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['usergroups']); - $sql_query = "SELECT * FROM " . $groupTable . " ORDER BY `usergroup` ASC"; - $result = PMA_queryAsControlUser($sql_query, false); - - if ($result && $GLOBALS['dbi']->numRows($result)) { - $html_output .= '
    '; - $html_output .= URL::getHiddenInputs(); - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - - $userGroups = array(); - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $groupName = $row['usergroup']; - if (! isset($userGroups[$groupName])) { - $userGroups[$groupName] = array(); - } - $userGroups[$groupName][$row['tab']] = $row['allowed']; - } - foreach ($userGroups as $groupName => $tabs) { - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - $html_output .= ''; - - $html_output .= ''; - - $html_output .= ''; - } - - $html_output .= ''; - $html_output .= '
    ' - . __('User group') . '' . __('Server level tabs') . '' . __('Database level tabs') . '' . __('Table level tabs') . '' . __('Action') . '
    ' . htmlspecialchars($groupName) . '' . _getAllowedTabNames($tabs, 'server') . '' . _getAllowedTabNames($tabs, 'db') . '' . _getAllowedTabNames($tabs, 'table') . ''; - $html_output .= '' - . PMA\libraries\Util::getIcon('b_usrlist.png', __('View users')) - . ''; - $html_output .= '  '; - $html_output .= '' - . PMA\libraries\Util::getIcon('b_edit.png', __('Edit')) . ''; - $html_output .= '  '; - $html_output .= '' - . PMA\libraries\Util::getIcon('b_drop.png', __('Delete')) . ''; - $html_output .= '
    '; - $html_output .= '
    '; - } - $GLOBALS['dbi']->freeResult($result); - - $html_output .= '
    '; - $html_output .= '' - . PMA\libraries\Util::getIcon('b_usradd.png') - . __('Add user group') . ''; - $html_output .= '
    '; - - return $html_output; -} - -/** - * Returns the list of allowed menu tab names - * based on a data row from usergroup table. - * - * @param array $row row of usergroup table - * @param string $level 'server', 'db' or 'table' - * - * @return string comma separated list of allowed menu tab names - */ -function _getAllowedTabNames($row, $level) -{ - $tabNames = array(); - $tabs = PMA\libraries\Util::getMenuTabList($level); - foreach ($tabs as $tab => $tabName) { - if (! isset($row[$level . '_' . $tab]) - || $row[$level . '_' . $tab] == 'Y' - ) { - $tabNames[] = $tabName; - } - } - return implode(', ', $tabNames); -} - -/** - * Deletes a user group - * - * @param string $userGroup user group name - * - * @return void - */ -function PMA_deleteUserGroup($userGroup) -{ - $cfgRelation = PMA_getRelationsParam(); - $userTable = PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['users']); - $groupTable = PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['usergroups']); - $sql_query = "DELETE FROM " . $userTable - . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) - . "'"; - PMA_queryAsControlUser($sql_query, true); - $sql_query = "DELETE FROM " . $groupTable - . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) - . "'"; - PMA_queryAsControlUser($sql_query, true); -} - -/** - * Returns HTML for add/edit user group dialog - * - * @param string $userGroup name of the user group in case of editing - * - * @return string HTML for add/edit user group dialog - */ -function PMA_getHtmlToEditUserGroup($userGroup = null) -{ - $html_output = ''; - if ($userGroup == null) { - $html_output .= '

    ' . __('Add user group') . '

    '; - } else { - $html_output .= '

    ' - . sprintf(__('Edit user group: \'%s\''), htmlspecialchars($userGroup)) - . '

    '; - } - - $html_output .= '
    '; - $urlParams = array(); - if ($userGroup != null) { - $urlParams['userGroup'] = $userGroup; - $urlParams['editUserGroupSubmit'] = '1'; - } else { - $urlParams['addUserGroupSubmit'] = '1'; - } - $html_output .= URL::getHiddenInputs($urlParams); - - $html_output .= '
    '; - $html_output .= '' . __('User group menu assignments') - . '   ' - . '' - . '' - . ''; - - if ($userGroup == null) { - $html_output .= ''; - $html_output .= ''; - $html_output .= '
    '; - } - - $allowedTabs = array( - 'server' => array(), - 'db' => array(), - 'table' => array() - ); - if ($userGroup != null) { - $cfgRelation = PMA_getRelationsParam(); - $groupTable = PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['usergroups']); - $sql_query = "SELECT * FROM " . $groupTable - . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) - . "'"; - $result = PMA_queryAsControlUser($sql_query, false); - if ($result) { - while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { - $key = $row['tab']; - $value = $row['allowed']; - if (substr($key, 0, 7) == 'server_' && $value == 'Y') { - $allowedTabs['server'][] = mb_substr($key, 7); - } elseif (substr($key, 0, 3) == 'db_' && $value == 'Y') { - $allowedTabs['db'][] = mb_substr($key, 3); - } elseif (substr($key, 0, 6) == 'table_' - && $value == 'Y' - ) { - $allowedTabs['table'][] = mb_substr($key, 6); - } - } - } - $GLOBALS['dbi']->freeResult($result); - } - - $html_output .= _getTabList( - __('Server-level tabs'), 'server', $allowedTabs['server'] - ); - $html_output .= _getTabList( - __('Database-level tabs'), 'db', $allowedTabs['db'] - ); - $html_output .= _getTabList( - __('Table-level tabs'), 'table', $allowedTabs['table'] - ); - - $html_output .= '
    '; - - $html_output .= ''; - - return $html_output; -} - -/** - * Returns HTML for checkbox groups to choose - * tabs of 'server', 'db' or 'table' levels. - * - * @param string $title title of the checkbox group - * @param string $level 'server', 'db' or 'table' - * @param array $selected array of selected allowed tabs - * - * @return string HTML for checkbox groups - */ -function _getTabList($title, $level, $selected) -{ - $tabs = PMA\libraries\Util::getMenuTabList($level); - $html_output = '
    '; - $html_output .= '' . $title . ''; - foreach ($tabs as $tab => $tabName) { - $html_output .= '
    '; - $html_output .= ''; - $html_output .= ''; - $html_output .= '
    '; - } - $html_output .= '
    '; - return $html_output; -} - -/** - * Add/update a user group with allowed menu tabs. - * - * @param string $userGroup user group name - * @param boolean $new whether this is a new user group - * - * @return void - */ -function PMA_editUserGroup($userGroup, $new = false) -{ - $tabs = PMA\libraries\Util::getMenuTabList(); - $cfgRelation = PMA_getRelationsParam(); - $groupTable = PMA\libraries\Util::backquote($cfgRelation['db']) - . "." . PMA\libraries\Util::backquote($cfgRelation['usergroups']); - - if (! $new) { - $sql_query = "DELETE FROM " . $groupTable - . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) - . "';"; - PMA_queryAsControlUser($sql_query, true); - } - - $sql_query = "INSERT INTO " . $groupTable - . "(`usergroup`, `tab`, `allowed`)" - . " VALUES "; - $first = true; - foreach ($tabs as $tabGroupName => $tabGroup) { - foreach ($tabGroup as $tab => $tabName) { - if (! $first) { - $sql_query .= ", "; - } - $tabName = $tabGroupName . '_' . $tab; - $allowed = isset($_REQUEST[$tabName]) && $_REQUEST[$tabName] == 'Y'; - $sql_query .= "('" . $GLOBALS['dbi']->escapeString($userGroup) . "', '" . $tabName . "', '" - . ($allowed ? "Y" : "N") . "')"; - $first = false; - } - } - $sql_query .= ";"; - PMA_queryAsControlUser($sql_query, true); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_users.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_users.lib.php deleted file mode 100644 index bbf0a623..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/server_users.lib.php +++ /dev/null @@ -1,54 +0,0 @@ - __('User accounts overview'), - 'url' => 'server_privileges.php', - 'specific_params' => '&viewing_mode=server' - ) - ); - - if ($GLOBALS['is_superuser']) { - $items[] = array( - 'name' => __('User groups'), - 'url' => 'server_user_groups.php', - 'specific_params' => '' - ); - } - - $retval = '
      '; - foreach ($items as $item) { - $class = ''; - if ($item['url'] === $selfUrl) { - $class = ' class="tabactive"'; - } - $retval .= '
    • '; - $retval .= ''; - $retval .= $item['name']; - $retval .= ''; - $retval .= '
    • '; - } - $retval .= '
    '; - $retval .= '
    '; - - return $retval; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/session.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/session.inc.php deleted file mode 100644 index d62c6041..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/session.inc.php +++ /dev/null @@ -1,157 +0,0 @@ -getRootPath(), - '', $GLOBALS['PMA_Config']->isHttps(), true -); - -// cookies are safer (use @ini_set() in case this function is disabled) -@ini_set('session.use_cookies', 'true'); - -// optionally set session_save_path -$path = $GLOBALS['PMA_Config']->get('SessionSavePath'); -if (!empty($path)) { - session_save_path($path); -} - -// use cookies only -@ini_set('session.use_only_cookies', '1'); -// strict session mode (do not accept random string as session ID) -@ini_set('session.use_strict_mode', '1'); -// make the session cookie HttpOnly -@ini_set('session.cookie_httponly', '1'); -// do not force transparent session ids -@ini_set('session.use_trans_sid', '0'); - -// delete session/cookies when browser is closed -@ini_set('session.cookie_lifetime', '0'); - -// warn but don't work with bug -@ini_set('session.bug_compat_42', 'false'); -@ini_set('session.bug_compat_warn', 'true'); - -// use more secure session ids -@ini_set('session.hash_function', '1'); - -// some pages (e.g. stylesheet) may be cached on clients, but not in shared -// proxy servers -session_cache_limiter('private'); - -// start the session -// on some servers (for example, sourceforge.net), we get a permission error -// on the session data directory, so I add some "@" - - -function PMA_sessionFailed($errors) -{ - $messages = array(); - foreach ($errors as $error) { - /* - * Remove path from open() in error message to avoid path disclossure - * - * This can happen with PHP 5 when nonexisting session ID is provided, - * since PHP 7, session existence is checked first. - * - * This error can also happen in case of session backed error (eg. - * read only filesystem) on any PHP version. - * - * The message string is currently hardcoded in PHP, so hopefully it - * will not change in future. - */ - $messages[] = preg_replace( - '/open\(.*, O_RDWR\)/', - 'open(SESSION_FILE, O_RDWR)', - htmlspecialchars($error->getMessage()) - ); - } - - /* - * Session initialization is done before selecting language, so we - * can not use translations here. - */ - PMA_fatalError( - 'Error during session start; please check your PHP and/or ' - . 'webserver log file and configure your PHP ' - . 'installation properly. Also ensure that cookies are enabled ' - . 'in your browser.' - . '

    ' - . implode('

    ', $messages) - ); -} - -// See bug #1538132. This would block normal behavior on a cluster -//ini_set('session.save_handler', 'files'); - -$session_name = 'phpMyAdmin'; -@session_name($session_name); - -// on first start of session we check for errors -// f.e. session dir cannot be accessed - session file not created -$orig_error_count = $GLOBALS['error_handler']->countErrors(false); - -$session_result = session_start(); - -if ($session_result !== true - || $orig_error_count != $GLOBALS['error_handler']->countErrors(false) -) { - setcookie($session_name, '', 1); - $errors = $GLOBALS['error_handler']->sliceErrors($orig_error_count); - PMA_sessionFailed($errors); -} -unset($orig_error_count, $session_result); - -/** - * Disable setting of session cookies for further session_start() calls. - */ -@ini_set('session.use_cookies', 'true'); - -/** - * Token which is used for authenticating access queries. - * (we use "space PMA_token space" to prevent overwriting) - */ -if (! isset($_SESSION[' PMA_token '])) { - PMA_generateToken(); - - /** - * Check for disk space on session storage by trying to write it. - * - * This seems to be most reliable approach to test if sessions are working, - * otherwise the check would fail with custom session backends. - */ - $orig_error_count = $GLOBALS['error_handler']->countErrors(); - session_write_close(); - if ($GLOBALS['error_handler']->countErrors() > $orig_error_count) { - $errors = $GLOBALS['error_handler']->sliceErrors($orig_error_count); - PMA_sessionFailed($errors); - } - session_start(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/session.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/session.lib.php deleted file mode 100644 index 5b0404b9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/session.lib.php +++ /dev/null @@ -1,48 +0,0 @@ - array( - * // Table name - * 'db' => array( - * // Column name - * 'user' => array( - * // Main url param (can be an array where represent sql) - * 'link_param' => 'username', - * // Other url params - * 'link_dependancy_params' => array( - * 0 => array( - * // URL parameter name - * // (can be array where url param has static value) - * 'param_info' => 'hostname', - * // Column name related to url param - * 'column_name' => 'host' - * ) - * ), - * // Page to link - * 'default_page' => './server_privileges.php' - * ) - * ) - * ) - * ); - * - */ -$GLOBALS['special_schema_links'] = array( - 'mysql' => array( - 'columns_priv' => array( - 'user' => array( - 'link_param' => 'username', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'hostname', - 'column_name' => 'host' - ) - ), - 'default_page' => './server_privileges.php' - ), - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'Db' - ), - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - 'column_name' => array( - 'link_param' => 'field', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'Db' - ), - 1 => array( - 'param_info' => 'table', - 'column_name' => 'Table_name' - ) - ), - 'default_page' => './tbl_structure.php?change_column=1' - ), - ), - 'db' => array( - 'user' => array( - 'link_param' => 'username', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'hostname', - 'column_name' => 'host' - ) - ), - 'default_page' => './server_privileges.php' - ) - ), - 'event' => array( - 'name' => array( - 'link_param' => 'item_name', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'db' - ) - ), - 'default_page' => './db_events.php?edit_item=1' - ), - - ), - 'innodb_index_stats' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'database_name' - ), - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - 'index_name' => array( - 'link_param' => 'index', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'database_name' - ), - 1 => array( - 'param_info' => 'table', - 'column_name' => 'table_name' - ) - ), - 'default_page' => './tbl_structure.php' - ), - ), - 'innodb_table_stats' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'database_name' - ), - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - ), - 'proc' => array( - 'name' => array( - 'link_param' => 'item_name', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'db' - ), - 1 => array( - 'param_info' => 'item_type', - 'column_name' => 'type' - ) - ), - 'default_page' => './db_routines.php?edit_item=1' - ), - 'specific_name' => array( - 'link_param' => 'item_name', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'db' - ), - 1 => array( - 'param_info' => 'item_type', - 'column_name' => 'type' - ) - ), - 'default_page' => './db_routines.php?edit_item=1' - ), - ), - 'proc_priv' => array( - 'user' => array( - 'link_param' => 'username', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'hostname', - 'column_name' => 'Host' - ) - ), - 'default_page' => './server_privileges.php' - ), - 'routine_name' => array( - 'link_param' => 'item_name', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'Db' - ), - 1 => array( - 'param_info' => 'item_type', - 'column_name' => 'Routine_type' - ) - ), - 'default_page' => './db_routines.php?edit_item=1' - ), - ), - 'proxies_priv' => array( - 'user' => array( - 'link_param' => 'username', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'hostname', - 'column_name' => 'Host' - ) - ), - 'default_page' => './server_privileges.php' - ), - ), - 'tables_priv' => array( - 'user' => array( - 'link_param' => 'username', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'hostname', - 'column_name' => 'Host' - ) - ), - 'default_page' => './server_privileges.php' - ), - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'Db' - ), - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - ), - 'user' => array( - 'user' => array( - 'link_param' => 'username', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'hostname', - 'column_name' => 'host' - ) - ), - 'default_page' => './server_privileges.php' - ) - ) - ), - 'information_schema' => array( - 'columns' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'table_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - 'column_name' => array( - 'link_param' => 'field', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'table_schema' - ), - 1 => array( - 'param_info' => 'table', - 'column_name' => 'table_name' - ) - ), - 'default_page' => './tbl_structure.php?change_column=1' - ) - ), - 'key_column_usage' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'constraint_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - 'column_name' => array( - 'link_param' => 'field', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'table_schema' - ), - 1 => array( - 'param_info' => 'table', - 'column_name' => 'table_name' - ) - ), - 'default_page' => './tbl_structure.php?change_column=1' - ), - 'referenced_table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'referenced_table_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - 'referenced_column_name' => array( - 'link_param' => 'field', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'referenced_table_schema' - ), - 1 => array( - 'param_info' => 'table', - 'column_name' => 'referenced_table_name' - ) - ), - 'default_page' => './tbl_structure.php?change_column=1' - ) - ), - 'partitions' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'table_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ) - ), - 'processlist' => array( - 'user' => array( - 'link_param' => 'username', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'hostname', - 'column_name' => 'host' - ) - ), - 'default_page' => './server_privileges.php' - ) - ), - 'referential_constraints' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'constraint_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - 'referenced_table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'constraint_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ) - ), - 'routines' => array( - 'routine_name' => array( - 'link_param' => 'item_name', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'routine_schema' - ), - 1 => array( - 'param_info' => 'item_type', - 'column_name' => 'routine_type' - ) - ), - 'default_page' => './db_routines.php' - ), - ), - 'schemata' => array( - 'schema_name' => array( - 'link_param' => 'db', - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ) - ), - 'statistics' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'table_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - 'column_name' => array( - 'link_param' => 'field', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'table_schema' - ), - 1 => array( - 'param_info' => 'table', - 'column_name' => 'table_name' - ) - ), - 'default_page' => './tbl_structure.php?change_column=1' - ) - ), - 'tables' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'table_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - ), - 'table_constraints' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'table_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - ), - 'views' => array( - 'table_name' => array( - 'link_param' => 'table', - 'link_dependancy_params' => array( - 0 => array( - 'param_info' => 'db', - 'column_name' => 'table_schema' - ) - ), - 'default_page' => './' . PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' - ) - ), - ), - ) -); - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sql.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sql.lib.php deleted file mode 100644 index cb45ad02..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sql.lib.php +++ /dev/null @@ -1,2250 +0,0 @@ -getUiProp(Table::PROP_SORTED_COLUMN); - if (empty($sortCol)) { - return; - } - - // Remove the name of the table from the retrieved field name. - $sortCol = str_replace( - PMA\libraries\Util::backquote($table) . '.', - '', - $sortCol - ); - - // Create the new query. - $full_sql_query = PhpMyAdmin\SqlParser\Utils\Query::replaceClause( - $analyzed_sql_results['statement'], - $analyzed_sql_results['parser']->list, - 'ORDER BY ' . $sortCol - ); - - // TODO: Avoid reparsing the query. - $analyzed_sql_results = PhpMyAdmin\SqlParser\Utils\Query::getAll($full_sql_query); - } else { - // Store the remembered table into session. - $pmatable->setUiProp( - Table::PROP_SORTED_COLUMN, - PhpMyAdmin\SqlParser\Utils\Query::getClause( - $analyzed_sql_results['statement'], - $analyzed_sql_results['parser']->list, - 'ORDER BY' - ) - ); - } -} - -/** - * Append limit clause to SQL query - * - * @param array &$analyzed_sql_results the analyzed query results - * - * @return string limit clause appended SQL query - */ -function PMA_getSqlWithLimitClause(&$analyzed_sql_results) -{ - return PhpMyAdmin\SqlParser\Utils\Query::replaceClause( - $analyzed_sql_results['statement'], - $analyzed_sql_results['parser']->list, - 'LIMIT ' . $_SESSION['tmpval']['pos'] . ', ' - . $_SESSION['tmpval']['max_rows'] - ); -} - -/** - * Verify whether the result set has columns from just one table - * - * @param array $fields_meta meta fields - * - * @return boolean whether the result set has columns from just one table - */ -function PMA_resultSetHasJustOneTable($fields_meta) -{ - $just_one_table = true; - $prev_table = ''; - foreach ($fields_meta as $one_field_meta) { - if ($one_field_meta->table != '' - && $prev_table != '' - && $one_field_meta->table != $prev_table - ) { - $just_one_table = false; - } - if ($one_field_meta->table != '') { - $prev_table = $one_field_meta->table; - } - } - return $just_one_table && $prev_table != ''; -} - -/** - * Verify whether the result set contains all the columns - * of at least one unique key - * - * @param string $db database name - * @param string $table table name - * @param array $fields_meta meta fields - * - * @return boolean whether the result set contains a unique key - */ -function PMA_resultSetContainsUniqueKey($db, $table, $fields_meta) -{ - $resultSetColumnNames = array(); - foreach ($fields_meta as $oneMeta) { - $resultSetColumnNames[] = $oneMeta->name; - } - foreach (PMA\libraries\Index::getFromTable($table, $db) as $index) { - if ($index->isUnique()) { - $indexColumns = $index->getColumns(); - $numberFound = 0; - foreach ($indexColumns as $indexColumnName => $dummy) { - if (in_array($indexColumnName, $resultSetColumnNames)) { - $numberFound++; - } - } - if ($numberFound == count($indexColumns)) { - return true; - } - } - } - return false; -} - -/** - * Get the HTML for relational column dropdown - * During grid edit, if we have a relational field, returns the html for the - * dropdown - * - * @param string $db current database - * @param string $table current table - * @param string $column current column - * @param string $curr_value current selected value - * - * @return string $dropdown html for the dropdown - */ -function PMA_getHtmlForRelationalColumnDropdown($db, $table, $column, $curr_value) -{ - $foreigners = PMA_getForeigners($db, $table, $column); - - $foreignData = PMA_getForeignData($foreigners, $column, false, '', ''); - - if ($foreignData['disp_row'] == null) { - //Handle the case when number of values - //is more than $cfg['ForeignKeyMaxLimit'] - $_url_params = array( - 'db' => $db, - 'table' => $table, - 'field' => $column - ); - - $dropdown = '' - . htmlspecialchars($_REQUEST['curr_value']) - . '' - . '' - . __('Browse foreign values') - . ''; - } else { - $dropdown = PMA_foreignDropdown( - $foreignData['disp_row'], - $foreignData['foreign_field'], - $foreignData['foreign_display'], - $curr_value, - $GLOBALS['cfg']['ForeignKeyMaxLimit'] - ); - $dropdown = ''; - } - - return $dropdown; -} - -/** - * Get the HTML for the profiling table and accompanying chart if profiling is set. - * Otherwise returns null - * - * @param string $url_query url query - * @param string $db current database - * @param array $profiling_results array containing the profiling info - * - * @return string $profiling_table html for the profiling table and chart - */ -function PMA_getHtmlForProfilingChart($url_query, $db, $profiling_results) -{ - if (! empty($profiling_results)) { - $pma_token = $_SESSION[' PMA_token ']; - $url_query = isset($url_query) - ? $url_query - : URL::getCommon(array('db' => $db)); - - $profiling_table = ''; - $profiling_table .= '
    ' . __('Profiling') - . '' . "\n"; - $profiling_table .= '
    '; - $profiling_table .= '

    ' . __('Detailed profile') . '

    '; - $profiling_table .= '' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - list($detailed_table, $chart_json, $profiling_stats) - = PMA_analyzeAndGetTableHtmlForProfilingResults($profiling_results); - $profiling_table .= $detailed_table; - $profiling_table .= '
    ' . __('Order') - . '
    ' . __('State') - . PMA\libraries\Util::showMySQLDocu('general-thread-states') - . '
    ' . __('Time') - . '
    ' . "\n"; - $profiling_table .= '
    '; - - $profiling_table .= '
    '; - $profiling_table .= '

    ' . __('Summary by state') . '

    '; - $profiling_table .= '' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= ' ' . "\n"; - $profiling_table .= PMA_getTableHtmlForProfilingSummaryByState( - $profiling_stats - ); - $profiling_table .= '
    ' . __('State') - . PMA\libraries\Util::showMySQLDocu('general-thread-states') - . '
    ' . __('Total Time') - . '
    ' . __('% Time') - . '
    ' . __('Calls') - . '
    ' . __('ø Time') - . '
    ' . "\n"; - - $profiling_table .= << - pma_token = '$pma_token'; - url_query = '$url_query'; - -EOT; - $profiling_table .= "
    "; - $profiling_table .= "
    "; - - //require_once 'libraries/chart.lib.php'; - $profiling_table .= ''; - $profiling_table .= ''; - $profiling_table .= ''; - $profiling_table .= '
    ' . "\n"; - } else { - $profiling_table = null; - } - return $profiling_table; -} - -/** - * Function to get HTML for detailed profiling results table, profiling stats, and - * $chart_json for displaying the chart. - * - * @param array $profiling_results profiling results - * - * @return mixed - */ -function PMA_analyzeAndGetTableHtmlForProfilingResults( - $profiling_results -) { - $profiling_stats = array( - 'total_time' => 0, - 'states' => array(), - ); - $chart_json = Array(); - $i = 1; - $table = ''; - foreach ($profiling_results as $one_result) { - if (isset($profiling_stats['states'][ucwords($one_result['Status'])])) { - $states = $profiling_stats['states']; - $states[ucwords($one_result['Status'])]['total_time'] - += $one_result['Duration']; - $states[ucwords($one_result['Status'])]['calls']++; - } else { - $profiling_stats['states'][ucwords($one_result['Status'])] = array( - 'total_time' => $one_result['Duration'], - 'calls' => 1, - ); - } - $profiling_stats['total_time'] += $one_result['Duration']; - - $table .= ' ' . "\n"; - $table .= '' . $i++ . '' . "\n"; - $table .= '' . ucwords($one_result['Status']) - . '' . "\n"; - $table .= '' - . (PMA\libraries\Util::formatNumber($one_result['Duration'], 3, 1)) - . 's' . "\n"; - if (isset($chart_json[ucwords($one_result['Status'])])) { - $chart_json[ucwords($one_result['Status'])] - += $one_result['Duration']; - } else { - $chart_json[ucwords($one_result['Status'])] - = $one_result['Duration']; - } - } - return array($table, $chart_json, $profiling_stats); -} - -/** - * Function to get HTML for summary by state table - * - * @param array $profiling_stats profiling stats - * - * @return string $table html for the table - */ -function PMA_getTableHtmlForProfilingSummaryByState($profiling_stats) -{ - $table = ''; - foreach ($profiling_stats['states'] as $name => $stats) { - $table .= ' ' . "\n"; - $table .= '' . $name . '' . "\n"; - $table .= '' - . PMA\libraries\Util::formatNumber($stats['total_time'], 3, 1) - . 's' . "\n"; - $table .= '' - . PMA\libraries\Util::formatNumber( - 100 * ($stats['total_time'] / $profiling_stats['total_time']), - 0, 2 - ) - . '%' . "\n"; - $table .= '' . $stats['calls'] . '' - . "\n"; - $table .= '' - . PMA\libraries\Util::formatNumber( - $stats['total_time'] / $stats['calls'], 3, 1 - ) - . 's' . "\n"; - $table .= ' ' . "\n"; - } - return $table; -} - -/** - * Get the HTML for the enum column dropdown - * During grid edit, if we have a enum field, returns the html for the - * dropdown - * - * @param string $db current database - * @param string $table current table - * @param string $column current column - * @param string $curr_value currently selected value - * - * @return string $dropdown html for the dropdown - */ -function PMA_getHtmlForEnumColumnDropdown($db, $table, $column, $curr_value) -{ - $values = PMA_getValuesForColumn($db, $table, $column); - $dropdown = ''; - $dropdown .= PMA_getHtmlForOptionsList($values, array($curr_value)); - $dropdown = ''; - return $dropdown; -} - -/** - * Get value of a column for a specific row (marked by $where_clause) - * - * @param string $db current database - * @param string $table current table - * @param string $column current column - * @param string $where_clause where clause to select a particular row - * - * @return string with value - */ -function PMA_getFullValuesForSetColumn($db, $table, $column, $where_clause) -{ - $result = $GLOBALS['dbi']->fetchSingleRow( - "SELECT `$column` FROM `$db`.`$table` WHERE $where_clause" - ); - - return $result[$column]; -} - -/** - * Get the HTML for the set column dropdown - * During grid edit, if we have a set field, returns the html for the - * dropdown - * - * @param string $db current database - * @param string $table current table - * @param string $column current column - * @param string $curr_value currently selected value - * - * @return string $dropdown html for the set column - */ -function PMA_getHtmlForSetColumn($db, $table, $column, $curr_value) -{ - $values = PMA_getValuesForColumn($db, $table, $column); - $dropdown = ''; - $full_values = - isset($_REQUEST['get_full_values']) ? $_REQUEST['get_full_values'] : false; - $where_clause = - isset($_REQUEST['where_clause']) ? $_REQUEST['where_clause'] : null; - - // If the $curr_value was truncated, we should - // fetch the correct full values from the table - if ($full_values && ! empty($where_clause)) { - $curr_value = PMA_getFullValuesForSetColumn( - $db, $table, $column, $where_clause - ); - } - - //converts characters of $curr_value to HTML entities - $converted_curr_value = htmlentities( - $curr_value, ENT_COMPAT, "UTF-8" - ); - - $selected_values = explode(',', $converted_curr_value); - - $dropdown .= PMA_getHtmlForOptionsList($values, $selected_values); - - $select_size = (sizeof($values) > 10) ? 10 : sizeof($values); - $dropdown = ''; - - return $dropdown; -} - -/** - * Get all the values for a enum column or set column in a table - * - * @param string $db current database - * @param string $table current table - * @param string $column current column - * - * @return array $values array containing the value list for the column - */ -function PMA_getValuesForColumn($db, $table, $column) -{ - $field_info_query = $GLOBALS['dbi']->getColumnsSql($db, $table, $column); - - $field_info_result = $GLOBALS['dbi']->fetchResult( - $field_info_query, - null, - null, - null, - PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - $values = PMA\libraries\Util::parseEnumSetValues($field_info_result[0]['Type']); - - return $values; -} - -/** - * Get HTML for options list - * - * @param array $values set of values - * @param array $selected_values currently selected values - * - * @return string $options HTML for options list - */ -function PMA_getHtmlForOptionsList($values, $selected_values) -{ - $options = ''; - foreach ($values as $value) { - $options .= '
    '; - - } else { - $html = null; - } - - return $html; -} - -/** - * Function to check whether to remember the sorting order or not - * - * @param array $analyzed_sql_results the analyzed query and other variables set - * after analyzing the query - * - * @return boolean - */ -function PMA_isRememberSortingOrder($analyzed_sql_results) -{ - return $GLOBALS['cfg']['RememberSorting'] - && ! ($analyzed_sql_results['is_count'] - || $analyzed_sql_results['is_export'] - || $analyzed_sql_results['is_func'] - || $analyzed_sql_results['is_analyse']) - && $analyzed_sql_results['select_from'] - && ((empty($analyzed_sql_results['select_expr'])) - || (count($analyzed_sql_results['select_expr'] == 1) - && ($analyzed_sql_results['select_expr'][0] == '*'))) - && count($analyzed_sql_results['select_tables']) == 1; -} - -/** - * Function to check whether the LIMIT clause should be appended or not - * - * @param array $analyzed_sql_results the analyzed query and other variables set - * after analyzing the query - * - * @return boolean - */ -function PMA_isAppendLimitClause($analyzed_sql_results) -{ - // Assigning LIMIT clause to an syntactically-wrong query - // is not needed. Also we would want to show the true query - // and the true error message to the query executor - - return (isset($analyzed_sql_results['parser']) - && count($analyzed_sql_results['parser']->errors) === 0) - && ($_SESSION['tmpval']['max_rows'] != 'all') - && ! ($analyzed_sql_results['is_export'] - || $analyzed_sql_results['is_analyse']) - && ($analyzed_sql_results['select_from'] - || $analyzed_sql_results['is_subquery']) - && empty($analyzed_sql_results['limit']); -} - -/** - * Function to check whether this query is for just browsing - * - * @param array $analyzed_sql_results the analyzed query and other variables set - * after analyzing the query - * @param boolean $find_real_end whether the real end should be found - * - * @return boolean - */ -function PMA_isJustBrowsing($analyzed_sql_results, $find_real_end) -{ - return ! $analyzed_sql_results['is_group'] - && ! $analyzed_sql_results['is_func'] - && empty($analyzed_sql_results['union']) - && empty($analyzed_sql_results['distinct']) - && $analyzed_sql_results['select_from'] - && (count($analyzed_sql_results['select_tables']) === 1) - && (empty($analyzed_sql_results['statement']->where) - || (count($analyzed_sql_results['statement']->where) == 1 - && $analyzed_sql_results['statement']->where[0]->expr ==='1')) - && empty($analyzed_sql_results['group']) - && ! isset($find_real_end) - && ! $analyzed_sql_results['is_subquery'] - && ! $analyzed_sql_results['join'] - && empty($analyzed_sql_results['having']); -} - -/** - * Function to check whether the related transformation information should be deleted - * - * @param array $analyzed_sql_results the analyzed query and other variables set - * after analyzing the query - * - * @return boolean - */ -function PMA_isDeleteTransformationInfo($analyzed_sql_results) -{ - return !empty($analyzed_sql_results['querytype']) - && (($analyzed_sql_results['querytype'] == 'ALTER') - || ($analyzed_sql_results['querytype'] == 'DROP')); -} - -/** - * Function to check whether the user has rights to drop the database - * - * @param array $analyzed_sql_results the analyzed query and other variables set - * after analyzing the query - * @param boolean $allowUserDropDatabase whether the user is allowed to drop db - * @param boolean $is_superuser whether this user is a superuser - * - * @return boolean - */ -function PMA_hasNoRightsToDropDatabase($analyzed_sql_results, - $allowUserDropDatabase, $is_superuser -) { - return ! $allowUserDropDatabase - && isset($analyzed_sql_results['drop_database']) - && $analyzed_sql_results['drop_database'] - && ! $is_superuser; -} - -/** - * Function to set a column property - * - * @param Table $pmatable Table instance - * @param string $request_index col_order|col_visib - * - * @return boolean $retval - */ -function PMA_setColumnProperty($pmatable, $request_index) -{ - $property_value = explode(',', $_REQUEST[$request_index]); - switch($request_index) { - case 'col_order': - $property_to_set = Table::PROP_COLUMN_ORDER; - break; - case 'col_visib': - $property_to_set = Table::PROP_COLUMN_VISIB; - break; - default: - $property_to_set = ''; - } - $retval = $pmatable->setUiProp( - $property_to_set, - $property_value, - $_REQUEST['table_create_time'] - ); - if (gettype($retval) != 'boolean') { - $response = Response::getInstance(); - $response->setRequestStatus(false); - $response->addJSON('message', $retval->getString()); - exit; - } - - return $retval; -} - -/** - * Function to check the request for setting the column order or visibility - * - * @param String $table the current table - * @param String $db the current database - * - * @return void - */ -function PMA_setColumnOrderOrVisibility($table, $db) -{ - $pmatable = new Table($table, $db); - $retval = false; - - // set column order - if (isset($_REQUEST['col_order'])) { - $retval = PMA_setColumnProperty($pmatable, 'col_order'); - } - - // set column visibility - if ($retval === true && isset($_REQUEST['col_visib'])) { - $retval = PMA_setColumnProperty($pmatable, 'col_visib'); - } - - $response = Response::getInstance(); - $response->setRequestStatus($retval == true); - exit; -} - -/** - * Function to add a bookmark - * - * @param String $goto goto page URL - * - * @return void - */ -function PMA_addBookmark($goto) -{ - $bookmark = Bookmark::createBookmark( - $_POST['bkm_fields'], - (isset($_POST['bkm_all_users']) - && $_POST['bkm_all_users'] == 'true' ? true : false - ) - ); - $result = $bookmark->save(); - $response = Response::getInstance(); - if ($response->isAjax()) { - if ($result) { - $msg = Message::success(__('Bookmark %s has been created.')); - $msg->addParam($_POST['bkm_fields']['bkm_label']); - $response->addJSON('message', $msg); - } else { - $msg = PMA\libraries\message::error(__('Bookmark not created!')); - $response->setRequestStatus(false); - $response->addJSON('message', $msg); - } - exit; - } else { - // go back to sql.php to redisplay query; do not use & in this case: - /** - * @todo In which scenario does this happen? - */ - PMA_sendHeaderLocation( - './' . $goto - . '&label=' . $_POST['bkm_fields']['bkm_label'] - ); - } -} - -/** - * Function to find the real end of rows - * - * @param String $db the current database - * @param String $table the current table - * - * @return mixed the number of rows if "retain" param is true, otherwise true - */ -function PMA_findRealEndOfRows($db, $table) -{ - $unlim_num_rows = $GLOBALS['dbi']->getTable($db, $table)->countRecords(true); - $_SESSION['tmpval']['pos'] = PMA_getStartPosToDisplayRow($unlim_num_rows); - - return $unlim_num_rows; -} - -/** - * Function to get values for the relational columns - * - * @param String $db the current database - * @param String $table the current table - * - * @return void - */ -function PMA_getRelationalValues($db, $table) -{ - $column = $_REQUEST['column']; - if ($_SESSION['tmpval']['relational_display'] == 'D' - && isset($_REQUEST['relation_key_or_display_column']) - && $_REQUEST['relation_key_or_display_column'] - ) { - $curr_value = $_REQUEST['relation_key_or_display_column']; - } else { - $curr_value = $_REQUEST['curr_value']; - } - $dropdown = PMA_getHtmlForRelationalColumnDropdown( - $db, $table, $column, $curr_value - ); - $response = Response::getInstance(); - $response->addJSON('dropdown', $dropdown); - exit; -} - -/** - * Function to get values for Enum or Set Columns - * - * @param String $db the current database - * @param String $table the current table - * @param String $columnType whether enum or set - * - * @return void - */ -function PMA_getEnumOrSetValues($db, $table, $columnType) -{ - $column = $_REQUEST['column']; - $curr_value = $_REQUEST['curr_value']; - $response = Response::getInstance(); - if ($columnType == "enum") { - $dropdown = PMA_getHtmlForEnumColumnDropdown( - $db, $table, $column, $curr_value - ); - $response->addJSON('dropdown', $dropdown); - } else { - $select = PMA_getHtmlForSetColumn( - $db, $table, $column, $curr_value - ); - $response->addJSON('select', $select); - } - exit; -} - -/** - * Function to get the default sql query for browsing page - * - * @param String $db the current database - * @param String $table the current table - * - * @return String $sql_query the default $sql_query for browse page - */ -function PMA_getDefaultSqlQueryForBrowse($db, $table) -{ - $bookmark = Bookmark::get( - $db, - $table, - 'label', - false, - true - ); - - if (! empty($bookmark) && ! empty($bookmark->getQuery())) { - $GLOBALS['using_bookmark_message'] = Message::notice( - __('Using bookmark "%s" as default browse query.') - ); - $GLOBALS['using_bookmark_message']->addParam($table); - $GLOBALS['using_bookmark_message']->addHtml( - PMA\libraries\Util::showDocu('faq', 'faq6-22') - ); - $sql_query = $bookmark->getQuery(); - } else { - - $defaultOrderByClause = ''; - - if (isset($GLOBALS['cfg']['TablePrimaryKeyOrder']) - && ($GLOBALS['cfg']['TablePrimaryKeyOrder'] !== 'NONE') - ) { - - $primaryKey = null; - $primary = PMA\libraries\Index::getPrimary($table, $db); - - if ($primary !== false) { - - $primarycols = $primary->getColumns(); - - foreach ($primarycols as $col) { - $primaryKey = $col->getName(); - break; - } - - if ($primaryKey != null) { - $defaultOrderByClause = ' ORDER BY ' - . PMA\libraries\Util::backquote($table) . '.' - . PMA\libraries\Util::backquote($primaryKey) . ' ' - . $GLOBALS['cfg']['TablePrimaryKeyOrder']; - } - - } - - } - - $sql_query = 'SELECT * FROM ' . PMA\libraries\Util::backquote($table) - . $defaultOrderByClause; - - } - - return $sql_query; -} - -/** - * Responds an error when an error happens when executing the query - * - * @param boolean $is_gotofile whether goto file or not - * @param String $error error after executing the query - * @param String $full_sql_query full sql query - * - * @return void - */ -function PMA_handleQueryExecuteError($is_gotofile, $error, $full_sql_query) -{ - if ($is_gotofile) { - $message = PMA\libraries\Message::rawError($error); - $response = Response::getInstance(); - $response->setRequestStatus(false); - $response->addJSON('message', $message); - } else { - PMA\libraries\Util::mysqlDie($error, $full_sql_query, '', ''); - } - exit; -} - -/** - * Function to store the query as a bookmark - * - * @param String $db the current database - * @param String $bkm_user the bookmarking user - * @param String $sql_query_for_bookmark the query to be stored in bookmark - * @param String $bkm_label bookmark label - * @param boolean $bkm_replace whether to replace existing bookmarks - * - * @return void - */ -function PMA_storeTheQueryAsBookmark($db, $bkm_user, $sql_query_for_bookmark, - $bkm_label, $bkm_replace -) { - $bfields = array( - 'bkm_database' => $db, - 'bkm_user' => $bkm_user, - 'bkm_sql_query' => $sql_query_for_bookmark, - 'bkm_label' => $bkm_label - ); - - // Should we replace bookmark? - if (isset($bkm_replace)) { - $bookmarks = Bookmark::getList($db); - foreach ($bookmarks as $bookmark) { - if ($bookmark->getLabel() == $bkm_label) { - $bookmark->delete(); - } - } - } - - $bookmark = Bookmark::createBookmark($bfields, isset($_POST['bkm_all_users'])); - $bookmark->save(); -} - -/** - * Executes the SQL query and measures its execution time - * - * @param String $full_sql_query the full sql query - * - * @return array ($result, $querytime) - */ -function PMA_executeQueryAndMeasureTime($full_sql_query) -{ - // close session in case the query takes too long - session_write_close(); - - // Measure query time. - $querytime_before = array_sum(explode(' ', microtime())); - - $result = @$GLOBALS['dbi']->tryQuery( - $full_sql_query, null, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - $querytime_after = array_sum(explode(' ', microtime())); - - // reopen session - session_start(); - - return array($result, $querytime_after - $querytime_before); -} - -/** - * Function to get the affected or changed number of rows after executing a query - * - * @param boolean $is_affected whether the query affected a table - * @param mixed $result results of executing the query - * - * @return int $num_rows number of rows affected or changed - */ -function PMA_getNumberOfRowsAffectedOrChanged($is_affected, $result) -{ - if (! $is_affected) { - $num_rows = ($result) ? @$GLOBALS['dbi']->numRows($result) : 0; - } else { - $num_rows = @$GLOBALS['dbi']->affectedRows(); - } - - return $num_rows; -} - -/** - * Checks if the current database has changed - * This could happen if the user sends a query like "USE `database`;" - * - * @param String $db the database in the query - * - * @return int $reload whether to reload the navigation(1) or not(0) - */ -function PMA_hasCurrentDbChanged($db) -{ - if (strlen($db) > 0) { - $current_db = $GLOBALS['dbi']->fetchValue('SELECT DATABASE()'); - // $current_db is false, except when a USE statement was sent - return ($current_db != false) && ($db !== $current_db); - } - - return false; -} - -/** - * If a table, database or column gets dropped, clean comments. - * - * @param String $db current database - * @param String $table current table - * @param String $column current column - * @param bool $purge whether purge set or not - * - * @return array $extra_data - */ -function PMA_cleanupRelations($db, $table, $column, $purge) -{ - include_once 'libraries/relation_cleanup.lib.php'; - - if (! empty($purge) && strlen($db) > 0) { - if (strlen($table) > 0) { - if (isset($column) && strlen($column) > 0) { - PMA_relationsCleanupColumn($db, $table, $column); - } else { - PMA_relationsCleanupTable($db, $table); - } - } else { - PMA_relationsCleanupDatabase($db); - } - } -} - -/** - * Function to count the total number of rows for the same 'SELECT' query without - * the 'LIMIT' clause that may have been programatically added - * - * @param int $num_rows number of rows affected/changed by the query - * @param bool $justBrowsing whether just browsing or not - * @param string $db the current database - * @param string $table the current table - * @param array $analyzed_sql_results the analyzed query and other variables set - * after analyzing the query - * - * @return int $unlim_num_rows unlimited number of rows - */ -function PMA_countQueryResults( - $num_rows, $justBrowsing, $db, $table, $analyzed_sql_results -) { - - /* Shortcut for not analyzed/empty query */ - if (empty($analyzed_sql_results)) { - return 0; - } - - if (!PMA_isAppendLimitClause($analyzed_sql_results)) { - // if we did not append a limit, set this to get a correct - // "Showing rows..." message - // $_SESSION['tmpval']['max_rows'] = 'all'; - $unlim_num_rows = $num_rows; - } elseif ($analyzed_sql_results['querytype'] == 'SELECT' - || $analyzed_sql_results['is_subquery'] - ) { - // c o u n t q u e r y - - // If we are "just browsing", there is only one table (and no join), - // and no WHERE clause (or just 'WHERE 1 '), - // we do a quick count (which uses MaxExactCount) because - // SQL_CALC_FOUND_ROWS is not quick on large InnoDB tables - - // However, do not count again if we did it previously - // due to $find_real_end == true - if ($justBrowsing) { - // Get row count (is approximate for InnoDB) - $unlim_num_rows = $GLOBALS['dbi']->getTable($db, $table)->countRecords(); - /** - * @todo Can we know at this point that this is InnoDB, - * (in this case there would be no need for getting - * an exact count)? - */ - if ($unlim_num_rows < $GLOBALS['cfg']['MaxExactCount']) { - // Get the exact count if approximate count - // is less than MaxExactCount - /** - * @todo In countRecords(), MaxExactCount is also verified, - * so can we avoid checking it twice? - */ - $unlim_num_rows = $GLOBALS['dbi']->getTable($db, $table) - ->countRecords(true); - } - - } else { - - // The SQL_CALC_FOUND_ROWS option of the SELECT statement is used. - - // For UNION statements, only a SQL_CALC_FOUND_ROWS is required - // after the first SELECT. - - $count_query = PhpMyAdmin\SqlParser\Utils\Query::replaceClause( - $analyzed_sql_results['statement'], - $analyzed_sql_results['parser']->list, - 'SELECT SQL_CALC_FOUND_ROWS', - null, - true - ); - - // Another LIMIT clause is added to avoid long delays. - // A complete result will be returned anyway, but the LIMIT would - // stop the query as soon as the result that is required has been - // computed. - - if (empty($analyzed_sql_results['union'])) { - $count_query .= ' LIMIT 1'; - } - - // Running the count query. - $GLOBALS['dbi']->tryQuery($count_query); - - $unlim_num_rows = $GLOBALS['dbi']->fetchValue('SELECT FOUND_ROWS()'); - } // end else "just browsing" - } else {// not $is_select - $unlim_num_rows = 0; - } - - return $unlim_num_rows; -} - -/** - * Function to handle all aspects relating to executing the query - * - * @param array $analyzed_sql_results analyzed sql results - * @param String $full_sql_query full sql query - * @param boolean $is_gotofile whether to go to a file - * @param String $db current database - * @param String $table current table - * @param boolean $find_real_end whether to find the real end - * @param String $sql_query_for_bookmark sql query to be stored as bookmark - * @param array $extra_data extra data - * - * @return mixed - */ -function PMA_executeTheQuery($analyzed_sql_results, $full_sql_query, $is_gotofile, - $db, $table, $find_real_end, $sql_query_for_bookmark, $extra_data -) { - $response = Response::getInstance(); - $response->getHeader()->getMenu()->setTable($table); - - // Only if we ask to see the php code - if (isset($GLOBALS['show_as_php'])) { - $result = null; - $num_rows = 0; - $unlim_num_rows = 0; - } else { // If we don't ask to see the php code - if (isset($_SESSION['profiling']) - && PMA\libraries\Util::profilingSupported() - ) { - $GLOBALS['dbi']->query('SET PROFILING=1;'); - } - - list( - $result, - $GLOBALS['querytime'] - ) = PMA_executeQueryAndMeasureTime($full_sql_query); - - // Displays an error message if required and stop parsing the script - $error = $GLOBALS['dbi']->getError(); - if ($error && $GLOBALS['cfg']['IgnoreMultiSubmitErrors']) { - $extra_data['error'] = $error; - } elseif ($error) { - PMA_handleQueryExecuteError($is_gotofile, $error, $full_sql_query); - } - - // If there are no errors and bookmarklabel was given, - // store the query as a bookmark - if (! empty($_POST['bkm_label']) && ! empty($sql_query_for_bookmark)) { - $cfgBookmark = Bookmark::getParams(); - PMA_storeTheQueryAsBookmark( - $db, $cfgBookmark['user'], - $sql_query_for_bookmark, $_POST['bkm_label'], - isset($_POST['bkm_replace']) ? $_POST['bkm_replace'] : null - ); - } // end store bookmarks - - // Gets the number of rows affected/returned - // (This must be done immediately after the query because - // mysql_affected_rows() reports about the last query done) - $num_rows = PMA_getNumberOfRowsAffectedOrChanged( - $analyzed_sql_results['is_affected'], $result - ); - - // Grabs the profiling results - if (isset($_SESSION['profiling']) - && PMA\libraries\Util::profilingSupported() - ) { - $profiling_results = $GLOBALS['dbi']->fetchResult('SHOW PROFILE;'); - } - - $justBrowsing = PMA_isJustBrowsing( - $analyzed_sql_results, isset($find_real_end) ? $find_real_end : null - ); - - $unlim_num_rows = PMA_countQueryResults( - $num_rows, $justBrowsing, $db, $table, $analyzed_sql_results - ); - - PMA_cleanupRelations( - isset($db) ? $db : '', - isset($table) ? $table : '', - isset($_REQUEST['dropped_column']) ? $_REQUEST['dropped_column'] : null, - isset($_REQUEST['purge']) ? $_REQUEST['purge'] : null - ); - - if (isset($_REQUEST['dropped_column']) - && strlen($db) > 0 - && strlen($table) > 0 - ) { - // to refresh the list of indexes (Ajax mode) - $extra_data['indexes_list'] = PMA\libraries\Index::getHtmlForIndexes( - $table, - $db - ); - } - } - - return array($result, $num_rows, $unlim_num_rows, - isset($profiling_results) ? $profiling_results : null, $extra_data - ); -} -/** - * Delete related tranformation information - * - * @param String $db current database - * @param String $table current table - * @param array $analyzed_sql_results analyzed sql results - * - * @return void - */ -function PMA_deleteTransformationInfo($db, $table, $analyzed_sql_results) -{ - include_once 'libraries/transformations.lib.php'; - $statement = $analyzed_sql_results['statement']; - if ($statement instanceof PhpMyAdmin\SqlParser\Statements\AlterStatement) { - if (!empty($statement->altered[0]) - && $statement->altered[0]->options->has('DROP') - ) { - if (!empty($statement->altered[0]->field->column)) { - PMA_clearTransformations( - $db, - $table, - $statement->altered[0]->field->column - ); - } - } - } elseif ($statement instanceof PhpMyAdmin\SqlParser\Statements\DropStatement) { - PMA_clearTransformations($db, $table); - } -} - -/** - * Function to get the message for the no rows returned case - * - * @param string $message_to_show message to show - * @param array $analyzed_sql_results analyzed sql results - * @param int $num_rows number of rows - * - * @return string $message - */ -function PMA_getMessageForNoRowsReturned($message_to_show, - $analyzed_sql_results, $num_rows -) { - if ($analyzed_sql_results['querytype'] == 'DELETE"') { - $message = Message::getMessageForDeletedRows($num_rows); - } elseif ($analyzed_sql_results['is_insert']) { - if ($analyzed_sql_results['querytype'] == 'REPLACE') { - // For REPLACE we get DELETED + INSERTED row count, - // so we have to call it affected - $message = Message::getMessageForAffectedRows($num_rows); - } else { - $message = Message::getMessageForInsertedRows($num_rows); - } - $insert_id = $GLOBALS['dbi']->insertId(); - if ($insert_id != 0) { - // insert_id is id of FIRST record inserted in one insert, - // so if we inserted multiple rows, we had to increment this - $message->addText('[br]'); - // need to use a temporary because the Message class - // currently supports adding parameters only to the first - // message - $_inserted = Message::notice(__('Inserted row id: %1$d')); - $_inserted->addParam($insert_id + $num_rows - 1); - $message->addMessage($_inserted); - } - } elseif ($analyzed_sql_results['is_affected']) { - $message = Message::getMessageForAffectedRows($num_rows); - - // Ok, here is an explanation for the !$is_select. - // The form generated by sql_query_form.lib.php - // and db_sql.php has many submit buttons - // on the same form, and some confusion arises from the - // fact that $message_to_show is sent for every case. - // The $message_to_show containing a success message and sent with - // the form should not have priority over errors - } elseif (! empty($message_to_show) - && $analyzed_sql_results['querytype'] != 'SELECT' - ) { - $message = Message::rawSuccess(htmlspecialchars($message_to_show)); - } elseif (! empty($GLOBALS['show_as_php'])) { - $message = Message::success(__('Showing as PHP code')); - } elseif (isset($GLOBALS['show_as_php'])) { - /* User disable showing as PHP, query is only displayed */ - $message = Message::notice(__('Showing SQL query')); - } else { - $message = Message::success( - __('MySQL returned an empty result set (i.e. zero rows).') - ); - } - - if (isset($GLOBALS['querytime'])) { - $_querytime = Message::notice( - '(' . __('Query took %01.4f seconds.') . ')' - ); - $_querytime->addParam($GLOBALS['querytime']); - $message->addMessage($_querytime); - } - - // In case of ROLLBACK, notify the user. - if (isset($_REQUEST['rollback_query'])) { - $message->addText(__('[ROLLBACK occurred.]')); - } - - return $message; -} - -/** - * Function to respond back when the query returns zero rows - * This method is called - * 1-> When browsing an empty table - * 2-> When executing a query on a non empty table which returns zero results - * 3-> When executing a query on an empty table - * 4-> When executing an INSERT, UPDATE, DELETE query from the SQL tab - * 5-> When deleting a row from BROWSE tab - * 6-> When searching using the SEARCH tab which returns zero results - * 7-> When changing the structure of the table except change operation - * - * @param array $analyzed_sql_results analyzed sql results - * @param string $db current database - * @param string $table current table - * @param string $message_to_show message to show - * @param int $num_rows number of rows - * @param DisplayResults $displayResultsObject DisplayResult instance - * @param array $extra_data extra data - * @param string $pmaThemeImage uri of the theme image - * @param object $result executed query results - * @param string $sql_query sql query - * @param string $complete_query complete sql query - * - * @return string html - */ -function PMA_getQueryResponseForNoResultsReturned($analyzed_sql_results, $db, - $table, $message_to_show, $num_rows, $displayResultsObject, $extra_data, - $pmaThemeImage, $result, $sql_query, $complete_query -) { - if (PMA_isDeleteTransformationInfo($analyzed_sql_results)) { - PMA_deleteTransformationInfo($db, $table, $analyzed_sql_results); - } - - if (isset($extra_data['error'])) { - $message = PMA\libraries\Message::rawError($extra_data['error']); - } else { - $message = PMA_getMessageForNoRowsReturned( - isset($message_to_show) ? $message_to_show : null, - $analyzed_sql_results, $num_rows - ); - } - - $html_output = ''; - $html_message = PMA\libraries\Util::getMessage( - $message, $GLOBALS['sql_query'], 'success' - ); - $html_output .= $html_message; - if (!isset($GLOBALS['show_as_php'])) { - - if (! empty($GLOBALS['reload'])) { - $extra_data['reload'] = 1; - $extra_data['db'] = $GLOBALS['db']; - } - - // For ajax requests add message and sql_query as JSON - if (empty($_REQUEST['ajax_page_request'])) { - $extra_data['message'] = $message; - if ($GLOBALS['cfg']['ShowSQL']) { - $extra_data['sql_query'] = $html_message; - } - } - - $response = Response::getInstance(); - $response->addJSON(isset($extra_data) ? $extra_data : array()); - - if (!empty($analyzed_sql_results['is_select']) && - !isset($extra_data['error'])) { - $url_query = isset($url_query) ? $url_query : null; - - $displayParts = array( - 'edit_lnk' => null, - 'del_lnk' => null, - 'sort_lnk' => '1', - 'nav_bar' => '0', - 'bkm_form' => '1', - 'text_btn' => '1', - 'pview_lnk' => '1' - ); - - $html_output .= PMA_getHtmlForSqlQueryResultsTable( - $displayResultsObject, - $pmaThemeImage, $url_query, $displayParts, - false, 0, $num_rows, true, $result, - $analyzed_sql_results, true - ); - - $html_output .= $displayResultsObject->getCreateViewQueryResultOp( - $analyzed_sql_results - ); - - $cfgBookmark = Bookmark::getParams(); - if ($cfgBookmark) { - $html_output .= PMA_getHtmlForBookmark( - $displayParts, - $cfgBookmark, - $sql_query, $db, $table, - isset($complete_query) ? $complete_query : $sql_query, - $cfgBookmark['user'] - ); - } - } - } - - return $html_output; -} - -/** - * Function to send response for ajax grid edit - * - * @param object $result result of the executed query - * - * @return void - */ -function PMA_sendResponseForGridEdit($result) -{ - $row = $GLOBALS['dbi']->fetchRow($result); - $field_flags = $GLOBALS['dbi']->fieldFlags($result, 0); - if (stristr($field_flags, PMA\libraries\DisplayResults::BINARY_FIELD)) { - $row[0] = bin2hex($row[0]); - } - $response = Response::getInstance(); - $response->addJSON('value', $row[0]); - exit; -} - -/** - * Function to get html for the sql query results div - * - * @param string $previous_update_query_html html for the previously executed query - * @param string $profiling_chart_html html for profiling - * @param Message $missing_unique_column_msg message for the missing unique column - * @param Message $bookmark_created_msg message for bookmark creation - * @param string $table_html html for the table for displaying sql - * results - * @param string $indexes_problems_html html for displaying errors in indexes - * @param string $bookmark_support_html html for displaying bookmark form - * - * @return string $html_output - */ -function PMA_getHtmlForSqlQueryResults($previous_update_query_html, - $profiling_chart_html, $missing_unique_column_msg, $bookmark_created_msg, - $table_html, $indexes_problems_html, $bookmark_support_html -) { - //begin the sqlqueryresults div here. container div - $html_output = '
    '; - $html_output .= isset($previous_update_query_html) - ? $previous_update_query_html : ''; - $html_output .= isset($profiling_chart_html) ? $profiling_chart_html : ''; - $html_output .= isset($missing_unique_column_msg) - ? $missing_unique_column_msg->getDisplay() : ''; - $html_output .= isset($bookmark_created_msg) - ? $bookmark_created_msg->getDisplay() : ''; - $html_output .= $table_html; - $html_output .= isset($indexes_problems_html) ? $indexes_problems_html : ''; - $html_output .= isset($bookmark_support_html) ? $bookmark_support_html : ''; - $html_output .= '
    '; // end sqlqueryresults div - - return $html_output; -} - -/** - * Returns a message for successful creation of a bookmark or null if a bookmark - * was not created - * - * @return Message $bookmark_created_msg - */ -function PMA_getBookmarkCreatedMessage() -{ - if (isset($_GET['label'])) { - $bookmark_created_msg = Message::success( - __('Bookmark %s has been created.') - ); - $bookmark_created_msg->addParam($_GET['label']); - } else { - $bookmark_created_msg = null; - } - - return $bookmark_created_msg; -} - -/** - * Function to get html for the sql query results table - * - * @param DisplayResults $displayResultsObject instance of DisplayResult - * @param string $pmaThemeImage theme image uri - * @param string $url_query url query - * @param array $displayParts the parts to display - * @param bool $editable whether the result table is - * editable or not - * @param int $unlim_num_rows unlimited number of rows - * @param int $num_rows number of rows - * @param bool $showtable whether to show table or not - * @param object $result result of the executed query - * @param array $analyzed_sql_results analyzed sql results - * @param bool $is_limited_display Show only limited operations or not - * - * @return String - */ -function PMA_getHtmlForSqlQueryResultsTable($displayResultsObject, - $pmaThemeImage, $url_query, $displayParts, - $editable, $unlim_num_rows, $num_rows, $showtable, $result, - $analyzed_sql_results, $is_limited_display = false -) { - $printview = isset($_REQUEST['printview']) && $_REQUEST['printview'] == '1' ? '1' : null; - $table_html = ''; - $browse_dist = ! empty($_REQUEST['is_browse_distinct']); - - if ($analyzed_sql_results['is_procedure']) { - - do { - if (! isset($result)) { - $result = $GLOBALS['dbi']->storeResult(); - } - $num_rows = $GLOBALS['dbi']->numRows($result); - - if ($result !== false && $num_rows > 0) { - - $fields_meta = $GLOBALS['dbi']->getFieldsMeta($result); - $fields_cnt = count($fields_meta); - - $displayResultsObject->setProperties( - $num_rows, - $fields_meta, - $analyzed_sql_results['is_count'], - $analyzed_sql_results['is_export'], - $analyzed_sql_results['is_func'], - $analyzed_sql_results['is_analyse'], - $num_rows, - $fields_cnt, - $GLOBALS['querytime'], - $pmaThemeImage, - $GLOBALS['text_dir'], - $analyzed_sql_results['is_maint'], - $analyzed_sql_results['is_explain'], - $analyzed_sql_results['is_show'], - $showtable, - $printview, - $url_query, - $editable, - $browse_dist - ); - - $displayParts = array( - 'edit_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, - 'del_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, - 'sort_lnk' => '1', - 'nav_bar' => '1', - 'bkm_form' => '1', - 'text_btn' => '1', - 'pview_lnk' => '1' - ); - - $table_html .= $displayResultsObject->getTable( - $result, - $displayParts, - $analyzed_sql_results, - $is_limited_display - ); - } - - $GLOBALS['dbi']->freeResult($result); - unset($result); - - } while ($GLOBALS['dbi']->moreResults() && $GLOBALS['dbi']->nextResult()); - - } else { - if (isset($result) && $result) { - $fields_meta = $GLOBALS['dbi']->getFieldsMeta($result); - $fields_cnt = count($fields_meta); - } - $_SESSION['is_multi_query'] = false; - $displayResultsObject->setProperties( - $unlim_num_rows, - $fields_meta, - $analyzed_sql_results['is_count'], - $analyzed_sql_results['is_export'], - $analyzed_sql_results['is_func'], - $analyzed_sql_results['is_analyse'], - $num_rows, - $fields_cnt, $GLOBALS['querytime'], - $pmaThemeImage, $GLOBALS['text_dir'], - $analyzed_sql_results['is_maint'], - $analyzed_sql_results['is_explain'], - $analyzed_sql_results['is_show'], - $showtable, - $printview, - $url_query, - $editable, - $browse_dist - ); - - $table_html .= $displayResultsObject->getTable( - $result, - $displayParts, - $analyzed_sql_results, - $is_limited_display - ); - $GLOBALS['dbi']->freeResult($result); - } - - return $table_html; -} - -/** - * Function to get html for the previous query if there is such. If not will return - * null - * - * @param string $disp_query display query - * @param bool $showSql whether to show sql - * @param array $sql_data sql data - * @param string $disp_message display message - * - * @return string $previous_update_query_html - */ -function PMA_getHtmlForPreviousUpdateQuery($disp_query, $showSql, $sql_data, - $disp_message -) { - // previous update query (from tbl_replace) - if (isset($disp_query) && ($showSql == true) && empty($sql_data)) { - $previous_update_query_html = PMA\libraries\Util::getMessage( - $disp_message, $disp_query, 'success' - ); - } else { - $previous_update_query_html = null; - } - - return $previous_update_query_html; -} - -/** - * To get the message if a column index is missing. If not will return null - * - * @param string $table current table - * @param string $db current database - * @param boolean $editable whether the results table can be editable or not - * @param boolean $has_unique whether there is a unique key - * - * @return Message $message - */ -function PMA_getMessageIfMissingColumnIndex($table, $db, $editable, $has_unique) -{ - if (!empty($table) && ($GLOBALS['dbi']->isSystemSchema($db) || !$editable)) { - $missing_unique_column_msg = Message::notice( - sprintf( - __( - 'Current selection does not contain a unique column.' - . ' Grid edit, checkbox, Edit, Copy and Delete features' - . ' are not available. %s' - ), - PMA\libraries\Util::showDocu( - 'config', - 'cfg_RowActionLinksWithoutUnique' - ) - ) - ); - } elseif (! empty($table) && ! $has_unique) { - $missing_unique_column_msg = Message::notice( - sprintf( - __( - 'Current selection does not contain a unique column.' - . ' Grid edit, Edit, Copy and Delete features may result in' - . ' undesired behavior. %s' - ), - PMA\libraries\Util::showDocu( - 'config', - 'cfg_RowActionLinksWithoutUnique' - ) - ) - ); - } else { - $missing_unique_column_msg = null; - } - - return $missing_unique_column_msg; -} - -/** - * Function to get html to display problems in indexes - * - * @param string $query_type query type - * @param array|null $selectedTables array of table names selected from the - * database structure page, for an action - * like check table, optimize table, - * analyze table or repair table - * @param string $db current database - * - * @return string - */ -function PMA_getHtmlForIndexesProblems($query_type, $selectedTables, $db) -{ - // BEGIN INDEX CHECK See if indexes should be checked. - if (isset($query_type) - && $query_type == 'check_tbl' - && isset($selectedTables) - && is_array($selectedTables) - ) { - $indexes_problems_html = ''; - foreach ($selectedTables as $tbl_name) { - $check = PMA\libraries\Index::findDuplicates($tbl_name, $db); - if (! empty($check)) { - $indexes_problems_html .= sprintf( - __('Problems with indexes of table `%s`'), $tbl_name - ); - $indexes_problems_html .= $check; - } - } - } else { - $indexes_problems_html = null; - } - - return $indexes_problems_html; -} - -/** - * Function to display results when the executed query returns non empty results - * - * @param object $result executed query results - * @param array $analyzed_sql_results analysed sql results - * @param string $db current database - * @param string $table current table - * @param string $message message to show - * @param array $sql_data sql data - * @param DisplayResults $displayResultsObject Instance of DisplayResults - * @param string $pmaThemeImage uri of the theme image - * @param int $unlim_num_rows unlimited number of rows - * @param int $num_rows number of rows - * @param string $disp_query display query - * @param string $disp_message display message - * @param array $profiling_results profiling results - * @param string $query_type query type - * @param array|null $selectedTables array of table names selected - * from the database structure page, for - * an action like check table, - * optimize table, analyze table or - * repair table - * @param string $sql_query sql query - * @param string $complete_query complete sql query - * - * @return string html - */ -function PMA_getQueryResponseForResultsReturned($result, $analyzed_sql_results, - $db, $table, $message, $sql_data, $displayResultsObject, $pmaThemeImage, - $unlim_num_rows, $num_rows, $disp_query, $disp_message, $profiling_results, - $query_type, $selectedTables, $sql_query, $complete_query -) { - // If we are retrieving the full value of a truncated field or the original - // value of a transformed field, show it here - if (isset($_REQUEST['grid_edit']) && $_REQUEST['grid_edit'] == true) { - PMA_sendResponseForGridEdit($result); - // script has exited at this point - } - - // Gets the list of fields properties - if (isset($result) && $result) { - $fields_meta = $GLOBALS['dbi']->getFieldsMeta($result); - } - - // Should be initialized these parameters before parsing - $showtable = isset($showtable) ? $showtable : null; - $url_query = isset($url_query) ? $url_query : null; - - $response = Response::getInstance(); - $header = $response->getHeader(); - $scripts = $header->getScripts(); - - $just_one_table = PMA_resultSetHasJustOneTable($fields_meta); - - // hide edit and delete links: - // - for information_schema - // - if the result set does not contain all the columns of a unique key - // (unless this is an updatable view) - // - if the SELECT query contains a join or a subquery - - $updatableView = false; - - $statement = $analyzed_sql_results['statement']; - if ($statement instanceof PhpMyAdmin\SqlParser\Statements\SelectStatement) { - if (!empty($statement->expr)) { - if ($statement->expr[0]->expr === '*') { - $_table = new Table($table, $db); - $updatableView = $_table->isUpdatableView(); - } - } - - if ($analyzed_sql_results['join'] - || $analyzed_sql_results['is_subquery'] - || count($analyzed_sql_results['select_tables']) !== 1 - ) { - $just_one_table = false; - } - } - - $has_unique = PMA_resultSetContainsUniqueKey( - $db, $table, $fields_meta - ); - - $editable = ($has_unique - || $GLOBALS['cfg']['RowActionLinksWithoutUnique'] - || $updatableView) - && $just_one_table; - - $displayParts = array( - 'edit_lnk' => $displayResultsObject::UPDATE_ROW, - 'del_lnk' => $displayResultsObject::DELETE_ROW, - 'sort_lnk' => '1', - 'nav_bar' => '1', - 'bkm_form' => '1', - 'text_btn' => '0', - 'pview_lnk' => '1' - ); - - if ($GLOBALS['dbi']->isSystemSchema($db) || !$editable) { - $displayParts = array( - 'edit_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, - 'del_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, - 'sort_lnk' => '1', - 'nav_bar' => '1', - 'bkm_form' => '1', - 'text_btn' => '1', - 'pview_lnk' => '1' - ); - - } - if (isset($_REQUEST['printview']) && $_REQUEST['printview'] == '1') { - $displayParts = array( - 'edit_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, - 'del_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, - 'sort_lnk' => '0', - 'nav_bar' => '0', - 'bkm_form' => '0', - 'text_btn' => '0', - 'pview_lnk' => '0' - ); - } - - if (isset($_REQUEST['table_maintenance'])) { - $scripts->addFile('makegrid.js'); - $scripts->addFile('sql.js'); - $table_maintenance_html = ''; - if (isset($message)) { - $message = Message::success($message); - $table_maintenance_html = PMA\libraries\Util::getMessage( - $message, $GLOBALS['sql_query'], 'success' - ); - } - $table_maintenance_html .= PMA_getHtmlForSqlQueryResultsTable( - $displayResultsObject, - $pmaThemeImage, $url_query, $displayParts, - false, $unlim_num_rows, $num_rows, $showtable, $result, - $analyzed_sql_results - ); - if (empty($sql_data) || ($sql_data['valid_queries'] = 1)) { - $response->addHTML($table_maintenance_html); - exit(); - } - } - - if (!isset($_REQUEST['printview']) || $_REQUEST['printview'] != '1') { - $scripts->addFile('makegrid.js'); - $scripts->addFile('sql.js'); - unset($GLOBALS['message']); - //we don't need to buffer the output in getMessage here. - //set a global variable and check against it in the function - $GLOBALS['buffer_message'] = false; - } - - $previous_update_query_html = PMA_getHtmlForPreviousUpdateQuery( - isset($disp_query) ? $disp_query : null, - $GLOBALS['cfg']['ShowSQL'], isset($sql_data) ? $sql_data : null, - isset($disp_message) ? $disp_message : null - ); - - $profiling_chart_html = PMA_getHtmlForProfilingChart( - $url_query, $db, isset($profiling_results) ? $profiling_results :array() - ); - - $missing_unique_column_msg = PMA_getMessageIfMissingColumnIndex( - $table, $db, $editable, $has_unique - ); - - $bookmark_created_msg = PMA_getBookmarkCreatedMessage(); - - $table_html = PMA_getHtmlForSqlQueryResultsTable( - $displayResultsObject, - $pmaThemeImage, $url_query, $displayParts, - $editable, $unlim_num_rows, $num_rows, $showtable, $result, - $analyzed_sql_results - ); - - $indexes_problems_html = PMA_getHtmlForIndexesProblems( - isset($query_type) ? $query_type : null, - isset($selectedTables) ? $selectedTables : null, $db - ); - - $cfgBookmark = Bookmark::getParams(); - if ($cfgBookmark) { - $bookmark_support_html = PMA_getHtmlForBookmark( - $displayParts, - $cfgBookmark, - $sql_query, $db, $table, - isset($complete_query) ? $complete_query : $sql_query, - $cfgBookmark['user'] - ); - } else { - $bookmark_support_html = ''; - } - - $html_output = isset($table_maintenance_html) ? $table_maintenance_html : ''; - - $html_output .= PMA_getHtmlForSqlQueryResults( - $previous_update_query_html, $profiling_chart_html, - $missing_unique_column_msg, $bookmark_created_msg, - $table_html, $indexes_problems_html, $bookmark_support_html - ); - - return $html_output; -} - -/** - * Function to execute the query and send the response - * - * @param array $analyzed_sql_results analysed sql results - * @param bool $is_gotofile whether goto file or not - * @param string $db current database - * @param string $table current table - * @param bool|null $find_real_end whether to find real end or not - * @param string $sql_query_for_bookmark the sql query to be stored as bookmark - * @param array|null $extra_data extra data - * @param string $message_to_show message to show - * @param string $message message - * @param array|null $sql_data sql data - * @param string $goto goto page url - * @param string $pmaThemeImage uri of the PMA theme image - * @param string $disp_query display query - * @param string $disp_message display message - * @param string $query_type query type - * @param string $sql_query sql query - * @param array|null $selectedTables array of table names selected from the - * database structure page, for an action - * like check table, optimize table, - * analyze table or repair table - * @param string $complete_query complete query - * - * @return void - */ -function PMA_executeQueryAndSendQueryResponse($analyzed_sql_results, - $is_gotofile, $db, $table, $find_real_end, $sql_query_for_bookmark, - $extra_data, $message_to_show, $message, $sql_data, $goto, $pmaThemeImage, - $disp_query, $disp_message, $query_type, $sql_query, $selectedTables, - $complete_query -) { - if ($analyzed_sql_results == null) { - // Parse and analyze the query - include_once 'libraries/parse_analyze.lib.php'; - list( - $analyzed_sql_results, - $db, - $table_from_sql - ) = PMA_parseAnalyze($sql_query, $db); - // @todo: possibly refactor - extract($analyzed_sql_results); - - if ($table != $table_from_sql && !empty($table_from_sql)) { - $table = $table_from_sql; - } - } - - $html_output = PMA_executeQueryAndGetQueryResponse( - $analyzed_sql_results, // analyzed_sql_results - $is_gotofile, // is_gotofile - $db, // db - $table, // table - $find_real_end, // find_real_end - $sql_query_for_bookmark, // sql_query_for_bookmark - $extra_data, // extra_data - $message_to_show, // message_to_show - $message, // message - $sql_data, // sql_data - $goto, // goto - $pmaThemeImage, // pmaThemeImage - $disp_query, // disp_query - $disp_message, // disp_message - $query_type, // query_type - $sql_query, // sql_query - $selectedTables, // selectedTables - $complete_query // complete_query - ); - - $response = Response::getInstance(); - $response->addHTML($html_output); -} - -/** - * Function to execute the query and send the response - * - * @param array $analyzed_sql_results analysed sql results - * @param bool $is_gotofile whether goto file or not - * @param string $db current database - * @param string $table current table - * @param bool|null $find_real_end whether to find real end or not - * @param string $sql_query_for_bookmark the sql query to be stored as bookmark - * @param array|null $extra_data extra data - * @param string $message_to_show message to show - * @param string $message message - * @param array|null $sql_data sql data - * @param string $goto goto page url - * @param string $pmaThemeImage uri of the PMA theme image - * @param string $disp_query display query - * @param string $disp_message display message - * @param string $query_type query type - * @param string $sql_query sql query - * @param array|null $selectedTables array of table names selected from the - * database structure page, for an action - * like check table, optimize table, - * analyze table or repair table - * @param string $complete_query complete query - * - * @return string html - */ -function PMA_executeQueryAndGetQueryResponse($analyzed_sql_results, - $is_gotofile, $db, $table, $find_real_end, $sql_query_for_bookmark, - $extra_data, $message_to_show, $message, $sql_data, $goto, $pmaThemeImage, - $disp_query, $disp_message, $query_type, $sql_query, $selectedTables, - $complete_query -) { - // Handle disable/enable foreign key checks - $default_fk_check = PMA\libraries\Util::handleDisableFKCheckInit(); - - // Handle remembered sorting order, only for single table query. - // Handling is not required when it's a union query - // (the parser never sets the 'union' key to 0). - // Handling is also not required if we came from the "Sort by key" - // drop-down. - if (! empty($analyzed_sql_results) - && PMA_isRememberSortingOrder($analyzed_sql_results) - && empty($analyzed_sql_results['union']) - && ! isset($_REQUEST['sort_by_key']) - ) { - if (! isset($_SESSION['sql_from_query_box'])) { - PMA_handleSortOrder($db, $table, $analyzed_sql_results, $sql_query); - } else { - unset($_SESSION['sql_from_query_box']); - } - - } - - $displayResultsObject = new PMA\libraries\DisplayResults( - $GLOBALS['db'], $GLOBALS['table'], $goto, $sql_query - ); - $displayResultsObject->setConfigParamsForDisplayTable(); - - // assign default full_sql_query - $full_sql_query = $sql_query; - - // Do append a "LIMIT" clause? - if (PMA_isAppendLimitClause($analyzed_sql_results)) { - $full_sql_query = PMA_getSqlWithLimitClause($analyzed_sql_results); - } - - $GLOBALS['reload'] = PMA_hasCurrentDbChanged($db); - $GLOBALS['dbi']->selectDb($db); - - // Execute the query - list($result, $num_rows, $unlim_num_rows, $profiling_results, $extra_data) - = PMA_executeTheQuery( - $analyzed_sql_results, - $full_sql_query, - $is_gotofile, - $db, - $table, - isset($find_real_end) ? $find_real_end : null, - isset($sql_query_for_bookmark) ? $sql_query_for_bookmark : null, - isset($extra_data) ? $extra_data : null - ); - - // No rows returned -> move back to the calling page - if ((0 == $num_rows && 0 == $unlim_num_rows) - || $analyzed_sql_results['is_affected'] - ) { - $html_output = PMA_getQueryResponseForNoResultsReturned( - $analyzed_sql_results, $db, $table, - isset($message_to_show) ? $message_to_show : null, - $num_rows, $displayResultsObject, $extra_data, - $pmaThemeImage, isset($result) ? $result : null, - $sql_query, isset($complete_query) ? $complete_query : null - ); - } else { - // At least one row is returned -> displays a table with results - $html_output = PMA_getQueryResponseForResultsReturned( - isset($result) ? $result : null, - $analyzed_sql_results, - $db, - $table, - isset($message) ? $message : null, - isset($sql_data) ? $sql_data : null, - $displayResultsObject, - $pmaThemeImage, - $unlim_num_rows, - $num_rows, - isset($disp_query) ? $disp_query : null, - isset($disp_message) ? $disp_message : null, - $profiling_results, - isset($query_type) ? $query_type : null, - isset($selectedTables) ? $selectedTables : null, - $sql_query, - isset($complete_query) ? $complete_query : null - ); - } - - // Handle disable/enable foreign key checks - PMA\libraries\Util::handleDisableFKCheckCleanup($default_fk_check); - - return $html_output; -} - -/** - * Function to define pos to display a row - * - * @param Int $number_of_line Number of the line to display - * @param Int $max_rows Number of rows by page - * - * @return Int Start position to display the line - */ -function PMA_getStartPosToDisplayRow($number_of_line, $max_rows = null) -{ - if (null === $max_rows) { - $max_rows = $_SESSION['tmpval']['max_rows']; - } - - return @((ceil($number_of_line / $max_rows) - 1) * $max_rows); -} - -/** - * Function to calculate new pos if pos is higher than number of rows - * of displayed table - * - * @param String $db Database name - * @param String $table Table name - * @param Int|null $pos Initial position - * - * @return Int Number of pos to display last page - */ -function PMA_calculatePosForLastPage($db, $table, $pos) -{ - if (null === $pos) { - $pos = $_SESSION['tmpval']['pos']; - } - - $_table = new Table($table, $db); - $unlim_num_rows = $_table->countRecords(true); - //If position is higher than number of rows - if ($unlim_num_rows <= $pos && 0 != $pos) { - $pos = PMA_getStartPosToDisplayRow($unlim_num_rows); - } - - return $pos; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sql_query_form.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sql_query_form.lib.php deleted file mode 100644 index 190e57e0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sql_query_form.lib.php +++ /dev/null @@ -1,440 +0,0 @@ -' . "\n"; - - $html .= '' - . "\n" . URL::getHiddenInputs($db, $table) . "\n" - . '' . "\n" - . '' . "\n" - . '' - . "\n" . '' . "\n"; - - // display querybox - if ($display_tab === 'full' || $display_tab === 'sql') { - $html .= PMA_getHtmlForSqlQueryFormInsert( - $query, $delimiter - ); - } - - // Bookmark Support - if ($display_tab === 'full') { - $cfgBookmark = Bookmark::getParams(); - if ($cfgBookmark) { - $html .= PMA_getHtmlForSqlQueryFormBookmark(); - } - } - - // Japanese encoding setting - if (Encoding::canConvertKanji()) { - $html .= Encoding::kanjiEncodingForm(); - } - - $html .= '' . "\n"; - // print an empty div, which will be later filled with - // the sql query results by ajax - $html .= '
    '; - - return $html; -} - -/** - * Get initial values for Sql Query Form Insert - * - * @param string $query query to display in the textarea - * - * @return array ($legend, $query, $columns_list) - * - * @usedby PMA_getHtmlForSqlQueryFormInsert() - */ -function PMA_initQueryForm($query) -{ - $columns_list = array(); - if (strlen($GLOBALS['db']) === 0) { - // prepare for server related - $legend = sprintf( - __('Run SQL query/queries on server %s'), - '"' . htmlspecialchars( - ! empty($GLOBALS['cfg']['Servers'][$GLOBALS['server']]['verbose']) - ? $GLOBALS['cfg']['Servers'][$GLOBALS['server']]['verbose'] - : $GLOBALS['cfg']['Servers'][$GLOBALS['server']]['host'] - ) . '"' - ); - } elseif (strlen($GLOBALS['table']) === 0) { - // prepare for db related - $db = $GLOBALS['db']; - // if you want navigation: - $tmp_db_link = ''; - $legend = sprintf(__('Run SQL query/queries on database %s'), $tmp_db_link); - if (empty($query)) { - $query = PMA\libraries\Util::expandUserString( - $GLOBALS['cfg']['DefaultQueryDatabase'], 'backquote' - ); - } - } else { - $db = $GLOBALS['db']; - $table = $GLOBALS['table']; - // Get the list and number of fields - // we do a try_query here, because we could be in the query window, - // trying to synchronize and the table has not yet been created - $columns_list = $GLOBALS['dbi']->getColumns( - $db, $GLOBALS['table'], null, true - ); - - $tmp_tbl_link = ''; - $tmp_tbl_link .= htmlspecialchars($db) - . '.' . htmlspecialchars($table) . ''; - $legend = sprintf(__('Run SQL query/queries on table %s'), $tmp_tbl_link); - if (empty($query)) { - $query = PMA\libraries\Util::expandUserString( - $GLOBALS['cfg']['DefaultQueryTable'], 'backquote' - ); - } - } - $legend .= ': ' . PMA\libraries\Util::showMySQLDocu('SELECT'); - - return array($legend, $query, $columns_list); -} - -/** - * return HTML for Sql Query Form Insert - * - * @param string $query query to display in the textarea - * @param string $delimiter default delimiter to use - * - * @return string - * - * @usedby PMA_getHtmlForSqlQueryForm() - */ -function PMA_getHtmlForSqlQueryFormInsert( - $query = '', $delimiter = ';' -) { - // enable auto select text in textarea - if ($GLOBALS['cfg']['TextareaAutoSelect']) { - $auto_sel = ' onclick="selectContent(this, sql_box_locked, true);"'; - } else { - $auto_sel = ''; - } - - $locking = ''; - $height = $GLOBALS['cfg']['TextareaRows'] * 2; - - list($legend, $query, $columns_list) = PMA_initQueryForm($query); - - if (! empty($columns_list)) { - $sqlquerycontainer_id = 'sqlquerycontainer'; - } else { - $sqlquerycontainer_id = 'sqlquerycontainerfull'; - } - - $html = '' - . '
    ' - . '
    '; - $html .= '' . $legend . ''; - $html .= '
    '; - $html .= '
    ' - . ''; - $html .= '
    '; - // Add buttons to generate query easily for - // select all, single select, insert, update and delete - if (! empty($columns_list)) { - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - } - $html .= ''; - if ($GLOBALS['cfg']['CodemirrorEnable']) { - $html .= ''; - } - $html .= ''; - - // parameter binding - $html .= '
    '; - $html .= ''; - $html .= ''; - $html .= PMA\libraries\Util::showDocu('faq', 'faq6-40'); - $html .= '
    '; - $html .= '
    '; - - $html .= '
    ' . "\n"; - - if (! empty($columns_list)) { - $html .= '
    ' - . '' - . '' - . '
    '; - if (PMA\libraries\Util::showIcons('ActionLinksMode')) { - $html .= ''; - } else { - $html .= ''; - } - $html .= '
    ' . "\n" - . '
    ' . "\n"; - } - - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n"; - - $cfgBookmark = Bookmark::getParams(); - if ($cfgBookmark) { - $html .= '
    '; - $html .= '
    '; - $html .= ''; - $html .= ''; - $html .= '
    '; - $html .= '
    '; - $html .= ''; - $html .= ''; - $html .= '
    '; - $html .= '
    '; - $html .= ''; - $html .= ''; - $html .= '
    '; - $html .= '
    '; - } - - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n" - . '
    ' . "\n"; - - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n"; - - $html .= '
    '; - $html .= '' . "\n"; - $html .= ' ]'; - $html .= '
    '; - - $html .= '
    '; - $html .= '' - . ''; - $html .= '
    '; - - $html .= '
    '; - $html .= '' - . ''; - $html .= '
    '; - - $html .= '
    '; - $html .= '' - . ''; - $html .= '
    '; - - // Disable/Enable foreign key checks - $html .= '
    '; - $html .= PMA\libraries\Util::getFKCheckbox(); - $html .= '
    '; - - $html .= '' . "\n"; - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n"; - - return $html; -} - -/** - * return HTML for sql Query Form Bookmark - * - * @return string|null - * - * @usedby PMA_getHtmlForSqlQueryForm() - */ -function PMA_getHtmlForSqlQueryFormBookmark() -{ - $bookmark_list = Bookmark::getList($GLOBALS['db']); - if (empty($bookmark_list) || count($bookmark_list) < 1) { - return null; - } - - $html = '
    '; - $html .= ''; - $html .= __('Bookmarked SQL query') . '' . "\n"; - $html .= '
    '; - $html .= ' ' . "\n"; - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n"; - $html .= '' - . '' . "\n"; - $html .= '' - . '' . "\n"; - $html .= '' - . '' . "\n"; - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n"; - $html .= __('Variables'); - $html .= PMA\libraries\Util::showDocu('faq', 'faqbookmark'); - $html .= '
    '; - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n"; - - $html .= '
    '; - $html .= ''; - $html .= '
    ' . "\n"; - $html .= '
    ' . "\n"; - - return $html; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/string.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/string.lib.php deleted file mode 100644 index e1e54f37..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/string.lib.php +++ /dev/null @@ -1,33 +0,0 @@ -= strlen($haystack) - ) { - return false; - } - return stripos($haystack, $needle, $offset); - } - - /** - * Returns position of last $needle in $haystack or false if not found - * - * @param string $haystack the string being checked - * @param string $needle the string to find in haystack - * @param int $offset the search offset - * - * @return integer position of last $needle in $haystack or false - */ - function mb_strrpos($haystack, $needle, $offset = 0) - { - return strrpos($haystack, $needle, $offset); - } - - /** - * Returns position of last $needle in $haystack - case insensitive - or false - * if not found - * - * @param string $haystack the string being checked - * @param string $needle the string to find in haystack - * @param int $offset the search offset - * - * @return integer position of last $needle in $haystack or false - */ - function mb_strripos($haystack, $needle, $offset = 0) - { - if (('' === $haystack || false === $haystack) && $offset >= strlen($haystack) - ) { - return false; - } - return strripos($haystack, $needle, $offset); - } - - /** - * Returns part of $haystack string starting from and including the first - * occurrence of $needle to the end of $haystack or false if not found - * - * @param string $haystack the string being checked - * @param string $needle the string to find in haystack - * @param bool $before_needle the part before the needle - * - * @return string part of $haystack or false - */ - function mb_strstr($haystack, $needle, $before_needle = false) - { - return strstr($haystack, $needle, $before_needle); - } - - /** - * Returns part of $haystack string starting from and including the first - * occurrence of $needle to the end of $haystack - case insensitive - or false - * if not found - * - * @param string $haystack the string being checked - * @param string $needle the string to find in haystack - * @param bool $before_needle the part before the needle - * - * @return string part of $haystack or false - */ - function mb_stristr($haystack, $needle, $before_needle = false) - { - return stristr($haystack, $needle, $before_needle); - } - - /** - * Returns the portion of haystack which starts at the last occurrence or false - * if not found - * - * @param string $haystack the string being checked - * @param string $needle the string to find in haystack - * - * @return string portion of haystack which starts at the last occurrence or - * false - */ - function mb_strrchr($haystack, $needle) - { - return strrchr($haystack, $needle); - } - - /** - * Make a string lowercase - * - * @param string $string the string being lowercased - * - * @return string the lower case string - */ - function mb_strtolower($string) - { - return strtolower($string); - } - - /** - * Make a string uppercase - * - * @param string $string the string being uppercased - * - * @return string the upper case string - */ - function mb_strtoupper($string) - { - return strtoupper($string); - } -} - -//New functions. -if (!@function_exists('mb_ord')) { - /** - * Perform a regular expression match - * - * @param string $pattern Pattern to search for - * @param string $subject Input string - * @param int $offset Start from search - * - * @return int 1 if matched, 0 if doesn't, false on failure - */ - function mb_preg_strpos($pattern, $subject, $offset = 0) - { - $matches = array(); - $bFind = preg_match( - $pattern, $subject, $matches, PREG_OFFSET_CAPTURE, $offset - ); - if (1 !== $bFind) { - return false; - } - - return $matches[1][1]; - } - - /** - * Get the ordinal value of a string - * - * @param string $string the string for which ord is required - * - * @return int the ord value - */ - function mb_ord($string) - { - return ord($string); - } - - /** - * Get the character of an ASCII - * - * @param int $ascii the ASCII code for which character is required - * - * @return string the character - */ - function mb_chr($ascii) - { - return chr($ascii); - } -} \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sysinfo.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sysinfo.lib.php deleted file mode 100644 index 27235ef2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/sysinfo.lib.php +++ /dev/null @@ -1,61 +0,0 @@ -supported()) { - return $ret; - } - } - - return new \PMA\libraries\SysInfo(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_columns_definition_form.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_columns_definition_form.inc.php deleted file mode 100644 index 4286a1a8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_columns_definition_form.inc.php +++ /dev/null @@ -1,413 +0,0 @@ - $db -); - -if ($action == 'tbl_create.php') { - $form_params['reload'] = 1; -} else { - if ($action == 'tbl_addfield.php') { - $form_params = array_merge( - $form_params, array( - 'field_where' => Util\get($_REQUEST, 'field_where')) - ); - if (isset($_REQUEST['field_where'])) { - $form_params['after_field'] = $_REQUEST['after_field']; - } - } - $form_params['table'] = $table; -} - -if (isset($num_fields)) { - $form_params['orig_num_fields'] = $num_fields; -} - -$form_params = array_merge( - $form_params, - array( - 'orig_field_where' => Util\get($_REQUEST, 'field_where'), - 'orig_after_field' => Util\get($_REQUEST, 'after_field'), - ) -); - -if (isset($selected) && is_array($selected)) { - foreach ($selected as $o_fld_nr => $o_fld_val) { - $form_params['selected[' . $o_fld_nr . ']'] = $o_fld_val; - } -} - -$is_backup = ($action != 'tbl_create.php' && $action != 'tbl_addfield.php'); - -require_once './libraries/transformations.lib.php'; -$cfgRelation = PMA_getRelationsParam(); - -$comments_map = PMA_getComments($db, $table); - -$move_columns = array(); -if (isset($fields_meta)) { - /** @var PMA\libraries\DatabaseInterface $dbi */ - $dbi = \PMA\libraries\di\Container::getDefaultContainer()->get('dbi'); - $move_columns = $dbi->getTable($db, $table)->getColumnsMeta(); -} - -$available_mime = array(); -if ($cfgRelation['mimework'] && $GLOBALS['cfg']['BrowseMIME']) { - $mime_map = PMA_getMIME($db, $table); - $available_mime = PMA_getAvailableMIMEtypes(); -} - -// workaround for field_fulltext, because its submitted indices contain -// the index as a value, not a key. Inserted here for easier maintenance -// and less code to change in existing files. -if (isset($field_fulltext) && is_array($field_fulltext)) { - foreach ($field_fulltext as $fulltext_nr => $fulltext_indexkey) { - $submit_fulltext[$fulltext_indexkey] = $fulltext_indexkey; - } -} -if (isset($_REQUEST['submit_num_fields']) - || isset($_REQUEST['submit_partition_change']) -) { - //if adding new fields, set regenerate to keep the original values - $regenerate = 1; -} - -$foreigners = PMA_getForeigners($db, $table, '', 'foreign'); -$child_references = null; -// From MySQL 5.6.6 onwards columns with foreign keys can be renamed. -// Hence, no need to get child references -if (PMA_MYSQL_INT_VERSION < 50606) { - $child_references = PMA_getChildReferences($db, $table); -} - -for ($columnNumber = 0; $columnNumber < $num_fields; $columnNumber++) { - - $type = ''; - $length = ''; - $columnMeta = array(); - $submit_attribute = null; - $extracted_columnspec = array(); - - if (!empty($regenerate)) { - - $columnMeta = array_merge( - $columnMeta, - array( - 'Field' => Util\get( - $_REQUEST, "field_name.${columnNumber}", false - ), - 'Type' => Util\get( - $_REQUEST, "field_type.${columnNumber}", false - ), - 'Collation' => Util\get( - $_REQUEST, "field_collation.${columnNumber}", '' - ), - 'Null' => Util\get( - $_REQUEST, "field_null.${columnNumber}", '' - ), - 'DefaultType' => Util\get( - $_REQUEST, "field_default_type.${columnNumber}", 'NONE' - ), - 'DefaultValue' => Util\get( - $_REQUEST, "field_default_value.${columnNumber}", '' - ), - 'Extra' => Util\get( - $_REQUEST, "field_extra.${columnNumber}", false - ), - 'Virtuality' => Util\get( - $_REQUEST, "field_virtuality.${columnNumber}", '' - ), - 'Expression' => Util\get( - $_REQUEST, "field_expression.${columnNumber}", '' - ), - ) - ); - - $columnMeta['Key'] = ''; - $parts = explode( - '_', Util\get($_REQUEST, "field_key.${columnNumber}", ''), 2 - ); - if (count($parts) == 2 && $parts[1] == $columnNumber) { - $columnMeta['Key'] = Util\get( - array( - 'primary' => 'PRI', - 'index' => 'MUL', - 'unique' => 'UNI', - 'fulltext' => 'FULLTEXT', - 'spatial' => 'SPATIAL' - ), - $parts[0], '' - ); - } - - $columnMeta['Comment'] - = isset($submit_fulltext[$columnNumber]) - && ($submit_fulltext[$columnNumber] == $columnNumber) - ? 'FULLTEXT' : false; - - switch ($columnMeta['DefaultType']) { - case 'NONE': - $columnMeta['Default'] = null; - break; - case 'USER_DEFINED': - $columnMeta['Default'] = $columnMeta['DefaultValue']; - break; - case 'NULL': - case 'CURRENT_TIMESTAMP': - $columnMeta['Default'] = $columnMeta['DefaultType']; - break; - } - - $length = Util\get($_REQUEST, "field_length.${columnNumber}", $length); - $submit_attribute = Util\get( - $_REQUEST, "field_attribute.${columnNumber}", false - ); - $comments_map[$columnMeta['Field']] = Util\get( - $_REQUEST, "field_comments.${columnNumber}" - ); - - $mime_map[$columnMeta['Field']] = array_merge( - $mime_map[$columnMeta['Field']], - array( - 'mimetype' => Util\get($_REQUEST, "field_mimetype.${$columnNumber}"), - 'transformation' => Util\get( - $_REQUEST, "field_transformation.${$columnNumber}" - ), - 'transformation_options' => Util\get( - $_REQUEST, "field_transformation_options.${$columnNumber}" - ), - ) - ); - - } elseif (isset($fields_meta[$columnNumber])) { - $columnMeta = $fields_meta[$columnNumber]; - $virtual = array( - 'VIRTUAL', 'PERSISTENT', 'VIRTUAL GENERATED', 'STORED GENERATED' - ); - if (in_array($columnMeta['Extra'], $virtual)) { - $tableObj = new Table($GLOBALS['table'], $GLOBALS['db']); - $expressions = $tableObj->getColumnGenerationExpression( - $columnMeta['Field'] - ); - $columnMeta['Expression'] = $expressions[$columnMeta['Field']]; - } - switch ($columnMeta['Default']) { - case null: - if (is_null($columnMeta['Default'])) { // null - if ($columnMeta['Null'] == 'YES') { - $columnMeta['DefaultType'] = 'NULL'; - $columnMeta['DefaultValue'] = ''; - } else { - $columnMeta['DefaultType'] = 'NONE'; - $columnMeta['DefaultValue'] = ''; - } - } else { // empty - $columnMeta['DefaultType'] = 'USER_DEFINED'; - $columnMeta['DefaultValue'] = $columnMeta['Default']; - } - break; - case 'CURRENT_TIMESTAMP': - $columnMeta['DefaultType'] = 'CURRENT_TIMESTAMP'; - $columnMeta['DefaultValue'] = ''; - break; - default: - $columnMeta['DefaultType'] = 'USER_DEFINED'; - $columnMeta['DefaultValue'] = $columnMeta['Default']; - break; - } - } - - if (isset($columnMeta['Type'])) { - $extracted_columnspec = PMA\libraries\Util::extractColumnSpec( - $columnMeta['Type'] - ); - if ($extracted_columnspec['type'] == 'bit') { - $columnMeta['Default'] - = PMA\libraries\Util::convertBitDefaultValue($columnMeta['Default']); - } - $type = $extracted_columnspec['type']; - if ($length == '') { - $length = $extracted_columnspec['spec_in_brackets']; - } - } else { - // creating a column - $columnMeta['Type'] = ''; - } - - // Variable tell if current column is bound in a foreign key constraint or not. - // MySQL version from 5.6.6 allow renaming columns with foreign keys - if (isset($columnMeta['Field']) - && isset($form_params['table']) - && PMA_MYSQL_INT_VERSION < 50606 - ) { - $columnMeta['column_status'] = PMA_checkChildForeignReferences( - $form_params['db'], - $form_params['table'], - $columnMeta['Field'], - $foreigners, - $child_references - ); - } - - // some types, for example longtext, are reported as - // "longtext character set latin7" when their charset and / or collation - // differs from the ones of the corresponding database. - // rtrim the type, for cases like "float unsigned" - $type = rtrim( - preg_replace('/[\s]character set[\s][\S]+/', '', $type) - ); - - /** - * old column attributes - */ - if ($is_backup) { - - // old column name - if (isset($columnMeta['Field'])) { - $form_params['field_orig[' . $columnNumber . ']'] - = $columnMeta['Field']; - if (isset($columnMeta['column_status']) - && !$columnMeta['column_status']['isEditable'] - ) { - $form_params['field_name[' . $columnNumber . ']'] - = $columnMeta['Field']; - } - } else { - $form_params['field_orig[' . $columnNumber . ']'] = ''; - } - - // old column type - if (isset($columnMeta['Type'])) { - // keep in uppercase because the new type will be in uppercase - $form_params['field_type_orig[' . $columnNumber . ']'] = mb_strtoupper($type); - if (isset($columnMeta['column_status']) - && !$columnMeta['column_status']['isEditable'] - ) { - $form_params['field_type[' . $columnNumber . ']'] = mb_strtoupper($type); - } - } else { - $form_params['field_type_orig[' . $columnNumber . ']'] = ''; - } - - // old column length - $form_params['field_length_orig[' . $columnNumber . ']'] = $length; - - // old column default - $form_params = array_merge( - $form_params, - array( - "field_default_value_orig[${columnNumber}]" => Util\get( - $columnMeta, 'Default', '' - ), - "field_default_type_orig[${columnNumber}]" => Util\get( - $columnMeta, 'DefaultType', '' - ), - "field_collation_orig[${columnNumber}]" => Util\get( - $columnMeta, 'Collation', '' - ), - "field_attribute_orig[${columnNumber}]" => trim( - Util\get($extracted_columnspec, 'attribute', '') - ), - "field_null_orig[${columnNumber}]" => Util\get( - $columnMeta, 'Null', '' - ), - "field_extra_orig[${columnNumber}]" => Util\get( - $columnMeta, 'Extra', '' - ), - "field_comments_orig[${columnNumber}]" => Util\get( - $columnMeta, 'Comment', '' - ), - "field_virtuality_orig[${columnNumber}]" => Util\get( - $columnMeta, 'Virtuality', '' - ), - "field_expression_orig[${columnNumber}]" => Util\get( - $columnMeta, 'Expression', '' - ), - ) - ); - } - - $content_cells[$columnNumber] = array( - 'columnNumber' => $columnNumber, - 'columnMeta' => $columnMeta, - 'type_upper' => mb_strtoupper($type), - 'length_values_input_size' => $length_values_input_size, - 'length' => $length, - 'extracted_columnspec' => $extracted_columnspec, - 'submit_attribute' => $submit_attribute, - 'comments_map' => $comments_map, - 'fields_meta' => isset($fields_meta) ? $fields_meta : null, - 'is_backup' => $is_backup, - 'move_columns' => $move_columns, - 'cfgRelation' => $cfgRelation, - 'available_mime' => $available_mime, - 'mime_map' => isset($mime_map) ? $mime_map : array() - ); -} // end for - -$html = PMA\libraries\Template::get('columns_definitions/column_definitions_form') - ->render( - array( - 'is_backup' => $is_backup, - 'fields_meta' => isset($fields_meta) ? $fields_meta : null, - 'mimework' => $cfgRelation['mimework'], - 'action' => $action, - 'form_params' => $form_params, - 'content_cells' => $content_cells, - ) - ); - -unset($form_params); - -$response = Response::getInstance(); -$response->getHeader()->getScripts()->addFiles( - array( - 'jquery/jquery.uitablefilter.js', - 'indexes.js' - ) -); -$response->addHTML($html); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_common.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_common.inc.php deleted file mode 100644 index 7ff5f288..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_common.inc.php +++ /dev/null @@ -1,52 +0,0 @@ -isSystemSchema($db); - -/** - * Set parameters for links - * @deprecated - */ -$url_query = URL::getCommon(array('db' => $db, 'table' => $table)); - -/** - * Set parameters for links - */ -$url_params = array(); -$url_params['db'] = $db; -$url_params['table'] = $table; - -/** - * Defines the urls to return to in case of error in a sql statement - */ -$err_url_0 = PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabDatabase'], 'database' -) - . URL::getCommon(array('db' => $db)); - -$err_url = PMA\libraries\Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabTable'], 'table' -) - . URL::getCommon($url_params); - - -/** - * Ensures the database and the table exist (else move to the "parent" script) - * Skip test if we are exporting as we can't tell whether a table name is an alias (which would fail the test). - */ -if (basename($_SERVER['PHP_SELF']) != 'tbl_export.php') { - require_once './libraries/db_table_exists.inc.php'; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_info.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_info.inc.php deleted file mode 100644 index dc8a325b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tbl_info.inc.php +++ /dev/null @@ -1,109 +0,0 @@ -selectDb($GLOBALS['db']); - - -/** - * Holds information about the current table - * - * Table::getStatusInfo() does caching by default, but here - * we force reading of the current table status - * if $reread_info is true (for example, coming from tbl_operations.php - * and we just changed the table's storage engine) - * - * @todo replace this by Table - * @global array $GLOBALS['showtable'] - * @name $showtable - */ -$GLOBALS['showtable'] = $GLOBALS['dbi']->getTable( - $GLOBALS['db'], - $GLOBALS['table'] -)->getStatusInfo( - null, - (isset($reread_info) && $reread_info ? true : false) -); - -// need this test because when we are creating a table, we get 0 rows -// from the SHOW TABLE query -// and we don't want to mess up the $tbl_storage_engine coming from the form - -if ($showtable) { - if ($GLOBALS['dbi']->getTable($GLOBALS['db'], $GLOBALS['table'])->isView()) { - $tbl_is_view = true; - $tbl_storage_engine = __('View'); - $show_comment = null; - } else { - $tbl_is_view = false; - $tbl_storage_engine = isset($showtable['Engine']) - ? mb_strtoupper($showtable['Engine']) - : ''; - $show_comment = ''; - if (isset($showtable['Comment'])) { - $show_comment = $showtable['Comment']; - } - } - $tbl_collation = empty($showtable['Collation']) - ? '' - : $showtable['Collation']; - - if (null === $showtable['Rows']) { - $showtable['Rows'] = $GLOBALS['dbi'] - ->getTable($GLOBALS['db'], $showtable['Name']) - ->countRecords(true); - } - $table_info_num_rows = isset($showtable['Rows']) ? $showtable['Rows'] : 0; - $row_format = isset($showtable['Row_format']) ? $showtable['Row_format'] : ''; - $auto_increment = isset($showtable['Auto_increment']) - ? $showtable['Auto_increment'] - : ''; - - $create_options_tmp = isset($showtable['Create_options']) - ? explode(' ', $showtable['Create_options']) - : array(); - $create_options = array(); - - // export create options by its name as variables into global namespace - // f.e. pack_keys=1 becomes available as $pack_keys with value of '1' - unset($pack_keys); - foreach ($create_options_tmp as $each_create_option) { - $each_create_option = explode('=', $each_create_option); - if (isset($each_create_option[1])) { - // ensure there is no ambiguity for PHP 5 and 7 - $create_options[$each_create_option[0]] = $each_create_option[1]; - } - } - // we need explicit DEFAULT value here (different from '0') - $create_options['pack_keys'] = (! isset($create_options['pack_keys']) || strlen($create_options['pack_keys']) == 0) - ? 'DEFAULT' - : $create_options['pack_keys']; - unset($create_options_tmp, $each_create_option); -} else { - $pack_keys = $row_format = null; -}// end if diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tracking.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tracking.lib.php deleted file mode 100644 index d532d9cc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/tracking.lib.php +++ /dev/null @@ -1,1726 +0,0 @@ -= $filter_ts_from - && $timestamp <= $filter_ts_to - && (in_array('*', $filter_users) || $filtered_user) - ) { - $tmp_entries[] = array( - 'id' => $id, - 'timestamp' => $timestamp, - 'username' => $entry['username'], - 'statement' => $entry['statement'] - ); - } - $id++; - } - return($tmp_entries); -} - -/** - * Function to get html for data definition and data manipulation statements - * - * @param string $url_query url query - * @param int $last_version last version - * @param string $db database - * @param array $selected selected tables - * @param string $type type of the table; table, view or both - * - * @return string - */ -function PMA_getHtmlForDataDefinitionAndManipulationStatements($url_query, - $last_version, $db, $selected, $type = 'both' -) { - $html = '
    '; - $html .= '
    '; - $html .= URL::getHiddenInputs($db); - foreach ($selected as $selected_table) { - $html .= ''; - } - - $html .= '
    '; - $html .= ''; - if (count($selected) == 1) { - $html .= sprintf( - __('Create version %1$s of %2$s'), - ($last_version + 1), - htmlspecialchars($db . '.' . $selected[0]) - ); - } else { - $html .= sprintf(__('Create version %1$s'), ($last_version + 1)); - } - $html .= ''; - $html .= ''; - $html .= '

    ' . __('Track these data definition statements:') - . '

    '; - - if ($type == 'both' || $type == 'table') { - $html .= ' ALTER TABLE
    '; - $html .= ' RENAME TABLE
    '; - $html .= ' CREATE TABLE
    '; - $html .= ' DROP TABLE
    '; - } - if ($type == 'both') { - $html .= '
    '; - } - if ($type == 'both' || $type == 'view') { - $html .= ' ALTER VIEW
    '; - $html .= ' CREATE VIEW
    '; - $html .= ' DROP VIEW
    '; - } - $html .= '
    '; - - $html .= ' CREATE INDEX
    '; - $html .= ' DROP INDEX
    '; - $html .= '

    ' . __('Track these data manipulation statements:') . '

    '; - $html .= ' INSERT
    '; - $html .= ' UPDATE
    '; - $html .= ' DELETE
    '; - $html .= ' TRUNCATE
    '; - $html .= '
    '; - - $html .= '
    '; - $html .= ''; - $html .= ''; - $html .= '
    '; - - $html .= '
    '; - $html .= '
    '; - - return $html; -} - -/** - * Function to get html for activate/deactivate tracking - * - * @param string $action activate|deactivate - * @param string $url_query url query - * @param int $last_version last version - * - * @return string - */ -function PMA_getHtmlForActivateDeactivateTracking( - $action, $url_query, $last_version -) { - $html = '
    '; - $html .= '
    '; - $html .= URL::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); - $html .= '
    '; - $html .= ''; - - switch($action) { - case 'activate': - $legend = __('Activate tracking for %s'); - $value = "activate_now"; - $button = __('Activate now'); - break; - case 'deactivate': - $legend = __('Deactivate tracking for %s'); - $value = "deactivate_now"; - $button = __('Deactivate now'); - break; - default: - $legend = ''; - $value = ''; - $button = ''; - } - - $html .= sprintf( - $legend, - htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table']) - ); - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= '
    '; - $html .= '
    '; - $html .= '
    '; - - return $html; -} - -/** - * Function to get the list versions of the table - * - * @return array - */ -function PMA_getListOfVersionsOfTable() -{ - $cfgRelation = PMA_getRelationsParam(); - $sql_query = " SELECT * FROM " . - PMA\libraries\Util::backquote($cfgRelation['db']) . "." . - PMA\libraries\Util::backquote($cfgRelation['tracking']) . - " WHERE db_name = '" . $GLOBALS['dbi']->escapeString($_REQUEST['db']) . - "' " . - " AND table_name = '" . - $GLOBALS['dbi']->escapeString($_REQUEST['table']) . "' " . - " ORDER BY version DESC "; - - return PMA_queryAsControlUser($sql_query); -} - -/** - * Function to get html for displaying last version number - * - * @param array $sql_result sql result - * @param int $last_version last version - * @param array $url_params url parameters - * @param string $url_query url query - * @param string $pmaThemeImage path to theme's image folder - * @param string $text_dir text direction - * - * @return string - */ -function PMA_getHtmlForTableVersionDetails( - $sql_result, $last_version, $url_params, - $url_query, $pmaThemeImage, $text_dir -) { - $tracking_active = false; - - $html = '
    '; - $html .= URL::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - - $GLOBALS['dbi']->dataSeek($sql_result, 0); - $delete = PMA\libraries\Util::getIcon('b_drop.png', __('Delete version')); - $report = PMA\libraries\Util::getIcon('b_report.png', __('Tracking report')); - $structure = PMA\libraries\Util::getIcon( - 'b_props.png', - __('Structure snapshot') - ); - - while ($version = $GLOBALS['dbi']->fetchArray($sql_result)) { - if ($version['version'] == $last_version) { - if ($version['tracking_active'] == 1) { - $tracking_active = true; - } else { - $tracking_active = false; - } - } - $delete_link = 'tbl_tracking.php' . $url_query . '&version=' - . htmlspecialchars($version['version']) - . '&submit_delete_version=true'; - $checkbox_id = 'selected_versions_' . htmlspecialchars($version['version']); - - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - } - - $html .= ''; - $html .= '
    ' . __('Version') . '' . __('Created') . '' . __('Updated') . '' . __('Status') . '' . __('Action') . '' . __('Show') . '
    '; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= '' . htmlspecialchars($version['date_created']) . '' . htmlspecialchars($version['date_updated']) . '' . PMA_getVersionStatus($version) . '' . $delete . '' . $report . ''; - $html .= '  '; - $html .= '' . $structure . ''; - $html .= '
    '; - - $html .= PMA\libraries\Template::get('select_all') - ->render( - array( - 'pmaThemeImage' => $pmaThemeImage, - 'text_dir' => $text_dir, - 'formName' => 'versionsForm', - ) - ); - $html .= PMA\libraries\Util::getButtonOrImage( - 'submit_mult', 'mult_submit', - __('Delete version'), 'b_drop.png', 'delete_version' - ); - - $html .= '
    '; - - if ($tracking_active) { - $html .= PMA_getHtmlForActivateDeactivateTracking( - 'deactivate', $url_query, $last_version - ); - } else { - $html .= PMA_getHtmlForActivateDeactivateTracking( - 'activate', $url_query, $last_version - ); - } - - return $html; -} - -/** - * Function to get the last version number of a table - * - * @param array $sql_result sql result - * - * @return int - */ -function PMA_getTableLastVersionNumber($sql_result) -{ - $maxversion = $GLOBALS['dbi']->fetchArray($sql_result); - return intval($maxversion['version']); -} - -/** - * Function to get sql results for selectable tables - * - * @return array - */ -function PMA_getSQLResultForSelectableTables() -{ - include_once 'libraries/relation.lib.php'; - $cfgRelation = PMA_getRelationsParam(); - - $sql_query = " SELECT DISTINCT db_name, table_name FROM " . - PMA\libraries\Util::backquote($cfgRelation['db']) . "." . - PMA\libraries\Util::backquote($cfgRelation['tracking']) . - " WHERE db_name = '" . $GLOBALS['dbi']->escapeString($GLOBALS['db']) . - "' " . - " ORDER BY db_name, table_name"; - - return PMA_queryAsControlUser($sql_query); -} - -/** - * Function to get html for selectable table rows - * - * @param array $selectable_tables_sql_result sql results for selectable rows - * @param string $url_query url query - * - * @return string - */ -function PMA_getHtmlForSelectableTables($selectable_tables_sql_result, $url_query) -{ - $html = '
    '; - $html .= URL::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); - $html .= ''; - $html .= ''; - $html .= '
    '; - - return $html; -} - -/** - * Function to get html for tracking report and tracking report export - * - * @param string $url_query url query - * @param array $data data - * @param array $url_params url params - * @param boolean $selection_schema selection schema - * @param boolean $selection_data selection data - * @param boolean $selection_both selection both - * @param int $filter_ts_to filter time stamp from - * @param int $filter_ts_from filter time stamp tp - * @param array $filter_users filter users - * - * @return string - */ -function PMA_getHtmlForTrackingReport($url_query, $data, $url_params, - $selection_schema, $selection_data, $selection_both, $filter_ts_to, - $filter_ts_from, $filter_users -) { - $html = '

    ' . __('Tracking report') - . ' [' . __('Close') - . ']

    '; - - $html .= '' . __('Tracking statements') . ' ' - . htmlspecialchars($data['tracking']) . '
    '; - $html .= '
    '; - - list($str1, $str2, $str3, $str4, $str5) = PMA_getHtmlForElementsOfTrackingReport( - $selection_schema, $selection_data, $selection_both - ); - - // Prepare delete link content here - $drop_image_or_text = ''; - if (PMA\libraries\Util::showIcons('ActionLinksMode')) { - $drop_image_or_text .= PMA\libraries\Util::getImage( - 'b_drop.png', __('Delete tracking data row from report') - ); - } - if (PMA\libraries\Util::showText('ActionLinksMode')) { - $drop_image_or_text .= __('Delete'); - } - - /* - * First, list tracked data definition statements - */ - if (count($data['ddlog']) == 0 && count($data['dmlog']) == 0) { - $msg = Message::notice(__('No data')); - $msg->display(); - } - - $html .= PMA_getHtmlForTrackingReportExportForm1( - $data, $url_params, $selection_schema, $selection_data, $selection_both, - $filter_ts_to, $filter_ts_from, $filter_users, $str1, $str2, $str3, - $str4, $str5, $drop_image_or_text - ); - - $html .= PMA_getHtmlForTrackingReportExportForm2( - $url_params, $str1, $str2, $str3, $str4, $str5 - ); - - $html .= "



    \n"; - - return $html; -} - -/** - * Generate HTML element for report form - * - * @param boolean $selection_schema selection schema - * @param boolean $selection_data selection data - * @param boolean $selection_both selection both - * - * @return array - */ -function PMA_getHtmlForElementsOfTrackingReport( - $selection_schema, $selection_data, $selection_both -) { - $str1 = ''; - $str2 = ''; - $str3 = ''; - $str4 = ''; - $str5 = '' - . ''; - return array($str1, $str2, $str3, $str4, $str5); -} - -/** - * Generate HTML for export form - * - * @param array $data data - * @param array $url_params url params - * @param boolean $selection_schema selection schema - * @param boolean $selection_data selection data - * @param boolean $selection_both selection both - * @param int $filter_ts_to filter time stamp from - * @param int $filter_ts_from filter time stamp tp - * @param array $filter_users filter users - * @param string $str1 HTML for logtype select - * @param string $str2 HTML for "from date" - * @param string $str3 HTML for "to date" - * @param string $str4 HTML for user - * @param string $str5 HTML for "list report" - * @param string $drop_image_or_text HTML for image or text - * - * @return string HTML for form - */ -function PMA_getHtmlForTrackingReportExportForm1( - $data, $url_params, $selection_schema, $selection_data, $selection_both, - $filter_ts_to, $filter_ts_from, $filter_users, $str1, $str2, $str3, - $str4, $str5, $drop_image_or_text -) { - $ddlog_count = 0; - - $html = '
    '; - $html .= URL::getHiddenInputs(); - - $html .= sprintf( - __('Show %1$s with dates from %2$s to %3$s by user %4$s %5$s'), - $str1, $str2, $str3, $str4, $str5 - ); - - if ($selection_schema || $selection_both && count($data['ddlog']) > 0) { - list($temp, $ddlog_count) = PMA_getHtmlForDataDefinitionStatements( - $data, $filter_users, $filter_ts_from, $filter_ts_to, $url_params, - $drop_image_or_text - ); - $html .= $temp; - unset($temp); - } //endif - - /* - * Secondly, list tracked data manipulation statements - */ - if (($selection_data || $selection_both) && count($data['dmlog']) > 0) { - $html .= PMA_getHtmlForDataManipulationStatements( - $data, $filter_users, $filter_ts_from, $filter_ts_to, $url_params, - $ddlog_count, $drop_image_or_text - ); - } - $html .= '
    '; - return $html; -} - -/** - * Generate HTML for export form - * - * @param array $url_params Parameters - * @param string $str1 HTML for logtype select - * @param string $str2 HTML for "from date" - * @param string $str3 HTML for "to date" - * @param string $str4 HTML for user - * @param string $str5 HTML for "list report" - * - * @return string HTML for form - */ -function PMA_getHtmlForTrackingReportExportForm2( - $url_params, $str1, $str2, $str3, $str4, $str5 -) { - $html = '
    '; - $html .= URL::getHiddenInputs(); - $html .= sprintf( - __('Show %1$s with dates from %2$s to %3$s by user %4$s %5$s'), - $str1, $str2, $str3, $str4, $str5 - ); - $html .= '
    '; - - $html .= '
    '; - $html .= URL::getHiddenInputs(); - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - - $str_export1 = ''; - - $str_export2 = '' - . ''; - - $html .= "
    " . sprintf(__('Export as %s'), $str_export1) - . $str_export2 . "
    "; - $html .= '
    '; - return $html; -} - -/** - * Function to get html for data manipulation statements - * - * @param array $data data - * @param array $filter_users filter users - * @param int $filter_ts_from filter time staml from - * @param int $filter_ts_to filter time stamp to - * @param array $url_params url parameters - * @param int $ddlog_count data definition log count - * @param string $drop_image_or_text drop image or text - * - * @return string - */ -function PMA_getHtmlForDataManipulationStatements($data, $filter_users, - $filter_ts_from, $filter_ts_to, $url_params, $ddlog_count, - $drop_image_or_text -) { - // no need for the secondth returned parameter - list($html,) = PMA_getHtmlForDataStatements( - $data, $filter_users, $filter_ts_from, $filter_ts_to, $url_params, - $drop_image_or_text, 'dmlog', __('Data manipulation statement'), - $ddlog_count, 'dml_versions' - ); - - return $html; -} - -/** - * Function to get html for one data manipulation statement - * - * @param array $entry entry - * @param array $filter_users filter users - * @param int $filter_ts_from filter time stamp from - * @param int $filter_ts_to filter time stamp to - * @param int $line_number line number - * @param array $url_params url parameters - * @param int $offset line number offset - * @param string $drop_image_or_text drop image or text - * @param string $delete_param parameter for delete - * - * @return string - */ -function PMA_getHtmlForOneStatement($entry, $filter_users, - $filter_ts_from, $filter_ts_to, $line_number, $url_params, $offset, - $drop_image_or_text, $delete_param -) { - $statement = PMA\libraries\Util::formatSql($entry['statement'], true); - $timestamp = strtotime($entry['date']); - $filtered_user = in_array($entry['username'], $filter_users); - $html = null; - - if ($timestamp >= $filter_ts_from - && $timestamp <= $filter_ts_to - && (in_array('*', $filter_users) || $filtered_user) - ) { - $html = ''; - $html .= '' . $line_number . ''; - $html .= '' - . htmlspecialchars($entry['date']) . ''; - $html .= '' - . htmlspecialchars($entry['username']) . ''; - $html .= '' . $statement . ''; - $html .= '' - . $drop_image_or_text - . ''; - $html .= ''; - } - - return $html; -} -/** - * Function to get html for data definition statements in schema snapshot - * - * @param array $data data - * @param array $filter_users filter users - * @param int $filter_ts_from filter time stamp from - * @param int $filter_ts_to filter time stamp to - * @param array $url_params url parameters - * @param string $drop_image_or_text drop image or text - * - * @return array - */ -function PMA_getHtmlForDataDefinitionStatements($data, $filter_users, - $filter_ts_from, $filter_ts_to, $url_params, $drop_image_or_text -) { - list($html, $line_number) = PMA_getHtmlForDataStatements( - $data, $filter_users, $filter_ts_from, $filter_ts_to, $url_params, - $drop_image_or_text, 'ddlog', __('Data definition statement'), - 1, 'ddl_versions' - ); - - return array($html, $line_number); -} - -/** - * Function to get html for data statements in schema snapshot - * - * @param array $data data - * @param array $filter_users filter users - * @param int $filter_ts_from filter time stamp from - * @param int $filter_ts_to filter time stamp to - * @param array $url_params url parameters - * @param string $drop_image_or_text drop image or text - * @param string $which_log dmlog|ddlog - * @param string $header_message message for this section - * @param int $line_number line number - * @param string $table_id id for the table element - * - * @return array - */ -function PMA_getHtmlForDataStatements($data, $filter_users, - $filter_ts_from, $filter_ts_to, $url_params, $drop_image_or_text, - $which_log, $header_message, $line_number, $table_id -) { - $offset = $line_number; - $html = ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - - foreach ($data[$which_log] as $entry) { - $html .= PMA_getHtmlForOneStatement( - $entry, $filter_users, $filter_ts_from, $filter_ts_to, - $line_number, $url_params, $offset, $drop_image_or_text, - 'delete_' . $which_log - ); - $line_number++; - } - $html .= ''; - $html .= '
    #' . __('Date') . '' . __('Username') . '' . $header_message . '' . __('Action') . '
    '; - - return array($html, $line_number); -} - -/** - * Function to get html for schema snapshot - * - * @param string $url_query url query - * - * @return string - */ -function PMA_getHtmlForSchemaSnapshot($url_query) -{ - $html = '

    ' . __('Structure snapshot') - . ' [' . __('Close') - . ']

    '; - $data = Tracker::getTrackedData( - $_REQUEST['db'], $_REQUEST['table'], $_REQUEST['version'] - ); - - // Get first DROP TABLE/VIEW and CREATE TABLE/VIEW statements - $drop_create_statements = $data['ddlog'][0]['statement']; - - if (mb_strstr($data['ddlog'][0]['statement'], 'DROP TABLE') - || mb_strstr($data['ddlog'][0]['statement'], 'DROP VIEW') - ) { - $drop_create_statements .= $data['ddlog'][1]['statement']; - } - // Print SQL code - $html .= PMA\libraries\Util::getMessage( - sprintf( - __('Version %s snapshot (SQL code)'), - htmlspecialchars($_REQUEST['version']) - ), - $drop_create_statements - ); - - // Unserialize snapshot - $temp = PMA_safeUnserialize($data['schema_snapshot']); - if ($temp === null) { - $temp = array('COLUMNS' => array(), 'INDEXES' => array()); - } - $columns = $temp['COLUMNS']; - $indexes = $temp['INDEXES']; - $html .= PMA_getHtmlForColumns($columns); - - if (count($indexes) > 0) { - $html .= PMA_getHtmlForIndexes($indexes); - } // endif - $html .= '


    '; - - return $html; -} - -/** - * Function to get html for displaying columns in the schema snapshot - * - * @param array $columns columns - * - * @return string - */ -function PMA_getHtmlForColumns($columns) -{ - $html = '

    ' . __('Structure') . '

    '; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $index = 1; - foreach ($columns as $field) { - $html .= PMA_getHtmlForField($index++, $field); - } - - $html .= ''; - $html .= '
    ' . __('#') . '' . __('Column') . '' . __('Type') . '' . __('Collation') . '' . __('Null') . '' . __('Default') . '' . __('Extra') . '' . __('Comment') . '
    '; - - return $html; -} - -/** - * Function to get html for field - * - * @param int $index index - * @param array $field field - * - * @return string - */ -function PMA_getHtmlForField($index, $field) -{ - $html = ''; - $html .= '' . $index . ''; - $html .= '' . htmlspecialchars($field['Field']); - if ($field['Key'] == 'PRI') { - $html .= ' ' . PMA\libraries\Util::getImage( - 'b_primary.png', __('Primary') - ); - } elseif (! empty($field['Key'])) { - $html .= ' ' . PMA\libraries\Util::getImage( - 'bd_primary.png', __('Index') - ); - } - $html .= ''; - $html .= "\n"; - $html .= '' . htmlspecialchars($field['Type']) . ''; - $html .= '' . htmlspecialchars($field['Collation']) . ''; - $html .= '' . (($field['Null'] == 'YES') ? __('Yes') : __('No')) . ''; - $html .= ''; - if (isset($field['Default'])) { - $extracted_columnspec = PMA\libraries\Util::extractColumnSpec( - $field['Type'] - ); - if ($extracted_columnspec['type'] == 'bit') { - // here, $field['Default'] contains something like b'010' - $html .= PMA\libraries\Util::convertBitDefaultValue($field['Default']); - } else { - $html .= htmlspecialchars($field['Default']); - } - } else { - if ($field['Null'] == 'YES') { - $html .= 'NULL'; - } else { - $html .= '' . _pgettext('None for default', 'None') . ''; - } - } - $html .= ''; - $html .= '' . htmlspecialchars($field['Extra']) . ''; - $html .= '' . htmlspecialchars($field['Comment']) . ''; - $html .= ''; - - return $html; -} - -/** - * Function to get html for the indexes in schema snapshot - * - * @param array $indexes indexes - * - * @return string - */ -function PMA_getHtmlForIndexes($indexes) -{ - $html = '

    ' . __('Indexes') . '

    '; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; - - foreach ($indexes as $index) { - $html .= PMA_getHtmlForIndex($index); - } - $html .= ''; - $html .= '
    ' . __('Keyname') . '' . __('Type') . '' . __('Unique') . '' . __('Packed') . '' . __('Column') . '' . __('Cardinality') . '' . __('Collation') . '' . __('Null') . '' . __('Comment') . '
    '; - return $html; -} - -/** - * Function to get html for an index in schema snapshot - * - * @param array $index index - * - * @return string - */ -function PMA_getHtmlForIndex($index) -{ - if ($index['Non_unique'] == 0) { - $str_unique = __('Yes'); - } else { - $str_unique = __('No'); - } - if ($index['Packed'] != '') { - $str_packed = __('Yes'); - } else { - $str_packed = __('No'); - } - - $html = ''; - $html .= '' . htmlspecialchars($index['Key_name']) . ''; - $html .= '' . htmlspecialchars($index['Index_type']) . ''; - $html .= '' . $str_unique . ''; - $html .= '' . $str_packed . ''; - $html .= '' . htmlspecialchars($index['Column_name']) . ''; - $html .= '' . htmlspecialchars($index['Cardinality']) . ''; - $html .= '' . htmlspecialchars($index['Collation']) . ''; - $html .= '' . htmlspecialchars($index['Null']) . ''; - $html .= '' . htmlspecialchars($index['Comment']) . ''; - $html .= ''; - - return $html; -} - -/** - * Function to handle the tracking report - * - * @param array &$data tracked data - * - * @return string HTML for the message - */ -function PMA_deleteTrackingReportRows(&$data) -{ - $html = ''; - if (isset($_REQUEST['delete_ddlog'])) { - // Delete ddlog row data - $html .= PMA_deleteFromTrackingReportLog( - $data, - 'ddlog', - 'DDL', - __('Tracking data definition successfully deleted') - ); - } - - if (isset($_REQUEST['delete_dmlog'])) { - // Delete dmlog row data - $html .= PMA_deleteFromTrackingReportLog( - $data, - 'dmlog', - 'DML', - __('Tracking data manipulation successfully deleted') - ); - } - return $html; -} - -/** - * Function to delete from a tracking report log - * - * @param array &$data tracked data - * @param string $which_log ddlog|dmlog - * @param string $type DDL|DML - * @param string $message success message - * - * @return string HTML for the message - */ -function PMA_deleteFromTrackingReportLog(&$data, $which_log, $type, $message) -{ - $html = ''; - $delete_id = $_REQUEST['delete_' . $which_log]; - - // Only in case of valid id - if ($delete_id == (int)$delete_id) { - unset($data[$which_log][$delete_id]); - - $successfullyDeleted = Tracker::changeTrackingData( - $_REQUEST['db'], - $_REQUEST['table'], - $_REQUEST['version'], - $type, - $data[$which_log] - ); - if ($successfullyDeleted) { - $msg = Message::success($message); - } else { - $msg = Message::rawError(__('Query error')); - } - $html .= $msg->getDisplay(); - } - return $html; -} - -/** - * Function to export as sql dump - * - * @param array $entries entries - * - * @return string HTML SQL query form - */ -function PMA_exportAsSQLDump($entries) -{ - $html = ''; - $new_query = "# " - . __( - 'You can execute the dump by creating and using a temporary database. ' - . 'Please ensure that you have the privileges to do so.' - ) - . "\n" - . "# " . __('Comment out these two lines if you do not need them.') . "\n" - . "\n" - . "CREATE database IF NOT EXISTS pma_temp_db; \n" - . "USE pma_temp_db; \n" - . "\n"; - - foreach ($entries as $entry) { - $new_query .= $entry['statement']; - } - $msg = Message::success( - __('SQL statements exported. Please copy the dump or execute it.') - ); - $html .= $msg->getDisplay(); - - $db_temp = $GLOBALS['db']; - $table_temp = $GLOBALS['table']; - - $GLOBALS['db'] = $GLOBALS['table'] = ''; - include_once './libraries/sql_query_form.lib.php'; - - $html .= PMA_getHtmlForSqlQueryForm($new_query, 'sql'); - - $GLOBALS['db'] = $db_temp; - $GLOBALS['table'] = $table_temp; - - return $html; -} - -/** - * Function to export as sql execution - * - * @param array $entries entries - * - * @return array - */ -function PMA_exportAsSQLExecution($entries) -{ - $sql_result = array(); - foreach ($entries as $entry) { - $sql_result = $GLOBALS['dbi']->query("/*NOTRACK*/\n" . $entry['statement']); - } - - return $sql_result; -} - -/** - * Function to export as entries - * - * @param array $entries entries - * - * @return void - */ -function PMA_exportAsFileDownload($entries) -{ - @ini_set('url_rewriter.tags', ''); - - // Replace all multiple whitespaces by a single space - $table = htmlspecialchars(preg_replace('/\s+/', ' ', $_REQUEST['table'])); - $dump = "# " . sprintf( - __('Tracking report for table `%s`'), $table - ) - . "\n" . "# " . date('Y-m-d H:i:s') . "\n"; - foreach ($entries as $entry) { - $dump .= $entry['statement']; - } - $filename = 'log_' . $table . '.sql'; - Response::getInstance()->disable(); - PMA_downloadHeader( - $filename, - 'text/x-sql', - strlen($dump) - ); - echo $dump; - - exit(); -} - -/** - * Function to activate or deactivate tracking - * - * @param string $action activate|deactivate - * - * @return string HTML for the success message - */ -function PMA_changeTracking($action) -{ - $html = ''; - if ($action == 'activate') { - $method = 'activateTracking'; - $message = __('Tracking for %1$s was activated at version %2$s.'); - } else { - $method = 'deactivateTracking'; - $message = __('Tracking for %1$s was deactivated at version %2$s.'); - } - $status = Tracker::$method( - $GLOBALS['db'], $GLOBALS['table'], $_REQUEST['version'] - ); - if ($status) { - $msg = Message::success( - sprintf( - $message, - htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table']), - htmlspecialchars($_REQUEST['version']) - ) - ); - $html .= $msg->getDisplay(); - } - - return $html; -} - -/** - * Function to get tracking set - * - * @return string - */ -function PMA_getTrackingSet() -{ - $tracking_set = ''; - - // a key is absent from the request if it has been removed from - // tracking_default_statements in the config - if (isset($_REQUEST['alter_table']) && $_REQUEST['alter_table'] == true) { - $tracking_set .= 'ALTER TABLE,'; - } - if (isset($_REQUEST['rename_table']) && $_REQUEST['rename_table'] == true) { - $tracking_set .= 'RENAME TABLE,'; - } - if (isset($_REQUEST['create_table']) && $_REQUEST['create_table'] == true) { - $tracking_set .= 'CREATE TABLE,'; - } - if (isset($_REQUEST['drop_table']) && $_REQUEST['drop_table'] == true) { - $tracking_set .= 'DROP TABLE,'; - } - if (isset($_REQUEST['alter_view']) && $_REQUEST['alter_view'] == true) { - $tracking_set .= 'ALTER VIEW,'; - } - if (isset($_REQUEST['create_view']) && $_REQUEST['create_view'] == true) { - $tracking_set .= 'CREATE VIEW,'; - } - if (isset($_REQUEST['drop_view']) && $_REQUEST['drop_view'] == true) { - $tracking_set .= 'DROP VIEW,'; - } - if (isset($_REQUEST['create_index']) && $_REQUEST['create_index'] == true) { - $tracking_set .= 'CREATE INDEX,'; - } - if (isset($_REQUEST['drop_index']) && $_REQUEST['drop_index'] == true) { - $tracking_set .= 'DROP INDEX,'; - } - if (isset($_REQUEST['insert']) && $_REQUEST['insert'] == true) { - $tracking_set .= 'INSERT,'; - } - if (isset($_REQUEST['update']) && $_REQUEST['update'] == true) { - $tracking_set .= 'UPDATE,'; - } - if (isset($_REQUEST['delete']) && $_REQUEST['delete'] == true) { - $tracking_set .= 'DELETE,'; - } - if (isset($_REQUEST['truncate']) && $_REQUEST['truncate'] == true) { - $tracking_set .= 'TRUNCATE,'; - } - $tracking_set = rtrim($tracking_set, ','); - - return $tracking_set; -} - -/** - * Deletes a tracking version - * - * @param string $version tracking version - * - * @return string HTML of the success message - */ -function PMA_deleteTrackingVersion($version) -{ - $html = ''; - $versionDeleted = Tracker::deleteTracking( - $GLOBALS['db'], - $GLOBALS['table'], - $version - ); - if ($versionDeleted) { - $msg = Message::success( - sprintf( - __('Version %1$s of %2$s was deleted.'), - htmlspecialchars($version), - htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table']) - ) - ); - $html .= $msg->getDisplay(); - } - - return $html; -} - -/** - * Function to create the tracking version - * - * @return string HTML of the success message - */ -function PMA_createTrackingVersion() -{ - $html = ''; - $tracking_set = PMA_getTrackingSet(); - - $versionCreated = Tracker::createVersion( - $GLOBALS['db'], - $GLOBALS['table'], - $_REQUEST['version'], - $tracking_set, - $GLOBALS['dbi']->getTable($GLOBALS['db'], $GLOBALS['table'])->isView() - ); - if ($versionCreated) { - $msg = Message::success( - sprintf( - __('Version %1$s was created, tracking for %2$s is active.'), - htmlspecialchars($_REQUEST['version']), - htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table']) - ) - ); - $html .= $msg->getDisplay(); - } - - return $html; -} - -/** - * Create tracking version for multiple tables - * - * @param array $selected list of selected tables - * - * @return void - */ -function PMA_createTrackingForMultipleTables($selected) -{ - $tracking_set = PMA_getTrackingSet(); - - foreach ($selected as $selected_table) { - Tracker::createVersion( - $GLOBALS['db'], - $selected_table, - $_REQUEST['version'], - $tracking_set, - $GLOBALS['dbi']->getTable($GLOBALS['db'], $selected_table)->isView() - ); - } -} - -/** - * Function to get the entries - * - * @param array $data data - * @param int $filter_ts_from filter time stamp from - * @param int $filter_ts_to filter time stamp to - * @param array $filter_users filter users - * - * @return array - */ -function PMA_getEntries($data, $filter_ts_from, $filter_ts_to, $filter_users) -{ - $entries = array(); - // Filtering data definition statements - if ($_REQUEST['logtype'] == 'schema' - || $_REQUEST['logtype'] == 'schema_and_data' - ) { - $entries = array_merge( - $entries, - PMA_filterTracking( - $data['ddlog'], $filter_ts_from, $filter_ts_to, $filter_users - ) - ); - } - - // Filtering data manipulation statements - if ($_REQUEST['logtype'] == 'data' - || $_REQUEST['logtype'] == 'schema_and_data' - ) { - $entries = array_merge( - $entries, - PMA_filterTracking( - $data['dmlog'], $filter_ts_from, $filter_ts_to, $filter_users - ) - ); - } - - // Sort it - $ids = $timestamps = $usernames = $statements = array(); - foreach ($entries as $key => $row) { - $ids[$key] = $row['id']; - $timestamps[$key] = $row['timestamp']; - $usernames[$key] = $row['username']; - $statements[$key] = $row['statement']; - } - - array_multisort( - $timestamps, SORT_ASC, $ids, SORT_ASC, $usernames, - SORT_ASC, $statements, SORT_ASC, $entries - ); - - return $entries; -} - -/** - * Function to get version status - * - * @param array $version version info - * - * @return string $version_status The status message - */ -function PMA_getVersionStatus($version) -{ - if ($version['tracking_active'] == 1) { - return __('active'); - } else { - return __('not active'); - } -} - -/** - * Display untracked tables - * - * @param string $db current database - * @param array $untracked_tables untracked tables - * @param string $url_query url query string - * @param string $pmaThemeImage path to theme's image folder - * @param string $text_dir text direction - * - * @return void - */ -function PMA_displayUntrackedTables( - $db, $untracked_tables, $url_query, $pmaThemeImage, $text_dir -) { - ?> -

    -
    - - - - - - - - - - - $tablename) { - PMA_displayOneUntrackedTable($db, $tablename, $url_query); - } - ?> - -
    - render( - array( - 'pmaThemeImage' => $pmaThemeImage, - 'text_dir' => $text_dir, - 'formName' => 'untrackedForm', - ) - ); - echo PMA\libraries\Util::getButtonOrImage( - 'submit_mult', 'mult_submit', - __('Track table'), 'eye.png', 'track' - ); - ?> -
    - '; - $my_link .= PMA\libraries\Util::getIcon('eye.png', __('Track table')); - $my_link .= ''; - ?> - - - - - - - - - - $value) { - if (is_array($value) && array_key_exists(('is' . $sep . 'group'), $value) - && $value['is' . $sep . 'group'] - ) { - $untracked_tables = array_merge(PMA_extractTableNames($value, $db), $untracked_tables); //Recursion step - } - else { - if (is_array($value) && ($testing || Tracker::getVersion($db, $value['Name']) == -1)) { - $untracked_tables[] = $value['Name']; - } - } - } - return $untracked_tables; -} - - -/** - * Get untracked tables - * - * @param string $db current database - * - * @return array $untracked_tables - */ -function PMA_getUntrackedTables($db) -{ - $table_list = PMA\libraries\Util::getTableList($db); - $untracked_tables = PMA_extractTableNames($table_list, $db); //Use helper function to get table list recursively. - return $untracked_tables; -} - -/** - * Display tracked tables - * - * @param string $db current database - * @param object $all_tables_result result set of tracked tables - * @param string $url_query url query string - * @param string $pmaThemeImage path to theme's image folder - * @param string $text_dir text direction - * @param array $cfgRelation configuration storage info - * - * @return void - */ -function PMA_displayTrackedTables( - $db, $all_tables_result, $url_query, $pmaThemeImage, $text_dir, $cfgRelation -) { - ?> -
    -

    - -
    - - - - - - - - - - - - - - - - fetchArray($all_tables_result)) { - list($table_name, $version_number) = $one_result; - $table_query = ' SELECT * FROM ' . - PMA\libraries\Util::backquote($cfgRelation['db']) . '.' . - PMA\libraries\Util::backquote($cfgRelation['tracking']) . - ' WHERE `db_name` = \'' - . $GLOBALS['dbi']->escapeString($_REQUEST['db']) - . '\' AND `table_name` = \'' - . $GLOBALS['dbi']->escapeString($table_name) - . '\' AND `version` = \'' . $version_number . '\''; - - $table_result = PMA_queryAsControlUser($table_query); - $version_data = $GLOBALS['dbi']->fetchArray($table_result); - - $tbl_link = 'tbl_tracking.php' . $url_query . '&table=' - . htmlspecialchars($version_data['table_name']); - $delete_link = 'db_tracking.php' . $url_query . '&table=' - . htmlspecialchars($version_data['table_name']) - . '&delete_tracking=true&'; - $checkbox_id = "selected_tbl_" - . htmlspecialchars($version_data['table_name']); - ?> - - - - - - - - ' - , ''; - } - ?> - -
    - - - - - - - - - ' - , '' - , '' , $versions , '' - , '  ' - , '' , $report , '' - , '  ' - , '' , $structure , '' - , '
    - render( - array( - 'pmaThemeImage' => $pmaThemeImage, - 'text_dir' => $text_dir, - 'formName' => 'trackedForm', - ) - ); - echo PMA\libraries\Util::getButtonOrImage( - 'submit_mult', 'mult_submit', - __('Delete tracking'), 'b_drop.png', 'delete_tracking' - ); - ?> -
    -
    - array( - 'label' => __('not active'), - 'value' => 'deactivate_now', - 'selected' => ($state != 'active') - ), - 1 => array( - 'label' => __('active'), - 'value' => 'activate_now', - 'selected' => ($state == 'active') - ) - ); - echo PMA\libraries\Util::toggleButton( - $tbl_link . '&version=' . $version_data['version'], - 'toggle_activation', - $options, - null - ); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/transformations.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/transformations.lib.php deleted file mode 100644 index e1000130..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/transformations.lib.php +++ /dev/null @@ -1,452 +0,0 @@ - - * PMA_Transformation_getOptions("'option ,, quoted',abd,'2,3',"); - * // array { - * // 'option ,, quoted', - * // 'abc', - * // '2,3', - * // '', - * // } - * - * - * @param string $option_string comma separated options - * - * @return array options - */ -function PMA_Transformation_getOptions($option_string) -{ - $result = array(); - - if (strlen($option_string) === 0 - || ! $transform_options = preg_split('/,/', $option_string) - ) { - return $result; - } - - while (($option = array_shift($transform_options)) !== null) { - $trimmed = trim($option); - if (strlen($trimmed) > 1 - && $trimmed[0] == "'" - && $trimmed[strlen($trimmed) - 1] == "'" - ) { - // '...' - $option = mb_substr($trimmed, 1, -1); - } elseif (isset($trimmed[0]) && $trimmed[0] == "'") { - // '..., - $trimmed = ltrim($option); - while (($option = array_shift($transform_options)) !== null) { - // ..., - $trimmed .= ',' . $option; - $rtrimmed = rtrim($trimmed); - if ($rtrimmed[strlen($rtrimmed) - 1] == "'") { - // ,...' - break; - } - } - $option = mb_substr($rtrimmed, 1, -1); - } - $result[] = stripslashes($option); - } - - return $result; -} - -/** - * Gets all available MIME-types - * - * @access public - * @staticvar array mimetypes - * @return array array[mimetype], array[transformation] - */ -function PMA_getAvailableMIMEtypes() -{ - static $stack = null; - - if (null !== $stack) { - return $stack; - } - - $stack = array(); - $sub_dirs = array( - 'input/' => 'input_', - 'output/' => '', - '' => '' - ); - - foreach ($sub_dirs as $sd => $prefix) { - $handle = opendir('libraries/plugins/transformations/' . $sd); - - if (! $handle) { - $stack[$prefix . 'transformation'] = array(); - $stack[$prefix . 'transformation_file'] = array(); - continue; - } - - $filestack = array(); - while ($file = readdir($handle)) { - // Ignore hidden files - if ($file[0] == '.') { - continue; - } - // Ignore old plugins (.class in filename) - if (strpos($file, '.class') !== false) { - continue; - } - $filestack[] = $file; - } - - closedir($handle); - sort($filestack); - - foreach ($filestack as $file) { - if (preg_match('|^[^.].*_.*_.*\.php$|', $file)) { - // File contains transformation functions. - $parts = explode('_', str_replace('.php', '', $file)); - $mimetype = $parts[0] . "/" . $parts[1]; - $stack['mimetype'][$mimetype] = $mimetype; - - $stack[$prefix . 'transformation'][] = $mimetype . ': ' . $parts[2]; - $stack[$prefix . 'transformation_file'][] = $sd . $file; - if ($sd === '') { - $stack['input_transformation'][] = $mimetype . ': ' . $parts[2]; - $stack['input_transformation_file'][] = $sd . $file; - } - - } elseif (preg_match('|^[^.].*\.php$|', $file)) { - // File is a plain mimetype, no functions. - $base = str_replace('.php', '', $file); - - if ($base != 'global') { - $mimetype = str_replace('_', '/', $base); - $stack['mimetype'][$mimetype] = $mimetype; - $stack['empty_mimetype'][$mimetype] = $mimetype; - } - } - } - } - return $stack; -} - -/** - * Returns the class name of the transformation - * - * @param string $filename transformation file name - * - * @return string the class name of transformation - */ -function PMA_getTransformationClassName($filename) -{ - // get the transformation class name - $class_name = explode(".php", $filename); - $class_name = 'PMA\\' . str_replace('/', '\\', $class_name[0]); - - return $class_name; -} - -/** - * Returns the description of the transformation - * - * @param string $file transformation file - * - * @return String the description of the transformation - */ -function PMA_getTransformationDescription($file) -{ - $include_file = 'libraries/plugins/transformations/' . $file; - /* @var $class_name PMA\libraries\plugins\TransformationsInterface */ - $class_name = PMA_getTransformationClassName($include_file); - // include and instantiate the class - include_once $include_file; - return $class_name::getInfo(); -} - -/** - * Returns the name of the transformation - * - * @param string $file transformation file - * - * @return String the name of the transformation - */ -function PMA_getTransformationName($file) -{ - $include_file = 'libraries/plugins/transformations/' . $file; - /* @var $class_name PMA\libraries\plugins\TransformationsInterface */ - $class_name = PMA_getTransformationClassName($include_file); - // include and instantiate the class - include_once $include_file; - return $class_name::getName(); -} - -/** - * Gets the mimetypes for all columns of a table - * - * @param string $db the name of the db to check for - * @param string $table the name of the table to check for - * @param boolean $strict whether to include only results having a mimetype set - * @param boolean $fullName whether to use full column names as the key - * - * @access public - * - * @return array [field_name][field_key] = field_value - */ -function PMA_getMIME($db, $table, $strict = false, $fullName = false) -{ - $cfgRelation = PMA_getRelationsParam(); - - if (! $cfgRelation['commwork']) { - return false; - } - - $com_qry = ''; - if ($fullName) { - $com_qry .= "SELECT CONCAT(" - . "`db_name`, '.', `table_name`, '.', `column_name`" - . ") AS column_name, "; - } else { - $com_qry = "SELECT `column_name`, "; - } - $com_qry .= '`mimetype`, - `transformation`, - `transformation_options`, - `input_transformation`, - `input_transformation_options` - FROM ' . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['column_info']) . ' - WHERE `db_name` = \'' . $GLOBALS['dbi']->escapeString($db) . '\' - AND `table_name` = \'' . $GLOBALS['dbi']->escapeString($table) . '\' - AND ( `mimetype` != \'\'' . (!$strict ? ' - OR `transformation` != \'\' - OR `transformation_options` != \'\' - OR `input_transformation` != \'\' - OR `input_transformation_options` != \'\'' : '') . ')'; - $result = $GLOBALS['dbi']->fetchResult( - $com_qry, 'column_name', null, $GLOBALS['controllink'] - ); - - foreach ($result as $column => $values) { - // replacements in mimetype and transformation - $values = str_replace("jpeg", "JPEG", $values); - $values = str_replace("png", "PNG", $values); - - // convert mimetype to new format (f.e. Text_Plain, etc) - $delimiter_space = '- '; - $delimiter = "_"; - $values['mimetype'] = str_replace( - $delimiter_space, - $delimiter, - ucwords( - str_replace( - $delimiter, - $delimiter_space, - $values['mimetype'] - ) - ) - ); - - // For transformation of form - // output/image_jpeg__inline.inc.php - // extract dir part. - $dir = explode('/', $values['transformation']); - $subdir = ''; - if (count($dir) === 2) { - $subdir = $dir[0] . '/'; - $values['transformation'] = $dir[1]; - } - - $values['transformation'] = str_replace( - $delimiter_space, - $delimiter, - ucwords( - str_replace( - $delimiter, - $delimiter_space, - $values['transformation'] - ) - ) - ); - $values['transformation'] = $subdir . $values['transformation']; - $result[$column] = $values; - } - - return $result; -} // end of the 'PMA_getMIME()' function - -/** - * Set a single mimetype to a certain value. - * - * @param string $db the name of the db - * @param string $table the name of the table - * @param string $key the name of the column - * @param string $mimetype the mimetype of the column - * @param string $transformation the transformation of the column - * @param string $transformationOpts the transformation options of the column - * @param string $inputTransform the input transformation of the column - * @param string $inputTransformOpts the input transformation options of the column - * @param boolean $forcedelete force delete, will erase any existing - * comments for this column - * - * @access public - * - * @return boolean true, if comment-query was made. - */ -function PMA_setMIME($db, $table, $key, $mimetype, $transformation, - $transformationOpts, $inputTransform, $inputTransformOpts, $forcedelete = false -) { - $cfgRelation = PMA_getRelationsParam(); - - if (! $cfgRelation['commwork']) { - return false; - } - - // lowercase mimetype & transformation - $mimetype = mb_strtolower($mimetype); - $transformation = mb_strtolower($transformation); - - $test_qry = ' - SELECT `mimetype`, - `comment` - FROM ' . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['column_info']) . ' - WHERE `db_name` = \'' . $GLOBALS['dbi']->escapeString($db) . '\' - AND `table_name` = \'' . $GLOBALS['dbi']->escapeString($table) . '\' - AND `column_name` = \'' . $GLOBALS['dbi']->escapeString($key) . '\''; - - $test_rs = PMA_queryAsControlUser( - $test_qry, true, PMA\libraries\DatabaseInterface::QUERY_STORE - ); - - if ($test_rs && $GLOBALS['dbi']->numRows($test_rs) > 0) { - $row = @$GLOBALS['dbi']->fetchAssoc($test_rs); - $GLOBALS['dbi']->freeResult($test_rs); - - if (! $forcedelete - && (strlen($mimetype) > 0 - || strlen($transformation) > 0 - || strlen($transformationOpts) > 0 - || strlen($row['comment']) > 0) - ) { - $upd_query = 'UPDATE ' - . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['column_info']) - . ' SET ' - . '`mimetype` = \'' - . $GLOBALS['dbi']->escapeString($mimetype) . '\', ' - . '`transformation` = \'' - . $GLOBALS['dbi']->escapeString($transformation) . '\', ' - . '`transformation_options` = \'' - . $GLOBALS['dbi']->escapeString($transformationOpts) . '\', ' - . '`input_transformation` = \'' - . $GLOBALS['dbi']->escapeString($inputTransform) . '\', ' - . '`input_transformation_options` = \'' - . $GLOBALS['dbi']->escapeString($inputTransformOpts) . '\''; - } else { - $upd_query = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['column_info']); - } - $upd_query .= ' - WHERE `db_name` = \'' . $GLOBALS['dbi']->escapeString($db) . '\' - AND `table_name` = \'' . $GLOBALS['dbi']->escapeString($table) - . '\' - AND `column_name` = \'' . $GLOBALS['dbi']->escapeString($key) - . '\''; - } elseif (strlen($mimetype) > 0 - || strlen($transformation) > 0 - || strlen($transformationOpts) > 0 - ) { - - $upd_query = 'INSERT INTO ' - . PMA\libraries\Util::backquote($cfgRelation['db']) - . '.' . PMA\libraries\Util::backquote($cfgRelation['column_info']) - . ' (db_name, table_name, column_name, mimetype, ' - . 'transformation, transformation_options, ' - . 'input_transformation, input_transformation_options) ' - . ' VALUES(' - . '\'' . $GLOBALS['dbi']->escapeString($db) . '\',' - . '\'' . $GLOBALS['dbi']->escapeString($table) . '\',' - . '\'' . $GLOBALS['dbi']->escapeString($key) . '\',' - . '\'' . $GLOBALS['dbi']->escapeString($mimetype) . '\',' - . '\'' . $GLOBALS['dbi']->escapeString($transformation) . '\',' - . '\'' . $GLOBALS['dbi']->escapeString($transformationOpts) . '\',' - . '\'' . $GLOBALS['dbi']->escapeString($inputTransform) . '\',' - . '\'' . $GLOBALS['dbi']->escapeString($inputTransformOpts) . '\')'; - } - - if (isset($upd_query)) { - return PMA_queryAsControlUser($upd_query); - } else { - return false; - } -} // end of 'PMA_setMIME()' function - - -/** - * GLOBAL Plugin functions - */ - -/** - * Delete related transformation details - * after deleting database. table or column - * - * @param string $db Database name - * @param string $table Table name - * @param string $column Column name - * - * @return boolean State of the query execution - */ -function PMA_clearTransformations($db, $table = '', $column = '') -{ - $cfgRelation = PMA_getRelationsParam(); - - if (! isset($cfgRelation['column_info'])) { - return false; - } - - $delete_sql = 'DELETE FROM ' - . PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['column_info']) - . ' WHERE '; - - if (($column != '') && ($table != '')) { - - $delete_sql .= '`db_name` = \'' . $db . '\' AND ' - . '`table_name` = \'' . $table . '\' AND ' - . '`column_name` = \'' . $column . '\' '; - - } else if ($table != '') { - - $delete_sql .= '`db_name` = \'' . $db . '\' AND ' - . '`table_name` = \'' . $table . '\' '; - - } else { - $delete_sql .= '`db_name` = \'' . $db . '\' '; - } - - return $GLOBALS['dbi']->tryQuery($delete_sql); - -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/user_preferences.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/user_preferences.inc.php deleted file mode 100644 index ef4687db..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/user_preferences.inc.php +++ /dev/null @@ -1,85 +0,0 @@ - 'b_tblops.png', - 'Sql_queries' => 'b_sql.png', - 'Navi_panel' => 'b_select.png', - 'Main_panel' => 'b_props.png', - 'Import' => 'b_import.png', - 'Export' => 'b_export.png'); - -$content = PMA\libraries\Util::getHtmlTab( - array( - 'link' => 'prefs_manage.php', - 'text' => __('Manage your settings') - ) -) . "\n"; -$script_name = basename($GLOBALS['PMA_PHP_SELF']); -foreach (array_keys($forms) as $formset) { - $tab = array( - 'link' => 'prefs_forms.php', - 'text' => PMA_lang('Form_' . $formset), - 'icon' => $tabs_icons[$formset], - 'active' => ($script_name == 'prefs_forms.php' && $formset == $form_param)); - $content .= PMA\libraries\Util::getHtmlTab($tab, array('form' => $formset)) - . "\n"; -} -echo PMA\libraries\Template::get('list/unordered')->render( - array( - 'id' => 'topmenu2', - 'class' => 'user_prefs_tabs', - 'content' => $content, - ) -); -echo '
    '; - - -// show "configuration saved" message and reload navigation panel if needed -if (!empty($_GET['saved'])) { - Message::rawSuccess(__('Configuration has been saved.'))->display(); -} - -/* debug code -$arr = $cf->getConfigArray(); -$arr2 = array(); -foreach ($arr as $k => $v) { - $arr2[] = "$k " . var_export($v, true); -} -$arr2 = implode(', ', $arr2); -$arr2 .= '
    Blacklist: ' . (empty($cfg['UserprefsDisallow']) - ? 'empty' - : implode(', ', $cfg['UserprefsDisallow'])); -$msg = Message::notice('Settings: ' . $arr2); -$msg->display(); -//*/ - -// warn about using session storage for settings -$cfgRelation = PMA_getRelationsParam(); -if (! $cfgRelation['userconfigwork']) { - $msg = __( - 'Your preferences will be saved for current session only. Storing them ' - . 'permanently requires %sphpMyAdmin configuration storage%s.' - ); - $msg = Sanitize::sanitize( - sprintf($msg, '[doc@linked-tables]', '[/doc]') - ); - Message::notice($msg)->display(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/user_preferences.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/user_preferences.lib.php deleted file mode 100644 index 2c747bdf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/user_preferences.lib.php +++ /dev/null @@ -1,291 +0,0 @@ -resetConfigData(); // start with a clean instance - $cf->setAllowedKeys($forms_all_keys); - $cf->setCfgUpdateReadMapping( - array( - 'Server/hide_db' => 'Servers/1/hide_db', - 'Server/only_db' => 'Servers/1/only_db' - ) - ); - $cf->updateWithGlobalConfig($GLOBALS['cfg']); -} - -/** - * Loads user preferences - * - * Returns an array: - * * config_data - path => value pairs - * * mtime - last modification time - * * type - 'db' (config read from pmadb) or 'session' (read from user session) - * - * @return array - */ -function PMA_loadUserprefs() -{ - $cfgRelation = PMA_getRelationsParam(); - if (! $cfgRelation['userconfigwork']) { - // no pmadb table, use session storage - if (! isset($_SESSION['userconfig'])) { - $_SESSION['userconfig'] = array( - 'db' => array(), - 'ts' => time()); - } - return array( - 'config_data' => $_SESSION['userconfig']['db'], - 'mtime' => $_SESSION['userconfig']['ts'], - 'type' => 'session'); - } - // load configuration from pmadb - $query_table = PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['userconfig']); - $query = 'SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts' - . ' FROM ' . $query_table - . ' WHERE `username` = \'' - . $GLOBALS['dbi']->escapeString($cfgRelation['user']) - . '\''; - $row = $GLOBALS['dbi']->fetchSingleRow($query, 'ASSOC', $GLOBALS['controllink']); - - return array( - 'config_data' => $row ? (array)json_decode($row['config_data']) : array(), - 'mtime' => $row ? $row['ts'] : time(), - 'type' => 'db'); -} - -/** - * Saves user preferences - * - * @param array $config_array configuration array - * - * @return true|PMA\libraries\Message - */ -function PMA_saveUserprefs(array $config_array) -{ - $cfgRelation = PMA_getRelationsParam(); - $server = isset($GLOBALS['server']) - ? $GLOBALS['server'] - : $GLOBALS['cfg']['ServerDefault']; - $cache_key = 'server_' . $server; - if (! $cfgRelation['userconfigwork']) { - // no pmadb table, use session storage - $_SESSION['userconfig'] = array( - 'db' => $config_array, - 'ts' => time()); - if (isset($_SESSION['cache'][$cache_key]['userprefs'])) { - unset($_SESSION['cache'][$cache_key]['userprefs']); - } - return true; - } - - // save configuration to pmadb - $query_table = PMA\libraries\Util::backquote($cfgRelation['db']) . '.' - . PMA\libraries\Util::backquote($cfgRelation['userconfig']); - $query = 'SELECT `username` FROM ' . $query_table - . ' WHERE `username` = \'' - . $GLOBALS['dbi']->escapeString($cfgRelation['user']) - . '\''; - - $has_config = $GLOBALS['dbi']->fetchValue( - $query, 0, 0, $GLOBALS['controllink'] - ); - $config_data = json_encode($config_array); - if ($has_config) { - $query = 'UPDATE ' . $query_table - . ' SET `timevalue` = NOW(), `config_data` = \'' - . $GLOBALS['dbi']->escapeString($config_data) - . '\'' - . ' WHERE `username` = \'' - . $GLOBALS['dbi']->escapeString($cfgRelation['user']) - . '\''; - } else { - $query = 'INSERT INTO ' . $query_table - . ' (`username`, `timevalue`,`config_data`) ' - . 'VALUES (\'' - . $GLOBALS['dbi']->escapeString($cfgRelation['user']) . '\', NOW(), ' - . '\'' . $GLOBALS['dbi']->escapeString($config_data) . '\')'; - } - if (isset($_SESSION['cache'][$cache_key]['userprefs'])) { - unset($_SESSION['cache'][$cache_key]['userprefs']); - } - if (!$GLOBALS['dbi']->tryQuery($query, $GLOBALS['controllink'])) { - $message = Message::error(__('Could not save configuration')); - $message->addMessage( - Message::rawError( - $GLOBALS['dbi']->getError($GLOBALS['controllink']) - ), - '

    ' - ); - return $message; - } - return true; -} - -/** - * Returns a user preferences array filtered by $cfg['UserprefsDisallow'] - * (blacklist) and keys from user preferences form (whitelist) - * - * @param array $config_data path => value pairs - * - * @return array - */ -function PMA_applyUserprefs(array $config_data) -{ - $cfg = array(); - $blacklist = array_flip($GLOBALS['cfg']['UserprefsDisallow']); - if (!$GLOBALS['cfg']['UserprefsDeveloperTab']) { - // disallow everything in the Developers tab - $blacklist['DBG/sql'] = true; - } - $whitelist = array_flip(PMA_readUserprefsFieldNames()); - // whitelist some additional fields which are custom handled - $whitelist['ThemeDefault'] = true; - $whitelist['fontsize'] = true; - $whitelist['lang'] = true; - $whitelist['collation_connection'] = true; - $whitelist['Server/hide_db'] = true; - $whitelist['Server/only_db'] = true; - foreach ($config_data as $path => $value) { - if (! isset($whitelist[$path]) || isset($blacklist[$path])) { - continue; - } - PMA_arrayWrite($path, $cfg, $value); - } - return $cfg; -} - -/** - * Reads user preferences field names - * - * @param array|null $forms Forms - * - * @return array - */ -function PMA_readUserprefsFieldNames(array $forms = null) -{ - static $names; - - if (defined('TESTSUITE')) { - $names = null; - } - - // return cached results - if ($names !== null) { - return $names; - } - if (is_null($forms)) { - $forms = array(); - include 'libraries/config/user_preferences.forms.php'; - } - $names = array(); - foreach ($forms as $formset) { - foreach ($formset as $form) { - foreach ($form as $k => $v) { - $names[] = is_int($k) ? $v : $k; - } - } - } - return $names; -} - -/** - * Updates one user preferences option (loads and saves to database). - * - * No validation is done! - * - * @param string $path configuration - * @param mixed $value value - * @param mixed $default_value default value - * - * @return void - */ -function PMA_persistOption($path, $value, $default_value) -{ - $prefs = PMA_loadUserprefs(); - if ($value === $default_value) { - if (isset($prefs['config_data'][$path])) { - unset($prefs['config_data'][$path]); - } else { - return; - } - } else { - $prefs['config_data'][$path] = $value; - } - PMA_saveUserprefs($prefs['config_data']); -} - -/** - * Redirects after saving new user preferences - * - * @param string $file_name Filename - * @param array $params URL parameters - * @param string $hash Hash value - * - * @return void - */ -function PMA_userprefsRedirect($file_name, - $params = null, $hash = null -) { - // redirect - $url_params = array('saved' => 1); - if (is_array($params)) { - $url_params = array_merge($params, $url_params); - } - if ($hash) { - $hash = '#' . urlencode($hash); - } - PMA_sendHeaderLocation('./' . $file_name - . URL::getCommonRaw($url_params) . $hash - ); -} - -/** - * Shows form which allows to quickly load - * settings stored in browser's local storage - * - * @return string - */ -function PMA_userprefsAutoloadGetHeader() -{ - if (isset($_REQUEST['prefs_autoload']) - && $_REQUEST['prefs_autoload'] == 'hide' - ) { - $_SESSION['userprefs_autoload'] = true; - return ''; - } - - $script_name = basename(basename($GLOBALS['PMA_PHP_SELF'])); - $return_url = htmlspecialchars( - $script_name . '?' . http_build_query($_GET, '', '&') - ); - - return PMA\libraries\Template::get('prefs_autoload') - ->render( - array( - 'hiddenInputs' => URL::getHiddenInputs(), - 'return_url' => $return_url, - ) - ); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/util.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/util.lib.php deleted file mode 100644 index 4b7590c9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/util.lib.php +++ /dev/null @@ -1,37 +0,0 @@ - $error_message, 'data' => $file_data)); - } - - $first_zip_entry = zip_read($zip_handle); - if (false === $first_zip_entry) { - $error_message = __('No files found inside ZIP archive!'); - zip_close($zip_handle); - return (array('error' => $error_message, 'data' => $file_data)); - } - - /* Is the the zip really an ODS file? */ - $read = zip_entry_read($first_zip_entry); - $ods_mime = 'application/vnd.oasis.opendocument.spreadsheet'; - if (!strcmp($ods_mime, $read)) { - $specific_entry = '/^content\.xml$/'; - } - - if (!isset($specific_entry)) { - zip_entry_open($zip_handle, $first_zip_entry, 'r'); - /* File pointer has already been moved, - * so include what was read above */ - $file_data = $read; - $file_data .= zip_entry_read( - $first_zip_entry, - zip_entry_filesize($first_zip_entry) - ); - zip_entry_close($first_zip_entry); - zip_close($zip_handle); - return (array('error' => $error_message, 'data' => $file_data)); - } - - /* Return the correct contents, not just the first entry */ - for ( ; ; ) { - $entry = zip_read($zip_handle); - if (is_resource($entry)) { - if (preg_match($specific_entry, zip_entry_name($entry))) { - zip_entry_open($zip_handle, $entry, 'r'); - $file_data = zip_entry_read( - $entry, - zip_entry_filesize($entry) - ); - zip_entry_close($entry); - break; - } - } else { - /** - * Either we have reached the end of the zip and still - * haven't found $specific_entry or there was a parsing - * error that we must display - */ - if ($entry === false) { - $error_message = __('Error in ZIP archive:') - . ' Could not find "' . $specific_entry . '"'; - } else { - $error_message = __('Error in ZIP archive:') - . ' ' . PMA_getZipError($zip_handle); - } - - break; - } - } - - zip_close($zip_handle); - return (array('error' => $error_message, 'data' => $file_data)); -} - -/** - * Returns the file name of the first file that matches the given $file_regexp. - * - * @param string $file_regexp regular expression for the file name to match - * @param string $file zip archive - * - * @return string the file name of the first file that matches the given regexp - */ -function PMA_findFileFromZipArchive($file_regexp, $file) -{ - $zip_handle = zip_open($file); - if (is_resource($zip_handle)) { - $entry = zip_read($zip_handle); - while (is_resource($entry)) { - if (preg_match($file_regexp, zip_entry_name($entry))) { - $file_name = zip_entry_name($entry); - zip_close($zip_handle); - return $file_name; - } - $entry = zip_read($zip_handle); - } - } - zip_close($zip_handle); - return false; -} - -/** - * Returns the number of files in the zip archive. - * - * @param string $file zip archive - * - * @return int the number of files in the zip archive - */ -function PMA_getNoOfFilesInZip($file) -{ - $count = 0; - $zip_handle = zip_open($file); - if (is_resource($zip_handle)) { - $entry = zip_read($zip_handle); - while (is_resource($entry)) { - $count++; - $entry = zip_read($zip_handle); - } - zip_close($zip_handle); - } - return $count; -} - -/** - * Extracts a set of files from the given zip archive to a given destinations. - * - * @param string $zip_path path to the zip archive - * @param string $entry file in the archive that should be extracted - * - * @return string|bool data on sucess, false otherwise - */ -function PMA_zipExtract($zip_path, $entry) -{ - $zip = new ZipArchive; - if ($zip->open($zip_path) === true) { - $result = $zip->getFromName($entry); - $zip->close(); - return $result; - } - return false; -} - -/** - * Gets zip error message - * - * @param resource $code error code - * - * @return string error message - */ -function PMA_getZipError($code) -{ - // I don't think this needs translation - switch ($code) { - case ZIPARCHIVE::ER_MULTIDISK: - $message = 'Multi-disk zip archives not supported'; - break; - case ZIPARCHIVE::ER_READ: - $message = 'Read error'; - break; - case ZIPARCHIVE::ER_CRC: - $message = 'CRC error'; - break; - case ZIPARCHIVE::ER_NOZIP: - $message = 'Not a zip archive'; - break; - case ZIPARCHIVE::ER_INCONS: - $message = 'Zip archive inconsistent'; - break; - default: - $message = $code; - } - return $message; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/normalization.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/normalization.php deleted file mode 100644 index b1087bfd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/normalization.php +++ /dev/null @@ -1,125 +0,0 @@ -' . __('Select one…') . '' - . ''; - //get column whose datatype falls under string category - $html .= PMA_getHtmlForColumnsList( - $db, - $table, - _pgettext('string types', 'String') - ); - echo $html; - exit; -} -if (isset($_REQUEST['splitColumn'])) { - $num_fields = min(4096, intval($_REQUEST['numFields'])); - $html = PMA_getHtmlForCreateNewColumn($num_fields, $db, $table); - $html .= URL::getHiddenInputs($db, $table); - echo $html; - exit; -} -if (isset($_REQUEST['addNewPrimary'])) { - $num_fields = 1; - $columnMeta = array('Field'=>$table . "_id", 'Extra'=>'auto_increment'); - $html = PMA_getHtmlForCreateNewColumn( - $num_fields, $db, $table, $columnMeta - ); - $html .= URL::getHiddenInputs($db, $table); - echo $html; - exit; -} -if (isset($_REQUEST['findPdl'])) { - $html = PMA_findPartialDependencies($table, $db); - echo $html; - exit; -} - -if (isset($_REQUEST['getNewTables2NF'])) { - $partialDependencies = json_decode($_REQUEST['pd']); - $html = PMA_getHtmlForNewTables2NF($partialDependencies, $table); - echo $html; - exit; -} - -$response = Response::getInstance(); - -if (isset($_REQUEST['getNewTables3NF'])) { - $dependencies = json_decode($_REQUEST['pd']); - $tables = json_decode($_REQUEST['tables']); - $newTables = PMA_getHtmlForNewTables3NF($dependencies, $tables, $db); - $response->disable(); - PMA_headerJSON(); - echo json_encode($newTables); - exit; -} - -$header = $response->getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('normalization.js'); -$scripts->addFile('jquery/jquery.uitablefilter.js'); -$normalForm = '1nf'; -if (PMA_isValid($_REQUEST['normalizeTo'], array('1nf', '2nf', '3nf'))) { - $normalForm = $_REQUEST['normalizeTo']; -} -if (isset($_REQUEST['createNewTables2NF'])) { - $partialDependencies = json_decode($_REQUEST['pd']); - $tablesName = json_decode($_REQUEST['newTablesName']); - $res = PMA_createNewTablesFor2NF($partialDependencies, $tablesName, $table, $db); - $response->addJSON($res); - exit; -} -if (isset($_REQUEST['createNewTables3NF'])) { - $newtables = json_decode($_REQUEST['newTables']); - $res = PMA_createNewTablesFor3NF($newtables, $db); - $response->addJSON($res); - exit; -} -if (isset($_POST['repeatingColumns'])) { - $repeatingColumns = $_POST['repeatingColumns']; - $newTable = $_POST['newTable']; - $newColumn = $_POST['newColumn']; - $primary_columns = $_POST['primary_columns']; - $res = PMA_moveRepeatingGroup( - $repeatingColumns, $primary_columns, $newTable, $newColumn, $table, $db - ); - $response->addJSON($res); - exit; -} -if (isset($_REQUEST['step1'])) { - $html = PMA_getHtmlFor1NFStep1($db, $table, $normalForm); - $response->addHTML($html); -} else if (isset($_REQUEST['step2'])) { - $res = PMA_getHtmlContentsFor1NFStep2($db, $table); - $response->addJSON($res); -} else if (isset($_REQUEST['step3'])) { - $res = PMA_getHtmlContentsFor1NFStep3($db, $table); - $response->addJSON($res); -} else if (isset($_REQUEST['step4'])) { - $res = PMA_getHtmlContentsFor1NFStep4($db, $table); - $response->addJSON($res); -} else if (isset($_REQUEST['step']) && $_REQUEST['step'] == '2.1') { - $res = PMA_getHtmlFor2NFstep1($db, $table); - $response->addJSON($res); -} else if (isset($_REQUEST['step']) && $_REQUEST['step'] == '3.1') { - $tables = $_REQUEST['tables']; - $res = PMA_getHtmlFor3NFstep1($db, $tables); - $response->addJSON($res); -} else { - $response->addHTML(PMA_getHtmlForNormalizetable()); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/prefs_forms.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/prefs_forms.php deleted file mode 100644 index ebf5f879..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/prefs_forms.php +++ /dev/null @@ -1,101 +0,0 @@ -base_settings); -PMA_userprefsPageInit($cf); - -// handle form processing - -$form_param = isset($_GET['form']) ? $_GET['form'] : null; -if (! isset($forms[$form_param])) { - $forms_keys = array_keys($forms); - $form_param = array_shift($forms_keys); -} - -$form_display = new FormDisplay($cf); -foreach ($forms[$form_param] as $form_name => $form) { - // skip Developer form if no setting is available - if ($form_name == 'Developer' && !$GLOBALS['cfg']['UserprefsDeveloperTab']) { - continue; - } - $form_display->registerForm($form_name, $form, 1); -} - -if (isset($_POST['revert'])) { - // revert erroneous fields to their default values - $form_display->fixErrors(); - // redirect - $url_params = array('form' => $form_param); - PMA_sendHeaderLocation( - './prefs_forms.php' - . URL::getCommonRaw($url_params) - ); - exit; -} - -$error = null; -if ($form_display->process(false) && !$form_display->hasErrors()) { - // save settings - $result = PMA_saveUserprefs($cf->getConfigArray()); - if ($result === true) { - // reload config - $GLOBALS['PMA_Config']->loadUserPreferences(); - $tabHash = isset($_POST['tab_hash']) ? $_POST['tab_hash'] : null; - $hash = ltrim($tabHash, '#'); - PMA_userprefsRedirect( - 'prefs_forms.php', - array('form' => $form_param), - $hash - ); - exit; - } else { - $error = $result; - } -} - -// display forms -$response = Response::getInstance(); -$header = $response->getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('config.js'); - -require 'libraries/user_preferences.inc.php'; -if ($error) { - $error->display(); -} -if ($form_display->hasErrors()) { - // form has errors - ?> -
    - - - - displayErrors(); ?> -
    - getDisplay(true, true); - -if ($response->isAjax()) { - $response->addJSON('_disableNaviSettings', true); -} else { - define('PMA_DISABLE_NAVI_SETTINGS', true); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/schema_export.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/schema_export.php deleted file mode 100644 index 9aebd9a2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/schema_export.php +++ /dev/null @@ -1,69 +0,0 @@ -selectDb($GLOBALS['db']); - $export_plugin->exportSchema($GLOBALS['db']); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_binlog.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_binlog.php deleted file mode 100644 index 811e4bc8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_binlog.php +++ /dev/null @@ -1,32 +0,0 @@ -factory( - 'PMA\libraries\controllers\server\ServerBinlogController' -); -$container->alias( - 'ServerBinlogController', - 'PMA\libraries\controllers\server\ServerBinlogController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/** @var ServerBinlogController $controller */ -$controller = $container->get( - 'ServerBinlogController', array() -); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_collations.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_collations.php deleted file mode 100644 index adbd9536..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_collations.php +++ /dev/null @@ -1,32 +0,0 @@ -factory( - 'PMA\libraries\controllers\server\ServerCollationsController' -); -$container->alias( - 'ServerCollationsController', - 'PMA\libraries\controllers\server\ServerCollationsController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/** @var ServerCollationsController $controller */ -$controller = $container->get( - 'ServerCollationsController', array() -); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_databases.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_databases.php deleted file mode 100644 index 9dcd589e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_databases.php +++ /dev/null @@ -1,32 +0,0 @@ -factory( - 'PMA\libraries\controllers\server\ServerDatabasesController' -); -$container->alias( - 'ServerDatabasesController', - 'PMA\libraries\controllers\server\ServerDatabasesController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/** @var ServerDatabasesController $controller */ -$controller = $container->get( - 'ServerDatabasesController', array() -); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_engines.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_engines.php deleted file mode 100644 index f935279a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_engines.php +++ /dev/null @@ -1,32 +0,0 @@ -factory( - 'PMA\libraries\controllers\server\ServerEnginesController' -); -$container->alias( - 'ServerEnginesController', - 'PMA\libraries\controllers\server\ServerEnginesController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/** @var ServerEnginesController $controller */ -$controller = $container->get( - 'ServerEnginesController', array() -); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_export.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_export.php deleted file mode 100644 index 13337b49..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_export.php +++ /dev/null @@ -1,49 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('export.js'); - -$export_page_title = __('View dump (schema) of databases') . "\n"; - -$select_item = isset($tmp_select)? $tmp_select : ''; -$multi_values = PMA_getHtmlForExportSelectOptions($select_item); - -require_once 'libraries/display_export.lib.php'; - -if (! isset($sql_query)) { - $sql_query = ''; -} -if (! isset($num_tables)) { - $num_tables = 0; -} -if (! isset($unlim_num_rows)) { - $unlim_num_rows = 0; -} -$response = Response::getInstance(); -$response->addHTML( - PMA_getExportDisplay( - 'server', $db, $table, $sql_query, $num_tables, - $unlim_num_rows, $multi_values - ) -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_import.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_import.php deleted file mode 100644 index 78fe23db..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_import.php +++ /dev/null @@ -1,36 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('import.js'); - -/** - * Does the common work - */ -require 'libraries/server_common.inc.php'; - -require 'libraries/display_import.lib.php'; -$response = Response::getInstance(); -$response->addHTML( - PMA_getImportDisplay( - 'server', $db, $table, $max_upload_size - ) -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_plugins.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_plugins.php deleted file mode 100644 index 4392eed8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_plugins.php +++ /dev/null @@ -1,32 +0,0 @@ -factory( - 'PMA\libraries\controllers\server\ServerPluginsController' -); -$container->alias( - 'ServerPluginsController', - 'PMA\libraries\controllers\server\ServerPluginsController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/** @var ServerPluginsController $controller */ -$controller = $container->get( - 'ServerPluginsController', array() -); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_replication.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_replication.php deleted file mode 100644 index 5fbd4300..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_replication.php +++ /dev/null @@ -1,85 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('server_privileges.js'); -$scripts->addFile('replication.js'); - -/** - * Checks if the user is allowed to do what he tries to... - */ -if (! $is_superuser) { - $html = PMA_getHtmlForSubPageHeader('replication'); - $html .= PMA\libraries\Message::error(__('No Privileges'))->getDisplay(); - $response->addHTML($html); - exit; -} - -// change $GLOBALS['url_params'] with $_REQUEST['url_params'] -// only if it is an array -if (isset($_REQUEST['url_params']) && is_array($_REQUEST['url_params'])) { - $GLOBALS['url_params'] = $_REQUEST['url_params']; -} - -/** - * Handling control requests - */ -PMA_handleControlRequest(); - -/** - * start output - */ -$response->addHTML('
    '); -$response->addHTML(PMA_getHtmlForSubPageHeader('replication')); - -// Display error messages -$response->addHTML(PMA_getHtmlForErrorMessage()); - -if ($GLOBALS['replication_info']['master']['status']) { - $response->addHTML(PMA_getHtmlForMasterReplication()); -} elseif (! isset($_REQUEST['mr_configure']) - && ! isset($_REQUEST['repl_clear_scr']) -) { - $response->addHTML(PMA_getHtmlForNotServerReplication()); -} - -if (isset($_REQUEST['mr_configure'])) { - // Render the 'Master configuration' section - $response->addHTML(PMA_getHtmlForMasterConfiguration()); - exit; -} - -$response->addHTML('
    '); - -if (! isset($_REQUEST['repl_clear_scr'])) { - // Render the 'Slave configuration' section - $response->addHTML( - PMA_getHtmlForSlaveConfiguration( - $GLOBALS['replication_info']['slave']['status'], - $server_slave_replication - ) - ); -} -if (isset($_REQUEST['sl_configure'])) { - $response->addHTML(PMA_getHtmlForReplicationChangeMaster("slave_changemaster")); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_sql.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_sql.php deleted file mode 100644 index 8072dd4a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_sql.php +++ /dev/null @@ -1,36 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('makegrid.js'); -$scripts->addFile('jquery/jquery.uitablefilter.js'); -$scripts->addFile('sql.js'); - -require_once 'libraries/server_common.inc.php'; -require_once 'libraries/sql_query_form.lib.php'; - -/** - * Query box, bookmark, insert data from textfile - */ -$response->addHTML(PMA_getHtmlForSqlQueryForm()); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status.php deleted file mode 100644 index 002f367f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status.php +++ /dev/null @@ -1,41 +0,0 @@ -addHTML('
    '); - -$serverStatusData = new ServerStatusData(); -$response->addHTML($serverStatusData->getMenuHtml()); -if ($serverStatusData->dataLoaded) { - $response->addHTML(PMA_getHtmlForServerStatus($serverStatusData)); -} else { - $response->addHTML( - Message::error( - __('Not enough privilege to view server status.') - )->getDisplay() - ); -} -$response->addHTML('
    '); -exit; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_advisor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_advisor.php deleted file mode 100644 index 16e0589a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_advisor.php +++ /dev/null @@ -1,40 +0,0 @@ -getHeader()->getScripts(); -$scripts->addFile('server_status_advisor.js'); - -/** - * Output - */ -$response->addHTML('
    '); -$response->addHTML($serverStatusData->getMenuHtml()); -if ($serverStatusData->dataLoaded) { - $response->addHTML(PMA_getHtmlForAdvisor()); -} else { - $response->addHTML( - Message::error( - __('Not enough privilege to view the advisor.') - )->getDisplay() - ); -} -$response->addHTML('
    '); - -exit; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_monitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_monitor.php deleted file mode 100644 index ec676d17..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_monitor.php +++ /dev/null @@ -1,103 +0,0 @@ -isAjax()) { - // Send with correct charset - header('Content-Type: text/html; charset=UTF-8'); - - // real-time charting data - if (isset($_REQUEST['chart_data'])) { - switch($_REQUEST['type']) { - case 'chartgrid': // Data for the monitor - $ret = PMA_getJsonForChartingData(); - $response->addJSON('message', $ret); - exit; - } - } - - if (isset($_REQUEST['log_data'])) { - - $start = intval($_REQUEST['time_start']); - $end = intval($_REQUEST['time_end']); - - if ($_REQUEST['type'] == 'slow') { - $return = PMA_getJsonForLogDataTypeSlow($start, $end); - $response->addJSON('message', $return); - exit; - } - - if ($_REQUEST['type'] == 'general') { - $return = PMA_getJsonForLogDataTypeGeneral($start, $end); - $response->addJSON('message', $return); - exit; - } - } - - if (isset($_REQUEST['logging_vars'])) { - $loggingVars = PMA_getJsonForLoggingVars(); - $response->addJSON('message', $loggingVars); - exit; - } - - if (isset($_REQUEST['query_analyzer'])) { - $return = PMA_getJsonForQueryAnalyzer(); - $response->addJSON('message', $return); - exit; - } -} - -/** - * JS Includes - */ -$header = $response->getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('jquery/jquery.tablesorter.js'); -$scripts->addFile('jquery/jquery.sortableTable.js'); -$scripts->addFile('jquery/jquery-ui-timepicker-addon.js'); -// for charting -$scripts->addFile('jqplot/jquery.jqplot.js'); -$scripts->addFile('jqplot/plugins/jqplot.pieRenderer.js'); -$scripts->addFile('jqplot/plugins/jqplot.canvasTextRenderer.js'); -$scripts->addFile('jqplot/plugins/jqplot.canvasAxisLabelRenderer.js'); -$scripts->addFile('jqplot/plugins/jqplot.dateAxisRenderer.js'); -$scripts->addFile('jqplot/plugins/jqplot.highlighter.js'); -$scripts->addFile('jqplot/plugins/jqplot.cursor.js'); -$scripts->addFile('jqplot/plugins/jqplot.byteFormatter.js'); - -$scripts->addFile('server_status_monitor.js'); -$scripts->addFile('server_status_sorter.js'); - - -/** - * start output - */ -$ServerStatusData = new ServerStatusData(); - -/** - * Output - */ -$response->addHTML('
    '); -$response->addHTML($ServerStatusData->getMenuHtml()); -$response->addHTML(PMA_getHtmlForMonitor($ServerStatusData)); -$response->addHTML(PMA_getHtmlForClientSideDataAndLinks($ServerStatusData)); -$response->addHTML('
    '); -exit; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_processes.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_processes.php deleted file mode 100644 index de71a8c6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_processes.php +++ /dev/null @@ -1,63 +0,0 @@ - processes list - * - * @package PhpMyAdmin - */ - -use PMA\libraries\Response; -use PMA\libraries\ServerStatusData; - -require_once 'libraries/common.inc.php'; -require_once 'libraries/server_common.inc.php'; -require_once 'libraries/server_status_processes.lib.php'; - -/** - * Replication library - */ -require_once 'libraries/replication.inc.php'; -require_once 'libraries/replication_gui.lib.php'; - -$ServerStatusData = new ServerStatusData(); -$response = Response::getInstance(); - -/** - * Kills a selected process - * on ajax request - */ -if ($response->isAjax() && !empty($_REQUEST['kill'])) { - $kill = intval($_REQUEST['kill']); - $query = $GLOBALS['dbi']->getKillQuery($kill); - if ($GLOBALS['dbi']->tryQuery($query)) { - $message = PMA\libraries\Message::success( - __('Thread %s was successfully killed.') - ); - $response->setRequestStatus(true); - } else { - $message = PMA\libraries\Message::error( - __( - 'phpMyAdmin was unable to kill thread %s.' - . ' It probably has already been closed.' - ) - ); - $response->setRequestStatus(false); - } - $message->addParam($kill); - $response->addJSON('message', $message); -} elseif ($response->isAjax() && !empty($_REQUEST['refresh'])) { - // Only sends the process list table - $response->addHTML(PMA_getHtmlForServerProcessList()); -} else { - // Load the full page - $header = $response->getHeader(); - $scripts = $header->getScripts(); - $scripts->addFile('server_status_processes.js'); - $response->addHTML('
    '); - $response->addHTML($ServerStatusData->getMenuHtml()); - $response->addHTML(PMA_getHtmlForProcessListFilter()); - $response->addHTML(PMA_getHtmlForServerProcesslist()); - $response->addHTML(PMA_getHtmlForProcessListAutoRefresh()); - $response->addHTML('
    '); -} -exit; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_queries.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_queries.php deleted file mode 100644 index 77014b05..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_queries.php +++ /dev/null @@ -1,48 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); - -// for charting -$scripts->addFile('chart.js'); -$scripts->addFile('jqplot/jquery.jqplot.js'); -$scripts->addFile('jqplot/plugins/jqplot.pieRenderer.js'); -$scripts->addFile('jqplot/plugins/jqplot.highlighter.js'); -$scripts->addFile('jquery/jquery.tablesorter.js'); -$scripts->addFile('server_status_sorter.js'); -$scripts->addFile('server_status_queries.js'); - -// Add the html content to the response -$response->addHTML('
    '); -$response->addHTML($serverStatusData->getMenuHtml()); -if ($serverStatusData->dataLoaded) { - $response->addHTML(PMA_getHtmlForQueryStatistics($serverStatusData)); -} else { - $response->addHTML( - Message::error( - __('Not enough privilege to view query statistics.') - )->getDisplay() - ); -} -$response->addHTML('
    '); -exit; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_variables.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_variables.php deleted file mode 100644 index f5b41796..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_status_variables.php +++ /dev/null @@ -1,59 +0,0 @@ -query('FLUSH ' . $_REQUEST['flush'] . ';'); - } - unset($_flush_commands); -} - -$serverStatusData = new ServerStatusData(); - -$response = Response::getInstance(); -$header = $response->getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('server_status_variables.js'); -$scripts->addFile('jquery/jquery.tablesorter.js'); -$scripts->addFile('server_status_sorter.js'); - -$response->addHTML('
    '); -$response->addHTML($serverStatusData->getMenuHtml()); -if ($serverStatusData->dataLoaded) { - $response->addHTML(PMA_getHtmlForFilter($serverStatusData)); - $response->addHTML(PMA_getHtmlForLinkSuggestions($serverStatusData)); - $response->addHTML(PMA_getHtmlForVariablesList($serverStatusData)); -} else { - $response->addHTML( - Message::error( - __('Not enough privilege to view status variables.') - )->getDisplay() - ); -} -$response->addHTML('
    '); - -exit; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_user_groups.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_user_groups.php deleted file mode 100644 index 211ccfe3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_user_groups.php +++ /dev/null @@ -1,75 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('server_user_groups.js'); - -/** - * Only allowed to superuser - */ -if (! $GLOBALS['is_superuser']) { - $response->addHTML( - PMA\libraries\Message::error(__('No Privileges')) - ->getDisplay() - ); - exit; -} - -$response->addHTML('
    '); -$response->addHTML(PMA_getHtmlForSubMenusOnUsersPage('server_user_groups.php')); - -/** - * Delete user group - */ -if (! empty($_REQUEST['deleteUserGroup'])) { - PMA_deleteUserGroup($_REQUEST['userGroup']); -} - -/** - * Add a new user group - */ -if (! empty($_REQUEST['addUserGroupSubmit'])) { - PMA_editUserGroup($_REQUEST['userGroup'], true); -} - -/** - * Update a user group - */ -if (! empty($_REQUEST['editUserGroupSubmit'])) { - PMA_editUserGroup($_REQUEST['userGroup']); -} - -if (isset($_REQUEST['viewUsers'])) { - // Display users belonging to a user group - $response->addHTML(PMA_getHtmlForListingUsersofAGroup($_REQUEST['userGroup'])); -} - -if (isset($_REQUEST['addUserGroup'])) { - // Display add user group dialog - $response->addHTML(PMA_getHtmlToEditUserGroup()); -} elseif (isset($_REQUEST['editUserGroup'])) { - // Display edit user group dialog - $response->addHTML(PMA_getHtmlToEditUserGroup($_REQUEST['userGroup'])); -} else { - // Display user groups table - $response->addHTML(PMA_getHtmlForUserGroupsTable()); -} - -$response->addHTML('
    '); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_variables.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_variables.php deleted file mode 100644 index a5c35ff6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/server_variables.php +++ /dev/null @@ -1,32 +0,0 @@ -factory( - 'PMA\libraries\controllers\server\ServerVariablesController' -); -$container->alias( - 'ServerVariablesController', - 'PMA\libraries\controllers\server\ServerVariablesController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/** @var ServerVariablesController $controller */ -$controller = $container->get( - 'ServerVariablesController', array() -); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/config.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/config.php deleted file mode 100644 index 3bc5d56a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/config.php +++ /dev/null @@ -1,50 +0,0 @@ -registerForm('_config.php', $forms['_config.php']); -$form_display->save('_config.php'); - -if (isset($_POST['eol'])) { - $_SESSION['eol'] = ($_POST['eol'] == 'unix') ? 'unix' : 'win'; -} - -if (PMA_ifSetOr($_POST['submit_clear'], '')) { - // - // Clear current config and return to main page - // - $GLOBALS['ConfigFile']->resetConfigData(); - // drop post data - header('HTTP/1.1 303 See Other'); - header('Location: index.php' . URL::getCommonRaw()); - exit; -} elseif (PMA_ifSetOr($_POST['submit_download'], '')) { - // - // Output generated config file - // - PMA_downloadHeader('config.inc.php', 'text/plain'); - echo ConfigGenerator::getConfigFile($GLOBALS['ConfigFile']); - exit; -} else { - // - // Show generated config file in a '; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; -echo ''; - -echo PMA_displayFieldsetBottomSimple(); -echo PMA_displayFormBottom(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/form.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/form.inc.php deleted file mode 100644 index 3ab5c0fd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/form.inc.php +++ /dev/null @@ -1,35 +0,0 @@ -' , $GLOBALS['strConfigFormset_' . $formset_id] , ''; -} -$form_display = new FormDisplay($GLOBALS['ConfigFile']); -foreach ($forms[$formset_id] as $form_name => $form) { - $form_display->registerForm($form_name, $form); -} -PMA_Process_formset($form_display); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/menu.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/menu.inc.php deleted file mode 100644 index fe364194..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/menu.inc.php +++ /dev/null @@ -1,36 +0,0 @@ -'; -echo '
  • ' , __('Overview') , '
  • '; - -$formsets = array( - 'Features' => __('Features'), - 'Sql_queries' => __('SQL queries'), - 'Navi_panel' => __('Navigation panel'), - 'Main_panel' => __('Main panel'), - 'Import' => __('Import'), - 'Export' => __('Export') -); - -foreach ($formsets as $formset => $label) { - echo '
  • ' , $label , '
  • '; -} - -echo ''; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/servers.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/servers.inc.php deleted file mode 100644 index 623648a5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/frames/servers.inc.php +++ /dev/null @@ -1,52 +0,0 @@ -get("Servers/$id") !== null; - -if ($mode == 'edit' && $server_exists) { - $page_title = __('Edit server') - . ' ' . $id - . ' (' . htmlspecialchars($cf->getServerDSN($id)) . ')'; -} elseif ($mode == 'remove' && $server_exists) { - $cf->removeServer($id); - header('Location: index.php' . URL::getCommonRaw()); - exit; -} elseif ($mode == 'revert' && $server_exists) { - // handled by process_formset() -} else { - $page_title = __('Add a new server'); - $id = 0; -} -if (isset($page_title)) { - echo '

    ' , $page_title . '

    '; -} -$form_display = new FormDisplay($cf); -foreach ($forms['Servers'] as $form_name => $form) { - $form_display->registerForm($form_name, $form, $id); -} -PMA_Process_formset($form_display); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/index.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/index.php deleted file mode 100644 index 97d44625..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/index.php +++ /dev/null @@ -1,65 +0,0 @@ - - - - - -phpMyAdmin setup - - - - - - - - - - - -

    phpMyAdmin setup

    - -
    - -
    - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/common.inc.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/common.inc.php deleted file mode 100644 index 2ead064f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/common.inc.php +++ /dev/null @@ -1,52 +0,0 @@ -setCookie('pma_lang', $GLOBALS['lang']); - -$GLOBALS['ConfigFile'] = new ConfigFile(); -$GLOBALS['ConfigFile']->setPersistKeys( - array( - 'DefaultLang', - 'ServerDefault', - 'UploadDir', - 'SaveDir', - 'Servers/1/verbose', - 'Servers/1/host', - 'Servers/1/port', - 'Servers/1/socket', - 'Servers/1/auth_type', - 'Servers/1/user', - 'Servers/1/password' - ) -); - -// allows for redirection even after sending some data -ob_start(); - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/form_processing.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/form_processing.lib.php deleted file mode 100644 index 89269db2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/form_processing.lib.php +++ /dev/null @@ -1,85 +0,0 @@ -fixErrors(); - PMA_generateHeader303(); - } - - if (!$form_display->process(false)) { - // handle form view and failed POST - echo $form_display->getDisplay(true, true); - return; - } - - // check for form errors - if (!$form_display->hasErrors()) { - PMA_generateHeader303(); - return; - } - - // form has errors, show warning - $separator = URL::getArgSeparator('html'); - $page = isset($_GET['page']) ? htmlspecialchars($_GET['page']) : null; - $formset = isset($_GET['formset']) ? htmlspecialchars($_GET['formset']) : null; - $formset = $formset ? "{$separator}formset=$formset" : ''; - $formId = PMA_isValid($_GET['id'], 'numeric') ? $_GET['id'] : null; - if ($formId === null && $page == 'servers') { - // we've just added a new server, get its id - $formId = $form_display->getConfigFile()->getServerCount(); - } - $formId = $formId ? "{$separator}id=$formId" : ''; - ?> -
    -

    -
    - - - -
    - displayErrors() ?> - - - -   - - - - header('HTTP/1.1 303 See Other'); - $response->header('Location: index.php' . URL::getCommonRaw()); - - if (!defined('TESTSUITE')) { - exit; - } -} \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/index.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/index.lib.php deleted file mode 100644 index 8b41c561..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/lib/index.lib.php +++ /dev/null @@ -1,184 +0,0 @@ - array(), 'notice' => array()); - } else { - // reset message states - foreach ($_SESSION['messages'] as &$messages) { - foreach ($messages as &$msg) { - $msg['fresh'] = false; - $msg['active'] = false; - } - } - } -} - -/** - * Adds a new message to message list - * - * @param string $type one of: notice, error - * @param string $msgId unique message identifier - * @param string $title language string id (in $str array) - * @param string $message message text - * - * @return void - */ -function PMA_messagesSet($type, $msgId, $title, $message) -{ - $fresh = ! isset($_SESSION['messages'][$type][$msgId]); - $_SESSION['messages'][$type][$msgId] = array( - 'fresh' => $fresh, - 'active' => true, - 'title' => $title, - 'message' => $message); -} - -/** - * Cleans up message list - * - * @return void - */ -function PMA_messagesEnd() -{ - foreach ($_SESSION['messages'] as &$messages) { - $remove_ids = array(); - foreach ($messages as $id => &$msg) { - if ($msg['active'] == false) { - $remove_ids[] = $id; - } - } - foreach ($remove_ids as $id) { - unset($messages[$id]); - } - } -} - -/** - * Prints message list, must be called after PMA_messagesEnd() - * - * @return void - */ -function PMA_messagesShowHtml() -{ - foreach ($_SESSION['messages'] as $type => $messages) { - foreach ($messages as $id => $msg) { - if (! $msg['fresh'] && $type != 'error') { - $extra = ' hiddenmessage'; - } else { - $extra = ''; - } - echo '
    ' - , '

    ' , $msg['title'] , '

    ' - , $msg['message'] , '
    '; - } - } -} - -/** - * Checks for newest phpMyAdmin version and sets result as a new notice - * - * @return void - */ -function PMA_versionCheck() -{ - // version check messages should always be visible so let's make - // a unique message id each time we run it - $message_id = uniqid('version_check'); - - // Fetch data - $versionInformation = new VersionInformation(); - $version_data = $versionInformation->getLatestVersion(); - - if (empty($version_data)) { - PMA_messagesSet( - 'error', - $message_id, - __('Version check'), - __( - 'Reading of version failed. ' - . 'Maybe you\'re offline or the upgrade server does not respond.' - ) - ); - return; - } - - $releases = $version_data->releases; - $latestCompatible = $versionInformation->getLatestCompatibleVersion($releases); - if ($latestCompatible != null) { - $version = $latestCompatible['version']; - $date = $latestCompatible['date']; - } else { - return; - } - - $version_upstream = $versionInformation->versionToInt($version); - if ($version_upstream === false) { - PMA_messagesSet( - 'error', - $message_id, - __('Version check'), - __('Got invalid version string from server') - ); - return; - } - - $version_local = $versionInformation->versionToInt( - $GLOBALS['PMA_Config']->get('PMA_VERSION') - ); - if ($version_local === false) { - PMA_messagesSet( - 'error', - $message_id, - __('Version check'), - __('Unparsable version string') - ); - return; - } - - if ($version_upstream > $version_local) { - $version = htmlspecialchars($version); - $date = htmlspecialchars($date); - PMA_messagesSet( - 'notice', - $message_id, - __('Version check'), - sprintf(__('A newer version of phpMyAdmin is available and you should consider upgrading. The newest version is %s, released on %s.'), $version, $date) - ); - } else { - if ($version_local % 100 == 0) { - PMA_messagesSet( - 'notice', - $message_id, - __('Version check'), - Sanitize::sanitize(sprintf(__('You are using Git version, run [kbd]git pull[/kbd] :-)[br]The latest stable version is %s, released on %s.'), $version, $date)) - ); - } else { - PMA_messagesSet( - 'notice', - $message_id, - __('Version check'), - __('No newer stable version is available') - ); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/validate.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/validate.php deleted file mode 100644 index c53c0e73..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/setup/validate.php +++ /dev/null @@ -1,34 +0,0 @@ -factory('PMA\libraries\controllers\table\TableChartController'); -$container->alias( - 'TableChartController', 'PMA\libraries\controllers\table\TableChartController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/* Define dependencies for the concerned controller */ -$dependency_definitions = array( - "sql_query" => &$GLOBALS['sql_query'], - "url_query" => &$GLOBALS['url_query'], - "cfg" => &$GLOBALS['cfg'] -); - -/** @var TableChartController $controller */ -$controller = $container->get('TableChartController', $dependency_definitions); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_find_replace.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_find_replace.php deleted file mode 100644 index dd2248d3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_find_replace.php +++ /dev/null @@ -1,34 +0,0 @@ -factory('PMA\libraries\controllers\table\TableSearchController'); -$container->alias( - 'TableSearchController', 'PMA\libraries\controllers\table\TableSearchController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -$dependency_definitions = array( - 'searchType' => 'replace', - 'url_query' => &$url_query -); - -/** @var PMA\libraries\controllers\table\TableSearchController $controller */ -$controller = $container->get('TableSearchController', $dependency_definitions); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_get_field.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_get_field.php deleted file mode 100644 index 95f8b67b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_get_field.php +++ /dev/null @@ -1,57 +0,0 @@ -selectDb($db)) { - PMA\libraries\Util::mysqlDie( - sprintf(__('\'%s\' database does not exist.'), htmlspecialchars($db)), - '', false - ); -} - -/* Check if table exists */ -if (!$GLOBALS['dbi']->getColumns($db, $table)) { - PMA\libraries\Util::mysqlDie(__('Invalid table name')); -} - -/* Grab data */ -$sql = 'SELECT ' . PMA\libraries\Util::backquote($_GET['transform_key']) - . ' FROM ' . PMA\libraries\Util::backquote($table) - . ' WHERE ' . $_GET['where_clause'] . ';'; -$result = $GLOBALS['dbi']->fetchValue($sql); - -/* Check return code */ -if ($result === false) { - PMA\libraries\Util::mysqlDie( - __('MySQL returned an empty result set (i.e. zero rows).'), $sql - ); -} - -/* Avoid corrupting data */ -@ini_set('url_rewriter.tags', ''); - -PMA_downloadHeader( - $table . '-' . $_GET['transform_key'] . '.bin', - PMA_detectMIME($result), - strlen($result) -); -echo $result; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_gis_visualization.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_gis_visualization.php deleted file mode 100644 index 72feb468..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_gis_visualization.php +++ /dev/null @@ -1,43 +0,0 @@ -factory( - 'PMA\libraries\controllers\table\TableGisVisualizationController' -); -$container->alias( - 'TableGisVisualizationController', - 'PMA\libraries\controllers\table\TableGisVisualizationController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/* Define dependencies for the concerned controller */ -$dependency_definitions = array( - "sql_query" => &$GLOBALS['sql_query'], - "url_params" => &$GLOBALS['url_params'], - "goto" => Util::getScriptNameForOption( - $GLOBALS['cfg']['DefaultTabDatabase'], 'database' - ), - "back" => 'sql.php', - "visualizationSettings" => array() -); - -/** @var TableGisVisualizationController $controller */ -$controller = $container->get( - 'TableGisVisualizationController', $dependency_definitions -); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_import.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_import.php deleted file mode 100644 index 578a6a79..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_import.php +++ /dev/null @@ -1,38 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('import.js'); - -/** - * Gets tables information and displays top links - */ -require_once 'libraries/tbl_common.inc.php'; -$url_query .= '&goto=tbl_import.php&back=tbl_import.php'; - -require_once 'libraries/tbl_info.inc.php'; - -require 'libraries/display_import.lib.php'; -$response->addHTML( - PMA_getImportDisplay( - 'table', $db, $table, $max_upload_size - ) -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_indexes.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_indexes.php deleted file mode 100644 index 467e6289..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_indexes.php +++ /dev/null @@ -1,51 +0,0 @@ -factory('PMA\libraries\controllers\table\TableIndexesController'); -$container->alias( - 'TableIndexesController', - 'PMA\libraries\controllers\table\TableIndexesController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/* Define dependencies for the concerned controller */ -$db = $container->get('db'); -$table = $container->get('table'); -$dbi = $container->get('dbi'); - -if (!isset($_REQUEST['create_edit_table'])) { - include_once 'libraries/tbl_common.inc.php'; -} -if (isset($_REQUEST['index'])) { - if (is_array($_REQUEST['index'])) { - // coming already from form - $index = new Index($_REQUEST['index']); - } else { - $index = $dbi->getTable($db, $table)->getIndex($_REQUEST['index']); - } -} else { - $index = new Index; -} - -$dependency_definitions = array( - "index" => $index -); - -/** @var TableIndexesController $controller */ -$controller = $container->get('TableIndexesController', $dependency_definitions); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_operations.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_operations.php deleted file mode 100644 index d930576d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_operations.php +++ /dev/null @@ -1,431 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('tbl_operations.js'); - -/** - * Runs common work - */ -require 'libraries/tbl_common.inc.php'; -$url_query .= '&goto=tbl_operations.php&back=tbl_operations.php'; -$url_params['goto'] = $url_params['back'] = 'tbl_operations.php'; - -/** - * Gets relation settings - */ -$cfgRelation = PMA_getRelationsParam(); - -// reselect current db (needed in some cases probably due to -// the calling of relation.lib.php) -$GLOBALS['dbi']->selectDb($GLOBALS['db']); - -/** - * Gets tables information - */ -require 'libraries/tbl_info.inc.php'; - -// set initial value of these variables, based on the current table engine -if ($pma_table->isEngine('ARIA')) { - // the value for transactional can be implicit - // (no create option found, in this case it means 1) - // or explicit (option found with a value of 0 or 1) - // ($create_options['transactional'] may have been set by libraries/tbl_info.inc.php, - // from the $create_options) - $create_options['transactional'] = (isset($create_options['transactional']) && $create_options['transactional'] == '0') - ? '0' - : '1'; - $create_options['page_checksum'] = (isset($create_options['page_checksum'])) ? $create_options['page_checksum'] : ''; -} - -$reread_info = false; -$table_alters = array(); - -/** - * If the table has to be moved to some other database - */ -if (isset($_REQUEST['submit_move']) || isset($_REQUEST['submit_copy'])) { - //$_message = ''; - PMA_moveOrCopyTable($db, $table); - // This was ended in an Ajax call - exit; -} -/** - * If the table has to be maintained - */ -if (isset($_REQUEST['table_maintenance'])) { - include_once 'sql.php'; - unset($result); -} -/** - * Updates table comment, type and options if required - */ -if (isset($_REQUEST['submitoptions'])) { - $_message = ''; - $warning_messages = array(); - - if (isset($_REQUEST['new_name'])) { - // Get original names before rename operation - $oldTable = $pma_table->getName(); - $oldDb = $pma_table->getDbName(); - - if ($pma_table->rename($_REQUEST['new_name'])) { - if (isset($_REQUEST['adjust_privileges']) - && ! empty($_REQUEST['adjust_privileges']) - ) { - PMA_AdjustPrivileges_renameOrMoveTable( - $oldDb, $oldTable, $_REQUEST['db'], $_REQUEST['new_name'] - ); - } - - // Reselect the original DB - $GLOBALS['db'] = $oldDb; - $GLOBALS['dbi']->selectDb($oldDb); - - $_message .= $pma_table->getLastMessage(); - $result = true; - $GLOBALS['table'] = $pma_table->getName(); - $reread_info = true; - $reload = true; - } else { - $_message .= $pma_table->getLastError(); - $result = false; - } - } - - if (! empty($_REQUEST['new_tbl_storage_engine']) - && mb_strtoupper($_REQUEST['new_tbl_storage_engine']) !== $tbl_storage_engine - ) { - $new_tbl_storage_engine = mb_strtoupper($_REQUEST['new_tbl_storage_engine']); - - if ($pma_table->isEngine('ARIA')) { - $create_options['transactional'] = (isset($create_options['transactional']) && $create_options['transactional'] == '0') - ? '0' - : '1'; - $create_options['page_checksum'] = (isset($create_options['page_checksum'])) ? $create_options['page_checksum'] : ''; - } - } else { - $new_tbl_storage_engine = ''; - } - - $row_format = (isset($create_options['row_format'])) - ? $create_options['row_format'] - : $pma_table->getStatusInfo('ROW_FORMAT'); - - $table_alters = PMA_getTableAltersArray( - $pma_table, - $create_options['pack_keys'], - (empty($create_options['checksum']) ? '0' : '1'), - ((isset($create_options['page_checksum'])) ? $create_options['page_checksum'] : ''), - (empty($create_options['delay_key_write']) ? '0' : '1'), - $row_format, - $new_tbl_storage_engine, - ((isset($create_options['transactional']) && $create_options['transactional'] == '0') ? '0' : '1'), - $tbl_collation - ); - - if (count($table_alters) > 0) { - $sql_query = 'ALTER TABLE ' - . PMA\libraries\Util::backquote($GLOBALS['table']); - $sql_query .= "\r\n" . implode("\r\n", $table_alters); - $sql_query .= ';'; - $result .= $GLOBALS['dbi']->query($sql_query) ? true : false; - $reread_info = true; - unset($table_alters); - $warning_messages = PMA_getWarningMessagesArray(); - } - - if (isset($_REQUEST['tbl_collation']) - && ! empty($_REQUEST['tbl_collation']) - && isset($_REQUEST['change_all_collations']) - && ! empty($_REQUEST['change_all_collations']) - ) { - PMA_changeAllColumnsCollation( - $GLOBALS['db'], $GLOBALS['table'], $_REQUEST['tbl_collation'] - ); - } -} -/** - * Reordering the table has been requested by the user - */ -if (isset($_REQUEST['submitorderby']) && ! empty($_REQUEST['order_field'])) { - list($sql_query, $result) = PMA_getQueryAndResultForReorderingTable(); -} // end if - -/** - * A partition operation has been requested by the user - */ -if (isset($_REQUEST['submit_partition']) - && ! empty($_REQUEST['partition_operation']) -) { - list($sql_query, $result) = PMA_getQueryAndResultForPartition(); -} // end if - -if ($reread_info) { - // to avoid showing the old value (for example the AUTO_INCREMENT) after - // a change, clear the cache - $GLOBALS['dbi']->clearTableCache(); - include 'libraries/tbl_info.inc.php'; -} -unset($reread_info); - -if (isset($result) && empty($message_to_show)) { - if (empty($_message)) { - if (empty($sql_query)) { - $_message = PMA\libraries\Message::success(__('No change')); - } else { - $_message = $result - ? PMA\libraries\Message::success() - : PMA\libraries\Message::error(); - } - - if ($response->isAjax()) { - $response->setRequestStatus($_message->isSuccess()); - $response->addJSON('message', $_message); - if (!empty($sql_query)) { - $response->addJSON( - 'sql_query', PMA\libraries\Util::getMessage(null, $sql_query) - ); - } - exit; - } - } else { - $_message = $result - ? PMA\libraries\Message::success($_message) - : PMA\libraries\Message::error($_message); - } - - if (! empty($warning_messages)) { - $_message = new PMA\libraries\Message; - $_message->addMessagesString($warning_messages); - $_message->isError(true); - if ($response->isAjax()) { - $response->setRequestStatus(false); - $response->addJSON('message', $_message); - if (!empty($sql_query)) { - $response->addJSON( - 'sql_query', PMA\libraries\Util::getMessage(null, $sql_query) - ); - } - exit; - } - unset($warning_messages); - } - - if (empty($sql_query)) { - $response->addHTML( - $_message->getDisplay() - ); - } else { - $response->addHTML( - PMA\libraries\Util::getMessage($_message, $sql_query) - ); - } - unset($_message); -} - -$url_params['goto'] - = $url_params['back'] - = 'tbl_operations.php'; - -/** - * Get columns names - */ -$columns = $GLOBALS['dbi']->getColumns($GLOBALS['db'], $GLOBALS['table']); - -/** - * Displays the page - */ -$response->addHTML('
    '); - -/** - * Order the table - */ -$hideOrderTable = false; -// `ALTER TABLE ORDER BY` does not make sense for InnoDB tables that contain -// a user-defined clustered index (PRIMARY KEY or NOT NULL UNIQUE index). -// InnoDB always orders table rows according to such an index if one is present. -if ($tbl_storage_engine == 'INNODB') { - $indexes = PMA\libraries\Index::getFromTable($GLOBALS['table'], $GLOBALS['db']); - foreach ($indexes as $name => $idx) { - if ($name == 'PRIMARY') { - $hideOrderTable = true; - break; - } elseif (! $idx->getNonUnique()) { - $notNull = true; - foreach ($idx->getColumns() as $column) { - if ($column->getNull()) { - $notNull = false; - break; - } - } - if ($notNull) { - $hideOrderTable = true; - break; - } - } - } -} -if (! $hideOrderTable) { - $response->addHTML(PMA_getHtmlForOrderTheTable($columns)); -} - -/** - * Move table - */ -$response->addHTML(PMA_getHtmlForMoveTable()); - -if (mb_strstr($show_comment, '; InnoDB free') === false) { - if (mb_strstr($show_comment, 'InnoDB free') === false) { - // only user entered comment - $comment = $show_comment; - } else { - // here we have just InnoDB generated part - $comment = ''; - } -} else { - // remove InnoDB comment from end, just the minimal part (*? is non greedy) - $comment = preg_replace('@; InnoDB free:.*?$@', '', $show_comment); -} - -// PACK_KEYS: MyISAM or ISAM -// DELAY_KEY_WRITE, CHECKSUM, : MyISAM only -// AUTO_INCREMENT: MyISAM and InnoDB since 5.0.3, PBXT - -// Here should be version check for InnoDB, however it is supported -// in >5.0.4, >4.1.12 and >4.0.11, so I decided not to -// check for version - -$response->addHTML( - PMA_getTableOptionDiv( - $pma_table, $comment, $tbl_collation, $tbl_storage_engine, - $create_options['pack_keys'], - $auto_increment, - (empty($create_options['delay_key_write']) ? '0' : '1'), - ((isset($create_options['transactional']) && $create_options['transactional'] == '0') ? '0' : '1'), - ((isset($create_options['page_checksum'])) ? $create_options['page_checksum'] : ''), - (empty($create_options['checksum']) ? '0' : '1') - ) -); - -/** - * Copy table - */ -$response->addHTML(PMA_getHtmlForCopytable()); - -/** - * Table maintenance - */ -$response->addHTML( - PMA_getHtmlForTableMaintenance($pma_table, $url_params) -); - -if (! (isset($db_is_system_schema) && $db_is_system_schema)) { - $truncate_table_url_params = array(); - $drop_table_url_params = array(); - - if (! $tbl_is_view - && ! (isset($db_is_system_schema) && $db_is_system_schema) - ) { - $this_sql_query = 'TRUNCATE TABLE ' - . PMA\libraries\Util::backquote($GLOBALS['table']); - $truncate_table_url_params = array_merge( - $url_params, - array( - 'sql_query' => $this_sql_query, - 'goto' => 'tbl_structure.php', - 'reload' => '1', - 'message_to_show' => sprintf( - __('Table %s has been emptied.'), - htmlspecialchars($table) - ), - ) - ); - } - if (! (isset($db_is_system_schema) && $db_is_system_schema)) { - $this_sql_query = 'DROP TABLE ' - . PMA\libraries\Util::backquote($GLOBALS['table']); - $drop_table_url_params = array_merge( - $url_params, - array( - 'sql_query' => $this_sql_query, - 'goto' => 'db_operations.php', - 'reload' => '1', - 'purge' => '1', - 'message_to_show' => sprintf( - ($tbl_is_view - ? __('View %s has been dropped.') - : __('Table %s has been dropped.') - ), - htmlspecialchars($table) - ), - // table name is needed to avoid running - // PMA_relationsCleanupDatabase() on the whole db later - 'table' => $GLOBALS['table'], - ) - ); - } - $response->addHTML( - PMA_getHtmlForDeleteDataOrTable( - $truncate_table_url_params, - $drop_table_url_params - ) - ); -} - -if (Partition::havePartitioning()) { - $partition_names = Partition::getPartitionNames($db, $table); - // show the Partition maintenance section only if we detect a partition - if (! is_null($partition_names[0])) { - $response->addHTML( - PMA_getHtmlForPartitionMaintenance($partition_names, $url_params) - ); - } // end if -} // end if -unset($partition_names); - -// Referential integrity check -// The Referential integrity check was intended for the non-InnoDB -// tables for which the relations are defined in pmadb -// so I assume that if the current table is InnoDB, I don't display -// this choice (InnoDB maintains integrity by itself) - -if ($cfgRelation['relwork'] && ! $pma_table->isEngine("INNODB")) { - $GLOBALS['dbi']->selectDb($GLOBALS['db']); - $foreign = PMA_getForeigners($GLOBALS['db'], $GLOBALS['table'], '', 'internal'); - - if (! empty($foreign)) { - $response->addHTML( - PMA_getHtmlForReferentialIntegrityCheck($foreign, $url_params) - ); - } // end if ($foreign) - -} // end if (!empty($cfg['Server']['relation'])) - -$response->addHTML('
    '); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_relation.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_relation.php deleted file mode 100644 index f2f1a3bd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_relation.php +++ /dev/null @@ -1,78 +0,0 @@ -factory('PMA\libraries\controllers\table\TableRelationController'); -$container->alias( - 'TableRelationController', - 'PMA\libraries\controllers\table\TableRelationController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/* Define dependencies for the concerned controller */ -$db = $container->get('db'); -$table = $container->get('table'); -$dbi = $container->get('dbi'); -$options_array = array( - 'CASCADE' => 'CASCADE', - 'SET_NULL' => 'SET NULL', - 'NO_ACTION' => 'NO ACTION', - 'RESTRICT' => 'RESTRICT', -); -$cfgRelation = PMA_getRelationsParam(); -$tbl_storage_engine = mb_strtoupper( - $dbi->getTable($db, $table)->getStatusInfo('Engine') -); -$upd_query = new Table($table, $db, $dbi); - -$dependency_definitions = array( - "options_array" => $options_array, - "cfgRelation" => $cfgRelation, - "tbl_storage_engine" => $tbl_storage_engine, - "upd_query" => $upd_query -); -if ($cfgRelation['relwork']) { - $dependency_definitions['existrel'] = PMA_getForeigners( - $db, $table, '', 'internal' - ); -} -if (Util::isForeignKeySupported($tbl_storage_engine)) { - $dependency_definitions['existrel_foreign'] = PMA_getForeigners( - $db, $table, '', 'foreign' - ); -} -if ($cfgRelation['displaywork']) { - $dependency_definitions['disp'] = PMA_getDisplayField($db, $table); -} else { - $dependency_definitions['disp'] = 'asas'; -} - -/** @var TableRelationController $controller */ -$controller = $container->get('TableRelationController', $dependency_definitions); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_select.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_select.php deleted file mode 100644 index edfbb698..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_select.php +++ /dev/null @@ -1,38 +0,0 @@ -factory('PMA\libraries\controllers\table\TableSearchController'); -$container->alias( - 'TableSearchController', 'PMA\libraries\controllers\table\TableSearchController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/* Define dependencies for the concerned controller */ -$dependency_definitions = array( - 'searchType' => 'normal', - 'url_query' => &$url_query -); - -/** @var TableSearchController $controller */ -$controller = $container->get('TableSearchController', $dependency_definitions); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_sql.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_sql.php deleted file mode 100644 index 304f7c80..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_sql.php +++ /dev/null @@ -1,56 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('makegrid.js'); -$scripts->addFile('jquery/jquery.uitablefilter.js'); -$scripts->addFile('sql.js'); - -require 'libraries/tbl_common.inc.php'; -$url_query .= '&goto=tbl_sql.php&back=tbl_sql.php'; - -require_once 'libraries/sql_query_form.lib.php'; - -$err_url = 'tbl_sql.php' . $err_url; -// After a syntax error, we return to this script -// with the typed query in the textarea. -$goto = 'tbl_sql.php'; -$back = 'tbl_sql.php'; - -/** - * Get table information - */ -require_once 'libraries/tbl_info.inc.php'; - -/** - * Query box, bookmark, insert data from textfile - */ -$response->addHTML( - PMA_getHtmlForSqlQueryForm( - true, false, - isset($_REQUEST['delimiter']) - ? htmlspecialchars($_REQUEST['delimiter']) - : ';' - ) -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_structure.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_structure.php deleted file mode 100644 index f2170ee4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_structure.php +++ /dev/null @@ -1,47 +0,0 @@ -factory('PMA\libraries\controllers\table\TableStructureController'); -$container->alias( - 'TableStructureController', - 'PMA\libraries\controllers\table\TableStructureController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -global $db, $table, $db_is_system_schema, $tbl_is_view, $tbl_storage_engine, - $table_info_num_rows, $tbl_collation, $showtable; -/* Define dependencies for the concerned controller */ -$dependency_definitions = array( - 'db' => $db, - 'table' => $table, - 'url_query' => &$GLOBALS['url_query'], - 'db_is_system_schema' => $db_is_system_schema, - 'tbl_is_view' => $tbl_is_view, - 'tbl_storage_engine' => $tbl_storage_engine, - 'table_info_num_rows' => $table_info_num_rows, - 'tbl_collation' => $tbl_collation, - 'showtable' => $showtable -); - -/** @var TableStructureController $controller */ -$controller = $container->get('TableStructureController', $dependency_definitions); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_zoom_select.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_zoom_select.php deleted file mode 100644 index c530ae0d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/tbl_zoom_select.php +++ /dev/null @@ -1,35 +0,0 @@ -factory('PMA\libraries\controllers\table\TableSearchController'); -$container->alias( - 'TableSearchController', 'PMA\libraries\controllers\table\TableSearchController' -); -$container->set('PMA\libraries\Response', Response::getInstance()); -$container->alias('response', 'PMA\libraries\Response'); - -/* Define dependencies for the concerned controller */ -$dependency_definitions = array( - 'searchType' => 'zoom', - 'url_query' => &$url_query -); - -/** @var PMA\libraries\controllers\table\TableSearchController $controller */ -$controller = $container->get('TableSearchController', $dependency_definitions); -$controller->indexAction(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/checkbox.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/checkbox.phtml deleted file mode 100644 index 5cdb0985..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/checkbox.phtml +++ /dev/null @@ -1,12 +0,0 @@ - - id="" - - checked="checked" - - class="autosubmit" - /> - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_adjust_privileges.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_adjust_privileges.phtml deleted file mode 100644 index 265fe9e2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_adjust_privileges.phtml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_attribute.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_attribute.phtml deleted file mode 100644 index 9bad584b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_attribute.phtml +++ /dev/null @@ -1,28 +0,0 @@ -getAttributes(); -$cnt_attribute_types = count($attribute_types); - -$attribute = ''; -if (isset($submit_attribute) && $submit_attribute != false) { - $attribute = $submit_attribute; -} elseif (isset($columnMeta['Extra']) - && $columnMeta['Extra'] == 'on update CURRENT_TIMESTAMP') { - $attribute = 'on update CURRENT_TIMESTAMP'; -} elseif (isset($extracted_columnspec['attribute'])) { - $attribute = $extracted_columnspec['attribute']; -} - -$attribute = mb_strtoupper($attribute); -?> - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_attributes.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_attributes.phtml deleted file mode 100644 index c2b435fb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_attributes.phtml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'columnMeta' => isset($columnMeta) ? $columnMeta : null, - 'cfgRelation' => $cfgRelation - )); ?> - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'type_upper' => $type_upper, - 'columnMeta' => isset($columnMeta) ? $columnMeta : null - )); ?> - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'length_values_input_size' => $length_values_input_size, - 'length_to_display' => $length - )); ?> - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'type_upper' => isset($type_upper) ? $type_upper : null, - 'columnMeta' => isset($columnMeta) ? $columnMeta : null - )); ?> - - - - - - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'extracted_columnspec' => isset($extracted_columnspec) ? $extracted_columnspec : null, - 'columnMeta' => isset($columnMeta) ? $columnMeta : null, - 'submit_attribute' => isset($submit_attribute) ? $submit_attribute : null, - )); ?> - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'columnMeta' => isset($columnMeta) ? $columnMeta : null - )); ?> - - - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'privs_available' => $privs_available - )); ?> - - - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'columnMeta' => $columnMeta - )); ?> - - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'columnMeta' => $columnMeta - )); ?> - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'columnMeta' => isset($columnMeta) ? $columnMeta : null, - 'comments_map' => $comments_map - )); ?> - - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'columnMeta' => isset($columnMeta) ? $columnMeta : null - )); ?> - - - - - name == $columnMeta['Field']) { - $current_index = $mi; - break; - } - } ?> - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'columnMeta' => $columnMeta, - 'move_columns' => $move_columns, - 'current_index' => $current_index - )); ?> - - - - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'available_mime' => $available_mime, - 'columnMeta' => $columnMeta, - 'mime_map' => $mime_map - )); ?> - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'available_mime' => $available_mime, - 'columnMeta' => $columnMeta, - 'mime_map' => $mime_map, - 'type' => 'transformation' - )); ?> - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'columnMeta' => $columnMeta, - 'mime_map' => $mime_map, - 'type_prefix' => '', - )); ?> - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'available_mime' => $available_mime, - 'columnMeta' => $columnMeta, - 'mime_map' => $mime_map, - 'type' => 'input_transformation' - )); ?> - - - - render(array( - 'columnNumber' => $columnNumber, - 'ci' => $ci++, - 'ci_offset' => $ci_offset, - 'columnMeta' => $columnMeta, - 'mime_map' => $mime_map, - 'type_prefix' => 'input_', - )); ?> - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_auto_increment.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_auto_increment.phtml deleted file mode 100644 index e688ff6e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_auto_increment.phtml +++ /dev/null @@ -1,8 +0,0 @@ - - checked="checked" - - type="checkbox" - value="AUTO_INCREMENT" /> \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_comment.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_comment.phtml deleted file mode 100644 index 3233c4e0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_comment.phtml +++ /dev/null @@ -1,10 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_default.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_default.phtml deleted file mode 100644 index 2ef2fd9a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_default.phtml +++ /dev/null @@ -1,51 +0,0 @@ - _pgettext('for default', 'None'), - 'USER_DEFINED' => __('As defined:'), - 'NULL' => 'NULL', - 'CURRENT_TIMESTAMP' => 'CURRENT_TIMESTAMP', -); - -// for a TIMESTAMP, do not show the string "CURRENT_TIMESTAMP" as a default -// value -$defaultValue = ''; -if (isset($columnMeta['DefaultValue'])) { - $defaultValue = $columnMeta['DefaultValue']; -} -if ($type_upper == 'BIT') { - $defaultValue = PMA\libraries\Util::convertBitDefaultValue($columnMeta['DefaultValue']); -} elseif ($type_upper == 'BINARY' || $type_upper == 'VARBINARY') { - $defaultValue = bin2hex($columnMeta['DefaultValue']); -} -?> - - -
    - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_definitions_form.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_definitions_form.phtml deleted file mode 100644 index b1120fb3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_definitions_form.phtml +++ /dev/null @@ -1,170 +0,0 @@ - -
    - - - - - - - - - - - -
    - - - - - -
    :  - - - - - - -
    -
    - - - render(array( - 'is_backup' => $is_backup, - 'fields_meta' => $fields_meta, - 'mimework' => $mimework, - 'content_cells' => $content_cells - )); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -   - -   - - -   - - -
    - -   - -   - -   - -
    - -   - -
    - -
    -
    - -
    - - -
    -
    -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_extra.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_extra.phtml deleted file mode 100644 index d39268f5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_extra.phtml +++ /dev/null @@ -1,7 +0,0 @@ - - checked="checked" - - type="checkbox" - value="auto_increment" /> \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_indexes.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_indexes.phtml deleted file mode 100644 index 94cf03aa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_indexes.phtml +++ /dev/null @@ -1,30 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_length.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_length.phtml deleted file mode 100644 index dafd5d7b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_length.phtml +++ /dev/null @@ -1,11 +0,0 @@ - -

    - - - -

    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_name.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_name.phtml deleted file mode 100644 index 9659679f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_name.phtml +++ /dev/null @@ -1,46 +0,0 @@ - - - disabled="disabled" - - type="text" - name="field_name[]" - maxlength="64" - class="textfield" - title="" - size="10" - value="" /> - - -

    - - - -

    - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_null.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_null.phtml deleted file mode 100644 index 72134ed3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_null.phtml +++ /dev/null @@ -1,8 +0,0 @@ - - checked="checked" - - type="checkbox" - value="NULL" - class="allow_null"/> \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_type.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_type.phtml deleted file mode 100644 index ae2527ea..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_type.phtml +++ /dev/null @@ -1,8 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_virtuality.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_virtuality.phtml deleted file mode 100644 index 2255257a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/column_virtuality.phtml +++ /dev/null @@ -1,48 +0,0 @@ - '', - 'VIRTUAL' => 'VIRTUAL', -); -$serverType = PMA\libraries\Util::getServerType(); -if ($serverType == 'MariaDB') { - $options['PERSISTENT'] = 'PERSISTENT'; -} else { - $options['STORED'] = 'STORED'; -} - -$expression = ''; -if (isset($columnMeta['Expression'])) { - $expression = $columnMeta['Expression']; -} -?> - - -
    - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/mime_type.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/mime_type.phtml deleted file mode 100644 index d0a6e9f8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/mime_type.phtml +++ /dev/null @@ -1,17 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/move_column.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/move_column.phtml deleted file mode 100644 index a4e07676..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/move_column.phtml +++ /dev/null @@ -1,15 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/partitions.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/partitions.phtml deleted file mode 100644 index 36629f98..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/partitions.phtml +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - -
    - - ( - - )
    - -
    - - ( - - )
    - -
    - - 1): ?> - - - - - - - 1): ?> - - - - - - - - - - - - - - - - - - - - - - - - - 1): ?> - - - - - - - - - - - - - -
    - - - - -
    - - - - - - - - - - - - - - - - - - -
    - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/table_fields_definitions.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/table_fields_definitions.phtml deleted file mode 100644 index a300040f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/table_fields_definitions.phtml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - render($content_row); ?> - - -
    - - -
    - - - - - If you ever need to put' - . ' a backslash ("\") or a single quote ("\'") amongst those' - . ' values, precede it with a backslash (for example \'\\\\xyz\'' - . ' or \'a\\\'b\').' - ) - ); ?> - - - - - - - - - - - - - - A_I - - - - - - - - - - - - - - - If you ever need to put' - . ' a backslash ("\") or a single quote ("\'") amongst those' - . ' values, precede it with a backslash (for example \'\\\\xyz\'' - . ' or \'a\\\'b\').' - ) - ); ?> - - - - - - - If you ever need to put' - . ' a backslash ("\") or a single quote ("\'") amongst those' - . ' values, precede it with a backslash (for example \'\\\\xyz\'' - . ' or \'a\\\'b\').' - ) - ); ?> -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/transformation.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/transformation.phtml deleted file mode 100644 index 99bab340..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/transformation.phtml +++ /dev/null @@ -1,27 +0,0 @@ - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/transformation_option.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/transformation_option.phtml deleted file mode 100644 index bb19e3f0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/columns_definitions/transformation_option.phtml +++ /dev/null @@ -1,9 +0,0 @@ - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/components/error_message.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/components/error_message.phtml deleted file mode 100644 index 2a67ea5a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/components/error_message.phtml +++ /dev/null @@ -1,4 +0,0 @@ -
    - - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/bookmark_content.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/bookmark_content.phtml deleted file mode 100644 index 247f03fe..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/bookmark_content.phtml +++ /dev/null @@ -1,31 +0,0 @@ -
    - -
    - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/display.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/display.phtml deleted file mode 100644 index 1584735e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/display.phtml +++ /dev/null @@ -1,227 +0,0 @@ -
    -
    - - render( - array( - 'parentDivClasses' => 'collapsed', - 'contentArray' => [ - ['switch_button console_switch', __('Console'),'image'=> $image], - ['button clear', __('Clear')], - ['button history', __('History')], - ['button options', __('Options')], - isset($cfgBookmark) - ? ['button bookmarks', __('Bookmarks')] : null, - ['button debug hide', __('Debug SQL')], - ], - ) - ); - ?> - - -
    -
    -
    - - - - - - -
    - - - -
    -
    - -
    -
    - -
    - -
    - render( - array( - 'parentDivClasses' => '', - 'contentArray' => [ - ['button order order_asc', __('ascending')], - ['button order order_desc', __('descending')], - ['text', __('Order:')], - ['switch_button', __('Debug SQL')], - ['button order_by sort_count', __('Count')], - ['button order_by sort_exec', __('Execution order')], - ['button order_by sort_time', __('Time taken')], - ['text', __('Order by:')], - ['button group_queries', __('Group queries')], - ['button ungroup_queries', __('Ungroup queries')], - ] - ) - ); - ?> -
    -
    -
    -
    -
    - render( - array( - 'parentDivClasses' => 'debug_query action_content', - 'contentArray' => [ - ['action collapse', __('Collapse')], - ['action expand', __('Expand')], - ['action dbg_show_trace', __('Show trace')], - ['action dbg_hide_trace', __('Hide trace')], - ['text count hide', __('Count'), 'extraSpan' => ''], - ['text time', __('Time taken'), 'extraSpan' => ''], - ] - ) - ); - ?> -
    -
    - -
    - render( - array( - 'parentDivClasses' => '', - 'contentArray' => [ - ['switch_button', __('Bookmarks')], - ['button refresh', __('Refresh')], - ['button add', __('Add')], - ] - ) - ); - ?> -
    - -
    -
    -
    - render( - array( - 'parentDivClasses' => '', - 'contentArray' => [ - ['switch_button', __('Add bookmark')] - ] - ) - ); - ?> -
    -
    - - - - -
    -
    - -
    -
    -
    -
    - - -
    - render( - array( - 'parentDivClasses' => '', - 'contentArray' => [ - ['switch_button', __('Options')], - ['button default', __('Set default')] - ] - ) - ); - ?> -
    - -
    - -
    - -
    - -
    - -
    -
    -
    -
    - - render( - array( - 'parentDivClasses' => 'query_actions', - 'contentArray' => [ - ['action collapse', __('Collapse')], - ['action expand', __('Expand')], - ['action requery', __('Requery')], - ['action edit', __('Edit')], - ['action explain', __('Explain')], - ['action profiling', __('Profiling')], - isset($cfgBookmark) - ? ['action bookmark', __('Bookmark')] : null, - ['text failed', __('Query failed')], - ['text targetdb', __('Database'), 'extraSpan' => ''], - ['text query_time', __('Queried time'), 'extraSpan' => ''], - ], - ) - ); - ?> -
    -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/query_action.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/query_action.phtml deleted file mode 100644 index a63e7b1f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/query_action.phtml +++ /dev/null @@ -1,12 +0,0 @@ -
    - - - - - : - - - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/toolbar.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/toolbar.phtml deleted file mode 100644 index 08478570..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/console/toolbar.phtml +++ /dev/null @@ -1,10 +0,0 @@ -
    - -
    - - -
    - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/create_table.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/create_table.phtml deleted file mode 100644 index c6876dd0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/create_table.phtml +++ /dev/null @@ -1,23 +0,0 @@ -
    -
    - - -   - - - - -
    - : - -
    -
    - : - -
    -
    -
    -
    - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/aggregate_query_panel.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/aggregate_query_panel.phtml deleted file mode 100644 index ec00ee91..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/aggregate_query_panel.phtml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/canvas.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/canvas.phtml deleted file mode 100644 index 5110ccc0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/canvas.phtml +++ /dev/null @@ -1,3 +0,0 @@ -
    - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/database_tables.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/database_tables.phtml deleted file mode 100644 index 2ac2762b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/database_tables.phtml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - px; top:px; display:; z-index: 1;"> - - - - - - - - - - - - - - "> - - ." - - onmouseover="old_class = this.className; this.className = 'tab_field_2';" - onmouseout="this.className = old_class;" - click_field_param=""> - - - - - - - - - - -
    - - - " - onmouseover="this.className='small_tab_pref2 small_tab_pref_1';" - onmouseout="this.className='small_tab_pref small_tab_pref_1';" > - - - - - - - -
    - " - type="checkbox" - id="select_._" - style="margin: 0;" - title="select_" - store_column_param=",,"> - "> -
    - - * - - * - - -
    -
    - -
    - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/delete_relation_panel.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/delete_relation_panel.phtml deleted file mode 100644 index 970baea3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/delete_relation_panel.phtml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/edit_delete_pages.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/edit_delete_pages.phtml deleted file mode 100644 index 25b5502a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/edit_delete_pages.phtml +++ /dev/null @@ -1,11 +0,0 @@ - -
    - -
    - - - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/having_query_panel.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/having_query_panel.phtml deleted file mode 100644 index 2b268e8a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/having_query_panel.phtml +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/js_fields.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/js_fields.phtml deleted file mode 100644 index a8c069f9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/js_fields.phtml +++ /dev/null @@ -1,9 +0,0 @@ - - -
    -
    -
    -
    -
    -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/new_relation_panel.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/new_relation_panel.phtml deleted file mode 100644 index 60df3196..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/new_relation_panel.phtml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/options_panel.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/options_panel.phtml deleted file mode 100644 index aa6b8314..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/options_panel.phtml +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/page_save_as.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/page_save_as.phtml deleted file mode 100644 index fe1605ef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/page_save_as.phtml +++ /dev/null @@ -1,33 +0,0 @@ - __('Save to selected page'), - 'new' => __('Create a page and save to it') -); -?> -
    - -
    - - - - - - - - - - - - -
    - - -
    - -
    - - -
    -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/page_selector.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/page_selector.phtml deleted file mode 100644 index 67863d2d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/page_selector.phtml +++ /dev/null @@ -1,10 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/query_details.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/query_details.phtml deleted file mode 100644 index 243f983a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/query_details.phtml +++ /dev/null @@ -1,19 +0,0 @@ -
    -
    -
    -
    -
    -
    -
    -
    - - - -
    -
    - - - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/rename_to_panel.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/rename_to_panel.phtml deleted file mode 100644 index 42f4dba0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/rename_to_panel.phtml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/schema_export.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/schema_export.phtml deleted file mode 100644 index 4aea33be..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/schema_export.phtml +++ /dev/null @@ -1,11 +0,0 @@ -
    -
    - -
    - - - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/side_menu.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/side_menu.phtml deleted file mode 100644 index 9615bcc5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/side_menu.phtml +++ /dev/null @@ -1,189 +0,0 @@ -getImgPath($path); -} -?> - -
    - - - - - - -
    - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/table_list.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/table_list.phtml deleted file mode 100644 index 4deafb20..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/table_list.phtml +++ /dev/null @@ -1,69 +0,0 @@ - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/where_query_panel.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/where_query_panel.phtml deleted file mode 100644 index e588f411..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/designer/where_query_panel.phtml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/body_for_table_summary.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/body_for_table_summary.phtml deleted file mode 100644 index ea53f2a1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/body_for_table_summary.phtml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - true, - 'db' => $GLOBALS['db'], - 'real_row_count' => 'true', - 'real_row_count_all' => 'true' - ); -} -$cell_text = ($approx_rows) - ? '' . '~' . $row_count_sum . '' - : $row_count_sum; -?> - - 1)): ?> - fetchValue( - "SELECT @@storage_engine;" - ); - if (empty($default_engine)) { - // MySQL >= 5.5.3 - $default_engine = $GLOBALS['dbi']->fetchValue( - "SELECT @@default_storage_engine;" - ); - } - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/browse_table.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/browse_table.phtml deleted file mode 100644 index afdfd1a3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/browse_table.phtml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/browse_table_label.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/browse_table_label.phtml deleted file mode 100644 index 53b1b286..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/browse_table_label.phtml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/check_all_tables.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/check_all_tables.phtml deleted file mode 100644 index fea011f8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/check_all_tables.phtml +++ /dev/null @@ -1,42 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/empty_table.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/empty_table.phtml deleted file mode 100644 index 00a58c6b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/empty_table.phtml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/favorite_anchor.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/favorite_anchor.phtml deleted file mode 100644 index 36ed935c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/favorite_anchor.phtml +++ /dev/null @@ -1,15 +0,0 @@ - $db, - 'ajax_request' => true, - 'favorite_table' => $current_table['TABLE_NAME'], - (($already_favorite ? 'remove' : 'add') . '_favorite') => true -); -?> -" - data-favtargets="" > - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/print_view_data_dictionary_link.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/print_view_data_dictionary_link.phtml deleted file mode 100644 index d1830b1e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/print_view_data_dictionary_link.phtml +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/search_table.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/search_table.phtml deleted file mode 100644 index 043f92ba..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/search_table.phtml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/show_create.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/show_create.phtml deleted file mode 100644 index 670220d3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/show_create.phtml +++ /dev/null @@ -1,35 +0,0 @@ -
    -

    - getTable($db, $object)->isView()) { - $views [] = $object; - } else { - $tables [] = $object; - } - } - ?> - - render( - array( - 'db' => $db, - 'title' => __('Tables'), - 'raw_title' => 'Table', - 'db_objects' => $tables - ) - ) ?> - - - - render( - array( - 'db' => $db, - 'title' => __('Views'), - 'raw_title' => 'View', - 'db_objects' => $views - ) - ) ?> - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/show_create_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/show_create_row.phtml deleted file mode 100644 index 62db1ac5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/show_create_row.phtml +++ /dev/null @@ -1,19 +0,0 @@ -
    - - - - - - - - - - - - - - - - -
    Create
    getTable($db, $object)->showCreate()); ?>
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/sortable_header.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/sortable_header.phtml deleted file mode 100644 index b9bfb3e9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/sortable_header.phtml +++ /dev/null @@ -1,70 +0,0 @@ - 'sort_arrow', 'title' => '') - ); - $order_img .= ' ' . PMA\libraries\Util::getImage( - 's_desc.png', - __('Descending'), - array('class' => 'sort_arrow hide', 'title' => '') - ); - // but on mouse over, show the reverse order (DESC) - $order_link_params['onmouseover'] = "$('.sort_arrow').toggle();"; - // on mouse out, show current sort order (ASC) - $order_link_params['onmouseout'] = "$('.sort_arrow').toggle();"; - } else { - $future_sort_order = 'ASC'; - // current sort order is DESC - $order_img = ' ' . PMA\libraries\Util::getImage( - 's_asc.png', - __('Ascending'), - array('class' => 'sort_arrow hide', 'title' => '') - ); - $order_img .= ' ' . PMA\libraries\Util::getImage( - 's_desc.png', - __('Descending'), - array('class' => 'sort_arrow', 'title' => '') - ); - // but on mouse over, show the reverse order (ASC) - $order_link_params['onmouseover'] = "$('.sort_arrow').toggle();"; - // on mouse out, show current sort order (DESC) - $order_link_params['onmouseout'] = "$('.sort_arrow').toggle();"; - } -} -$_url_params = array( - 'db' => $_REQUEST['db'], - 'pos' => 0, // We set the position back to 0 every time they sort. - 'sort' => $sort, - 'sort_order' => $future_sort_order, -); - -if (PMA_isValid($_REQUEST['tbl_type'], array('view', 'table'))) { - $_url_params['tbl_type'] = $_REQUEST['tbl_type']; -} -if (! empty($_REQUEST['tbl_group'])) { - $_url_params['tbl_group'] = $_REQUEST['tbl_group']; -} - -$url = 'db_structure.php' . PMA\libraries\URL::getCommon($_url_params); - -echo PMA\libraries\Util::linkOrButton( - $url, $title . $order_img, $order_link_params -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/structure_table_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/structure_table_row.phtml deleted file mode 100644 index d8af414b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/structure_table_row.phtml +++ /dev/null @@ -1,198 +0,0 @@ - - id="row_tbl_"> - - - - - - - - - - - - - - - 0): ?> - - render( - array( - 'db' => $db, - 'current_table' => $current_table, - 'titles' => $titles, - 'already_favorite' => $already_favorite - ) - ); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~ - - - - - - - - - 1)): ?> - - - - - - - - 0): ?> - - - - - - - - - - - - - - - - - - - 1)): ?> - - - - - - - - - - - $GLOBALS['cfg']['LimitChars']): ?> - - - ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/table_header.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/table_header.phtml deleted file mode 100644 index 39237355..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/table_header.phtml +++ /dev/null @@ -1,136 +0,0 @@ - 0) { - $action_colspan++; -} -?> -
    - - - - - - - - - - - - - 1)): ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/tracking_icon.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/tracking_icon.phtml deleted file mode 100644 index fea22c47..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/database/structure/tracking_icon.phtml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/div_for_slider_effect.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/div_for_slider_effect.phtml deleted file mode 100644 index a806aac0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/div_for_slider_effect.phtml +++ /dev/null @@ -1,15 +0,0 @@ - -
    > - - with PHP itself instead of JavaScript. - * - * @todo find a better solution that uses $.append(), the recommended - * method maybe by using an additional param, the id of the div to - * append to - */ ?> -
    - class="pma_auto_slider" - > - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/error/report_form.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/error/report_form.phtml deleted file mode 100644 index aaf1eca6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/error/report_form.phtml +++ /dev/null @@ -1,34 +0,0 @@ - -
    - -

    - -

    - -
    -
    - - -
    -
    - - - - -
    - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/filter.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/filter.phtml deleted file mode 100644 index 682ff6f0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/filter.phtml +++ /dev/null @@ -1,8 +0,0 @@ -
    - -
    - - -
    -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/header_location.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/header_location.phtml deleted file mode 100644 index f149f0f7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/header_location.phtml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/javascript/display.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/javascript/display.phtml deleted file mode 100644 index d037e42b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/javascript/display.phtml +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/list/item.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/list/item.phtml deleted file mode 100644 index c3efdde8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/list/item.phtml +++ /dev/null @@ -1,45 +0,0 @@ - -
  • - > - - - - - - - - > - - - - - - - - -
  • diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/list/unordered.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/list/unordered.phtml deleted file mode 100644 index c65a549a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/list/unordered.phtml +++ /dev/null @@ -1,27 +0,0 @@ - - - > - - - - - $item) ?> - - render($item) - ?> - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/navigation/logo.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/navigation/logo.phtml deleted file mode 100644 index 5beda2be..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/navigation/logo.phtml +++ /dev/null @@ -1,44 +0,0 @@ -'; - if (@file_exists($GLOBALS['pmaThemeImage'] . 'logo_left.png')) { - $logo = sprintf($imgTag, $GLOBALS['pmaThemeImage'], 'logo_left.png'); - } elseif (@file_exists($GLOBALS['pmaThemeImage'] . 'pma_logo2.png')) { - $logo = sprintf($imgTag, $GLOBALS['pmaThemeImage'], 'pma_logo2.png'); - } - } -} -?> - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/prefs_autoload.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/prefs_autoload.phtml deleted file mode 100644 index a74c7840..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/prefs_autoload.phtml +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/preview_sql.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/preview_sql.phtml deleted file mode 100644 index 263957d1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/preview_sql.phtml +++ /dev/null @@ -1,11 +0,0 @@ -
    - - - - - - - - - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_database.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_database.phtml deleted file mode 100644 index 9e035314..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_database.phtml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_routine.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_routine.phtml deleted file mode 100644 index e8e6abe8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_routine.phtml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_table.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_table.phtml deleted file mode 100644 index e515215f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_privileges_table.phtml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_user_fieldset.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_user_fieldset.phtml deleted file mode 100644 index 55296c2e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/add_user_fieldset.phtml +++ /dev/null @@ -1,8 +0,0 @@ -
    - - - rel="" - > - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/choose_user_group.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/choose_user_group.phtml deleted file mode 100644 index 380e6a6d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/choose_user_group.phtml +++ /dev/null @@ -1,9 +0,0 @@ -
    - -
    - - : - - -
    - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/column_privileges.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/column_privileges.phtml deleted file mode 100644 index 515d1264..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/column_privileges.phtml +++ /dev/null @@ -1,24 +0,0 @@ -
    - -
    - - - - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/delete_user_fieldset.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/delete_user_fieldset.phtml deleted file mode 100644 index 7951cbe4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/delete_user_fieldset.phtml +++ /dev/null @@ -1,17 +0,0 @@ -
    - - - - - ( ) -
    - - -
    - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/edit_routine_privileges.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/edit_routine_privileges.phtml deleted file mode 100644 index 07b3ea43..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/edit_routine_privileges.phtml +++ /dev/null @@ -1,26 +0,0 @@ -
    - - - - - - - - -
    - - - -

    - - - -

    - -
    - - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/global_priv_table.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/global_priv_table.phtml deleted file mode 100644 index 223e087a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/global_priv_table.phtml +++ /dev/null @@ -1,23 +0,0 @@ - $table) : ?> -
    - - - - - - - - render( - array( - 'checked' => $checked, - 'formatted_priv' => $formatted_priv, - 'priv' => $priv - ) - ); - ?> - -
    - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/global_priv_tbl_item.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/global_priv_tbl_item.phtml deleted file mode 100644 index 0eeb3fb3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/global_priv_tbl_item.phtml +++ /dev/null @@ -1,9 +0,0 @@ -
    - /> - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/initials_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/initials_row.phtml deleted file mode 100644 index 500375cd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/initials_row.phtml +++ /dev/null @@ -1,28 +0,0 @@ -
    render( - array( - 'title' => __('Table'), - 'sort' => 'table', - 'initial_sort_order' => 'ASC' - ) - ); ?> - - - render( - array( - 'title' => __('Rows'), - 'sort' => 'records', - 'initial_sort_order' => 'DESC' - ) - ); ?> - - render( - array( - 'title' => __('Type'), - 'sort' => 'type', - 'initial_sort_order' => 'ASC' - ) - ); $cnt++; ?>render( - array( - 'title' => __('Collation'), - 'sort' => 'collation', - 'initial_sort_order' => 'ASC' - ) - ); $cnt++; ?>render( - array( - 'title' => __('Size'), - 'sort' => 'size', - 'initial_sort_order' => 'DESC' - ) - ); $cnt++; ?>render( - array( - 'title' => __('Overhead'), - 'sort' => 'overhead', - 'initial_sort_order' => 'DESC' - ) - ); $cnt++; ?>render( - array( - 'title' => __('Charset'), - 'sort' => 'charset', - 'initial_sort_order' => 'ASC' - ) - ); $cnt++; ?>render( - array( - 'title' => __('Comment'), - 'sort' => 'comment', - 'initial_sort_order' => 'ASC' - ) - ); $cnt++; ?>render( - array( - 'title' => __('Creation'), - 'sort' => 'creation', - 'initial_sort_order' => 'DESC' - ) - ); $cnt++; ?>render( - array( - 'title' => __('Last update'), - 'sort' => 'last_update', - 'initial_sort_order' => 'DESC' - ) - ); $cnt++; ?>render( - array( - 'title' => __('Last check'), - 'sort' => 'last_check', - 'initial_sort_order' => 'DESC' - ) - ); $cnt++; ?>
    - - $initial_was_found) : ?> - - - - - - - - - - - - - -
    - - $tmp_initial)); ?> - - - - - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/privileges_summary.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/privileges_summary.phtml deleted file mode 100644 index d104ba7c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/privileges_summary.phtml +++ /dev/null @@ -1,65 +0,0 @@ - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/privileges_summary_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/privileges_summary_row.phtml deleted file mode 100644 index 0a81d4c3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/privileges_summary_row.phtml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/require_options.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/require_options.phtml deleted file mode 100644 index 62617862..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/require_options.phtml +++ /dev/null @@ -1,16 +0,0 @@ -
    - SSL -
    - - -
    - - render( - array('require_option' => $require_option) - ); - ?> - -
    -
    -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/require_options_item.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/require_options_item.phtml deleted file mode 100644 index 867fea91..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/require_options_item.phtml +++ /dev/null @@ -1,23 +0,0 @@ -
    - - - /> - - - - - disabled - - /> - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/resource_limit_item.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/resource_limit_item.phtml deleted file mode 100644 index 2d8b41b9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/resource_limit_item.phtml +++ /dev/null @@ -1,11 +0,0 @@ -
    - - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/resource_limits.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/resource_limits.phtml deleted file mode 100644 index 648a54cf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/privileges/resource_limits.phtml +++ /dev/null @@ -1,16 +0,0 @@ -
    - -

    - - - -

    - - render( - array('limit' => $limit) - ); - ?> - -
    - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/secondary_tabs.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/secondary_tabs.phtml deleted file mode 100644 index 40c51343..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/secondary_tabs.phtml +++ /dev/null @@ -1,6 +0,0 @@ -
      - - - -
    -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/select_all.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/select_all.phtml deleted file mode 100644 index 068a5b36..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/select_all.phtml +++ /dev/null @@ -1,7 +0,0 @@ -<?= __('With selected:') ; ?> - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/select_lang.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/select_lang.phtml deleted file mode 100644 index 2143d843..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/select_lang.phtml +++ /dev/null @@ -1,32 +0,0 @@ -
    - - - -
    - - - - - - - - - - -
    - - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/binlog/log_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/binlog/log_row.phtml deleted file mode 100644 index 6f48ab01..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/binlog/log_row.phtml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/binlog/log_selector.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/binlog/log_selector.phtml deleted file mode 100644 index 2451417a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/binlog/log_selector.phtml +++ /dev/null @@ -1,27 +0,0 @@ -
    - -
    - - - - - - - 0): ?> - - -
    -
    - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/collations/charsets.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/collations/charsets.phtml deleted file mode 100644 index 57ad1863..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/collations/charsets.phtml +++ /dev/null @@ -1,24 +0,0 @@ -
    - - - - - - - - - - - - - - - - -
    - - - () - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/create.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/create.phtml deleted file mode 100644 index 01662c28..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/create.phtml +++ /dev/null @@ -1,36 +0,0 @@ -
      -
    • - -
      - -   - -
      - - - - - - - - - - -
      - - - -   - -
      - - - 2, 'border' => 0, 'align' => 'middle')) , ' ' , __('No Privileges'); ?> - - -
    • -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_footer.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_footer.phtml deleted file mode 100644 index fdaccc9d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_footer.phtml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - : - - $stat): - if (! array_key_exists($stat_name, $first_database)) { - continue; - } - if ($stat['format'] === 'byte') { - list($value, $unit) = \PMA\libraries\Util::formatByteDown($stat['footer'], 3, 1); - } elseif ($stat['format'] === 'number') { - $value = \PMA\libraries\Util::formatNumber($stat['footer'], 0); - } else { - $value = htmlentities($stat['footer'], 0); - } ?> - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_header.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_header.phtml deleted file mode 100644 index 598e4582..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_header.phtml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - $stat): - if (! array_key_exists($stat_name, $first_database)) { - continue; - } - $_url_params['sort_by'] = $stat_name; - $_url_params['sort_order'] = ($sort_by == $stat_name && $sort_order == 'desc') ? 'asc' : 'desc'; ?> - - colspan="2"> - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_row.phtml deleted file mode 100644 index 4f4e4a4d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/databases/table_row.phtml +++ /dev/null @@ -1,65 +0,0 @@ -> - - - isSystemSchema($current['SCHEMA_NAME'], true)): ?> - disabled="disabled"; - - /> - - - - - - - - $stat): - if (! array_key_exists($stat_name, $current)) { - continue; - } - - if ($stat['format'] === 'byte') { - list($value, $unit) = \PMA\libraries\Util::formatByteDown($current[$stat_name], 3, 1); - } elseif ($stat['format'] === 'number') { - $value = \PMA\libraries\Util::formatNumber($current[$stat_name], 0); - } else { - $value = htmlentities($current[$stat_name], 0); - } ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "> - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/engines/engine.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/engines/engine.phtml deleted file mode 100644 index c06be8af..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/engines/engine.phtml +++ /dev/null @@ -1,42 +0,0 @@ -

    - -

    -

    - - - -

    - -

    - [ - - - - - - - - $label): ?> - | - - - - - - - - - ] -

    - - - - - -

    - -

    - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/engines/engines.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/engines/engines.phtml deleted file mode 100644 index 5b579794..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/engines/engines.phtml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - $details): ?> - - - - - - -
    - - - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/plugins/section.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/plugins/section.phtml deleted file mode 100644 index 019e1f1d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/plugins/section.phtml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/plugins/section_links.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/plugins/section_links.phtml deleted file mode 100644 index 4c3d3768..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/plugins/section_links.phtml +++ /dev/null @@ -1,8 +0,0 @@ - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/link_template.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/link_template.phtml deleted file mode 100644 index b2e68aab..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/link_template.phtml +++ /dev/null @@ -1,11 +0,0 @@ - - - 'display:none', 'id' => 'docImage') -) ?> \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/session_variable_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/session_variable_row.phtml deleted file mode 100644 index b98afa85..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/session_variable_row.phtml +++ /dev/null @@ -1,5 +0,0 @@ - - - ( ) -   - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/variable_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/variable_row.phtml deleted file mode 100644 index edbb7dc0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/variable_row.phtml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - ' - ?> - - - - - - - -   - -   - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/variable_table_head.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/variable_table_head.phtml deleted file mode 100644 index a1ac15ba..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/server/variables/variable_table_head.phtml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - / - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/startAndNumberOfRowsPanel.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/startAndNumberOfRowsPanel.phtml deleted file mode 100644 index d50474db..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/startAndNumberOfRowsPanel.phtml +++ /dev/null @@ -1,20 +0,0 @@ -
    -
    - - 0) : ?> - max="" - - value="" /> - - - - - - -
    -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/chart/tbl_chart.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/chart/tbl_chart.phtml deleted file mode 100644 index 786e1a84..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/chart/tbl_chart.phtml +++ /dev/null @@ -1,161 +0,0 @@ - - -
    -
    - -
    - - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    - - - -

    - -

    - - -
    - -
    - - -
    - - - - -
    -
    - - -
    - - -
    -
    -

     

    -
    - - -
    - - - - -
    - -

     

    -
    -
    - - - -
    -
    -
    -
    -
    -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/gis_visualization/gis_visualization.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/gis_visualization/gis_visualization.phtml deleted file mode 100644 index e2b92ae3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/gis_visualization/gis_visualization.phtml +++ /dev/null @@ -1,80 +0,0 @@ -
    -
    - -
    -
    - - - - - - - - - - checked="checked" - /> - - - - -
    - -
    -
    - - - - -
    -
    -
    - -
     
    - -
    - -
    -
    - - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/index_form.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/index_form.phtml deleted file mode 100644 index 331c6010..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/index_form.phtml +++ /dev/null @@ -1,243 +0,0 @@ -
    - - - -
    -
    -
    -
    - - - -
    - - -
    - -
    -
    - - - -
    - - generateIndexChoiceSelector(isset($_REQUEST['create_edit_table'])); ?> -
    - - - -
    - -
    - - - -
    - - -
    - -
    - -
    - - - -
    - - generateIndexTypeSelector(); ?> -
    - -
    -
    - - - -
    - - -
    - -
    -
    - - - -
    - - -
    -
    - - -
    - - - - - - - - - - - - - getColumns() as $column): ?> - - - - - - - - - - - - - - - - - -
    - - - -
    - - - - - -
    - - - - - -
    -
    - -
    -
    - -
    -
    -
    -
    - - -
    - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/common_form.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/common_form.phtml deleted file mode 100644 index 4a7164b8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/common_form.phtml +++ /dev/null @@ -1,134 +0,0 @@ -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - $one_key): ?> - render( - array( - 'one_key' => $one_key, - 'columns' => $columns, - 'i' => $i++, - 'options_array' => $options_array, - 'tbl_storage_engine' => $tbl_storage_engine, - 'db' => $db - ) - ); - ?> - - - render( - array( - 'one_key' => array(), - 'columns' => $columns, - 'i' => $i++, - 'options_array' => $options_array, - 'tbl_storage_engine' => $tbl_storage_engine, - 'db' => $db - ) - ); ?> - - -
    - - - () -
    - - - -
    -
    - - - - -
    - - - - -
    - - - - - - - render( - array( - 'save_row' => $save_row, - 'i' => $i, - 'existrel' => $existrel, - 'db' => $db - ) - ); - ?> - -
    - - - -
    -
    - -
    - - - - - - -
    - - -
    - - -
    - - -
    - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/dropdown_generate.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/dropdown_generate.phtml deleted file mode 100644 index d9536dec..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/dropdown_generate.phtml +++ /dev/null @@ -1,12 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/foreign_key_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/foreign_key_row.phtml deleted file mode 100644 index 0a1f4548..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/foreign_key_row.phtml +++ /dev/null @@ -1,208 +0,0 @@ -query( - 'SHOW TABLE STATUS FROM ' . Util::backquote($foreign_db), - null, - DatabaseInterface::QUERY_STORE - ); - while ($row = $GLOBALS['dbi']->fetchRow($tables_rs)) { - if (isset($row[1]) - && mb_strtoupper($row[1]) == $tbl_storage_engine - ) { - $tables[] = $row[0]; - } - } - if ($GLOBALS['cfg']['NaturalOrder']) { - uksort($tables, 'strnatcasecmp'); - } -} -?> - - - - - - - - - - - - - - -
    - - render( - array( - 'dropdown_question' => 'ON DELETE', - 'select_name' => 'on_delete[' . $i . ']', - 'choices' => $options_array, - 'selected_value' => $on_delete - ) - ); ?> - - - render( - array( - 'dropdown_question' => 'ON UPDATE', - 'select_name' => 'on_update[' . $i . ']', - 'choices' => $options_array, - 'selected_value' => $on_update - ) - ); ?> - -
    - - - - $column): ?> - - render( - array( - 'dropdown_question' => '', - 'select_name' => 'foreign_key_fields_name[' . $i . '][]', - 'choices' => $column_array, - 'selected_value' => $column - ) - ); ?> - - - - - render( - array( - 'dropdown_question' => '', - 'select_name' => 'foreign_key_fields_name[' . $i . '][]', - 'choices' => $column_array, - 'selected_value' => '' - ) - ); ?> - - - - - - - - - render( - array( - 'name' => 'destination_foreign_db[' . $i . ']', - 'title' => __('Database'), - 'values' => $GLOBALS['dblist']->databases, - 'foreign' => $foreign_db - ) - ); ?> - - - - render( - array( - 'name' => 'destination_foreign_table[' . $i . ']', - 'title' => __('Table'), - 'values' => $tables, - 'foreign' => $foreign_table - ) - ); ?> - - - - - - getUniqueColumns(false, false); - ?> - - render( - array( - 'name' => 'destination_foreign_column[' . $i . '][]', - 'title' => __('Column'), - 'values' => $columns, - 'foreign' => $foreign_column - ) - ); ?> - - - - - render( - array( - 'name' => 'destination_foreign_column[' . $i . '][]', - 'title' => __('Column'), - 'values' => array(), - 'foreign' => '' - ) - ); ?> - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/internal_relational_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/internal_relational_row.phtml deleted file mode 100644 index f95a34de..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/internal_relational_row.phtml +++ /dev/null @@ -1,72 +0,0 @@ -getTables($foreign_db); -} - -// column dropdown -$columns = array(); -if ($foreign_db && $foreign_table) { - if (isset($existrel[$myfield])) { - $foreign_column = $existrel[$myfield]['foreign_field']; - } - $table_obj = new Table($foreign_table, $foreign_db); - $columns = $table_obj->getUniqueColumns(false, false); -} -?> - - - - - - - - render( - array( - 'name' => 'destination_db[' . $myfield_md5 . ']', - 'title' => __('Database'), - 'values' => $GLOBALS['dblist']->databases, - 'foreign' => $foreign_db - ) - ); ?> - render( - array( - 'name' => 'destination_table[' . $myfield_md5 . ']', - 'title' => __('Table'), - 'values' => $tables, - 'foreign' => $foreign_table - ) - ); ?> - render( - array( - 'name' => 'destination_column[' . $myfield_md5 . ']', - 'title' => __('Column'), - 'values' => $columns, - 'foreign' => $foreign_column - ) - ); ?> - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/relational_dropdown.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/relational_dropdown.phtml deleted file mode 100644 index 9efa5503..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/relation/relational_dropdown.phtml +++ /dev/null @@ -1,18 +0,0 @@ - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/column_comparison_operators.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/column_comparison_operators.phtml deleted file mode 100644 index 176691ca..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/column_comparison_operators.phtml +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/fields_table.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/fields_table.phtml deleted file mode 100644 index d084aa25..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/fields_table.phtml +++ /dev/null @@ -1,26 +0,0 @@ - - id="tableFieldsId" - > - render(array( - 'geomColumnFlag' => $geomColumnFlag - )); ?> - - - render(array( - 'self' => $self, - 'columnNames' => $columnNames - )) ?> - - render(array( - 'self' => $self, - 'geomColumnFlag' => $geomColumnFlag, - 'columnNames' => $columnNames, - 'columnTypes' => $columnTypes, - 'columnCollations' => $columnCollations - )) ?> - - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/form_tag.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/form_tag.phtml deleted file mode 100644 index 2de0ab34..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/form_tag.phtml +++ /dev/null @@ -1,22 +0,0 @@ - -
    - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/geom_func.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/geom_func.phtml deleted file mode 100644 index 55642e77..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/geom_func.phtml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - -   - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/input_box.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/input_box.phtml deleted file mode 100644 index 7720a917..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/input_box.phtml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - value="" - /> - - - - - - - - - - - - - - - - - - - - dropdown - * Enum in search mode --> multiselect - * Set in edit mode --> multiselect - * Set in search mode --> input (skipped here, so the 'else' - * section would handle it) - */ - ?> - - - - - - - - - - - - - - - - - - - - - value="" - /> - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/options.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/options.phtml deleted file mode 100644 index 89908c0e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/options.phtml +++ /dev/null @@ -1,78 +0,0 @@ - - - -
    - - - - - - -
    - - -
    - - - - - - -
    - - -
    - - -
    - - -
    - - - - __('Ascending'), - 'DESC' => __('Descending') - ), - 'ASC', - false, - true, - "formelement" - ); ?> - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/options_zoom.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/options_zoom.phtml deleted file mode 100644 index d288db04..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/options_zoom.phtml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - -
    - - - -
    - - - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/replace_preview.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/replace_preview.phtml deleted file mode 100644 index ad54612b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/replace_preview.phtml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/rows_normal.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/rows_normal.phtml deleted file mode 100644 index 677ec6a4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/rows_normal.phtml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - render(array( - 'column_index' => $column_index, - 'columnTypes' => $columnTypes, - )); ?> - - - - - - getColumnProperties($column_index, $column_index); ?> - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/rows_zoom.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/rows_zoom.phtml deleted file mode 100644 index 4ab0ec59..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/rows_zoom.phtml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - getColumnProperties($i, $key); - $type[$i] = $properties['type']; - $collation[$i] = $properties['collation']; - $func[$i] = $properties['func']; - $value[$i] = $properties['value']; - } ?> - - - - - - - - - - - - - - - - - - value="" - /> - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/search_and_replace.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/search_and_replace.phtml deleted file mode 100644 index 0fc68ca1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/search_and_replace.phtml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - -
    -render( - array( - 'html_field_name' => 'useRegex', - 'label' => __('Use regular expression'), - 'checked' => false, - 'onclick' => false, - 'html_field_id' => 'useRegex', - ) -); ?> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/selection_form.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/selection_form.phtml deleted file mode 100644 index bb53545a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/selection_form.phtml +++ /dev/null @@ -1,81 +0,0 @@ -render(array( - 'searchType' => $searchType, - 'db' => $db, - 'table' => $table, - 'goto' => $goto - )) ?> - - - - - -
    -
    - - - - render(array( - 'columnNames' => $columnNames, - 'columnTypes' => $columnTypes - )); ?> -
    -
    - - - -
    - - id="inputFormSubmitId" - - value="" /> -
    - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/table_header.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/table_header.phtml deleted file mode 100644 index 5841167f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/table_header.phtml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/zoom_result_form.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/zoom_result_form.phtml deleted file mode 100644 index e3b34f58..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/search/zoom_result_form.phtml +++ /dev/null @@ -1,97 +0,0 @@ -
    - - - - -
    - - - -
    - -
    -
    - - - -
    - -
    - -
    - -
    - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/secondary_tabs.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/secondary_tabs.phtml deleted file mode 100644 index 35a418b2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/secondary_tabs.phtml +++ /dev/null @@ -1,19 +0,0 @@ - - -
      - 'b_props', - 'link' => 'tbl_structure.php', - 'text' => __('Table structure'), - 'id' => 'table_strucuture_id' - ), $url_params); ?> - 'b_relations', - 'link' => 'tbl_relation.php', - 'text' => __('Relation view'), - 'id' => 'table_relation_id' - ), $url_params); ?> -
    -
    - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/action_row_in_structure_table.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/action_row_in_structure_table.phtml deleted file mode 100644 index d5dc69bf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/action_row_in_structure_table.phtml +++ /dev/null @@ -1,28 +0,0 @@ -
  • - - - - - add_index_anchor" - - add_unique_anchor" - - add_spatial_anchor" - - " - href="tbl_structure.php&add_key=1&sql_query=&message_to_show=" > - - - -
  • \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/actions_in_table_structure.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/actions_in_table_structure.phtml deleted file mode 100644 index e6ea36e8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/actions_in_table_structure.phtml +++ /dev/null @@ -1,141 +0,0 @@ -
      - - - - render( - array( - 'type' => $type, - 'tbl_storage_engine' => $tbl_storage_engine, - 'class' => 'primary nowrap', - 'hasField' => ($primary && $primary->hasColumn($field_name)), - 'hasLinkClass' => true, - 'url_query' => $url_query, - 'primary' => $primary, - 'syntax' => 'ADD PRIMARY KEY', - 'message' => __('A primary key has been added on %s.'), - 'action' => 'Primary', - 'titles' => $titles, - 'row' => $row, - 'isPrimary' => true - ) - ) - ?> - - render( - array( - 'type' => $type, - 'tbl_storage_engine' => $tbl_storage_engine, - 'class' => 'add_unique unique nowrap', - 'hasField' => in_array($field_name, $columns_with_unique_index), - 'hasLinkClass' => false, - 'url_query' => $url_query, - 'primary' => $primary, - 'syntax' => 'ADD UNIQUE', - 'message' => __('An index has been added on %s.'), - 'action' => 'Unique', - 'titles' => $titles, - 'row' => $row, - 'isPrimary' => false - ) - ) - ?> - - render( - array( - 'type' => $type, - 'tbl_storage_engine' => $tbl_storage_engine, - 'class' => 'add_index nowrap', - 'hasField' => false, - 'hasLinkClass' => false, - 'url_query' => $url_query, - 'primary' => $primary, - 'syntax' => 'ADD INDEX', - 'message' => __('An index has been added on %s.'), - 'action' => 'Index', - 'titles' => $titles, - 'row' => $row, - 'isPrimary' => false - ) - ) - ?> - - - - render( - array( - 'type' => $type, - 'tbl_storage_engine' => $tbl_storage_engine, - 'class' => 'spatial nowrap', - 'hasField' => ! (in_array($type, $spatial_types) && ('MYISAM' == $tbl_storage_engine || PMA_MYSQL_INT_VERSION >= 50705)), - 'hasLinkClass' => false, - 'url_query' => $url_query, - 'primary' => $primary, - 'syntax' => 'ADD SPATIAL', - 'message' => __('An index has been added on %s.'), - 'action' => 'Spatial', - 'titles' => $titles, - 'row' => $row, - 'isPrimary' => false - ) - ) - ?> - -
    • - = 50604)) - && (mb_strpos($type, 'text') !== false - || mb_strpos($type, 'char') !== false) - ): ?> - - - - - - -
    • - -
    • - - - -
    • - -
    • - - - - - - - -
    • - -
    \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/add_column.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/add_column.phtml deleted file mode 100644 index 8ac7ed1c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/add_column.phtml +++ /dev/null @@ -1,26 +0,0 @@ -
    - - -   - - '; ?> - -   - - - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/check_all_table_column.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/check_all_table_column.phtml deleted file mode 100644 index d71fd972..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/check_all_table_column.phtml +++ /dev/null @@ -1,63 +0,0 @@ - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_partitions.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_partitions.phtml deleted file mode 100644 index caa2033f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_partitions.phtml +++ /dev/null @@ -1,141 +0,0 @@ - -
    -
    - - - - getDisplay(); ?> - -

    - - -

    - -

    - - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $icon): ?> - - - - - getSubPartitions() as $subParition): ?> - - - - - - - - - - - - - - - - - - -
    # - -
    getOrdinal(); ?>getOrdinal(); ?>getName()); ?> - - getExpression()) - , ($partition->getMethod() == 'LIST' ? ' IN (' : ' < ') - , htmlspecialchars($partition->getDescription()) - , ($partition->getMethod() == 'LIST' ? ')' : ''); - ?> - - getRows(); ?>getDataLength(), 3, 1 - ); - ?> - - - getIndexLength(), 3, 1 - ); - ?> - - - getComment()); ?> - getName() - ) ?>" - id="partition_action_" - name="partition_action_" - class="ajax" - > - - -
    getOrdinal(); ?>getName()); ?>getRows(); ?>getDataLength(), 3, 1 - ); - ?> - - - getIndexLength(), 3, 1 - ); - ?> - - - getComment()); ?>
    - -

    - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_structure.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_structure.phtml deleted file mode 100644 index 2fc9da51..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_structure.phtml +++ /dev/null @@ -1,227 +0,0 @@ - -
    - - - "information_schema" /> - - "view" /> - - "table" /> - - - - render( - array( - 'db_is_system_schema' => $db_is_system_schema, - 'tbl_is_view' => $tbl_is_view - ) - ); ?> - - - - NULL'; - } - } else { - $row['Default'] = htmlspecialchars($row['Default']); - } - - $field_name = htmlspecialchars($row['Field']); - $displayed_field_name = $field_name; - $comments = ''; //For column comments - // underline commented fields and display a hover-title (CSS only) - - if (isset($comments_map[$row['Field']])) { - $displayed_field_name = '' - . $field_name . ''; - $comments = htmlspecialchars($comments_map[$row['Field']]); - } - - if ($primary && $primary->hasColumn($field_name)) { - $displayed_field_name .= Util::getImage( - 'b_primary.png', __('Primary') - ); - } - if (in_array($field_name, $columns_with_index)) { - $displayed_field_name .= Util::getImage( - 'b_key.png', __('Index') - ); - } - ?> - - render( - array( - 'row' => $row, - 'rownum' => $rownum, - 'displayed_field_name' => $displayed_field_name, - 'type_nowrap' => Util::getClassForType($extracted_columnspec['type']), - 'extracted_columnspec' => $extracted_columnspec, - 'attribute' => $attribute, - 'tbl_is_view' => $tbl_is_view, - 'db_is_system_schema' => $db_is_system_schema, - 'url_query' => $url_query, - 'field_encoded' => urlencode($row['Field']), - 'titles' => $titles, - 'table' => $table, - 'tbl_storage_engine' => $tbl_storage_engine, - 'field_charset' => $field_charset, - 'comments' => $comments - ) - ); ?> - - render( - array( - 'extracted_columnspec' => $extracted_columnspec, - 'type' => (!empty($extracted_columnspec['print_type'])) ? $extracted_columnspec['print_type'] : ' ', - 'tbl_storage_engine' => $tbl_storage_engine, - 'primary' => $primary, - 'field_name' => $field_name, - 'url_query' => $url_query, - 'titles' => $titles, - 'row' => $row, - 'rownum' => $rownum, - 'columns_with_unique_index' => $columns_with_unique_index, - 'isInCentralColumns' => in_array($row['Field'], $central_list) ? true : false - ) - ); ?> - - - - -
    - render( - array( - 'pmaThemeImage' => $GLOBALS['pmaThemeImage'], - 'text_dir' => $GLOBALS['text_dir'], - 'tbl_is_view' => $tbl_is_view, - 'db_is_system_schema' => $db_is_system_schema, - 'tbl_storage_engine' => $tbl_storage_engine - ) - ); ?> -
    - -render(); ?> - - - -
    - render( - array('columns_list' => $columns_list) - ); ?> - - - - - - - - -getMethod() == 'RANGE' - || $firstPartition->getMethod() == 'RANGE COLUMNS' - || $firstPartition->getMethod() == 'LIST' - || $firstPartition->getMethod() == 'LIST COLUMNS'; - $subParitions = $firstPartition->getSubPartitions(); - $hasSubPartitions = $firstPartition->hasSubPartitions(); - if ($hasSubPartitions) { - $firstSubPartition = $subParitions[0]; - } - - $actionIcons = array( - 'ANALYZE' => Util::getIcon('b_search.png', __('Analyze')), - 'CHECK' => Util::getIcon('eye.png', __('Check')), - 'OPTIMIZE' => Util::getIcon('normalize.png', __('Optimize')), - 'REBUILD' => Util::getIcon('s_tbl.png', __('Rebuild')), - 'REPAIR' => Util::getIcon('b_tblops.png', __('Repair')), - 'TRUNCATE' => Util::getIcon('b_empty.png', __('Truncate')), - ); - if ($rangeOrList) { - $actionIcons['DROP'] = Util::getIcon('b_drop.png', __('Drop')); - } - - echo Util::getDivForSliderEffect( - 'partitions', __('Partitions') - ); - - $tmp_partition_description = $firstPartition->getDescription(); - - $removeSQL = "ALTER TABLE " . Util::backquote($table) . " REMOVE PARTITIONING"; - $removeUrl = 'sql.php' . $url_query . '&sql_query=' . urlencode($removeSQL); - - echo Template::get('table/structure/display_partitions')->render( - array( - 'db' => $db, - 'table' => $table, - 'url_query' => $url_query, - 'partitions' => $partitions, - 'partitionMethod' => $firstPartition->getMethod(), - 'partitionExpression' => $firstPartition->getExpression(), - 'hasDescription' => ! empty($tmp_partition_description), - 'hasSubPartitions' => $hasSubPartitions, - 'subPartitionMethod' => $hasSubPartitions ? $firstSubPartition->getMethod() : null, - 'subPartitionExpression' => $hasSubPartitions ? $firstSubPartition->getExpression() : null, - 'actionIcons' => $actionIcons, - 'rangeOrList' => $rangeOrList, - 'removeUrl' => $removeUrl, - ) - ); - else: - echo Template::get('table/structure/display_partitions')->render( - array( - 'db' => $db, - 'table' => $table, - ) - ); - endif; - ?> - -
  • - - - - - - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_table_stats.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_table_stats.phtml deleted file mode 100644 index 245aa0a8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/display_table_stats.phtml +++ /dev/null @@ -1,80 +0,0 @@ -
    -
    - - -

    - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - render( - array( - 'showtable' => $showtable, - 'tbl_collation' => $tbl_collation, - 'is_innodb' => $is_innodb, - 'mergetable' => $mergetable, - 'avg_size' => (isset ($avg_size) ? $avg_size : ''), - 'avg_unit' => (isset ($avg_unit) ? $avg_unit : '') - ) - ) - ?> -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/move_columns_dialog.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/move_columns_dialog.phtml deleted file mode 100644 index fe3f072a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/move_columns_dialog.phtml +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/optional_action_links.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/optional_action_links.phtml deleted file mode 100644 index b88dbb74..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/optional_action_links.phtml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/partition_definition_form.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/partition_definition_form.phtml deleted file mode 100644 index 6997d299..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/partition_definition_form.phtml +++ /dev/null @@ -1,13 +0,0 @@ -
    - - - - -
    - - -
    -
    - -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/row_stats_table.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/row_stats_table.phtml deleted file mode 100644 index c0007971..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/row_stats_table.phtml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - ): ?> - - - - - - - - - 0 - && $mergetable == false): ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/table_structure_header.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/table_structure_header.phtml deleted file mode 100644 index 835ea97a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/table_structure_header.phtml +++ /dev/null @@ -1,28 +0,0 @@ - - - - # - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/table_structure_row.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/table_structure_row.phtml deleted file mode 100644 index c7306c93..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/table/structure/table_structure_row.phtml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - -> - - -
    MIME: - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/add_data.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/add_data.phtml deleted file mode 100644 index 1df76706..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/add_data.phtml +++ /dev/null @@ -1,2 +0,0 @@ - -hello($variable); \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/trim.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/trim.phtml deleted file mode 100644 index 56b4ac49..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/test/trim.phtml +++ /dev/null @@ -1 +0,0 @@ -outer value value \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/toggle_button.phtml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/toggle_button.phtml deleted file mode 100644 index 5c1ae94b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/templates/toggle_button.phtml +++ /dev/null @@ -1,26 +0,0 @@ - -
    -
    -
    - - - - - - - - - -
    - -
    -
     
    - -
    -
    - - -
    -
    -
    - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/css/common.css.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/css/common.css.php deleted file mode 100644 index 8ec9437c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/css/common.css.php +++ /dev/null @@ -1,3284 +0,0 @@ - -/******************************************************************************/ - -/* general tags */ -html { - font-size: getFontSize(); ?> -} - -input, -select, -textarea { - font-size: 1em; -} - - -body { - - font-family: ; - - padding: 0; - margin: 0; - margin-: 240px; - color: ; - background: ; -} - -body#loginform { - margin: 0; -} - -#page_content { - margin: 0 .5em; -} - - - textarea, tt, pre, code { - font-family: ; - } - -h1 { - font-size: 140%; - font-weight: bold; -} - -h2 { - font-size: 120%; - font-weight: bold; -} - -h3 { - font-weight: bold; -} - -a, a:link, -a:visited, -a:active, -button.mult_submit, -.checkall_box+label { - text-decoration: none; - color: #0000FF; - cursor: pointer; -} - -a:hover, -button.mult_submit:hover, -button.mult_submit:focus, -.checkall_box+label:hover { - text-decoration: underline; - color: #FF0000; -} - -dfn { - font-style: normal; -} - -dfn:hover { - font-style: normal; - cursor: help; -} - -th { - font-weight: bold; - color: ; - background: ; -} - -a img { - border: 0; -} - -hr { - color: ; - background-color: ; - border: 0; - height: 1px; -} - -form { - padding: 0; - margin: 0; - display: inline; -} - -textarea { - overflow: visible; -} - -fieldset { - margin-top: 1em; - border: solid 1px; - padding: 0.5em; - background: ; -} - -fieldset fieldset { - margin: 0.8em; -} - -fieldset legend { - font-weight: bold; - color: #444444; - background-color: ; -} - -.some-margin { - margin: .5em; - margin-top: 1em; -} - -/* buttons in some browsers (eg. Konqueror) are block elements, - this breaks design */ -button { - display: inline; -} - -table caption, -table th, -table td { - padding: 0.1em 0.5em 0.1em 0.5em; - margin: 0.1em; - vertical-align: top; -} - -img, -input, -select, -button { - vertical-align: middle; -} - -/******************************************************************************/ -/* classes */ -.clearfloat { - clear: both; -} - -.floatleft { - float: ; - margin-: 1em; -} - -.floatright { - float: ; -} - -table.nospacing { - border-spacing: 0; -} - -table.nopadding tr th, table.nopadding tr td { - padding: 0; -} - -th.left, td.left { - text-align: left; -} - -th.center, td.center { - text-align: center; -} - -th.right, td.right { - text-align: right; - padding-right: 1em; -} - -tr.vtop, th.vtop, td.vtop { - vertical-align: top; -} - -tr.vmiddle, th.vmiddle, td.vmiddle { - vertical-align: middle; -} - -tr.vbottom, th.vbottom, td.vbottom { - vertical-align: bottom; -} - -.paddingtop { - padding-top: 1em; -} - -div.tools { - border: 1px solid #000000; - padding: 0.2em; -} - -div.tools, -fieldset.tblFooters { - margin-top: 0; - margin-bottom: 0.5em; - /* avoid a thick line since this should be used under another fieldset */ - border-top: 0; - text-align: ; - float: none; - clear: both; -} - -div.null_div { - height: 20px; - text-align: center; - font-style:normal; - min-width:50px; -} - -fieldset .formelement { - float: ; - margin-: 0.5em; - /* IE */ - white-space: nowrap; -} - -/* revert for Gecko */ -fieldset div[class=formelement] { - white-space: normal; -} - -button.mult_submit { - border: none; - background-color: transparent; -} - -/* odd items 1,3,5,7,... */ -table tr:nth-child(odd) { - background: ; -} - -/* even items 2,4,6,8,... */ -table tr:nth-child(even) { - background: ; -} - -table tr th, -table tr { - text-align: ; -} - -/* marked table rows */ -td.marked:not(.nomarker), -table tr.marked:not(.nomarker) td, -table tr.marked:not(.nomarker) th, -table tr.marked:not(.nomarker) { - background: ; - color: ; -} - -/* hovered items */ -table tr:not(.nopointer):hover, -.hover:not(.nopointer) { - background: ; - color: ; -} - -/* hovered table rows */ -table tr.hover:not(.nopointer) th { - background: ; - color: ; -} - -/** - * marks table rows/cells if the db field is in a where condition - */ -td.condition, -th.condition { - border: 1px solid ; -} - -/** - * cells with the value NULL - */ -td.null { - font-style: italic; - color: #7d7d7d; -} - -table .valueHeader { - text-align: ; - white-space: normal; -} -table .value { - text-align: ; - white-space: normal; -} -/* IE doesnt handles 'pre' right */ -table [class=value] { - white-space: normal; -} - - - - .value { - font-family: ; - } - -.attention { - color: red; - font-weight: bold; -} -.allfine { - color: green; -} - - -img.lightbulb { - cursor: pointer; -} - -.pdflayout { - overflow: hidden; - clip: inherit; - background-color: #FFFFFF; - display: none; - border: 1px solid #000000; - position: relative; -} - -.pdflayout_table { - background: #D3DCE3; - color: #000000; - overflow: hidden; - clip: inherit; - z-index: 2; - display: inline; - visibility: inherit; - cursor: move; - position: absolute; - font-size: 80%; - border: 1px dashed #000000; -} - -/* Doc links in SQL */ -.cm-sql-doc { - text-decoration: none; - border-bottom: 1px dotted #000; - color: inherit !important; -} - -/* leave some space between icons and text */ -.icon { - vertical-align: middle; - margin-: 0.3em; -} - -/* no extra space in table cells */ -td .icon { - margin: 0; -} - -.selectallarrow { - margin-: 0.3em; - margin-: 0.6em; -} - -/* message boxes: error, confirmation */ -#pma_errors, #pma_demo, #pma_footer { - padding: 0 0.5em; -} - -.success h1, -.notice h1, -div.error h1 { - border-bottom: 2px solid; - font-weight: bold; - text-align: ; - margin: 0 0 0.2em 0; -} - -div.success, -div.notice, -div.error { - margin: 0.3em 0 0 0; - border: 2px solid; - background-repeat: no-repeat; - clear: both; - - background-position: 10px 50%; - padding: 0.1em 0.1em 0.1em 42px; - - background-position: 99% 50%; - padding: 0.1em 40px 0.1em 0.1em; - -} -div.success img.icon, -div.notice img.icon, -div.error img.icon { - display: block; - float: ; - margin-: -22px; -} - -.success { - color: #000000; - background-color: #f0fff0; -} -h1.success, -div.success { - border-color: #00FF00; -} -.success h1 { - border-color: #00FF00; -} - -.notice { - color: #000000; - background-color: #FFFFDD; -} -h1.notice, -div.notice { - border-color: #FFD700; -} -.notice h1 { - border-color: #FFD700; -} - -.error { - background-color: #FFFFCC; - color: #ff0000; -} - -h1.error, -div.error { - border-color: #ff0000; -} -div.error h1 { - border-color: #ff0000; -} - -.confirmation { - background-color: #FFFFCC; -} -fieldset.confirmation { - border: 0.1em solid #FF0000; -} -fieldset.confirmation legend { - border-left: 0.1em solid #FF0000; - border-right: 0.1em solid #FF0000; - font-weight: bold; - background-image: url(getImgPath('s_really.png');?>); - background-repeat: no-repeat; - - background-position: 5px 50%; - padding: 0.2em 0.2em 0.2em 25px; - - background-position: 97% 50%; - padding: 0.2em 25px 0.2em 0.2em; - -} -/* end messageboxes */ - -.new_central_col{ - width: 100%; -} - -.tblcomment { - font-size: 70%; - font-weight: normal; - color: #000099; -} - -.tblHeaders { - font-weight: bold; - color: ; - background: ; -} - -div.tools, -.tblFooters { - font-weight: normal; - color: ; - background: ; -} - -.tblHeaders a:link, -.tblHeaders a:active, -.tblHeaders a:visited, -div.tools a:link, -div.tools a:visited, -div.tools a:active, -.tblFooters a:link, -.tblFooters a:active, -.tblFooters a:visited { - color: #0000FF; -} - -.tblHeaders a:hover, -div.tools a:hover, -.tblFooters a:hover { - color: #FF0000; -} - -/* forbidden, no privilegs */ -.noPrivileges { - color: #FF0000; - font-weight: bold; -} - -/* disabled text */ -.disabled, -.disabled a:link, -.disabled a:active, -.disabled a:visited { - color: #666666; -} - -.disabled a:hover { - color: #666666; - text-decoration: none; -} - -tr.disabled td, -td.disabled { - background-color: #cccccc; -} - -.nowrap { - white-space: nowrap; -} - -/** - * zoom search - */ -div#resizer { - width: 600px; - height: 400px; -} -div#querychart { - float: left; - width: 600px; -} - -/** - * login form - */ -body#loginform h1, -body#loginform a.logo { - display: block; - text-align: center; -} - -body#loginform { - margin-top: 1em; - text-align: center; -} - -body#loginform div.container { - text-align: ; - width: 30em; - margin: 0 auto; -} - -form.login label { - float: ; - width: 10em; - font-weight: bolder; -} - -.commented_column { - border-bottom: 1px dashed black; -} - -.column_attribute { - font-size: 70%; -} - -/******************************************************************************/ -/* specific elements */ - -/* topmenu */ -ul#topmenu, ul#topmenu2, ul.tabs { - font-weight: bold; - list-style-type: none; - margin: 0; - padding: 0; -} - -ul#topmenu2 { - margin: 0.25em 0.5em 0; - height: 2em; - clear: both; -} - -ul#topmenu li, ul#topmenu2 li { - float: ; - margin: 0; - padding: 0; - vertical-align: middle; -} - -#topmenu img, #topmenu2 img { - vertical-align: middle; - margin-: 0.1em; -} - -/* default tab styles */ -ul#topmenu a, ul#topmenu span { - display: block; - margin: 2px 2px 0; - padding: 2px 2px 0; - white-space: nowrap; -} - -ul#topmenu2 a { - display: block; - margin: 0.1em; - padding: 0.2em; - white-space: nowrap; -} - -fieldset.caution a { - color: #FF0000; -} -fieldset.caution a:hover { - color: #ffffff; - background-color: #FF0000; -} - -#topmenu { - margin-top: 0.5em; - padding: 0.1em 0.3em 0.1em 0.3em; -} - -ul#topmenu ul { - -moz-box-shadow: 2px 2px 3px #666; - -webkit-box-shadow: 2px 2px 3px #666; - box-shadow: 2px 2px 3px #666; -} - -ul#topmenu > li { - border-bottom: 1pt solid black; -} - -/* default tab styles */ -ul#topmenu a, ul#topmenu span { - background-color: ; - border: 0 solid ; - border-width: 1pt 1pt 0 1pt; - -moz-border-radius: 0.4em 0.4em 0 0; - border-radius: 0.4em 0.4em 0 0; -} - -ul#topmenu ul a { - border-width: 1pt 0 0 0; - -moz-border-radius: 0; - border-radius: 0; -} - -ul#topmenu ul li:first-child a { - border-width: 0; -} - -/* enabled hover/active tabs */ -ul#topmenu > li > a:hover, -ul#topmenu > li > .tabactive { - margin: 0; - padding: 2px 4px; - text-decoration: none; -} - -ul#topmenu ul a:hover, -ul#topmenu ul .tabactive { - text-decoration: none; -} - -ul#topmenu a.tab:hover, -ul#topmenu .tabactive { - background-color: ; -} - -ul#topmenu2 a.tab:hover, -ul#topmenu2 a.tabactive { - background-color: ; - -moz-border-radius: 0.3em; - border-radius: 0.3em; - text-decoration: none; -} - -/* to be able to cancel the bottom border, use
  • */ -ul#topmenu > li.active { - border-bottom: 1pt solid ; -} -/* end topmenu */ - -/* zoom search */ -div#dataDisplay input, div#dataDisplay select { - margin: 0; - margin-: 0.5em; -} -div#dataDisplay th { - line-height: 2em; -} -table#tableFieldsId { - width: 100%; -} - -/* Calendar */ -table.calendar { - width: 100%; -} -table.calendar td { - text-align: center; -} -table.calendar td a { - display: block; -} - -table.calendar td a:hover { - background-color: #CCFFCC; -} - -table.calendar th { - background-color: #D3DCE3; -} - -table.calendar td.selected { - background-color: #FFCC99; -} - -img.calendar { - border: none; -} -form.clock { - text-align: center; -} -/* end Calendar */ - - -/* table stats */ -div#tablestatistics table { - float: ; - margin-top: 0.5em; - margin-bottom: 0.5em; - margin-: 0.5em; - min-width: 16em; -} -/* end table stats */ - - -/* server privileges */ -#tableuserrights td, -#tablespecificuserrights td, -#tabledatabases td { - vertical-align: middle; -} -/* end server privileges */ - - - -/* Heading */ -#topmenucontainer { - background: white; - padding-: 1em; - width: 100%; -} - -#serverinfo { - background: white; - font-weight: bold; - padding-bottom: 0.5em; - width: 10000px; - overflow: hidden; -} - -#serverinfo .item { - white-space: nowrap; -} - -#page_nav_icons { - position: fixed; - top: 0; - : 0; - z-index: 99; - padding: .1em 0; -} - -#goto_pagetop, #lock_page_icon, #page_settings_icon { - padding: .3em; - background: white; -} - -#page_settings_icon { - cursor: pointer; - display: none; -} - -#page_settings_modal { - display: none; -} - -#pma_navigation_settings { - display: none; -} - -#span_table_comment { - font-weight: bold; - font-style: italic; - white-space: nowrap; - margin-left: 10px; - color: #D6D6D6; - text-shadow: none; -} - -#serverinfo img { - margin: 0 0.1em 0 0.2em; -} - - -#textSQLDUMP { - width: 95%; - height: 95%; - font-family: "Courier New", Courier, mono; - font-size: 110%; -} - -#TooltipContainer { - position: absolute; - z-index: 99; - width: 20em; - height: auto; - overflow: visible; - visibility: hidden; - background-color: #ffffcc; - color: #006600; - border: 0.1em solid #000000; - padding: 0.5em; -} - -/* user privileges */ -#fieldset_add_user_login div.item { - border-bottom: 1px solid silver; - padding-bottom: 0.3em; - margin-bottom: 0.3em; -} - -#fieldset_add_user_login label { - float: ; - display: block; - width: 15em; - max-width: 100%; - text-align: ; - padding-: 0.5em; -} - -#fieldset_add_user_login span.options #select_pred_username, -#fieldset_add_user_login span.options #select_pred_hostname, -#fieldset_add_user_login span.options #select_pred_password { - width: 100%; - max-width: 100%; -} - -#fieldset_add_user_login span.options { - float: ; - display: block; - width: 12em; - max-width: 100%; - padding-: 0.5em; -} - -#fieldset_add_user_login input { - width: 12em; - clear: ; - max-width: 100%; -} - -#fieldset_add_user_login span.options input { - width: auto; -} - -#fieldset_user_priv div.item { - float: ; - width: 9em; - max-width: 100%; -} - -#fieldset_user_priv div.item div.item { - float: none; -} - -#fieldset_user_priv div.item label { - white-space: nowrap; -} - -#fieldset_user_priv div.item select { - width: 100%; -} - -#fieldset_user_global_rights fieldset { - float: ; -} - -#fieldset_user_group_rights fieldset { - float: ; -} - -#fieldset_user_global_rights>legend input { - margin-: 2em; -} -/* end user privileges */ - - -/* serverstatus */ - -.linkElem:hover { - text-decoration: underline; - color: #235a81; - cursor: pointer; -} - -h3#serverstatusqueries span { - font-size:60%; - display:inline; -} - -.buttonlinks { - float: ; - white-space: nowrap; -} - -/* Also used for the variables page */ -fieldset#tableFilter { - padding: 0.1em 1em; -} - -div#serverStatusTabs { - margin-top:1em; -} - -caption a.top { - float: ; -} - -div#serverstatusquerieschart { - float:; - width:500px; - height:350px; - padding-: 30px; -} - -div#serverstatus table#serverstatusqueriesdetails { - float: ; -} - -table#serverstatustraffic { - float: ; -} -table#serverstatusconnections { - float: ; - margin-: 30px; -} - -table#serverstatusvariables { - width: 100%; - margin-bottom: 1em; -} -table#serverstatusvariables .name { - width: 18em; - white-space:nowrap; -} -table#serverstatusvariables .value { - width: 6em; -} -table#serverstatusconnections { - float: ; - margin-: 30px; -} - -div#serverstatus table tbody td.descr a, -div#serverstatus table .tblFooters a { - white-space: nowrap; -} - -div.liveChart { - clear:both; - min-width:500px; - height:400px; - padding-bottom:80px; -} - -#addChartDialog input[type="text"] { - margin: 0; - padding:3px; -} - -div#chartVariableSettings { - border:1px solid #ddd; - background-color:#E6E6E6; - margin-left:10px; -} - -table#chartGrid td { - padding: 3px; - margin: 0; -} - -table#chartGrid div.monitorChart { - background: #EBEBEB; - overflow: hidden; - border: none; -} - -div.tabLinks { - margin-left: 0.3em; - float: ; - padding: 5px 0; -} - -div.tabLinks a, div.tabLinks label { - margin-right: 7px; -} - -div.tabLinks .icon { - margin: -0.2em 0.3em 0 0; -} - -.popupContent { - display: none; - position: absolute; - border: 1px solid #CCC; - margin:0; - padding:3px; - -moz-box-shadow: 1px 1px 6px #ddd; - -webkit-box-shadow: 2px 2px 3px #666; - box-shadow: 2px 2px 3px #666; - background-color:white; - z-index: 2; -} - -div#logTable { - padding-top: 10px; - clear: both; -} - -div#logTable table { - width:100%; -} - -.smallIndent { - padding-left: 7px; -} - -/* end serverstatus */ - -/* server variables */ -#serverVariables { - table-layout: fixed; - width: 100%; -} -#serverVariables .var-row > tr { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - line-height: 2em; -} - -#serverVariables .var-header { - font-weight: bold; - color: ; - background: ; -} -#serverVariables .var-header { - text-align: ; -} -#serverVariables .var-row { - padding: 0.5em; - min-height: 18px; -} -#serverVariables .var-action { - width: 120px; -} -#serverVariables .var-name { - float: ; - font-weight: bold; -} -#serverVariables .var-name.session { - font-weight: normal; - font-style: italic; -} -#serverVariables .var-value { - width: 50%; - float: ; - text-align: ; -} - -/* server variables editor */ -#serverVariables .editLink { - padding-: 1em; - float: ; - font-family: sans-serif; -} -#serverVariables .serverVariableEditor { - width: 100%; - overflow: hidden; -} -#serverVariables .serverVariableEditor input { - width: 100%; - margin: 0 0.5em; - box-sizing: border-box; - -ms-box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - height: 2.2em; -} -#serverVariables .serverVariableEditor div { - display: block; - overflow: hidden; - padding-: 1em; -} -#serverVariables .serverVariableEditor a { - float: ; - margin: 0 0.5em; - line-height: 2em; -} -/* end server variables */ - -/* profiling */ - -div#profilingchart { - width: 850px; - height: 370px; - float: left; -} - -#profilingchart .jqplot-highlighter-tooltip{ - top: auto !important; - left: 11px; - bottom:24px; -} -/* end profiling */ - -/* table charting */ -.chartOption { - float: ; - margin-: 40px; -} -/* end table charting */ - -/* querybox */ - -div#sqlquerycontainer { - float: ; - width: 69%; - /* height: 15em; */ -} - -div#tablefieldscontainer { - float: ; - width: 29%; - /* height: 15em; */ -} - -div#tablefieldscontainer select { - width: 100%; - /* height: 12em; */ -} - -textarea#sqlquery { - width: 100%; - /* height: 100%; */ -} -textarea#sql_query_edit { - height: 7em; - width: 95%; - display: block; -} -div#queryboxcontainer div#bookmarkoptions { - margin-top: .5em; -} -/* end querybox */ - -/* main page */ -#maincontainer { - background-image: url(getImgPath('logo_right.png');?>); - background-position: bottom; - background-repeat: no-repeat; -} - -#mysqlmaininformation, -#pmamaininformation { - float: ; - width: 49%; -} - -#maincontainer ul { - list-style-type: disc; - vertical-align: middle; -} - -#maincontainer li { - margin: 0.2em 0; -} - -#full_name_layer { - position: absolute; - padding: 2px; - margin-top: -3px; - z-index: 801; - - border: solid 1px #888; - background: #fff; - -} -/* end main page */ - -/* iconic view for ul items */ - -li.no_bullets { - list-style-type:none !important; - margin-: -25px !important; //align with other list items which have bullets -} - -/* end iconic view for ul items */ - -#body_browse_foreigners { - background: ; - margin: .5em .5em 0 .5em; -} - -#bodythemes { - width: 500px; - margin: auto; - text-align: center; -} - -#bodythemes img { - border: .1em solid #000; -} - -#bodythemes a:hover img { - border: .1em solid red; -} - -#fieldset_select_fields { - float: ; -} - -#selflink { - clear: both; - display: block; - margin-top: 1em; - margin-bottom: 1em; - width: 98%; - margin-left: 1%; - border-top: .1em solid silver; - text-align: ; -} - -#table_innodb_bufferpool_usage, -#table_innodb_bufferpool_activity { - float: ; -} - -#div_mysql_charset_collations table { - float: ; -} - -#div_mysql_charset_collations table th, -#div_mysql_charset_collations table td { - padding: 0.4em; -} - -#div_mysql_charset_collations table th#collationHeader { - width: 35%; -} - -.operations_half_width { - width: 48%; - float: ; -} -.operations_half_width input[type=text], -.operations_half_width input[type=password], -.operations_half_width input[type=number], -.operations_half_width select { - width: 95%; -} -.operations_half_width input[type=text].halfWidth, -.operations_half_width input[type=password].halfWidth, -.operations_half_width input[type=number].halfWidth, -.operations_half_width select.halfWidth { - width: 40%; -} -.operations_half_width ul { - list-style-type: none; - padding: 0; -} -.operations_full_width { - width: 100%; - clear: both; -} - -#qbe_div_table_list { - float: ; -} - -#qbe_div_sql_query { - float: ; -} - -label.desc { - width: 30em; - float: ; -} - -label.desc sup { - position: absolute; -} - -code.php { - display: block; - padding-left: 0.3em; - margin-top: 0; - margin-bottom: 0; - max-height: 10em; - overflow: auto; - direction: ltr; -} - -code.sql, -div.sqlvalidate { - display: block; - padding: 0.3em; - margin-top: 0; - margin-bottom: 0; - max-height: 10em; - overflow: auto; - direction: ltr; -} - -.result_query div.sqlOuter, -div.sqlvalidate { - border: solid 1px; - border-top: 0; - border-bottom: 0; - background: ; -} - -#PMA_slidingMessage code.sql { - border: solid 1px; - border-top: 0; - background: ; -} - -#main_pane_left { - width: 60%; - min-width: 260px; - float: ; - padding-top: 1em; -} - -#main_pane_right { - overflow: hidden; - min-width: 160px; - padding-top: 1em; - padding-: 1em; -} - -.group { - border-: 0.3em solid ; - margin-bottom: 1em; -} - -.group h2 { - background: ; - padding: 0.1em 0.3em; - margin-top: 0; -} - -.group-cnt { - padding: 0 0 0 0.5em; - display: inline-block; - width: 98%; -} - -textarea#partitiondefinition { - height:3em; -} - - -/* for elements that should be revealed only via js */ -.hide { - display: none; -} - -#list_server { - list-style-type: none; - padding: 0; -} - -/** - * Progress bar styles - */ -div.upload_progress -{ - width: 400px; - margin: 3em auto; - text-align: center; -} - -div.upload_progress_bar_outer -{ - border: 1px solid #000; - width: 202px; - position: relative; - margin: 0 auto 1em; - color: ; -} - -div.upload_progress_bar_inner -{ - background-color: ; - width: 0; - height: 12px; - margin: 1px; - overflow: hidden; - color: ; - position: relative; -} - -div.upload_progress_bar_outer div.percentage -{ - position: absolute; - top: 0; - left: 0; - width: 202px; -} - -div.upload_progress_bar_inner div.percentage -{ - top: -1px; - left: -1px; -} - -div#statustext { - margin-top: .5em; -} - -table#serverconnection_src_remote, -table#serverconnection_trg_remote, -table#serverconnection_src_local, -table#serverconnection_trg_local { - float: left; -} -/** - * Validation error message styles - */ -input[type=text].invalid_value, -input[type=password].invalid_value, -input[type=number].invalid_value, -input[type=date].invalid_value, -select.invalid_value, -.invalid_value { - background: #FFCCCC; -} - -/** - * Ajax notification styling - */ - .ajax_notification { - top: 0; /** The notification needs to be shown on the top of the page */ - position: fixed; - margin-top: 0; - margin-right: auto; - margin-bottom: 0; - margin-left: auto; - padding: 3px 5px; /** Keep a little space on the sides of the text */ - width: 350px; - background-color: #FFD700; - z-index: 1100; /** If this is not kept at a high z-index, the jQueryUI modal dialogs (z-index:1000) might hide this */ - text-align: center; - display: block; - left: 0; - right: 0; - background-image: url(getImgPath('ajax_clock_small.gif');?>); - background-repeat: no-repeat; - background-position: 2%; - } - - #loading_parent { - /** Need this parent to properly center the notification division */ - position: relative; - width: 100%; - } -/** - * Export and Import styles - */ - -.export_table_list_container { - display: inline-block; - max-height: 20em; - overflow-y: scroll; -} - -.export_table_select th { - text-align: center; - vertical-align: middle; -} - -.export_table_select .all { - font-weight: bold; - border-bottom: 1px solid black; -} - -.export_structure, .export_data { - text-align: center; -} - -.export_table_name { - vertical-align: middle; -} - -.exportoptions h3, .importoptions h3 { - border-bottom: 1px #999999 solid; - font-size: 110%; -} - -.exportoptions ul, .importoptions ul, .format_specific_options ul { - list-style-type: none; - margin-bottom: 15px; -} - -.exportoptions li, .importoptions li { - margin: 7px; -} -.exportoptions label, .importoptions label, .exportoptions p, .importoptions p { - margin: 5px; - float: none; -} - -#csv_options label.desc, #ldi_options label.desc, #latex_options label.desc, #output label.desc{ - float: left; - width: 15em; -} - -.exportoptions, .importoptions { - margin: 20px 30px 30px 10px -} - -.format_specific_options h3 { - margin: 10px 0 0 10px; - border: 0; -} - -.format_specific_options { - border: 1px solid #999; - margin: 7px 0; - padding: 3px; -} - -p.desc { - margin: 5px; -} - -/** - * Export styles only - */ -select#db_select, -select#table_select { - width: 400px; -} - -.export_sub_options { - margin: 20px 0 0 30px; -} - -.export_sub_options h4 { - border-bottom: 1px #999 solid; -} - -.export_sub_options li.subgroup { - display: inline-block; - margin-top: 0; -} - -.export_sub_options li { - margin-bottom: 0; -} - -#output_quick_export { - display: none; -} -/** - * Import styles only - */ - -.importoptions #import_notification { - margin: 10px 0; - font-style: italic; -} - -input#input_import_file { - margin: 5px; -} - -.formelementrow { - margin: 5px 0 5px 0; -} - -#filterText { - vertical-align: baseline; -} - -#popup_background { - display: none; - position: fixed; - _position: absolute; /* hack for IE6 */ - width: 100%; - height: 100%; - top: 0; - left: 0; - background: #000; - z-index: 1000; - overflow: hidden; -} - -/** - * Create table styles - */ -#create_table_form table.table-name td { - vertical-align: middle; -} - -/** - * Table structure styles - */ -#fieldsForm ul.table-structure-actions { - margin: 0; - padding: 0; - list-style: none; -} -#fieldsForm ul.table-structure-actions li { - float: ; - margin-: 0.5em; /* same as padding of "table td" */ -} -#fieldsForm ul.table-structure-actions .submenu li { - padding: 0.3em; - margin: 0.1em; -} -#structure-action-links a { - margin-: 1em; -} -#addColumns input[type="radio"] { - margin: 0; - margin-: 1em; -} -#addColumns input[type="submit"] { - margin-: 1em; -} - -/** - * Indexes - */ -#index_frm .index_info input, -#index_frm .index_info select { - width: 100%; - box-sizing: border-box; - -ms-box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; -} - -#index_frm .slider { - width: 10em; - margin: .6em; - float: ; -} - -#index_frm .add_fields { - float: ; -} - -#index_frm .add_fields input { - margin-: 1em; -} - -#index_frm input { - margin: 0; -} - -#index_frm td { - vertical-align: middle; -} - -table#index_columns { - width: 100%; -} - -table#index_columns select { - width: 85%; - float: right; -} - -#move_columns_dialog div { - padding: 1em; -} - -#move_columns_dialog ul { - list-style: none; - margin: 0; - padding: 0; -} - -#move_columns_dialog li { - background: ; - border: 1px solid #aaa; - color: ; - font-weight: bold; - margin: .4em; - padding: .2em; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} - -/* config forms */ -.config-form ul.tabs { - margin: 1.1em 0.2em 0; - padding: 0 0 0.3em 0; - list-style: none; - font-weight: bold; -} - -.config-form ul.tabs li { - float: ; -} - -.config-form ul.tabs li a { - display: block; - margin: 0.1em 0.2em 0; - padding: 0.1em 0.4em; - white-space: nowrap; - text-decoration: none; - border: 1px solid ; - border-bottom: none; -} - -.config-form ul.tabs li a:hover, -.config-form ul.tabs li a:active, -.config-form ul.tabs li a.active { - margin: 0; - padding: 0.1em 0.6em 0.2em; -} - -.config-form ul.tabs li.active a { - background-color: ; -} - -.config-form fieldset { - margin-top: 0; - padding: 0; - clear: both; - /*border-color: ;*/ -} - -.config-form legend { - display: none; -} - -.config-form fieldset p { - margin: 0; - padding: 0.5em; - background: ; -} - -.config-form fieldset .errors { /* form error list */ - margin: 0 -2px 1em -2px; - padding: .5em 1.5em; - background: #FBEAD9; - border: 0 #C83838 solid; - border-width: 1px 0; - list-style: none; - font-family: sans-serif; - font-size: small; -} - -.config-form fieldset .inline_errors { /* field error list */ - margin: .3em .3em .3em 0; - padding: 0; - list-style: none; - color: #9A0000; - font-size: small; -} - -.config-form fieldset th { - padding: .3em .3em .3em .5em; - text-align: left; - vertical-align: top; - width: 40%; - background: transparent; -} - -.config-form fieldset .doc, -.config-form fieldset .disabled-notice { - margin-left: 1em; -} - -.config-form fieldset .disabled-notice { - font-size: 80%; - text-transform: uppercase; - color: #E00; - cursor: help; -} - -.config-form fieldset td { - padding-top: .3em; - padding-bottom: .3em; - vertical-align: top; -} - -.config-form fieldset th small { - display: block; - font-weight: normal; - font-family: sans-serif; - font-size: x-small; - color: #444; -} - -.config-form fieldset th, -.config-form fieldset td { - border-top: 1px solid; -} - -fieldset .group-header th { - background: ; -} - -fieldset .group-header + tr th { - padding-top: .6em; -} - -fieldset .group-field-1 th, -fieldset .group-header-2 th { - padding-left: 1.5em; -} - -fieldset .group-field-2 th, -fieldset .group-header-3 th { - padding-left: 3em; -} - -fieldset .group-field-3 th { - padding-left: 4.5em; -} - -fieldset .disabled-field th, -fieldset .disabled-field th small, -fieldset .disabled-field td { - color: #666; - background-color: #ddd; -} - -.config-form .lastrow { - border-top: 1px #000 solid; -} - -.config-form .lastrow { - background: ; - padding: .5em; - text-align: center; -} - -.config-form .lastrow input { - font-weight: bold; -} - -/* form elements */ - -.config-form span.checkbox { - padding: 2px; - display: inline-block; -} - -.config-form .custom { /* customized field */ - background: #FFC; -} - -.config-form span.checkbox.custom { - padding: 1px; - border: 1px #EDEC90 solid; - background: #FFC; -} - -.config-form .field-error { - border-color: #A11 !important; -} - -.config-form input[type="text"], -.config-form input[type="password"], -.config-form input[type="number"], -.config-form select, -.config-form textarea { - border: 1px #A7A6AA solid; - height: auto; -} - -.config-form input[type="text"]:focus, -.config-form input[type="password"]:focus, -.config-form input[type="number"]:focus, -.config-form select:focus, -.config-form textarea:focus { - border: 1px #6676FF solid; - background: #F7FBFF; -} - -.config-form .field-comment-mark { - font-family: serif; - color: #007; - cursor: help; - padding: 0 0.2em; - font-weight: bold; - font-style: italic; -} - -.config-form .field-comment-warning { - color: #A00; -} - -/* error list */ -.config-form dd { - margin-left: .5em; -} - -.config-form dd:before { - content: "\25B8 "; -} - -.click-hide-message { - cursor: pointer; -} - -.prefsmanage_opts { - margin-: 2em; -} - -#prefs_autoload { - margin-bottom: .5em; - margin-left: .5em; -} - -#placeholder .button { - position: absolute; - cursor: pointer; -} - -#placeholder div.button { - font-size: smaller; - color: #999; - background-color: #eee; - padding: 2px; -} - -.wrapper { - float: ; - margin-bottom: 0.5em; -} -.toggleButton { - position: relative; - cursor: pointer; - font-size: .8em; - text-align: center; - line-height: 1.4em; - height: 1.55em; - overflow: hidden; - border-right: .1em solid #888; - border-left: .1em solid #888; -} -.toggleButton table, -.toggleButton td, -.toggleButton img { - padding: 0; - position: relative; -} -.toggleButton .container { - position: absolute; -} -.toggleButton .container td { - background-image: none; - background: none; -} -.toggleButton .toggleOn { - color: #fff; - padding: 0 1em; -} -.toggleButton .toggleOff { - padding: 0 1em; -} - -.doubleFieldset fieldset { - width: 48%; - float: ; - padding: 0; -} -.doubleFieldset fieldset.left { - margin-: 1%; -} -.doubleFieldset fieldset.right { - margin-: 1%; -} -.doubleFieldset legend { - margin-: 0.5em; -} -.doubleFieldset div.wrap { - padding: 0.5em; -} - -#table_name_col_no_outer { - margin-top: 30px; -} - -#table_name_col_no { - position: fixed; - top: 44px; - width: 100%; - background: ; -} - -#table_columns input[type="text"], -#table_columns input[type="password"], -#table_columns input[type="number"], -#table_columns input[type="date"], -#table_columns select { - width: 10em; - box-sizing: border-box; - -ms-box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; -} - -#placeholder { - position: relative; - border: 1px solid #aaa; - float: ; - overflow: hidden; -} - -.placeholderDrag { - cursor: move; -} - -#placeholder .button { - position: absolute; -} - -#left_arrow { - left: 8px; - top: 26px; -} - -#right_arrow { - left: 26px; - top: 26px; -} - -#up_arrow { - left: 17px; - top: 8px; -} - -#down_arrow { - left: 17px; - top: 44px; -} - -#zoom_in { - left: 17px; - top: 67px; -} - -#zoom_world { - left: 17px; - top: 85px; -} - -#zoom_out { - left: 17px; - top: 103px; -} - -.colborder { - cursor: col-resize; - height: 100%; - margin-left: -5px; - position: absolute; - width: 5px; -} - -.colborder_active { - border-right: 2px solid #a44; -} - -.pma_table td { - position: static; -} - -.pma_table th.draggable span, -.pma_table tbody td span { - display: block; - overflow: hidden; -} - -.pma_table tbody td span code span { - display: inline; -} - -.modal-copy input { - display: block; - width: 100%; - margin-top: 1.5em; - padding: .3em 0; -} - -.cRsz { - position: absolute; -} - -.draggable { - cursor: move; -} - -.cCpy { - background: #000; - color: #FFF; - font-weight: bold; - margin: 0.1em; - padding: 0.3em; - position: absolute; -} - -.cPointer { - background: url(getImgPath('col_pointer.png');?>); - height: 20px; - margin-left: -5px; /* must be minus half of its width */ - margin-top: -10px; - position: absolute; - width: 10px; -} - -.tooltip { - background: #333 !important; - opacity: .8 !important; - border: 1px solid #000 !important; - -moz-border-radius: .3em !important; - -webkit-border-radius: .3em !important; - border-radius: .3em !important; - text-shadow: -1px -1px #000 !important; - font-size: .8em !important; - font-weight: bold !important; - padding: 1px 3px !important; -} - -.tooltip * { - background: none !important; - color: #FFF !important; -} - - -.data_full_width { - width: 100%; -} - -.cDrop { - left: 0; - position: absolute; - top: 0; -} - -.coldrop { - background: url(getImgPath('col_drop.png');?>); - cursor: pointer; - height: 16px; - margin-left: 0.5em; - margin-top: 0.3em; - position: absolute; - width: 16px; -} - -.coldrop:hover, -.coldrop-hover { - background-color: #999; -} - -.cList { - background: #EEE; - border: solid 1px #999; - position: absolute; -} - -.cList .lDiv div { - padding: .2em .5em .2em .2em; -} - -.cList .lDiv div:hover { - background: #DDD; - cursor: pointer; -} - -.cList .lDiv div input { - cursor: pointer; -} - -.showAllColBtn { - border-bottom: solid 1px #999; - border-top: solid 1px #999; - cursor: pointer; - font-size: .9em; - font-weight: bold; - padding: .35em 1em; - text-align: center; -} - -.showAllColBtn:hover { - background: #DDD; -} - -.navigation { - background: #E5E5E5; - border: 1px solid black; - margin: 0.8em 0; -} - -.navigation td { - margin: 0; - padding: 0; - vertical-align: middle; - white-space: nowrap; -} - -.navigation_separator { - color: #555; - display: inline-block; - text-align: center; - width: 1.2em; - text-shadow: 1px 0 #FFF; -} - -.navigation input[type=submit] { - background: none; - border: 0; - margin: 0; - padding: 0.3em 0.5em; - min-width: 1.5em; - font-weight: bold; -} - -.navigation input[type=submit]:hover, .navigation input.edit_mode_active { - background: #333; - color: white; - cursor: pointer; -} - -.navigation select { - margin: 0 .8em; -} - -.cEdit { - margin: 0; - padding: 0; - position: absolute; -} - -.cEdit input[type=text], -.cEdit input[type=password], -.cEdit input[type=number] { - background: #FFF; - height: 100%; - margin: 0; - padding: 0; -} - -.cEdit .edit_area { - background: #FFF; - border: 1px solid #999; - min-width: 10em; - padding: .3em .5em; -} - -.cEdit .edit_area select, -.cEdit .edit_area textarea { - width: 97%; -} - -.cEdit .cell_edit_hint { - color: #555; - font-size: .8em; - margin: .3em .2em; -} - -.cEdit .edit_box { - overflow-x: hidden; - overflow-y: scroll; - padding: 0; -} - -.cEdit .edit_box_posting { - background: #FFF url(getImgPath('ajax_clock_small.gif');?>) no-repeat right center; - padding-right: 1.5em; -} - -.cEdit .edit_area_loading { - background: #FFF url(getImgPath('ajax_clock_small.gif');?>) no-repeat center; - height: 10em; -} - -.cEdit .goto_link { - background: #EEE; - color: #555; - padding: .2em .3em; -} - -.saving_edited_data { - background: url(getImgPath('ajax_clock_small.gif');?>) no-repeat left; - padding-left: 20px; -} - -/* css for timepicker */ -.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } -.ui-timepicker-div dl { text-align: ; } -.ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; } -.ui-timepicker-div dl dd { margin: 0 10px 10px 85px; } -.ui-timepicker-div td { font-size: 90%; } -.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } -.ui-timepicker-rtl { direction: rtl; } -.ui-timepicker-rtl dl { text-align: right; } -.ui-timepicker-rtl dl dd { margin: 0 65px 10px 10px; } - -input.btn { - color: #333; - background-color: #D0DCE0; -} - -body .ui-widget { - font-size: 1em; -} - -.ui-dialog fieldset legend a { - color: #0000FF; -} - -/* jqPlot */ - -/*rules for the plot target div. These will be cascaded down to all plot elements -according to css rules*/ -.jqplot-target { - position: relative; - color: #222222; - font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; - font-size: 1em; -/* height: 300px; - width: 400px;*/ -} - -/*rules applied to all axes*/ -.jqplot-axis { - font-size: 0.75em; -} - -.jqplot-xaxis { - margin-top: 10px; -} - -.jqplot-x2axis { - margin-bottom: 10px; -} - -.jqplot-yaxis { - margin-right: 10px; -} - -.jqplot-y2axis, .jqplot-y3axis, .jqplot-y4axis, .jqplot-y5axis, .jqplot-y6axis, -.jqplot-y7axis, .jqplot-y8axis, .jqplot-y9axis, .jqplot-yMidAxis { - margin-left: 10px; - margin-right: 10px; -} - -/*rules applied to all axis tick divs*/ -.jqplot-axis-tick, .jqplot-xaxis-tick, .jqplot-yaxis-tick, .jqplot-x2axis-tick, -.jqplot-y2axis-tick, .jqplot-y3axis-tick, .jqplot-y4axis-tick, .jqplot-y5axis-tick, -.jqplot-y6axis-tick, .jqplot-y7axis-tick, .jqplot-y8axis-tick, .jqplot-y9axis-tick, -.jqplot-yMidAxis-tick { - position: absolute; - white-space: pre; -} - - -.jqplot-xaxis-tick { - top: 0; - /* initial position untill tick is drawn in proper place */ - left: 15px; - vertical-align: top; -} - -.jqplot-x2axis-tick { - bottom: 0; - /* initial position untill tick is drawn in proper place */ - left: 15px; - vertical-align: bottom; -} - -.jqplot-yaxis-tick { - right: 0; - /* initial position untill tick is drawn in proper place */ - top: 15px; - text-align: right; -} - -.jqplot-yaxis-tick.jqplot-breakTick { - right: -20px; - margin-right: 0; - padding:1px 5px 1px 5px; - z-index: 2; - font-size: 1.5em; -} - -.jqplot-y2axis-tick, .jqplot-y3axis-tick, .jqplot-y4axis-tick, .jqplot-y5axis-tick, -.jqplot-y6axis-tick, .jqplot-y7axis-tick, .jqplot-y8axis-tick, .jqplot-y9axis-tick { - left: 0; - /* initial position until tick is drawn in proper place */ - top: 15px; - text-align: left; -} - -.jqplot-yMidAxis-tick { - text-align: center; - white-space: nowrap; -} - -.jqplot-xaxis-label { - margin-top: 10px; - font-size: 11pt; - position: absolute; -} - -.jqplot-x2axis-label { - margin-bottom: 10px; - font-size: 11pt; - position: absolute; -} - -.jqplot-yaxis-label { - margin-right: 10px; -/* text-align: center;*/ - font-size: 11pt; - position: absolute; -} - -.jqplot-yMidAxis-label { - font-size: 11pt; - position: absolute; -} - -.jqplot-y2axis-label, .jqplot-y3axis-label, .jqplot-y4axis-label, -.jqplot-y5axis-label, .jqplot-y6axis-label, .jqplot-y7axis-label, -.jqplot-y8axis-label, .jqplot-y9axis-label { -/* text-align: center;*/ - font-size: 11pt; - margin-left: 10px; - position: absolute; -} - -.jqplot-meterGauge-tick { - font-size: 0.75em; - color: #999999; -} - -.jqplot-meterGauge-label { - font-size: 1em; - color: #999999; -} - -table.jqplot-table-legend { - margin-top: 12px; - margin-bottom: 12px; - margin-left: 12px; - margin-right: 12px; -} - -table.jqplot-table-legend, table.jqplot-cursor-legend { - background-color: rgba(255,255,255,0.6); - border: 1px solid #cccccc; - position: absolute; - font-size: 0.75em; -} - -td.jqplot-table-legend { - vertical-align:middle; -} - -/* -These rules could be used instead of assigning -element styles and relying on js object properties. -*/ - -/* -td.jqplot-table-legend-swatch { - padding-top: 0.5em; - text-align: center; -} - -tr.jqplot-table-legend:first td.jqplot-table-legend-swatch { - padding-top: 0px; -} -*/ - -td.jqplot-seriesToggle:hover, td.jqplot-seriesToggle:active { - cursor: pointer; -} - -.jqplot-table-legend .jqplot-series-hidden { - text-decoration: line-through; -} - -div.jqplot-table-legend-swatch-outline { - border: 1px solid #cccccc; - padding:1px; -} - -div.jqplot-table-legend-swatch { - width:0; - height:0; - border-top-width: 5px; - border-bottom-width: 5px; - border-left-width: 6px; - border-right-width: 6px; - border-top-style: solid; - border-bottom-style: solid; - border-left-style: solid; - border-right-style: solid; -} - -.jqplot-title { - top: 0; - left: 0; - padding-bottom: 0.5em; - font-size: 1.2em; -} - -table.jqplot-cursor-tooltip { - border: 1px solid #cccccc; - font-size: 0.75em; -} - - -.jqplot-cursor-tooltip { - border: 1px solid #cccccc; - font-size: 0.75em; - white-space: nowrap; - background: rgba(208,208,208,0.5); - padding: 1px; -} - -.jqplot-highlighter-tooltip, .jqplot-canvasOverlay-tooltip { - border: 1px solid #cccccc; - font-size: 0.75em; - white-space: nowrap; - background: rgba(208,208,208,0.5); - padding: 1px; -} - -.jqplot-point-label { - font-size: 0.75em; - z-index: 2; -} - -td.jqplot-cursor-legend-swatch { - vertical-align: middle; - text-align: center; -} - -div.jqplot-cursor-legend-swatch { - width: 1.2em; - height: 0.7em; -} - -.jqplot-error { -/* Styles added to the plot target container when there is an error go here.*/ - text-align: center; -} - -.jqplot-error-message { -/* Styling of the custom error message div goes here.*/ - position: relative; - top: 46%; - display: inline-block; -} - -div.jqplot-bubble-label { - font-size: 0.8em; -/* background: rgba(90%, 90%, 90%, 0.15);*/ - padding-left: 2px; - padding-right: 2px; - color: rgb(20%, 20%, 20%); -} - -div.jqplot-bubble-label.jqplot-bubble-label-highlight { - background: rgba(90%, 90%, 90%, 0.7); -} - -div.jqplot-noData-container { - text-align: center; - background-color: rgba(96%, 96%, 96%, 0.3); -} - -.relationalTable select { - width: 125px; - margin-right: 5px; -} - -.report-data { - height:13em; - overflow:scroll; - width:570px; - border: solid 1px; - background: white; - padding: 2px; -} - -.report-description { - height:10em; - width:570px; -} - -div#page_content div#tableslistcontainer table.data { - border-top: 0.1px solid #EEEEEE; -} - -div#page_content div#tableslistcontainer, div#page_content div.notice, div#page_content div.result_query { - margin-top: 1em; -} - -table.show_create { - margin-top: 1em; -} - -table.show_create td { - border-right: 1px solid #bbb; -} - -#alias_modal table th { - vertical-align: middle; - padding-left: 1em; -} - -#alias_modal label.col-2 { - min-width: 20%; - display: inline-block; -} - -#alias_modal select { - width: 25%; - margin-right: 2em; -} - -#alias_modal label { - font-weight: bold; -} - -.ui-dialog { - position: fixed; -} - -.small_font { - font-size: smaller; -} - -/* Console styles */ -#pma_console_container { - width: 100%; - position: fixed; - bottom: 0; - : 0; - z-index: 100; -} -#pma_console { - position: relative; - margin-: 240px; - z-index: 100; -} -#pma_console .templates { - display: none; -} -#pma_console .mid_text, -#pma_console .toolbar span { - vertical-align: middle; -} -#pma_console .toolbar { - position: relative; - background: #ccc; - border-top: solid 1px #aaa; - cursor: n-resize; -} -#pma_console .toolbar.collapsed:not(:hover) { - display: inline-block; - border-top--radius: 3px; - border-: solid 1px #aaa; -} -#pma_console .toolbar.collapsed { - cursor: default; -} -#pma_console .toolbar.collapsed>.button { - display: none; -} -#pma_console .message span.text, -#pma_console .message span.action, -#pma_console .toolbar .button, -#pma_console .toolbar .text, -#pma_console .switch_button { - padding: 0 3px; - display: inline-block; -} -#pma_console .message span.action, -#pma_console .toolbar .button, -#pma_console .switch_button { - cursor: pointer; -} -#pma_console .message span.action:hover, -#pma_console .toolbar .button:hover, -#pma_console .switch_button:hover, -#pma_console .toolbar .button.active { - background: #ddd; -} -#pma_console .toolbar .text { - font-weight: bold; -} -#pma_console .toolbar .button, -#pma_console .toolbar .text { - margin-: .4em; -} -#pma_console .toolbar .button, -#pma_console .toolbar .text { - float: ; -} -#pma_console .content { - overflow-x: hidden; - overflow-y: auto; - margin-bottom: -65px; - border-top: solid 1px #aaa; - background: #fff; - padding-top: .4em; -} -#pma_console .content.console_dark_theme { - background: #000; - color: #fff; -} -#pma_console .content.console_dark_theme .CodeMirror-wrap { - background: #000; - color: #fff; -} -#pma_console .content.console_dark_theme .action_content { - color: #000; -} -#pma_console .content.console_dark_theme .message { - border-color: #373B41; -} -#pma_console .content.console_dark_theme .CodeMirror-cursor { - border-color: #fff; -} -#pma_console .content.console_dark_theme .cm-keyword { - color: #de935f; -} -#pma_console .message, -#pma_console .query_input { - position: relative; - font-family: Monaco, Consolas, monospace; - cursor: text; - margin: 0 10px .2em 1.4em; -} -#pma_console .message { - border-bottom: solid 1px #ccc; - padding-bottom: .2em; -} -#pma_console .message.expanded>.action_content { - position: relative; -} -#pma_console .message:before, -#pma_console .query_input:before { - left: -0.7em; - position: absolute; - content: ">"; -} -#pma_console .query_input:before { - top: -2px; -} -#pma_console .query_input textarea { - width: 100%; - height: 4em; - resize: vertical; -} -#pma_console .message:hover:before { - color: #7cf; - font-weight: bold; -} -#pma_console .message.expanded:before { - content: "]"; -} -#pma_console .message.welcome:before { - display: none; -} -#pma_console .message.failed:before, -#pma_console .message.failed.expanded:before, -#pma_console .message.failed:hover:before { - content: "="; - color: #944; -} -#pma_console .message.pending:before { - opacity: .3; -} -#pma_console .message.collapsed>.query { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -#pma_console .message.expanded>.query { - display: block; - white-space: pre; - word-wrap: break-word; -} -#pma_console .message .text.targetdb, -#pma_console .message.collapsed .action.collapse, -#pma_console .message.expanded .action.expand, -#pma_console .message .action.requery, -#pma_console .message .action.profiling, -#pma_console .message .action.explain, -#pma_console .message .action.bookmark { - display: none; -} -#pma_console .message.select .action.profiling, -#pma_console .message.select .action.explain, -#pma_console .message.history .text.targetdb, -#pma_console .message.successed .text.targetdb, -#pma_console .message.history .action.requery, -#pma_console .message.history .action.bookmark, -#pma_console .message.bookmark .action.requery, -#pma_console .message.bookmark .action.bookmark, -#pma_console .message.successed .action.requery, -#pma_console .message.successed .action.bookmark { - display: inline-block; -} -#pma_console .message .action_content { - position: absolute; - bottom: 100%; - background: #ccc; - border: solid 1px #aaa; - border-top--radius: 3px; -} -html.ie8 #pma_console .message .action_content { - position: relative!important; -} -#pma_console .message.bookmark .text.targetdb, -#pma_console .message .text.query_time { - margin: 0; - display: inline-block; -} -#pma_console .message.failed .text.query_time, -#pma_console .message .text.failed { - display: none; -} -#pma_console .message.failed .text.failed { - display: inline-block; -} -#pma_console .message .text { - background: #fff; -} -#pma_console .message.collapsed>.action_content { - display: none; -} -#pma_console .message.collapsed:hover>.action_content { - display: block; -} -#pma_console .message .bookmark_label { - padding: 0 4px; - top: 0; - background: #369; - color: #fff; - border-radius: 3px; -} -#pma_console .message .bookmark_label.shared { - background: #396; -} -#pma_console .message.expanded .bookmark_label { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -#pma_console .query_input { - position: relative; -} -#pma_console .mid_layer { - height: 100%; - width: 100%; - position: absolute; - top: 0; - /* For support IE8, this layer doesn't use filter:opacity or opacity, - js code will fade this layer opacity to 0.18(using animation) */ - background: #666; - display: none; - cursor: pointer; - z-index: 200; -} -#pma_console .card { - position: absolute; - width: 94%; - height: 100%; - min-height: 48px; - : 100%; - top: 0; - border-: solid 1px #999; - z-index: 300; - transition: 0.2s; - -ms-transition: 0.2s; - -webkit-transition: 0.2s; - -moz-transition: 0.2s; -} -#pma_console .card.show { - : 6%; - box-shadow: -2px 1px 4px -1px #999; -} - -html.ie7 #pma_console .query_input { - display: none; -} - -#pma_bookmarks .content.add_bookmark, -#pma_console_options .content { - padding: 4px 6px; -} -#pma_bookmarks .content.add_bookmark .options { - margin-: 1.4em; - padding-bottom: .4em; - margin-bottom: .4em; - border-bottom: solid 1px #ccc; -} -#pma_bookmarks .content.add_bookmark .options button { - margin: 0 7px; - vertical-align: bottom; -} -#pma_bookmarks .content.add_bookmark input[type=text] { - margin: 0; - padding: 2px 4px; -} -#pma_console .button.hide, -#pma_console .message span.text.hide { - display: none; -} -#debug_console.grouped .ungroup_queries, -#debug_console.ungrouped .group_queries { - display: inline-block; -} -#debug_console.ungrouped .ungroup_queries, -#debug_console.ungrouped .sort_count, -#debug_console.grouped .group_queries { - display: none; -} -#debug_console .count { - margin-right: 8px; -} -#debug_console .show_trace .trace, -#debug_console .show_args .args { - display: block; -} -#debug_console .hide_trace .trace, -#debug_console .hide_args .args, -#debug_console .show_trace .action.dbg_show_trace, -#debug_console .hide_trace .action.dbg_hide_trace, -#debug_console .traceStep.hide_args .action.dbg_hide_args, -#debug_console .traceStep.show_args .action.dbg_show_args { - display: none; -} - -#debug_console .traceStep:after, -#debug_console .trace.welcome:after, -#debug_console .debug>.welcome:after { - content: ""; - display: table; - clear: both; -} -#debug_console .debug_summary { - float: left; -} -#debug_console .trace.welcome .time { - float: right; -} -#debug_console .traceStep .file, -#debug_console .script_name { - float: right; -} -#debug_console .traceStep .args pre { - margin: 0; -} - -/* Code mirror console style*/ - -.cm-s-pma .CodeMirror-code pre, -.cm-s-pma .CodeMirror-code { - font-family: Monaco, Consolas, monospace; -} -.cm-s-pma .CodeMirror-measure>pre, -.cm-s-pma .CodeMirror-code>pre, -.cm-s-pma .CodeMirror-lines { - padding: 0; -} -.cm-s-pma.CodeMirror { - resize: none; - height: auto; - width: 100%; - min-height: initial; - max-height: initial; -} -.cm-s-pma .CodeMirror-scroll { - cursor: text; -} - -/* PMA drop-improt style */ - -.pma_drop_handler { - display: none; - position: fixed; - top: 0; - left: 0; - width: 100%; - background: rgba(0, 0, 0, 0.6); - height: 100%; - z-index: 999; - color: white; - font-size: 30pt; - text-align: center; - padding-top: 20%; -} - -.pma_sql_import_status { - display: none; - position: fixed; - bottom: 0; - right: 25px; - width: 400px; - border: 1px solid #999; - background: #f3f3f3; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: 2px 2px 5px #ccc; - -webkit-box-shadow: 2px 2px 5px #ccc; - box-shadow: 2px 2px 5px #ccc; -} - -.pma_sql_import_status h2, -.pma_drop_result h2 { - background-color: #bbb; - padding: .1em .3em; - margin-top: 0; - margin-bottom: 0; - color: #fff; - font-size: 1.6em; - font-weight: normal; - text-shadow: 0 1px 0 #777; - -moz-box-shadow: 1px 1px 15px #999 inset; - -webkit-box-shadow: 1px 1px 15px #999 inset; - box-shadow: 1px 1px 15px #999 inset; -} - -.pma_sql_import_status div { - height: 270px; - overflow-y:auto; - overflow-x:hidden; - list-style-type: none; -} - -.pma_sql_import_status div li { - padding: 8px 10px; - border-bottom: 1px solid #bbb; - color: rgb(148, 14, 14); - background: white; -} - -.pma_sql_import_status div li .filesize { - float: right; -} - -.pma_sql_import_status h2 .minimize { - float: right; - margin-right: 5px; - padding: 0 10px; -} - -.pma_sql_import_status h2 .close { - float: right; - margin-right: 5px; - padding: 0 10px; - display: none; -} - -.pma_sql_import_status h2 .minimize:hover, -.pma_sql_import_status h2 .close:hover, -.pma_drop_result h2 .close:hover { - background: rgba(155, 149, 149, 0.78); - cursor: pointer; -} - -.pma_drop_file_status { - color: #235a81; -} - -.pma_drop_file_status span.underline:hover { - cursor: pointer; - text-decoration: underline; -} - -.pma_drop_result { - position: fixed; - top: 10%; - left: 20%; - width: 60%; - background: white; - min-height: 300px; - z-index: 800; - -webkit-box-shadow: 0 0 15px #999; - border-radius: 10px; - cursor: move; -} - -.pma_drop_result h2 .close { - float: right; - margin-right: 5px; - padding: 0 10px; -} - -#composite_index_list { - list-style-type: none; - list-style-position: inside; -} - -span.drag_icon { - display: inline-block; - background-image: url('getImgPath('s_sortable.png');?>'); - background-position: center center; - background-repeat: no-repeat; - width: 1em; - height: 3em; - cursor: move; -} - -.topmargin { - margin-top: 1em; -} - -/* styles for sortable tables created with tablesorter jquery plugin */ -th.header { - cursor: pointer; - color: #0000FF; -} - -th.header:hover { - text-decoration: underline; -} - -th.header .sorticon { - width: 16px; - height: 16px; - background-repeat: no-repeat; - background-position: right center; - display: inline-table; - vertical-align: middle; - float: right; -} - -th.headerSortUp .sorticon, th.headerSortDown:hover .sorticon { - background-image: url(getImgPath('s_desc.png');?>); -} - -th.headerSortDown .sorticon, th.headerSortUp:hover .sorticon { - background-image: url(getImgPath('s_asc.png');?>); -} -/* end of styles of sortable tables */ - -/* styles for jQuery-ui to support rtl languages */ -body .ui-dialog .ui-dialog-titlebar-close { - : .3em; - : initial; -} - -body .ui-dialog .ui-dialog-title { - float: ; -} - -body .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { - float: ; -} -/* end of styles for jQuery-ui to support rtl languages */ - -/* Override some jQuery-ui styling to have square corners */ -body .ui-corner-all, -body .ui-corner-top, -body .ui-corner-left, -body .ui-corner-tl { - border-top-left-radius: 0; -} -body .ui-corner-all, -body .ui-corner-top, -body .ui-corner-right, -body .ui-corner-tr { - border-top-right-radius: 0; -} -body .ui-corner-all, -body .ui-corner-bottom, -body .ui-corner-left, -body .ui-corner-bl { - border-bottom-left-radius: 0; -} -body .ui-corner-all, -body .ui-corner-bottom, -body .ui-corner-right, -body .ui-corner-br { - border-bottom-right-radius: 0; -} -/* Override jQuery-ui styling for ui-dialog */ -body .ui-dialog { - padding: 0; - border-color: #000000; -} -body .ui-dialog .ui-dialog-titlebar { - padding: .3em .5em; - border: none; - border-bottom: 1px solid #000000; -} -body .ui-dialog .ui-dialog-titlebar button { - border: 1px solid #999999; -} -body .ui-dialog .ui-dialog-content { - padding: .2em .4em; -} -body .ui-dialog .ui-dialog-buttonpane { - background: #D3DCE3; - border-top: 1px solid #000000; -} -body .ui-dialog .ui-dialog-buttonpane button { - margin: .1em 0 .1em .4em; - border: 1px solid #999999; - color: #000000; -} -body .ui-dialog .ui-button-text-only .ui-button-text { - padding: .2em .6em; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/css/navigation.css.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/css/navigation.css.php deleted file mode 100644 index ea34ab97..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/css/navigation.css.php +++ /dev/null @@ -1,423 +0,0 @@ - - -/******************************************************************************/ -/* Navigation */ - -#pma_navigation { - background: ; - color: ; - width: px; - overflow: hidden; - position: fixed; - top: 0; - : 0; - height: 100%; - border-: 1px solid gray; - z-index: 800; -} - -#pma_navigation_content { - width: 100%; - height: 100%; - position: absolute; - top: 0; - : 0; - z-index: 0; - padding-bottom: 1em; -} - -#pma_navigation ul { - margin: 0; -} - -#pma_navigation form { - margin: 0; - padding: 0; - display: inline; -} - -#pma_navigation select#select_server, -#pma_navigation select#lightm_db { - width: 100%; -} - -/******************************************************************************/ -/* specific elements */ - -#pma_navigation div.pageselector { - text-align: center; - margin: 0 0 0; - margin-: 0.75em; - border-: 1px solid #666; -} - -#pma_navigation div#pmalogo { - - background-color: ; - padding: .3em; -} - -#pma_navigation div#recentTableList, -#pma_navigation div#FavoriteTableList { - text-align: center; - margin-bottom: 0.5em; -} - -#pma_navigation #recentTable, -#pma_navigation #FavoriteTable { - width: 200px; -} - -#pma_navigation #pmalogo, -#pma_navigation #serverChoice, -#pma_navigation #navipanellinks, -#pma_navigation #recentTableList, -#pma_navigation #FavoriteTableList, -#pma_navigation #databaseList, -#pma_navigation div.pageselector.dbselector { - text-align: center; - margin-bottom: 0.3em; - padding-bottom: 0.3em; - border: 0; -} - -#pma_navigation #recentTableList select, -#pma_navigation #FavoriteTableList select, -#pma_navigation #serverChoice select - { - width: 80%; -} - -#pma_navigation #recentTableList, -#pma_navigation #FavoriteTableList { - margin-bottom: 0; - padding-bottom: 0; -} - -#pma_navigation_content > img.throbber { - display: block; - margin: 0 auto; -} - -/* Navigation tree*/ -#pma_navigation_tree { - margin: 0; - margin-: 1em; - color: #444; - height: 74%; - position: relative; -} - -#pma_navigation_select_database { - text-align: left; - padding: 0 0 0; - border: 0; - margin: 0; -} - -#pma_navigation_db_select { - margin-top: 0.5em; - margin-: 0.75em; -} -#pma_navigation_db_select select { - background: url("./themes/pmahomme/img/select_bg.png") repeat scroll 0 0; - -webkit-border-radius: 2px; - border-radius: 2px; - border: 1px solid #bbb; - border-top: 1px solid #bbb; - color: #333; - padding: 4px 6px; - margin: 0 0 0; - width: 92%; - font-size: 1.11em; -} - -#pma_navigation_tree_content { - width: 100%; - overflow: hidden; - overflow-y: auto; - position: absolute; - height: 100%; -} -#pma_navigation_tree_content a.hover_show_full { - position: relative; - z-index: 100; -} -#pma_navigation_tree a { - color: ; -} -#pma_navigation_tree a:hover { - text-decoration: underline; -} -#pma_navigation_tree li.activePointer { - color: ; - background-color: ; -} -#pma_navigation_tree li.selected { - color: ; - background-color: ; -} -#pma_navigation_tree li .dbItemControls { - padding-left: 4px; -} -#pma_navigation_tree li .navItemControls { - display: none; - padding-left: 4px; -} -#pma_navigation_tree li.activePointer .navItemControls { - display: inline; - opacity: 0.5; -} -#pma_navigation_tree li.activePointer .navItemControls:hover { - display: inline; - opacity: 1.0; -} -#pma_navigation_tree ul { - clear: both; - padding: 0; - list-style-type: none; - margin: 0; -} -#pma_navigation_tree ul ul { - position: relative; -} -#pma_navigation_tree li { - white-space: nowrap; - clear: both; - min-height: 16px; -} -#pma_navigation_tree img { - margin: 0; -} -#pma_navigation_tree i { - display: block; -} -#pma_navigation_tree div.block { - position: relative; - width:1.5em; - height:1.5em; - min-width: 16px; - min-height: 16px; - float: ; -} -#pma_navigation_tree div.block.double { - width: 3em; -} -#pma_navigation_tree div.block i, -#pma_navigation_tree div.block b { - width: 1.5em; - height: 1.7em; - min-width: 16px; - min-height: 8px; - position: absolute; - bottom: 0.7em; - : 0.75em; - z-index: 0; -} -#pma_navigation_tree div.block i { - border-: 1px solid #666; - border-bottom: 1px solid #666; - position: relative; - z-index: 0; -} -#pma_navigation_tree div.block i.first { /* Removes top segment */ - border-: 0; -} -/* Bottom segment for the tree element connections */ -#pma_navigation_tree div.block b { - display: block; - height: 0.75em; - bottom: 0; - : 0.75em; - border-: 1px solid #666; -} -#pma_navigation_tree div.block a, -#pma_navigation_tree div.block u { - position: absolute; - : 50%; - top: 50%; - z-index: 10; -}#pma_navigation_tree div.block a + a { - : 100%; -} -#pma_navigation_tree div.block.double a, -#pma_navigation_tree div.block.double u { - : 25%; -} -#pma_navigation_tree div.block.double a + a { - : 70%; -} -#pma_navigation_tree div.block img { - position: relative; - top: -0.6em; - : 0; - margin-: -5px; -} -#pma_navigation_tree li.last > ul { - background: none; -} -#pma_navigation_tree li > a, #pma_navigation_tree li > i { - line-height: 1.5em; - height: 1.5em; - padding-: 0.3em; -} -#pma_navigation_tree .list_container { - border-: 1px solid #666; - margin-: 0.75em; - padding-: 0.75em; -} -#pma_navigation_tree .last > .list_container { - border-: 0 solid #666; -} - -/* Fast filter */ -li.fast_filter { - padding-: 0.75em; - margin-: 0.75em; - padding-: 35px; - border-: 1px solid #666; -} -li.fast_filter input { - padding-: 1.7em; - width: 100%; -} -li.fast_filter span { - position: relative; - : 1.5em; - padding: 0.2em; - cursor: pointer; - font-weight: bold; - color: #800; -} -/* IE10+ has its own reset X */ -html.ie li.fast_filter span { - display: none; -} -html.ie.ie9 li.fast_filter span, -html.ie.ie8 li.fast_filter span { - display: auto; -} -html.ie li.fast_filter input { - padding-: .2em; -} -html.ie.ie9 li.fast_filter input, -html.ie.ie8 li.fast_filter input { - padding-: 1.7em; -} -li.fast_filter.db_fast_filter { - border: 0; -} - -/* Resize handler */ -#pma_navigation_resizer { - width: 3px; - height: 100%; - background-color: #aaa; - cursor: col-resize; - position: fixed; - top: 0; - : 240px; - z-index: 801; -} -#pma_navigation_collapser { - width: 20px; - height: 22px; - line-height: 22px; - background: #eee; - color: #555; - font-weight: bold; - position: fixed; - top: 0; - : px; - text-align: center; - cursor: pointer; - z-index: 800; - text-shadow: 0 1px 0 #fff; - filter: dropshadow(color=#fff, offx=0, offy=1); - border: 1px solid #888; -} - -#navigation_controls_outer { - min-height: 21px !important; -} - -#navigation_controls_outer.activePointer { - background-color: transparent !important; -} - -#navigation_controls { - float: right; - padding-right: 23px; -} - -/* Quick warp links */ -.pma_quick_warp { - margin-top: 5px; - margin-: 2px; - position: relative; -} -.pma_quick_warp .drop_list { - float: ; - margin-: 3px; - padding: 2px 0; -} -.pma_quick_warp .drop_button{ - padding: 0 .3em; - border: 1px solid #ddd; - background: #f2f2f2; - cursor: pointer; -} -.pma_quick_warp .drop_list:hover .drop_button { - background: #fff; -} -.pma_quick_warp .drop_list ul { - position: absolute; - margin: 0; - padding: 0; - overflow: hidden; - overflow-y: auto; - list-style: none; - background: #fff; - border: 1px solid #ddd; - border-top--radius: 0; - border-bottom--radius: 0; - top: 100%; - : 3px; - : 0; - display: none; - z-index: 802; -} -.pma_quick_warp .drop_list:hover ul { - display: block; -} -.pma_quick_warp .drop_list li { - white-space: nowrap; -} -.pma_quick_warp .drop_list li img { - vertical-align: sub; -} -.pma_quick_warp .drop_list li:hover { - background: #f2f2f2; -} -.pma_quick_warp .drop_list a { - display: block; - padding: .1em .3em; -} -.pma_quick_warp .drop_list a.favorite_table_anchor { - clear: left; - float: left; - padding: .1em .3em 0; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/arrow_ltr.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/arrow_ltr.png deleted file mode 100644 index 7ff8ed9c401285f840655155451c9bd20c3f13f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^YCtT;!2%@N{M0&t6id3JuOkD)`V;1?T`z%rCr=m0 z5R22v2@+lp>~~5@7D^oTSmk)b|5{cHU9 zzxm()j{k2P|9@!&YM-w1^BvF##*!evUgY*Ujs_lgb$3Tc!BegYYKIvZMCJ)q{$-S^0h#LQ>gTe~DWM4f>ZmF! diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_calendar.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_calendar.png deleted file mode 100644 index 34381b3991e9c9774fdd11b2a89c9e08f8bb630b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFPl>CJ3B3puxe&W5B>5bzkdzgVdraAUAlr`njxgN@xNAY79TA diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_chart.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_chart.png deleted file mode 100644 index 0e2cc49dd84aabe47e18ddcaaf002b501292a277..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 402 zcmV;D0d4+?P)86{ug05?H{lViy>eH-ar^SEJZb}vV7M|u8Q2p}5HJi&PMN32pD@kp#I<_^Gqw_%3~T?=V$#OVvF71M@|b`G@rd$uv?zkvGnNL~tQ w%A}Hs(`Vcj!ud0R5)p{VlOh=rBA3Sb2fYU8YUu6vVE_OC07*qoM6N<$f+SC{q5uE@ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_close.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_close.png deleted file mode 100644 index 2c234b6f645feb0247d0d749ae3207e12467e7fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6sy$sCLp08B?cd1TV8FxT-!#cG zAfnaLi0!n2BbOJK*#eg&*0KsNpMZcM#e0*IfByX_y>HQ`@@EPCcO6a_P2IXxOwG!S zfyLzgd>JPCuz*$-#!dDXr7dCa8yB96PKY=6~P%!_VW>UIGO@8~%gg-7XrUL!QRTAVE%<%jF|L@=HdOAKmx-Fp# z6z%tPaSV|N?>%!|tSNxU^`eAMiFVhbB*r86s^9e|Glb zIaiR%c&9AbrtDGDhTn@#4*)H%(_mYDTbjW~OufckeBuo8AC2zzbt$SLDL)uexAV>p T*VnNFI*q~8)z4*}Q$iB}pHtKx diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_comment.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_comment.png deleted file mode 100644 index 203c880528973158667c00345264d085ea3f9ae9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363 zcmV-x0hIoUP)XNX89&t;1IY~iB5g}b`;I}57H)u9Xv52ps3E6Z%$K62^glN+BO+mx5>8M6y*S=5&H0Et5~AtqGHV11*HwguotZTqz5!soY0%+}b;m~a<2?&BpTX1B&t;ucLK6TS C^)KQ8 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_deltbl.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_deltbl.png deleted file mode 100644 index 0e3fb2995d19be32153804d20329ef0cde79f79c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFmzkcFPEelF{r5}E*geKfiN diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_drop.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_drop.png deleted file mode 100644 index 510bb2888557cec0465651f0688bb80931e36982..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmUzPnffIy#(^}JzX3_ zEKaYTbddLe0SEJ5Ve5@RH2HUid?*v=mW@;VH}JPG_?-xO$>2LxbU*VPy9_6$EgLO< zT-wF_a`oDkJ*@Z4dJ?>Yx6^96;_8jt1;iD<#zj3#tYTJL>g=VcxAjBN fT!a56R_nMwzRWo;TDD{z&}s%xS3j3^P6gqOhw6jl{#WHi|nOO`Bvr0JUm2obs5m>X3ah)W~ zx^<5>FJsuP%6?!e;~^vVLnfTZHARm{ik>jyJ9Fm$S!>PnmZ}%$Fd_BbQ^Elhz#XbMeF!cPY{s^>~u_VYZn8D%MjWi%9#M8wwL?XQQc%+zv zf(XNf>6(*H=zQMuU-s9VsfYjWW~gsFR#TtLT4%Z5d+y82e{yzfT?@Zh>+_>)>F*AG x$;1l8s zq=BHN1&CT^&OCGM*s=fr8UFwOfB3!G37`aHNswPKgTu2MX+Tb%r;B3<$92=Qj$922 z0<90#OBs%zh`hb5)ME?pC$@)-MVGBQ_S7w&xH|utyugom=|i_F;y0cxydGd#Zuy(v z(61?a)_ayc?CVY%%9<`cx@(e$nYg!+df_YXH=k!PO?6W~-cUM??NY-fx69w_B^$+m Wg$au{Ts%4#~=FE8*g zFgI%%>p?*4LP70BL+(UF??pv7YZ>Bxd*gq6?T3Z#h=%Wpi13Pu?<_0;001{NGB;}( zI&LCNdofK%M^lU_R8~?~k1bnWSzCidTvtN@iYLW{yvCmtcXbVTZY3hq_>k zx?+sHWsSOIj;no-yK0ZTXO@|hnVgrLw2z>npP{6mq^6;yrlO{&rKhQ*r>Uf=tEQ`~ zr>m~0tgfo9ud1!DtFEuCud%GL(~z;&lCsj3v$V0a)Rnckw6@fox4E^ry0*Ewx4OKy zzrwt~!o9-9!NkSF#a33u#>2(O!^p_R&(Y1$=DN|+(9_e=)7H<_*3#A4)YjI}*4Wk8 z%f#2%)7RS7+On+LxwqQd)7zGo-QU{Zk&WTGwBggw;pE=pxwYct;p3K(E-E~m+70B>FMa{>*(s|+I_6?&|IB?CtLD z?&|69@$K;O@bbXE^7HZYTU+y^qV%Mr^!4-h%**!n_4fDm_n4UYot^l=!1&F~`1tqu z`1ttw_xbwy`uqC(>+1Xb`~3X;{r&v@{{H{}{}Qke*#H0lA#_qsQveuKh>WD9q@=sM zyV2I(-rnu)^7Hfa^Yi!l`T6 zKy%oeW22qaVkWjXmPCd(u`w|4*9Dce+9~PS*H>q`*YGniC{%d#P3h3G)=*Teax7K= zswfR@nKR8%*Cr#iz_SRbg0(z8Y0><7)2B?ZH8jxX0oo#(7tpbE$>IeTMuCZznk)@za%GcxWoGw(7o?=&*-G&JorGww7r?=>~=FE8*gFzZ1;>q0^8L__XG zL+?dJ;(mJKetYA8d*gq6?T3Z#h=%Wpi13Pu?<_0;001{NGEGNER8~@3U0GaLQ(a$M zW?oyCnUk5Em!P4ap`@RrrlF*!qNb;%r>Uc-sidi^rmL%`tFEZ5uBxoBs;#f8t*@)D zudJ`Jth2PSwYapmxwW{uwz;{ty1ci&zPZ1`yuZS|!o|VE#K6SG!o^lr#m2+M$HU0T z#mLIX&C$%y(aq7)(9+Y;)6>z@*3Z<|($&?^)!Ee6*3j12)z{0!*Vxn7+SSpk&WTGwBggw;pE=pxwYct;p3H&%?;>6(}6o0#e8=;`a|>gVO^?C9(4>g?|7?d|OC?(OdC z>F@CE@A2*M@$mA%zVh?&^IKc{{H^vX)6E#0013yQchC<7*nLAq@=sMyWZa3 z?d|jP^Yioh`T6A

    h|n$XfH z%*hDh^GR1Zm}#2Wl}Pb{MK~m*^&{#!^E`C}B-lavg|hWjqB`1Z%0qS11cBzT7P>fT z%R4ue<|o+O6tFNbaOYSg6|2iBY2;>x7-VrXFvz4D);5o-U3d9M^r%9OOJ;z|oqh`sJQX z%mQJNn1g%?lehoZ>g8Ja{>x`hp|@KtLzMZdwU$ZR9Bj%{Vo+|5kE{&}p876m;voml n-8nC_HN*dKJG#oe*v@b5ESUOd=8hXc;~6|%{an^LB{Ts5`?N!p diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_favorite.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_favorite.png deleted file mode 100644 index 8478bc886183c6e71a45c4d6b7cd63b0aef7dc6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 411 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM*tC0X`wFKADA^>KG38GMt;mu(gq4eKo`0PKK3b47ZmvTwTa;Y!buj3Won5 zX8(WP^8abx|7$uxW&a<9|G(|<|B}@IpNIZ`-SGeaU7)VlyV!v$Z!BSWdnNDH`HcU6 zF5O+paA_XHyHk$OPlUhOD-1MtXDh?oV+QZf2LUYt+W7Hm^8X)ufmWQF#&B&B!~gSK zH&^fit^R+8;jwh;cAyJ+N`m}?85$fK9QHdj0D(inCdoHI@orBS#}En0(1WaEO%4pK z2mE)oG_JdJSN8kIW_ZuD*{QO>LHm?=xY&ayzc#K;&1sn#G%Iz=rN{%v z%G8dBiQJwkBQ0Gn8_R5Pr?7ORA~&PE7*h?S!XDmOwj)e4fX-s@boFyt=akR{0Q|GF A(EtDd diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_find_replace.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_find_replace.png deleted file mode 100644 index af64a917abbd96e4091247b604d55748a3d0c686..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmV;(0XP1MP)Px#iaHer44>QC5{}N|*f8#9# O+2iTz=d#Wzp$Pz+1Tz8v diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_group.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_group.png deleted file mode 100644 index 4530760bad39d6c857ed2f15d08c2e96e92e6e6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 796 zcmV+%1LOROP)U7S{={Y-RUl(F{73;lv z_~3c?7$QP7$yc;|AYwT-1rYD>)?1z&s>J2>i8!N~@u7kh}kW3OrMu!E4VZs1_ zzGhfIcIF3V|1dqQt|6b-NAt4_bou1fgfi0|} z)zzP)Oi7(F@k zfQgE;z`f+gK-YW3r`q6Na%1q-5JIYqU@(Y)-;WiK4>@^7Ca`G#8whJ`nb}eRug?cb zlCb9S!n?7%A#@UzeA2JwYZzN}45F9Vxfzbm4 zz5Q6$@aVoD4!cN1)P-!0ERRe^g1vs7g4~d*FoiYh+Ati4*&wkqTqBk;+LW$3Z&;` z;ms!wVF3KjiBx%GkxxHc3j+O9W&nhOUW7FjiU@5t&^*v~y-L)Z!jXKSYzH_+RUPF| aDD(%1fh}_Q#_Q4m0000(;I3&Yin=@80|O@BcF}{Qv)7?Z7LLDU2mSe!&b5 z&u*jvIZ2)_jv*Y^lM@`+*m6!LSUoqmttN1`EZ|s!GHa*p*n~WUGW4wwECoS9ha)ORi ppOWwXpk|%wf3A|pFR}lrU{pOT$P)WP-yCQIgQu&X%Q~loCICs9LjC{% diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_index.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_index.png deleted file mode 100644 index 11064c1b4eb4eb904e903ba2a21e87f0eb3e5f81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF;1l8s zq=6tUEv=!UVdl&;|IZlz|3CBp|Nnm4r__NGj3q&S!3+-1ZlnP@p`I>|Asp9}6B-!R zR1E?W5{e3o3Jv{58I0$gW@0@M^lW95!^%&KiZ(kGDlFcxVn@gZ8J#3KDXyU42o;S8 vuF&MZb<1o5_Q>cki8OSGbTvyFcqcM2STjqD=w=&&9LnJ7>gTe~DWM4fo%27o diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_index_add.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_index_add.png deleted file mode 100644 index f4120e73ac061fef13c7043505af1ddf8b6f483d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM*t*0G|+7pUgrabLPx5|IZkkXG{M7|357)4ak6?hK7d!|7UKxG_`+Edhf0j zpkQ#1#>Q)tdiJEY?@HKmW$J}zyBb#~_V3QxczHtm&V-56RJL826Wiex-mhCUJ)wJ7 zl25hal0}ATeg0N?N-=Hj;d$O}zxCe%t>h{R@(X4F+Sl>_|MyQlQu1msK+#%H7sn8Z z%c=dHe9ZP7YX7S8ndy6yIqp%%`fdi8VwA6aXE<;OXk;vd$@?2>>4|j_3dY diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_info.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_info.png deleted file mode 100644 index cfd49e52825fe193ee30da19ad8b2980574cf9cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-v3?#1{n!goDv7|ftIx;YpDpmAk$8dEi8^dD{E$U zfIwZANL}5Aj&}Abvsh-%JTr@dVO9y}yfV&ZH3DlEGOkU1@N}0was8tDnm{r-UW|iL`X7 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_insrow.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_insrow.png deleted file mode 100644 index 05328711810a5b1fb09590b0e13731256435e4d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFYV@)6&iW!T&SHHqX8+017dd1o;IsI6S+N2IRPTx;Tb#Tu)ADV03eIWMpGgV`EE8 zPF8UCWISTf(5c~YRYKEYD)UpxgHltbOp%C{X<#y7i(y&DwvIcG???*UjM#$Pk`fHA XZX8i5EdLe*O=R$N^>bP0l+XkKOJFo0 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_key.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_key.png deleted file mode 100644 index 44d8f8c86e0077a9ecde85eddfc3a03453962799..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr-fh6Be*}czgfu=Vo4N zXfR3UP{T~)^9Kxj_=9YUpZW0c7_+Qrd@*a|$B$Kv)8AU~Ii# zv5VoZz>KsxYzuZXh~>W6*1xMEOi!U@qOqV`+9DPPh8N5Kuh_g@zopr E08)q?5&!@I diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_more.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_more.png deleted file mode 100644 index 681f862beb8481529dd09ed734d206d5a3511187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6yggkULp07Go#4oIz<`4#-Mj9M zb#W&@~$kZsdX+Ko5oG4dc_f%-7 f3)A%3e^}$LPUPdc#&w|?Xe@)LtDnm{r-UW|z^E$2 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_move.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_move.png deleted file mode 100644 index 1ce3b1cb38d1f40b4cd2f2662e2a25dca322a33c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFnp&a@ zWTvI1&767W|Ns9+&%<_u)RhGJ1v5B2yO9RuSb4fQhHzX@PH13MRaNCUeB%a3FXJR3 z2E&+`IT8nX939mi6&gAXnp`Cg@GRg6V4TGf!@Ef@WpW||Ln9N%x47aTKtmW9JYD@< J);T3K0RZ4sFtY#v diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_newdb.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_newdb.png deleted file mode 100644 index fccc394944686e85e53d21efa758af5b0a7f6a81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLld%8G=NL)@m?Jd^iAmDs4#4GpD zqCL0%N6j_4;FY%1aw4DSLYGsq0nX`$C+5Ds*EsX&jd#`6OzWp_LwAboFyt=akR{ E0JPj@#Q*>R diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_newtbl.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_newtbl.png deleted file mode 100644 index 7402ad88c49380624371617700060e098ef0178e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlK0f>DBVo5mEZgMkl2@(ry6`ydx81Dw414};xz3#) ze|Lh4V8H?RJ1#*iy!R4kxiYZ)XK4_c(iUlz5oCK diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_nextpage.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_nextpage.png deleted file mode 100644 index 6169d5386ea64f38824ae8c4f8cfb2992254b90d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373 zcmV-*0gC>KP)#}=6tE)eyHJqs^fsG>Vd1`fve+(ujGfY=!&uA zkhSNMx9FL>>6yFgp~38sKqNJ&;v*Psr zxXAaY00017NklCEiTc6W#E($cNAhOM<-LLt#GJ9D<3u)DL& zOuJhilu&NfKxqT5<%Y%uY+3WOldxVHF zBxjSIo$q|-`+sMC=bUe5AEvXu?#21VON%WQ%lz6Je*^q|%=kY1AUu{(3mV~1QFCRW z(qb9ydgM>xA!t9KHN3dSGV=K|w=9-bJLF)K-V|8Ni%PUqkdzQ8O-AFem&M{;os0|O zW}sU`pjnQU+ip)x+N`ovZd>mRFoAd#Xpw8Ss-SUeT~OS*S@cM@)xKhHl7|9OpbOSy zG!oPJWVtP+%foY{nYLL|UG&Z6wn`(RwJA_!4UW&v^>#`EF8oEMAY1PYZHX~8)lew;FJeMe@W!OQA zbW(`ZY$-z*3X;TJOuSW%q=qJmG>CvGi0K-PV++Q`TNGW4r zZ!}skwWe3MK?E731tYa!dmPXWKvP;(5mdLqOIcRv>UBAspPXq*hG*8XgQPr5nBhr> zrItc^hP?1v`6?9%x}pXZCE`o3vidASYgLuCWW5}dl!UgzOQXH>Q=JzAenAI5JHxmr zhNJAxAj|P~2k+!oGEUyXm_*V&5siQ%$>H{l2Fp>5gR*l$J6z5j&w0!mrko@mRB$&NrHR<`xuRr9>1J4h#4kUb;}TDJr$d_}ZAJ z3o#MY`hBpWRF);)<#c-()+17Y72p;Rb1upgDsxkAcNo}14!7hibEY5$0_N};(tbs3 zH8x5{T7uFd2#Ze6?xNgbkCS5DT!``rf<$rdFk^QBHpIBxS!q-F4C$9u85TJqV(Mdz z{%%tgkeQLHM%LicY&R`gxNuWttPyOP-kNnp@KLI>XScam<98-Dv0re5l!t zhUO#J#bn)Q&tyZIO;N^^P5R#32p__MugvLmz*{8Rj7HSUNf2rB%kU*f(y?F z@e*7J5WGon;rSq5f(rqHHwi90AH+*=AwcjZ!G-68cnK~92;L;P@O%(2!G!?9n*4T@Fo^lasJg>5QFd2 zCg6*+BhRfKgD>6guU{LiUMp|u-QRKOz|JGRyZU-Mdb>ONx;qYbbqpNoJa%Z$vHm@W z5AK|t7`-%g0iKTzADXy0{Nebi@zG-=L%r9oPF=Y?as2Qe7zIU65A3~u{n}@rUKu>{ z<_BY^FN_Zjz1w|esDE_$Xn)TRD1PFdy~C$_#?A~t{r67pgGt{%J8<>N)cLVfFgr|i zv~Tw(A@xZ(wt0F(U8AL7Uwtszd!HV1KYN~%bFgB;>wQt%^?%TWJm6yIe(6F)pt8?cb x?HAx-Nm=F1xy8qeUSG7SYU7;F@uENGEd6!f4<%15KM#jxsjaT_kF43W{cp5dEinK9 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_plugin.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_plugin.png deleted file mode 100644 index 6187b15aec001b7080b51a5f944f07591f26cc15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 591 zcmV-V0eEcNHZMNv|IbJ-M`( zKwWL~opzjJe^WpCmV9E;(0&ut2;4va_(#>M8)>9$R5viQnf(Nkh~VM$y>J(jqb$cj z+nL1Nm|mV)Gm|9MnHf*7Ja4OEAQz__^LRKOLEwqpiGV^^A*T=#&inGm-62Xs;dnSp zKj&H9T*boh2i)W+(n27l!C)>fq|L%VB1i ziC4p;NwV_}ZjW7$LRW#(_bKF#hp=!IqNO26Z*w2+LEwx{PVnZ&Sn}T;mtzb$;qA*nT@@+ zV5uQ@iXDTPoTbV#FRr~z04|PPh`wXTNoCm9*tG&?e3+fYl>K6+&3|Cc$KOpL`ER+_ dcRl5U#9zn6ZO}GFF@)oKazaAFiu42xc4c=7W{pD!7#OstGRt&c?9&9QVeoYI Kb6Mw<&;$VSJsuAL diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_primary.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_primary.png deleted file mode 100644 index 94f24073274cc67dc2b5fe20c96c91ddce93af27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl}7bjkKz4(h7SiAJ|1NFbco^eA%-u98NME2_6O`;`h!oaYv0s$F(%{oyF7(lKd5&?J}TYT^N`Ri+2x#ZPg5 zNmy(9M|s9fiQg~Xrus_+8Z=!jTs;sQ8tgNoZtk(auvb40ew7t5$#lpqK#>K_n z|Hb0}&C1Qq&dtr@_SMqO)za0~*45SK|JCaM-rC;Y-rnZo=H}++=JNmU>hA9D?)LWf z|NsA8KVwk<0004WQchC2$YFdjI=9=bkMHLU8SaG3Y4xLkJ&gBJifBaHS@&gG=$cLpnkQiYigMX{3~8Wv%@- zs0g^xPg&a<5p(9CGTKN)qw|9Y!EgPIV2m9-v<)WlhKcMHdFa~y0gFSKbq_)u`8rBbBj1WuGkc^iA0000>X diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_props.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_props.png deleted file mode 100644 index 5ea2251b00d56eff27bc3240e57ca4300a1d76e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFzhDN3XE)M-9B)q-#}JO|t$hbM85}v7uk-Ol9oVK2 zrm*DyEWhckyYHV>cW!zR70+;Y@+3+3Ge+Nq6drM`ed(#C<>Wr+*)4UI?(m8wG9Tu% cHSd$RDf!LwYWDSsb3m4Qy85}Sb4q9e0LJV=r2qf` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_relations.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_relations.png deleted file mode 100644 index 0ef2521dc25888bd1b5dc1b42a4654da28176109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmUzPnffIy#(@k0(?ST zfiw`zoO$N||NrkdJ6!;B7)yfuf*Bm1-ADs+>^xl@LpWqv4{qc=puodmp!}6V%x#M8 z_Y3M)#UXrW7`HO+OG^3ZV*GuosBX6G#T()mBd?uIa{K(|bjPvk1N>3_eBVvP)r>%v Nc)I$ztaD0e0sw47Hc0>g diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_report.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_report.png deleted file mode 100644 index 779ad58efc5776825ef81064a042eceba274a928..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 649 zcmV;40(Sk0P)sm$HQ(N)Ek< zrc#vXMLdW}TWpphCZsGREkUZr{Mg;M&b;luZ0IGA9rnH1`DVU1->eh_0hG(-dw<@) z-1S-xc+D!@wd^?Z=a`M%%phe@J_EnT0QpH7V3 jcG~XA#&PRl)Zh6(yXt(^KFGF}00000NkvXXu0mjfDwr>g diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_routine_add.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_routine_add.png deleted file mode 100644 index 2d144426014084e445312a9bac5449ff97a64ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 409 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf>Hwb**Z=?j1DQawp`pP!#lSgL z-#l9qh>A-Ji%SdFu3h8g>=+szY@Q_r6tu{cw#rj-Ni=p%GV!T44DQhYN`*y)g!k*l zw7JK2c%}9E=j3G-O;2cCo!GLVsC{Qb`>uqJuGa2dNj-Z~dv~SuudeIgoz=f5ed?Od z#k;0$ygXs!wMm;UP2F;3>b5I$&YwSb;n}W-4<9^w^x)mQHy=NK{Pg+Lj~_q&{rd-W z;XPkpkn4F%g8YIR7#W%F-2e3b*YDr|{>3lb848q`;OXKRB5^r6p@G@e)s-#ffKIN? z*`6cmkIYQXpQbsjm~Qs)(F3E2ZLfn&%$}z_GBFQ3vXbd2&xYEhMGny}M<0Cad?n3z zwD*f^Vpb*3S(DTyDkc>I%T}IxCAFe+v(lT%S1xS}2upWgA#iQ;h7A`UI?qsCup~io z{W;M1%flMIT(9jSO9Uc)K zHh;m~;*!F3>sA++7Oq{pX8ne>$4?v!4G(s5b_9|@6c!PZlb6-e)q3>kk@M%zJ$(4! z(W3|N-o5$w@#Ck@pT2+p{^Q4w-@kwV`SbhVzklgW!rdT?OM?7@85kLvHgEs->laA& z@4tUH>;j#Ea;2Uwjv*44OZy`E8Wea~8NW|;iVX;PSMMz?%;;QGpSvvo)C_*5O%^lF zth&<--{r}>KKObq?Cr9@qEgp8j!FJewUh1lXN+{Hls}{W_PS(TnBMW!^~n<#zSU{} zw5I#P<^u=)Y*Z)l-J0M!Vd?AL#~=MaQOVbJUwtw6^{a0d-2*y+!PC{xWt~$(69ALU BlOX^A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_save.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_save.png deleted file mode 100644 index 24a6bcb5d02096672c958d4f1c38d198f4723dbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 833 zcmWksTWAz#6h1Tm+;*}tk%SOq(Woz44T5Q?qJk!yn%Edbqiw+lNn(Al4M{dT+1<&y ztWb(HP^1(p1w~L0#I}i--OSF+&SfuA^WcMT*7iX}!KPR-c4z1E`{%&9a1NaBJDl(0 z(ZNIYVw(s6_5FR3VzajE2o>eylGmMhlmD4UBK9VX*C6mZezwe8s#|H0R63Y_Xg-?3Pk4g0<*z;tS@bbc+x0nhUYc#*E>faYkF zy{{WqR;+`VwBK{yN;9p=3+sUgM3I$jsZ!R=KhBNq5d^6Ij~N8eo+(Bk1JKKcCHB=~G`GJ7E2^anqYfOW*ZtznVkz z=Ja@X{HoKspY6Kz;)~8fSTDW$;mM77`|H_l&v!JVmVbv&O?>s^rT=a)&;MyS(|GRl z<@U*@zq<~$F3Ib5escTljx)KrZQ~uF-RY diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_saveimage.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_saveimage.png deleted file mode 100644 index 777fb5d2e6a8418c573972246582c21d2c4984e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 755 zcmVe)^Pp+~01yB`w`9=u(Ho~0 z&q0|Zy>{}2gZl=9K}x9u0000cnYNkw{OYaOaSqCHmHYkvAYHn)ZsML%y6Mn?Rm1M4 zCbIimL%-gdGZROY_IT&jL)x4YKv_2wMMsgSixr3VuIl&xwpoodZKLe>9X|MwKbLly z@9mW{08m0kQ6yEY>2=p_>};yqiMnYtv8~_l+pdQ83=1I;07}RxQW8y8wNsO(vNNsJ zxzT2%smQIeNFo9Nln_CYl7W3j+smTUwfx(8yZemmMmgIvlXtBAH}d|cf5_39J9FWB zT>bgZGbKb&6v=F7!JU=6<_61l#uG1|c+xA2v%dWPU+)_++yuBPsf8gS*uy8tE)TNP^?wUn|FBDi_)Ep5))oIO#kS?(pBVA^IE&o0V2 z1UkY@NmW(0wrgcXNO*bi9DvTz4L^KUm{e2mUH(gvXxc2dSs)?^X1ZCKKmdStIIqc} zY8#!Ri;%QZN+O4dtZAm|x={|gX;Yrg9Xs$WDG3lp>Fmkfnp~qGh?EV=o(rGc zc5iE2*(=lK&%R!Iu5ROK1ORQ0xsI-E$A>rGws+=HNnvgLk2jzGKw)59)ygxcj-Lkr zfNySo7mq#2f!UFlj-4>yTcBWLvS9zN#!QbgB`G2R0KijcuYCLXBg5zC`|}3n1DZUQ la+ac%)7bB~m#l70{SP&gLHlD?H{SpN002ovPDHLkV1hOfWCQ>J diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_sbrowse.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_sbrowse.png deleted file mode 100644 index 98e1254d9eaa1f060b68de31d2811c1a0eff94a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2hGm!icqpk;}SkfJR9T^zbpD<_bdI{un2Ka=y z0_mAE&;0-YKhkne8;~R8>Eal|aXmSKf$3rZy8#>H+E88|E*@SD69EQ>!W(Q8U*EK4 Q2dZQ6boFyt=akR{07|DFssI20 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_search.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_search.png deleted file mode 100644 index 13f6ee85b8b0708d653361301a943e87a52be301..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmV;r0Y(0aP)zeuTGvn7e;`seiccfQz_* zz3+mTwuZs*hnc~MkHV0~@R6g*k*3g-XE~Lw)RoZome=~4w%DBA{GsChquTbP-utAa zy`(}T$l0;a$~#&!s_nA^!>%|^Tzo8%KZP!_V~>E{LXC^ z&;I|>>+{k7|JDEh+W-IHZx7@A|K;oR=gOh%|Nr;@|NZ~}{-ihmpEUoWH~*_UCjC#= z00001bW%=J06^y0W&i*Hm`OxIR2Ugm!HE`uKmY~MrzBE@CR(gTvShT8ivRyB&crGA z0$)8<*U+%KI;OQ$@nhtv!Vl-3fQsyH$3xpc(lsi&#Vc<3agf0nGv20AnnvdV7|rZ^ zVf@I`eHV;qPkkC^dA>$vp*bf?qwLlO^SXD09Swqw3Z^J899r^Zgi28+L_)176C$Ek kJ`*CMfh0u4A5KEk8$0|E3!#*TX8-^I07*qoM6N<$f~5@Ti~s-t diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_select.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_select.png deleted file mode 100644 index 7f95764eef2122e80e5a8bf3186f23bbffe83b73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlF>+9RrH)LfurN=cdIMux1 zbW6vEmj3N+*{K~}YbQ_NHDlxT8Jn)poOx#M@>5H9++4cr#@Y&pEeCFGyZUZ>gY)() z@AvG#dMIE1$fK@KDH6T%|Nr$Ov74`c+-pg+fUVeM}{@3gO|G)hI z|9_#$|HVfCml*?@vmWPf0XmVfB*-tA!Qt7BG$5zm)5S4F;&O7r0frn61{DQOP0m9J z4FUl|Nl&LXaWyndn$fjxj)A#L_sW%;vnO=z+qTT4UDKuE;*{P{fA_Nv6Hkh)YjXFC zy&5n_cA-;9gj-ybx4^nXF4JaC?u0fhdEP)sftFu6}wY9XlP`SIiyT4$+z`wu7aK_Al%*>h0%*@Qs&&<`>*4f|M z+T`Tn;o;-sgw;;@A>cf`uO?(|Nm_;(3k)K00DGTPE!Ct=GbNc005s! zL_t&-83n>OG_}c5)a0U|NmLuz{CVXkYGvoIRgM7l!(lTgvhn2L(RXT zB*gmL7+PO)?8y2MN-MdvnknedW_%m_X}`}Dk@r&*`>*%UP5wNX=c3UMc`XZHq(e{!(~CBkk|FRz&z<1ZK{{{3J^9g+kPH*!2JdQ Z;2%kCJYaZ^uR{O;002ovPDHLkV1ld!#lQdn diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_sql.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_sql.png deleted file mode 100644 index c1c387e5bfb40f73359cd6ba77a9188e45fe697d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF;1l8s zq=6tUZDvD5!_1jy4jedehJoS#|Nj=6S0jNEj3q&S!3+-1ZlnP@VV*9IAsn)-2R8~H zG7w-n@V7y^_F;pQjfle%iSP#=qAUIWvR%3NJL8JPRq* diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_sqlhelp.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_sqlhelp.png deleted file mode 100644 index c9447b683ccdc4cab0ccc8751885d32f86e26774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmUzPnffIy#(@k0(?ST zfiw`zoO$N||NrkdJ6!;B7)yfuf*Bm1-ADs+>^)r^LpZJ{C-Cy}CQOLhn#I{Nq3&-L zXY-w1cLSVW$w0|$)z{M$G}Cy`@+2fAOkhc33llhaf`Q?0ptR$eqrrY4 OTRdI;T-G@yGywn_oHrW) diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_table_add.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_table_add.png deleted file mode 100644 index 89fa46aadc8565a03915cb874ac6dcf5814af3b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM*uQ0G|+7pUlFUGtU5dn=VZ?&zAiE|9@Iq8jt}&{d>}TcclQ?!95xquTARN zliI#3Vat`N7oP3v-<{RIGof*H;>ODp!uxf%U6~Wx;Z-y}p?g=7PqkrMpTC?HZ%mu} zlHD_`@|42!yahC8djqZEDhcunW&m2#@&Et#Pd!rdYB503L{AsT5Q)oE``!5(40u>B z`}n@td-%URr=b%km$=)l(-}1eihTFDbv2e&o!DOB$Kb%flXW+X^Mmw_yq~Kgjs`t< zz1g{>z3kn)u8AWJ=6{an^LB{Ts5Tf#Ia diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblexport.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblexport.png deleted file mode 100644 index 15ede205624cd86dcfd0431151d1da06fed74a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFg82^r!g4}XkcF9Xhc?66KZ54Mv+^H- OEb?^qb6Mw<&;$UX?lGPK diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblimport.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblimport.png deleted file mode 100644 index 4a998800f1302a0fcf8c94c9498cd06a7c838275..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFg82a_R8%!yyx~aMVX=#Wal*qFFE~Q{cXlX9a2$wbWH@|Wki9-Bs}W?4 Mr>mdKI;Vst092GRegFUf diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblops.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tblops.png deleted file mode 100644 index da5dbc16d532c82be47760a61f5a4186c7f485d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFR@tPyYj@8B2ovf*Bm1-ADs+;yqm)LpWqv z4{qc=WFW$N;J37maO93u=4}hg8m9=ZP)=nCkDG11iq&FWM(?jZSKgm3bk+S>qr0`g zVvF(Pe{L_c&$F4nYq%vW@txz!yxN01g40*nzU=c6;FzcF9NM% N@O1TaS?83{1OU6-Qi1>g diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tbloptimize.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_tbloptimize.png deleted file mode 100644 index 04e7c3ebd3d4726916a749aa7442166acf524500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF zp`@OorJuF8vA@E*H)|QVyR^Q+x`>K|ij0S|wy%AFd5MdLa&&Hqi-x+rwwRigp`)Fs ztE8!{rnb4VyuZ0OYZ*FjB20TRQ;aBAk1be(L|uqVW{yv2fLn2MZE}}je41*3t6_(U zgNM0bhq_>hiiL=ZhKssljJ#!yx@3>LYLC2UnVXiKpqa7Lkg?X1vbC;M1%?vyx-0000vbW%=J00amK z6ciLAJUl!+etv$4jGLRAoZsKy=;-L`>gw|I^Yioc^z`)f_xJbv`}_R-{r&y^{{H^{ z{sR!e{Qv*}u}MThR2b7^U?2rZMQ{U2Mp;ioF8-rv7C)70dz}P@`B-2@iOp}cTSr{ZdIY73^ zxM`~H8|rH#fMh$roTVH;0|1Mu9!ML$;Wz*Q002ovPDHLkV1n!8 BHj@AV diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_triggers.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_triggers.png deleted file mode 100644 index 84a89ef4ce7d4474d830ab386cc9cf1026d01ed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 zcmVp`@OorJuF8vA@E* zj*^VHyR^Q+x`>K|ij0S|wy%AFd5MdLa&&Hqi-x+rwwRigp`)FstE8!{rnb4VyuZ0| zb8Ux-gNTZSh>C`po0grRnXgwwA^Yioc^z`)f z_xJbv`}_R-{r&y^{{H^{{;4}V3IG5AkV!;AR2b7^U?2sE+i(L(Mk#Y$VP0lF5j`6< zcaR8^w!NLLtdg9&le3GfyA4={hJvMuyRxRWs=EyrST75|k-M=V8-th)C)6}{D+eof zB-2?14BhqlSr|mkIY72ZnyD+g8(1i4n5(#fM3}T39NnemWo+&2?d{#nfhr_Sb%c1B kc!hPLDv*FE8lPAI0D+4VgO2ue2><{907*qoM6N<$g8EkkYXATM diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_undo.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_undo.png deleted file mode 100644 index 981c6b22fd81228208811ffe24e4ecb5ac832442..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 zcmW+ydo0yq7=FIrIVW`@w;IJ{%+S`_w4t`taS6E|qzMyhR;`P2nG~hmqA?jWx(KBl zM?$WVibK+INv*V~KaxLUHBr*h>)YPn@B7~GectDNo;Tay*Ih@tNeV#6)5A4@PQ8_H zwTS*UTXh5J5XZ=TWI%o1+NDSd8+aK`KCEy8A4h-;W3ZUX$gdt`UlMCGB%=dwQpqZ{6O@GQ` z7^np@fnv@;Ekr`T$i*Wb1f#Atppcg;Xe&S$k4`R$Rzqno?;$`sX;6) z7a7iW3L>VN(>SSe1tt+Hef>l(%t$n~XU0P!2rRr+Pzwrnwmeb%NPghxx@kU8^rp5Y|H0D#deSeXBZ(p^-|9yenW_xmBOGCOsp`JHO zGl+tDXz&^3KJ2i&Ixh|C(vh%|KU$d^;%A3OCDT3Q+bpepYG-%<`eLG9@XGTuDOEQs zoli;mHukzJ09(Z@6?3(byx1Dejas>Z6ZK0A5# z&zJGq*VG|l6CoF^ZLN$oGw)n}>t=l&)T%d396xS?xcP{@L5(;+c>i+jWRAYMxsz>E f#=Je)n~X{QEk)Lrk>g1p$P7H)d|j2!htmE7^wbF= diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_unique.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_unique.png deleted file mode 100644 index 40c9b5dbbb0f50eb656c20b5b4ad2e4bfd600f6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF8W4$S;_|;n|HeAjjI%#W95AdU8SoqnfHgKth6% znGqXP3R{epiG~PAL(hSL=@$gTCvfyM#veJ#sv{)w=#fxY4&Rv+2?hq!MdBICJ}uQC OdpuqJT-G@yGywoR2{88n diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usradd.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usradd.png deleted file mode 100644 index 9af3f792e5f8e4c947020cdf846d97538e2912dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl6l zeocE)n=A2s`}OAeHEN9?%Po#1$6Y$G<@WpiW<~0}^WwMPRtsO0xU&27EJuf{pJGj! t146y8@*Ic>HI-+4@aD;vA2JLK4fVo|oPY03`QZZ!7*AI}mvv4FO#t`kk<9=A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usrcheck.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usrcheck.png deleted file mode 100644 index 96c77f4192cd4ffdca09e6a14d850be6e9994e91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlEak7aXIz0r_dn>0p^2J zS9EjA_Wb?7a!y9I!}c{C2mdcR+8-T%>uptLY{d3lUCyMqY2lU+KF(S8`(Te9|GB$2 z9^XD^WOgG`EpWneBM+_%auY<{o3H%-{mSbnbD%7fwV}h-_aL`>y85}Sb4q9e0Hxh% A)Bpeg diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usrdrop.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usrdrop.png deleted file mode 100644 index 74165476d1ff5da7f6db61f47a8df8ddec33abf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl!*nI`|2I{aVl_J6DY|J|YIlxNQe8p>D_Ufmt3Ou0 zxyAO->xb8!Z?&6Q=dDPMb&r0~|0{9c$+IcSZL6(nHq5x`^HACHKwG5q6g$q>PuK!d cDx(f9=lie3y4ayHEf?f5Pgg&ebxsLQ01kz8UjP6A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usredit.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usredit.png deleted file mode 100644 index 8be9e8972b9d26b03d84bacd77e938ee8b5cafec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLls1{HfkNX&^AOIE16SgneqB;LMq4=5a7CtL54t!@N6& zVRx&^0c*AcO&VurGMqW{|J(%2%eHb?r`cV1lD|3G`a!qWqbqx!Cq_JQq@Xd6# zZwqa{|Nj4Hrpf=M4*yrX{om^Ue|KoJw38apdd89cYHPyY?OxRH#|?inYQ1 zoc4n<{nOeFuXn~W1kRo-6BC%tpt(=A+|@ESV9KOIO=F(l%{SLGPWydl@ynVyDQSB> blhWgF>}A`2BzD^cP(XOP`njxgN@xNAQ=x-L diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usrlist.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_usrlist.png deleted file mode 100644 index 42d02d51aac30180ca0d3cc9d2fc47c0de4a16fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl4G|Nq^gU409bfkrTv1o;IsI6S+N2IQoAx;TbNT+Z!|7HUx7VP0$UBaG!;eVC%b zqQyTWcd5jFmrs6D+dXl*U}e~)Xs4d-Nq@iO9{u&~me%#=s6{@0@5_5wj_$JD&cJeX zNm;`p1@5C23{j4alDEQB7QVFZY})fO_{%YM@rxPE*Lp7h=LcHI;OXk;vd$@?2>@IU BYvKR^ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_versions.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_versions.png deleted file mode 100644 index da5c622eaca0deb4866135926af1d2aa5101d106..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmV+n0`vWeP)}lwk9A2Ze|&iZoIgAZ3MTi0rviU@eS5?r z4KA#JuLrmglUjU7y&F^VIw}$Rg3uR)V-k9U&=-WhAoK;n1)+F@6(FfbKq!_YoYN6- z@oomdg%KbsI|VMR`^0v};X*@SkkbJdKbzvy#h(jwfiBRE_p0E=F98r%Yr~OBPWzsj6v!X?6(f7#B3EJn O0000%~*akI3sF`gVShJ7$HeL)!5aew<(oPt@AH!%}?|C`7NzD<}Y3h+&zT?P%0l#67mtICYN|M5BCSYslg|m z1&Ce@sI2f4tnd>&Qj)j8VS<5Df`L*>O7gifXV25~_>1xYoUQEx%XSo43XB~IfW5ZH zOwCEIKKQ6SEfj0y>nvmA3nY>$BGEb;qYVI*{~Vm5W`i+`Myz z+4u^R6G_6+0PS6;Sxn3^JF?-O!Jfv(7dUh7IMG-bq3Im!j1g^V!rtD&Ew3dMYb)$6 z07NDYfU6*pOc9RMVF;I;EjbEQg=<+~O=DONj=#bS*i+6{L?U%e$5$|H$hlAkEG2&v zs;|LvB&Kk^@4&a6#s#vrL)jt8ONL=%RP*uDcQ$ZXkE4!1Egwakps&F$WMMxE<) zJba2F6geR=g~D(YmVlg)$OEoi2k7n}(O#~!aH;PFHrlS~SZG*E$5bHwI@+H3eBK$9 gRrm0wZPx$iBL>bMNDaNd8_Ajo!am7`e|pRZIaPnYo#}988>Sg z|NsBIztyqT^6&EZgovpuF1hyxQ}-+VgdPto#1|z{1$(@cM{~t^cMo{Qv*0ctHIA|AJ>; zUT2Q-_x|wv|KRENfNE?1p)`MluheoCrMlRb%kON1!Ntei_x}Io@A{L+?a$-)+UobV z)$Y2%+TQ8*e}=DJh)PU*F^k6UI&LCRb6Z@s_?@T9+3NVk;Pza4zt7|Ln6lTl)SQCB z?XlC4i@IWgt6|jt|5cvhvDT9G|Nra%|6hM|hq_?2)RlXTvN4b5rMTHmZMB%O*K(I& zx76>n&fau?tkCAVjJ#!UeXM4VPmjB5hq+*rsM_6uZp3Lr` z)Aq}4Uyc9(010$bPE!E?|NsC0|BUxN%Q@2k007cSL_t&-(_>&@U}S{?HU zR_5U`WpjrLa6*6wTX-~BfCT4OoDW(^|;EHzvJMRICXqVCO9C6P1=<)>sD?5U?~e7jgBA%_u0ZZvYF} zTUgl|i-sj-l~mNS0|oS*Tx^WE#ex!2IZLHEfC3tNjt1JAg28b>_ejYyFes^L8FH%$ zdWR-va#n&>D5~nH>$-)+i%UpJh=a^vfdWYxSs6(N0L(TdLi6{)0000007*qoM6N<$ Ef_Nx@aR2}S diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_views.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/b_views.png deleted file mode 100644 index 61d971bf50f2019250aa57d1ead2162f245febba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlNchbdz>Qx0TJB!x6E}eU8=FBs@4&2y#@9Vz%-}m4Ddf>s= zgAcwQdid=y5Iz2W;>nNGPrjdf_Wk0EA6H%i(a&qIe%^ii>&eI8ufP2I`19YF-~Yb; z`S<(p|3Cl!|NZ~}-+vHjNIr2GXe(n$kY6x^!?PP{Ku)fwi(`mHc+as(rFELS@#gYLVW*dI{pIj~ Qx&!2SPgg&ebxsLQ09xFoOaK4? diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_browse.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_browse.png deleted file mode 100644 index 18a12111a3fcc10b6cba05550156d889135caf6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFKg)u7)yfuf*Bm1-ADs+bUa-gLpZJ{Cp0jssTu?%Bp8_) yu`#8v#hf~Nl9i)@$6ejs(NXY}Yl7Ng1_qINLY03RrD}ls7(8A5T-G@yGywpue=H*a diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_deltbl.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_deltbl.png deleted file mode 100644 index d92653c5cdc878a210c2610adddc6f69b255ddca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UASkfJR9T^zbpD<_bdI{t+l?3?( zGcc4*K5GHwwR*ZZhDd~`_B--1D{{C#&sq0TYDc#CTgDV__7}El=YGCm&$*ORcjd+7 z%nufM8#}W6wld_`y^In+w$+Wnt~IPplQ(r{i?-Pbp&h?x$a3%0Zm24jcCtv`%-h^t zCAp3FWj!1BD+T)l6`Qvzls^3^Id5jF%|(e8F+WDd&vRdGai4Aa^xseYZt*G^D`tmo Qpo17ZUHx3vIVCg!04C2(iU0rr diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_drop.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_drop.png deleted file mode 100644 index 97a3da5f8037b803c27c86b1a38942bc7e9edcd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF($dn?)ARH58yXrK8yjcLn6Yu=#!Z_x{Wm^v9;k@1B*-tA!Qt7BG$6;z z)5S4_Lzea6MnMM$0fqx}E&YF~#&EjKKea_6tTDJpY)hs%gEh;?G9|+<-ku(o;M|6Z w4mRQiUsMydxXw+LeEWJwChLR^3=9w0Gd$TpdAA2i15IV{boFyt=akR{02)<6_5c6? diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_edit.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_edit.png deleted file mode 100644 index e81ccd854f43b57228c054a43844c9ebd9477cbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6R(iTPhG?8`ow$+jV1h{N{%9q` z&bukoB+mG#HJ?-v>c4n#QT_wY9=T%|j>L7kDOq)}KakK`R9|2E{>R)o#s2F$Uvbto z?o?YPptB|AKt#g6j>2TCxO1o;IsI6S+N2IM$g!osAW?0dt)|r-_ozK;sxZUHx3vIVCg!08H*VqyPW_ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_export.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_export.png deleted file mode 100644 index bb697b074d9553e9ba18b4d6720625a700f28f8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6>O5T>Lp07$op6x%umKNqf9vs& zA$%9+e)3p$%I?kKUajMrU7r*gr<6?MwO=yN%v_7TT4Y-J(~H52nWmQcZ^)K7o~bQW zv~&9tS5_5k^EY=+e#^4qYEJ0>$*O!JFx6>k#Xcp!3*}9Eo8_Gn4NPL~1;QT8w9DM3 hs1wU!{DXflgXTK(xMq__hCr7vc)I$ztaD0e0sx7aLgN4c diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_ftext.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_ftext.png deleted file mode 100644 index fb0c3026af34d9979ff5c960865adbf2e0428113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFs0ga*d6WCMeQ zgtEdiMy3?D7%dT=hMofos;a7?6F7PVC8SodOylBhGh%A~*y(VlaV8Hl!~XvgXLf(% REd(0F;OXk;vd$@?2>@BVHwXX# diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_index.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_index.png deleted file mode 100644 index d6e417c0c872dc0e5b0542f1c5910a3dc57a8ac3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF;1l8s zq#GIEal|aXmSq zfl*D>ARr;3sIaKe&|j3nc+P1i)&oJ$RyH}T{IsZOvqPc6;teZyglv$}Ns^P|3JQ); x(TLy*P3~K_%qC!uj1H4XLx)ILv!sD{A_Idpv$TkAwjs!&44$rjF6*2UngA-jL}CB{ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_insrow.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_insrow.png deleted file mode 100644 index 5162577edb0c24dab6c064fe0fd9a7fb551d4fdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF4rUu7oHYzS-EQtE0=Pb4Y4d7DL$KB{Py3Liwhovt%Y18k(iO(O}?` z*v%lx>%e==VIr48^FfJ4ZGi?y8P~My>WUuo;BGKDbcjVkja#cplHq?d-v%N1o8N)f OF?hQAxvXlFz z;kcgsgP(=R{@{@s0YhP*Gwg!KK&C{tollva54(px!92x)s diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_primary.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_primary.png deleted file mode 100644 index 58f9cfdb6b1ee334d2c1a7c6ff17ac2ed865e7fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlwM0I4tYc7cZ3*)7+B0phiQB>In=785v`xHQbZ)PZ;3nP6RX3+)C+W;CTNB}Y z9b={9@G|c*k+lyyyEl+Sn`&|6Rxf+Q{JP>gTe~DWM4fw4iW? diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_routine_add.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_routine_add.png deleted file mode 100644 index 91ec8e1f5fef28b1facaa26920c3319040cec921..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmV-)0gL{LP) z!D@p*6pZ~dKSC1&`2x{{UPJ=o(RlafMF@y7m;8iy@&`(a`2fLss5Iczks4YGRmsBg zn78|8-oDw@YUc7h58Q{t0js6Uahw-T(@<3vbX^DWl6pZD#ja@@bX^BVV&*3+*)Emq zx<;C&cf&9~8Ht(alO_q+HkD1&yi=8tnE6=*Pj#?(22>pF8guLQ8nP^7bb*n0v)SN} zRkUclM9ku%C~&*o9>mYy>%y`u9FIrveE4BggNmXE zVHhIMb6l@i-ot*s=QG|0f+?$P+eVgU0|D3Rbi(<3#&)~?nAL%*s*mDvk+3J2H-p`7 zha^c5$MI0i$Y&^u^2-U~rwhcR3qcSJgChx*8Hss5`ycf2wO4#++f@Em7rp?YJP diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_select.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_select.png deleted file mode 100644 index 1659a653304eb8c83b9949447db6be5b36ed8a54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 375 zcmV--0f_#IP)&)5f&eP@6-0afb?AE-X+TiWmz@gjf z_uk*?;kS?CbZ*Q|NrZ`i|qCM?e+Wb^!xDi`||hw_5c6+|NsBcn*Y(6 z|I?ZO|NruGibntd00DGTPE!Ct=GbNc004hUL_t&-(`AoI5`sVw1iMiRTmf}l5k%bg z`v2!VFhUIGF(d0xB7eX^L|}}8u{0u&{o&FI0LW*>HBI`}ge2nPem<^3RzeB?b}1j3 z$GRA#<^DMjnqr!)vqdkei_fMLdO^fr@j8rERaLEcpGLGmM6lgWK&R*uPSHNs;tM!l V5M)R%xnlqT002ovPDHLkV1itq$%p^| diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_spatial.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/bd_spatial.png deleted file mode 100644 index d1ee4d62e848070de542e148966714d316996f1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 344 zcmV-e0jK_nP)ER z-KpL8>-XciJ24wUyCrMghj9x5~9F~D`Hfep%H0GSo$<)L;Nvl40Q=9Wy zE^?SxNkTSvie&lWK8-?g)sIvwe;Z5~YvOcTKB15;ZyuZ)3S<4{d4H4@3i-LcguK`* qcH`!KdIgAj{O;SuHL&{y0Pqi@BR2(5$-6E90000Oo{{pgXtpi3}v5| QYM?O;p00i_>zopr05qyKo&W#< diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/centralColumns.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/centralColumns.png deleted file mode 100644 index ae82638e23476084911e9e14937218b1f0a4c9f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 729 zcmV;~0w(>5P)PAam}^^ zKMmAm*dIK2z#t(Z!Ep4#t?#~07My$b?D_WV*RO{^fBs|u(ysvmhzY3ikEp1qCeScV zpg_&qy2`?GiN z-faU2ASN?2v%6oueE9@)!Be0DFQCL(pbf5ETwE7{v2V#)8C@`Gf0r3N%@BIM+ z2pkJQ8)hN7;3CKdK0dxPAR7e)1VAqG5E2r)0OY#?=_^1(+<^u>1L9Kv0R&Hpixw^V z4V2&oDpCN2E|69O(zk(F6^L&E6)OVq6CjoV+N=%4nF|*#v;hbp7Fc`&HLw8jcc5Yh zXcWOQP!k-3q8k|K41fRr-2&1F5I~INWasGUXf_bNbm`Jx009O7eKwFfX7UU&00000 LNkvXXu0mjfM6fd$ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/centralColumns_add.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/centralColumns_add.png deleted file mode 100644 index 42c93b040076e4a4c905b37bcf83452dce8fa79c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 821 zcmV-51Iqk~P)l8B?7N)CT_!!=P{*l)o zV>Az49Y6pv;m{n+&i-%VUk+B@yWhCE|FAG|v#|Z28{4xr7+ozu05M_FtjF;0=Nf(? zPKMX_9x*5}KD+qgddTVl0tmx^0EHh_5-dL%9$b6CAjAFVY>#%~Nx3jflO)dK_&2E^%6enMH2pZ)&*`w^U+oD8>a-3pTz;o{uAd-oh}Zf>q0KYp~TtE+1Q4N(FJAjXp? zPbxDqGT!<6^{X_{fOkNw1;o#Ql42m6fLIa8egLGUfbEdj*u+1c5jy?gg=8$bXt znVFg0{qp6@C!h3cxh_yNnQFmVxH1~*L`4jCa; zhW%GJaGbbunBfKEFB5=W-hFM51xCo?O`1ttF0BH{a0fDohe|{`7(9mc2%k-B) zU(%J~FXL|p3tcOQAB>-T00IbXKtMpix(^>d`~e!Y?d8jtnm~HjqeqXdfb{N%4;ylB#OGg-<-2d1M z5I~H?W@n%w9Y87zhl8B?7N)CT_!!=P{*l)o zV>Az49Y6pv;m{n+&i-%VUk+B@yWhCE|FAG|v#|Z28{4xr7+ozu05M_FtjF;0=Nf(? zPKMX_9x*5}KD+qgddTVl0tmx^0EHh_5-dL%9$b6CAjAFVY>#%~Nx3jflO)dK_&2E^%6enMH2pZ)&*`w^U+oD8>a-3pTz;o{uAd-oh}Zf>q0KYp~TtE+1Q4N(FJAjXp? zPbxDqGT!<6^{X_{fOkNw1;o#Ql42m6fLIa8egLGUfbEdj*u+1c5jy?gg=8$bZD zn3U zu`<8=uJ6yV=a8g}lRl7s4x~+h^gSSLYRZ?&{4 zVRl7rhVPel30*zBhr#mk2RVQM0>=W-PqTm&$OT?Nr(FcnEy?%y^4|1C=ecf9~vYX&K`dAA0U8OU;;o5EI|AnsDS|*MR5F;gPY;og{=(So3a>w zet*I64XFO}CuWAf%nZ)}0*H~A+;}8Hx`B#W&@~$kZsdX+Ko5oG4dc_f%-7 f3)A%3e^}$LPUPdc#&w|?Xe@)LtDnm{r-UW|z^E$2 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/col_pointer.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/col_pointer.png deleted file mode 100644 index 1fb353fea751762f17b08de3598e196bb569c7b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^Ahrkx3y_q1o^lsR>3F(0hDcmaPWf@ZfpLa}gxeYg yWoBl#2?j<+1`9ZiokEnjjTdG8>eo#<$;7Zzn@wu{{6)e*eGHzielF{r5}E*Y*ctBt diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/col_pointer_ver.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/col_pointer_ver.png deleted file mode 100644 index 02977f2e4a129454f1b292857ab735f2b9dd3621..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^B0$W=!2%@ZVz%W1DKk$O#}J9jy%#L`7z}ur93T9z zS4*A3-2FDkmo@QC$Be$yx-u)~^+!vr2>90gCSit$?CysKKbQ=5u!^j^sJ0wv0)wZk KpUXO@geCwyt0LC` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/console.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/console.png deleted file mode 100644 index baae1d9920521ea4ddb28c9f4234cf18fdbaf594..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1207 zcmaJ=U2NM_6!zE{Q>PX-Au$1hD{m7S!f|fwrj1D$N$jqH+KtknMF^p~wrTG=|KOh` zt$1L4fk{a02_aq(6bY%Dx`6~j+5-#pf|AXxUj z=Nx_KJKsI`_)JDR*4y)B4?z&U>0v&L_s9Hi&rZAss7J@}wresWCJ5rI5BE0Yhq1rI z$sS7*i%U;06U0su?5gFM(K*!vwnK%Aly9G#suNCpURHZ2MuF1e*|d zI!-41f*>zuK+3c=&>v(dB?KXeM1qj*k3`@LARK~WI)vW{1zD~?!i5LG)TAFAuyXvfWJ5A^;gv6GvzG&-v} zre`Y}h9C4xSzOB2WY@HFrg^f{#mtoHn$DDIfz((81dby^H4Dy>O}r>_X~S`4L($TF zoWu-4gj6mRWgrieQ2|CEgaVUM4x zdCf+rG<#xZP^N~QY-UMY%-#bSaWtgo-<^Lbg8tJP|y zQn|CbTC1%|qtd;4z0qh`mgRXK%d(OrRsXJ*%gZNDAckcamR()FQ(IeWwwm>Ny}Vpr zS*bLeEtX{vLK_A(+daCwh+<(F@9 z^mLj}nwC|}~;NpDW ze17rX-VZ$Dy_avi_{DXCn7P z>?^@%F6;xp4UQ0~ulDRX_3_V*U%$Sz^7^SyZ|%Rk`;&c-ocZqXt}n3|A}vV#Vsd=$ EA9oC|lK=n! diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/east-mini.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/east-mini.png deleted file mode 100644 index bee419d6e0bb882e6ba4175f6ee5e8610505f15a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaGJMSxF;>;M1%85p{8AvU&N4vs!y z;mP9SQ>CS+tEtV=)0?lazrey`iMRLKz`*q(AsZtjH>aiTEGgMvQ**eZZ}EpTHqP_V$$#W6(Ua_NO|p#}vWmVk}P@Aq!M^S{k3!11pAJ)arAEIx}@Z_7;rn7{X6Cbkv@fdm>Iw3+Q;7vo6 zNs?=Y_N#9Ky%I%1h{-e7>UC_MQ!GHwrWj{5R=oH9!$0-z9s2s+f+R_PEv!918DU7~ z=b2qtB~uklu@B=ExfNo&M2&fdc2)_*A+*xgjcx`?}%7={WEcMiptcTgNZ7Ar;=wAi>f}kZQXaVZ}@Y@?x(D!f;OI! zGl%hB7#V#)W`t6Q;{53?EI;`Zc{Ijy)7sFizUb}jJIr8DKk)WysvX*b7r}cW%^g|` z%D;VD*S@2)%9}Aij)q}J?~p{5?t*iUAPA^#g4q>EmJ4Su|Ao#yY1@(+;lMx{5y3e} zuw@6`dxm`A8*>fQSi)M1F@}L^KqV4dsiD=jv@%08Gi&Y{JI794`o*gE%XEA6Tyb^1c}i=2 zI#is96qN!_iFMM>vit2U`$36}eS77`lmDUo(c1V1ZLMsmx|EHE00000NkvXXu0mjf DPHtC- diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/eye_grey.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/eye_grey.png deleted file mode 100644 index 6fcae474058a01fea9e25f47cea1a75c07941ad4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330 zcmV-Q0k!^#P)tgQd*UVTvjN7tUM?u6*}CSqg>2G#AXwFw|-F zhBhVZ_Ch#L3%w)HRa#NhXiT*hMmA)fO6iSG)Y!4B);RIn)U_}2bI+_Jsztq|)<}41 z?4x|mL!HdTsm6h5q47em^Vn2&ZLSqPHBzcnDig0nty5R>ku#+y9@#Q*BG|NLLuux# zUMRdvb3+qjt8%xJe}4Go!cU>Ve)?m@11koSr1aNsW8ZuVp>XSMI#vq~_Bs%g%!!SkUy(gmF>L73`Ao>dHrXaU8d37{V<) zD>rZrV&0R!y4_Kp=j*I+MZ*Nnpi6wjIEE(>vv5g%O>M@MWjRNp4^xTjpP&lSZ z4(x(auFhVgT0XYhLR!1P*SpVQi>)dUV<_*6qInHGcnEb zQfX6|c{lO4l#RKaZC-XZ&u-_k%Q@eEE?Qa!_Tt0u@H@}<^E~``A^=3}gr(l4vU*i7 zyV6Lx=4yE7RGGkx6gV71cjvY=iqb#p!ylZn>j-Cf+b>x95wMRT==lzjH$f681f9ze zR{P)>$i_z3RfAovII&B>n%*Ds>XegyS_9EX5sW0f1d*FX&^tjGBX?Rzej4t{=ddW_ z9h>UH!(o9}TURNVdq{y5qM#$E1yaxnNWKtKkRh^p1YA9U=z#4*HY{(h_k{(nnF>pQ znJ2Y6(rFb^z)nJ2pnqIQ&_2v{yl+xxUhm5uO{Q#!J8DY)klFd_YP)!y2hX0`01t+}>V>!L2Ii?(iJ%bC$d(ON6}*wnOwG9V2N zOG`{7!B5mwL_|_S2m}#C`CdG|@7W+M+U(-lIXipb-}9Vv-Vy*Mg_?2)&x|dud>nH6 z+Pg4Y7{H$F@$4DL`b~nbIs5knvB+k zHj8ub763Kx9CrFf76K8`6xv9LChyt?+yu)3H}{cgBtWFDjV( zT46G1p#RVaN{MFkER1%KNN}rd=ywA89=YD?5^*~T(5|_U4sv3(jyQy?qF#!I-YIcK zeuGD!Ck%N2HSJIh+U=tYeo@e&trgAm(x7tzP$_D_zeF>F>u*g-I^VNp4(M<9KQ~%~ z3}FWb=nBN{ra3RFTFeCC z!$l`CCu*vADm$NUP}Jde?Il#nFW_p845!NWW$Et^{&SQIRV}^fRyMzZQmIB=eG~3I zc!HA^Wx-;#MFG+)=LYmWJqQGXuvo_MLh%Zf$0hUI2Iy7tvy~@~#>&eNWlKvX*<(i} i@%N3@m$wc0AN>MB3Mf9{XhoL*0000P)Px&08mU+MNDaNOhh_HKQ~N7K2<^`UQaqnKr}o$H$FHp zNKS=GG9#umqZEcuS zQ*=2vJX1m`W=bE0S{imx7=K_fw{i>Cf(4RrI%rEEIyyqddkko3h+0}}TU&x`Y>{4G zh*?>FYHE~RNi17NCc$?JoXE9R6N zws8tUK~q{zzF0pR1H-=?3rDzSRavoYoDa?&9fm|iSgeIP45#5j;fK?WQSsQ&~ zIh=4Vc2gfuPhrA-7Gz|IM@Lv_XoOBjNuO*Ws&*#1co~OU7O8qO#(ojci6GRAAI6P0 znPU@aQ7wsQG-*yGa#0|MYClU$Sy)(XT3T&oWqiDSA7Eg1f?X!Yh$@$7AZSS(kZn4D zWIcsqE@o3YOG{?6bs2VFJolCb>W&2ZmI42n0r{E>@sb4Ykp=Xa4)c@-{h0;liv!+= z1m}_x_?#2}r5~zq7H3_#3qd){C;a==1lw z!pHja`10C+&s^}s_`7G%n)BDu>x$_7)Uy5V@~H0q@$`01mfxA(&^_V6>Dv3{>hpU} z!dJnnq+Q|QY~_RM$?VYXPp|Q)0=%%Fa= z+l{Q`)=}m!3;+NKHAzH4R7l6|R##LTNft#dsil@>p^QKvB$;5MBoG;sb515lgGnaY z1e1ep430Qwk9Ws8=ZI~bbIxgYW+%_amQV)9TP?<3FMGUS`?Y89$E(-3tEz9kS5^H? zO#YA0gG3^eN&iN+{AtIODN|1KAQKX<))sBzy?hKf7!u@;%5hA7^fB(8l;^+Q>qL1eg2jc+{usCG5BW+J3 z7Xb<(1S4T0l}u)a%~2_p$_xRMdd3F?LvM(gRZ_q4%GpxlsrpOnf8s%8eA%TCv6~$A z>L5TQ>P&Z!wvCr2SB|OI1lJ61ocs}&Vm;0y__tsD_@q-(*7h59tJJt^dfqov0sc6b zi{l46(zY)FZUePpF-Gp*nE->8E<_CqrB`%|<=#q$MyDKEnYL^(vBG|qrby1;#MEyguvTl&KP5K zl*M55pEk;9n96aqx3}j6ePf$&$ehN;+{OI42aV*6z@_|>`B`eWC{(se65eJei&CKC zXy4=)3~@A%57ISq-4@%QA+=SVcXeQMAc*^`0albKMkG_p%V#BrG7NU2Oqo*MBg&NP z73DUk=4I(JSBKB@S7(UoG8KBo4P#EY;M)$)PBhxS#hx?Fot&N7F6D3pXe0TR)du+xA!ug+ZMkKFSR{e2;9AM&?sv@(H+Dl#=7`B7FyeC3APC%YI9^< zXTQ?xs?CP=+NjOJ(fz2r%UV#YH(W>+`c!D@+J!zL@)%0omVVT5+ju$>f?S*zB`$ZS zIsG-@9?haC@d%sURB*?Uy(|%Pmo&Z&WyoJYVyQ))ZDu3gkNnk{k$z!Gz%mIQ3w4`T zBN6p|D$Vm}3no`6#T|Y^pgN}Alv%tD%~;_*_);gOqzqm|#Z|uPS5zZwZIVN^h6`Af zysmniUIyVb%An3Y=yEuJS3wZXVfk_nyQy($V6#(GL7=(QqQZpT_t-}so|~-|-#9*s z9(`QNlHPb6qNs~IH4n3Rzxi33UMu*Q$zysYYhb`kHEdY5@&_>UW?w3NZa`NX9PW{% z5k>lj%|YFQO_SHF#L?axW@|?_50%Zq_2DhP6E4;(D>1v<4 zGQ$?4ZtpM|;E=NScqV*5qj`J$K1YY;d3ixD76D+FI435|ecW$c*ZSgUaFWbH`y&|sxjEV@u$ULKR7RGtuY_Ukp(mv5%Ef!tW7#WFx1 zgdl3&sjj!obeWMg_5M0L3J|6_7H8QqFH7B@MP&Tz5F zZv;DZ$+r(U&4&a2;*+IblQZjuY8af^#U`mV4jPoZZZEblSe$^W=1vyxU6hoeot9^L!lY<_h;zD>%2F-)bwnTl)Yey*YRp% z8S)FMD`Q!5EJ~wZtGvOz!y3u<#bo3iG2pZd(0WIO^F2u zlK0z9Tjx#q$xb>g+otqvrnD;#k3YFev`HGJQ0k`Ler&fX+X|2USn#bP%unx#StGTx zvy*mP`?fxjc18NO{!Q9zO-Q+D*SpR;^&*&VDE*?ecLfhVS#8%_MZje2w5M&456I6g zH9V*IhCL^xk0fDG6)06;U3R7XMI}UaQK15_uM^s_?rfC4ZudlZ= zq5n?ZhqtxmQzw!L*VYyxeQpRuX#X9CpRIT>^gmPr{{!Ak6$RcXiV6S#002ovPDHLk FV1iuY@E!mF diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/logo_right.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/logo_right.png deleted file mode 100644 index d61c6284caff2e3d397703a6e7dd784e31528cf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4548 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 OGI+ZBxvX-#UpiszQx|%_^ zOfYJ)i_szmgSia)Ga1@9mg`JrFyFv1ui{t>(25*S7sn8Z%cbW}i!~YWxCSmzxinAc z^kS`7|Ld0vZ~R)?Rz0EgvPt~b{J(AIzA9Bo#675Ku((yo&iG!~rN>(l~-mtYH&HqY~vWv$yTSsM<`m>++B?nKuclX`@x}Pr?I~7=+S+#F(0ou#p M>FVdQ&MBb@09PJk^#A|> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/new_data_hovered.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/new_data_hovered.png deleted file mode 100644 index a470dbbc5564936ca8ae75d294fdc0edabdb6a98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmV+j0r&oiP)`Uv)H4`)yU=Qv1Okag2EU$t-jhR*dOdKg~de1JIGaR&kK6HIdfbIV9t zDp-dMr*j3Zz;vmgGqAOQW>3^|BSc8HJwYP`f6ep0V^fjd-R}Q>`RDJc@5FDv#hX+W z&Kb>dXqd@-cZMU=`2xKMHzYH*GtFtp(@YR`=;Jxnw&JH-SHtNqjJ*z<*!!RNd3MhF eP;>Wh(Mw)clhyzCa!JhwxyRGh&t;ucLK6UwmItpFF8027}86uJNzdesp|Nr>z@7=1f$N(JAh>_&G zz`9jpvj7;TA~Nv+Bc=cr@!jConW3K%BhUaH!DeyS03WkNQse+3-T)x2GeYVBBEbL~ z>;NL;E6R%i004JML_t&-S7psz6M`TRg<(p>RL%-Wf@pqZ|Nl33(=0Z=m(R@Z5#rMA zuOHkCS*q&6P&cgxbrplLAV+P%pa{KJ&w(LCjL8i7=`;gm(<`quivzUGux`Ew_BWp_ x%BM4gNRHqferB+>(SzPamn3PIT@8#ysvb2m$P{(d~wTzC>bbqCCb>4o9*Lj7VWohPwk+orJ z=!KKt^*F!)004JML_t&-S7psz6M`TRg<(p>RL%-Wf@pqZ|Nl33(=0Z=m(R@Z5#rMA zuOHkCS*q&6P&cgxbrplLAV+P%pa{KJ&w(LCjL8i7=`;gm(<`quivzUGux`Ew_BWp_ x%BM4gNRHq;qc z{WF_2hE3dWbwd)%;xlRvyzD#I%6}Dn;IsZ;>POZUyAE5=V7Q?nx}GPtQA*s+FleK@ n>uC{|MOTG){@wJ{?A=8B^_wT@t!fV50CJb7tDnm{r-UW|;QUCM diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/normalize.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/normalize.png deleted file mode 100644 index 76118b1b9ce7e1677f6711b7a62d632dddcb4dc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM({+0G|+7pUlFKn;Aau75cc5;r)7skLwveACv(yfavpn37{ZQ7D#?Qs`GiT z$k&4kUymAnJ}C8ZCs=$d!$&v*Dg&~&19gdgJ*@Ths2)%|NbznSAp7f41E3U8{PSLc zuLtEo=&;7ugKA)vIjTIQB% z4n96U`xkhf-xzi3)T!_1eDCZ}|9;N@+xdWRXT82(h`fCH@}b4P|Ni~^{{8#e4UsEW ztT?p9@9RO8A3uJ4JLT}>PR)<&IX~_;85kHiIXT_CckkrMlVW0GQ>ILbKNjKz3{BmV zAirP+n~mq$GSfU<<>czOOGGKkiB7k)I5YXrpU?8!_ojWw;km?l_58Qey1Fgfz4I*` z6}JF2F7R}543W5;oY26i8p)=jpm2V{+CvAQaGJMSxF;>;M1%85p{8AvU&N4vs!y z;mP9SQ>CS+tEtV=)0?lazrey`iMRLKz`*q(AsZtjH>aiTEGgMvQ**eZZ}EpTHqP_Wd~#W6%elJ%ftS+juvtHIgt6B1@U`aOU1ZJXeg4wG(F=WB$RKloiM z(UZ)eBIhjIIGsH-y5vBVf^KHP*`I84S+1<#*r4*DuDH%Y=moc3mdKI;Vst06CL^ AmH+?% diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/pause.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/pause.png deleted file mode 100644 index 46a6318d3989b295d61687e031622f5c675a9864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmV+q0r38bP)X)I5f z$tmY>(re&sdwDp%rdyyMs5hP-Z>GPzG!O}Hug|%^yJXfJdI|VeL%m}jEMh}10kbAz ziFz<=A9@K`#8|DfdhjJN^b+tXovVuj>YXM&^fHA-gL&;7fY>(J@zS7)^ZsF2OHys< zB_JeF?N|$P?L#jCsYbIvTl}iJ=QUvMxCh>Y^fvVJi6Ozu^BdWM?UL;|!1V9i_yZ{< V3$P!FR|^0D002ovPDHLkV1iQ+bCdu8 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/play.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/play.png deleted file mode 100644 index 6169d5386ea64f38824ae8c4f8cfb2992254b90d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373 zcmV-*0gC>KP)#}=6tE)eyHJqs^fsG>Vd1`fve+(ujGfY=!&uA zkhSNMx9FL>>6yFgp~38sKqNJ&;v*Psr zxXAaY00017Nklra@ocD)4h%{^Tl zLnJOICoItZ@&Et-`bDDi8UrMxBrb~1OLgIp{Qv*_ffF492}hO+%w}_|;ksyQAoNx; bh>>B@TD1d)3=I}QBN#kg{an^LB{Ts5uKg#I diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_asci.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_asci.png deleted file mode 100644 index d160eb107531378c15df4bda1c9881c8ad791161..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fExEa{HEjtmUzPnffIy#(^@JzX3_ zIIf5G9OPwC;9_c?D%=17 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_attention.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_attention.png deleted file mode 100644 index 7f2578187c4a63a4233eaa9bc94ceafc1ea96b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629 zcmV-*0*d{KP)3 zhb|o?2tteOkVJ)0hl&s^5iE&_P6b&gMn-0?yRw*y{*RfjgBpQr1rE&2VP-zQZRa2^LF5drI()F2Z0Z`Z;C^=XiC_d0g(KBmOAi2sD{f*&xU&Bvv zXXvJeIPrA%^!Vdl;dH%e8K~&p?6O#{VVbaW!U&ef!W6yyUku{U8)_$e>xJUbiC?Fi z=%TtwetodRAM4&;`%eZ`y&tM-HPxTP=e~y+eRc=xO`@RYf~BGze_dj{HyX<*j8^At zIf{jEtsnssSR8LdZlnd7B~6W^w<}|50ph*UkgB!^D~?0`X+W2!NvL|z#S!FJoq&p7 z8NRtSvK0T1Gb0Q0$ysFPC@hPx@|t1g9>GvYohy!Cz4KCX)Lc3m?G9}_XH(}O zvu^+@0OHHwFs43E03bkxpX!HU&ZDTlHQ+nmH2^TaKdEc6@@slFHMPT^eF-mdZ%L98 zqyZ2xEyAD+QeavekyYM?51ld0j0_&ORiv{Za%$-@LJhD((PeSQiu~ok-}`_OK$Aj;95XXZ!KE(AQoqkjluTpUr@2!v P00000NkvXXu0mjfE6N%; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_cancel.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_cancel.png deleted file mode 100644 index fd782ab398833f1633ea274c7bd82bb02a3f6bf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlNI z9|9@Wo%^hejV@Z%-FoVOh8)-mJhNp{Th=gS5K~AA20}+>ll}(J{iwb)) z0^ZfT2YUtD-whJ`D|AQk)%&f2;>SJUQ+CX1yVTW^BN3f9Gry2o!X zxH$1pq+s?%Z&|kqQ_Rk6Yu@xQ>SOR-lb8OwYxMk6;}g=j3{pB17Xs~M@O1TaS?83{ F1OVWpe0=}_ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_cog.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_cog.png deleted file mode 100644 index b8c9713cf13ddb375fbbbce9b8086a654d5de1b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFUMgX zuJ!Jsr>Fk67@TBlHi_L;(y8GyiS-2Ae4ENo|J!(_{{^3AH#qFb7JQf8fZ5YHEksrVpeXL3j;jqxmx`qrAp#DGNiFiYp2)sB6OJTGzwc~5%SECqDRjPKh6 TEG<=lmNR&|`njxgN@xNAdJsFH diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_db.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_db.png deleted file mode 100644 index 0f723a9abed09d3be1b5b63ccf7659151533dbc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFra@ocD)4h9Xwqe zLnJP5?cd4EpdfH~(##w6%rj1kbS!_cWbpxCDfOTw@e&HU-a-zWomV#G4J2~NR_FwO|HTA#4jZ)tJXIHuQzezAb&x2_V%NmI_yg3XfG#I|LsRiq1KAjJ; N#naW#Wt~$(699U9Hf{g_ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_error2.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_error2.png deleted file mode 100644 index e4f02e9a876396527794f8b943ba68b8e5644858..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-v3?#1{n!goDv7|ftIx;Ya(#*!evUxOSunCZ5=%^I@d*fHQC&)lgS3j3^P6LWmTvG+x1nUi99^396n1m*ckMxwXfp8>SOX- k;(-mDQUwpU#0Cb2nCmjt8(+BU0c~LLboFyt=akR{0BP1fVgLXD diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_host.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_host.png deleted file mode 100644 index 3d30f1c5c25abaaf9cc9a115887f92cf2f084858..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF4G|Nq^g|Ns9#I9&u}A7e?7UoeBivm0qZPLijK zV~9j}X>TN7g949B^!1>lu`GN3+q$aibne?<`O=4RpQHbY z*gTe~DWM4fa?x&k diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_link.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_link.png deleted file mode 100644 index babbb64a6a7084350bbfc0cc674fbe737cc7ba37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmV-|0e$|7P)Atb6vTx>hxQBf3pg}{(5)cBr9u=!vgle2kt9MG8c+NLgq{k zagesSWUH38U|R~W|Fa-=@92XEFL%GYKu9jPpZ^;{5RMJQxE%}z%i(ZH-EMcmp3m#` z`U$%qpuqzJ_D`7OxWjU}Y}vL=S(ed!KBq7Ysn_d0b~>FnP16r(aU2sEu*mGbU1_yi zFVpFCS*z9V81Sv@IysI*tblMsgEtzD7GROtEwK9i{+hL4$+CPTisIX3GNB|%D2gKT zeV?Gg0|OSBZ2`~o*NsMF<+|>TqA2&pV)3g~Dv_$Ho5c+c9vHC5Yzy-F{As09nOT;# z8jr`%K@gDVd1RUe|tv9>?g+k#9o0pTxd@;_sq{kwlU;^VvV*?BV8P@}BoaZTQUROpWV6|-M`|^n&)=+8tHo3*<<$NU zU`%V~ZF;?hBSYsjJ6%JzV}E(D{pOLqQklliUf9um_tGl-wty`y*p?eYNW56P>X@1s zZs7KrRZKtmV7Lqj^5Fgr7_`LjhdJK@ltF&O`j7?*NUM$KvmNGz)3WjM?V$vHlPT0AFyF?kLE<#HZabCSW3-oa*6;Z zrXD`Ulwd<^2glP%1Y1Kc1Ij%DU^=ME(jKf6APNlA$Uu;J4bVilQHSWX5uJ$9Zsp4M z0%!@LvyTxz=Z6stxlichODIY+yNGt%RM;m`>H4LOKLFs9Y%b5aUN|2|{0Zw|<_~i} fmXz*V19AKYaxBCghzv$iQ!g-P)u9iUpb%|44$rjF6*2U FngDQUFUbG^ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_notice.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_notice.png deleted file mode 100644 index aacc43075834ed67025e238ddab9b1d6c0b072ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmUzPnffIy#(?(1AIbU zfiw{OKf@5U#Wf$uVk`;r3ubV5b|VeQ(eZR~4B@z*oWR3dnvf8^HH)eF%BoOriA`Z? qYg>d?haKc-kq~2A!<)l!LWAMkCHb?ZQTAUz=6SmMxvX^p@>LGF-b8)Y?8L>B$~P5*fMG-<2V2JozF#S zv<+_BcX>EG9M1c`$~njXQR%-2hXz|4j0yHyEBkfuGAv?1B!h6lSle@{ZT#Vz`|8aL z4&2$)t^?iW)39XKqK#CREdby}F~`8v4Ssn(oJKfubI)Y&EI{XvAG8+&eZD!=R@qpy znp9zm)N~Sn$XuUrMIB@5LB1dTE?)|r0|y`X&Hy_4Hq>hq^ffPRi>#3yO!;twQeVe-~Eil^9fp3 zY@w*>m;n^D_7|2{lgvNDie-oYA%|CfiV~0A%Ri>Y-;Nc-+iNX^_G_;&6KVJvO#TkGuxbC4;EOjq=hxa2}DHp{b`841DbeyrwFeT2T z+$*7_ekVimK4N3PrYO?=k03RD9c|BRcmB|OA62f6HZ%2Xf@E$2Cqi9SJ$0dX7>M8I z+|?_2uS|7Lev#;%73KO<(RR_UYhAQ)$&QuVsH&(12ibgvYq9H$j6X~(PaT>3GBG>K ze{0#%Xam;m#jxLL7si58Dg#^~pl7lx@%A$P7rg?xbzT;`a?))80000bP0l+XkKeds_I diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_passwd.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_passwd.png deleted file mode 100644 index 82d6f264762412ac1bcbe5ce399c205509ff4f16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlC8-qGiUyvIe+`It=x4d`5U*N zKYsq{d1A!t%D^|%*}i=L|L5Po|Ns9x9-Ji)w41Rc$S;_|;n|HeAg9IC#W6(Ua%}HS zu|oEal|aXtA#)YStEq-Gs3C{1NKyk!GN n+scU!bGVK!6p&Kk4`FA}?&U4DsVS%j>R|A6^>bP0l+XkKq%JC9 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_reload.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_reload.png deleted file mode 100644 index 0be96c7990c46460fa716d400d000829bd38ea50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmV+&0pk9NP)~5QV=cFv$eb8ZnCXB%n~>Flj-d_5dqZu7ZRFgJMvt5O^?f1RNnL zME}s3MbKp`Rqws3daZ>2U*SccqDw{zJvuai9c$*Z^GIe2lo`=)G9e9!OH%k&Rv}B6 zkdpJu8t9Ncz)FDbkS}t^tDPx!?dB_|a9N-^Zf(2ue3;m%YvB>~lFNK4E`@;D!;1is z07Sr58Qt4wRORP-vLm#Za4g->8!dY16=FlnD+6<8oY7{<+@JX&&YHle>EX{?U1qOp j33+Js{u~(f)^FYcp9Ei(EtUJG00000NkvXXu0mjf4y}4w diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_replication.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_replication.png deleted file mode 100644 index f51a1779384f2dd732581e945cca69c0d5913600..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmV;Z0ayNsP)%8&$Bn2L=wq&o}>EP*whpPhUPa^Z8siRi)GERKMTf>-6f%rL=~`J3fA1 z)OC%jvRp0!$n&h7(k1~uc%mvI!p0bs?SFrO_ehM02xSZai0EN}U5_zD&;uQW5Qrj( z2*wx`4g~l>jPcP0x`plyXquYL7)0a|;=SJ=;Jl|@6zCIx`v)LTC0i{+2muA0b9}wL zq$oQFY$13y>owjv+TPPLW;=_00l(JkMpUVrhSRe%`u#pXA0Awikh=Ov?*=T SX^Fl70000o&Ff%i=xVX5!t!?6r8B1o)JhOPo`cBPhPXU^Zg`0(P5+t2TO`|zM!>(P}xkDq^fK0)`(_y6A(+I;{0|IbX5KmY#y zU+VCGwcG!#{{MG}{{R0!x~Yo?Xfb0+kY6x^!?PP{Ku(vZi(`mHcxm5lp+gEhtek;N zlafSV^KMo_$s9dHt2 zFs!tG{^sC|l!Q6UHqQJ#`};mWr`q<1m#w!)cRgSIT5jWkr8_RYJo7}W$5F3CU)T8O wuZYMkkss!IK3kp1t)!;3vntxnBj*$IiJ$BdypEjHfv#fkboFyt=akR{0BpdYUjP6A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_sortable.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_sortable.png deleted file mode 100644 index 361a14a9a6b7b8f396f8c7eb1cb22e44b09309de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^+(69F!3HFaY)uV-l((mgV~EE2yIiE`I{XBREXe@)LtDnm{r-UW|neZx! diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_status.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_status.png deleted file mode 100644 index 0680c59f506aa69696c41964ea56916a0a7573f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFp1oQDE!z4vfk6x&t;ucLK6U4**7}? diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_success.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_success.png deleted file mode 100644 index d2e6121077005acc0dfc40b8e13805fcb692bf25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 589 zcmV-T0{Dqy`tO2MV762T}zAMF9d$01;ge0#5-4SOf@92Lx0B4POcvb`m3i9~XEK z6n736cMutW5gvsX1xf-1OamfxAO=?h3t|WmYz-1q5EgP0C4C@Ck3>3;G$?~3HIFYq zzcw(TBrvfgM3O&O%T8vrT@;=M7nKVjqZ1{!6)&(NH_0eH!ZAUaI!V|$Ox8b9lSx+R zN?GShTAxx{vQb^0R$l2(U)NJ$#8qYRSZDQEYS3VB{$O<5X?Xu>dC_lt=W&7VcZBbF zgz|ZjyEMx+6#%ge4+86{mC5==fFzt$07Cn@m(MvFfHZVHM&%U8VOT7< zr~s7d>24DVZpW39hlwYByt`WOXN{_tg%@q2vse!5J{sN(vC*U-V1uAb&E0f-GMYK~ bM#fKfnc5T}aYQ#u00000NkvXXu0mjf{95M` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_sync.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_sync.png deleted file mode 100644 index 8545ba1b831371c88c5e49490db82dad3ee0b8ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 498 zcmVMNW{-K%uqMH4qoBgDm{iU7$rk?(%pZ=(z|EZ(g!notZy5z;Y<;cJ1 z+q+cW-P`BLWar6v=gWTR&y4BFUh316>(rI&>+9^*nC#Y=?d|IB=g;uZWAV&W@yt~5 z&R+4;Z}HP`@ziqh)O7OARr1eZ^3rSa(`@q9cJs|q^VD$j)pPUKcJtPE^VWIv)^+sP zdGy$O^w@p%*m?EYef8RZ_4V@h*m(BYeD>LW_V)Jo+kf}lf%x2l>84S@0000BbW%=J z01X)%CMd11;Qs#Rq3#&~005dvL_t&-83n;HPQySD0KhqOh$0dN6i8GEIW_;6@(~aX z6d^_EViVhUyUdgwU;S`UOx%IJOnwA4R-Y<}$LG-~a#s07*qoM6N<$f=oXTv;Y7A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_tbl.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_tbl.png deleted file mode 100644 index 6ae8c4d94a11fc561639613f13cdba187519eeaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmUzPnffIy#(@IJzX3_ zEKVmUNMsz~NIo;C@|nG+)aA>*5|R=U5;ImjV`5`#`~UyH@N*6~H@6*eYB`evSS@ZY o){`jHb1-bsxO+oa-hqMP#!<oy85}Sb4q9e0FdV^jQ{`u diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_theme.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_theme.png deleted file mode 100644 index 6196810abb12ed90078995b73e2a161f82fec12f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 546 zcmV+-0^R+IP)*?!1B{PAl2`+hS^$z? z0g`1LlVAjsb9Iw;37KdXnVHO;U+|F1OvuRH($0RR90Q~V)T00001bW%=J z06^y0W&i*Hph-kQR2b7^U_b_pDvS(x1xQdJqi<(tA_EtYvD6mV^mlh+WQ6by1A>G( zIpi4_<6#2PQ63_;J|MoBnHU3ud1z#~Mo4TRP=mF!fVwP$U9g*xLrfTuugl8J!mh`l z>g{4Ip#|joc?vSI@yRkUNcjr!aP!(n#KpOaN{WF@l~Uy5SMyRbHPEpUgSbmd*~;0` kLP1Up$<;FE<}wf#0GI6*lSsLgQ~&?~07*qoM6N<$f)pI!4*&oF diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_top.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_top.png deleted file mode 100644 index f86dad26722304a47626805bcc79ac312a8628fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM*u!0G|+7pUlF2V6cDx{yls496EGpFBkwB5OFxUYu7G_)WL%Xfr^0uE(K&j zxIhyijGeDnqynvwDGBlmX1ICdl(^_EY02Y>>Oks2`oIPl8XEc) z7Z-oHdiCnNh=_=7-rnASQd3j^Pnt9-52PSJKmR|74-yB-uUN6-AxJ$)AIt?^O-)VT zCr_T74pjKb-rk;L@7}!}=gytu04X?h=n%)+wQD(m;%Y$oCm?ko^&ov<19WwDGt<-4 z-%p!1tt2QYXs4s2<1aTixBr2Gf&W1YfV4h{4-yB-gVcf4gYO zty=YV-MV%Er%#{$zp$_nY(Pat1(**K2g!rffz*TafelboQ)31?&%n#e>wZc~%9rfy z?C(JQGdw&z4x}IUyRt?v{0wJ6^R0W@A*Z8= z&I?WjSJx&^y7yBz?2M*SZ18QRLbAs(#0rsh%4F{kwbCf;j=k00000NkvXXu0mjf-HSTy diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_vars.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_vars.png deleted file mode 100644 index 5bc92cdde43d78411b7a887f0d6799fa39770801..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF(0Wsmrjs#y!a>%0y85}Sb4q9e0M^npp#T5? diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_views.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/s_views.png deleted file mode 100644 index fc4e1515f7d480f4ecfbfae8bf285ad3776665b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4v7|ftIx;Y>Fa6g;<&-^e*m^@H^1G iamM*YANvpOWIq2X+1=*yUw)u#89ZJ6T-G@yGywn&QCAZH diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/show.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/show.png deleted file mode 100644 index 2bb6978b5ca23093a89862bfbaec92ada769dbec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLB|r;h!W@g+}zZ>5(eiWSH}?lAS;FR6y25R2vi&C}ThWO;>r!RkQp5`YaI%$Ftv;6M;Gw;87 z_jcaT{_Yby*F|$SE#Tz7p;3JQ`|T^MGG{%zQZ1J#VV5{7>E0m;ovH&j+9m7~*o8l( z<{GPcPO|A_^Vs;*AK|Mxo@RJP_FS>wC>%2pj)(=XSVig;XlZZyiQPg%QH-Tbm!qUXK?>LNE^#P01q zte&Dcy`zw+sMDE8FnNBU-lanxSuZqgvTs)g>}VG6(VgM^t>@DcU$d17yZ`mn3z^qX n%6GZ;QaGJMSxF;>;M1%85p{8AvU&N4vs!y z;mP9SQ>CS+tEtV=)0?lazrey`iMRLKz`*q(AsZtjH>aiTEGgMvQ**eZZ}EpTHqP_Wk1#W6%elJ%e?-ys7Y1_N_fj~Idf^~%$G53;=#dQ-;CAi%)D!oa}D zaDeqYU&6i}4{8{$2seIb-0+?wLU;x@i;VRLNdeZ=4fnZ3IX^Q;JGnJ|J-xB9hvjRL zp2N2+#>c;IAF$co#a66;V&P)bIjok!%Yzu6c}R71Oqj`8&#=kym1)kQvp|P1c)I$z JtaD0e0st!RgX91J diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/spacer.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/spacer.png deleted file mode 100644 index c6008d7c80d0250ed548d73c67ae3df3ba69675d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>mUKs7M+S!VC(K#9UIO{to-U3d d9M_W*5`Y|L21bReQ;q{!44$rjF6*2UngBzk5TF16 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/sprites.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/sprites.png deleted file mode 100644 index d190d063808a0292f7d81a60c0c4a3af0daf632f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11812 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

    !_<3i`eS!q5)6Z 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 IC2kn_Kgye2ga7~l diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/toggle-ltr.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/toggle-ltr.png deleted file mode 100644 index 9d08d61532ebad95a238009fe5bd305472c80de7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJC3$QQ)$x~q_lYx|6fKP~PLqkJ-eSK|hEkhjx zLk+{TXV1=@IdlH}d4_2W|NsAgc_95NP^F)zi(`n#@#KUBngRhW8(SnYvxS=teH)!M zWHwB_EMib{LBvGC=8%+EutRab%QUA4E8N{|jb2R*?C+^cxuU#SPLfYf(#%(6S7pi$ blgErXUNfDR95{IpXflJRtDnm{r-UW|J-I(V diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/toggle-rtl.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/toggle-rtl.png deleted file mode 100644 index c2ef16f8d72821bf7c5a07008e3f463df38cb423..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJC3$QQ)$x~q_lYx|6fKP~PLqkJ-eSK|h?fLWP z&zw2)?AbGh8U}_s28L-2|Ns9l+OzfQaGJMSxF;>;M1%85p{8AvU&N4vs!y z;mP9SQ>CS+tEtV=)0?lazrey`iMRLKz`*q(AsZtjH>aiTEGgMvQ**eZZ}EpTHqP_WF?#W6(Ua_I$kp#}vW)_~nf@Aq!M^S_O&OXF4ih6>}vIwcN^NsA;q z*qT=?sxF&YdSv1Wm2-T%mNoHtIbGuP+k3#1i_ut~Q6uw5Zxw@EwfuV42Pf7&W1r}_ zfA{5&wq9&*TUtVWrbL8pk343tZ`TWd2SpK7a7Si(&O@n=den(n=x&rXx zS4u}I1 z)Bt`0_3OmUf%ouej?IrhIeGeVK9+&07Lt;aK?$?uK8pZx6yv-Cpp=23YPf)SSU^gI zKyz^-m*Leoz;v*CP>VQTL9*EQ0^A){9W(BwN#KZpJDA&EfT~qyFfimup++#R060dj z7XEG5?z@>)4r+0NG#kh;0tx+yRK-mI@+`l#y0-j;|Erq?w5TWmQ=lGBQW~5AzkuJN a2jDNMsK*_o95@yL0000QaG}Q-Dv1>;M1%85p{8ApwC&f`XGo zM5ahdP1DerYi+&M#%5VS!1@m#eti1$^T&_hzkmOIZ`rd4Xc}ipkY6wZzom7}yp2zu zZVTMl3>1v^ba4!kxV-m_C0~Pq2=hhH6KUVR{tI9FQ-Q-a*zTm;{2z^N7p3%GeLH(A zdhx%AwTq{_Of=EIrm}LvtM4u=G#_Mt61XqKIDP&kS%=RX?l3g$-hQ$0sk4?UEB^t` Xhy?CXZb4RQpfwDhu6{1-oD!MQaGJet=Ji>;M1%85p{8Ax_SIF0Ot) zzKH??lf=ZPii=NGR-UDzGTYpIiG{@yd;8@M4lBI9*ZTOZ4GP*29K0bTV^?qQ>At?x z@85s_@Zrbj&p*F>`T6bJuOB~t|Ni~=&!4}a9?Z`LTFqG! z0|gsAT^vIsBv}tS`WsvE_Wi%YQ z_KJfcbg?WiL#kE&gO5M!?oaS+SSmI_^Z?rlE+NI!dp+lV37>KI%=fcS-#2`_uru;U z?X;M*+4fgBYi#z^H83y;9FRHAAod`0KSL=K0|x`c|8rLAt)Zsht^wV`;OXk;vd$@? F2>=-1g1-O& diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/zoom-world-mini.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/img/zoom-world-mini.png deleted file mode 100644 index e4d723182da0e274a37c9b9cdffcdd0972a683dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 805 zcmV+=1KRwFP)>g)z=MOvzP{mne8Wskt$lsM4Goai*6b=Ooyp1Or>E8j z2aY8rn_^(bKdb929{s@OWhMMbJXL8vb;pvK1KR#vji%;ymi zk}@)(zrW#lc)>?UtA&NfaB#hAYrAoAzPY*Ie}BYUTC+AIw7nL|Tq)tw*Gc%&Mx89YN&K(_?&CTct2#&?YFJyA0L?o1&y(>+J=V6+1c$_ShB>#Fyk9hpx6trkR((WMD1;$kQyW74F=7}axlH; z7#WNiUrL-dV?4=Vaq_?1H&w=Cj11OCZ5SC3*&k$ZVBGHnR_D&RLs5f~@qi=&PioFYID(GM#kqmB64p< zfMVG|JUxqXQYgDHW3R-E5=KUbGDgO|rz;uT7^)dtYA+ZvHZn3a0PRt~rC!r|WqGL} zBV*M+pohGFIj}H(5M=yxiT|T5V-eWf{h#=|t*y_C_9UK9%!3Bb)P+Ep)xH@qM$Kj<{Zp~N=K7Zb1^w9wWefEXG(3zW98QK)#ufsRF00000NkvXXu0mjfKp089 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_65_ffffff_1x400.png deleted file mode 100644 index 0af053771c1fc0f2ce949ec5e341b085a45cc648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI2NH8$CE1Q=ADM3#c#}JM4$r%X}t&0mp9yKsb W%{ak$*<@oTNRg+jpUXO@geCwKViDW` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_75_dadada_1x400.png deleted file mode 100644 index 910da200e0fcb588b6e56c1fc9264e4e0ab395a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq})7R978O6ldFEs?`%vI=~dEN zyng#k3GNvZ{|yYgj16ZQ7^WE;J~c2bGceq0Z1~K;FxA+Qt>I|BvEjOeqzRH0?EQ-t ZHZZIz;+^Xz%QGEhvZt$`%Q~loCIDQ-C8+=a diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_glass_95_fef1ec_1x400.png deleted file mode 100644 index beeef85ac198b4ddaa16e9ce2238fea9a2f6525f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCqB11u30hJ=hQAcZOt^k ne9c7C&@kXa_ftoKKi2vke)92dN+)`Ou3_+W^>bP0l+XkKqC85A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png deleted file mode 100644 index 63c73b56200274eebae1d069eb73f8e89447f677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_2e83ff_256x240.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_2e83ff_256x240.png deleted file mode 100644 index ab319c498557b9f7503e8ffeb3d923fb78ef038e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4261 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 MO>Irej0g$;16-vFO8@`> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_454545_256x240.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_454545_256x240.png deleted file mode 100644 index 3b3ab9195bacfb26d5a99411476d81a8f0d67f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4262 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

    jfHA`>k7m(_ftu^L23%(pjSOKLV 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 I4DT5IKj1+HNB{r; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/jquery/images/ui-icons_cd0a0a_256x240.png deleted file mode 100644 index 9e50d4d540359ee0370a76e99cb5196762d124a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4261 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 M!oj9eKSj~Or~m)} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/screen.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/screen.png deleted file mode 100644 index 0ae4d0ff5ebd742361c31ac009302bedd0e44c2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23684 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/sprites.lib.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/sprites.lib.php deleted file mode 100644 index 027003ab..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/original/sprites.lib.php +++ /dev/null @@ -1,744 +0,0 @@ - array( - 'position' => '1', - 'width' => '16', - 'height' => '16' - ), - 'b_browse' => array( - 'position' => '2', - 'width' => '16', - 'height' => '16' - ), - 'b_calendar' => array( - 'position' => '3', - 'width' => '16', - 'height' => '16' - ), - 'b_chart' => array( - 'position' => '4', - 'width' => '16', - 'height' => '16' - ), - 'b_close' => array( - 'position' => '5', - 'width' => '16', - 'height' => '16' - ), - 'b_column_add' => array( - 'position' => '6', - 'width' => '16', - 'height' => '16' - ), - 'b_comment' => array( - 'position' => '7', - 'width' => '16', - 'height' => '16' - ), - 'b_dbstatistics' => array( - 'position' => '8', - 'width' => '16', - 'height' => '16' - ), - 'b_deltbl' => array( - 'position' => '9', - 'width' => '16', - 'height' => '16' - ), - 'b_docs' => array( - 'position' => '10', - 'width' => '16', - 'height' => '16' - ), - 'b_drop' => array( - 'position' => '11', - 'width' => '16', - 'height' => '16' - ), - 'b_edit' => array( - 'position' => '12', - 'width' => '16', - 'height' => '16' - ), - 'b_empty' => array( - 'position' => '13', - 'width' => '16', - 'height' => '16' - ), - 'b_engine' => array( - 'position' => '14', - 'width' => '16', - 'height' => '16' - ), - 'b_event_add' => array( - 'position' => '15', - 'width' => '16', - 'height' => '16' - ), - 'b_events' => array( - 'position' => '16', - 'width' => '16', - 'height' => '16' - ), - 'b_export' => array( - 'position' => '17', - 'width' => '16', - 'height' => '16' - ), - 'b_favorite' => array( - 'position' => '18', - 'width' => '16', - 'height' => '16' - ), - 'b_find_replace' => array( - 'position' => '19', - 'width' => '16', - 'height' => '16' - ), - 'b_ftext' => array( - 'position' => '20', - 'width' => '16', - 'height' => '16' - ), - 'b_group' => array( - 'position' => '21', - 'width' => '16', - 'height' => '16' - ), - 'b_help' => array( - 'position' => '22', - 'width' => '11', - 'height' => '11' - ), - 'b_home' => array( - 'position' => '23', - 'width' => '16', - 'height' => '16' - ), - 'b_import' => array( - 'position' => '24', - 'width' => '16', - 'height' => '16' - ), - 'b_index' => array( - 'position' => '25', - 'width' => '16', - 'height' => '16' - ), - 'b_index_add' => array( - 'position' => '26', - 'width' => '16', - 'height' => '16' - ), - 'b_info' => array( - 'position' => '27', - 'width' => '11', - 'height' => '11' - ), - 'b_inline_edit' => array( - 'position' => '28', - 'width' => '16', - 'height' => '16' - ), - 'b_insrow' => array( - 'position' => '29', - 'width' => '16', - 'height' => '16' - ), - 'b_minus' => array( - 'position' => '30', - 'width' => '9', - 'height' => '9' - ), - 'b_more' => array( - 'position' => '31', - 'width' => '16', - 'height' => '16' - ), - 'b_move' => array( - 'position' => '32', - 'width' => '16', - 'height' => '16' - ), - 'b_newdb' => array( - 'position' => '33', - 'width' => '16', - 'height' => '16' - ), - 'b_newtbl' => array( - 'position' => '34', - 'width' => '16', - 'height' => '16' - ), - 'b_nextpage' => array( - 'position' => '35', - 'width' => '16', - 'height' => '16' - ), - 'b_no_favorite' => array( - 'position' => '36', - 'width' => '16', - 'height' => '16' - ), - 'b_plugin' => array( - 'position' => '37', - 'width' => '16', - 'height' => '16' - ), - 'b_plus' => array( - 'position' => '38', - 'width' => '9', - 'height' => '9' - ), - 'b_primary' => array( - 'position' => '39', - 'width' => '16', - 'height' => '16' - ), - 'b_print' => array( - 'position' => '40', - 'width' => '16', - 'height' => '16' - ), - 'b_props' => array( - 'position' => '41', - 'width' => '16', - 'height' => '16' - ), - 'b_relations' => array( - 'position' => '42', - 'width' => '16', - 'height' => '16' - ), - 'b_report' => array( - 'position' => '43', - 'width' => '16', - 'height' => '16' - ), - 'b_routine_add' => array( - 'position' => '44', - 'width' => '16', - 'height' => '16' - ), - 'b_routines' => array( - 'position' => '45', - 'width' => '16', - 'height' => '16' - ), - 'b_save' => array( - 'position' => '46', - 'width' => '16', - 'height' => '16' - ), - 'b_saveimage' => array( - 'position' => '47', - 'width' => '16', - 'height' => '16' - ), - 'b_sbrowse' => array( - 'position' => '48', - 'width' => '10', - 'height' => '10' - ), - 'b_search' => array( - 'position' => '49', - 'width' => '16', - 'height' => '16' - ), - 'b_select' => array( - 'position' => '50', - 'width' => '16', - 'height' => '16' - ), - 'b_snewtbl' => array( - 'position' => '51', - 'width' => '10', - 'height' => '10' - ), - 'b_spatial' => array( - 'position' => '52', - 'width' => '16', - 'height' => '16' - ), - 'b_sql' => array( - 'position' => '53', - 'width' => '16', - 'height' => '16' - ), - 'b_sqlhelp' => array( - 'position' => '54', - 'width' => '16', - 'height' => '16' - ), - 'b_table_add' => array( - 'position' => '55', - 'width' => '16', - 'height' => '16' - ), - 'b_tblanalyse' => array( - 'position' => '56', - 'width' => '16', - 'height' => '16' - ), - 'b_tblexport' => array( - 'position' => '57', - 'width' => '16', - 'height' => '16' - ), - 'b_tblimport' => array( - 'position' => '58', - 'width' => '16', - 'height' => '16' - ), - 'b_tblops' => array( - 'position' => '59', - 'width' => '16', - 'height' => '16' - ), - 'b_tbloptimize' => array( - 'position' => '60', - 'width' => '16', - 'height' => '16' - ), - 'b_tipp' => array( - 'position' => '61', - 'width' => '16', - 'height' => '16' - ), - 'b_trigger_add' => array( - 'position' => '62', - 'width' => '16', - 'height' => '16' - ), - 'b_triggers' => array( - 'position' => '63', - 'width' => '16', - 'height' => '16' - ), - 'b_undo' => array( - 'position' => '64', - 'width' => '16', - 'height' => '16' - ), - 'b_unique' => array( - 'position' => '65', - 'width' => '16', - 'height' => '16' - ), - 'b_usradd' => array( - 'position' => '66', - 'width' => '16', - 'height' => '16' - ), - 'b_usrcheck' => array( - 'position' => '67', - 'width' => '16', - 'height' => '16' - ), - 'b_usrdrop' => array( - 'position' => '68', - 'width' => '16', - 'height' => '16' - ), - 'b_usredit' => array( - 'position' => '69', - 'width' => '16', - 'height' => '16' - ), - 'b_usrlist' => array( - 'position' => '70', - 'width' => '16', - 'height' => '16' - ), - 'b_versions' => array( - 'position' => '71', - 'width' => '16', - 'height' => '16' - ), - 'b_view' => array( - 'position' => '72', - 'width' => '16', - 'height' => '16' - ), - 'b_view_add' => array( - 'position' => '73', - 'width' => '16', - 'height' => '16' - ), - 'b_views' => array( - 'position' => '74', - 'width' => '16', - 'height' => '16' - ), - 'bd_browse' => array( - 'position' => '75', - 'width' => '16', - 'height' => '16' - ), - 'bd_deltbl' => array( - 'position' => '76', - 'width' => '16', - 'height' => '16' - ), - 'bd_drop' => array( - 'position' => '77', - 'width' => '16', - 'height' => '16' - ), - 'bd_edit' => array( - 'position' => '78', - 'width' => '16', - 'height' => '16' - ), - 'bd_empty' => array( - 'position' => '79', - 'width' => '16', - 'height' => '16' - ), - 'bd_export' => array( - 'position' => '80', - 'width' => '16', - 'height' => '16' - ), - 'bd_ftext' => array( - 'position' => '81', - 'width' => '16', - 'height' => '16' - ), - 'bd_index' => array( - 'position' => '82', - 'width' => '16', - 'height' => '16' - ), - 'bd_insrow' => array( - 'position' => '83', - 'width' => '16', - 'height' => '16' - ), - 'bd_nextpage' => array( - 'position' => '84', - 'width' => '8', - 'height' => '13' - ), - 'bd_primary' => array( - 'position' => '85', - 'width' => '16', - 'height' => '16' - ), - 'bd_routine_add' => array( - 'position' => '86', - 'width' => '16', - 'height' => '16' - ), - 'bd_sbrowse' => array( - 'position' => '87', - 'width' => '10', - 'height' => '10' - ), - 'bd_select' => array( - 'position' => '88', - 'width' => '16', - 'height' => '16' - ), - 'bd_spatial' => array( - 'position' => '89', - 'width' => '16', - 'height' => '16' - ), - 'bd_unique' => array( - 'position' => '90', - 'width' => '16', - 'height' => '16' - ), - 'centralColumns' => array( - 'position' => '91', - 'width' => '16', - 'height' => '16' - ), - 'centralColumns_add' => array( - 'position' => '92', - 'width' => '16', - 'height' => '16' - ), - 'centralColumns_delete' => array( - 'position' => '93', - 'width' => '16', - 'height' => '16' - ), - 'col_drop' => array( - 'position' => '94', - 'width' => '16', - 'height' => '16' - ), - 'console' => array( - 'position' => '95', - 'width' => '16', - 'height' => '16' - ), - 'eye' => array( - 'position' => '96', - 'width' => '16', - 'height' => '16' - ), - 'eye_grey' => array( - 'position' => '97', - 'width' => '16', - 'height' => '16' - ), - 'hide' => array( - 'position' => '98', - 'width' => '16', - 'height' => '16' - ), - 'lightbulb' => array( - 'position' => '99', - 'width' => '16', - 'height' => '16' - ), - 'lightbulb_off' => array( - 'position' => '100', - 'width' => '16', - 'height' => '16' - ), - 'more' => array( - 'position' => '101', - 'width' => '13', - 'height' => '16' - ), - 'new_data' => array( - 'position' => '102', - 'width' => '16', - 'height' => '16' - ), - 'new_data_hovered' => array( - 'position' => '103', - 'width' => '16', - 'height' => '16' - ), - 'new_data_selected' => array( - 'position' => '104', - 'width' => '16', - 'height' => '16' - ), - 'new_data_selected_hovered' => array( - 'position' => '105', - 'width' => '16', - 'height' => '16' - ), - 'new_struct' => array( - 'position' => '106', - 'width' => '16', - 'height' => '16' - ), - 'new_struct_hovered' => array( - 'position' => '107', - 'width' => '16', - 'height' => '16' - ), - 'new_struct_selected' => array( - 'position' => '108', - 'width' => '16', - 'height' => '16' - ), - 'new_struct_selected_hovered' => array( - 'position' => '109', - 'width' => '16', - 'height' => '16' - ), - 'normalize' => array( - 'position' => '110', - 'width' => '16', - 'height' => '16' - ), - 'pause' => array( - 'position' => '111', - 'width' => '16', - 'height' => '16' - ), - 'play' => array( - 'position' => '112', - 'width' => '16', - 'height' => '16' - ), - 's_asc' => array( - 'position' => '113', - 'width' => '11', - 'height' => '9' - ), - 's_asci' => array( - 'position' => '114', - 'width' => '16', - 'height' => '16' - ), - 's_attention' => array( - 'position' => '115', - 'width' => '16', - 'height' => '16' - ), - 's_cancel' => array( - 'position' => '116', - 'width' => '16', - 'height' => '16' - ), - 's_cog' => array( - 'position' => '117', - 'width' => '16', - 'height' => '16' - ), - 's_db' => array( - 'position' => '118', - 'width' => '16', - 'height' => '16' - ), - 's_desc' => array( - 'position' => '119', - 'width' => '11', - 'height' => '9' - ), - 's_error' => array( - 'position' => '120', - 'width' => '16', - 'height' => '16' - ), - 's_error2' => array( - 'position' => '121', - 'width' => '11', - 'height' => '11' - ), - 's_host' => array( - 'position' => '122', - 'width' => '16', - 'height' => '16' - ), - 's_info' => array( - 'position' => '123', - 'width' => '11', - 'height' => '11' - ), - 's_lang' => array( - 'position' => '124', - 'width' => '16', - 'height' => '16' - ), - 's_link' => array( - 'position' => '125', - 'width' => '16', - 'height' => '16' - ), - 's_lock' => array( - 'position' => '126', - 'width' => '16', - 'height' => '16' - ), - 's_loggoff' => array( - 'position' => '127', - 'width' => '16', - 'height' => '16' - ), - 's_notice' => array( - 'position' => '128', - 'width' => '16', - 'height' => '16' - ), - 's_okay' => array( - 'position' => '129', - 'width' => '16', - 'height' => '16' - ), - 's_passwd' => array( - 'position' => '130', - 'width' => '16', - 'height' => '16' - ), - 's_really' => array( - 'position' => '131', - 'width' => '11', - 'height' => '11' - ), - 's_reload' => array( - 'position' => '132', - 'width' => '16', - 'height' => '16' - ), - 's_replication' => array( - 'position' => '133', - 'width' => '16', - 'height' => '16' - ), - 's_rights' => array( - 'position' => '134', - 'width' => '16', - 'height' => '16' - ), - 's_sortable' => array( - 'position' => '135', - 'width' => '11', - 'height' => '15' - ), - 's_status' => array( - 'position' => '136', - 'width' => '16', - 'height' => '16' - ), - 's_success' => array( - 'position' => '137', - 'width' => '16', - 'height' => '16' - ), - 's_sync' => array( - 'position' => '138', - 'width' => '16', - 'height' => '16' - ), - 's_tbl' => array( - 'position' => '139', - 'width' => '16', - 'height' => '16' - ), - 's_theme' => array( - 'position' => '140', - 'width' => '16', - 'height' => '16' - ), - 's_top' => array( - 'position' => '141', - 'width' => '16', - 'height' => '16' - ), - 's_unlink' => array( - 'position' => '142', - 'width' => '16', - 'height' => '16' - ), - 's_vars' => array( - 'position' => '143', - 'width' => '16', - 'height' => '16' - ), - 's_views' => array( - 'position' => '144', - 'width' => '10', - 'height' => '10' - ), - 'show' => array( - 'position' => '145', - 'width' => '16', - 'height' => '16' - ), - 'window-new' => array( - 'position' => '146', - 'width' => '16', - 'height' => '16' - ), -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/common.css.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/common.css.php deleted file mode 100644 index 208b2781..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/common.css.php +++ /dev/null @@ -1,3545 +0,0 @@ - -/******************************************************************************/ - -/* general tags */ -html { - font-size: getFontSize(); ?> -} - -input, -select, -textarea { - font-size: 1em; -} - - -body { - - font-family: ; - - padding: 0; - margin: 0; - margin-: 240px; - color: ; - background: ; -} - -body#loginform { - margin: 0; -} - -#page_content { - margin: 0 .5em; -} - - - textarea, - tt, - pre, - code { - font-family: ; - } - - - -h1 { - font-size: 140%; - font-weight: bold; -} - -h2 { - font-size: 2em; - font-weight: normal; - text-shadow: 0 1px 0 #fff; - padding: 10px 0 10px; - padding-: 3px; - color: #777; -} - -/* Hiding icons in the page titles */ -h2 img { - display: none; -} - -h2 a img { - display: inline; -} - -.data, -.data_full_width { - margin: 0 0 12px; -} - -.data_full_width { - width: 100%; -} - -h3 { - font-weight: bold; -} - -a, -a:link, -a:visited, -a:active, -button.mult_submit, -.checkall_box+label { - text-decoration: none; - color: #235a81; - cursor: pointer; - outline: none; - -} - -a:hover, -button.mult_submit:hover, -button.mult_submit:focus, -.checkall_box+label:hover { - text-decoration: underline; - color: #235a81; -} - -#initials_table { - background: #f3f3f3; - border: 1px solid #aaa; - margin-bottom: 10px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; -} - -#initials_table td { - padding: 8px !important; -} - -#initials_table a { - border: 1px solid #aaa; - background: #fff; - padding: 4px 8px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; - getCssGradient('ffffff', 'e0e0e0'); ?> -} - -#initials_table a.active { - border: 1px solid #666; - box-shadow: 0 0 2px #999; - getCssGradient('bbbbbb', 'ffffff'); ?> -} - -dfn { - font-style: normal; -} - -dfn:hover { - font-style: normal; - cursor: help; -} - -th { - font-weight: bold; - color: ; - background: #f3f3f3; - getCssGradient('ffffff', 'cccccc'); ?> -} - -a img { - border: 0; -} - -hr { - color: ; - background-color: ; - border: 0; - height: 1px; -} - -form { - padding: 0; - margin: 0; - display: inline; -} - - -input, -select { - /* Fix outline in Chrome: */ - outline: none; -} - -input[type=text], -input[type=password], -input[type=number], -input[type=date] { - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - - - background: white; - border: 1px solid #aaa; - color: #555; - padding: 4px; -} - -input[type=text], -input[type=password], -input[type=number], -input[type=date], -input[type=checkbox], -select { - margin: 6px; -} - -input[type=number] { - width: 50px; -} - -input[type=text], -input[type=password], -input[type=number], -input[type=date], -select { - transition: all 0.2s; - -ms-transition: all 0.2s; - -webkit-transition: all 0.2s; - -moz-transition: all 0.2s; -} - -input[type=text][disabled], -input[type=text][disabled]:hover, -input[type=password][disabled], -input[type=password][disabled]:hover, -input[type=number][disabled], -input[type=number][disabled]:hover, -input[type=date][disabled], -input[type=date][disabled]:hover, -select[disabled], -select[disabled]:hover { - background: #e8e8e8; - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; -} - -input[type=text]:hover, -input[type=text]:focus, -input[type=password]:hover, -input[type=password]:focus, -input[type=number]:hover, -input[type=number]:focus, -input[type=date]:hover, -input[type=date]:focus, -select:focus { - border: 1px solid #7c7c7c; - background: #fff; -} - -input[type=text]:hover, -input[type=password]:hover, -input[type=number]:hover, -input[type=date]:hover { - box-shadow: 0 1px 3px #aaa; - -webkit-box-shadow: 0 1px 3px #aaa; - -moz-box-shadow: 0 1px 3px #aaa; -} - -input[type=submit], -input[type=button], -button[type=submit]:not(.mult_submit) { - font-weight: bold !important; -} - -input[type=submit], -input[type=button], -button[type=submit]:not(.mult_submit), -input[type=reset], -input[name=submit_reset], -input.button { - margin: 6px 14px; - border: 1px solid #aaa; - padding: 3px 7px; - color: #111; - text-decoration: none; - background: #ddd; - - border-radius: 12px; - -webkit-border-radius: 12px; - -moz-border-radius: 12px; - - text-shadow: 0 1px 0 #fff; - - getCssGradient('f8f8f8', 'd8d8d8'); ?> -} - -input[type=submit]:hover, -input[type=button]:hover, -button[type=submit]:not(.mult_submit):hover, -input[type=reset]:hover, -input[name=submit_reset]:hover, -input.button:hover { - position: relative; - getCssGradient('fff', 'ddd'); ?> - cursor: pointer; -} - -input[type=submit]:active, -input[type=button]:active, -button[type=submit]:not(.mult_submit):active, -input[type=reset]:active, -input[name=submit_reset]:active, -input.button:active { - position: relative; - getCssGradient('eee', 'ddd'); ?> - box-shadow: 0 1px 6px -2px #333 inset; - text-shadow: none; -} - -input[type=submit]:disabled, -input[type=button]:disabled, -button[type=submit]:not(.mult_submit):disabled, -input[type=reset]:disabled, -input[name=submit_reset]:disabled, -input.button:disabled { - background: #ccc; - color: #666; - text-shadow: none; -} - -textarea { - overflow: visible; - margin: 6px; -} - -textarea.char { - margin: 6px; -} - -fieldset, .preview_sql { - margin-top: 1em; - border-radius: 4px 4px 0 0; - -moz-border-radius: 4px 4px 0 0; - -webkit-border-radius: 4px 4px 0 0; - border: #aaa solid 1px; - padding: 1.5em; - background: #eee; - text-shadow: 1px 1px 2px #fff inset; - -moz-box-shadow: 1px 1px 2px #fff inset; - -webkit-box-shadow: 1px 1px 2px #fff inset; - box-shadow: 1px 1px 2px #fff inset; -} - -fieldset fieldset { - margin: .8em; - background: #fff; - border: 1px solid #aaa; - background: #E8E8E8; - -} - -fieldset legend { - font-weight: bold; - color: #444; - padding: 5px 10px; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border: 1px solid #aaa; - background-color: #fff; - -moz-box-shadow: 3px 3px 15px #bbb; - -webkit-box-shadow: 3px 3px 15px #bbb; - box-shadow: 3px 3px 15px #bbb; - max-width: 100%; -} - -.some-margin { - margin: 1.5em; -} - -/* buttons in some browsers (eg. Konqueror) are block elements, - this breaks design */ -button { - display: inline; -} - -table caption, -table th, -table td { - padding: .1em .3em; - margin: .1em; - vertical-align: middle; - text-shadow: 0 1px 0 #fff; -} - -/* 3.4 */ -table { - border-collapse: collapse; -} - -thead th { - border-right: 1px solid #fff; -} - -th { - text-align: left; -} - - -img, -button { - vertical-align: middle; -} - -input[type="checkbox"], -input[type="radio"] { - vertical-align: -11%; -} - - -select { - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; - - border: 1px solid #bbb; - color: #333; - padding: 3px; - background: white; - margin:6px; -} - -select[multiple] { - getCssGradient('ffffff', 'f2f2f2'); ?> -} - -/******************************************************************************/ -/* classes */ -.clearfloat { - clear: both; -} - -.floatleft { - float: ; - margin-: 1em; -} - -.floatright { - float: ; -} - -.center { - text-align: center; -} - -.displayblock { - display: block; -} - -table.nospacing { - border-spacing: 0; -} - -table.nopadding tr th, table.nopadding tr td { - padding: 0; -} - -th.left, td.left { - text-align: left; -} - -th.center, td.center { - text-align: center; -} - -th.right, td.right { - text-align: right; - padding-right: 1em; -} - -tr.vtop th, tr.vtop td, th.vtop, td.vtop { - vertical-align: top; -} - -tr.vmiddle th, tr.vmiddle td, th.vmiddle, td.vmiddle { - vertical-align: middle; -} - -tr.vbottom th, tr.vbottom td, th.vbottom, td.vbottom { - vertical-align: bottom; -} - -.paddingtop { - padding-top: 1em; -} - -.separator { - color: #fff; - text-shadow: 0 1px 0 #000; -} - -div.tools { - /* border: 1px solid #000; */ - padding: .2em; -} - -div.tools a { - color: #3a7ead !important; -} - -div.tools, -fieldset.tblFooters { - margin-top: 0; - margin-bottom: .5em; - /* avoid a thick line since this should be used under another fieldset */ - border-top: 0; - text-align: ; - float: none; - clear: both; - -webkit-border-radius: 0 0 4px 4px; - -moz-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 5px; -} - -div.null_div { - height: 20px; - text-align: center; - font-style: normal; - min-width: 50px; -} - -fieldset .formelement { - float: ; - margin-: .5em; - /* IE */ - white-space: nowrap; -} - -/* revert for Gecko */ -fieldset div[class=formelement] { - white-space: normal; -} - -button.mult_submit { - border: none; - background-color: transparent; -} - -/* odd items 1,3,5,7,... */ -table tbody:first-of-type tr:nth-child(odd), -table tbody:first-of-type tr:nth-child(odd) th { - background: #fff; -} - -/* even items 2,4,6,8,... */ -table tbody:first-of-type tr:nth-child(even), -table tbody:first-of-type tr:nth-child(even) th { - background: #DFDFDF; -} - -table tr th, -table tr { - text-align: ; -} - -/* marked table rows */ -td.marked:not(.nomarker), -table tr.marked:not(.nomarker) td, -table tbody:first-of-type tr.marked:not(.nomarker) th, -table tr.marked:not(.nomarker) { - getCssGradient('ced6df', 'b6c6d7'); ?> - color: ; -} - -/* hovered items */ -table tbody:first-of-type tr:not(.nopointer):hover, -table tbody:first-of-type tr:not(.nopointer):hover th, -.hover:not(.nopointer) { - getCssGradient('ced6df', 'b6c6d7'); ?> - color: ; -} - -/* hovered table rows */ -table tr.hover:not(.nopointer) th { - getCssGradient('ced6df', 'b6c6d7'); ?> - color: ; -} - -/** - * marks table rows/cells if the db field is in a where condition - */ -.condition { - border-color: !important; -} - -th.condition { - border-width: 1px 1px 0 1px; - border-style: solid; -} - -td.condition { - border-width: 0 1px 0 1px; - border-style: solid; -} - -tr:last-child td.condition { - border-width: 0 1px 1px 1px; -} - - - /* for first th which must have right border set (ltr only) */ - .before-condition { - border-right: 1px solid ; - } - - -/** - * cells with the value NULL - */ -td.null { - font-style: italic; - color: #7d7d7d; -} - -table .valueHeader { - text-align: ; - white-space: normal; -} -table .value { - text-align: ; - white-space: normal; -} -/* IE doesnt handles 'pre' right */ -table [class=value] { - white-space: normal; -} - - - - .value { - font-family: ; - } - -.attention { - color: red; - font-weight: bold; -} -.allfine { - color: green; -} - - -img.lightbulb { - cursor: pointer; -} - -.pdflayout { - overflow: hidden; - clip: inherit; - background-color: #fff; - display: none; - border: 1px solid #000; - position: relative; -} - -.pdflayout_table { - background: #D3DCE3; - color: #000; - overflow: hidden; - clip: inherit; - z-index: 2; - display: inline; - visibility: inherit; - cursor: move; - position: absolute; - font-size: 80%; - border: 1px dashed #000; -} - -/* Doc links in SQL */ -.cm-sql-doc { - text-decoration: none; - border-bottom: 1px dotted #000; - color: inherit !important; -} - -/* no extra space in table cells */ -td .icon { - margin: 0; -} - -.selectallarrow { - margin-: .3em; - margin-: .6em; -} - -/* message boxes: error, confirmation */ -#pma_errors, #pma_demo, #pma_footer { - padding: 0 0.5em; -} - -.success h1, -.notice h1, -div.error h1 { - border-bottom: 2px solid; - font-weight: bold; - text-align: ; - margin: 0 0 .2em 0; -} - -div.success, -div.notice, -div.error { - margin: .5em 0 0.5em; - border: 1px solid; - background-repeat: no-repeat; - - background-position: 10px 50%; - padding: 10px 10px 10px 10px; - - background-position: 99% 50%; - padding: 10px 35px 10px 10px; - - - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; - - -moz-box-shadow: 0 1px 1px #fff inset; - -webkit-box-shadow: 0 1px 1px #fff inset; - box-shadow: 0 1px 1px #fff inset; -} - -.success a, -.notice a, -.error a { - text-decoration: underline; -} - -.success { - color: #000; - background-color: #ebf8a4; -} - -h1.success, -div.success { - border-color: #a2d246; -} -.success h1 { - border-color: #00FF00; -} - -.notice { - color: #000; - background-color: #e8eef1; -} - -h1.notice, -div.notice { - border-color: #3a6c7e; -} - -.notice h1 { - border-color: #ffb10a; -} - -.error { - border: 1px solid maroon !important; - color: #000; - background: pink; -} - -h1.error, -div.error { - border-color: #333; -} - -div.error h1 { - border-color: #ff0000; -} - -.confirmation { - color: #000; - background-color: pink; -} - -fieldset.confirmation { -} - -fieldset.confirmation legend { -} - -/* end messageboxes */ - -.new_central_col{ - width: 100%; -} - -.tblcomment { - font-size: 70%; - font-weight: normal; - color: #000099; -} - -.tblHeaders { - font-weight: bold; - color: ; - background: ; -} - -div.tools, -.tblFooters { - font-weight: normal; - color: ; - background: ; -} - -.tblHeaders a:link, -.tblHeaders a:active, -.tblHeaders a:visited, -div.tools a:link, -div.tools a:visited, -div.tools a:active, -.tblFooters a:link, -.tblFooters a:active, -.tblFooters a:visited { - color: #0000FF; -} - -.tblHeaders a:hover, -div.tools a:hover, -.tblFooters a:hover { - color: #FF0000; -} - -/* forbidden, no privileges */ -.noPrivileges { - color: #FF0000; - font-weight: bold; -} - -/* disabled text */ -.disabled, -.disabled a:link, -.disabled a:active, -.disabled a:visited { - color: #666; -} - -.disabled a:hover { - color: #666; - text-decoration: none; -} - -tr.disabled td, -td.disabled { - background-color: #f3f3f3; - color: #aaa; -} - -.nowrap { - white-space: nowrap; -} - -/** - * login form - */ -body#loginform h1, -body#loginform a.logo { - display: block; - text-align: center; -} - -body#loginform { - margin-top: 1em; - text-align: center; -} - -body#loginform div.container { - text-align: ; - width: 30em; - margin: 0 auto; -} - -form.login label { - float: ; - width: 10em; - font-weight: bolder; -} - -form.login input[type=text], -form.login input[type=password], -form.login select { - box-sizing: border-box; - width: 14em; -} - -.commented_column { - border-bottom: 1px dashed #000; -} - -.column_attribute { - font-size: 70%; -} - -/******************************************************************************/ -/* specific elements */ - -/* topmenu */ -#topmenu a { - text-shadow: 0 1px 0 #fff; -} - -#topmenu .error { - background: #eee;border: 0 !important;color: #aaa; -} - -ul#topmenu, -ul#topmenu2, -ul.tabs { - font-weight: bold; - list-style-type: none; - margin: 0; - padding: 0; - -} - -ul#topmenu2 { - margin: .25em .5em 0; - height: 2em; - clear: both; -} - -ul#topmenu li, -ul#topmenu2 li { - float: ; - margin: 0; - vertical-align: middle; -} - -#topmenu img, -#topmenu2 img { - margin-right: .5em; - vertical-align: -3px; -} - -.menucontainer { - getCssGradient('ffffff', 'dcdcdc'); ?> - border-top: 1px solid #aaa; -} - -/* default tab styles */ -.tabactive { - background: #fff !important; -} - -ul#topmenu2 a { - display: block; - margin: 7px 6px 7px; - margin-: 0; - padding: 4px 10px; - white-space: nowrap; - border: 1px solid #ddd; - border-radius: 20px; - -moz-border-radius: 20px; - -webkit-border-radius: 20px; - background: #f2f2f2; - -} - -fieldset.caution a { - color: #FF0000; -} -fieldset.caution a:hover { - color: #fff; - background-color: #FF0000; -} - -#topmenu { - margin-top: .5em; - padding: .1em .3em; -} - -ul#topmenu ul { - -moz-box-shadow: 1px 1px 6px #ddd; - -webkit-box-shadow: 2px 2px 3px #666; - box-shadow: 2px 2px 3px #666; -} - -ul#topmenu ul.only { - : 0; -} - -ul#topmenu > li { - border-right: 1px solid #fff; - border-left: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -ul#topmenu > li:first-child { - border-left: 0; -} - -/* default tab styles */ -ul#topmenu a, -ul#topmenu span { - padding: .6em; -} - -ul#topmenu ul a { - border-width: 1pt 0 0 0; - -moz-border-radius: 0; - -webkit-border-radius: 0; - border-radius: 0; -} - -ul#topmenu ul li:first-child a { - border-width: 0; -} - -/* enabled hover/active tabs */ -ul#topmenu > li > a:hover, -ul#topmenu > li > .tabactive { - text-decoration: none; -} - -ul#topmenu ul a:hover, -ul#topmenu ul .tabactive { - text-decoration: none; -} - -ul#topmenu a.tab:hover, -ul#topmenu .tabactive { - /* background-color: ; */ -} - -ul#topmenu2 a.tab:hover, -ul#topmenu2 a.tabactive { - background-color: ; - border-radius: .3em; - -moz-border-radius: .3em; - -webkit-border-radius: .3em; - text-decoration: none; -} - -/* to be able to cancel the bottom border, use

  • */ -ul#topmenu > li.active { - /* border-bottom: 0pt solid ; */ - border-right: 0; - border-bottom-color: #fff; -} -/* end topmenu */ - -/* zoom search */ -div#dataDisplay input, -div#dataDisplay select { - margin: 0; - margin-: .5em; -} -div#dataDisplay th { - line-height: 2em; -} -table#tableFieldsId { - width: 100%; -} - -/* Calendar */ -table.calendar { - width: 100%; -} -table.calendar td { - text-align: center; -} -table.calendar td a { - display: block; -} - -table.calendar td a:hover { - background-color: #CCFFCC; -} - -table.calendar th { - background-color: #D3DCE3; -} - -table.calendar td.selected { - background-color: #FFCC99; -} - -img.calendar { - border: none; -} -form.clock { - text-align: center; -} -/* end Calendar */ - - -/* table stats */ -div#tablestatistics table { - float: ; - margin-bottom: .5em; - margin-: 1.5em; - margin-top: .5em; - min-width: 16em; -} - -/* end table stats */ - - -/* server privileges */ -#tableuserrights td, -#tablespecificuserrights td, -#tabledatabases td { - vertical-align: middle; -} -/* end server privileges */ - - -/* Heading */ -#topmenucontainer { - padding-: 1em; - width: 100%; -} - -#serverinfo { - background: #888; - padding: .3em .9em; - padding-: 2.2em; - text-shadow: 0 1px 0 #000; - width: 10000px; - overflow: hidden; -} - -#serverinfo .item { - white-space: nowrap; - color: #fff; -} - -#page_nav_icons { - position: fixed; - top: 0; - : 0; - z-index: 99; - padding: .25em 0; -} - -#goto_pagetop, #lock_page_icon, #page_settings_icon { - padding: .25em; - background: #888; -} - -#page_settings_icon { - cursor: pointer; - display: none; -} - -#page_settings_modal { - display: none; -} - -#pma_navigation_settings { - display: none; -} - -#span_table_comment { - font-weight: bold; - font-style: italic; - white-space: nowrap; - margin-left: 10px; - color: #D6D6D6; - text-shadow: none; -} - -#serverinfo img { - margin: 0 .1em 0; - margin-: .2em; -} - - -#textSQLDUMP { - width: 95%; - height: 95%; - font-family: Consolas, "Courier New", Courier, mono; - font-size: 110%; -} - -#TooltipContainer { - position: absolute; - z-index: 99; - width: 20em; - height: auto; - overflow: visible; - visibility: hidden; - background-color: #ffffcc; - color: #006600; - border: .1em solid #000; - padding: .5em; -} - -/* user privileges */ -#fieldset_add_user_login div.item { - border-bottom: 1px solid silver; - padding-bottom: .3em; - margin-bottom: .3em; -} - -#fieldset_add_user_login label { - float: ; - display: block; - width: 10em; - max-width: 100%; - text-align: ; - padding-: .5em; -} - -#fieldset_add_user_login span.options #select_pred_username, -#fieldset_add_user_login span.options #select_pred_hostname, -#fieldset_add_user_login span.options #select_pred_password { - width: 100%; - max-width: 100%; -} - -#fieldset_add_user_login span.options { - float: ; - display: block; - width: 12em; - max-width: 100%; - padding-: .5em; -} - -#fieldset_add_user_login input { - width: 12em; - clear: ; - max-width: 100%; -} - -#fieldset_add_user_login span.options input { - width: auto; -} - -#fieldset_user_priv div.item { - float: ; - width: 9em; - max-width: 100%; -} - -#fieldset_user_priv div.item div.item { - float: none; -} - -#fieldset_user_priv div.item label { - white-space: nowrap; -} - -#fieldset_user_priv div.item select { - width: 100%; -} - -#fieldset_user_global_rights fieldset { - float: ; -} - -#fieldset_user_group_rights fieldset { - float: ; -} - -#fieldset_user_global_rights>legend input { - margin-: 2em; -} -/* end user privileges */ - - -/* serverstatus */ - -.linkElem:hover { - text-decoration: underline; - color: #235a81; - cursor: pointer; -} - -h3#serverstatusqueries span { - font-size: 60%; - display: inline; -} - -.buttonlinks { - float: ; - white-space: nowrap; -} - -/* Also used for the variables page */ -fieldset#tableFilter { - padding: 0.1em 1em; -} - -div#serverStatusTabs { - margin-top: 1em; -} - -caption a.top { - float: ; -} - -div#serverstatusquerieschart { - float: ; - width: 500px; - height: 350px; - padding-: 30px; -} - -table#serverstatusqueriesdetails, -table#serverstatustraffic { - float: ; -} - -table#serverstatusqueriesdetails th { - min-width: 35px; -} - -table#serverstatusvariables { - width: 100%; - margin-bottom: 1em; -} -table#serverstatusvariables .name { - width: 18em; - white-space: nowrap; -} -table#serverstatusvariables .value { - width: 6em; -} -table#serverstatusconnections { - float: ; - margin-: 30px; -} - -div#serverstatus table tbody td.descr a, -div#serverstatus table .tblFooters a { - white-space: nowrap; -} - -div.liveChart { - clear: both; - min-width: 500px; - height: 400px; - padding-bottom: 80px; -} - -#addChartDialog input[type="text"] { - margin: 0; - padding: 3px; -} - -div#chartVariableSettings { - border: 1px solid #ddd; - background-color: #E6E6E6; - margin-left: 10px; -} - -table#chartGrid td { - padding: 3px; - margin: 0; -} - -table#chartGrid div.monitorChart { - background: #EBEBEB; - overflow: hidden; - border: none; -} - -div.tabLinks { - margin-left: 0.3em; - float: ; - padding: 5px 0; -} - -div.tabLinks a, div.tabLinks label { - margin-right: 7px; -} - -div.tabLinks .icon { - margin: -0.2em 0.3em 0 0; -} - -.popupContent { - display: none; - position: absolute; - border: 1px solid #CCC; - margin: 0; - padding: 3px; - -moz-box-shadow: 2px 2px 3px #666; - -webkit-box-shadow: 2px 2px 3px #666; - box-shadow: 2px 2px 3px #666; - background-color: #fff; - z-index: 2; -} - -div#logTable { - padding-top: 10px; - clear: both; -} - -div#logTable table { - width: 100%; -} - -div#queryAnalyzerDialog { - min-width: 700px; -} - -div#queryAnalyzerDialog div.CodeMirror-scroll { - height: auto; -} - -div#queryAnalyzerDialog div#queryProfiling { - height: 300px; -} - -div#queryAnalyzerDialog td.explain { - width: 250px; -} - -div#queryAnalyzerDialog table.queryNums { - display: none; - border: 0; - text-align: left; -} - -.smallIndent { - padding-: 7px; -} - -/* end serverstatus */ - -/* server variables */ -#serverVariables { - table-layout: fixed; - width: 100%; -} -#serverVariables .var-row > td { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - line-height: 2em; -} -#serverVariables .var-header { - color: ; - background: #f3f3f3; - getCssGradient('ffffff', 'cccccc'); ?> - font-weight: bold; -} -#serverVariables .var-header { - text-align: ; -} -#serverVariables .var-row { - padding: 0.5em; - min-height: 18px; -} -#serverVariables .var-action { - width: 120px; -} -#serverVariables .var-name { - float: ; - font-weight: bold; -} -#serverVariables .var-name.session { - font-weight: normal; - font-style: italic; -} -#serverVariables .var-value { - width: 50%; - float: ; - text-align: ; -} -#serverVariables .var-doc { - overflow:visible; - float: ; -} - -/* server variables editor */ -#serverVariables .editLink { - padding-: 1em; - float: ; - font-family: sans-serif; -} -#serverVariables .serverVariableEditor { - width: 100%; - overflow: hidden; -} -#serverVariables .serverVariableEditor input { - width: 100%; - margin: 0 0.5em; - box-sizing: border-box; - -ms-box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - height: 2.2em; -} -#serverVariables .serverVariableEditor div { - display: block; - overflow: hidden; - padding-: 1em; -} -#serverVariables .serverVariableEditor a { - float: ; - margin: 0 0.5em; - line-height: 2em; -} -/* end server variables */ - - -p.notice { - margin: 1.5em 0; - border: 1px solid #000; - background-repeat: no-repeat; - - background-position: 10px 50%; - padding: 10px 10px 10px 25px; - - background-position: 99% 50%; - padding: 25px 10px 10px 10px - - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; - -moz-box-shadow: 0 1px 2px #fff inset; - -webkit-box-shadow: 0 1px 2px #fff inset; - box-shadow: 0 1px 2px #fff inset; - background: #555; - color: #d4fb6a; -} - -p.notice a { - color: #fff; - text-decoration: underline; -} - -/* profiling */ - -div#profilingchart { - width: 850px; - height: 370px; - float: ; -} - -#profilingchart .jqplot-highlighter-tooltip{ - top: auto !important; - left: 11px; - bottom:24px; -} -/* end profiling */ - -/* table charting */ -#resizer { - border: 1px solid silver; -} -#inner-resizer { /* make room for the resize handle */ - padding: 10px; -} -.chartOption { - float: ; - margin-: 40px; -} -/* end table charting */ - -/* querybox */ - -#togglequerybox { - margin: 0 10px; -} - -#serverstatus h3 -{ - margin: 15px 0; - font-weight: normal; - color: #999; - font-size: 1.7em; -} -#sectionlinks { - padding: 16px; - background: #f3f3f3; - border: 1px solid #aaa; - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - box-shadow: 0 1px 1px #fff inset; - -webkit-box-shadow: 0 1px 1px #fff inset; - -moz-box-shadow: 0 1px 1px #fff inset; -} -#sectionlinks a, -.buttonlinks a, -a.button { - font-weight: bold; - text-shadow: 0 1px 0 #fff; - line-height: 35px; - margin-: 7px; - border: 1px solid #aaa; - padding: 3px 7px; - color: #111 !important; - text-decoration: none; - background: #ddd; - white-space: nowrap; - border-radius: 20px; - -webkit-border-radius: 20px; - -moz-border-radius: 20px; - getCssGradient('f8f8f8', 'd8d8d8'); ?> -} -#sectionlinks a:hover, -.buttonlinks a:hover, -a.button:hover { - getCssGradient('ffffff', 'dddddd'); ?> -} - -div#sqlquerycontainer { - float: ; - width: 69%; - /* height: 15em; */ -} - -div#tablefieldscontainer { - float: ; - width: 29%; - margin-top: -20px; - /* height: 15em; */ -} - -div#tablefieldscontainer select { - width: 100%; - background: #fff; - /* height: 12em; */ -} - -textarea#sqlquery { - width: 100%; - /* height: 100%; */ - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - border: 1px solid #aaa; - padding: 5px; - font-family: inherit; -} -textarea#sql_query_edit { - height: 7em; - width: 95%; - display: block; -} -div#queryboxcontainer div#bookmarkoptions { - margin-top: .5em; -} -/* end querybox */ - -/* main page */ -#maincontainer { - /* background-image: url(getImgPath('logo_right.png');?>); */ - /* background-position: bottom; */ - /* background-repeat: no-repeat; */ -} - -#mysqlmaininformation, -#pmamaininformation { - float: ; - width: 49%; -} - -#maincontainer ul { - list-style-type: disc; - vertical-align: middle; -} - -#maincontainer li { - margin-bottom: .3em; -} - -#full_name_layer { - position: absolute; - padding: 2px; - margin-top: -3px; - z-index: 801; - - border-radius: 3px; - border: solid 1px #888; - background: #fff; - -} -/* end main page */ - - -/* iconic view for ul items */ - -li.no_bullets { - list-style-type:none !important; - margin-left: -25px !important; //align with other list items which have bullets -} - -/* end iconic view for ul items */ - -#body_browse_foreigners { - background: ; - margin: .5em .5em 0 .5em; -} - -#bodythemes { - width: 500px; - margin: auto; - text-align: center; -} - -#bodythemes img { - border: .1em solid #000; -} - -#bodythemes a:hover img { - border: .1em solid red; -} - -#fieldset_select_fields { - float: ; -} - -#selflink { - clear: both; - display: block; - margin-top: 1em; - margin-bottom: 1em; - width: 98%; - margin-: 1%; - border-top: .1em solid silver; - text-align: ; -} - -#table_innodb_bufferpool_usage, -#table_innodb_bufferpool_activity { - float: ; -} - -#div_mysql_charset_collations table { - float: ; -} - -#div_mysql_charset_collations table th, -#div_mysql_charset_collations table td { - padding: 0.4em; -} - -#div_mysql_charset_collations table th#collationHeader { - width: 35%; -} - -.operations_half_width { - width: 48%; - float: ; -} -.operations_half_width input[type=text], -.operations_half_width input[type=password], -.operations_half_width input[type=number], -.operations_half_width select { - width: 95%; -} -.operations_half_width input[type=text].halfWidth, -.operations_half_width input[type=password].halfWidth, -.operations_half_width input[type=number].halfWidth, -.operations_half_width select.halfWidth { - width: 40%; -} -.operations_half_width ul { - list-style-type: none; - padding: 0; -} -.operations_full_width { - width: 100%; - clear: both; -} - -#qbe_div_table_list { - float: ; -} - -#qbe_div_sql_query { - float: ; -} - -label.desc { - width: 30em; - float: ; -} - -label.desc sup { - position: absolute; -} - -code.php { - display: block; - padding-left: 1em; - margin-top: 0; - margin-bottom: 0; - max-height: 10em; - overflow: auto; - direction: ltr; -} - -code.sql, -div.sqlvalidate { - display: block; - padding: 1em; - margin-top: 0; - margin-bottom: 0; - max-height: 10em; - overflow: auto; - direction: ltr; -} - -.result_query div.sqlOuter { - background: ; -} - -.result_query .success, .result_query .error { - margin-bottom: 0; - border-bottom: none !important; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - padding-bottom: 5px; -} - -#PMA_slidingMessage code.sql, -div.sqlvalidate { - background: ; -} - -#main_pane_left { - width: 60%; - min-width: 260px; - float: ; - padding-top: 1em; -} - -#main_pane_right { - overflow: hidden; - min-width: 160px; - padding-top: 1em; - padding-: 1em; - padding-: .5em; -} - -.group { - - border: 1px solid #999; - background: #f3f3f3; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: 2px 2px 5px #ccc; - -webkit-box-shadow: 2px 2px 5px #ccc; - box-shadow: 2px 2px 5px #ccc; - margin-bottom: 1em; - padding-bottom: 1em; -} - -.group h2 { - background-color: #bbb; - padding: .1em .3em; - margin-top: 0; - color: #fff; - font-size: 1.6em; - font-weight: normal; - text-shadow: 0 1px 0 #777; - -moz-box-shadow: 1px 1px 15px #999 inset; - -webkit-box-shadow: 1px 1px 15px #999 inset; - box-shadow: 1px 1px 15px #999 inset; -} - -.group-cnt { - padding: 0; - padding-: .5em; - display: inline-block; - width: 98%; -} - -textarea#partitiondefinition { - height: 3em; -} - - -/* for elements that should be revealed only via js */ -.hide { - display: none; -} - -#list_server { - list-style-type: none; - padding: 0; -} - -/** - * Progress bar styles - */ -div.upload_progress -{ - width: 400px; - margin: 3em auto; - text-align: center; -} - -div.upload_progress_bar_outer -{ - border: 1px solid #000; - width: 202px; - position: relative; - margin: 0 auto 1em; - color: ; -} - -div.upload_progress_bar_inner -{ - background-color: ; - width: 0; - height: 12px; - margin: 1px; - overflow: hidden; - color: ; - position: relative; -} - -div.upload_progress_bar_outer div.percentage -{ - position: absolute; - top: 0; - : 0; - width: 202px; -} - -div.upload_progress_bar_inner div.percentage -{ - top: -1px; - : -1px; -} - -div#statustext { - margin-top: .5em; -} - -table#serverconnection_src_remote, -table#serverconnection_trg_remote, -table#serverconnection_src_local, -table#serverconnection_trg_local { - float: ; -} -/** - * Validation error message styles - */ -input[type=text].invalid_value, -input[type=password].invalid_value, -input[type=number].invalid_value, -input[type=date].invalid_value, -select.invalid_value, -.invalid_value { - background: #FFCCCC; -} - -/** - * Ajax notification styling - */ - .ajax_notification { - top: 0; /** The notification needs to be shown on the top of the page */ - position: fixed; - margin-top: 0; - margin-right: auto; - margin-bottom: 0; - margin-: auto; - padding: 5px; /** Keep a little space on the sides of the text */ - width: 350px; - - z-index: 1100; /** If this is not kept at a high z-index, the jQueryUI modal dialogs (z-index: 1000) might hide this */ - text-align: center; - display: inline; - left: 0; - right: 0; - background-image: url(getImgPath('ajax_clock_small.gif');?>); - background-repeat: no-repeat; - background-position: 2%; - border: 1px solid #e2b709; - } - -/* additional styles */ -.ajax_notification { - margin-top: 200px; - background: #ffe57e; - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - box-shadow: 0 5px 90px #888; - -moz-box-shadow: 0 5px 90px #888; - -webkit-box-shadow: 0 5px 90px #888; -} - -#loading_parent { - /** Need this parent to properly center the notification division */ - position: relative; - width: 100%; - } -/** - * Export and Import styles - */ - -.export_table_list_container { - display: inline-block; - max-height: 20em; - overflow-y: scroll; -} - -.export_table_select th { - text-align: center; - vertical-align: middle; -} - -.export_table_select .all { - font-weight: bold; - border-bottom: 1px solid black; -} - -.export_structure, .export_data { - text-align: center; -} - -.export_table_name { - vertical-align: middle; -} - -.exportoptions h3, -.importoptions h3 { - border-bottom: 1px #999 solid; - font-size: 110%; -} - -.exportoptions ul, -.importoptions ul, -.format_specific_options ul { - list-style-type: none; - margin-bottom: 15px; -} - -.exportoptions li, -.importoptions li { - margin: 7px; -} -.exportoptions label, -.importoptions label, -.exportoptions p, -.importoptions p { - margin: 5px; - float: none; -} - -#csv_options label.desc, -#ldi_options label.desc, -#latex_options label.desc, -#output label.desc { - float: ; - width: 15em; -} - -.exportoptions, -.importoptions { - margin: 20px 30px 30px; - margin-: 10px; -} - -.exportoptions #buttonGo, -.importoptions #buttonGo { - font-weight: bold; - margin-: 14px; - border: 1px solid #aaa; - padding: 5px 12px; - color: #111; - text-decoration: none; - - border-radius: 12px; - -webkit-border-radius: 12px; - -moz-border-radius: 12px; - - text-shadow: 0 1px 0 #fff; - - getCssGradient('ffffff', 'cccccc'); ?> - cursor: pointer; -} - -.format_specific_options h3 { - margin: 10px 0 0; - margin-: 10px; - border: 0; -} - -.format_specific_options { - border: 1px solid #999; - margin: 7px 0; - padding: 3px; -} - -p.desc { - margin: 5px; -} - -/** - * Export styles only - */ -select#db_select, -select#table_select { - width: 400px; -} - -.export_sub_options { - margin: 20px 0 0; - margin-: 30px; -} - -.export_sub_options h4 { - border-bottom: 1px #999 solid; -} - -.export_sub_options li.subgroup { - display: inline-block; - margin-top: 0; -} - -.export_sub_options li { - margin-bottom: 0; -} - -#output_quick_export { - display: none; -} -/** - * Import styles only - */ - -.importoptions #import_notification { - margin: 10px 0; - font-style: italic; -} - -input#input_import_file { - margin: 5px; -} - -.formelementrow { - margin: 5px 0 5px 0; -} - -#filterText { - vertical-align: baseline; -} - -#popup_background { - display: none; - position: fixed; - _position: absolute; /* hack for IE6 */ - width: 100%; - height: 100%; - top: 0; - : 0; - background: #000; - z-index: 1000; - overflow: hidden; -} - -/** - * Table structure styles - */ -#fieldsForm ul.table-structure-actions { - margin: 0; - padding: 0; - list-style: none; -} -#fieldsForm ul.table-structure-actions li { - float: ; - margin-: 0.3em; /* same as padding of "table td" */ -} -#fieldsForm ul.table-structure-actions .submenu li { - padding: 0; - margin: 0; -} -#fieldsForm ul.table-structure-actions .submenu li span { - padding: 0.3em; - margin: 0.1em; -} -#structure-action-links a { - margin-: 1em; -} -#addColumns input[type="radio"] { - margin: 3px 0 0; - margin-: 1em; -} -/** - * Indexes - */ -#index_frm .index_info input, -#index_frm .index_info select { - width: 14em; - margin: 0; - box-sizing: border-box; - -ms-box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; -} - -#index_frm .index_info div { - padding: .2em 0; -} - -#index_frm .index_info .label { - float: ; - min-width: 12em; -} - -#index_frm .slider { - width: 10em; - margin: .6em; - float: ; -} - -#index_frm .add_fields { - float: ; -} - -#index_frm .add_fields input { - margin-: 1em; -} - -#index_frm input { - margin: 0; -} - -#index_frm td { - vertical-align: middle; -} - -table#index_columns { - width: 100%; -} - -table#index_columns select { - width: 85%; - float: right; -} - -#move_columns_dialog div { - padding: 1em; -} - -#move_columns_dialog ul { - list-style: none; - margin: 0; - padding: 0; -} - -#move_columns_dialog li { - background: ; - border: 1px solid #aaa; - color: ; - font-weight: bold; - margin: .4em; - padding: .2em; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} - -/* config forms */ -.config-form ul.tabs { - margin: 1.1em .2em 0; - padding: 0 0 .3em 0; - list-style: none; - font-weight: bold; -} - -.config-form ul.tabs li { - float: ; - margin-bottom: -1px; -} - -.config-form ul.tabs li a { - display: block; - margin: .1em .2em 0; - white-space: nowrap; - text-decoration: none; - border: 1px solid ; - border-bottom: 1px solid #aaa; -} - -.config-form ul.tabs li a { - padding: 7px 10px; - -webkit-border-radius: 5px 5px 0 0; - -moz-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; - background: #f2f2f2; - color: #555; - text-shadow: 0 1px 0 #fff; -} - -.config-form ul.tabs li a:hover, -.config-form ul.tabs li a:active { - background: #e5e5e5; -} - -.config-form ul.tabs li.active a { - background-color: #fff; - margin-top: 1px; - color: #000; - text-shadow: none; - border-color: #aaa; - border-bottom: 1px solid #fff; -} - -.config-form fieldset { - margin-top: 0; - padding: 0; - clear: both; - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; -} - -.config-form legend { - display: none; -} - -.config-form fieldset p { - margin: 0; - padding: .5em; - background: #fff; - border-top: 0; -} - -.config-form fieldset .errors { /* form error list */ - margin: 0 -2px 1em; - padding: .5em 1.5em; - background: #FBEAD9; - border: 0 #C83838 solid; - border-width: 1px 0; - list-style: none; - font-family: sans-serif; - font-size: small; -} - -.config-form fieldset .inline_errors { /* field error list */ - margin: .3em .3em .3em; - margin-: 0; - padding: 0; - list-style: none; - color: #9A0000; - font-size: small; -} - -.config-form fieldset th { - padding: .3em .3em .3em; - padding-: .5em; - text-align: ; - vertical-align: top; - width: 40%; - background: transparent; - filter: none; -} - -.config-form fieldset .doc, -.config-form fieldset .disabled-notice { - margin-: 1em; -} - -.config-form fieldset .disabled-notice { - font-size: 80%; - text-transform: uppercase; - color: #E00; - cursor: help; -} - -.config-form fieldset td { - padding-top: .3em; - padding-bottom: .3em; - vertical-align: top; -} - -.config-form fieldset th small { - display: block; - font-weight: normal; - font-family: sans-serif; - font-size: x-small; - color: #444; -} - -.config-form fieldset th, -.config-form fieldset td { - border-top: 1px solid; - border-: none; -} - -fieldset .group-header th { - background: ; -} - -fieldset .group-header + tr th { - padding-top: .6em; -} - -fieldset .group-field-1 th, -fieldset .group-header-2 th { - padding-: 1.5em; -} - -fieldset .group-field-2 th, -fieldset .group-header-3 th { - padding-: 3em; -} - -fieldset .group-field-3 th { - padding-: 4.5em; -} - -fieldset .disabled-field th, -fieldset .disabled-field th small, -fieldset .disabled-field td { - color: #666; - background-color: #ddd; -} - -.config-form .lastrow { - border-top: 1px #000 solid; -} - -.config-form .lastrow { - background: ; - padding: .5em; - text-align: center; -} - -.config-form .lastrow input { - font-weight: bold; -} - -/* form elements */ - -.config-form span.checkbox { - padding: 2px; - display: inline-block; -} - -.config-form .custom { /* customized field */ - background: #FFC; -} - -.config-form span.checkbox.custom { - padding: 1px; - border: 1px #EDEC90 solid; - background: #FFC; -} - -.config-form .field-error { - border-color: #A11 !important; -} - -.config-form input[type="text"], -.config-form input[type="password"], -.config-form input[type="number"], -.config-form select, -.config-form textarea { - border: 1px #A7A6AA solid; - height: auto; -} - -.config-form input[type="text"]:focus, -.config-form input[type="password"]:focus, -.config-form input[type="number"]:focus, -.config-form select:focus, -.config-form textarea:focus { - border: 1px #6676FF solid; - background: #F7FBFF; -} - -.config-form .field-comment-mark { - font-family: serif; - color: #007; - cursor: help; - padding: 0 .2em; - font-weight: bold; - font-style: italic; -} - -.config-form .field-comment-warning { - color: #A00; -} - -/* error list */ -.config-form dd { - margin-: .5em; -} - -.config-form dd:before { - content: "\25B8 "; -} - -.click-hide-message { - cursor: pointer; -} - -.prefsmanage_opts { - margin-: 2em; -} - -#prefs_autoload { - margin-bottom: .5em; - margin-left: .5em; -} - -#placeholder .button { - position: absolute; - cursor: pointer; -} - -#placeholder div.button { - font-size: smaller; - color: #999; - background-color: #eee; - padding: 2px; -} - -.wrapper { - float: ; - margin-bottom: 1.5em; -} -.toggleButton { - position: relative; - cursor: pointer; - font-size: .8em; - text-align: center; - line-height: 1.4em; - height: 1.55em; - overflow: hidden; - border-right: .1em solid #888; - border-left: .1em solid #888; - -webkit-border-radius: .3em; - -moz-border-radius: .3em; - border-radius: .3em; -} -.toggleButton table, -.toggleButton td, -.toggleButton img { - padding: 0; - position: relative; -} -.toggleButton .container { - position: absolute; -} -.toggleButton .container td { - background-image: none; - background: none; -} -.toggleButton .toggleOn { - color: #fff; - padding: 0 1em; - text-shadow: 0 0 .2em #000; -} -.toggleButton .toggleOff { - padding: 0 1em; -} - -.doubleFieldset fieldset { - width: 48%; - float: ; - padding: 0; -} -.doubleFieldset fieldset.left { - margin-: 1%; -} -.doubleFieldset fieldset.right { - margin-: 1%; -} -.doubleFieldset legend { - margin-: 1.5em; -} -.doubleFieldset div.wrap { - padding: 1.5em; -} - -#table_name_col_no_outer { - margin-top: 45px; -} - -#table_name_col_no { - position: fixed; - top: 55px; - width: 100%; - background: #ffffff; -} - -#table_columns input[type="text"], -#table_columns input[type="password"], -#table_columns input[type="number"], -#table_columns select { - width: 10em; - box-sizing: border-box; - -ms-box-sizing: border-box; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; -} - -#placeholder { - position: relative; - border: 1px solid #aaa; - float: ; - overflow: hidden; -} - -.placeholderDrag { - cursor: move; -} - -#placeholder .button { - position: absolute; -} - -#left_arrow { - left: 8px; - top: 26px; -} - -#right_arrow { - left: 26px; - top: 26px; -} - -#up_arrow { - left: 17px; - top: 8px; -} - -#down_arrow { - left: 17px; - top: 44px; -} - -#zoom_in { - left: 17px; - top: 67px; -} - -#zoom_world { - left: 17px; - top: 85px; -} - -#zoom_out { - left: 17px; - top: 103px; -} - -.colborder { - cursor: col-resize; - height: 100%; - margin-: -6px; - position: absolute; - width: 5px; -} - -.colborder_active { - border-: 2px solid #a44; -} - -.pma_table td { - position: static; -} - -.pma_table th.draggable span, -.pma_table tbody td span { - display: block; - overflow: hidden; -} - -.pma_table tbody td span code span { - display: inline; -} - -.pma_table th.draggable.right span { - margin-: 0px; -} - -.pma_table th.draggable span { - margin-: 10px; -} - -.modal-copy input { - display: block; - width: 100%; - margin-top: 1.5em; - padding: .3em 0; -} - -.cRsz { - position: absolute; -} - -.cCpy { - background: #333; - color: #FFF; - font-weight: bold; - margin: .1em; - padding: .3em; - position: absolute; - text-shadow: -1px -1px #000; - - -moz-box-shadow: 0 0 .7em #000; - -webkit-box-shadow: 0 0 .7em #000; - box-shadow: 0 0 .7em #000; - -moz-border-radius: .3em; - -webkit-border-radius: .3em; - border-radius: .3em; -} - -.cPointer { - background: url(getImgPath('col_pointer.png');?>); - height: 20px; - margin-: -5px; /* must be minus half of its width */ - margin-top: -10px; - position: absolute; - width: 10px; -} - -.tooltip { - background: #333 !important; - opacity: .8 !important; - border: 1px solid #000 !important; - -moz-border-radius: .3em !important; - -webkit-border-radius: .3em !important; - border-radius: .3em !important; - text-shadow: -1px -1px #000 !important; - font-size: .8em !important; - font-weight: bold !important; - padding: 1px 3px !important; -} - -.tooltip * { - background: none !important; - color: #FFF !important; -} - -.cDrop { - left: 0; - position: absolute; - top: 0; -} - -.coldrop { - background: url(getImgPath('col_drop.png');?>); - cursor: pointer; - height: 16px; - margin-: .3em; - margin-top: .3em; - position: absolute; - width: 16px; -} - -.coldrop:hover, -.coldrop-hover { - background-color: #999; -} - -.cList { - background: #EEE; - border: solid 1px #999; - position: absolute; - -moz-box-shadow: 0 .2em .5em #333; - -webkit-box-shadow: 0 .2em .5em #333; - box-shadow: 0 .2em .5em #333; -} - -.cList .lDiv div { - padding: .2em .5em .2em; - padding-: .2em; -} - -.cList .lDiv div:hover { - background: #DDD; - cursor: pointer; -} - -.cList .lDiv div input { - cursor: pointer; -} - -.showAllColBtn { - border-bottom: solid 1px #999; - border-top: solid 1px #999; - cursor: pointer; - font-size: .9em; - font-weight: bold; - padding: .35em 1em; - text-align: center; -} - -.showAllColBtn:hover { - background: #DDD; -} - -.turnOffSelect { - -moz-user-select: none; - -khtml-user-select: none; - -webkit-user-select: none; - user-select: none; -} - -.navigation { - margin: .8em 0; - - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - - getCssGradient('eeeeee', 'cccccc'); ?> -} - -.navigation td { - margin: 0; - padding: 0; - vertical-align: middle; - white-space: nowrap; -} - -.navigation_separator { - color: #999; - display: inline-block; - font-size: 1.5em; - text-align: center; - height: 1.4em; - width: 1.2em; - text-shadow: 1px 0 #FFF; -} - -.navigation input[type=submit] { - background: none; - border: 0; - filter: none; - margin: 0; - padding: .8em .5em; - - border-radius: 0; - -webkit-border-radius: 0; - -moz-border-radius: 0; -} - -.navigation input[type=submit]:hover, -.navigation input.edit_mode_active { - color: #fff; - cursor: pointer; - text-shadow: none; - - getCssGradient('333333', '555555'); ?> -} - -.navigation select { - margin: 0 .8em; -} - -.cEdit { - margin: 0; - padding: 0; - position: absolute; -} - -.cEdit input[type=text] { - background: #FFF; - height: 100%; - margin: 0; - padding: 0; -} - -.cEdit .edit_area { - background: #FFF; - border: 1px solid #999; - min-width: 10em; - padding: .3em .5em; -} - -.cEdit .edit_area select, -.cEdit .edit_area textarea { - width: 97%; -} - -.cEdit .cell_edit_hint { - color: #555; - font-size: .8em; - margin: .3em .2em; -} - -.cEdit .edit_box { - overflow-x: hidden; - overflow-y: scroll; - padding: 0; - margin: 0; -} - -.cEdit .edit_box_posting { - background: #FFF url(getImgPath('ajax_clock_small.gif');?>) no-repeat right center; - padding-: 1.5em; -} - -.cEdit .edit_area_loading { - background: #FFF url(getImgPath('ajax_clock_small.gif');?>) no-repeat center; - height: 10em; -} - -.cEdit .goto_link { - background: #EEE; - color: #555; - padding: .2em .3em; -} - -.saving_edited_data { - background: url(getImgPath('ajax_clock_small.gif');?>) no-repeat left; - padding-: 20px; -} - -.relationalTable select { - width: 125px; - margin-right: 5px; -} - -/* css for timepicker */ -.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } -.ui-timepicker-div dl { text-align: ; } -.ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; } -.ui-timepicker-div dl dd { margin: 0 10px 10px 85px; } -.ui-timepicker-div td { font-size: 90%; } -.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } -.ui-timepicker-rtl { direction: rtl; } -.ui-timepicker-rtl dl { text-align: right; } -.ui-timepicker-rtl dl dd { margin: 0 65px 10px 10px; } - -input.btn { - color: #333; - background-color: #D0DCE0; -} - -body .ui-widget { - font-size: 1em; -} - -.ui-dialog fieldset legend a { - color: #235A81; -} - -/* over-riding jqplot-yaxis class */ -.jqplot-yaxis { - left:0 !important; - min-width:25px; - width:auto; -} -.jqplot-axis { - overflow:hidden; -} - -.report-data { - height:13em; - overflow:scroll; - width:570px; - border: solid 1px; - background: white; - padding: 2px; -} - -.report-description { - height:10em; - width:570px; -} - -div#page_content div#tableslistcontainer table.data { - border-top: 0.1px solid #EEEEEE; -} - -div#page_content div#tableslistcontainer, div#page_content div.notice, div#page_content div.result_query { - margin-top: 1em; -} - -table.show_create { - margin-top: 1em; -} - -table.show_create td { - border-right: 1px solid #bbb; -} - -#alias_modal table th { - vertical-align: middle; - padding-left: 1em; -} - -#alias_modal label.col-2 { - min-width: 20%; - display: inline-block; -} - -#alias_modal select { - width: 25%; - margin-right: 2em; -} - -#alias_modal label { - font-weight: bold; -} - -.ui-dialog { - position: fixed; -} - - -.small_font { - font-size: smaller; -} - -/* Console styles */ -#pma_console_container { - width: 100%; - position: fixed; - bottom: 0; - : 0; - z-index: 100; -} -#pma_console { - position: relative; - margin-: 240px; -} -#pma_console .templates { - display: none; -} -#pma_console .mid_text, -#pma_console .toolbar span { - vertical-align: middle; -} -#pma_console .toolbar { - position: relative; - background: #ccc; - border-top: solid 1px #aaa; - cursor: n-resize; -} -#pma_console .toolbar.collapsed:not(:hover) { - display: inline-block; - border-top--radius: 3px; - border-: solid 1px #aaa; -} -#pma_console .toolbar.collapsed { - cursor: default; -} -#pma_console .toolbar.collapsed>.button { - display: none; -} -#pma_console .message span.text, -#pma_console .message span.action, -#pma_console .toolbar .button, -#pma_console .toolbar .text, -#pma_console .switch_button { - padding: 0 3px; - display: inline-block; -} -#pma_console .message span.action, -#pma_console .toolbar .button, -#pma_console .switch_button { - cursor: pointer; -} -#pma_console .message span.action:hover, -#pma_console .toolbar .button:hover, -#pma_console .switch_button:hover, -#pma_console .toolbar .button.active { - background: #ddd; -} -#pma_console .toolbar .text { - font-weight: bold; -} -#pma_console .toolbar .button, -#pma_console .toolbar .text { - margin-: .4em; -} -#pma_console .toolbar .button, -#pma_console .toolbar .text { - float: ; -} -#pma_console .content { - overflow-x: hidden; - overflow-y: auto; - margin-bottom: -65px; - border-top: solid 1px #aaa; - background: #fff; - padding-top: .4em; -} -#pma_console .content.console_dark_theme { - background: #000; - color: #fff; -} -#pma_console .content.console_dark_theme .CodeMirror-wrap { - background: #000; - color: #fff; -} -#pma_console .content.console_dark_theme .action_content { - color: #000; -} -#pma_console .content.console_dark_theme .message { - border-color: #373B41; -} -#pma_console .content.console_dark_theme .CodeMirror-cursor { - border-color: #fff; -} -#pma_console .content.console_dark_theme .cm-keyword { - color: #de935f; -} -#pma_console .message, -#pma_console .query_input { - position: relative; - font-family: Monaco, Consolas, monospace; - cursor: text; - margin: 0 10px .2em 1.4em; -} -#pma_console .message { - border-bottom: solid 1px #ccc; - padding-bottom: .2em; -} -#pma_console .message.expanded>.action_content { - position: relative; -} -#pma_console .message:before, -#pma_console .query_input:before { - left: -0.7em; - position: absolute; - content: ">"; -} -#pma_console .query_input:before { - top: -2px; -} -#pma_console .query_input textarea { - width: 100%; - height: 4em; - resize: vertical; -} -#pma_console .message:hover:before { - color: #7cf; - font-weight: bold; -} -#pma_console .message.expanded:before { - content: "]"; -} -#pma_console .message.welcome:before { - display: none; -} -#pma_console .message.failed:before, -#pma_console .message.failed.expanded:before, -#pma_console .message.failed:hover:before { - content: "="; - color: #944; -} -#pma_console .message.pending:before { - opacity: .3; -} -#pma_console .message.collapsed>.query { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -#pma_console .message.expanded>.query { - display: block; - white-space: pre; - word-wrap: break-word; -} -#pma_console .message .text.targetdb, -#pma_console .message.collapsed .action.collapse, -#pma_console .message.expanded .action.expand, -#pma_console .message .action.requery, -#pma_console .message .action.profiling, -#pma_console .message .action.explain, -#pma_console .message .action.bookmark { - display: none; -} -#pma_console .message.select .action.profiling, -#pma_console .message.select .action.explain, -#pma_console .message.history .text.targetdb, -#pma_console .message.successed .text.targetdb, -#pma_console .message.history .action.requery, -#pma_console .message.history .action.bookmark, -#pma_console .message.bookmark .action.requery, -#pma_console .message.bookmark .action.bookmark, -#pma_console .message.successed .action.requery, -#pma_console .message.successed .action.bookmark { - display: inline-block; -} -#pma_console .message .action_content { - position: absolute; - bottom: 100%; - background: #ccc; - border: solid 1px #aaa; - border-top--radius: 3px; -} -html.ie8 #pma_console .message .action_content { - position: relative!important; -} -#pma_console .message.bookmark .text.targetdb, -#pma_console .message .text.query_time { - margin: 0; - display: inline-block; -} -#pma_console .message.failed .text.query_time, -#pma_console .message .text.failed { - display: none; -} -#pma_console .message.failed .text.failed { - display: inline-block; -} -#pma_console .message .text { - background: #fff; -} -#pma_console .message.collapsed>.action_content { - display: none; -} -#pma_console .message.collapsed:hover>.action_content { - display: block; -} -#pma_console .message .bookmark_label { - padding: 0 4px; - top: 0; - background: #369; - color: #fff; - border-radius: 3px; -} -#pma_console .message .bookmark_label.shared { - background: #396; -} -#pma_console .message.expanded .bookmark_label { - border-top-left-radius: 0; - border-top-right-radius: 0; -} -#pma_console .query_input { - position: relative; -} -#pma_console .mid_layer { - height: 100%; - width: 100%; - position: absolute; - top: 0; - /* For support IE8, this layer doesn't use filter:opacity or opacity, - js code will fade this layer opacity to 0.18(using animation) */ - background: #666; - display: none; - cursor: pointer; - z-index: 200; -} -#pma_console .card { - position: absolute; - width: 94%; - height: 100%; - min-height: 48px; - : 100%; - top: 0; - border-: solid 1px #999; - z-index: 300; - transition: 0.2s; - -ms-transition: 0.2s; - -webkit-transition: 0.2s; - -moz-transition: 0.2s; -} -#pma_console .card.show { - : 6%; - box-shadow: -2px 1px 4px -1px #999; -} - -html.ie7 #pma_console .query_input { - display: none; -} - -#pma_bookmarks .content.add_bookmark, -#pma_console_options .content { - padding: 4px 6px; -} -#pma_bookmarks .content.add_bookmark .options { - margin-: 1.4em; - padding-bottom: .4em; - margin-bottom: .4em; - border-bottom: solid 1px #ccc; -} -#pma_bookmarks .content.add_bookmark .options button { - margin: 0 7px; - vertical-align: bottom; -} -#pma_bookmarks .content.add_bookmark input[type=text] { - margin: 0; - padding: 2px 4px; -} -#pma_console .button.hide, -#pma_console .message span.text.hide { - display: none; -} -#debug_console.grouped .ungroup_queries, -#debug_console.ungrouped .group_queries { - display: inline-block; -} -#debug_console.ungrouped .ungroup_queries, -#debug_console.ungrouped .sort_count, -#debug_console.grouped .group_queries { - display: none; -} -#debug_console .count { - margin-right: 8px; -} -#debug_console .show_trace .trace, -#debug_console .show_args .args { - display: block; -} -#debug_console .hide_trace .trace, -#debug_console .hide_args .args, -#debug_console .show_trace .action.dbg_show_trace, -#debug_console .hide_trace .action.dbg_hide_trace, -#debug_console .traceStep.hide_args .action.dbg_hide_args, -#debug_console .traceStep.show_args .action.dbg_show_args { - display: none; -} - -#debug_console .traceStep:after, -#debug_console .trace.welcome:after, -#debug_console .debug>.welcome:after { - content: ""; - display: table; - clear: both; -} -#debug_console .debug_summary { - float: left; -} -#debug_console .trace.welcome .time { - float: right; -} -#debug_console .traceStep .file, -#debug_console .script_name { - float: right; -} -#debug_console .traceStep .args pre { - margin: 0; -} - -/* Code mirror console style*/ - -.cm-s-pma .CodeMirror-code pre, -.cm-s-pma .CodeMirror-code { - font-family: Monaco, Consolas, monospace; -} -.cm-s-pma .CodeMirror-measure>pre, -.cm-s-pma .CodeMirror-code>pre, -.cm-s-pma .CodeMirror-lines { - padding: 0; -} -.cm-s-pma.CodeMirror { - resize: none; - height: auto; - width: 100%; - min-height: initial; - max-height: initial; -} -.cm-s-pma .CodeMirror-scroll { - cursor: text; -} - -/* PMA drop-improt style */ - -.pma_drop_handler { - display: none; - position: fixed; - top: 0; - left: 0; - width: 100%; - background: rgba(0, 0, 0, 0.6); - height: 100%; - z-index: 999; - color: white; - font-size: 30pt; - text-align: center; - padding-top: 20%; -} - -.pma_sql_import_status { - display: none; - position: fixed; - bottom: 0; - right: 25px; - width: 400px; - border: 1px solid #999; - background: #f3f3f3; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: 2px 2px 5px #ccc; - -webkit-box-shadow: 2px 2px 5px #ccc; - box-shadow: 2px 2px 5px #ccc; -} - -.pma_sql_import_status h2, -.pma_drop_result h2 { - background-color: #bbb; - padding: .1em .3em; - margin-top: 0; - margin-bottom: 0; - color: #fff; - font-size: 1.6em; - font-weight: normal; - text-shadow: 0 1px 0 #777; - -moz-box-shadow: 1px 1px 15px #999 inset; - -webkit-box-shadow: 1px 1px 15px #999 inset; - box-shadow: 1px 1px 15px #999 inset; -} - -.pma_sql_import_status div { - height: 270px; - overflow-y:auto; - overflow-x:hidden; - list-style-type: none; -} - -.pma_sql_import_status div li { - padding: 8px 10px; - border-bottom: 1px solid #bbb; - color: rgb(148, 14, 14); - background: white; -} - -.pma_sql_import_status div li .filesize { - float: right; -} - -.pma_sql_import_status h2 .minimize { - float: right; - margin-right: 5px; - padding: 0 10px; -} - -.pma_sql_import_status h2 .close { - float: right; - margin-right: 5px; - padding: 0 10px; - display: none; -} - -.pma_sql_import_status h2 .minimize:hover, -.pma_sql_import_status h2 .close:hover, -.pma_drop_result h2 .close:hover { - background: rgba(155, 149, 149, 0.78); - cursor: pointer; -} - -.pma_drop_file_status { - color: #235a81; -} - -.pma_drop_file_status span.underline:hover { - cursor: pointer; - text-decoration: underline; -} - -.pma_drop_result { - position: fixed; - top: 10%; - left: 20%; - width: 60%; - background: white; - min-height: 300px; - z-index: 800; - -webkit-box-shadow: 0 0 15px #999; - border-radius: 10px; - cursor: move; -} - -.pma_drop_result h2 .close { - float: right; - margin-right: 5px; - padding: 0 10px; -} - -.dependencies_box { - background-color: white; - border: 3px ridge black; -} - -#composite_index_list { - list-style-type: none; - list-style-position: inside; -} - -span.drag_icon { - display: inline-block; - background-image: url('getImgPath('s_sortable.png');?>'); - background-position: center center; - background-repeat: no-repeat; - width: 1em; - height: 3em; - cursor: move; -} - -.topmargin { - margin-top: 1em; -} - -meter[value="1"]::-webkit-meter-optimum-value { - background: linear-gradient(white 3%, #E32929 5%, transparent 10%, #E32929); -} -meter[value="2"]::-webkit-meter-optimum-value { - background: linear-gradient(white 3%, #FF6600 5%, transparent 10%, #FF6600); -} -meter[value="3"]::-webkit-meter-optimum-value { - background: linear-gradient(white 3%, #FFD700 5%, transparent 10%, #FFD700); -} - -/* styles for sortable tables created with tablesorter jquery plugin */ -th.header { - cursor: pointer; - color: #235a81; -} - -th.header:hover { - text-decoration: underline; -} - -th.header .sorticon { - width: 16px; - height: 16px; - background-repeat: no-repeat; - background-position: right center; - display: inline-table; - vertical-align: middle; - float: right; -} - -th.headerSortUp .sorticon, th.headerSortDown:hover .sorticon { - background-image: url(getImgPath('s_desc.png');?>); -} - -th.headerSortDown .sorticon, th.headerSortUp:hover .sorticon { - background-image: url(getImgPath('s_asc.png');?>); -} -/* end of styles of sortable tables */ - -/* styles for jQuery-ui to support rtl languages */ -body .ui-dialog .ui-dialog-titlebar-close { - : .3em; - : initial; -} - -body .ui-dialog .ui-dialog-title { - float: ; -} - -body .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { - float: ; -} -/* end of styles for jQuery-ui to support rtl languages */ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/navigation.css.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/navigation.css.php deleted file mode 100644 index caf35083..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/navigation.css.php +++ /dev/null @@ -1,428 +0,0 @@ - - -/******************************************************************************/ -/* Navigation */ - -#pma_navigation { - width: px; - position: fixed; - top: 0; - : 0; - height: 100%; - background: url(./themes/pmahomme/img/left_nav_bg.png) repeat-y right 0 ; - color: ; - z-index: 800; -} - -#pma_navigation_header { - overflow: hidden; -} - -#pma_navigation_content { - width: 100%; - height: 100%; - position: absolute; - top: 0; - : 0; - z-index: 0; -} - -#pma_navigation ul { - margin: 0; -} - -#pma_navigation form { - margin: 0; - padding: 0; - display: inline; -} - -#pma_navigation select#select_server, -#pma_navigation select#lightm_db { - width: 100%; -} - -/******************************************************************************/ -/* specific elements */ - -#pma_navigation div.pageselector { - text-align: center; - margin: 0; - margin-: 0.75em; - border-: 1px solid #666; -} - -#pma_navigation div#pmalogo { - -} - -#pma_navigation #pmalogo, -#pma_navigation #serverChoice, -#pma_navigation #navipanellinks, -#pma_navigation #recentTableList, -#pma_navigation #favoriteTableList, -#pma_navigation #databaseList, -#pma_navigation div.pageselector.dbselector { - text-align: center; - padding: 5px 10px 0; - border: 0; -} - -#pma_navigation #recentTable, -#pma_navigation #favoriteTable { - width: 200px; -} - -#pma_navigation #favoriteTableList select, -#pma_navigation #serverChoice select - { - width: 80%; -} - -#pma_navigation_content > img.throbber { - display: none; - margin: .3em auto 0; -} - -/* Navigation tree*/ -#pma_navigation_tree { - margin: 0; - margin-: 5px; - overflow: hidden; - color: #444; - height: 74%; - position: relative; -} -#pma_navigation_select_database { - text-align: left; - padding: 0 0 0; - border: 0; - margin: 0; -} - -#pma_navigation_db_select { - margin-top: 0.5em; - margin-: 0.75em; -} -#pma_navigation_db_select select { - background: url("./themes/pmahomme/img/select_bg.png") repeat scroll 0 0; - -webkit-border-radius: 2px; - border-radius: 2px; - border: 1px solid #bbb; - border-top: 1px solid #bbb; - color: #333; - padding: 4px 6px; - margin: 0 0 0; - width: 92%; - font-size: 1.11em; -} - -#pma_navigation_tree_content { - width: 100%; - overflow: hidden; - overflow-y: auto; - position: absolute; - height: 100%; -} -#pma_navigation_tree_content a.hover_show_full { - position: relative; - z-index: 100; -} -#pma_navigation_tree a { - color: ; -} -#pma_navigation_tree a:hover { - text-decoration: underline; -} -#pma_navigation_tree li.activePointer { - color: ; - background-color: ; -} -#pma_navigation_tree li.selected { - color: ; - background-color: ; -} -#pma_navigation_tree li .dbItemControls { - padding-left: 4px; -} -#pma_navigation_tree li .navItemControls { - display: none; - padding-left: 4px; -} -#pma_navigation_tree li.activePointer .navItemControls { - display: inline; - opacity: 0.5; -} -#pma_navigation_tree li.activePointer .navItemControls:hover { - display: inline; - opacity: 1.0; -} -#pma_navigation_tree ul { - clear: both; - padding: 0; - list-style-type: none; - margin: 0; -} -#pma_navigation_tree ul ul { - position: relative; -} -#pma_navigation_tree li, -#pma_navigation_tree li.fast_filter { - white-space: nowrap; - clear: both; - min-height: 16px; -} -#pma_navigation_tree img { - margin: 0; -} -#pma_navigation_tree i { - display: block; -} -#pma_navigation_tree div.block { - position: relative; - width: 1.5em; - height: 1.5em; - min-width: 16px; - min-height: 16px; - float: ; -} -#pma_navigation_tree div.block.double { - width: 2.5em; -} -#pma_navigation_tree div.block i, -#pma_navigation_tree div.block b { - width: 1.5em; - height: 1.7em; - min-width: 16px; - min-height: 8px; - position: absolute; - bottom: 0.7em; - : 0.75em; - z-index: 0; -} -#pma_navigation_tree div.block i { /* Top and right segments for the tree element connections */ - display: block; - border-: 1px solid #666; - border-bottom: 1px solid #666; - position: relative; - z-index: 0; -} -#pma_navigation_tree div.block i.first { /* Removes top segment */ - border-: 0; -} -#pma_navigation_tree div.block b { /* Bottom segment for the tree element connections */ - display: block; - height: 0.75em; - bottom: 0; - : 0.75em; - border-: 1px solid #666; -} -#pma_navigation_tree div.block a, -#pma_navigation_tree div.block u { - position: absolute; - : 50%; - top: 50%; - z-index: 10; -} -#pma_navigation_tree div.block a + a { - : 100%; -} -#pma_navigation_tree div.block.double a, -#pma_navigation_tree div.block.double u { - : 33%; -} -#pma_navigation_tree div.block.double a + a { - : 85%; -} -#pma_navigation_tree div.block img { - position: relative; - top: -0.6em; - : 0; - margin-: -7px; -} -#pma_navigation_tree div.throbber img { - top: 2px; - : 2px; -} -#pma_navigation_tree li.last > ul { - background: none; -} -#pma_navigation_tree li > a, #pma_navigation_tree li > i { - line-height: 1.5em; - height: 1.5em; - padding-: 0.3em; -} -#pma_navigation_tree .list_container { - border-: 1px solid #666; - margin-: 0.75em; - padding-: 0.75em; -} -#pma_navigation_tree .last > .list_container { - border-: 0 solid #666; -} - -/* Fast filter */ -li.fast_filter { - padding-: 0.75em; - margin-: 0.75em; - padding-: 35px; - border-: 1px solid #666; - list-style: none; -} -li.fast_filter input { - margin: 3px 0 0 0; - font-size: 0.7em; - padding-top: 2px; - padding-bottom: 2px; - padding-: 4px; - padding-: 1.7em; - width: 100%; -} -li.fast_filter span { - position: relative; - : 1.5em; - padding: 0.2em; - cursor: pointer; - font-weight: bold; - color: #800; - font-size: 0.7em; -} -/* IE10+ has its own reset X */ -html.ie li.fast_filter span { - display: none; -} -html.ie.ie9 li.fast_filter span, -html.ie.ie8 li.fast_filter span { - display: auto; -} -html.ie li.fast_filter input { - padding-: .2em; -} -html.ie.ie9 li.fast_filter input, -html.ie.ie8 li.fast_filter input { - padding-: 1.7em; -} -li.fast_filter.db_fast_filter { - border: 0; - margin-left: 0; - margin-right: 10px; -} - -#navigation_controls_outer { - min-height: 21px !important; -} - -#navigation_controls_outer.activePointer { - background-color: transparent !important; -} - -#navigation_controls { - float: right; - padding-right: 23px; -} - -/* Resize handler */ -#pma_navigation_resizer { - width: 3px; - height: 100%; - background-color: #aaa; - cursor: col-resize; - position: fixed; - top: 0; - : 240px; - z-index: 801; -} -#pma_navigation_collapser { - width: 20px; - height: 22px; - line-height: 22px; - background: #eee; - color: #555; - font-weight: bold; - position: fixed; - top: 0; - : px; - text-align: center; - cursor: pointer; - z-index: 800; - text-shadow: 0 1px 0 #fff; - filter: dropshadow(color=#fff, offx=0, offy=1); - border: 1px solid #888; -} - -/* Quick warp links */ -.pma_quick_warp { - margin-top: 5px; - margin-: 2px; - position: relative; -} -.pma_quick_warp .drop_list { - float: ; - margin-: 3px; - padding: 2px 0; -} -.pma_quick_warp .drop_button { - padding: 0 .3em; - border: 1px solid #ddd; - border-radius: .3em; - background: #f2f2f2; - cursor: pointer; -} -.pma_quick_warp .drop_list:hover .drop_button { - background: #fff; -} -.pma_quick_warp .drop_list ul { - position: absolute; - margin: 0; - padding: 0; - overflow: hidden; - overflow-y: auto; - list-style: none; - background: #fff; - border: 1px solid #ddd; - border-radius: .3em; - border-top--radius: 0; - border-bottom--radius: 0; - box-shadow: 0 0 5px #ccc; - top: 100%; - : 3px; - : 0; - display: none; - z-index: 802; -} -.pma_quick_warp .drop_list:hover ul { - display: block; -} -.pma_quick_warp .drop_list li { - white-space: nowrap; - padding: 0; - border-radius: 0; -} -.pma_quick_warp .drop_list li img { - vertical-align: sub; -} -.pma_quick_warp .drop_list li:hover { - background: #f2f2f2; -} -.pma_quick_warp .drop_list a { - display: block; - padding: .2em .3em; -} -.pma_quick_warp .drop_list a.favorite_table_anchor { - clear: left; - float: left; - padding: .1em .3em 0; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/pmd.css.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/pmd.css.php deleted file mode 100644 index 7d1c38b4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/css/pmd.css.php +++ /dev/null @@ -1,518 +0,0 @@ -getImgPath('pmd/Header.png'); -$headerLinkedImg = $pmaTheme->getImgPath('pmd/Header_Linked.png'); -$minusImg = $pmaTheme->getImgPath('pmd/minus.png'); -$plusImg = $pmaTheme->getImgPath('pmd/plus.png'); -$leftPanelButtonImg = $pmaTheme->getImgPath('pmd/left_panel_butt.png'); -$topPanelImg = $pmaTheme->getImgPath('pmd/top_panel.png'); -$smallTabImg = $pmaTheme->getImgPath('pmd/small_tab.png'); -$frams1Img = $pmaTheme->getImgPath('pmd/1.png'); -$frams2Img = $pmaTheme->getImgPath('pmd/2.png'); -$frams3Img = $pmaTheme->getImgPath('pmd/3.png'); -$frams4Img = $pmaTheme->getImgPath('pmd/4.png'); -$frams5Img = $pmaTheme->getImgPath('pmd/5.png'); -$frams6Img = $pmaTheme->getImgPath('pmd/6.png'); -$frams7Img = $pmaTheme->getImgPath('pmd/7.png'); -$frams8Img = $pmaTheme->getImgPath('pmd/8.png'); -$resizeImg = $pmaTheme->getImgPath('pmd/resize.png'); -?> - -/* Designer */ -.input_tab { - background-color: #A6C7E1; - color: #000; -} - -.content_fullscreen { - position: relative; - overflow: auto; -} - -#canvas_outer { - position: relative; - width: 100%; - display: block; -} - -#canvas { - background-color: #fff; - color: #000; -} - -canvas.pmd { - display: inline-block; - overflow: hidden; - text-align: left; -} - -canvas.pmd * { - behavior: url(#default#VML); -} - -.pmd_tab { - background-color: #fff; - color: #000; - border-collapse: collapse; - border: 1px solid #aaa; - z-index: 1; - -moz-user-select: none; -} - -.pmd_tab .header { - background-image: url(); - background-repeat: repeat-x; -} - -.tab_zag { - text-align: center; - cursor: move; - padding: 1px; - font-weight: bold; -} - -.tab_zag_2 { - background-image: url(); - background-repeat: repeat-x; - text-align: center; - cursor: move; - padding: 1px; - font-weight: bold; -} - -.tab_field { - background: #fff; - color: #000; - cursor: default; -} - -.tab_field_2 { - background-color: #CCFFCC; - color: #000; - background-repeat: repeat-x; - cursor: default; -} - -.tab_field_3 { - background-color: #FFE6E6; /*#DDEEFF*/ - color: #000; - cursor: default; -} - -#pmd_hint { - white-space: nowrap; - position: absolute; - background-color: #99FF99; - color: #000; - z-index: 3; - border: #00CC66 solid 1px; - display: none; -} - -.scroll_tab { - overflow: auto; - width: 100%; - height: 500px; -} - -.pmd_Tabs { - cursor: default; - color: #0055bb; - white-space: nowrap; - text-decoration: none; - text-indent: 3px; - font-weight: bold; - margin-left: 2px; - text-align: ; - background-color: #fff; - background-image: url(); - border: #ccc solid 1px; -} - -.pmd_Tabs2 { - cursor: default; - color: #0055bb; - background: #FFEE99; - text-indent: 3px; - font-weight: bold; - white-space: nowrap; - text-decoration: none; - border: #9999FF solid 1px; - text-align: ; -} - -.owner { - font-weight: normal; - color: #888; -} - -.option_tab { - padding-left: 2px; - padding-right: 2px; - width: 5px; -} - -.select_all { - vertical-align: top; - padding-left: 2px; - padding-right: 2px; - cursor: default; - width: 1px; - color: #000; - background-image: url(); - background-repeat: repeat-x; -} - -.small_tab { - vertical-align: top; - background-color: #0064ea; - color: #fff; - background-image: url(); - cursor: default; - text-align: center; - font-weight: bold; - padding-left: 2px; - padding-right: 2px; - width: 1px; - text-decoration: none; -} - -.small_tab2 { - vertical-align: top; - color: #fff; - background-color: #FF9966; - cursor: default; - padding-left: 2px; - padding-right: 2px; - text-align: center; - font-weight: bold; - width: 1px; - text-decoration: none; -} - -.small_tab_pref { - background-image: url(); - background-repeat: repeat-x; - text-align: center; - width: 1px; -} - -.small_tab_pref2 { - vertical-align: top; - color: #fff; - background-color: #FF9966; - cursor: default; - text-align: center; - font-weight: bold; - width: 1px; - text-decoration: none; -} - -.butt { - border: #4477aa solid 1px; - font-weight: bold; - height: 19px; - width: 70px; - background-color: #fff; - color: #000; - vertical-align: baseline; -} - -.L_butt2_1 { - padding: 1px; - text-decoration: none; - vertical-align: middle; - cursor: default; -} - -.L_butt2_2 { - padding: 0; - border: #0099CC solid 1px; - background: #FFEE99; - color: #000; - text-decoration: none; - vertical-align: middle; - cursor: default; -} - -/* ---------------------------------------------------------------------------*/ -.bor { - width: 10px; - height: 10px; -} - -.frams1 { - background: url() no-repeat right bottom; -} - -.frams2 { - background: url() no-repeat left bottom; -} - -.frams3 { - background: url() no-repeat left top; -} - -.frams4 { - background: url() no-repeat right top; -} - -.frams5 { - background: url() repeat-x center bottom; -} - -.frams6 { - background: url() repeat-y left; -} - -.frams7 { - background: url() repeat-x top; -} - -.frams8 { - background: url() repeat-y right; -} - -#osn_tab { - position: absolute; - background-color: #fff; - color: #000; -} - -.pmd_header { - background-color: #EAEEF0; - color: #000; - text-align: center; - font-weight: bold; - margin: 0; - padding: 0; - background-image: url(); - background-position: top; - background-repeat: repeat-x; - border-right: #999 solid 1px; - border-left: #999 solid 1px; - height: 28px; - z-index: 101; - width: 100%; - position: fixed; -} - -.pmd_header a, .pmd_header span{ - display: block; - float: ; - margin: 3px 1px 4px; - height: 20px; - border: 1px dotted #fff; -} - -.pmd_header .M_bord { - display: block; - float: ; - margin: 4px; - height: 20px; - width: 2px; -} - -.pmd_header a.first { - margin-right: 1em; -} - -.pmd_header a.last { - margin-left: 1em; -} - -a.M_butt_Selected_down_IE, -a.M_butt_Selected_down { - border: 1px solid #C0C0BB; - background-color: #99FF99; - color: #000; -} - -a.M_butt_Selected_down_IE:hover, -a.M_butt_Selected_down:hover, -a.M_butt:hover { - border: 1px solid #0099CC; - background-color: #FFEE99; - color: #000; -} - -#layer_menu { - z-index: 98; - position: relative; - float: right; - background-color: #EAEEF0; - border: #999 solid 1px; -} - -#layer_menu.left { - float: left; -} - -#layer_upd_relation { - position: absolute; - : 637px; - top: 224px; - z-index: 100; -} - -#layer_new_relation { - position: absolute; - : 636px; - top: 85px; - z-index: 100; - width: 153px; -} - -#pmd_optionse { - position: absolute; - : 636px; - top: 85px; - z-index: 100; - width: 153px; -} - -#layer_menu_sizer { - background-image: url(); - cursor: ew-resize; -} - -#layer_menu_sizer .icon { - margin: 0; -} - -.panel { - position: fixed; - top: 60px; - : 0; - width: 350px; - max-height: 500px; - display: none; - overflow: auto; - padding-top: 34px; - z-index: 102; -} - -a.trigger { - position: fixed; - text-decoration: none; - top: 60px; - : 0; - color: #fff; - padding: 10px 40px 10px 15px; - background: #333 url() 85% 55% no-repeat; - border: 1px solid #444; - display: block; - z-index: 102; -} - -a.trigger:hover { - color: #080808; - background: #fff696 url() 85% 55% no-repeat; - border: 1px solid #999; -} - -a.active.trigger { - background: #222 url() 85% 55% no-repeat; - z-index: 999; -} - -a.active.trigger:hover { - background: #fff696 url() 85% 55% no-repeat; -} - -.toggle_container .block { - background-color: #DBE4E8; - border-top: 1px solid #999; -} - -.history_table { - text-align: center; - background-color: #9999CC; - cursor: pointer; -} - -.history_table2 { - text-align: center; - background-color: #DBE4E8; -} - -#ab { - min-width: 300px; -} - -#ab .ui-accordion-content { - padding: 0; -} - -#box { - display: none; -} - -#foreignkeychk { - text-align: ; - position: absolute; - cursor: pointer; -} - -.side-menu { - float: left; - position: fixed; - width: auto; - height: auto; - background: #efefef; - border: 1px solid grey; - overflow: hidden; - z-index: 50; - padding: 2px; -} - -.side-menu.right { - float: right; - right: 0; -} - -.side-menu .hide { - display: none; -} - -.side-menu a { - display: block; - float: none; - overflow: hidden; -} - -.side-menu img, -.side-menu .text { - float: left; -} - -#name-panel { - border-bottom: 1px solid grey; - text-align: center; - background: #efefef; - width: 100%; - font-size: 1.2em; - padding: 10px; - font-weight: bold; -} - -#container-form { - width: 100%; - position: absolute; - left: 0; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/arrow_ltr.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/arrow_ltr.png deleted file mode 100644 index 7ff8ed9c401285f840655155451c9bd20c3f13f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^YCtT;!2%@N{M0&t6id3JuOkD)`V;1?T`z%rCr=m0 z5R22v2@+lp>~~5@7D^oTSmk)b}bG|{|z>tTLRmb4i!TWuy*{5bca_u=jDPI^47_xBqXe>B)&SYYrc=|_cd zH)s5m{r3|eKTD}N_~FCv?+PtUZY~bK6MvM=pZ)ma_xDnhu|Y z#GRX6xU^kJkzCMpu7`kzOH9&#DW>p! z;uq7-P%E@hwHyFD%56=_u8t;FHI%WOfSTr2HLt#WaUFHF1-2bH&R+n`mXzC@x&Qnf zmC6*R3V_b2FvHaNJ~>6^Jaetu0!g7%VC}|cTI-i00%nS;A!3LsQH|*=aO=+F`2dE9 z@^O5UQd%U-GJ^9&&F>=%C=^R9TUdjd%>w{blqdn`9EY~H=JIoOm>Jgx-x6wz{FDDj zK@dekBudK7$8T^U62*|HL=uXn50v@6o#Ms(bihKP?8p`xG5sm`UMgqx=?W8O3{L#xD%J| zU5PIGLj<8Hv=DS>7eXzDieN#IV9`ZDZ4$JpiXk)S92YmKwLlZmcy1%YqKpX{JE)}V)G`Un7>r;@=*FJ6Hz4j|Gg*b$#ubV_s5+Pap1BnAr zU~2CUj6A?AX2w7S7fuveTy1gwSk@NL-ZUv6+|B543_z{kW@ISNnWzaZ3Ii5bTL5Vc z18@pU@4ltL$>L!8atXlu#Dfsd9VzhqZHu$hnSzCClPl$7n%C-WqTbaq56qa}zl+ab ze=#{e%*QW3(!X$cVvt(B-Pa4Mrny(J<@M0000`FCspBaR&gRzcP<|32mwU(YIn!(Hs3 zo4|=A0pk5vKoy(?abQezFPFfSp=7`qe%~0z7*|^*u;qio-V}(9LhYtV2}}uW89pxo zV63Zn;GApG>l;QNj;yGvYTw&sRaJfbE~=l5 zMfKo#l=H<6y>xF%RW%|oP7qbX0Q$#P2?C#i@m0bAo=vVYx^kO0gMx}sGu^|{>@LbC zBJj6bP#_FEx=*DEeYnt>rpAZ!9cg?opta>Nz8`SzWF{J|m5K+(2`Ui!@M1d8WZ^Co zLyD>rzQ2y|d(6$}2>gJj6DwpBK1#KK6;zd)0J_>!j19q|0|)t*o2RQiMd00}v$Yv< z%FIHMJ&m=*Yr{$lRwA{)_jvW80Ki->hlj`T#{xz`M44SI($o+m*;uzdxe&lw8+qWv z*<(q<;2LMzlDz&@;B;G(f$=n zF}{2+l1)IOAx65XJ|Yb~L{zFil8*L1nmJK+5;xXitixHsIKevm&s|vi_2)T&x6^h0 Y3nM~WjXfRfZ~y=R07*qoM6N<$g2}-gDF6Tf diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_chart.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_chart.png deleted file mode 100644 index 741e9b590079d49b33300a76f531281f86f3d781..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmV*2)>nk5>^{()mrY^+`3xaGwG%jT#j-4c&N#ubj5pAD$j zFXk&|Qs$I7)9sgt7TpT-2ymyGqh8$FSj7{>iV{U#S!{0OVVEn@gyGH3+e&jvoU))Sc)$LH u3P6(zryMGZ&BY#WNq7*RWF*67-}w);iljXPp14l{0000HQ`@@EPCcO6a_P2IXxOwG!S zfyLzgd>JPFdgVn@3JqiJ{`;g%?1f8v#BcuK)l4_b4|o&z6Lv@Mb67@E9S> zZNgUDg>ANr*zFW?+%4v{S3Kx|MC384q!V)4XEl@3wTjN`l$;0ZvaG&jm8ay|a>Ju0 z->2Hpui;Wq_s!teE5SV);oaB5`*kBH+>M!ZKeodwZqm)TDK`?P-cO!>D|Pn6v_Ai= z*>?)&-z%D)P`v0t$>RHEi|<#jcwD#QVdLt=#?_Bn);(!m`=otmLi?_S?#<7;cO~`g zN$uVAtan#R|L&~*J?T@nznHb>)yB&cHeQ>w>C)6KSEg>eGUvjxT|iHr<0<(9^dm<} zkY6xET}RKS@85qX7+*~TiZLd6ySun2>^)fxMbBYdJ4i&r+y0%yMY6!gJ(-#%HrY-Q;bb;NT q{b!F$8i*PjoImvPoc_gLuKdq;Bbiu}my`k>#o+1c=d#Wzp$Pz_P1i&K diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_comment.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_comment.png deleted file mode 100644 index b6c3969392d679d9b1f945d09ca13ac5aa76c3c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 454 zcmV;%0XhDOP)JR-K$w>dWb=Y6pf$Jxt_D{N3K;HhWB2qvd~x^G3+#I%)P;gIK0_%oIYCR2P(W)T zuM36%!CF5+!?!o^$`k6Mo4>mFJB8H4bH>#oR2c*2)>nk5>^{()mrY^+`3xaGwG%jT#j-4c&N#ubj5pAD$j zFXk&|Qs$I7)9sgt7TpT-2ymyGqh8$FSj7{>iV{U#S!{0OVVEn@gyGH3+e&jvoU))Sc)$LH u3P6(zryMGZ&BY#WNq7*RWF*67-}w);iljXPp14l{00000TU>KAsNhUpvBBM>DxsXhsFA2>*d1ubFxQ}i%_4#k&>|Qk7_n$0S=(T=#fZG^I9n6<0L0qXrg&lW zUn;jh9NV2yU__z-JzwvmMWc7i$N6dtR>>X_D%V$`hT@x0Z%zJ#!KlLndM}>Y>k5Kcx-AOt!1qOE8w}% z`)(Gc0)!w3@a*2aKBC3Qu|f%-Io7Ob^I6dc`KO8;nzhPv=u4Bov($z(4z z%`N0q?_~L7AB95$yl9BD1|~`%N4XCDqbYz4x(@g+JK1*b61n4p@aj7G8;hup#d!bO zUJeMf4m@z-@UAF>pHdvE4HXRhm?XEN8jf8FXP~_jCC--618b?R+Q9d@Www^*F){rs zGYgbdu=L?61y3&WdwH5AU}0Wi6jSL}u*287zU)~wQs8TYuMI{Ez7e$1)R#9>ka$k4 zI1f)nSeVsJ%(&JfcbxT(^YH1aw#B)r3(7b#qwF^eok#lgjX%-*FEc@CA1(j@002ov JPDHLkV1f>!Al?7~ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_docs.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_docs.png deleted file mode 100644 index 0bf056321f8a6380eae3de2fb5d8bc3e265d9ef1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmV5OI=i@xbQB~e2iT@U^-;WlGYMY2|6VsgjsIN@aI%=`j0^qtXk%c=?{b4JzbMwmT?pc6~x4l*?a-uPvEPa&^`0I(s;7boH zN_DE3rp#O_%IDB~cigj9wtu^JLH9J^T;Ie;B64j>rlf8(=X0SyOKmF2hUIlA%8mOu zejgZPO=A_As!}fYJs+}GR_*%okFpaOYl%$6!R}kQj*c}(~*gU|C=BRm?;k#Jq|L716d zqaTE*f>DS}h>D^LpD#(1%ZD63eUn0DP{25XI*J!WZ$0pW=vid#qD=W5CMJDE3?jnr zqt^kju>lnnr8Zqj5XSgH_-y(M`5-(sl=WzCm`Bo?YEUa2_+|zBceG%{U{r9_@@ZoY ze?QLQ7ot$p<784#vd%czhDN3XE)M-9B)q-#}JO|zUL0|HW=_YUyN7lSgPZ2 zgsDg1$=~!x0fDbB@BVq%-jhk;E#HDwcfPZ;F1cOiU>AD5Z?T_sInVbdlZRVmc`}pc bX@wo;W|QH&qWr<*8pu*lS3j3^P6~W{XxKC^tPH=P z{Sp2J)+RCpVhnKsiU}YF+{nU^C}@a<(n1-u3z$6`yXPVP?-=16sScE)5Bnhs3ih-uu%7fr#<1_{o3vc=7S->Vrp}p_Z2xSE1?~8 z0jU(s&2Zgo>>W2QWPiq|05!7#zeBzSWJc1ry2>3Bw47!3HDuoDcSrGl&iMA(EKhW{q1L`lovL007{_qkDcP)n+H7sHD6ac8@m` zXFQ7Vz>5F?002ovPDHLkV1iyLF=hY& diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_edit.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_edit.png deleted file mode 100644 index a6426ae8a31f70a4bc5429ae28c916338062c804..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 407 zcmV;I0cie-P)dkWb2!P*^|{Swa$C zLKTy39-L_{XUUOI%9TRToJ!E0 zS=5|e*rjUOk2~3@P~60A-K%rmu597Uu;jWg=Cobtm_Y2RVeHST^5Mwx=DzdKZ}iWl z^wg*H))34H((EB-xmd1e6raEM-^` ze02kJ8yizj1mDU+RbStf1Hrd9){|3_M&g?o+G!}_;)|g1g>_N*%))9?DDr$dwnE~{ zvJ!9y@L6kViU|lJT*xDDq%DfXXW-`L7i7WXX8<#!4)lY27{vep002ovPDHLkV1o9I B$bSF; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_empty.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_empty.png deleted file mode 100644 index fd6ec8d7b75ec7f1cb848d36794d5ff4a6034174..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 615 zcmV-t0+{`YP)Px%AxT6*R5;6}kiTydaTvy*`=!Ux0_6aaVt++D6dc@4I>5ECxH~wh2&FYvQxi91 z*>o_WjT(Xywe=rR7ZVgXY>cBFjBc=)T4T~)4|_-N;LgEvF{Lq9-|79nd7jVvK3@X6 zwRkUEQB@_1zbKoH6R*wA2>?KMhN`MWXVO=oX__T8O|#2vnkJqs6|6<{(3#uwLOhy* zUWTG5kR++g*m*My1Ck^G02j0G&B|*rLksa}W<2aettvy7Wvs2O?P~@AilRUe1Y}vp zc*F-Fnz15$tT!M@66*E(A0u?MBaz(*oncK4B5|kGB_@dd5J9W60O8Xy{7YGY*eU-1 z0H40d2QrQY9lrpTqF4o@k%Ml2CpA$iidE~2X0Kj0FPu;4j|zEhax%`Wth{9eVWM3w zm&jNw-WJ6&H6g@|H>D!ExNx89iomk0uDA3p-s@>M8b65Pp^;w0FxA1qVY=Nm6oWT``k?c2!}$4y!tMLnqJqJia6A-@f_)s66i>Ns_4bI(l0D{Xwv-&9K|;N-p;xz4wCT^|>4T((+>i zz~{})4T*R2ewWip?`TbCb@jt>09bzZ)R~@|Y3eQQ>|Q`2|1bx?|LCDqGCh_`ru#Ha z!;6>Cdnk$yTuP*fsnj$P2n42Y&ENdavbOaO;3p>7%M{R~Ry+Uz002ovPDHLkV1hlW B8?*ob diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_engine.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_engine.png deleted file mode 100644 index 4d5f80d9c8fd93ac3cbb2720b84e6bffdc5b92a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 431 zcmV;g0Z{&lP)tK9uP)JJ|rV9_`6Y zXYXcf42mVceX;N~r>DLF9zOn@k|arzBrkfyRG~=FE8*g zFgI%%>p?*4LP70BL+(UF??pv7YZ>Bxd*gq6?T3Z#h=%Wpi13Pu?<_0;001{NGB;}( zI&LCNdofK%M^lU_R8~?~k1bnWSzCidTvtN@iYLW{yvCmtcXbVTZY3hq_>k zx?+sHWsSOIj;no-yK0ZTXO@|hnVgrLw2z>npP{6mq^6;yrlO{&rKhQ*r>Uf=tEQ`~ zr>m~0tgfo9ud1!DtFEuCud%GL(~z;&lCsj3v$V0a)Rnckw6@fox4E^ry0*Ewx4OKy zzrwt~!o9-9!NkSF#a33u#>2(O!^p_R&(Y1$=DN|+(9_e=)7H<_*3#A4)YjI}*4Wk8 z%f#2%)7RS7+On+LxwqQd)7zGo-QU{Zk&WTGwBggw;pE=pxwYct;p3K(E-E~m+70B>FMa{>*(s|+I_6?&|IB?CtLD z?&|69@$K;O@bbXE^7HZYTU+y^qV%Mr^!4-h%**!n_4fDm_n4UYot^l=!1&F~`1tqu z`1ttw_xbwy`uqC(>+1Xb`~3X;{r&v@{{H{}{}Qke*#H0lA#_qsQveuKh>WD9q@=sM zyV2I(-rnu)^7Hfa^Yi!l`T6 zKy%oeW22qaVkWjXmPCd(u`w|4*9Dce+9~PS*H>q`*YGniC{%d#P3h3G)=*Teax7K= zswfR@nKR8%*Cr#iz_SRbg0(z8Y0><7)2B?ZH8jxX0oo#(7tpbE$>IeTMuCZznk)@za%GcxWoGw(7o?=&*-G&JorGww7r?=>~=FE8*gFzZ1;>q0^8L__XG zL+?dJ;(mJKetYA8d*gq6?T3Z#h=%Wpi13Pu?<_0;001{NGEGNER8~@3U0GaLQ(a$M zW?oyCnUk5Em!P4ap`@RrrlF*!qNb;%r>Uc-sidi^rmL%`tFEZ5uBxoBs;#f8t*@)D zudJ`Jth2PSwYapmxwW{uwz;{ty1ci&zPZ1`yuZS|!o|VE#K6SG!o^lr#m2+M$HU0T z#mLIX&C$%y(aq7)(9+Y;)6>z@*3Z<|($&?^)!Ee6*3j12)z{0!*Vxn7+SSpk&WTGwBggw;pE=pxwYct;p3H&%?;>6(}6o0#e8=;`a|>gVO^?C9(4>g?|7?d|OC?(OdC z>F@CE@A2*M@$mA%zVh?&^IKc{{H^vX)6E#0013yQchC<7*nLAq@=sMyWZa3 z?d|jP^Yioh`T6A

    h|n$XfH z%*hDh^GR1Zm}#2Wl}Pb{MK~m*^&{#!^E`C}B-lavg|hWjqB`1Z%0qS11cBzT7P>fT z%R4ue<|o+O6tFNbaOYSg6|2iBY2;>x7-VrXFvz4D);53N<~4fzd%Ao4|=hl6jKotZ<3>U61-UIp?b4N zuZotU*g)_PP^!gHFDhQt)*_19v`CGLA#Z2aLz0(71S?%wcD}o_-}&zBOvqZxdWLi7 z@#?6xnvDahbk7&%rjk;XidxPA~;fDKB$2YYcWKU)RNVuIOqg^Dut~yQ-cjH9D5yozh zl6x^se>zRnb$PR}FzFbr5#;aZ|EXZ>?twN1Gnb1g#~8!R)t5Y9EOU5gibt`-@rUw`-pz(9N=6#Rm=k)?%<%1%{CB6E-k%Ttcr^vx4G$vzKh6LDy7m8uIsd-V6Z=V3xgR@!AegT#}Elg+k>%OO%5Ur7atn=iEnnO*|5NL$N#%5 zww$SHTFLf5Op`BKZu+-s)z|3@0w2aK6m06;R=Lkq&}mB42F-~nEVG%qcpcStaZj@J zC~Nd8yD>f0Z^HDa|0a0WOZ}Ag-y5^*+ULi&-zn|ceQooH-0yA%{Apsw{LKk6r<@A) zTbBDWzHhwJ^x(>)*UMJghB?lNxSL;l`OEg-TmmJl)*t_DFsJ`|mDCT0;|u5C{PW_+ Qdyua@UHx3vIVCg!0R8*+#sB~S diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_find_replace.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_find_replace.png deleted file mode 100644 index e6249b5ca285864ce739e5852c0664e60e6095ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 845 zcmV-T1G4;yP)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ-uux1?MgRZ*kFwpGyyKg_9{`vD0D*6Rj&uWAU|Et{5Tk1-uXj0oTM)8|NV$v)lUotMCkl$L*`mYftIO`a z+xoxU`a3NIt{MZHVjHDxE3tVzmbl@cz~{c(`pl{sZgGqN004Yw00000q80$hTxF=p z?61%9x!3o*+4-e>1^@s6on;@Wa4@xfL7xWzbyo~?bf1@fDQj}PuFmkZ)AYF3_EbIw zb$F(RgoTS_4v~<=k(tGloX3=$$CRDOm4pzMmdKZ17?+mKn3&C)o6MbOBBG+!q@ymT zsJ^G1TdAq)uF2@N&+NC*?Yxauz18r)umHc;^1#~k!P@h}F9^ch^uxpO!^HN(-1NlU z^u?EC#j#4o#q-78^~T-x$2APcnP$h`^~c`z$Uhgz$oRG<8XiQVe?-s}0^ z?E2sA`Qh#P;_dn3?)l?fLgViG8Yd?yIzfk!mzS59m#3$#t*yYoz{kta&(hZ1+JOU`u+X={SL4K2><{9zez+vR2WxdV88@y(t6fbI+83fKC5zhQ(J3Ys1g%YK&rH( zy0WOMAxNuT3@o7ASY48zom`aI)t4#@60mA1$<2t5bPVgwj4}ZUST^UR#DzP>`u6u| za)Si4Yf7RcT#~Z9{8hNXW=I6rraQ+J_;^|fLu_GI3@mgg^Kr8+HWq}4Fp8V|1$da{ zbypY(Ktx3JUF}qP6cReq3?TwCHuma#44m>I_3j|9nudX?5HFCyA?Gd1fCAY08L$8V XqLC_;Ab1K(00000NkvXXu0mjf3dOD+ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_firstpage.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_firstpage.png deleted file mode 100644 index e1242e61a4c260730b602e4b4fb8dd8b9f80a93f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 754 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlt<7?>Zd|N|<^hdB*LGxep4Kz9?Stx_tG!s`VesCvB~qvb|^dsVN&S&Dnly{;s<# z4nM1$xUO-=w&vM8rmQ}(eBYf_2k);t`e@y;#~l;r^i5whWzO;iE4LgveeKBE8^_Pz zI&tB4&y@L-W-VU4dh@RR$M+pRb^Pp=OV{sCm^5|Dv>6K)Em^vJ<%LUEE?&NR>B_as zSFcZ;vtsk^!$(eCymI57Z`Eessx5xiTLS8K1~%*sYCaIud@#7>aA@1nu#OYqU8f?t zPe*j0jqCxU^O3z5qWUgI_g{>eaB0WkOZ!h=J8|*OwFhr++<$)S>DSv&-rauk{`Rx4 zcb>ez^Ze`G7vJu`{Py70w}(&PJbdx-;p^{@-+X`a_WRS9@1DN<@$CJN7jHhkc=zSS z`=2jA{CxHP+v|@%-+cP@_T%@rpMSmk{OkSaAMd~X{`mFR$FILXef|0A+wafcet!P; z>&uTn-+uo2{^R%0-+zDo`S<(pzkmOL;r;)e&VNB*d{~wQ`2{oZNST=0dPQbKKqCZ9 zg@U6{a1#RFLcwPsxO-;hMW7*1JY5_^BreCEKj_!&Ai{dVI$xvbVA+ywCP!xI-TA?) z7yI>dY_^Y&Plk`PYKWG>g9FuicPjrq&|pwdVogkA;0h3lPJX)DzFa3D;NaC~ikuJq z{9SFk+Wg*?O`B~Ol{dRgz<0X&?#RkRSL80gx!@NSZ+~l(_M0bOafL5Ce2lhK_uQ4c zw4}{L_mGwNyW)u(z1Apkl$@C%EhMOZ!RnUVDec^9qtl0fn-|8%ey~c|KkMhu{$$>= z*>5fz{C@H8?N5uWna33O@$QLAUtjqyf;lAx1c8S-NgeFqwf+Gku)+>Y z(aA$ln^Yu8g1EaDVZU@Gc2iS!=6R;W8?W1XDI6G{!_0i1?|i>A5$7Bm89uOI=Nk_S`$Gky+6s{QFoac$ z6^l`e5wljshHKZ44PcBkQ~?4X&Lz_S)O~r?VyvurAff;aznBjb)c(AHefN~K1D5k;ND_u$dkJf0Wj!mayUj6!bw zC4-lHNu~QprTeJ!VeyxtVrs770N;ynCK)61x=1S720(UYJA=U9jwVt^+W{zi{fV{u zw*sf&N8!oaBAypifPB6Lz|`kuGOy-PAhBx`j%t8aoO9H9aQaY;(TN349SEL9c4->` z@g0q!g6Y{ZO$~mPi5k$nXoS&;1%R+l&6EN7R9xlhc%UjCs}GY40M-T`MB(JVR-R2R zaH2a<&{%2)plj!5dJe}z1zwaI51gaBa|_>otPpQ+ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_group.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_group.png deleted file mode 100644 index 4530760bad39d6c857ed2f15d08c2e96e92e6e6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 796 zcmV+%1LOROP)U7S{={Y-RUl(F{73;lv z_~3c?7$QP7$yc;|AYwT-1rYD>)?1z&s>J2>i8!N~@u7kh}kW3OrMu!E4VZs1_ zzGhfIcIF3V|1dqQt|6b-NAt4_bou1fgfi0|} z)zzP)Oi7(F@k zfQgE;z`f+gK-YW3r`q6Na%1q-5JIYqU@(Y)-;WiK4>@^7Ca`G#8whJ`nb}eRug?cb zlCb9S!n?7%A#@UzeA2JwYZzN}45F9Vxfzbm4 zz5Q6$@aVoD4!cN1)P-!0ERRe^g1vs7g4~d*FoiYh+Ati4*&wkqTqBk;+LW$3Z&;` z;ms!wVF3KjiBx%GkxxHc3j+O9W&nhOUW7FjiU@5t&^*v~y-L)Z!jXKSYzH_+RUPF| aDD(%1fh}_Q#_Q4m00005OI=i@xbQB~e2 ziT@U^-;WlGYMY2|6VsgjsIN@aI%=`j0^qtX zk%c=?{b4JzbMwmT?pc6~x4l*?a-uPvEPa&^`0I(s;7boHN_DE3rp#O_%IDB~cigj9 zwtu^JLH9J^T;Ie;B64j>rlf8(=X0SyOKmF2hUIlA%8mOuejgZPO=A_As!}fYJs+}G zR_*%o zkFpaOYl%$6!R}kQj*c}(~*gU|C=BRm?;k#Jq|L716dqaTE*f>DS}h>D^LpD#(1 z%ZD63eUn0DP{25XI*J!WZ$0pW=vid#qD=W5CMJDE3?jnrqt^kju>lnnr8Zqj5XSgH z_-y(M`5-(sl=WzCm`Bo?YEUa2_+|zBceG%{U{r9_@@ZoYe?QLQ7ot$p<784#vd%cB4oYN=-E!ceewfj#% z+u>T7Bue_rD^x{`fN=pQnShfX%79qerW4QIzXIBi)X5}K(ihZJwW=Bb1Bioh8JXc; zWQ{~7KaH}+Q!)1sK>N{^GMC8k1uGR*TZF70hn?2p5kq010{-A)j12a`98Op{H($Ev z!b=wb2ml@&tCuBN7)p6qQLC0Bo9xG!lZLkAGAf%d!5TG?>hD2ONd$6Hxiaod8<+Rj z%K*S09Q2EX(|j}KXs z6Vs){B+=;$h82J15@hr~jG3b-+j1U}=t2+?0AOB88CD&<3jLdbfsdb{21`*GP?a%f zs*^oBvwDjMcE6xFM49AwuXgWs=2z#=EdMIoGI9M-6Vwtv^th1+u$A9@lIZ>P^x7-O zHs^m0>ZW`?IWRN3FCyC``FVnGCp^S7n96;Rq3dh`<;_EEenY=1(aTa~;2x%f7QMJK|)= f-?P8H^Z)7x9G@_?jj-gV00000NkvXXu0mjf%+!0Q diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_import.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_import.png deleted file mode 100644 index 4e115ab65a13da06785dc40fb75f069b270f68de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 649 zcmV;40(Sk0P)lGCIb5*BxF!*5kwF{MF>G51cmK_pheLlEO1xb z2!bRqq+p6cHxVUdrWh`&O_H=IDx5JLHOc($J*R~_&O{5t7cTej-1ofqz2`cr%0}S# z3>L1b(qUEVMFcBgM6gz{q8KYB&0>vWMc#C^???mqqI#h%y}9atvUWb4*jrR!MXCU@ zpYCJCV5}h$Lu8}1-kRdxm6k4|$i_+tmOVJV>)g7sFDx1&W7j;eRsiUIm0K6Vv8Jso zl@gd00)SKdYj`v?$;sB*;#y{8lD6ix`PAHExq`?FqKfZ9W;loExjY`p;ke+g1Z78a zph|@gJL}>sMSopE0pD{tk*+2?n&-%!%T(O!E-E;lt|=av_%??zQm#M+d>8u1@*L_s zi;V|79m@l7pskgeFoBl}@wOzXPbGPf3b7Y^)eU0!kr7mtqfOP!?rUbIp&qZ&8I30g*I+7U!_yw?wi=!8G$EZnOjV#FqT{NXDEYzf%{Ma$_UBle3G}zSN!OaJ&2@7uwv@w6D_FNXs+*0c_PW>=@L4s~;sdWZX qf+#9RP(xJylZEO^^Hl0ZaefTzlzPBv(FpPY0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipuD z6BRYSeYF1o00PHJL_t(I%cYY|Y*b|whM&1}r_)Y5Hmy_IhBj*GK$}RX4VA%a0$92b z0xWRjQjr*c2;nEOE2F3hYl$Sf(1kHk6A8o+6JpeAg#wLGv0BCo)R1XQ+nLS}-09r! zoX>?}iaU)bImuZ)@0*K`UdM8r0n5kC#j3?W&P^y5O6B$cS;7|2rhsXZEthFBUG~! zlN-aS?nPvg(o%{Ee>ZbCH^R+@f7svE*GSn2?)=#1Dl7UzZ9^OgqTVdH%Veg{(zxyb zPd)N10AGyGv1e0r1+b7W{p~DynUNis zP%|MHx>iRh`+{qY9EYxNYqaI6xBGBUdzj*%r-`+1#du5Ho&Sv)(@DPNc~1TGDdFI4ie8q2S0dTD zosnxBR)Tc&^BeZn!Fn>^3=oMvOfEA^YwscI*FM9$C*NdAr`gceM_Xf@ZzoPM`pXaG z=liMr#i&xee2{Q;BezRUq~o7($=kx$;|q-aevzKe1mXyZ)L^+Y&Ldg&9JDI(BvK2jK9)2dr7ujm4*u#GGj$+IO62T?aE6 zk2TFT+?XvQqGSp=Cer5^PmeG(_z}m>K1X#hOn}e|VBS3RYFq1>iSr~XmpyVi-AFol)*i{86pwajJx1Q&rwZ>YT0~lj) zU6(?)kA*}(h2>3z>Q0dU8YSM{p2}NoP-~sLt+fOK0Yn7*s|U{vQFh=AGs#Z`l}qWi zos@+4hSmXAENHDU#$adr33@R?_2^?f^lV4Ipv5XSw_;{nWGnvqv?JE_3L1w&rS=@%s_i*QGneP2SxcMfnoyi2i zhJe&iCv)RbDvn&hoopu%6tZ(QO!vNL$E6kuDi7v*^ZphON1tNnWB6(p6N4>muL$DI zRFi%er|R-O0;N@J`qxb`_~s#p&t9isq?bfT9|K)8Bzgv@IDc!MctgPOmucMCOX`j{ zQC!?WYA{K|mD?1Q*Q2%0t$I@nvCmW7dC*4Vp*l+U9i#c$BZ|s)ZyJu(00GqFu2Hs7 z7C=Nq%Tk)GG3NKm$N$8}m_@(BKr00000NkvXX Hu0mjf=>Z|I diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_insrow.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_insrow.png deleted file mode 100644 index 05328711810a5b1fb09590b0e13731256435e4d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFYV@)6&iW!T&SHHqX8+017dd1o;IsI6S+N2IRPTx;Tb#Tu)ADV03eIWMpGgV`EE8 zPF8UCWISTf(5c~YRYKEYD)UpxgHltbOp%C{X<#y7i(y&DwvIcG???*UjM#$Pk`fHA XZX8i5EdLe*O=R$N^>bP0l+XkKOJFo0 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_key.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_key.png deleted file mode 100644 index b6c71c7037720e6f3d8d2737237558079796eac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmV-H0lxl;P)Px#`$kkl#zfU=%<{e|DC08zn_OL@+YDMvMrPO4uUk#oqjK$V8+3Xd^sB!rMQ>PM<`#1r{nK^DaJxaOEk8n_(NL1*c1{=Etp z45;C8MHPn*2Ftzq@h^rnaj2mv(dPk!LJ%w0$K`+%e9Xz>K*z%LW83%C+2;%&E6h3R zJRi?gsc=pUbCNIr&C8fmToi?wzLU{^w>_ju4|8g4WnfL)$gRJwyj$UFF%xUw5xne; T2*}C<00000NkvXXu0mjfRj-Ov diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_lastpage.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_lastpage.png deleted file mode 100644 index 03102d9b66a44aa7624dadf5b7d27e684976da1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmZvZYe-W86vuC*5#pi#0Q9f|9m`YzaD)(j4uT-!pSb~MwzPfRaN&Wf0G%Pg+AoYGWP-`d*MKQzi50XfWB0e^9|qN{=*@7%ewN9xuC?Qz&2i}HEJ33gsYt`t?8ogDkw?cXgWI%LA ztImk*8sS|NqBp^Mlht6^Gr@ai3j!ni);$}tZ?oCZGuzXWWUtXT+{nU3#sbb>0oQI} z6A1_8A5eYB)FDd;Xb#b%tj^GQ=n#2$2nO#t|8Q;?HxcACUxJEa#W``znJ@-pLMBuMwUo@(RuaL0F%$5QiWjn9RQ}=LDSgcbMFGF*FmblupyL zzc%+VTOMON3v-HefNn=AuN5q=@0s2LWUpJtFf$v1Q%v$T(9N_~|kKCb}>X9vT@! I4^Ddj7p|<$Qvd(} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_minus.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_minus.png deleted file mode 100644 index c0575ca890c42fed8e08a5b60567cec81f776100..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf67>k44ofy`glX(f`FeQ1ryD~|R@d8Acm>K6F|g;G3S978nDZ=Gn! z)nLHm8oy-v%Uk!B28a7Uef1=^f6Ri>%tL31w6F$?!bbP> zaNb7F8XmzloQG?~o#d}^uUM~t<^DVwZg*jq*i{DK)i+nArZQBn`pq)2j=v|@u5vEW OJ_b)$KbLh*2~7YAz(&&m diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_more.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_more.png deleted file mode 100644 index 681f862beb8481529dd09ed734d206d5a3511187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6yggkULp07Go#4oIz<`4#-Mj9M zb#W&@~$kZsdX+Ko5oG4dc_f%-7 f3)A%3e^}$LPUPdc#&w|?Xe@)LtDnm{r-UW|z^E$2 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_move.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_move.png deleted file mode 100644 index b8b5f4af53e214e0b84ca8ac08d75768333b674c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstUx|vage(c z!@6@aFM*tO0X`wFKADBKP3BJJyJNeK0vTwiYVoa-1=s)o|9|7rhcDlMuQ~oAsO9k1 zv#*vNehE}*US(+0XcoI5)OVVzN56w(yH)biD4(e=-jkg-oOlt^b|k*{L`>JQUFToL z_Z$mtJND_@?{z0$M0TCH{q$pe|LJ?rKW#Yqa_gBFuRnfInS3s5`o*=!U**rfQnRnD zcIlmlgH;VH@3tJSYgzN4^H@{I`bRyRp8OIH{0?+EPf3tpFoVE`zZU`?a8^7y^@C-( zf(lT))6>Ni-;r)xDh@H%(hL!GF{LpG=>wbJ@#< SXgdKN#o+1c=d#Wzp$PyvNzRP` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_newdb.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_newdb.png deleted file mode 100644 index 22d1fe0c379321c9f2858fd6fd8ed8f527b65f06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcmV;50(Jd~P)#33Le6r>i!$szElLuflFv9^VZN@+C3P)$r?W6Hhvd`>S!YH;vu_rUi% z-*+y@B8mSgxBU?Wfk$$bBEi_$m|$b7p4d zNvN|!DqEsru_kDPthe#v>l4vv$*@%L2He0*&+gCOlJpL z>z2r}EEr>2J=?ZBI|u=xKx+-habS#rQVMIOH~92p89(ziG=6O#n7ws>;^p0?$z1@Y z6qHgh#mb+JjT8375I(^08Oj?8mFhHkBZ2Ih@@@X z-W!cZp|wV^_8gV2Weg9TL0{rDK77q%{#_1V)~i!ir*qC^GF@8hV_IubO0CVVPu&J^ k6+jn&I)I0Z4>ret1M;h&LPtn0^8f$<07*qoM6N<$g62~ojsO4v diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_newtbl.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_newtbl.png deleted file mode 100644 index 7402ad88c49380624371617700060e098ef0178e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlK0f>DBVo5mEZgMkl2@(ry6`ydx81Dw414};xz3#) ze|Lh4V8H?RJ1#*iy!R4kxiYZ)XK4_c(iUlz5oCK diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_nextpage.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_nextpage.png deleted file mode 100644 index 6169d5386ea64f38824ae8c4f8cfb2992254b90d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373 zcmV-*0gC>KP)#}=6tE)eyHJqs^fsG>Vd1`fve+(ujGfY=!&uA zkhSNMx9FL>>6yFgp~38sKqNJ&;v*Psr zxXAaY00017Nkl7$cIPnGs7JEJSX&-O6m zc4b1W#ntXwyP&Hz-0Z3|Qotot3bevKm*KoL=aE=Z;sjUj za0koar$9=LNiCsc&$=h3doj` ziWo*bm|bPfd4#UII@i?snywn1=ClBVMi-~LCX1%e)y_0cR(dxQwbOCGNz@H1FJ z^0E$*Y$T!)HdHOPET_ToH0z~3e8dBnGcWO?Q^OI7YQU|d%9eabD$ZDkj;cs8BbAV? zpq7x^0F%_)0!(qx5m{JJQk@YuQt-4u&>LV%4LhsMoIwRYC@0IP6RxAssT54tt~Iq*W-bfS4li9v|(G zi2}{~`6w;QvP$#*80+x@F3S4+d1*)b2g4K_JB?ufC^{%%W@kQq^`Q8VGvT;^D^ zaN%a!*gUXg_-Nh{*D~!WDW^$%@^`f{MKtfEr+ijTTR< zkeN%uo>{GWm?zc^G(vW+|{XJ>f{WrV`=6mQH=|)o*;8UG$G_{!dg05LXPp%p=?8vg8 zY_j*>dGH||1giwW3vZF=Fq+YmaZ72NU?2)Hy2H=lwT}oq1 zn4-F-P}GWUin@6lzW+c`9V|uNSVU3Mc8Yr3*t~G40mgpOJUddq<<0J`Z*_0o)V&S< zZSLN&dF9S`R_)rdYVXc9@9kQ%Z}-~$yVo81aAWVm%}08+_V?~Q+Q0Y0`N7XW8@hP$ z!lg@>U@pwcra&nuvU}?rdv~mX=`a_{7WEzCFlNuT)i4Z}fco#hyW!xz4Lu)h$`(4@ zvm;xpzjx2T;e8+X?Sn;+4IDf^aNxwzo|8upocg5q^r`+cgC~a0ojN}>SU8`CNl#v} z8CWfI>>n(TJf4Neip+6ZIZ9Q*fCEjT+Q@__s?XFOIqRb8pMROFnEK^w8n2)Ev+u%M zZ({ni?v|JOnwS42etY|>e(Ndu(B)s!1CO1Jd?y;yL&s(g%Cn}-y*9}|_ZnbUEi79; zt@n>#uO8oc_SjE1ZwP_$x4%*@&9K(i^prE)>Q`0aH@RW^xwaQyX?#$g$oGZbe&q7k zW5fsa^8Nk0rkt)zUk6I<`u25oS1Oi_cl|iw_gmic*FPPnd|!TS?A~uqeiU7AUs6;3 LoY0Zy7QOyAFR*D5 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_pdfdoc.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_pdfdoc.png deleted file mode 100644 index f5759ea9c09f648515b4041937158e7368ca43ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlt<750nCeBa%W81~Pe8LU0N{*Gv&U5M#=esZ*!UoH_H9C?60V5EJj|9*hm{ZOBWIjN6QW1r-uJ*g>sQd|BsGvR4v(bLANXK}&L+8dued-l9E z_xbbZFR~I|E|~rD<;zzYv9DgedcAo5>({T}l;ym6^XBcG>2FsrfBW|ByRyu8^(F6j zYPoF-0Uc2n`{+*vcfBtgy@|TYvzkK=f z^}?C2U%!64b>rK&Z{M$7`F`it_q(^hzkKoi^QZ6MzyG**=f~40ATPXp{`1}2pPxSi zz4GhVFNk0GrtB04282{ekY6wZBa@(vtb(zLnO%K-`^1S8XYV}!;q%wOfBzXh%IO2D zI_T-*7$R{wIUyk-@p%iAnHrlwg1BHmV{?FA2gmXqyVrJ4-#az0N6g-%Wumd#g=5Ai zu147(JMP@Tt0R#4PT`1hums{LX6A`5aOR_Q(o-fl|zJggS;n_sK{?5+6 zzAmng4koUGk6hMGG6KA84vdb9c_$?-CNN|rJ`kAP@Y(fdBhwn0IRyvKaWTY%8t{G( Req9fWdrwzCmvv4FO#rJ>G7eEcNHZMNv|IbJ-M`( zKwWL~opzjJe^WpCmV9E;(0&ut2;4va_(#>M8)>9$R5viQnf(Nkh~VM$y>J(jqb$cj z+nL1Nm|mV)Gm|9MnHf*7Ja4OEAQz__^LRKOLEwqpiGV^^A*T=#&inGm-62Xs;dnSp zKj&H9T*boh2i)W+(n27l!C)>fq|L%VB1i ziC4p;NwV_}ZjW7$LRW#(_bKF#hp=!IqNO26Z*w2+LEwx{PVnZ&Sn}T;mtzb$;qA*nT@@+ zV5uQ@iXDTPoTbV#FRr~z04|PPh`wXTNoCm9*tG&?e3+fYl>K6+&3|Cc$KOpL`ER+_ dcRl5U#9zn6ZO}GF;hQy4jgox#lSA|KuqCqKuCL{#oSiWca~;uYCh|k Z8J0V-vj4pHFa&4>gQu&X%Q~loCIBG_Kn(x@ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_prevpage.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_prevpage.png deleted file mode 100644 index 0a3b85d0241fa9d4a9253dd7e9264d35a593f370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 369 zcmV-%0gnEOP)po7D~NSjoBGo#3ydeL4ej! ziP>eD;bNEJ5;L?DIkyx*xfMsf7gE3(T*ez^$trTsF<- z-Cvd5VwKuvnA>NX+-aNKYn|Y3pWShw;Bleea-rXKq~mv_;CiOvdZy)kso{aEfNIBZU6uP5Oh*bQvd{qhmM<`prWLyth3_u{X8hh&afVIl+!L;jBWx zi#5B5HM)j0xPvp%mNv|gGs}xI%8D||i!#ZIGRTNAz?`Sq5AHu`tGp$@4Nf&h5PZl`|-T{^1l1@#{Bc3{Pn5)^{)K&&iwb) z{P^De_`&}C?*9Dn{`~R(|Nj5~|EI)kmjD0&8FW%kQvd>chmn?;o1CM+%gxW!*xcpo z?e6aH@bZL^CCC5(0I*3!K~xyiV_<*+RuvUi1|-0$l9GZf!m5%K8k?!Yfy56CQ&GuM z|KCt?XXjeUJXQlWASzd?>L(H{I-9!YWT5Wt4@CA>*i=P+^k~f(Ig@l=r_y8&C9P4O3%$xuK002ovPDHLk FV1lgySa$#b diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_print.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_print.png deleted file mode 100644 index 830defcd98f3386ac9376a164d2f185e690c6c11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 702 zcmV;v0zv(WP)1wkoIB$T4Fl0luuT+*WLD4=DG@FrgaUJ6s|d1a zr62@t3x*(CBrW>cL@k0KQfMXAuBf1B71F|TG7-y}YkEg#n)`cNU!F~8n@%g?C?E(mj1Wa()8c};^XmHHA^wuA2OPil+J88dODHAOZDXLc z;`8YJ5_4Z_KR-=QZhmp=gjesV^)#(jn9zzZix$&MnokSD$0F?5x{1C6+t|^XN?X}Y z57u`!01QaoR3dBZ+mD}Y&jeiP+Ja8#Qw;(6d_E0E83UFEOAA^FmKHuQ2ybUXni3kZ zBpw(TNN)h-^ZD~YQ6OmmOB4!7Xu%SpDXB>%H3o$eNqU}F?C zo}R|GZ5+pGShj7Osi`S)xf}ql>xvbIA%#K#0LO9gJdc%?m4<*!CPS%ITFVy-1*{+l zn4O&kpjxdGh9SQ1Hw1)XNTpI)%a=-}-++1{l}a%-HU>bgR-;m>u)MsC>${1tk7dYGG=BaUM%&-3n$kB@f+ zL9i!%WSC1Q_EYu20I@Mdks*j8qBy3j^B~WP+ZY}`gE8g<@OZ;-Ja^}9WND@NW37(A kcM%~Bp(k!WGI=4NI~%IwDr`!TnN13qkXk}2iH?Ka5JDNn+ErSY0YG4`C#MG$L^>nr+>Iy|>)_T%oYEPQ zr)Pc7V|i7Y4r~UODvvvJx3$f-#XW9ujC?Lbljr8&M|3hmYoj|yBvvele+*9bwY1rm z=-;=!9?lXc!mq*rfD?zR&>vg`1Assz1`wfy0iNnIaFI1Q?r(16mgx6vtux-uy~V3Z*G5F55#pBc1-mAOt~{6rX@EI^hm&!b zCcrAzInY?^!iG`?00?~G*t=stmX?<=8GT8%C4A!-Cx-w)NDU%Fi3#``Dlr^QfC&wZ z&HT)bU}tPR3y*?Z9JVcdkxNrUe{xc50D$Q*FdR)}$$?NTZ?Es?Q*`#~i=ubX>7S+K zs!dPc#EFRL>2#b}U9}UlUzYRst~Kdmmnc+rggx8Jv5?GQr@Iuavv>MGVQSSHEPBd{ pf?a(d>$%eFg;Wqy!C32e{ta2lsq3@g#vK3v002ovPDHLkV1iFWC?o&? diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_relations.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_relations.png deleted file mode 100644 index 0ef2521dc25888bd1b5dc1b42a4654da28176109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmUzPnffIy#(@k0(?ST zfiw`zoO$N||NrkdJ6!;B7)yfuf*Bm1-ADs+>^xl@LpWqv4{qc=puodmp!}6V%x#M8 z_Y3M)#UXrW7`HO+OG^3ZV*GuosBX6G#T()mBd?uIa{K(|bjPvk1N>3_eBVvP)r>%v Nc)I$ztaD0e0sw47Hc0>g diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_report.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_report.png deleted file mode 100644 index 779ad58efc5776825ef81064a042eceba274a928..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 649 zcmV;40(Sk0P)sm$HQ(N)Ek< zrc#vXMLdW}TWpphCZsGREkUZr{Mg;M&b;luZ0IGA9rnH1`DVU1->eh_0hG(-dw<@) z-1S-xc+D!@wd^?Z=a`M%%phe@J_EnT0QpH7V3 jcG~XA#&PRl)Zh6(yXt(^KFGF}00000NkvXXu0mjfDwr>g diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_routine_add.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_routine_add.png deleted file mode 100644 index 2d144426014084e445312a9bac5449ff97a64ee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 409 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf>Hwb**Z=?j1DQawp`pP!#lSgL z-#l9qh>A-Ji%SdFu3h8g>=+szY@Q_r6tu{cw#rj-Ni=p%GV!T44DQhYN`*y)g!k*l zw7JK2c%}9E=j3G-O;2cCo!GLVsC{Qb`>uqJuGa2dNj-Z~dv~SuudeIgoz=f5ed?Od z#k;0$ygXs!wMm;UP2F;3>b5I$&YwSb;n}W-4<9^w^x)mQHy=NK{Pg+Lj~_q&{rd-W z;XPkpkn4F%g8YIR7#W%F-2e3b*YDr|{>3lb848q`;OXKRB5^r6p@G@e)s-#ffKIN? z*`6cmkIYQXpQbsjm~Qs)(F3E2ZLfn&%$}z_GBFQ3vXbd2&xYEhMGny}M<0Cad?n3z zwD*f^Vpb*3S(DTyDkc>I%T}IxCAFe+v(lT%S1xS}2upWgA#iQ;h7A`UI?qsCup~io z{W;M1%flMIT(9jSO9Uc)K zHh;m~;*!F3>sA++7Oq{pX8ne>$4?v!4G(s5b_9|@6c!PZlb6-e)q3>kk@M%zJ$(4! z(W3|N-o5$w@#Ck@pT2+p{^Q4w-@kwV`SbhVzklgW!rdT?OM?7@85kLvHgEs->laA& z@4tUH>;j#Ea;2Uwjv*44OZy`E8Wea~8NW|;iVX;PSMMz?%;;QGpSvvo)C_*5O%^lF zth&<--{r}>KKObq?Cr9@qEgp8j!FJewUh1lXN+{Hls}{W_PS(TnBMW!^~n<#zSU{} zw5I#P<^u=)Y*Z)l-J0M!Vd?AL#~=MaQOVbJUwtw6^{a0d-2*y+!PC{xWt~$(69ALU BlOX^A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_save.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_save.png deleted file mode 100644 index 4192901a9eb685a3097063d47667163b38520f81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 585 zcmV-P0=E5$P)Uw|7T^lBi&WL_`A$RskiD_@fp71Pjq3RfM2L zN^PvHL_`r{q1Xy`f?{EnA{G|GPQ^mB62$~Bce^{!V!s!#N!(@zc9!>f^VVjsy}1D# z0nP%)fIXlH7y^J+FhVdS$DLoDHXnQabZ711#pe+?xw1UJ0LF>QE&}9Yki{T5tze9F z17@(a0B_}&p2=U5= z=>sF(&Vv9P65uXUc2cg~$wh2II~wkyH)!r8-mY)ZX}9S0b0-3$*#*=gfM5oKb_^KC zR&siM;Sw%ziElr)K(YvmMM8ppqki-14DA?*0a6iv`c8Jo9fXiODHkLs0_Fvfxc%fk zW=61~I%F3)`!Emy#>e-QatkCP0+-`nI5;s0*5oIE2H72{vEUA7q?Dl{pcGIeVcQKA zS#>|P2$PVUlx*7qxj2m^LKp@TQuQlp?_Q7#;q;S+1fqCFzIADe|2fMmAIQ0q#9&4l zZdY(`bz#THOLHrfk{L9AB37@$nt}PL%exYIaY_>4L`f$4pnpFVt^QVOXE zNs2DM46+|RH9d+MTtD-8SAvPXPALNTX|s#3?@BrjnnT(LHFM-h{!bkyQ$yDV7S{g) XA$)F&`iZ4T00000NkvXXu0mjfIGgl~ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_saveimage.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_saveimage.png deleted file mode 100644 index 777fb5d2e6a8418c573972246582c21d2c4984e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 755 zcmVe)^Pp+~01yB`w`9=u(Ho~0 z&q0|Zy>{}2gZl=9K}x9u0000cnYNkw{OYaOaSqCHmHYkvAYHn)ZsML%y6Mn?Rm1M4 zCbIimL%-gdGZROY_IT&jL)x4YKv_2wMMsgSixr3VuIl&xwpoodZKLe>9X|MwKbLly z@9mW{08m0kQ6yEY>2=p_>};yqiMnYtv8~_l+pdQ83=1I;07}RxQW8y8wNsO(vNNsJ zxzT2%smQIeNFo9Nln_CYl7W3j+smTUwfx(8yZemmMmgIvlXtBAH}d|cf5_39J9FWB zT>bgZGbKb&6v=F7!JU=6<_61l#uG1|c+xA2v%dWPU+)_++yuBPsf8gS*uy8tE)TNP^?wUn|FBDi_)Ep5))oIO#kS?(pBVA^IE&o0V2 z1UkY@NmW(0wrgcXNO*bi9DvTz4L^KUm{e2mUH(gvXxc2dSs)?^X1ZCKKmdStIIqc} zY8#!Ri;%QZN+O4dtZAm|x={|gX;Yrg9Xs$WDG3lp>Fmkfnp~qGh?EV=o(rGc zc5iE2*(=lK&%R!Iu5ROK1ORQ0xsI-E$A>rGws+=HNnvgLk2jzGKw)59)ygxcj-Lkr zfNySo7mq#2f!UFlj-4>yTcBWLvS9zN#!QbgB`G2R0KijcuYCLXBg5zC`|}3n1DZUQ la+ac%)7bB~m#l70{SP&gLHlD?H{SpN002ovPDHLkV1hOfWCQ>J diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sbrowse.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sbrowse.png deleted file mode 100644 index 64dbe2c57593f9a76272cde2fa4605be2ad19c1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 536 zcmV+z0_XjSP)0v@6o#Ms(bihKP?8p`xG5sm`UMgqx=?W8O3{L#xD%J| zU5PIGLj<8Hv=DS>7eXzDieN#IV9`ZDZ4$JpiXk)S92YmKwLlZmcy1%YqKpX{JE)}V)G`Un7>r;@=*FJ6Hz4j|Gg*b$#ubV_s5+Pap1BnAr zU~2CUj6A?AX2w7S7fuveTy1gwSk@NL-ZUv6+|B543_z{kW@ISNnWzaZ3Ii5bTL5Vc z18@pU@4ltL$>L!8atXlu#Dfsd9VzhqZHu$hnSzCClPl$7n%C-WqTbaq56qa}zl+ab ze=#{e%*QW3(!X$cVvt(B-Pa4Mrny(J<@M0000d;z5Ray85}Sb4q9e0L7Rr7XSbN diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_search.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_search.png deleted file mode 100644 index b6ac5b917973f130d6f83528cc8949b2b22e8792..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 578 zcmV-I0=@l-P)+D)<%fwP*<~*^5A#M`!j4?bpF_N+U1dfQHQfJq)eUeT}ao2VSzAJzL z5eXJM5k7xgsTiWsb7O@~5*GlNZFy(X7IQlsM26AnGTL26s4Wg;Q^=)*qS93Em%s%8 zA};MtIrymn`V2j@pE9fbUMBqVd%Eum2 z8-kSpWChj&EPtw4fCW&75Su`2YDUJwcb(PASg(QaAdC!1>#y+wLo{<%#rYSgRUdTD-fU#oSNI#JrXFdf!ih%h`Q7>IEOLcm zXst4vR`?gU&JQPu)U+2Q$HVUO)eEeKi$6 z_$>n%K#;-ooWRsm_C%Wyt8lPb zDqyoyjh)SnC>2G`vIJ66Rwy0wTRym?mlD{j5`(GNhy=rkMI4Mxe#F$LSxBM8a)F}3 z%on$-c~d2b4T@4jYv9<9K5PivICCqG^W zb|E|Q3h$DS=adqAk6d{>u}rWUL%j!sQi_4-maQF)+uJZb{t~I=qq*bPGqp=A{EfrC zPo(F$ote~&`{T(W)WupLr59bX!oRq2vL#654cLKDhg-;9ICXozXH5bCxO%kKW~Tbn fcXHV^Cs>UixQ94!k2mpS`ZB{5JE)w zFtCT{#h0G)C8QUhQil(Py%^>4f?Z5}Qo%As{i8NFmbshT+J5K!{yjuvOX{J{ zc`#&|FuCN!$K{1EF||6{h6WP?4@Wx8Ecx9@^EqQx!EwBCzeXe+flvvVnHf-_A|_*~ z*4N;};wToCl}$lZ|NPF#suloPa?{?tgT_M#j^Mp#3{mkN5fO#`)P3AO+5vyehwXp| zQ|<|zIeY<{bT$g6CIHX^05Lb087%l5n8#Ld3&BVb{;)5x8<(;U5ep+6`i3t-1$CA> z2&U$Q3xdg%nU;;Ukb=03;oj*7Db75$IsgE6rwuOuDr)xELNJ+<2nb;jLMR@D(22kL zuCjy%Dg+af30yAUT4ioVF8tAL*x$Ax>Yr7n zQJP&2Rm7lS!oK{Rl*y7+Xr%@v`f|LS8-rl#PbP54xbD{U@`UlMxe=3V!yrkpJ8e)I z092%Fb!aeO!tm@11VTHT#Oz2pq?=E!T8XLGR9KKxZ)wCvK!MAzK$Q~3`DPUB%kXM$ z2-6GmVUpZB)A?yIMF0S9^jx+Irf$|zQA7246zGcp71;2t!#OjK;7-I%lG}eZ?-Brj zE8Q0>1d~l9o{1osJ;dC{k_Kiv7ykTA{}Mj{aEgBcy1m)-00000NkvXXu0mjf)GSD^ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_spatial.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_spatial.png deleted file mode 100644 index 5e6c8c727b9bdfa4e48141953e31a58d550a7208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 379 zcmV->0fhdEP)sftFu6}wY9XlP`SIiyT4$+z`wu7aK_Al%*>h0%*@Qs&&<`>*4f|M z+T`Tn;o;-sgw;;@A>cf`uO?(|Nm_;(3k)K00DGTPE!Ct=GbNc005s! zL_t&-83n>OG_}c5)a0U|NmLuz{CVXkYGvoIRgM7l!(lTgvhn2L(RXT zB*gmL7+PO)?8y2MN-MdvnknedW_%m_X}`}Dk@r&*`>*%UP5wNX=c3UMc`XZHq(e{!(~CBkk|FRz&z<1ZK{{{3J^9g+kPH*!2JdQ Z;2%kCJYaZ^uR{O;002ovPDHLkV1ld!#lQdn diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sql.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sql.png deleted file mode 100644 index a4d3f02719e6caffe9de52c34c7a17925be945eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 723 zcmV;^0xbQBP)y2p@X^fa`1TSzfGh=43jZ90R5%OPYQG{r!N} ziUcqQv;l*{D2RXx9iINz;>G*+<`H1+OkOdxhn_(pXe}5GIw*_=gJ29GhV4$l?MMG~ zfR#hQTe~n*PigN99zehZg_cqF1|bnm6bNa+Tfg}GFBkTXGO)$MY@X4#g3@4=LIWC5 z;~6C&0=_5+wg>$mTGJWXao>O$4Bc5&>CC_^!fu2bQmAN7j`;RpvNI0 z;{_B-#zQD7DKvWpzOdWtH!sT}5NuIRh$I?}R-iP98es}zR3K1IG&`*!!4{hbPuCY$ z*G_tCZ!LW}&sIlxw;kB)2Kp9)2uca15>(1iuR^mkz+1b003^ZM?}01NU%jO@Oz0JY z3qs)()<=AZL=mR)oS!evveg_Atlc>Rocrp>@6J|kT>a*Me;^3BAXq=jfbR?=jN=BJA@WC`r-bqUUWI0T~i4<0{z zJ@@$8>jmJ%xW5>8UM{6+xtvn3RcO?!ynM6qH}K>D_zZiBJ1jm&Ym5K@002ovPDHLk FV1krSN00yj diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sqldoc.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sqldoc.png deleted file mode 100644 index 5051757e80e819f00f100f0da5a54727dbdf4351..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFTzHPnrA1|RF|*pu)O8)vY|^DinVpZ_TG9Mw j(vsg3b{_r_C%sqvu{K{)=IkSWAe%j1{an^LB{Ts5Rh2@| diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sqlhelp.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_sqlhelp.png deleted file mode 100644 index 08a13f21d2b616c8dcfcdbce718ad0f58ac255f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 590 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlt<750nCeWy_ZJ_Vz;9$mGo;%SynXxjqeqXPJbCi$*)xb;uU@@+{rdHrH*em) zef$3X`wt&JeEj$k=&;Y9KY#i1G}pNcD=d7@S>{ps%O#XJ_2M`@TqftootV+W;OYB8MAqk|iYkNsJoBqJf2>l` zcyPS`pIK2^|A*7w^6l<^R#VO_d>n7y;*fjD^N6^VeL%N*pV4AaoO`Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipuD z6Ba9PU)o;)00JaQL_t(I%cYY|NR&|&hM(`pw9<`?BbBrfA){stYZ!l4H9{*RgrH~> z(WZ3OqFF^P1Q#t+sEq`H6c~xEVkjcD!3Y}7RZ_dL`9aN59R2ROx5YQijIE3=Twcz( z-1ofqz2{iQ82)Fu0M9?J-#3O^Vswkv8quJ%MnogpphQ<~L6kwX{ycoWE#d-bV}=GI z4S|2D{NTlMsH{M=4ggI3c!tsnB??a~Jn_;o8ZY`>MWGRCr1% z9*AfFCT6nxBIrNc$Zj=(DiHu&?G5sBHp7*k=5lT_nPDJWiSrx9y$U?hXk&04nEaH* zaco{CvsgCRrAt%uSulng7ut^3m($0tzA_rQi&IDqT;7z+nD9}2KmSfR$Mr@wv3S9IYit-%mLUBv@qICZ?9mDO!p zn-B8y*JgPZRtvvbO3#r>&k*k$XXNb->YQ4DV(Aym?8Axg9lN3rdrI(>AWGwjMv0=3 z=^?o=M|Y@~>BTV)SS~YPKLCtc`yJ=#;L#D_HqZbRfU)G`bo>u+b1n(W>kNhf0000< KMNUMnLSTZ3MI_|_ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tblanalyse.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tblanalyse.png deleted file mode 100644 index 604f1d5f15f4e941eb8fc0c942f5e2120743f821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF{>z3kn)u8AWJ=6{an^LB{Ts5Tf#Ia diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tblexport.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_tblexport.png deleted file mode 100644 index 367c11562fdc6ab6c4fc61aa9dd4453f85c68a2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 617 zcmV-v0+#)WP)3N<~4fzd%Ao4|=hl6jKotZ<3>U61-UIp?b4N zuZotU*g)_PP^!gHFDhQt)*_19v`CGLA#Z2aLz0(71S?%wcD}o_-}&zBOvqZxdWLi7 z@#?6xnvDahbk7&%rjk;XidxPA~;fDKB$2YYcWKU)RNVuIOqg^Dut~yQ-cjH9D5yozh zl6x^se>zRnb$PR}FzFbr5#;aZ|EXZ>?twN1Gnb1g#~8!R)t5Y9EOU5gibt`-@rUw`-pz(9N=6#RmlGCIb5*BxF!*5kwF{MF>G51cmK_pheLlEO1xb z2!bRqq+p6cHxVUdrWh`&O_H=IDx5JLHOc($J*R~_&O{5t7cTej-1ofqz2`cr%0}S# z3>L1b(qUEVMFcBgM6gz{q8KYB&0>vWMc#C^???mqqI#h%y}9atvUWb4*jrR!MXCU@ zpYCJCV5}h$Lu8}1-kRdxm6k4|$i_+tmOVJV>)g7sFDx1&W7j;eRsiUIm0K6Vv8Jso zl@gd00)SKdYj`v?$;sB*;#y{8lD6ix`PAHExq`?FqKfZ9W;loExjY`p;ke+g1Z78a zph|@gJL}>sMSopE0pD{tk*+2?n&-%!%T(O!E-E;lt|=av_%??zQm#M+d>8u1@*L_s zi;V|79m@l7pskgeFoBl}@wOzXPbGPf3b7Y^)eU0!kr7mtqfOP!?rUbIp&qZ&82ugF%!OV+)!Pm0;n3{5y&f22Jef>x`2BuF zqfs!%Mkh$6QrC${==b{&MG?VZaE^!|%QBkHCWvVJP{5;SpEYLouPTfMLZOh&Fbr_c zp(qL%V_=M-P$=|>X!Sq9@>)&vc^s<6T+oGUa5_!Y>vfb$B~C=__w3t5w3<*;!D0C@0pNAtPu>iN?$zU~dt(k+-4$B;OTA%|{?yGJcr#Kk+B zZ*oGNp8D0f)wSS|Z1B1y6e~L3*SqV_?_Iui6hJafQZGzR;M<;wmTp0|3-G!mY<|#D zsdv|3+z;Fwb!w?+5G)HYh8zx2fY&Wyv!bKC+sWk@W=EOAi_7cCTp2tt%7J}NX63Q<%7Y8o}>F-e3;ViGg=F>@d1xCn-5 zXVcH-Y(Bpa9QX>Q6pL|2uYQN;enaRq1Vt;Wyw^gNEL-~Sn9viQOSYalx!4zP1MbL` zYNY&4GZWh)u?!-bLFfsD5XhoKFf)ifa2?;89MaQuJD0YedAtyCa$Ob5oBhko)HOv? zs{skp2IZlo2S|jGMu;p{??vYNyQYnrruEBOPv><2Wxs6KlQm6xdJRfC2rUlA%J~;i z(m{Eng#KNUo7*VnpI3R4!@mRDHGt5a{Wem$3X}sv2N470{GoI}1&Bxr&;(^!D<)?`Fx&espLdklylRpv5x#to|EQ_S1V9$%grrgmHw-0t&sVnYo7p zj9)zwRMxkAzjD`4&)*pmz~t?tpIg&YT`^~T#gaM$vpxXjAqO*z-uj1vSzD;8-@K=0 z@2|K2v&6S_cbwYM_iV5;^}%w(w!5)xpNW}I7ABN6b@|$z?E9`x89dh=t6sjWwsB)4xm=D%Px{bAFk8+o8~A$5x?j%! ue714c4&p)J6E`Uy-rI7noLlw_|A#kjgFtQr$x|x;0000 zp`@OorJuF8vA@E*H)|QVyR^Q+x`>K|ij0S|wy%AFd5MdLa&&Hqi-x+rwwRigp`)Fs ztE8!{rnb4VyuZ0OYZ*FjB20TRQ;aBAk1be(L|uqVW{yv2fLn2MZE}}je41*3t6_(U zgNM0bhq_>hiiL=ZhKssljJ#!yx@3>LYLC2UnVXiKpqa7Lkg?X1vbC;M1%?vyx-0000vbW%=J00amK z6ciLAJUl!+etv$4jGLRAoZsKy=;-L`>gw|I^Yioc^z`)f_xJbv`}_R-{r&y^{{H^{ z{sR!e{Qv*}u}MThR2b7^U?2rZMQ{U2Mp;ioF8-rv7C)70dz}P@`B-2@iOp}cTSr{ZdIY73^ zxM`~H8|rH#fMh$roTVH;0|1Mu9!ML$;Wz*Q002ovPDHLkV1n!8 BHj@AV diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_triggers.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_triggers.png deleted file mode 100644 index 84a89ef4ce7d4474d830ab386cc9cf1026d01ed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 494 zcmVp`@OorJuF8vA@E* zj*^VHyR^Q+x`>K|ij0S|wy%AFd5MdLa&&Hqi-x+rwwRigp`)FstE8!{rnb4VyuZ0| zb8Ux-gNTZSh>C`po0grRnXgwwA^Yioc^z`)f z_xJbv`}_R-{r&y^{{H^{{;4}V3IG5AkV!;AR2b7^U?2sE+i(L(Mk#Y$VP0lF5j`6< zcaR8^w!NLLtdg9&le3GfyA4={hJvMuyRxRWs=EyrST75|k-M=V8-th)C)6}{D+eof zB-2?14BhqlSr|mkIY72ZnyD+g8(1i4n5(#fM3}T39NnemWo+&2?d{#nfhr_Sb%c1B kc!hPLDv*FE8lPAI0D+4VgO2ue2><{907*qoM6N<$g8EkkYXATM diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_undo.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_undo.png deleted file mode 100644 index 981c6b22fd81228208811ffe24e4ecb5ac832442..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 zcmW+ydo0yq7=FIrIVW`@w;IJ{%+S`_w4t`taS6E|qzMyhR;`P2nG~hmqA?jWx(KBl zM?$WVibK+INv*V~KaxLUHBr*h>)YPn@B7~GectDNo;Tay*Ih@tNeV#6)5A4@PQ8_H zwTS*UTXh5J5XZ=TWI%o1+NDSd8+aK`KCEy8A4h-;W3ZUX$gdt`UlMCGB%=dwQpqZ{6O@GQ` z7^np@fnv@;Ekr`T$i*Wb1f#Atppcg;Xe&S$k4`R$Rzqno?;$`sX;6) z7a7iW3L>VN(>SSe1tt+Hef>l(%t$n~XU0P!2rRr+Pzwrnwmeb%NPghxx@kU8^rp5Y|H0D#deSeXBZ(p^-|9yenW_xmBOGCOsp`JHO zGl+tDXz&^3KJ2i&Ixh|C(vh%|KU$d^;%A3OCDT3Q+bpepYG-%<`eLG9@XGTuDOEQs zoli;mHukzJ09(Z@6?3(byx1Dejas>Z6ZK0A5# z&zJGq*VG|l6CoF^ZLN$oGw)n}>t=l&)T%d396xS?xcP{@L5(;+c>i+jWRAYMxsz>E f#=Je)n~X{QEk)Lrk>g1p$P7H)d|j2!htmE7^wbF= diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_unique.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_unique.png deleted file mode 100644 index 0ec7d5768752ee178447027004b612b0bd15aa89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 615 zcmV-t0+{`YP) zr12^MJ$Ku9cCU?wGxenG9soQ5yJP@RR~^TXDEqc}3=bqQ)9;A}N?moF4bddS0|~}P z$3g-Rz&Jrv34CZzOyT<;Pu_k5VCH)YfR5)=41HbzAZ3J<$uMwEP$2Ll)KBJ7@7qjIiDtI@A(=MsDhGdU~IS;6uYtfbw1FT#VDGXSCX_w_T_+s)iu8FxDG z15i?0!SIKr;8m3itwWle|D}%xr&U$;@vF3+Z)(y4&s$NO^Yit^>yLWkdbg@-n!vd9 z70Nf|GMW6z)}qynefdFs^A)n!7BM+7&gA$fwwG0Kw7!Ad*cwD81R$cSoW1$3%Nn;k zghp`T41>*$k>>pp_?EGTK!)pf)NB;La{{{@|Mvc+^nF#;@002ovPDHLkV1m9} B6@UN$ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_usradd.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_usradd.png deleted file mode 100644 index 50fc6a26d0612d45963255f06befe97be755b4fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750 zcmVrT*IWiq~;|i)>>Y(Y-+=hHrCzUu5<6XcjumSk3W<&vy|u0=lS;O z`99wsVObXcQ_5h?O|wSq8RJQ8m*s?8H!W0M(msTg;}@TI?;fZX12@<(!?Qg<$2w$l z36TKwxJ5XcpgU|?ZGE-_w_gYL{;rn>5~q4ipVK8o?{|}+Y7&k?LP|oB6_I8$DhKNS z0Q9LQS#v8W-Li}M%h%BrQRs;&Xv%P04$0}?Sz;gZ1{tG0!MV%Vr0ee=lB+1J-&jFv zvWsC87jpOT%IKu=xz>R=KMXsX< zZV`_55{js?P&jy~&i87+0^oH;mSu@Rb@{dxJnoTc(JbOIFm#B=K<=)^Is6_)b7nFs zJ&*d98;+(oPxcjT&Q6s8{1c8`yHpnBTWcLnouKs!`c>#xAsz;!$IsO9`IwSPe%2yP z5vO2sA;2aHKo&w$>@FIb0*qBOVjA>opld%Z^r~IhL^354wg9ko!CA&+P62R808-w< zT^;p)!x`@~Zq_^{DaFE(2JVqCEEj@mh?dSqeD~J^;Jde$_ub6^v0o{CtgT3?Zq7-% z(3*eH>gy?%ZLV~LWFukW_S_WXWYWgUA^X1DTt4gtLz|h@%v{_U0ob$c`y< zSL4B%ExzPAacWY4PXspmI$vgRYb3$~Il`i1;Ndzj&;mEJx2EJ=X8%0FvF?^}v13Ks zgNpMA!7vC70HIa{=?srD6P%HEN48LzPM1C*Gzr^BC@Io6UYg-ILoT9E`$pW#?m-dP1|%ilno5V;674ou+CuM6ZLc2qag~ID=3U9sRBFOAapm@C!di z#@tvCw+tS?mp=bgXKFej8nxO{_pA@Is28Re81n)qH^BwRw2*i>LZ%~nN&*bshNxgC zTwV33|5*3I%MeQ5mKPMW=KIGk_3XquwS>;wnh646ux&O>#=sVWQE8>aGu3vNA%p{% z2}MWD;d6&lwXLo#7oLVT{jAqI6GsH>9X>;dmUf%wuuVrC9LbMMw`_bd#HBcC+tQZheo5$9=y|p+|m&$8qdMJ^}|XA0120k$EV-%>;ss z`KOp$@_?vSS0YFp3tcOUeg~vasT8Ko!c=!=*`>oHsm4cjE5ssT#=wfggxZ7TJlc=h z@QR4;ZgFGonp|aWlK=rDGA$@VWksuJa;r(FCaOrp!7?EchoMgoF|56UfpeDN$r()S zS(U%$_SG#{^ITz}l;ZJ*fmW|E)Ah>6Tpk7s&=okA!ZN}70)^-LlfQI1zSlRQ;SMCH z5R!eUuDV?(0dyfW=`px-FT{{pQC_qeC<|=!n+tz?J>EbLOj-3KzRf{&M`UXNTEDz? zbvMc_U*e;6{?vWkT@_wGB=v;kEC{D$5PfnHHV64qDrhMcw0~;E*42maDZD*f+_mgk zru)S6;agQ}Q@-vpQW2U9M^Wg#APRflliBGeQhQIh(cH#ZMNiu=8)5Hr~#>A51B z3AW@$krfei6?QGA;1)n;u1LjWFS6z3Jv{!*cH%jOl&PRArKn3JZ|`fHJpXB-r~Tg4 z^PT-6>-W=Wxq9&8dUZ@Lxu0Be0AWtI-?Bub=o>SpzHcgc z?j-0d5G-4YR*)e*PU+pQlp1&<=B-{!Ao?Jg$(3C0@9A8y5ZQRdb@0!16Men!;b#`1 zEI}w9N@RiPXd ze$CEEKY^M}nA2TI?gDwOiqzS`>uF8dQ2)xwVI`vGS}R2I@C&bQ=1fXvRCmam5V`gR z+iK1esCgQ5`Vf+uM$rlW7UQ|_d2DAX@t+Q2 zW0Ff(GIjPc`+jJ}rTUR&v2Z;}TG6~`@~hs0Hyh*D zZx5`SnaY=+lvQ^$T-#K(X6u2yizX4E?a`1?zx*zxaa9z@H9u%1Zfx7Q|Hp}cd*{Ca Xl|ern^uArD00000NkvXXu0mjfsS}(# diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_usrlist.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_usrlist.png deleted file mode 100644 index 2a67259d3cebc9485735cb643db81a9b0f03498b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 774 zcmV+h1Nr=kP)C9NXp81YDrz_{)INv;2{Vfz zGr~|Pyr}NF^QtcLA_%FQ8B$SH5(Sy`rIjhpQlpl0I7>4>vZ>q7&d$!iD-BJg_xgE% zJn!?ogi?z2=3?c>nyNCPDNYQEazv}V>L)D^x>48GJt6}Dx88EY{*>AYXvhyOa~B`dJcq71qg>CJF1s7>jJ_7Il`niLNM-t zCMF(6%P~+}Gp1+6-~R>Z2<~;y4YgBZNCd+h!HCIV{T_4<$GVm@D>67;nqHG-O=*fM zRODDjNit4->=;Z?Ds}HPeoh2O6pT#F;T}J&dvqZ~=(#i)AWJQraHN&xr(4@2a&(0& zF)tGVeFB1!FoKeVoPAjsn)2fIi&iHap!LgurX#ssf@xDxe3BWqbPM|X+?bvE1+AWd zuPcP4Mi8PhWDsl-w&Ts04|xBy``Ype8u)*d9Iis5b`E+$K#DaPew`JacQ0d7RUlIp zvPvN#441zT{)r%3Gc0w>cAqcgK8uX^{u9`k&I}D9&=3X&R*OW|fXFmKI4mPZqy7!? z;m;y-=_ij;u_~~e16CAn{sxYVf>I!=MDf)(K3Xug+bQjI4--l$7{{Gc2Mg1#oIRgo zc>DT3LW?q_#W1!OR>9pfi>s|&PDbmmUwl~`TwOKW(rc;Ql@Z@uU0W>lh6qOW+c0ae zV^+w9canqMCPGx%?D=t*>CExs$EyKkpfOL8ZPn~8_7G-t8vuzy2?27LLJBc}qN399 z1dh;kY_4k~s{xGBC`^sIy_o3tfoA}QCt!61F(wAFDS$rUgJ)<6F&cHvZ{=i@twQhj zm3TjU@}u)?xl!Z+5I|L-stUflJfjZ#h*RQ>!)pQl0JKvc5>F$8iU0rr07*qoM6N<$ Ef_EBEvj6}9 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_versions.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/b_versions.png deleted file mode 100644 index da5c622eaca0deb4866135926af1d2aa5101d106..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmV+n0`vWeP)}lwk9A2Ze|&iZoIgAZ3MTi0rviU@eS5?r z4KA#JuLrmglUjU7y&F^VIw}$Rg3uR)V-k9U&=-WhAoK;n1)+F@6(FfbKq!_YoYN6- z@oomdg%KbsI|VMR`^0v};X*@SkkbJdKbzvy#h(jwfiBRE_p0E=F98r%Yr~OBPWzsj6v!X?6(f7#B3EJn O0000%~*akI3sF`gVShJ7$HeL)!5aew<(oPt@AH!%}?|C`7NzD<}Y3h+&zT?P%0l#67mtICYN|M5BCSYslg|m z1&Ce@sI2f4tnd>&Qj)j8VS<5Df`L*>O7gifXV25~_>1xYoUQEx%XSo43XB~IfW5ZH zOwCEIKKQ6SEfj0y>nvmA3nY>$BGEb;qYVI*{~Vm5W`i+`Myz z+4u^R6G_6+0PS6;Sxn3^JF?-O!Jfv(7dUh7IMG-bq3Im!j1g^V!rtD&Ew3dMYb)$6 z07NDYfU6*pOc9RMVF;I;EjbEQg=<+~O=DONj=#bS*i+6{L?U%e$5$|H$hlAkEG2&v zs;|LvB&Kk^@4&a6#s#vrL)jt8ONL=%RP*uDcQ$ZXkE4!1Egwakps&F$WMMxE<) zJba2F6geR=g~D(YmVlg)$OEoi2k7n}(O#~!aH;PFHrlS~SZG*E$5bHwI@+H3eBK$9 gRrm0wZPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipuD z6BiV~BE};C00MqVL_t(I%cYY`NK|1IfWLY87-oD`HjWH|q-9oWMp@=6Y}d|R&?2Hu z(q0Oph@wSXTT~EX5v?kP0vAbTVg^x~Q5hK|J}_s}(eB)P|Nop8mRhT#1BV0Wz<1v8 zpArD*e3Cw`$}y{w6cMa|5y4u)iejv+Qj0Z;6?t*t@TT2i08u^By1QWAzhpjh=VL8E z7{H3G1GxX`21X3V8hkPM)?cyKEXUgSp2zoX-YS3saH!@e)>@o}Z+LT4NOlo59^p_9 zxoeZ;7q2H2&S5cY@Qq~!UO5Zj7<;7Cw)EVZl|3)+X6o@|BADL7Ivk9Ite_f*^oz1yQ9aFiRv} zNu+!S^Crr}u3PkUb@J88!zrpFvbBZTvA1Nt`*{8zEhrF3+(S)CoSNzq2!y!$_zI>}+262>JP)mB5^$AK8N-IK9 zggR_ytr~B4Cms=oI?)0!0Nfb9h1MFcwnI?eK)dRGKD0 z3ji2 zu9d0zhID6viR>o*yYIP}@$iCNqk2c8Dk}Ja;?mSTTu%_K$ah4DwC70m6{(9sDQN;iEf|5_ zs*CMaa54o(dZPGVNL$n}+TTWZ++}}hfz9=GlKlolD?kax7}g|@lnIo47vs>eX|+J zH79ofQ0hQ~C|n)wPx$X-PyuR5;76lfi1jKoEu}S_sl>ASk(dlGGYa(1-Bu3lvYjLZ2u(_2{`IB#NMT z$XyUmLdZc-WAiWFAvQT!+8;KvyR-A{?CgfyI1^sflR5t0GPN#G}pVcBjP{-r(L%W|&Cjnvr z$ltYi2+-^GssYewG@>8~XgD15To{JrI1Z1KBq;;(TcBF4CKlK0b&8^h6h+~n#bO~W ze63asH7I8Q=U_0P<#I{=e*Z25%uDU}dyXk(uv)FyLg-5f`dHU&HicyX&VvbL(Cv0< zv)Pbon!MwBy{2}%O^rrFjCZ>osj5n)Ys3x+hNMLu;E&^&ftsdq%v}ZmbUGc{Znwfp zp`f;H^B5V(0^b1)!=U5wNV=}m;c(!80cS=~QTh6;c!W>abzgJPbMe{Ar(2~oO+V;A Z^aY>I4=Aec_}%~j002ovPDHLkV1foB#e)C< diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_deltbl.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_deltbl.png deleted file mode 100644 index a5449371c868068d4a1b04dfefb6670ef230e486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmV-T0kZyyP)Px$2T4RhR47x0(7!9haU93-$M<{6aK$1D#V#QdtKFpJ9}tVdW{^es7fc4SS#4H2 z`OytWHf2B}R}7B(e!gGBedE%V*K2+DeE;B|M3gqN#k4<_N(HI#)AW2{5+~0eS?liC zXd~_7NRTu&NGz$hHvr7Gm|l~hjet@MV5}Kn+NmjUW)i&p0-4yEf^!kLKtZqiuc2VV zrSaS_0Um{BLs_hh7(2>dbSgH0M5bUw#W2|QU{0SKCG#u!nXw8gh@4n(=U7pn+tu6< z8**(Z-@e-n*c1)sK)Px$DoI2^R4C7lk;_T~0T_kW}HVbBE| zj9R#?MKDC0W?o>#?bkvJZRI)3@4)|aj>x1sRB~Fz-t$av+fHeQ@*k^Nx4|2qeDFe^ zsH>~vxYxm@%N;GAc;}QzZ{s(T_hp?n-`sG;C3Wglc_qu56ZVOSNLD}RixxF5C=FfU znJ~+`h=^qD4i**65g&6+k&rDSBI$mY1|>#ikmHtMUqnQ9`W9u1{{jcJm>&dEc9j}O z7$Z(n=7gESiG;p|#Xjjj94E;miv$Kw#(YsHgM~>7g9LFBJP;?~_Vz&zoj6 zbajyqLY}9z^*t(UtA#YrZ@w-0^r{xdTKw_AqB|}70Y*2RMtKxC$#$bm;9z;BS@mo^ z!W1Yr_Y_^}S=I3FXslTQQnxA|+*@$`uXuqcH#Q9QbaG6fnx)p1&7B|aO!{qPegRcp VNWbURKw1C*002ovPDHLkV1gf(c3A)b diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_empty.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_empty.png deleted file mode 100644 index 2accb4d5859424daefc53dd648a4e795d0a8cba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 352 zcmV-m0iXVfP)Px$8c9S!R47w*(Z5T>Kp4jH`x7(SrF#}F4i2K&PN5yFB@t>(Y84S2{87ZgC6Wvx z*3!{RRq7y`#8{h%7Mc(ruSa?fNZ!x#a`z>}g%CQjQNn++L8eoJ50`o89Gb98p`g&! z!acgNJL&;X^i+XRAPRJ>pohzt&KNN1sZJ9XWYI#M(Gs$=AcHwBlfZ*Y3Ld13gS`|i z5KIN>1e3kRJUW5+eKgMfHp7MJELe=r!(2pWvlQI8t9HYwj7|pY{;8G6g}eNd2#Uko zeaXIZB(Lq(ZSy&gm#?zNuQ#@fAEQviF(j)$Xk2$5Rk&X5ttw7~C_r_rb+us)pZ->R y2P(=yU)K2-Hqm5%PQh-ZzD~A7ajm5uOtwEJz+7-r2^nPo0000Px#*icMVMNDaN|NsB=_xr%Wz<_{&mY%4)y}*8cem#OW zl9H0c!^7d>;pXP%#Kgp!nwqn-v$nRjuCA_WX=%yH$;QUU_xJZ&T3WHOvADRnzP`S? zy1IdZfqHs+l$4Z>jg8aO)0~`~u&}Vj#l?k%g`l9IeSLj&bac77xoT=^Vq#*Xq@=sM zyQin8s;a8N!NIh&w7k5$mY%18fPjpQjPUUA)z#JGFMe9_4T^Ezw!3^ zt*x!8sj2Mj?4_lp@9*!UqoeNg`SJ1btE;P@pP$Fa$Ni@IzW@LL3UpFVQvm<}|J3;X z=@#@04!hR?005>*L_t&-(`C=s5`r)gK+zDaF_B&^6bmW}_TKCN|Biu4~(`q)VRfX1bC3M!McPx$WJyFpR49>sQQJxaQ52mI@C*Eo@zEccKkysoABqVgBFfTEh2(zdB`}1@w;~X7 zETp0|3vM(VoPL7$IIS>uA_?q(Log#`q-2BL?U+C(?JhF4_^rI&8Uk?aOjC0)-JdY zdPKKj&?G+b5lV_W=du@xovQkTUYpQK#=s-;N@A8cSALhabu3cQVEtJNM*TFA^Tn|w zacc%>VSz|8dxluyZSaF#BMAy_CPx#@<~KNR47x0&^=2+aTtd2pGUzVXi2c5ttliDlAsUK-Yi5@eT25YL2FxMTVt~r zy`Ug%N{bO;;83LGIsemeKqUh2YkV&58y*%UNAoN_3L8NXB!Xm0csSfcV=zkp=W0xW zP~ui1o+A-EHYsKT4*pJKEJlF@O>m(%J#V_47ua`apgk3q{mg_^+ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_index.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_index.png deleted file mode 100644 index b899ba4ef0777f53b571f380cff7a81dba93931a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmV-s0h#`ZP)Px$AW1|)R2Ufr!9h#YVH^P9=WQ>R?y!M>7?sf>tV0w|NWw!%2akS=!f(-+=rcrg z$V=DiCPCgBgeUa(jR8dL94(000TTyqdqPD^*p6DufV1JxH*Bw%z~$0Pn9d z{B1s&2vrCnDMGPpc0Kd1b*ZZ-gsG7=s}lI9$kaO*?mE$!Ir?Q#Z8SGLz%=?Per&BoB(X!Zb)7i&OWQz#z4?|mmW@607~iZ~#L%7$)kke%Q!pU0l?$~0001h|B?rI8jlAZ(EtDd07*qoM6N<$ Eg86WnIsgCw diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_insrow.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_insrow.png deleted file mode 100644 index 5162577edb0c24dab6c064fe0fd9a7fb551d4fdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF4rUu7oHYzS-EQtE0=Pb4Y4d7DL$KB{Py3Liwhovt%Y18k(iO(O}?` z*v%lx>%e==VIr48^FfJ4ZGi?y8P~My>WUuo;BGKDbcjVkja#cplHq?d-v%N1o8N)f OF?hQAxvXPx$Vo5|nR49>sQNcU(Z+Zcl6T=IFoeim5ePLF zQc+gOTSZiw<=EupkYt@sPoY-5vv`+#&O7(rdo62rBqffxk|A71DeLc%Ik9WrvAPJZ z!>jNtI8fW3*fRG^ryG7-_mSX}7@>z#z3)qUCK0>g>v#-cj5ox1XOy5B@A_h!+BL7O zf9OZNA|kpN7)f1MJpM(TBh_bOh(%HnUXaH1}hJqFaL)OhRou@QQuPpBo%0}Rx1ThUm(mAG|3_WB& z4=9-uPF;2Ig}$MC#5}v{VuB`$=98(acc_P^j~-j?lKy${fTAvWX5?b;_Px#=t)FDR5;7kl25Bda1@3u=1Yo_QWRSY3n2?dS=o`MX$Xz{%R&}bEaX$nXSnP8 zj`@88tnPjH=jlDqITZEh(lpIaUDwWKK-;#cs_Hk(vTKmCEU|4H`o2dPhW=?lk|bEy z70a?9&vSU57oP&eag2GMF^(gqX+ji5&@}CN7!U*j8QeW!mq}LfeIK$czYhUi*Tpal z*d>w`z97eOAW2ep2w)fnx~@Z-ruYiAZ5x6hycmYL9RjGTN(PIffMr?Wc|JcSQBf39 z-!x5d9QQbVMo|=@>pEDLyPx#=}AOER5;7kld-NuU=)P6*awsdg@QsuBhe70C{`g7Q79w`OCm^!gof}e`wX|f zv;V(OfNJ;j^PS9`Ik($SOrGbDEX)2biPJQFBuVlgMG;Pm<2d%)w#B~h@O}RrfNV_a zy2iF`Sl1Pf;~WQsVfd`7>LVV<5%WC5vaDl(AP8PXQD9jX^nDKs8ioOyrX2>~(O% zn5GHT0tpdK(?C_#V*t}M?}lNtp68+KI*<#XEKA6;d@e*qQEJ<^LG6$ZKorIEXOtu< zr{Pgcf*{~hkvNXabX^C}^SE4PhGAlsW$~Sl_6Ahkk2fNN=%@ey002ovPDHLkV1mP3 BfeQct diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_primary.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_primary.png deleted file mode 100644 index b6c71c7037720e6f3d8d2737237558079796eac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmV-H0lxl;P)Px#`$kkl#zfU=%<{e|DC08zn_OL@+YDMvMrPO4uUk#oqjK$V8+3Xd^sB!rMQ>PM<`#1r{nK^DaJxaOEk8n_(NL1*c1{=Etp z45;C8MHPn*2Ftzq@h^rnaj2mv(dPk!LJ%w0$K`+%e9Xz>K*z%LW83%C+2;%&E6h3R zJRi?gsc=pUbCNIr&C8fmToi?wzLU{^w>_ju4|8g4WnfL)$gRJwyj$UFF%xUw5xne; T2*}C<00000NkvXXu0mjfRj-Ov diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_routine_add.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_routine_add.png deleted file mode 100644 index 91ec8e1f5fef28b1facaa26920c3319040cec921..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmV-)0gL{LP) z!D@p*6pZ~dKSC1&`2x{{UPJ=o(RlafMF@y7m;8iy@&`(a`2fLss5Iczks4YGRmsBg zn78|8-oDw@YUc7h58Q{t0js6Uahw-T(@<3vbX^DWl6pZD#ja@@bX^BVV&*3+*)Emq zx<;C&cf&9~8Ht(alO_q+HkD1&yi=8tnE6=*Pj#?(22>pF8guLQ8nP^7bb*n0v)SN} zRkUclM9ku%C~&*o9>mYy>%y`u9FIrveE4BggNmXE zVHhIMb6l@i-ot*s=QG|0f+?$P+eVgU0|D3Rbi(<3#&)~?nAL%*s*mDvk+3J2H-p`7 zha^c5$MI0i$Y&^u^2-U~rwhcR3qcSJgChx*8Hss5`ycf2wO4#++f@Em7rp?YJPx$X-PyuR5;76lfi1jKoEu}S_sl>ASk(dlGGYa(1-Bu3lvYjLZ2u(_2{`IB#NMT z$XyUmLdZc-WAiWFAvQT!+8;KvyR-A{?CgfyI1^sflR5t0GPN#G}pVcBjP{-r(L%W|&Cjnvr z$ltYi2+-^GssYewG@>8~XgD15To{JrI1Z1KBq;;(TcBF4CKlK0b&8^h6h+~n#bO~W ze63asH7I8Q=U_0P<#I{=e*Z25%uDU}dyXk(uv)FyLg-5f`dHU&HicyX&VvbL(Cv0< zv)Pbon!MwBy{2}%O^rrFjCZ>osj5n)Ys3x+hNMLu;E&^&ftsdq%v}ZmbUGc{Znwfp zp`f;H^B5V(0^b1)!=U5wNV=}m;c(!80cS=~QTh6;c!W>abzgJPbMe{Ar(2~oO+V;A Z^aY>I4=Aec_}%~j002ovPDHLkV1foB#e)C< diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_select.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_select.png deleted file mode 100644 index 2533e6908c4e2db774acfcfaafd65bbfc1622ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmV-f0jBPx$6G=otR2UhJ!Ldq0Q5?YGKR56pdI29KDuT9>APT~uAdqOtOrj-HaBGmWL=;6d zBsA0#Q5Fp)K?Rbc*K5~fSX^~=I{X?OZh?Z|Cj)UTTa|Rd8nf0LfuB;1nuFuSgIjpChBXS%Q@s@+q%XVNRlja`9f+xML239gD rE}2F82?ypgVM0miZ)RwESO)V82b9TR77e0*00000NkvXXu0mjf>h_J7 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_spatial.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_spatial.png deleted file mode 100644 index f8fbf84153a2d36ad1de3fe61ae75c5e0dc7824d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 369 zcmV-%0gnEOP)Px#bx=%HMF0Q*Wo2b%W@cz;Xl!h3aBy&Pa&mKXb9Q!ie0+S0ii(Ymjgpd*mX?;8 znVFoNoS&bcp`oFvsi~@}s;;iCudlDOv$M6ewY$5!zrVlC%*@Wt&eqn}*x1h|{b`T6<(|NoV<8C(DW00DGTPE!Ct=GbNc005myL_t&-S7p!b z4uT*QfZ;;mC|G7B_yHnj=l(A-klfmQH~u_32gc=ciWEhWPA&qi+lGm@NwswXWjd%$ z7kil|t*{cVv;@WgfJT5}oc7V=*4_DWxR+F=2<0KqK1yS>wgNgc<1FC@NG=oIn2s5>gK^Aq*24 P00000NkvXXu0mjf;t8r) diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_unique.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/bd_unique.png deleted file mode 100644 index 81cb9287503a5952d20a73063a6489f59b2be6dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmV-M0lEH(P)Px$07*naR47x0(7`H1VHn2o-<%my3>HdFQ<`j;nxdp!fTg{ygp!pDa2M{t(ux#W zOCgkvqAW~PnuTP_)SUBu7N?Ab@;uvr|EKrmpA@*5P)PAam}^^ zKMmAm*dIK2z#t(Z!Ep4#t?#~07My$b?D_WV*RO{^fBs|u(ysvmhzY3ikEp1qCeScV zpg_&qy2`?GiN z-faU2ASN?2v%6oueE9@)!Be0DFQCL(pbf5ETwE7{v2V#)8C@`Gf0r3N%@BIM+ z2pkJQ8)hN7;3CKdK0dxPAR7e)1VAqG5E2r)0OY#?=_^1(+<^u>1L9Kv0R&Hpixw^V z4V2&oDpCN2E|69O(zk(F6^L&E6)OVq6CjoV+N=%4nF|*#v;hbp7Fc`&HLw8jcc5Yh zXcWOQP!k-3q8k|K41fRr-2&1F5I~INWasGUXf_bNbm`Jx009O7eKwFfX7UU&00000 LNkvXXu0mjfM6fd$ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/centralColumns_add.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/centralColumns_add.png deleted file mode 100644 index 42c93b040076e4a4c905b37bcf83452dce8fa79c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 821 zcmV-51Iqk~P)l8B?7N)CT_!!=P{*l)o zV>Az49Y6pv;m{n+&i-%VUk+B@yWhCE|FAG|v#|Z28{4xr7+ozu05M_FtjF;0=Nf(? zPKMX_9x*5}KD+qgddTVl0tmx^0EHh_5-dL%9$b6CAjAFVY>#%~Nx3jflO)dK_&2E^%6enMH2pZ)&*`w^U+oD8>a-3pTz;o{uAd-oh}Zf>q0KYp~TtE+1Q4N(FJAjXp? zPbxDqGT!<6^{X_{fOkNw1;o#Ql42m6fLIa8egLGUfbEdj*u+1c5jy?gg=8$bXt znVFg0{qp6@C!h3cxh_yNnQFmVxH1~*L`4jCa; zhW%GJaGbbunBfKEFB5=W-hFM51xCo?O`1ttF0BH{a0fDohe|{`7(9mc2%k-B) zU(%J~FXL|p3tcOQAB>-T00IbXKtMpix(^>d`~e!Y?d8jtnm~HjqeqXdfb{N%4;ylB#OGg-<-2d1M z5I~H?W@n%w9Y87zhl8B?7N)CT_!!=P{*l)o zV>Az49Y6pv;m{n+&i-%VUk+B@yWhCE|FAG|v#|Z28{4xr7+ozu05M_FtjF;0=Nf(? zPKMX_9x*5}KD+qgddTVl0tmx^0EHh_5-dL%9$b6CAjAFVY>#%~Nx3jflO)dK_&2E^%6enMH2pZ)&*`w^U+oD8>a-3pTz;o{uAd-oh}Zf>q0KYp~TtE+1Q4N(FJAjXp? zPbxDqGT!<6^{X_{fOkNw1;o#Ql42m6fLIa8egLGUfbEdj*u+1c5jy?gg=8$bZD zn3U zu`<8=uJ6yV=a8g}lRl7s4x~+h^gSSLYRZ?&{4 zVRl7rhVPel30*zBhr#mk2RVQM0>=W-PqTm&$OT?Nr(FcnEy?%y^4|1C=ecf9~vYX&K`dAA0U8OU;;o5EI|AnsDS|*MR5F;gPY;og{=(So3a>w zet*I64XFO}CuWAf%nZ)}0*H~A+;}8Hx`B#W&@~$kZsdX+Ko5oG4dc_f%-7 f3)A%3e^}$LPUPdc#&w|?Xe@)LtDnm{r-UW|z^E$2 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/col_pointer.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/col_pointer.png deleted file mode 100644 index 7147edb545417369ee487c7f589a384d6fa36f7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^Ahrkx3y_q1o^lsRS$MiQhDcm~I>C^OL4oIpQ2f>Z z{(qanHshRqR|IYv5Mg{=I_8yWc+xW4iTd7QZx Q0yKxg)78&qol`;+0K={!)&Kwi diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/console.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/console.png deleted file mode 100644 index 625d021660c4ee30eda3595d50188a5dc2aa263f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1197 zcmaJ=O=uHA6kaKcRI46DtQVIRF^c;$Nt!lGqBPm9rkGfhNaM}z?zG*uyR+_2Oj=ab zlM13J9{d3n#DkzB9z+C16tsd0dJ<2fpte?95>ramIGZ-rgYlc4nVsRi?|t*;&C!m; zmWKLO^%O-l#I{OFGB0!c!a6c~*rh2lHDWn~Q>Yu~6dO{l8tQ^{%usq@5-Qr@o?#fG zs5(YZXK*IIO;nM=DXtBdH!R{!QK8LwOHunFrn_K|Zibm}_Z~2`u7#P-rnnHdqOe!r zI%LDtP$I1k^{YXR*}RDk0nyt`&w?S*Y^_^NN^P^T$STbAVr+># zpUdUAoR33x4-bODpv&R)vc!UQ22HHwS<_ilWssnw+PZ~xWYR99(uJ}(%n+qBM=-28 zTGN?L6G<4KS1cZIf_tQ@VLbkSQ^T0Ec5o8@(fdzgCp~CEJ_#L^wN-L)-D})XmKe36 zf{~p@XrP+Kj$VY3(~B%RnhMaKPTkZ{&RJivkH^KB>0rfFVN41$gn`p_O%#GYAc06w z1_1zo?2CXlNd}SD7D<*t6!@#Y5>m4UG;!5e`{UbM)7LEp!y=I-XzP2S)@CDvt{hp^ zYint)$v5k()z;Ed)0Zb=c=uxey6EZ_sUG)tu58I-uJEBrs@*1Kz3$!Rwd6^h?AVr; z%jI(AeYnH53OpVU%d$Sd&*%61t34D7$+Dav*iKp^lgTKGqU(BJpKe)JHk&1`A3wSH zJTfv;>7%1x2)>SeB^aL|7%vtI#X_-IER;&6$x>-*YHE7=2f@#uzh)W{bN2j>r$ovE zoJ^#sg)8Ytk57D>{6Kb`nADnH**O2;-k;PI(`9iW%FrqJg50+^5Fx zz5Ras)tPIDJ8!={*M9L?$tCv%Y>#0k7z&w{{a!HKxyV6_;&s+dPE1ZnHzKoDJ*ZwBk|ase^C7REMJymU&H?~9uWmzw65p*^IVJu& zwC|Dv4N5e>9E;(P6HOFo5V5qTX}TdOGiXp^=!VH`=oX?tgA%i0SekX+Qp})1iLRS1 z&4w`TY3d510agC#T2dQT@|{69E1Lbo-vB@xlE^00000NkvXXu0mjfk`SA? diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/east-mini.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/east-mini.png deleted file mode 100644 index bee419d6e0bb882e6ba4175f6ee5e8610505f15a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaGJMSxF;>;M1%85p{8AvU&N4vs!y z;mP9SQ>CS+tEtV=)0?lazrey`iMRLKz`*q(AsZtjH>aiTEGgMvQ**eZZ}EpTHqP_V$$#W6(Ua_NO|p#}vWmVk}P@Aq!M^S{k3!11pAJ)arAEIx}@Z_7;rn7{X6Cbkv@fdm>Iw3+Q;7vo6 zNs?=Y_N#9Ky%I%1h{-e7>UC_MQ!GHwrWj{5R=oH9!$0-z9s2s+f+R_PEv!918DU7~ z=b2qtB~uklu@B=ExfNo&M2&fdc2)_*A+*xgjcx`?}%7={WEcMiptcTgNZ7Ar;=wAi>f}kZQXaVZ}@Y@?x(D!f;OI! zGl%hB7#V#)W`t6Q;{53?EI;`Zc{Ijy)7sFizUb}jJIr8DKk)WysvX*b7r}cW%^g|` z%D;VD*S@2)%9}Aij)q}J?~p{5?t*iUAPA^#g4q>EmJ4Su|Ao#yY1@(+;lMx{5y3e} zuw@6`dxm`A8*>fQSi)M1F@}L^KqV4dsiD=jv@%08Gi&Y{JI794`o*gE%XEA6Tyb^1c}i=2 zI#is96qN!_iFMM>vit2U`$36}eS77`lmDUo(c1V1ZLMsmx|EHE00000NkvXXu0mjf DPHtC- diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/eye_grey.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/eye_grey.png deleted file mode 100644 index 6fcae474058a01fea9e25f47cea1a75c07941ad4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330 zcmV-Q0k!^#P)tgQd*UVTvjN7tUM?u6*}CSqg>2G#AXwFw|-F zhBhVZ_Ch#L3%w)HRa#NhXiT*hMmA)fO6iSG)Y!4B);RIn)U_}2bI+_Jsztq|)<}41 z?4x|mL!HdTsm6h5q47em^Vn2&ZLSqPHBzcnDig0nty5R>ku#+y9@#Q*BG|NLLuux# zUMRdvb3+qjt8%xJe}4Go!cU>Ve)?m@11koSr1aNsW8ZuVp>XSMI#vq~_Bs%g%!!SkUy(gmF>L73`Ao>dHrXaU8d37{V<) zD>rZrV&0R!y4_Kp=j*I+MZ*Nnpi6wjIEE(>vv5g%O>M@MWjRNp4^xTjpP&lSZ z4(x(auFhVgT`uT=AcwIe$S;_|;n|HeAV=EM#W95AdU66o6Nds{E<=)nvWbY7xxPx#T2M?>Mf3CX@9^;O@$u#6=kD+C>FVp^&71@8##{-QeNe-{I%!>E`I^-r?ft>FVF%>la*!|K-;B8umz4nk+q@M!lrt-w00000NkvXX Hu0mjf5cr7e diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/lightbulb.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/lightbulb.png deleted file mode 100644 index d22fde8ba46eabd4335e4fa88077e80f96b92d62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 782 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

    ETgs`Zku(>(s>NnvrTC>v$Y z3#$YA$ZSS`TPm5(fHb0eI$hVeT?nW^Yajh=n*Jf8D+CTf+xP z+iBc1A2%cvY=&!KLIr~brn^;;jvk6aK|_D%<3Li6ffmFjF)imbM|SdByMS?9V#Db41sO#R~YK5zDsf|KTR^r zFq(va!8Uy?mK;}As4{e`GAhA9=sq>1vQ!22&8IK=L{&bB_6y|7v?zX$q~?eWd>6XK zhx`iCDa++wqhGH)brY`?6Oaotno3++#I8DIy*Xgw{!M|Qs=;EE>pLY?(K211Tm)zhsec4))n;6iM2$n zy1o~bXNx@I!Xz_k1xqZ`)%bdhUWF_JYpyTsLOELAy7V97!-&yMuSRmp%BBu1?DCbB zT|Th%A6jOE%nrPwDBE*$+atS%{>C4W`Od*X(4r(`nEuQ1C&Z}t1?1SH^Z)<=07*qo IM6N<$f-q>XyZ`_I diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/logo_right.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/logo_right.png deleted file mode 100644 index d61c6284caff2e3d397703a6e7dd784e31528cf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4548 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 OGI+ZBxvX-#UpiszQx|%_^ zOfYJ)i_szmgSia)Ga1@9mg`JrFyFv1ui{t>(25*S7sn8Z%cbW}i!~YWxCSmzxinAc z^kS`7|Ld0vZ~R)?Rz0EgvPt~b{J(AIzA9Bo#675Ku((yo&iG!~rN>(l~-mtYH&HqY~vWv$yTSsM<`m>++B?nKuclX`@x}Pr?I~7=+S+#F(0ou#p M>FVdQ&MBb@09PJk^#A|> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/new_data_hovered.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/new_data_hovered.png deleted file mode 100644 index a470dbbc5564936ca8ae75d294fdc0edabdb6a98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmV+j0r&oiP)`Uv)H4`)yU=Qv1Okag2EU$t-jhR*dOdKg~de1JIGaR&kK6HIdfbIV9t zDp-dMr*j3Zz;vmgGqAOQW>3^|BSc8HJwYP`f6ep0V^fjd-R}Q>`RDJc@5FDv#hX+W z&Kb>dXqd@-cZMU=`2xKMHzYH*GtFtp(@YR`=;Jxnw&JH-SHtNqjJ*z<*!!RNd3MhF eP;>Wh(Mw)clhyzCa!JhwxyRGh&t;ucLK6UwmItpFF8027}86uJNzdesp|Nr>z@7=1f$N(JAh>_&G zz`9jpvj7;TA~Nv+Bc=cr@!jConW3K%BhUaH!DeyS03WkNQse+3-T)x2GeYVBBEbL~ z>;NL;E6R%i004JML_t&-S7psz6M`TRg<(p>RL%-Wf@pqZ|Nl33(=0Z=m(R@Z5#rMA zuOHkCS*q&6P&cgxbrplLAV+P%pa{KJ&w(LCjL8i7=`;gm(<`quivzUGux`Ew_BWp_ x%BM4gNRHqferB+>(SzPamn3PIT@8#ysvb2m$P{(d~wTzC>bbqCCb>4o9*Lj7VWohPwk+orJ z=!KKt^*F!)004JML_t&-S7psz6M`TRg<(p>RL%-Wf@pqZ|Nl33(=0Z=m(R@Z5#rMA zuOHkCS*q&6P&cgxbrplLAV+P%pa{KJ&w(LCjL8i7=`;gm(<`quivzUGux`Ew_BWp_ x%BM4gNRHq;qc z{WF_2hE3dWbwd)%;xlRvyzD#I%6}Dn;IsZ;>POZUyAE5=V7Q?nx}GPtQA*s+FleK@ n>uC{|MOTG){@wJ{?A=8B^_wT@t!fV50CJb7tDnm{r-UW|;QUCM diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/normalize.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/normalize.png deleted file mode 100644 index e8b146ff2d4604c5539b764085ce84be37adb7fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 646 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlruncyLmq! zl>T~D_v1!}&-*369yR{Bo#E?2#gAJVK5hmfpfa#Z-OqbPKOdC+dQ|@-NTacvo7>le z@*s3r6QmNTeka4{y~1A)s)LOZ|9V&(h(O{S89;2H#_b?0fFhsw3PQAqii(PfiHVDg z8yXs#nwpxMn_E~|*xA|H+uJ)hI5;^uIXgSMy1Kf%yZiX~`1<<#`T6<#`$t4Xq^GB6 zW@a`vHa0gmx3skM^z=-fI(6mBm0PAe?qBGAXo=sUrT!;Ro;-Ex)Y%PD=Ql=QzI^%4 z{)~I~?tR?D@o78nr@fM252}7WDgY5AgW`tNJ!4;QaGJMSxF;>;M1%85p{8AvU&N4vs!y z;mP9SQ>CS+tEtV=)0?lazrey`iMRLKz`*q(AsZtjH>aiTEGgMvQ**eZZ}EpTHqP_Wd~#W6%elJ%ftS+juvtHIgt6B1@U`aOU1ZJXeg4wG(F=WB$RKloiM z(UZ)eBIhjIIGsH-y5vBVf^KHP*`I84S+1<#*r4*DuDH%Y=moc3mdKI;Vst06CL^ AmH+?% diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pause.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pause.png deleted file mode 100644 index 46a6318d3989b295d61687e031622f5c675a9864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmV+q0r38bP)X)I5f z$tmY>(re&sdwDp%rdyyMs5hP-Z>GPzG!O}Hug|%^yJXfJdI|VeL%m}jEMh}10kbAz ziFz<=A9@K`#8|DfdhjJN^b+tXovVuj>YXM&^fHA-gL&;7fY>(J@zS7)^ZsF2OHys< zB_JeF?N|$P?L#jCsYbIvTl}iJ=QUvMxCh>Y^fvVJi6Ozu^BdWM?UL;|!1V9i_yZ{< V3$P!FR|^0D002ovPDHLkV1iQ+bCdu8 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/php_sym.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/php_sym.png deleted file mode 100644 index cd5e9b8a2a101f80c118dcd39e2fd0366c0ef42e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9Ea{HEjtmUzPnffIy#(?(1AIbU z|NsA=mNpYemR0zl1`0Bk1o;IsI6S+N2ILrex;Tb#Tu)ADV7_?afKP)#}=6tE)eyHJqs^fsG>Vd1`fve+(ujGfY=!&uA zkhSNMx9FL>>6yFgp~38sKqNJ&;v*Psr zxXAaY00017NklH zwLLRBKqi4TuG-oz7lqrS>8IDP4-3Nozz&D~Zo65nR?FqL)oQcd?GOJMl-+i{^k!pc z<}DoCamKTmx7zGJgeOXaXQ1r2Yj5V*=3rn?CH2KH&4Fp!&e;35{Q#VV#Luv@_8e2WM)eH99~-j^h;3o#+58*xtLKA6L1VHx(k z*QKT|7CjNZO0V`zWgZF8Slf&9Ik{&0Oj?c`p7O!sE-^dLHVkJfik(hJ6xG+RD8f%~ z?sd6Gnp(!M=ABOMNI4-buF{)PgLmg{*m^wRvPH=4i_%E!pphzy?zGcEXoSSh$Z#(R z&RXJx80|d0bCgQT?#p-SK;2N;PHg(A0xBJVj7DP5wa2d5MfwjyqDGv!Es*!{Zc%W= z{(UeWRF1Xy0))6g2m(BcGXWq7a^{Y@fDN)#Umv%#lmVEc4KMs?lUXt_AQNh;D?w$C zk=UQ8+#?~yA~l#}J2E)HE@;6R;2l2-W(#2Kd8eyNl7!@Gw}Uj6v@fFCmn0P_24tyf zspqyHz)>{8{e)q=rQb00A8C1>VS+Szqv3FpJ*0+UehF{fX-D0WA;eM8RU=O)6;&gy-Z}y0;3a&e!wi4ARxuEbQv+~ zX*oq@3ZgV&kweN<;BVO3}-AoykgEKQN! zzX_rD`a)2YJq2E#l{9668|InFe7`8;arK-^QjhdVL>>Yo?EV5cI>%F)sVlPVzOibC ztMj-H3)!GiG8!<8C`S=bQou2QEPPU1TFs^SK`@Z3x7VR8D~hJ+x~^#o0Fm9VTQ+P9 z!9UY`@|@qrDhQ+z0 zIbCiNS*zlb-zhHstX)U=&DPZ3|NX0-=AkQ|wX{}7ek}}EXAcEQJ`GG>y?#L2|G$Qh etp0VSU)Vpa5%Wm$Rp9#o0000f4>3F(0hDcmaPFP@;a71 z_Ha!U+43NSBlOCl23CWKZ`^8@O-xbxD$2yLs2I^z*boFyt=akR{0Cf46?nQhhDcmaPFP@;5L5Oi(X>Z6 zRr7wA|HFET=hx56>-O~Y{D1uR>Z=Q)MvBEZZdhhT+`N&U{&vrm!v_u==nq!p*;7&D z-`m)Da8_fZBjb7}(Ol>IuTGxsl9Z4z0b-T{Ef*%QBU&P@Grc?%na{W|*anJU`}|X~ Q6KFSsr>mdKI;Vst0JudzlmGw# diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2leftarrow.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2leftarrow.png deleted file mode 100644 index e33e21cfe21a16302f31a693e0c8a85e9069661d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47-Ir_LR^8|R4_2gIAfG~(JXbZ zQRW3811M&mx)aE-OIiwHdn8Vv43)ow$yxDO290_T5gK_AY12gWLuG^QPV@TJpDS>95N9PwN&x z>stS%cg?fjHP8FjzUbTdX~M=glh!|*w(Zk`-EUSL`nvkyt4*iAZ9DU2$C-CK&wMy? z<>T>dpU&R;a_+(Z3lIKXdi3wggDa^eEI&@s}H|kfB5z0 zcbo<4zUS%U7$PCbdho4Zvw;NL1@?P8 zgH(9L1g4r9=6$bs_x`h(TmGPfrtFr8^NI`y6we2x*#e_Ftb5VAh;MtM8yX@`y><;z zQg32>s9~pH({VjEw%OOZX~HG{NzXi6YPKo|{&jRa#QR=RZN2!Z`&HBYDGfE}njCLJwL#5iZRVrS;*F9-;OcuQMB&aN0D3JNxsS%UE*KuCl+MHotm#xIe?49XzqO ew`G;d{ZH*GW?1{+)CZtX89ZJ6T-G@yGywprHDTNU diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2leftarrow_m.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2leftarrow_m.png deleted file mode 100644 index 6ec8d81cb7dc40f3025fe533ba8deff70849fde0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 666 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzVAKil32_B-vuay`sBZGyhG`2b zd#Be=T>xYNMJjrxK^R4C{XlkJV^?|i)SUYE-1-in;`*ucYbVXE=$&5B+*8&)1t?NC zWgd_$?VJQO1c(}@Ed;5VJhytnEFf9cKNBd@I2|Miv;wHOe#(3xYMimCdFB$Jc-!0+ z5VCW@s;&jA`xdY3Te5D_@{LngZkoDs^VC(Fr?1{JbM3a->$cBXzhmx(o%1&CoWF6` z(rx>eZQs9Q=fQP*k8V70eDlE*TMwVwcI4E~V`q0AKfC+HxxJ?@>_2_+@VP6;E?hfx z<>uMzw=dtmf91}DTMwV!dHn3bvzJd^zIpcg?ejP9UcLM9=EJ9VA3uNi{N>}9ub;kt z`~3CW*Y7{R{rLIg=db_&|G(Jhkq-oU*UMSKx(>%K zze(OYH#+F=+fzXY7|OQSmtQTBc)hphECbt(T(ehkGoJ0c`g6j%Cbq}n$r>GrYhQ@n zYi?UQdEEl*wLGcLX01FqZjRNJn`Ibn8F{0Mb}XGUOMR(>^L#(kY|96>A&)tv*3GqI z`zG^YpSflO xUuNHwJ{D@8zQCywH|5jiPN~BeIzGtT8~rXm%DCy+8KA!zJYD@<);T3K0RVE_XKnxh diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2rightarrow.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/2rightarrow.png deleted file mode 100644 index b6554ae77326e6d2cc2c0f37beac04cbe432f8ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 736 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47)t_tLR^8|R4_2gIAfG~(JXbZ zQRW3811M&mx)aE-OIiwHdn8VByCjCvJQ?ee?6V2mdbs(Zm0j9{#)Z=--VezivJIb?4c) zC$E1zdHwU*+n>+h{(SlV*PD;O-hKZ4>Fe(=-~asl_3!`x{~eY4a)IG)R1)L|j0ZLj z4lW)ZK0ygdNjU{&V{2Pmdk3$m#KfeOx`vLPzL_(Z-?(w-?&HU=-+cJ+`SX`AdgdKx zfx2IMx;TbNNU|QR4?b8RbKv9m_P-^HyWcL`d8l-Sebn=h-(`y4?q8Q-*_Ltc(4!}} zU#l`?ggW=lp3KBz@OM?D=Cby?S*ry!Oq-@9pSxh6c6zE%&+Oaoxn0@5S&y$*=$k~_ z_7^{j@_F+;Q0M6H3zuU3isREii64Dbvb!nl`H!bF_oxJ~yk8l`xYyBcS5bwRN=9Yt zp?$$>N-DK}M{=bvtQQj8Bq#HH(f6!R1)eS*W)tQ|EV;SuH;=LXjeQgQ#hYsH7M@tR zO-)|UtSRKx+b#yJ-+#{WF$H}(z3=FIBk#}6LJm(3U3xYNMJjrxK^R4C{XlkJV^?|i)SUYE-1-in;`*ucYbVXE=$&5B+*8&)1t?NC zWgd_$?VJQO1c(}@Ed;5VJhytnEFf9cKNBd@I2|Miv;wHOe#(3xYMimCdFB$Jc-!0+ z5VCW@s;&jA`xdY3Te5D_@{LngZkoDs^VC(Fr?1{JbM3a->$cBXzhmx(o%4Wb&^T884j-A#&F5kX?`ObqYcOKk)@Z{FRr+1$`zyI{bv)6B*zkc`p z&AXRx-@khI;oZm2A3lBg@cGNfFJC`@{r2_yk8eMI{`mRp_n$xi|NlRHT0{*Pj)o;c ze!&b3Y#bb1JUo1Y5|WZ~3d+XTwzl>TUQvmONhx&=9X)+BXD+{SlFzk&v8v@U`C|1BQl+>!;@~xE;{g;N|hm{{H`36{(~SGvl7zrFWNl z)iBz!|MU9beLm@7f9(UOf{ANBSxmfk^Sl+qEcx*M&%ScfU+fIk8kioP{bs3s`{voq zwbi#9S>B1i_Rwhz-8(~{RU?2u`lj!ZC)$B83ok{qw?r;-OTVyvY4X#rA}U92S?1e! zeBR#Wf4m3g{2hDcmqdSN5)Ap?Qdhv!c) z8^~L4VD=45WVMoN$++Y+g-x@R>jcZPjjE@;7$51suiIO`t6-1sNv`kzs@{Fu&FwbF zY~K_6jjR4@e(V*wt+L`$8c#%0q?yyhPH`5QuvgD?Yz-XG)Mw>O6f4)p)u%hDcnVde)GSF;S%T;^zp4 z-dPs3^W->ia%PF`=s= zZ|W_iw@?56DeP^ji%pP$9slgNb){N-fA1BT{N=iMKqdP5=Xe1ti3QzaSA;(_8FNk9 fu}tiK_90=G3~@%McN}wo?qKkA^>bP0l+XkKem6r5 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/5.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/5.png deleted file mode 100644 index 51f536dcb55718123c2a919ec38fd1ba1945db3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4DSEm%hDcmaPFP@;5L5Oi(bSMD nQbIx^sw41(%bKf)y%ZU=S()QQ1+U))DrWF>^>bP0l+XkKdfXR2 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/6.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/6.png deleted file mode 100644 index ed93cfee528ffea3c36cf41ddedcf63b90257862..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4X?nUihDcmajw$=|u%1ol!K;~z we@7KB<})@hxRa8QaO2z&2Nj7>57}0R$p2g_S9@Q)1!`jOboFyt=akR{00NdDDgXcg diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/7.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/7.png deleted file mode 100644 index 7c7530f14a4a496c46e1d98b2290bfbd68bb3d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f48F;!lhDcmajw$=|u%1ncLD;aX zt;=cJ>h!*M%5I9v%*@Wrfoetu26t4hxiBV)Ffp8$VE?eFX^t>ZFN3G6pUXO@geCwA C;2XUF diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/8.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/8.png deleted file mode 100644 index 451998d1e9f2cdc1383fb67e74f57e941b07d7f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4$$PpuhDcmaPHAXLJuV++Y+$g( l-~odVk4sZv>ywWO6V$6DPINiR(ooUG~CX=H;;}|?${an^LB{Ts5Yo9?u diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small.png deleted file mode 100644 index 4d80059a38ce808a88586852c9b4752c1adf1b48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmV+u0qp*XP)C9BPS1gmvi-=XjakzrW(1DxfeOfZ-P<%-TE3&P4k zE-eVpqHxHiz4jhI9`C__H5d*BWbbn;X?$b!RIB0j`zOFjZSsxL=X$M!q+qv`Z;X<# z1@JZ=>#7Kj8Zo ZUI5d%OZ9PGK*j(7002ovPDHLkV1jpvaYz6F diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small_char.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small_char.png deleted file mode 100644 index dcaa1c61d2840e167dcfe99f864705123e8e9eaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V3y@T|W;X*;iJmTwAsp9J&l&O^G7w?DU|zH7 zpo9Mb9(AARPj<)(FuOV>W(0_SNILm%o4v}(h8ruk^gcg%m^&yleoC56FCMju_&)7?oJsfo|LNJ=yuS?bXVsPjO{i=DTE^h%>gTe~DWM4f DNdh^> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small_date.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Field_small_date.png deleted file mode 100644 index 259a8d98a5710ce1279072930a8d0a344c255bc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4C40I!hDcoQJ-?Bc$xwjxV)|<* z6&K+vMXGCEef-1O<|;TfC3kkzxXsIGzW73avPi`HnaYW~rwZTW&gs9t{|2kSfMBJI zi^@8S>v`Uq?KiEIOOyKQgM2S_E`IgNIx2hdjlT2ZzmID@;|h2i3$%{G)78&qol`;+ E0F071f4MR>Y6hDcoAde)Jv#X!L2;&Tah z(U?l+kN=(*yE)%6nc=$4%;dkhN$4J%r4PCnev-56ea~9_G+BA=*03+3N#?BOyWSRZ tYF?dqut)n(*X}*hbDQnwJY@fO!aTfPQ#aGtWHHbV22WQ%mvv4FO#mU@HB0~i diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Header.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/Header.png deleted file mode 100644 index 1f33ef7ce296928ce7e19b9d6dbea72a1ce18156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8gx!VDyNCJ0o3H~~H(t~;Lny8ZwEjlciTe*Jsw z!=H^0f3CdqWA>$Q@7$CR0oBNQx;TbNTux4OU=T~$rXcue$BpU^%YLiw52yi$o-mq#37b`;+1Dj0qpS}k`H4L7velF{r5}E*B CvmvVh diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/anchor.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/anchor.png deleted file mode 100644 index 9b3422c61e5d23434d085834b82eed7a7363976e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 523 zcmV+m0`&cfP)JNR5;6} zQ!#78Koq{K0R;zL3K^ueKcPdX4$`e#^8*A?$4(UrP73NEC=L?Wb`e}#+M#4AI28&O z(h7D{iBLo^6ibLnntoS;4W+RSeem(_-M#O-mv=AJwr%ns(1oktvOHk&-Wjo2=gN^Bj3SRR*}a0NpG5_ zolK`M<47b@MJ$6*<9VLqM#|QJ9FOl*`~9c!VzJ0#yuW&YL-uTJXs#7SsfEK~0YXX4 z0b#F1DNRn42?6;6#8Y4fXr9klsZdgUva}ran6Qvv_y2pCw0Uwb;c)l#b0*DE_TK_cg9J0#dmqeU3tr3 zdd)g|%}RU5H+#l*d(51C$98Cb-}fx#1MO;}gNl@wnJ>B;`;q*S@@Ga)`JpBJQIyw~L0000PbW%=J00AH&cXxPsd7GQNyT8Ba z=;-R|>hJIK^AOH*Y5)KL@<~KNR2Ufr!Ot!OQ4|N@-#O?0Ye$((hX^YYiBK%Mv-L2Z z$!pl!*$OL*N=PF%(l$CpP4Dg8JHC$qKtwAv>lgtL0JCLxk1_i6ivSSF<%3}-f$PWT zYSjupBEp-zR%C&s>tJ1%*MWtZ5;hH+3&Ymcs4eMr+~;L{fK$mKBKHlMp>6lvd)-hoiWKgZJK$?DDxZ$WnVGM zxek=FD?AS(3(lJqJ~k^(=cs4xqs(<9w@FcMLL3rnrsIJG+9e3h7uBJ?RliGJXZQ8q>DGzcM{Lh6@P{-1Tzto>wal zecgWQ-HtQwcAoigH$R`f_2tg9Zx3Joc=Gzk>kq#^ef|Ca|9}4!qieuGG%N}7 z3ua*B;Narn;S-dQl$29YHnz64wRiA}N=!^jscY!y>6-+y*zlBvPW~|(DdpwCys*vj_S&Q{?o*HRf)0o!c?JCWwo>B9 zVK=YN1^MO=(wy~n*&Yn9o^#^O-XG>~I6i%Us#xK8W#)lRHFgIkap%8oJ8<5}HjMM} zqtd&5EIFUwpDbPZ|Hiu8e2lYPzZ&}fj?Hu9NLZ82z{0@rhyDDVsPMdY#@RscGI+ZB KxvXA^;Cpa_qr ii(?4K_2hzt1Kf-b3M`D#M`V(L;tZayelF{r5}E*BlopNv diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/bottom.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/bottom.png deleted file mode 100644 index 97abfc9346c45b337d62b22726eba355e569f1ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 734 zcmV<40wMj0P)xN#0004NP)t-s0001G zWo0sG%ra@wHf6msY0xrh(Pd?2H)XjpY0*AnrDbJhH)Xj{o{}ZJAnT@f&V>%|3HKPM118$hWti`{6>fTNQeALi2O-_=1GV6N`K-?faFnw z;8%&{T8iUah}>R?)nt_HW|r=3l;Cca+-{lZbfo-srTlrH<&3Q5jIi>MvFwts=90AX zm9gfQweFX*G z001#`QchC<1_%fW3=9qt7#SHJAR{w7Jv~1_N?KuIVq|`Rh>VVznWxy;+}-2j>+JCG z^YirdjP*`p0002-Nklz-OcXs#^!fme=BPdma6%?aZ9LDaz;NN?#+DRCTOB7{(VqjOXos z2Ngv!*PL_Uo%5U3s6;}Ayr-IgCsn;T9(0jVKXs~@fIH=IF)`{Vp?PWN9IyMp)dBRx zM2LjI+{O`b59okCJsBp!H=ayx!lKX2#)Bl-PLTcDUmbNToY!`TBjAdg^ zveb0tPc-cXnx^G@yb=|;yHV2HWTzjF=uoau$c@CjcKRc^{Go8rr+~;L{fK$mKBKHlMp>6lvd)-hoiWKgZJK$?DDxZ$WnVGM zxek=FD?AS(3(lJqJ~kA(3&b-@s=EIRIA5Y)>eD>CtD-XWhdG_t$%O6i(|9Ji3*Qc+)@6Vhl z2@Flck|4ie1~v{3E*>5}K?zAoIR#~7Yg=1;2d}8a#H5tEhK`=TnKPH)xN+z1n{#N;v`BOaBbFF!T0vYve`yg=d1 z{X+pfIvVeU1ZBBd9yT^M{u5hvDZ$b6_JIWx91J#W-)=IQk(+Dwjl+#ow@ws^nBaQ* z;>nXI*;wAl$b9{&=r^hSYb$fOYF>vz`>J>iksm9$4V+@nFMlR1$;vX(PHNGcg7d|i yuPRwtDkL>HHz>0TE3coirANfxT)9(`kD+L>sV?Kch`&JJF?hQAxvXr+~;L{fK$mKBKHlMp>6lvd)-hoiWKgZJK$?DDxZ$WnVGM zxek=FD?AS(3(lJqJ~kXo^ zS1S&E-G1ubjx+Cep80U(%E!|;KcBtz<;sIEcb5}K?zAoIR#~7Yg=1;2d}8a#H5tEhK`=TnKPH)xN+z1XiIj8pcb#NycBtnL&fKtINp3;_hs%X~_b&Oc>1gC6 z@v{gRYG*5JZcymnws`X7$-a5(dVA+KFSfHk;`wRazJdp4=(ghZ z&nq=bN{tGK+?}V$zN^%8wO!x9pwFzzShge~>51s%X%inkPg5~G!YG$vURZwmTQAVF N44$rjF6*2UngE_EN&x@> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/downarrow1.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/downarrow1.png deleted file mode 100644 index 80632dd56638450fbe9cad1b2ae2e23ef6cd1439..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 758 zcmVxN#0004fP)t-s0001G zWo0sG%ra@wHf6msY0xrh(Pd?2H)XjpY0*AnrDbJhH)Xj{o{}ZJAnT@f&V~*|3rM{Muz-Ghx|x~{78uWNr2`_hxkf=;!1$zPm1}8JIW|r=3l;CWj|8AAsZkgzAo9=X^{B@=Ld7tHeqvnjP<&3cM zjjZR6t>}-f=8&=MlCS2KvF4Vw?w7OVoxuN|y6mC4>7%^rsKWKC!R@!o?zqhExyG@bL5V^z@ANPGSH60QX5mK~xwSmBC$0!cZK*;oo_gx||yb znW02P(M5RKP2c~z`#>rpNODQ)UOfMuxu$)AdLH;I#V?a|l&n2Rii6Hs(jA&lm!}ym zODmjAuSc5Z>p5JefB}N(?JVZ)I}XRT$SW|w^zx<=IUh<ho!G1K0?PW~UMU3@#HE^(JBTkp`8^n@l75+w zdeCF@Xv(ESgU^D2d!m)klVIz?0FKkJ*(JzpP`{)Z7{GfM_iB-a%IB-xgQd0c)nHN} oADdO_0L77t!a(hFUo`y75BxlAO^F|beExN#0004fP)t-s0001G zWo2b$Win{YGHKB^WxXX0}aajyhzsGHA>)Xw5Qc%sphRJ7%{$X0|eE(lTk!Gib^)Xv#Ea#5ZQX zGHTK?YST1o%r$DvG-=B`&}GHTO4aL+Vx<1}*QG;-xN za^yC4>o<1mICJ1Tfd4#!|3HKPM118&hWti{{78rVNQnGNfaXbu_)34`N`T}~iuO^1 z;8%&{T8iUah}>R?)nt_HWscismhNnn;BBD)Zk60_ndoz*{dcDPexv4ur{{{V^o*?K zjjZR6t>})i@{g_Nkg@ENujZGtZro?tHJ84!tS`t?zznH$JX-5 z*YwTW^v>Y_(BS^i;Q!L%{@UjH-RAe;>G|R5_~PpLq4>-pyG`RDEV>F@gM@cQiW z`tI}l^7Z@l_x%6={~yx)g#Z8mGIUZ-Qvd)42nY%c3=R<(85tfRBQrZaJwHH7T47;g zWPX5%jE&D6|e|PN{O&CA`7w0 z>6*BC8tW+XB80hA9g|CHYAVy+wM1c}Y%1PmX+=PgRvoI%4HcDlEU2qX%gRctt*i4; zVgidX>%^p00Y%fQ>*_M%^!UJnLKcZhN#%8Q6?JtfPL@XEU_lAz@aWjs(z?33Fjp%} zGa0a;luclKU9oF+oxguwww1XoSWv{&HmI&H#|kJ`muqb-4Hjh8v3CfrtIGz8<=NRA z2!I6{6xYNMJjrxK^R4C{XlkJV^?|i)SUYE-1-in;`*ucYbVXE=$&5B+*8&)1t?NC zWgd_$?VJQO1c(}@Ed;5VJhytnEFf9cKNBd@I2|Miv;wHOe#(3xYMimCdFB$Jc-!0+ z5VCW@s;&jA`xdY3Te5D_@{LngZkoDs^VC(Fr?1{JbIrDyYq!l>yKVNm?Q_=en7d); zJRsV*bN)}(|kDlIf?99$%XLlVxyZgks zy{9hhJ9T0I>5E6sUpac=>ah#gj$OQV>dMVC*KVD?e*5z6`&aHfxbyhgy(iBfJbU@< z_1ouf-o1MF;mwCnZ$Er`_wn-Qhue*FCL^Vk3X|6k1V z-VF>*!;&DsUrH-jXX%3p>5>{dX8AfxzYKA&$vM3+ zdxF60b;j>?4QC%xR-T~H+&gXa^GWQ*`=>cIwB0N3D*0&fOzen3L(AfccZDaLZV%DF zWxhaRiKo>J&q=}gp?@QzL=ql#ZZcb3DO?wRg^{(wyyx7Wt?W1VzLRE`;#m6r_+$NB r%WiE~Yk1(&@y15TIr+B0kN*6vwUtWR@@uq#!NB0@>gTe~DWM4fM0|jT diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/exec.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/exec.png deleted file mode 100644 index d5eaa767bb778c2ed053b3227575c6f88e57c577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 796 zcmV+%1LOROP)=|^L17E!AxuST|Fg_z8Xicx= zN``WiQu9?idHJc|4s1KIE};9Dm19E*ZC7*2XELT>jg~OyD#)6G*Am5C_Nxuq+OI4* zSO0iB@#en(okwb8!=~0o2iSwNY$}$Jq+qo`mI-aN81HCA{kuxI@4M~eNB5nr1LWO5 zRvt_=)(k5epcZ^KRhFh}i+{f7EDXOWskuYpTlAc225g-wVCX7J<2?`EutV4J1D2sy)`Cob zJccU(1CuwzIbxZHcW~@1TetKNQ@RVl>(hNxZVQV!Xivu9s+7IfbWYz zJ6%j!%??|prl&2r3U>nHTHLnUh=6EvmQdfBBjvMude#6J-fAi9sfq1&@9B3Z-bg&$ z^ux$LGgAQxRJTUNDZ*9(Hh5aFTpJ(g1?JcL587T!ZEoma6kH9&#{H?O*rNxZk9?K( zLWgIZ@B;^52iCk&{|n%I!9v5yD_`nEp?lpkM-P>TKRsbt9c6d)aDHX7?-Eeve=2k> a*3~~*%rVb)$|Gn10000AmnD(D< z$Jg1j0)v5~EG0pH!3+m(JW{=BGZVG;XOc9QdZc*d#KKvNhzUHx3vIVCg! E0PqPgvH$=8 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/exitFullscreen.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/exitFullscreen.png deleted file mode 100644 index cff388ff19a16c815545ba54476ffc32817c60d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 427 zcmV;c0aX5pP)xN#0002DP)t-s0000p zWTP}?qcvrtHD;tXW~4V~q&jJ)KW(T&Z>dFbs!DaOOLnbIcdb@_v0H(%UW2n{inwl& zym^2f;py@5@ALBU_4M@i_VxGo_V@Vr`1tnt`1knu`1tww`T6+y z`T6?!`TF|#`uh6&`uh9({QUd-{{H@{z?`%I0004WQchCh007PL!^xk`q-Xlc0@BdsDeuQJeU4Ca)6A1iK`J+3orm*Fny)-x*ws9Q*s-1~J zr(Q_9f*`4UWo__qjE5yqD4N*p44%$sNg&B}_6DyPNg9kK$@2^X(1$Sqezalwj*>K) zNs@nQNoz;4{L6GKqTNAOJomy{F++HN3X(0g9ysbX0PhMky90xZG0*yQgWsRl2-_r#p49xbP8M`)CqJlxlI3QVv*NsS$LY!vg2I!&x(zzg`WiXU9GMieCK-S z7@P1p-2$Ah4>`vCd0@4VA?axkqO+_X#oB~LbAsWiM#qR-@R_>2Fn5bE_lT(P5>ea9 zV0(A+zT=e;7GA{u3sfqN^!U>PS+LbH7m z=6)|yOM9^UVtK*r3)6Y#2U`ei?Gw?`H!0%{-CpoEhVoYv=p1s(Ki%aKF*H1m(8OwK zPH@D{&_)Z|skQ+Lzssn9rB_~AMk}@LE)>5Q1ziuqQaCm%xIc|&!vtCfe6SGql4`e0 zctLm*-KnWFfL6SoKpEZRu-l6;6+b(;k3c7Z9fLkO>!2U@p{+l#R7PoOjV*AeP69(y z<^cCz<(b39V41?Csil6@f3Howfu;F|BHY*KBjk#1b}%%hhW$y;n`PhwCWCfqYGrfJ zBpPYyBfbO`t!hN6GNf%sf|mX(7?NDW21fq&4^q?4OQ#uM;<518N`^hwo@$6<{tY#XxJ)z8F z8*=>>TP5MdZ$-$g{0YC9jv~A6(2Q>J5xBvH;ySknSv3cw#M=?&$Il0UHx1kxW9YIw z+-}<+kHMb!oPwKx$ss=h}KePLW?SW$#>Ll6=3rh(he z>f$#m^_5#rKO5eBTF0h}*0D|0SJB!)N-c|0C3{mJM~NqsPgSi5RxJNNugm!#wID_n ze&UBqyUqj$FIoOyfW_1@Y6TVaPiv^P)H-T4^(FNM<$o6CSJ~fEb=Pf{qlxnX0000< KMNUMnLSTZ*Go%s# diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/grid.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/grid.png deleted file mode 100644 index 6aee6e5bf771c6e8c24eaca986603c5306072aeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 688 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzVDt*`32_B-Q&UroGR_!fUNlSH zYm|8b$N-9%r|twY?2?v3*dB=!tW!7pC${({wSg6%H_A9=owm(4rOzs5Ge{)kEReKK zS!12H-6n0DQRXG1%=5+>r+~;L{fK$mKBKHlMp>6lvd)-hoiWKgZJK$?DDxZ$WnVGM zxek=FD?AS(3(lJqJ~kXo^ zS1S&E-G1ubjx+Cep80U(%E!|;KcBtz<;sIEcb z0T`NwB|(0{3~U@6Ts%B{f)bLFatg}E*0#3x4qj1-iAgDS4IMpwGiNTpapTV2$B$pX z`S9WM=PzG+zWOBrH9zrmaSV~ToSdK_YQXL3!L@k-$HtSdBz9LyWomy=IARexM|e|F z(Wc3FOTY`t_`7;`-G><}MSQuj-3%{kg&_ zv2fk<;Ln{MEKMBpyn$sqp6?X-x`&Br56={q8xxy4Cx-h(xpmE-J@JSDJ45Af^Z)#{ S|0e+b%i!ti=d#Wzp$PzDK24?o diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/help.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/help.png deleted file mode 100644 index 65cfd09cb01e8673ed5804eb5d715e1832233870..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmV;)0yh1LP)xN#00045P)t-s0001G zWo0sG%ra@wHf6msY0xrh(Pd?2H)XjpY0*AnrDbJhH)Xj{o{}ZJc0i`g8x8+|3rM{Mu+@Jhx|y0{7Hc3N`K-?faFnw;8u$DSBd0WisM^| z++K*)W0LY@l(#?zznHz0K~v z&hWs{@5I#c%h~hI+Vs@m^xWq5;OF(`>-GQt|M>eMg#Z8mF?3Q+Qve1C2nq}g4iOj` z86F@bGdn#!KR`-aVPRrqet?LKj+vRK*x20N@bL5V^z@ANPGSH60PaadK~xwS zmBIZ=!cZ8%;op1CJLhmVf=WfDKZ1hp|8f!n6N;8H-PhU9w#;szo`*jZe%WLsP3E}} zevD>Gm}u&XH0Mk>iVY(0;~Hc3F!yX=BjBjFkq(Z zwqnS#p3p7g7z`w_ZFK+)Rat5T3Zux`CPmf^C-zENf7urv vl(VC6r;9Q5$8lddK)8@N3ZyT5Iq)yvEplb`Y~F;I00000NkvXXu0mjfAu4Dm diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/help_relation.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/help_relation.png deleted file mode 100644 index 3bcaac08a7c5fb6f1a235e4787d2c216af6f1efa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 919 zcmV;I18Dq-P)se+gP-;aB_0E=K9sROM-v z9$NXQv1guU9HL}ZMD^CW^V=6LHh+V_eu6|)5m9|fGYHhJE)1diau)}hCz_`aqk-hs z8G~F|-L?y_wLsQ1iWYjAP*isdi><+v)$)y zokLf>AY}34<*U8@?cIe5*=$$k)+Fyj`vGYp(QBt7Ak4eKK5al!5awO_*<=?Hf!;V3 z1sPWn$XllbA@7`uf{c6Dd#7R`9`6##F791zedt02Kp&h6hZx>v7Ym5!qf_A!)4K*B zpPUMZ7~X}ZeE{nwL?D)TnFb~miRE2+wyWn|ZFcG3k}5gsd-)+K5(xw#N(dso-W!(P|{S+5T*eLf2Ft_VnfyS^NSc^5B452XJu2ZVc9=U4^=0uXa% z?99=OBs_&(5MyRETDu9w=!Ec@QHOwlp)m>~=v}E0I?K&C}v&WuA4q(gdr7l({n@kH;k&cx%A)4a>h zuJX1rL%x1Xy6*~s9G@tabl(*MIaNy8_g(t33p8vck&y37{rK7MyFepG;)nb)8_M6S z)t`gGnK1!ER!8}Fy~g2yckzvihfr_3fWes&{D9IRbgG*5%$dVZhlpz-?A+G=b|Nry%@2}s#fBgLQ z?fZ|3`eD&_bi#P9{y?XQH#p{R9UfzHD{2ALUkSTngE{-7_vdM`F df=8Go8H61e^&2*_?*_^+c)I$ztaD0e0sw=zJEZ^s diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/left_panel_tab.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/left_panel_tab.png deleted file mode 100644 index 733588e3370bf9ff0fe412dbfa12ac435d1963da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3P8-r!3HGvcdbbWQa+w8jv*Y^mmcKia&Qn~4R~)} z{5d9RBAEC=FU*?hoQJ_MyvmdDL2zhO;f7cc2ru>H1U0ergnz7=jb z@vtrz5l#Xv14irGx&NJ`Waq9T%$6Cu5s-QDJ?i`RFcCNyrO_fmY3w>Oyt(xdIB@Gq zimA1_Y^VspQdA0(2exfxVfPxEmmTEjv+HPByPmG+dja_7(1(xE`YeuQF>+1GBp~@YLZG_@0B20cT%(fyp0#KzS}Y)+j9i zjYKX0E?59sD_3by2DAZX*~ns%6WcdY$>;Dr2Y_Gpf5N$ek1@WB*40K;8)h(Cd($=4 z*b}ja>M`g@FSR)$MBJT)HOBo^ntHQtyxESGp@c2aBR1dj^p#wV4-XsmBKH^S|DSM zuoFDEW)%P@U)s$1J$w1ScQaRyeMKshrlox;GSnEYu@f$yoA~yL-=m2;2K)2nb6)p- zvokE^h{71RzJc`84lW-#f|YWSfy7B?Xn1rjgI^rNb}dB0BbCnJ7Ym)wT&bMB1AG&l zWgU$tEtk%z$tTm{8(UT;Rtgoz z2w`E_HkJ^GAh^W%SpUXr^0R-m4*~W<{fyT1R;Mk35BZ=g&Dddlv5%pcqU3TIB a5`O@wr^TIerJCFT0000bVKUrJ)WI@5d&rUhaQ#>U3GY9#k* zFzz!l*ssKRAfEe>n&J^B=HoKF&*E8Mm}>nfWB*ab{-agyN0;=EKB=EctUps(erB@& z%wqYO!}7C${Z|;vuQ1kMVLZPgd45In{EA`y703K5f%UgH&u@R0-vQ#k1G#^Pi2n{3 z{~aOz$6NeQfaaeNjX&WUeAt6-~bknRJqNB`yLt2W?S~H^{`&Rj&mURma6JKHSL_*QlM77eRr|( zK6fSu9;U653@i+nwMsQ~&DmKd%sy-9dgkqC8%?FdzY^y!w-Kw|w=HdA_wnufB^%B^ zeK{%gQLeql{td<77s`huJv#ATw?F#(Hm^XHnc*RecBy(R8R!enJh4wFkKcj8S!%UJL%E=ImIPByX6y?-?}>e@KU!~aq<3&ELrtG=FVv;nf={kN9`PMW=;d$ m%S>B)&oT%VcnGY}Wcb7E%~zP@R~zgEN)Vo|elF{r5}E*$H1KNx diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/page_add.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/page_add.png deleted file mode 100644 index 5681c1291b1d19e3265a9b72318d56ffbd32c4ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 791 zcmV+y1L*vTP)R<3CC&%1ptdz2D zLuz@CgNCCaQYysROH#|aNm7ZCiM`wT>~Q*rJ^uw0i#koq4)>bf$@=Xs4tD2uRyW14 z7`1Mqpm7fJ>T&j9^7Fl6!K7m2>V}*6duF`oo8{3r$D?@03}3V1UX zz^l;!>X-m(>3l(FN`4Gl%r7PEUmAyMAj^%!j-c$eft^}*{Z_UM$Ts+(XyYMo^GV5~ z&#|`-pj?}U5^aWrm1r`;H;hs0W^8L7*VKw9K!d4e4<`O*#py+5eKFE14&kv@E;SRU z_#ASFF-pyiXt}2Cs6x9QtD1}mbeD7fJ3Bjm`|qsgi(Ahg`0_jF<-_;?JBK5YY^f_Mr#1D0 zyi=Lp7^W2-<$LXwcfhasp~b zoye`6M%v3UHYl1=*tzKbY9`#6gxt%HI*`iyR9=3IDIHv?(5vOI9Z zVm0xC{S^E;%b|bPE#f`XE_6%~G>WSvzb)_24S3bkDK*DiRPpU!*1$3hL%P&{AxKX4uGMkm9{`r(IJ%RQbyZ z1>K{??n3NSbzm@#f@TViE_lS~7QC&4zfhQH|_ieCW1!Z-%|6j3~kpBpgB4WtylLT`$k6K zmm;I}#1j(0iMLr=O^Z(aPXb4U5Y) z3@+9(NTK&BRVjb>j3V1{3YdXEh^z?m&APD|g^1`8zhOTc49=oq(CQbJBj8-1Ely0QAaFDgQ#iY{b z%H-X!ze|Ha5jInT6`JXcP}IkS7&irvW+?OvD^C05l2f3;q{)f#zge=mp!+08&&~ZX zW<|jCI1Cdq2^5LjP!}!92>>?UiIg?A97%7oM5Z?qe`Jm1FwG%ZJ$ZEP4*xkWd|eS0 lhKh5$TqTLeE4S89`VSbz!6fbc`bGc%002ovPDHLkV1kiaba4Ox diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/page_edit.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/page_edit.png deleted file mode 100644 index 8359a6acdfdee22fad67c1ca59237b2a277f2f41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 847 zcmV-V1F-ywP)Q9L7E6B9EC@?6j=$BFmMUj-+HuIvQi^$R-Rp&6;yNvoxKXIh$_o_c_nb*^Zx{ouqD@U3cKk!?`#wo-fbCS+eB6dbVBcIG%I6 zTf48)=%?{CB3G4Md&s`q-DGb?7n^xjUz2vIVd+1?-BX7VIczNJ?<$Rff!j2-rVZGg!?zI;I}nm;$`>DExG%-|F_D z$L5457(>?OMZg{91~N_W8%sy-Xng@&YbgfQcQIi)h{#wTyyo-x`Y;#$?6`cbf}DUY zWroyX)@1{k3h=P~NZ{42?T~^F4Amciu5<+$x+{IvZuDEe!9?$74+Xhc9GPc3Q-fQ} zy2zxT!@(9FSBf$~jI|)9doW$k!i(ZnP`$Juw~534`65Kb#?!jg;O3G};_`Aht&ii- zw&kcOOhfyv95g>UgL;z-_gM+GHVHLW2`Zg{Fdcb)QCn(o(-|!{>Iu&kcf@f*E6N`! zb)wvH`mWFlC~Ox{kbG|!>ByqAR-ulh1UD3aa7_84;nC@+M8l{jijn!ILovDJ$%Z(Q zCP-pD9$b_E&b|n!Ikiry(XCgt&8|~v$e)xNl0i#Xs(+_YlMIDAkXG=nBfYRi^?&`O Ze*tmkycU^U0P_F<002ovPDHLkV1k)+kn#Wk diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/pdf.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/pdf.png deleted file mode 100644 index 8c110d30b90e1ea8763800481d337c2f97ca6443..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 905 zcmV;419tq0P)7ip7{`C_%2?d}#RSg9=(vFIux5CXwKW6+CH z4#pazrp8`KOuTd9X5s}B+yfqrCKxV$TqK$_u?aNo+7?KtZVGED{cfkbJ3BMmoevKU z4WV1SaPYak`9J?(-sj_eh41@3%aEQa4N#tu@k6<5D-Gjn?CKY{7~ zTPcJzaI`zs`O&E;2TykaVBML(s(6g#Os@QHkjpPDh1|J!2fuz}V9Oq+`^O^)G4M)P zOXs<_>UgeMY-nc1$FBP9ZPmEY8>8n?GH%JKYsWwSzU3)H@y{m{@y-uV1h6YUg|f?X z_AUU1<)W8dmI@99!{hBE4eV`e-ev}NpHHXLkxjt#XITv?@JY|hDu(T{P^_XGRSe4k zz^;0fY=;%2%3^Vir9zcs`vjgGeJ|1dLA=(KUsJV6v?=7Wxay&)5{e|K53h@=BESc$ z;xRcdm|SgQG~a}*`H`~QeiX<*S#oSSmPFt3DD?r^x`c9Xo&)4B!%=u}-41 z1=^DkYYY=q)s9*{6l<=`)Ur&m5>qc8mVcZy>_X{3f8{mWJz9qtup2 z)_3m~v^B%N6YJJ%-{n{>gDgXHJ-m7Lg$7Oh?3`LRvFq0CA1+@;))ajo?JnX|8M z7_NRZ&h%^v!}d{RC>15HTpq*sVRFWzlE433G(4BDxre>4Z@ajx7Zx6!fBJTWm4Zpd zE`w9XT`Oah4VHC-dk=Jm?@Z5xjp46^5OZ5Sy~M9W4-a1-wJz_7hgxC{LCO`6s^jx0 z&G&sKrVPe%`gE!~_-RVq9n54h#jSt=Aav=6(Vf5i>3rdM!FP7Vl}I!a1YosPAwRcP zu9*7IN$2Lpqbu%w)6KQZ}14 fp7e?T{g3@GgUV{V?*eQ=00000NkvXXu0mjfu&lUw diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/plus.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/plus.png deleted file mode 100644 index 11ef00239519326f3df0f83a1271b650371a8463..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 969 zcmV;)12+7LP)1v<_TFdjbDVQ#oF+|eLTCIzMya$vD5O6jN$R2~hw3U&L5K*t3eqA7x=AR) zE`z9)sD!R6H8YeZE9l1*W>ipgCg;a9bI#f4?7hDAb#Zh+q%5fSV%;owc-Q*g?}h(Z z<{I~5WhcFB7L*n?@4+3y{2pfB`4l|Qa5ttaSAgZWBE|5DV_lk2$Q(DXo`>CZ}C*Jz$`&)UD6u@2vu31#s znIt3BT$RAYh$^B=v*j6`XfRn#+YTLM0wOVI>nHJce8u3({^u@pEWmvq&0iB0Chlzd zX)F<574eYf4SM3$ys-Lbo>{hsde$TpZMzl4`-rib^JH0lbN{D=K>Mha8uzDO$x|?R zP^I2#&~Q+xWc2k6P;3~+Y931p9;_y$DKwjcnrh#Yj?U#HRF8!KaltP!MsWhU2uQ*} z@-!O3jinU;#HN$=JzKCQWO(Wqei%KB#Uf(xcx;yS18tysDTvti=Q~Hy7TJ2+yH~`i zySRw0ckBXS-^uqmaQYj{Q2`N96x7GFPZl3cIM<%0mylXE!}cS0)5;xvoom^A^E;fY z4fFb;r?5nf*GDPZ2oVrb2q6rDKW2exW`Arsk413KkUPh(7Y;L%LY{d5(!9oZXNQPP zJ8J=#+$lt1AvNXfx7jJ5tJ*KJESYxBkmrhX5cq@uKx3TGaFP=lh)e;i1)M0NLKqY% z#L<`gH{=sn1pBeQH@wo7=*zX%B+dox&2V5eB(@bY=cuMtyjQ$}S0OSn<&I9$qCAyt?m+ z+6R|8vp^2u>krKA?MW*4l*8+K#Ti<8M&<++i+b>?#6dz=ay{ia6>4_!jjuLMzx4O@ z^%~K}mGgFVn94Ss?Q~Aa#bJykumQ#za??CfWo-M`PiDLSQ6B>Iy~n)1V)>z1OKUB` rLPax2cDk+?4<1t4&*0Tv_`m2+)E(fv(RjDu00000NkvXXu0mjfi&53y diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/query_builder.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/query_builder.png deleted file mode 100644 index 13262f92bb7ac3659730ec23a5915574f0c8caa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 685 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzVDt*`32_B-Q&UroGR_!fUNlSH zYm|8b$N-9%r|twY?2?v3*dB=!tW!7pC${({wSg6%H_A9=owm(4rOzs5Ge{)kEReKK zS!12H-6n0DQRXG1%=5+>r+~;L{fK$mKBKHlMp>6lvd)-hoiWKgZJK$?DDxZ$WnVGM zxek=FD?AS(3(lJqJ~kXo^ zS1S&E-G1ubjx+Cep80U(%E!|;KcBtz<;sIEcb5}K?zAoIR#~7Yg=1;2d}8a#H5tEhK`=TnKPH)xN+z1$dexeqy*pw~2JY0-iEYH|(-Hx7hvVpbL z_s!e4#fmph-SXhlIkD*Nizh6Xa+8yvKUi^|zi`r?)%r3!vKK?bY+V1J7$K960UZ*&wSqL!$ENlGG(Xc1n8k6fzuEH2e8ACrJ|M OSq4v6KbLh*2~7Y!jZ9wv diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/relation.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/relation.png deleted file mode 100644 index b7b541e67390a28d2d55fae87495c5b986d782fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQa;Q>A&u0WcBL6m`upMgP~K~$cB zL5qP)g@Hi`ETY1|r3e-@W5}G%z;%v+VGjetMTX*43=Gd07|tf%!my}6tJT0D{HTRhS1Xa%#!$311CZ+UlR%4wxl ex9|D>MVDW1D{E1j%Y!J8cRgMGT-G@yGywo}M_ZWy diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/reload.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/reload.png deleted file mode 100644 index 63f0b6c92bdf34915b64e60f81886f3c25524ca1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmV-w1C{)VP)xN#0005kP)t-s0000| zQc`7QWl~a7SXfwNV`F7yWin{YGHKB^W4BULQZi}KGHKCeWo0*IxiV?dK4PV1Wo15L zqc>%^UteEHVURmzvqoKpPho^kVumtk%ra@uGHA*>X0=UZjyhzsGHA>)Xw5Qc%sphR zI$xzbX16?MwmW05GHKE>Y0oog$}?!nG-t#&X1+3N(lTn(G-}K>YRoig%Qb1rGHK2- zY0ffh)G}<>GHTO4anCYp(>`#|G;!lJa^y5}j@xFI?rEI* zY?R<^nCont@NSjdZkgzDpYwU2<$9+0e4*ujqvnC7=7X&Ggr??-tm=%c<&CW8j;-jB zvFwts=9jbNnziSezW$uH=$*j-p}Og#x80+;;iJ6jq`c{+zU`>O^|8wMvc>4M%JQ|z z?YGMAxXkXk%<#I<_`=ln#MJS|)9lI9<;v9N%hl=2+4IfX^v>M$)ZX&c;Plqu^4Q|? z+2r=z=Jwv__u=XIq4?E2;C@9FIE>+t&R@b~WU^z!xl_W1nw`ThF){{8;`|NsAt z!ca#5002C6QchC<000321_lTS3kwVk4iOj`85$lQAR{C*J3T!=KuTI+VPa%vet?FE zjEO z8e^gxxBmYZxH2Xf6F@;q1Z;=Crd8q(=sECLf?sZAi(;ME90(4A)3(!5t2|w7D?st1 zJsRBg9nA94TfP~vfY$i>p;LXC#y_t!oq+{h4ew>%>RP%qQBrOU5}a^YRVO~S(pvX} zHYkV!M~|A&9^O^ENf$ixY@h2u4kj|715@e|jn`wDFfLaIv5{i5^XY8+XK#R(N z1!d3Ag6`#+3%u;Jj|2&MqQa+%@#<-6D)p6v0FEziJg^Ln)X(qh0t+Zj5d=yqWo;+% zE^kmk9T#QTcgYsJI7w>|90=75t;VF4-Z%WmH`h{kdvJTl1poj507*qoM6N<$f`7ls ADgXcg diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/resize.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/resize.png deleted file mode 100644 index 337dae7a43644cc90254149c9d2bf4cc37a7f3c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf>YrZEJbBXP{fTE@>%*?U6XaI(4&uVvAo=8(8sqql{D5Y1@2L`m9nmgG4gU0!iDH zHP&g{ZPKx^mE8I#P@rkSUVGS7if_7$U? z>p&^H!t)@q;JiuUW0RsMCPhz8i=LR3y*4jg?SDLgsN;`k!!ytJA71s3yc(VaHa`gOd=l05IJ)CbT*uXvDQ{ByZl_Iqmow!- z&Vv8B3;yR#y^}ZdMe&lqmGht0Eq>Oz@=ed0r@d>Q_pN;~VdI-An_f@d@_zc}C-V;c zU$FPnfmUAc2dMqgEJgT!V(A2orHkWkgMv?H%SHnO(r z1SKgqEZDG0>)h2#9x^%_55+j2I6Ev@I+G_N;FKPVTG-TtR6TAn5yMgrUoStu6RTI9 z+Puwh8XNbfR~DAm*0?LP{fTE@>%*?U6XaI(4&uVvAo=8(8sqql{D5Y1@2L`m9nmgG4gU0!iDH zHP&g{ZPKx^mE8I#P@rkSUVGS7if_7$U? z>p&^H!t)@q;JiuUW0RsMCPhz8i=LR3y*4jrKMQ>TAQoAxee%7dH*|8p1o&zpKDZ{~}< z+3!l`zO0=8v})n2y2a0W);#T9^Sp2Ei@uGY`qw_2u<^~L_0OhnezIWqn}xexF5dHM z?cq0@PJP>P=G{&Z`f%{lrz2NBp1ASp^v%!b9{j%mL=XR8did|sqklJ^{JQn**PUnI zp1l6?D2Q(0@b>E5V5G#o@$}1C7CWV0YkX2_*%|WoF}L=k$H8;9x+E^j z(R!B}`tjq@s~=e%Z`}z9to*&@)hn+B38gh{-9o|w;J2`WM!s@=Yv1Tqh*N8$SKdBp-|YGGXD{5Oz^>#XG4scf j)Rd*H6*D9}xeFP-zO;#B+^XRK3<(BLS3j3^P6xN#00021P)t-s0000J z6B8Uqh#q*OA4#eoSg;>_upn!_AZ@%LbiE*my&+`EA%n^xj>;l;*CT7#BxCC&aOEU{ z_`2ix_4W1m z+pzfD$N1yA`|ROKkSKcq0004WQchCJ%n?a=h0pd9>r0I&QGBHV5lfT8!sH{$I)LfRy>BR) zxTPca!go`oEnpMHfUfIvpN;cW8Xm&N`~^7CZvHQCfIwTU7xW;E00000NkvXXu0mjf DC85Fs diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/save_as.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/save_as.png deleted file mode 100644 index 08527f9a0c96a9f68476bf79c7ec05b02109ca53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|)JP)xN#00004XF*Lt006O% z3;baP00001b5ch_0Itp)=>Px#t58f-MNDaN_~W|!?BO_emw2i3Qk(Fg&Gz;6^-6y4 zxY78N!u4yR@`bVVA4#esYuGAwOrN8$fWXdFP z;c=uw;_)A%n^wh`mII?;vZvDw6G<$<0=fvl9~&g<4YH00001bW%=J z06^y0W&i*Hu}MThR2Wy4%10K0Fcd&h5KtgM2uPD^S336nugq@}oG{ThyypqRAI%|I zRuq-SQP*}0)(kt&7x&Xy*U)s9wJprt#D;JTVCJ@Jdy8QVGdFPvC@O~&%-r%WX6U*w zbIa?3;n{}yddE#WbajC#sj1^eM$v7E&}2%%1cjQIuv`Nl{pD zU`7&o0{W$IQl#^RJdz|KzJD7LW@`zBp$U!nLvJ`65kG&|i`M`E002ovPDHLkV1jNZ B(!l@# diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/small_tab.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/small_tab.png deleted file mode 100644 index 839d74e27d88cd25292f7ac8fa15ba04d8af9c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{3?%2B3|#`Gj01c^T)TGtUwZ3*#_|6dYyLA# z|H-iCf7RCiL5uz~^!#L)^gm9W43$3_Qa&-Hykdxc#Sr{zOTwWjpms}77sn8Z z%TG^jR&{Qv*| zFHcF&2THS*1o;Is@C%rkTkmBRe+v}R^K@|x;kcfhpultLpaa9f5++0Kbf$w}6by_v rFJ8=iYRO)WBfJUAJTy2Y9u=4~oR2nYX|%X#1G37~)z4*}Q$iB}GK(uH diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/toggle_lines.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/toggle_lines.png deleted file mode 100644 index 605b0605fb79c6d2f8537fe973d3b37e773c5393..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 461 zcmV;;0W$uHP)xN#00004XF*Lt006O% z3;baP00001b5ch_0Itp)=>Px#$xuvGMNDaNj;-kb|Nk;-(|)7oMuz-5fd4>*|7Mo% z;pzBDi2O2Z)Hi0nUWnChmE2{H+l{Q}G-t$0faEi1$~1E1NQe9~Y0mQX`$>T2xXkW8 zanChr$~0-qHEPU0aL+Vq%r|!HHg@Z5l;A*v|2%>JG;!lwh}@U6-aKh(n^2gZkgz)!u2w0(xJNP zWR&bUbKu0(@iJ-8jI8C5vFxf(epCPe00DGTPE!Ct=GbNc005OqL_t&-8Lhzu5`!=h z0KhAdgy1f9cXzk{KdPmdVfp}ep%91NX4nsOAO6V6c^}8)`6PneKn8TbvK;LJI=&cZKb+DQpzVoqfp(jKMuc!e2qT2kP5?*`HBDnE zlmYpkn)3`08f`^TtB|YNPU*|BEAYoHo0etP4Jg6~E%6KugTd2k00000NkvXXu0mjf DxcuFg diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/top_panel.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/top_panel.png deleted file mode 100644 index 6856d5057d1ac2966b85ea39f1c6b6a32674d749..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmV;b09F5qP)P)t-su&}WI z|Ns5{{rvs?`uqF%`TF+v`1AGl@$>cX^7HNR@#^mI=g?p`>*40<-{t4sxYNMJjrxK^R4C{XlkJV^?|i)SUYE-1-in;`*ucYbVXE=$&5B+*8&)1t?NC zWgd_$?VJQO1c(}@Ed;5VJhytnEFf9cKNBd@I2|Miv;wHOe#(3xYMimCdFB$Jc-!0+ z5VCW@s;&jA`xdY3Te5D_@{LngZkoDs^VC(Fr?1{JbIrDyYq!k;q3yHRZJ)D#$J`A& z=WX0Mf8(yD+x9KnzJJBegDZC(T(#@a+Pz2C?LE5j!12uoPi#AKYR9oNJCB{+b^Pq^ z6X*7xy08z3PG8u6`r^?GSC3t|cI@J{;}@@=zIyZQ_1l+k-@kn4!Ie7?uHJok^TCr_ z51-zB^8EhO7Z0AjeDdak&)>iQ|NqxKl6M~%zJ?`1e!&b3Y#bb1JUo1Y5|WZ~3d+XTwzl>TUQvmO zNhx&=9X)+BXD+{Sxz><-4mvn3W!w|9|S?Iu?Jlp+- zL~ZyTHbxDO+RJVsx6`^g?R>;VDxR@CeO(Zd&v2EI`BZ4U=idj$k@kyR92~DsSzdGR z@d+)FtJ@YRXu9hDUNgUMjnmzf1q;r7Dm>tQwN@|U*-BR4Df7&J`(*#s&40i9%EHEF zd2=tNXKnA?EXDJH&(~BUrtnl>VW5?Oo=a1n`>iu#=RV5YuV0pV;?doUGl0Rs;OXk; Jvd$@?2>`Lfj<)~+ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/viewInFullscreen.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/pmd/viewInFullscreen.png deleted file mode 100644 index 8692df67d116d32f2c6a88da9fb8edae96027319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmV;}0Vn>6P)NklY>q_X~48hSe60HG;<4eT_aQ&x{isJD0U(-T*O`wi@zdz^^C>cOOlyLCM}9q zem{kEQ`-|n%XkRmiwC?bRy@0PhK|WFYPy45nE$pRX+_%-s=HRx}bG|{|z>vq3HCpA`o;aQM;DcF}zA-XqVgePnWYa^}eAi)bbV zet4;8Y;Jv+pUsa=?wtN>0j`LIp8lBglKTv6(tjNMF!|whD<{Us0UTKjT)(B>Hg9-k Q2ega9)78&qol`;+0Nh_XTL1t6 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_asci.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_asci.png deleted file mode 100644 index da50ff9f948ef6c4e249e68bd67298b2db5f1217..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{v`d%8G= zXq;at$bU~@;%{)@3Zk6 zy!2EN5@b!Q{)`Qk54G(52(+5P)78&qol`;+0Lkh-$N&HU diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_attention.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_attention.png deleted file mode 100644 index 7f2578187c4a63a4233eaa9bc94ceafc1ea96b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629 zcmV-*0*d{KP)3 zhb|o?2tteOkVJ)0hl&s^5iE&_P6b&gMn-0?yRw*y{*RfjgBpQr1rE&2VP-zQZRa2^LF5drI()F2Z0Z`Z;C^=XiC_d0g(KBmOAi2sD{f*&xU&Bvv zXXvJeIPrA%^!Vdl;dH%e8K~&p?6O#{VVbaW!U&ef!W6yyUku{U8)_$e>xJUbiC?Fi z=%TtwetodRAM4&;`%eZ`y&tM-HPxTP=e~y+eRc=xO`@RYf~BGze_dj{HyX<*j8^At zIf{jEtsnssSR8LdZlnd7B~6W^w<}|50ph*UkgB!^D~?0`X+W2!NvL|z#S!FJoq&p7 z8NRtSvK0T1Gb0Q0$ysFPC@hPx@|t1g9>GvYohy!Cz4KCX)Lc3m?G9}_XH(}O zvu^+@0OHHwFs43E03bkxpX!HU&ZDTlHQ+nmH2^TaKdEc6@@slFHMPT^eF-mdZ%L98 zqyZ2xEyAD+QeavekyYM?51ld0j0_&ORiv{Za%$-@LJhD((PeSQiu~ok-}`_OK$Aj;95XXZ!KE(AQoqkjluTpUr@2!v P00000NkvXXu0mjfE6N%; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_cancel.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_cancel.png deleted file mode 100644 index 199742658b04715a1d66cc3c28e325f12cb60372..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 575 zcmV-F0>J%=P){Fv}lpg7ZCjbehC9zj5_dV5uT?HoC~h;;BLT+Nsy3)@g7d#KYs~gV;Td})&2xYaDkW4q52!u z55arnJvfJkuE69YK|*5J>Od%Fn!#c6X&_Q>xb$&&?^Got45+YBc0`c4Qxq$(E&JjFJdb{h<}CqdFeXPO#pCY zOvvpU!N9{20=F8IG* z;(wds|4F_;8-tCjMSunCsHmuFxO?yZ!$*&w{QUjr&%Y#{)suko?w&4= zArhC96BbA&JQaJE==R9?<7v%P9EM6P7Ac`qLsTpTnGSJfWn~2&;$V!+Os(_`v}APtL+xmrl$Wc`zf3n*g`v;0rbIxj*dHiZTr(m6?gBTa=mqF6Qo ztNZ~m#F3_akIwCAOSP@WH9<<)RMz+vlE{$UIr?75NZmBOzJ*kxEUe+X}JB?9)jT!y^oDK zLQExwUe@XGFqhsIZaLP7bI?9%3)Yi}p{w3$>$ba`|E~FKKCee=m)!r({S66-T?q1- R?uGyW002ovPDHLkV1m;$&p-eG diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_collapseall.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_collapseall.png deleted file mode 100644 index 8cb7c297e11f8305f678e580ca1ab415d66357ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^;y^6I!3HGL_ATQBQiYx_jv*Ddk`pAt5UMgX zuJ!Jsr>Fk67@TBlHi_L;(y8GyiS-2Ae4ENo|J!(_{{^3AH#qFb7JQf8fZ5YHEksrVpeXL3j;jqxmx`qrAp#DGNiFiYp2)sB6OJTGzwc~5%SECqDRjPKh6 TEG<=lmNR&|`njxgN@xNAdJsFH diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_db.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_db.png deleted file mode 100644 index 9cc16be994da4e33d762aa5206124772be842677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmV-n0iOPeP)oDJ*ZwBk|ase^C7REMJymU&H?~9uWmzw65p*^IVJu& zwC|Dv4N5e>9E;(P6HOFo5V5qTX}TdOGiXp^=!VH`=oX?tgA%i0SekX+Qp})1iLRS1 z&4w`TY3d510agC#T2dQT@|{69E1Lbo-vB@xlE^00000NkvXXu0mjfk`SA? diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_desc.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_desc.png deleted file mode 100644 index f8d09ccb0d646b4be574112072215bc777847ebd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{v`db&7< zXq->}bG|{|z>tTLRmb4i!TWuy*{5bca_u=jDPI^47_xBqXe>B)&SYYrc=|_cd zH)s5m{r3|eKTD}N_~FCv?+PtUZY~bK6MvM=pZ)ma_xDnh6m9C+y@zvt z=Q+IRuO_fP`o!r@MdVl4ArXr~E4`ZS zVDNkB9rk(aoMcgiyZ0JO&R+x-A({{&Ty;Kt4Zelede8wVrH0b$(P(@+grfG-4rC*6 zAM1g85ZQg(XU^hVD2Vv-TvTg4l(R@PUB~?t>9-FZEiP?oMRIWg$@vJ3F>uxU;Hvi_ z77F6ioADizJ?+mvjN||SAb8=JU&z4zGOwq+^)Os^DU1P<@eO>LnnZkMevM?`iRT~x yT;)AYo;%V&vV+2IQgV-p96tGC?(fI+FZv0U(XUJol|4TI0000a(#*!evUxOSunCZ5=%^I@d*fHQC&)lgS3j3^P6LWmTvG+x1nUi99^396n1m*ckMxwXfp8>SOX- k;(-mDQUwpU#0Cb2nCmjt8(+BU0c~LLboFyt=akR{0BP1fVgLXD diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_host.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_host.png deleted file mode 100644 index f27c337d4d514a4510c719b32de8f3681ebc1243..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmV;A0&x9_P)1CS11ZrkkuFY*R>qUax3;GiTH5y5+p_a5gQ-uq`}CxE%Rxh@fzs8lM~+uGX6y@wc409C5h3e(eXDQ)+8 zc6RoXh)neM_8#o$=wRXd4@86*m8cP-5@ICJb4v5`^LYrNHH3hOupv`KSYBTKUouNe z%fuMDaPczEIZ7df*8cv(G#V=aD2ghmDw-}tpu5_|o7b;6I(VEABdVGdc<*U6R=7J+ z2Mor5NgJk!)n=0iw@%@l<753jAq4hcxt0`&2#R8iq1xSpwH9M7wg_V_tIZ}F6XW3U zNi-^2)WCZ0i3-M8vMk#Ywm1QzMx1l}E-x_I7$-tf;EVPcYsgBaO?G1~))KM7$HWy7uMHvR3ojeEm)%{U`=`ps>zY6NkN|H4`*iHo!u~s zbFRBwE)R$Zi;Ii7wYJS>8LBWiG|Z7h2LRZ&w+|6v%PiDtwcFnNt0Sk+oGX_rynONW zPYB_OF=oVjKlHClMT8K-=S_g|@$tSa%YKcHo~N^1MkG+mEVbI$+Su4w=T6hQIZV#E pCFk6Ssj25DHvC^Oe%fu^{{n{bpg37gpQ``>002ovPDHLkV1jf3Gc5oB diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_info.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_info.png deleted file mode 100644 index f636683e3df7ccec7501719626bb105cda9fe085..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 740 zcmVYIz!?z1eRM^{oLMy_Cz?NUj{-SrgyWT+8H~rLYj; zgOaFOM=G(A{HqfEzdl{2inH18j`pnpy1#$aF5(6c?}(>%HPw#y?A13P<%D=`&7O4cfKTXoznL?akE0)|u zk=D%#I(F2hG?E^G7=ZQu^uE?cMhi=b2ogL#IPMIM(>FAZ6^nJ2r6^)-c98=gw_vP2 zy>bN`+2)4YD)Q4socD+qGz5AMwxht%@Dv&XU?|Kj(vjMV`lxxeLB*m$aSGN|2;LKd zl6yYSo3g`OhZm0%hqHnjz99>ZHyHcd6vsh8MywANS)_yX0%kka^%ZB@%GKN zJb6CL?CTQ21wN>+Vdu6+#)?bayZzfTruuBQ|3cpyl{-)VltJyq^zLNxz`it%o7Mx$ z%Y`xn_eU7d<)@8_^=A9OTC4Iu={kNnt?Eyq;S8bNga(W;1>mYdZanD!=D(lmeexHm WKZ1K5!{$!_00002L++t;vZZf(vKGuIq}nOX*xng>#56h=Q5c@+JD zbP`g*A`GI4DEgsJDgucFF{DoVp`-#MM~anX*|5UYX=SK2-LK#Gb|6{gdf+{JZZ7WU zes3YAul{FQx4FoVRkSSrJ$w(}J zBj109G+jzmWlB7$OD1)uA57&o9*Q#UVBd0^nqX9Fi|pEgcUgyJ(=#WPB`y>p073t# zWMo2;Y8E8VQMlLEOOJ2tgZTXm?h;!~hBb4kjMxf6D3mQrXLtEx0LI3{ z+H`&?eMcVO_GV|LU)YFgUOW-b=3FK}euZ|kM`ReuOL z)!;5a0sJ{ZwZ?y2xoH>XIEmGfO>q1NMoS9yul2mry!n|mSD#G)wGHm_3x5YT4QPp! zzA5W%mq~f6L{4rFVNId4!y|p_iZoy6z`h1|`SnWkGQ!=#aTy}ty##UPvEx{5)ME}z~i@)?0lDD=Wy3CZ;v+soSEUk zcQ#x4GOD@3b|&JJ(E^f45Ta3-)C9(#!yIuoVd=Vrv$k9O3s8dbj#h6+8+{%xiV8-v zz?38~rwbC3Vf0-)eVxyVS{Jp%3{kf@DpDe$`Gc(kTi;*1yC*KrI9Etvkea3i!_lBc l4Bs&4&Z<*v3kG8WegVAV7$!rb?dkvk002ovPDHLkV1n@8RSEzA diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_link.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_link.png deleted file mode 100644 index babbb64a6a7084350bbfc0cc674fbe737cc7ba37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmV-|0e$|7P)Atb6vTx>hxQBf3pg}{(5)cBr9u=!vgle2kt9MG8c+NLgq{k zagesSWUH38U|R~W|Fa-=@92XEFL%GYKu9jPpZ^;{5RMJQxE%}z%i(ZH-EMcmp3m#` z`U$%qpuqzJ_D`7OxWjU}Y}vL=S(ed!KBq7Ysn_d0b~>FnP16r(aU2sEu*mGbU1_yi zFVpFCS*z9V81Sv@IysI*tblMsgEtzD7GROtEwK9i{+hL4$+CPTisIX3GNB|%D2gKT zeV?Gg0|OSBZ2`~o*NsMF<+|>TqA2&pV)3g~Dv_$Ho5c+c9vHC5Yzy-F{As09nOT;# z8jr`%K@gDVd1RUe|tv9>?g+k#9o0pTxd@;_sq{kwlU;^VvV*?BV8P@}BoaZTQUROpWV6|-M`|^n&)=+8tHo3*<<$NU zU`%V~ZF;?hBSYsjJ6%JzV}E(D{pOLqQklliUf9um_tGl-wty`y*p?eYNW56P>X@1s zZs7KrRZKtmV7Lqj^5Fgr7_`LjhdJK@ltF&O`j7?*NUM$KvmNGz)3WjM?V$vHlPT0AFyF?kLE<#HZabCSW3-oa*6;Z zrXD`Ulwd<^2glP%1Y1Kc1Ij%DU^=ME(jKf6APNlA$Uu;J4bVilQHSWX5uJ$9Zsp4M z0%!@LvyTxz=Z6stxlichODIY+yNGt%RM;m`>H4LOKLFs9Y%b5aUN|2|{0Zw|<_~i} fmXz*V19AKYa^lGi;?H?ZA~`!EO0gP{$xPPot(gCenc-&CYoC#& z1zZx@?e7=dU%tyisu4PyW&qWMn_!x7O+X;KlTy72nC^YbmW`X~v9;X#IDx65Vwf6N z`}dGlaY>ja$PIwXZ@`f&hn^4g4=_43in_9Ea3|u5m~i{{9pv}TCXuXlHm?85`>doC zDIdOk@aDjlfzi>S5o+}sOR|KRkX-00uR+xiNth~@BHdj-=v_NcTWOg^sZ-oL_u$x@ zk8h_QJ$pK(v+Ibdtr_Cv#fKvY&+pI6^<`9* z4RKZM6-*-`lyP@d zQ?m!E%JJb-WXmlb2qBOpHp~)nNsS)l2B5qeP!t6xcAskLKnMYm#tNN1{kRGmmmq(^ zObO%T<9T{|nz^~Tmj18SquXcc>h7k!+C`<>Nn53z#h*1ky?OF2{L6QqIJtF$neH%? lVKW_ax4xoWIcgFYegWJ~qxW}v&Ak8s002ovPDHLkV1oZUF;V~k diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_notice.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_notice.png deleted file mode 100644 index 7f2578187c4a63a4233eaa9bc94ceafc1ea96b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629 zcmV-*0*d{KP)3 zhb|o?2tteOkVJ)0hl&s^5iE&_P6b&gMn-0?yRw*y{*RfjgBpQr1rE&2VP-zQZRa2^LF5drI()F2Z0Z`Z;C^=XiC_d0g(KBmOAi2sD{f*&xU&Bvv zXXvJeIPrA%^!Vdl;dH%e8K~&p?6O#{VVbaW!U&ef!W6yyUku{U8)_$e>xJUbiC?Fi z=%TtwetodRAM4&;`%eZ`y&tM-HPxTP=e~y+eRc=xO`@RYf~BGze_dj{HyX<*j8^At zIf{jEtsnssSR8LdZlnd7B~6W^w<}|50ph*UkgB!^D~?0`X+W2!NvL|z#S!FJoq&p7 z8NRtSvK0T1Gb0Q0$ysFPC@hPx@|t1g9>GvYohy!Cz4KCX)Lc3m?G9}_XH(}O zvu^+@0OHHwFs43E03bkxpX!HU&ZDTlHQ+nmH2^TaKdEc6@@slFHMPT^eF-mdZ%L98 zqyZ2xEyAD+QeavekyYM?51ld0j0_&ORiv{Za%$-@LJhD((PeSQiu~ok-}`_OK$Aj;95XXZ!KE(AQoqkjluTpUr@2!v P00000NkvXXu0mjfE6N%; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_okay.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_okay.png deleted file mode 100644 index 5587dc636aa46bf44e1e5d5c2aa555e2270c8467..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 772 zcmV+f1N;1mP)^p@>LGF-b8)Y?8L>B$~P5*fMG-<2V2JozF#S zv<+_BcX>EG9M1c`$~njXQR%-2hXz|4j0yHyEBkfuGAv?1B!h6lSle@{ZT#Vz`|8aL z4&2$)t^?iW)39XKqK#CREdby}F~`8v4Ssn(oJKfubI)Y&EI{XvAG8+&eZD!=R@qpy znp9zm)N~Sn$XuUrMIB@5LB1dTE?)|r0|y`X&Hy_4Hq>hq^ffPRi>#3yO!;twQeVe-~Eil^9fp3 zY@w*>m;n^D_7|2{lgvNDie-oYA%|CfiV~0A%Ri>Y-;Nc-+iNX^_G_;&6KVJvO#TkGuxbC4;EOjq=hxa2}DHp{b`841DbeyrwFeT2T z+$*7_ekVimK4N3PrYO?=k03RD9c|BRcmB|OA62f6HZ%2Xf@E$2Cqi9SJ$0dX7>M8I z+|?_2uS|7Lev#;%73KO<(RR_UYhAQ)$&QuVsH&(12ibgvYq9H$j6X~(PaT>3GBG>K ze{0#%Xam;m#jxLL7si58Dg#^~pl7lx@%A$P7rg?xbzT;`a?))80000bP0l+XkKeds_I diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_passwd.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_passwd.png deleted file mode 100644 index 82d6f264762412ac1bcbe5ce399c205509ff4f16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLlC8-qGiUyvIe+`It=x4d`5U*N zKYsq{d1A!t%D^|%*}i=L|L5Po|Ns9x9-Ji)w41Rc$S;_|;n|HeAg9IC#W6(Ua%}HS zu|oAPtL+xmrl$Wc`zf3n*g`v;0rbIxj*dHiZTr(m6?gBTa=mqF6Qo ztNZ~m#F3_akIwCAOSP@WH9<<)RMz+vlE{$UIr?75NZmBOzJ*kxEUe+X}JB?9)jT!y^oDK zLQExwUe@XGFqhsIZaLP7bI?9%3)Yi}p{w3$>$ba`|E~FKKCee=m)!r({S66-T?q1- R?uGyW002ovPDHLkV1m;$&p-eG diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_really.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_really.png deleted file mode 100644 index f9902ef07c935b6471c9fcf90449abf94acab9b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-v3?#1{n!goDv7|ftIx;YEal|aXtA#)YStEq-Gs3C{1NKyk!GN n+scU!bGVK!6p&Kk4`FA}?&U4DsVS%j>R|A6^>bP0l+XkKq%JC9 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_reload.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_reload.png deleted file mode 100644 index 345e68750970c27b9c187a4cc330f5d153009fcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmV-M0=fN(P)ya0n?RG)G;y#fW@#jU$an7d9BPa9MKkn_-*@ki zd+xc0>$=#9%pG+D=;`!0{qA~9Q{o~zA`}RvKuYr2#pjQ<*BXCXxb^;qtwpD-KHISe zZ1nm2AzGu>s-ax1pz^)ENHY53>Z`Sm7DRL^G_c<}G;RA&bEig?JW5F>T2pn|S zW~$>3rrutQjr3a1zTF{E3$$pg{8&NpTM^_2C_Eg7HDo*I?w^Wz078k6^jm1E2AZmc zOd+lFYlYeT*Zl08k7-?N{RD*=4eSNmjC+7upr9R!g9gyYp9G&HzC4$=P~l zA)TNSkOY-PJOELIxP)j8Awk70pQ_Eo>#2!V>K?|zQI~N{L&Tsq? zrxQorE&wJg)e3xu4~7Apm^f)#L)PWVx#O<2$A&d*TOr zHQ+b>&{`m_3+)O%<(9BoD&xak*6>UK07@}h_)=WVea@lTY=J^3EudDQ5Tt-g{yo8_ z&fGf|qmrAVWSk^yYZM}aa;c1^2g^oRz;;dC9(RR;?89YG5%8&$Bn2L=wq&o}>EP*whpPhUPa^Z8siRi)GERKMTf>-6f%rL=~`J3fA1 z)OC%jvRp0!$n&h7(k1~uc%mvI!p0bs?SFrO_ehM02xSZai0EN}U5_zD&;uQW5Qrj( z2*wx`4g~l>jPcP0x`plyXquYL7)0a|;=SJ=;Jl|@6zCIx`v)LTC0i{+2muA0b9}wL zq$oQFY$13y>owjv+TPPLW;=_00l(JkMpUVrhSRe%`u#pXA0Awikh=Ov?*=T SX^Fl70000$1zd=Yj49((0uqzGO1<@@D??pLsKe z)|#uFnJY#A3jnLv>um#%0F+W_tx-x%iHKa#=kn6%cDti&HfsV*_9L_})1htKwpdzg zGZu^Sd{6M*pBx{&MF(fhEUt2ErARGxNTE<*`^^ci=i~nJalL?7j|+&1X-#Hb-+#fV z`<}0kL+8jvKm7ne5ClBinnkHZR2G1UV1*ZeVCf#4Ys)-{TkPz9#5T>yvC(KuHLqH& zjsZku96VCI>)*k$j!DhUvFC3v7a4_eWBE9HKSgy>+^Cx8~=S9e*-pLF!bxVy2Sth002ovPDHLkV1k%F<*EPx diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_sortable.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_sortable.png deleted file mode 100644 index e318e67a7125afe04444ada7221a2780a0da3cde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmVa3 z&ww8=F_5BQi^Q7Oi{)@C*dX!wK7+`|8(nf(6|9l?e20mHje(7m`DT$K76qT~GIO&t z{9xc@;Nsxff>6K$XL0>yc+K#W;TOYi1`cI}0!E6x3Af_l|6dG08GbN)XZXhO?Ry~? zhJx?kn7Mcu*cdn%eldK!iN%C3%HQv>adR@fV0ifbdk|JfPLcR_pPS>+_wO2$9^vps kwZ!+!Ka8g#NmIj{0FmZ9D!fm&%K!iX07*qoM6N<$g6Uyv3IG5A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_status.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_status.png deleted file mode 100644 index 31dbb87553a5c98736db194ae845d5c1da5a40f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmV-@0)qXCP)N_4;0~Ke|eSlyYl`hD68~hvuwE2*Sa@O@~II zrW&NZsaBz(rGG%hRh*Sh;p?a=cG%s_{;j}!PmB>W!wgi7+SYqiBdSV_ zkqh_kpRJ&kl@Vh^)fgVRfgNUGYS%QV0TG;2;A0ObW#}Q?&=*6Yo7~n$p(R*7AK)g;&IbG!1ovxU|Of?Xu(Arb82}Pn&0y^DF}qjQt$~7x z=4u4jucP4ySGQzv@=?*&GnzF}*bf1LC8vglA0TeARQrX=*X5yeFUBX$Cs}TJh#DHQJi{nV?Ig(z~rm)ATd6xrZNx9&&DpS!K0NCTkFYMreT0fj-@{^ zi&^^Z)ItORiSsYd9_7Ri){ur&#sNF(orl<%KVOCXP7noBN zDRZ|!ZGboIVEDn1B1nXqmIEV(p#EJFBW3MNW{-K%uqMH4qoBgDm{iU7$rk?(%pZ=(z|EZ(g!notZy5z;Y<;cJ1 z+q+cW-P`BLWar6v=gWTR&y4BFUh316>(rI&>+9^*nC#Y=?d|IB=g;uZWAV&W@yt~5 z&R+4;Z}HP`@ziqh)O7OARr1eZ^3rSa(`@q9cJs|q^VD$j)pPUKcJtPE^VWIv)^+sP zdGy$O^w@p%*m?EYef8RZ_4V@h*m(BYeD>LW_V)Jo+kf}lf%x2l>84S@0000BbW%=J z01X)%CMd11;Qs#Rq3#&~005dvL_t&-83n;HPQySD0KhqOh$0dN6i8GEIW_;6@(~aX z6d^_EViVhUyUdgwU;S`UOx%IJOnwA4R-Y<}$LG-~a#s07*qoM6N<$f=oXTv;Y7A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_tbl.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_tbl.png deleted file mode 100644 index 437e76d325cb9734aa3fb7dfe3388bbeb37aafc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 684 zcmV;d0#p5oP)6o#MsV|KM4$nl#=?MEdr2`h{t!BrS-Bq-e&vk8e> z*hUaqNgL5!>lPJ380{(~qFk9P%}SII49lj;YhJBEof+nSKP^VoS{Z%t@^a1x?>XnO zj4}Mrb059=)oTpbl+jgMYm^45HA-oeHb|wnNui`cX+7STI2H$RwJ|r_;(H_iGWGV8 zPYs(JD6Jy^&*mN?wL~gOs3oBaw_M51zgtaxgrO?l7EoYtrM`1V)7Nv7P^v8kN@)Nd zkN((Ez{N8M$Zrd<D)9jsyE?Knl`?j{n68@5s!1GtVwTa&=G;qqC*rMSS! zq&Rxy5c~395JFHgj_C15Cn{j zjNo}5_4V~+G8sxsOCNM~b!F^OYK$=yIndfz&TiMDwXqz_A0y&Pgb>Wm&eGf4OHWS^ zsnmC3u^6?rwO0oQ28=6p0it7D3{M6C3{M86(`g*XAsUS$gy6-yr44GZy1Gg-nPhHm z4qHlDU|>Vb$q24f@b>n0gb?_?Pjz)Q3-6zkns`c8WhKkY%S=yC-vi3*P!&!%ad;04 zD_Lrz9-sX+zAojMnwkQ@_k9`~8mOzQBM1U)+Xm?LJTGl^-~Tu&Lv<>zbZICRp;RcT z36-YG%#clvu^u~5OZ6Iyi;GOG#3=gq%19|+4-O7qz!Nkl%*DW%bVlYjcxhqUQPgU%AkAi(vTF(G#lLxwE`6Gh9}OuV)D`fH6@voer!j zYjcy#kH=Y>Nxbpk$(|P+Yb_)1KM_>b4|eRSI8qoGBDgk)2}ba0R&jD$VWXS5u|rr9 z{MbI!7<#+j7Ex(-0Ys#8M^WXGJF1(>_-hzqZ3MO!SYK?xEM8`PzL5*w72e6}=9Bpk zaa@Eqs`k;x`e`6w3H>$<1Uu@%h54UCfv)sRXTlUgZdE4h;&{ZWeY%DKKZ zOVd&|895QA5`DgF#5}#Ly2W$iW7yhi%y%oSMh>HUA0ac=KxV8F&(EQ4qmRjl%E zpcmJ1Fk&)Yk#wOK2;x=MV-N2~%kr@zT>m}J1F!z%%#2^gs_?VyqPZl>2)W3OBn}{w z&UB5K)7SdGVQ#dKR5D4hpb{%WeyoafFSgi7aV?0@VdE@Mj`EDe$tt^xrTIxj%!p&H zrRU^B?INaKRGL&wYiV6;c0oxUsDf2Cr>~M;nZc^!N6T?@qr`i^W@=*av0Faz{7d)j z6EVNs`|xouHQtYGu7e7W7b2^oh0Wv|iQg_Vp1AbZu`>(LI@`7I)pHG>S2VO8+EZH3 zjp<=RyDPye6N!G}{pUqhUw-oAh1UTB+l6Gryf!rO?ZI$(x0m*Fm>KEikBLE+m!`Y^ zIbOVS+nE04>{EAkh?-7S855NrRr&PTnT3IycefS%U;YNTN|34DdrvX|0000>>Oks2`oIPl8XEc) z7Z-oHdiCnNh=_=7-rnASQd3j^Pnt9-52PSJKmR|74-yB-uUN6-AxJ$)AIt?^O-)VT zCr_T74pjKb-rk;L@7}!}=gytu04X?h=n%)+wQD(m;%Y$oCm?ko^&ov<19WwDGt<-4 z-%p!1tt2QYXs4s2<1aTixBr2Gf&W1YfV4h{4-yB-gVcf4gYO zty=YV-MV%Er%#{$zp$_nY(Pat1(**K2g!rffz*TafelboQ)31?&%n#e>wZc~%9rfy z?C(JQGdw&z4x}IUyRt?v{0wJ6^R0W@A*Z8= z&I?WjSJx&^y7yBz?2M*SZ18QRLbAs(#0rsh%4F{kwbCf;j=k00000NkvXXu0mjf-HSTy diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_vars.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_vars.png deleted file mode 100644 index 73f060b8e4448f281bf9478f8aff59338dbb4e6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 614 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl3H zT>t<750nA|`S_E%^_L-RWRguppIhEoz4)eH%e^U6rc9kWb>_^OmKEn+Cf)e)<45@N z=Rd(9bpF%m)h{EKJpKLq_a86_o$w%h&f~~gkE7;2iC*?BcFM!p6))oFJV{*eG-=V( zr1dXSr#?(w{4{m>i`11b($>99pZPd__T%*JZ!%Uq&sy~&YwPQR4X+9}zbf4Ns%YEm zqV2CsH@z&|{ibrqoApQEZaDe&;{7j|9)5lL`p46^Kb`@>`=8IBKY#i1$h*;zJLD?^bXJ~ zzkdCKctKFSzYrJ@awS22!3>N{!oo7L3dSa8PEHXK6DLl*bm_y#&tJcP|MU0nKb}jk zcLPlFzk&rY!Xsgc>DAMro`@G_GJwwUaH+?oGdR|y*%GEpV{%YBJr;z9qeBK%- zaw0w#uIqnVDWjsbhIj5m$IS)j`u}yE6S?%}N?YRBkF%bi7ZaTxvtWnBZylK{Y7WXA zajhkvgG9v--TjjG(tJtgy-(5oY#&$H^lp#MSE#Jqq9bW)6s_XPCB*mo>ll?DD9$?|Ink7H-Op!rp&W+W kMC(^wlUefWNBTF`w%MK&QgVcV35J2e)78&qol`;+0LdRpRsaA1 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_views.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/s_views.png deleted file mode 100644 index b1c78e3209d34030c0ed55d82c338aff452b17a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmV-+0*U>JP)mB5^$AK8N-IK9 zggR_ytr~B4Cms=oI?)0!0Nfb9h1MFcwnI?eK)dRGKD0 z3ji2 zu9d0zhID6viR>o*yYIP}@$iCNqk2c8Dk}Ja;?mSTTu%_K$ah4DwC70m6{(9sDQN;iEf|5_ zs*CMaa54o(dZPGVNL$n}+TTWZ++}}hfz9=GlKlolD?kax7}g|@lnIo47vs>eX|+J zH79ofQ0hQ~C|n)w)b|NZ;-`}gl3KYo1u`t{SNPk;XW`TqU;w{PD*fByXI*RTKo|9|}WahCq7 zIG{$(0*}aI1_o|n5N2eUHAey{$X?><>&kwgQAAvsQ8qzd0Vq`C>Eal|AadDup1!N&v{nHp4#gB3k;Qs5 lWmfe&UN&jIsrb_D-wq~2iC-GmW&+*8;OXk;vd$@?2>=;PcoYBt diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/show.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/show.png deleted file mode 100644 index 2bb6978b5ca23093a89862bfbaec92ada769dbec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLB|r;h!W@g+}zZ>5(eiWSH}?lAS;FR6y25R2vi&C}ThWO;>r!RkQp5`YaI%$Ftv;6M;Gw;87 z_jcaT{_Yby*F|$SE#Tz7p;3JQ`|T^MGG{%zQZ1J#VV5{7>E0m;ovH&j+9m7~*o8l( z<{GPcPO|A_^Vs;*AK|Mxo@RJP_FS>wC>%2pj)(=XSVig;XlZZyiQPg%QH-Tbm!qUXK?>LNE^#P01q zte&Dcy`zw+sMDE8FnNBU-lanxSuZqgvTs)g>}VG6(VgM^t>@DcU$d17yZ`mn3z^qX n%6GZ;QaGJMSxF;>;M1%85p{8AvU&N4vs!y z;mP9SQ>CS+tEtV=)0?lazrey`iMRLKz`*q(AsZtjH>aiTEGgMvQ**eZZ}EpTHqP_Wk1#W6%elJ%e?-ys7Y1_N_fj~Idf^~%$G53;=#dQ-;CAi%)D!oa}D zaDeqYU&6i}4{8{$2seIb-0+?wLU;x@i;VRLNdeZ=4fnZ3IX^Q;JGnJ|J-xB9hvjRL zp2N2+#>c;IAF$co#a66;V&P)bIjok!%Yzu6c}R71Oqj`8&#=kym1)kQvp|P1c)I$z JtaD0e0st!RgX91J diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/spacer.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/spacer.png deleted file mode 100644 index c6008d7c80d0250ed548d73c67ae3df3ba69675d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>mUKs7M+S!VC(K#9UIO{to-U3d d9M_W*5`Y|L21bReQ;q{!44$rjF6*2UngBzk5TF16 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/sprites.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/sprites.png deleted file mode 100644 index 8cd64d03a6a099055de8f172cb1ebefd1602602d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15764 zcmcIrV{j%gyM1e$TX*a3mRsAlZQJeE*xK5cc7KLcqlC@Tm6)W#xw7()Fk zgE=dS3jwO82u=Y22!Mi&il~gGBa02Gxu0jt(jyoc*gGVFsi~P?q;G(~|HH#WaZ!F$ zOgONrJFsGdKY&$TUCpO(+$y=xF>5ZTYp=$eFGdMtW_EVBLEOvBOGHR$Gm`@o7jrg< zy{@4#*BXB&(jVV8GY=_ZxWUs6)S31krd zL0~R`DU*6{o4rV<0W2ThRaDkwQjUl(pKkAHPfE+_mEllVQ)z2!7qYK9sHGbk=$Tqr zb#k~W0E=qv1RYYjF0N(+3*u0;Uq@PaB#RNi$)Qe`fAG=c;@rCcfUh zY@W9qyXMaB7J@)8>u)EKmx)o&W?DK)J0JIh^$W?Mk1H&J?yE7CmnDw#PAiknucU^> z#?qAMUraI~YfaUqH8P5s}Huw4IEHE>(33LR+&)Y(L z!-Lv(Kxmm;IL1*stKeJC#`Ks|MT|do<1B&j(-3&kW7p&5i^W z$+*}3U&sb!iqi6CcQLObvZ9;`kHnfV)znP?s>;RF8EIpi zG4HWP=#7ql+jHWgB&Q7cAbn#4fe=8TU($GApnvJ}=?(Px^$(JfX*_>kgFwk2WA0xc zujgT)k4C=*>7;^)oe#F#GtisoxUA==va9D~^~d$z#MRE2YIIQQ_Qv|@p?AZI+8>>{ zu8;1ThN_Q+jyuqP-&SwN(8O)!Q(gM(zZ3HRnn3?&bWjSuh8Y0B$tNiysN%79nFVK{ ztlIWsA30CH$=1F}k?n99MSTq&7*M=-k0x&GRxoc{`^8v1ny2|hn0 zo}|R=`ym6F9d^|fQV>rD)8w$`7UBu zgayiQpZ`fFAh8&4Gpb$+aqYBVH8EcgJw=z zXq!ax4heB6NULtkex7nDj~8;#%FAyapCiWdmnG-n@$vIcC9{QtimB=0Ql)mY4ICT| z5hMw1ELA*!_Wtbr+}hfDeC+JZLZB|88KY;ZBf5goe*;z=VV9vBvgdDykXRGe41ieF z59%CkWIF^Z%>Xr_JKE+?ezXG{0Xca$8bVzkkfR$-dxwKMPG3bu00BJcyZhCjk6e>Q z!c9i^1Y+V}cW4l6aRvgqeAc&24E*r7{DQtNuCBND#`vqM>w|~ly1JWeHPjs=2jaRu zga_gvQ8xabJV*SKR~=uLgka$D{XN9#@9kgwaVqM?1qBT^0#ds}(aGR7j^}^J@_A;I zT2057noF+R;~P}e)a?y>e#hl&gLU-#Z??yFHd0U&uE8{@bSo?FJ{FRy#`1eL~ z1h;G~EjiyP+j2j{7~(p@O^^5my3D`b55Jdu$(r>XY;@hEWxR_+KTJ-Fa=n?zI_-9E zjOzS6ak%p7u$aB=;`!{_*!ViY2xEDU{ooKdjU*8Ug;ib~PrncIE9FulOnF^XKslwp z7T7_1+c!A4k0^TE6PRA3?ooHK$JDvQ-l{RRv6slh{{eahy$#&SIo@(lP(f)$Z2y_Q zKDoo}>gyCl{W2I+4)nmdLJBk(SB9=RqyeD*2Z@1tlZq>NRPn?#6C#L=0Fx%h#T$o@CQV*&RV+p08jyFG;1y^gNF?|Q=LJcWFb!vqyt$Ol8ZH$; zO$X2*Y;uhj93as0gMAz=8o5MxC}AmXDh8#EAPXMyLBG5&D1v{$1G>EA?-Jy^1^Z61& zPcaSrDQ)tAmNt3Z-X3de7Gv;Wj59@S&F9AF#YPzpWM?;LXTRqA%ZVSX^>-7Ai(V{d zQq0}(sMdJ(z4pRxDm%L8^~i=cP56o37;p%M#7r}@(cuS6vC1)0CqvCxlPxKlo(c!q zFhTlY8ID%}E7sK9%#3*aBUAG1Vl}SnVzpkp28Z2-ZKP(PonA$h!OWy%1O+?8dsk@4 zNUmGS^|UWo`dg;&j*^@z7EBcZN3*%S6SDrcV@WApF1rt~+E)@tg)AeFO(5UqKzNkx&A2~F; ztV*yHkyOcCl?zw;hNB9;!`&Plf6bUWih(HQ5f~tV8g>BZPbCEzn4Zoi?7w!@_f=AG zEbk}g@yFZ zVvI_wKNq%8E{8Xu3*qf^S21{RmVZW+0`0{jO7(kkdc#<_%I~+5zrLUXCJw-DSQOY2 zh^5BLM5$D)+?lzjfOXv1#f<`KNK!_wSlL>EHd+i%qfx7PDPO5YN3dU9si%Uqd?Nz4 zRoWZ_%pv_ytA6crcDU7LL?}O4f55{1tPx>Q%N4*R_k(GC(x`E%WPB__G3$Ha8@>#B zxN5En?jZd;qJvQ&%!7LguTi0}dGkvD$vPjS!%%4hj^Qz|Fw2!R zLfMK74v5C%uwRv47M8q0ew}DJjaNN$Z{I$xeci(TPM_qYLnIB>{JQRXze@gb;}~+s z%HMu>l{}5jF!Yt*({3Jj88$uDAst|tGpk4QUKq*~)2S@yX9{5z$qI_$?aH;d4?)U^ zY~tlVkjH%x1D_l-61?8|E zN*4ZJnhj$5_Ddrh25HUv#Q`Ox$?|5Q_`c-H1}*J*WWj)uF+dO8QxfernhcRA1w*xk zkEEiYrKF-BXdpB!)TrR~94rZ(I^n5UVDv5Ft0rgMz=h1TyAt66OKUgeUBG zI)64NNkOm=Nq#~`XgO}KoS!|@5Sok#atM@%qSU0XbAh0Lb4p>poe%8z2#nFZ7?dGo zwBGI0gs|v5KK!zP8gXBb_a4R~xiya;xJQUPH;4EG6?Rvlv63x}{jcv>;Ig0RXNByF z-q_Z2wZ~u)u&;1qBZAozNg_6d>Q8V`qArm3v=cezzatL`;sh|U$!0~id9s;*5x%suWie#+G|j*P{Yr1 zZFJS+H+oE<$aOx#7d*=3>m0BjW!U&yxt=FvF&SyH?dEhc8HxLBcNex4Bnl|H0By4n zbGw1OpY3$K2{`-edj^N&y?8#Hs5p)6ZEd5W44n%M<>$9Ly|fvaI1^UZ8uBge&m}3v zMVy~m8n2=&jhxAuus32lYfmW8dpPR|HjptzZTbwqO~n@<5pChOH`6r<4kJmVp&Mb8 zy+9~Av;^^!9ES1I5X80l?iS<5y;#uB6j~<>c|Aq`WZ(R-shKkx%p}eejL$-3r*fE@*q|FhFzHJS|@}jyB zH$2sjKr0;Zl|qW-*GkPN;-hB^354KlElJy|UaOii3Q(4=d6gEODKUd{1WJ3MTv$rW z$(aC7xOb{Fq-ID6&*5;c@&!F13Z*UMwq|A`T)si%JyZDojdv6r3RJg#LY8Us-^=Sw zQvZclp+vNEzy}%(khsFo;Y)!K>eX9tJ9}S0>G%HwZr}aM27%axZI7_e*zwuKs7L#= zR}92PG2mw5d*g!qP;(QVKdk9l5R{|TcdX^9cgg#>j4%^4_PpGCO&`dg-HnX*Q48Xt zK1Y}#-mfN$iv?-;5q9PCPwDID=qmvHGP{wvTJHIay5%6{RDKDaT5W@yKp)ug zYp$J{pW}WJG*3H8RB;7P4?;nMToMC3-Oi57sCThq`M5;?44PJrHNQ+y_-YwiYl^LC z{Y5MKD{BhS9WSc$FEdr{+?t`lxY3nduFK6GD4>u=HT$U+8lkLltr#iyb`P6)c;xblX7Ls!G6ez0EZB5_;L*KNa47rf8$@D4F=mIXuYGK zJ6$Js73_ScKk@LO!*Q+3B`W=4K84CcQiBGI|0gEM0A`GY?}Hf6Ko}6S>zqmIA#4c= z_oo&J^LSD#guUYjjxaaehqLkdqBDI9>gA;b$UK4tYwKZ8eOqm*)e_L^Ikw&P8WC?+ z3$@{V0}x~4gc1-A1~fNes&^00hr5?WLUG;3#L9K-=VRE%yz$|9f3zsbJGajLfwp^g z%newlW8|!Y$d#Ro2_jGnBoN!4BWakLia<7!;=bbgJ?DEz4sr;9LUZ}J8BK(LaaVGD z@j#7$Lc@6zKX-`fZYxQmCIchFO$C1GKlt2hk==GJ?UlJ~KHe$np#`zT*-srdG&7o0thF?VO}rIFSCr z;E{%<$Q5+Ehl-fFI`&Gt)*bP7k}!K>!ZR_?;dkre&H&3ZOuJU3@sSUd8u1vB1KZE+x3mIfD`qlOM+G0idZpo-!ni$ypCT z7DF+K$>AQrQ#R*uF@=#A_xH;r`AfXwY`4R_WlBGeOFiS5a!z~E7Q}{t7PwnJe~=E}b+RV- zp|(jN^fS4QqT!@K37_=u=zfi++$ZoqGFR*dyV;j zNK(?O2CdCW<>Ry7gJm=kuo-=GNq+XC{79|;I}T;q4?j2it7?PD@$iXb-S%VN_uFjF z{f`}iX1Qn1?kVg??f4JQE07R4KzjtYPZQI4R}<5ILqk*ZXZ$R-5{)fsYb+-MR`}4E zh5!N0O}nOS6cn>Swh&^|2yhOpZGCKzbk_eWX$~7UHIDvJGxb1i1hwYo>*IbpmoS(M zZUdUoO@dOstMRMWdYRr(ZdHaYfQW&V;+DrNL#$HW+Qz0tmr_aoL~_1Lj}Fpt=RP>N zSF^8gIKk)uN#SvZ=IBee{Bn8W(p4*t%t7+wD+ z7f{|%VBqQi)P(-;ogfqJ7=Mk)236(|vM)z72iWX;M`&9%QXRz*$37Z%e zXu>+p==wN2-}7GE%V4;b?53yhBgp~B%IHEi6uhKtsfx?uCL@y`0+iT%6_uOduLel9 zjiE!*u0K*FAIO!I-!+l!JbETd(UvxZR>1gI)tgv5!cG+^VXGLU!U>QCY&(7~d9#35 zg%ijlf(YBn9<^mNNLrVSifB50*Spw3Z_DgY!HfnAZ&@@YLxf*F)#roWCRy^0YZ$Ox z%D5yI_X2-%S4x*U19i;G8tos?l&L`IY9U*<-ZVoYX$+08hS)Yh0a&DxS0$e}8{}fJ zY=*_+=@2ADf%`&%Z35HXBWYVeDBGFgmUn4re?JV}!DLEarty|HO~}lBA%_$DePNfq zZ_T6^C4Yy0(cOK1-}+-APV+?RhyT7piA%84YXHH_f&#y4q3wBjO^B|%F1n(_@hZSV9zc%(Ky7(xN!3HpG*ITot>Q~0z%C^EOAtLtadEa}1@iridjqK^FwSX9`uT6>*tyI*?6 z2hiXOcqjHVP?N5h14YaE{P-WI@$-4==}4Z9t2T_OlV(u<9OYX(NuwZ`gPa0vu;NY0 zgs+brKhS-S8N9_lBKa%-moeM81RixyUqqnBZ)|c)wt7eE25Mw_CEHBR(+{d8$zObx zLe?xZ6ujVUkwUh=<_JlKwDrDH1ygSCY6OFzJ3mmbmRq9E;TDYOWCTsDDB!jrTQHQE z?IFtK^|q*kn`pD;HGXae_B8Q$_}>_{jEJekR9l%yq1F{ZMibCeuWW>VpF`h()I%Yq z{yu1Hga)2;u&Y+@SDM7OqSN3HPHwBFbq?Ay{ z2_Im&tC9?Z^>XCK(r=|Dq9VR8dK0x1*oTHHi_dx%PGvTg$?5BTis56=-!e2GtcrNH z6{;PIxrFqA2ThCv?#6^N{XGRIqIL(27M=}Lx%w6m6Nstd5cwzdN9%aRxg90X4(MQK z*2=4ud1&B?NsGbO0C^4Nmys zpD(Vyxx1&`G^Ztwa&SDC|J*v!!-rs@oU^4Uh>yBBP0pZH=2@71t3!;SWDp?Vqp7ii z?%%w@mSP{^9k5P6@`HxoDH_Ki<+96R*DE^ zaZojyo_De#8(xm{h2NbN2t?!-`2gHc-Y!5Z5Qn7n8doVl*Uxl1U} zb>*FbY6P)zb+WtB4U^9vKg$@m7AKpvkzzPM#*rdpW98d%khaAyUIsMV-AoI^k9dum z*CjA&0YUUBfdzf2dGS_COeCqe=H}?v*Kyo0m9Vn_R?BZR zfjxo`ns13Qx}WY@MMwQ%dk0Q)-8Vd^w+DmxO}Zm< zIQiX5Wx{G+1B#}1<+LdIaS^gjUQgWF`K=OAJf1XnZ_VXl{l5^X!;=N7_L__a7lh+PaoX*{e>dIDB+Oj;kKMBfWycxgzL>V?Xy3%N7?%dhxLO-{r&`r z@dpmG02TcK{5qYI_kG>`HHG7JRWdK97p%4GvppJr+0MNNtLo0io0NtRe^{+$dD@QQ zCn86=`462nq3O5cD5zz954J8Qd2h9eN1SY4FQ2!kdiGY35U*Z{YrOhy1cclv1NMji zXAUSqCF~K^gw*|X$kLP*W>TA#!P*y*Op^tRL-$HF(nQF`~4^aeH?u=J^ z8c~4MEqB7?c#mFj?duH3#S<|L&pvfzjpsh}+#OpB&+S_`UDIZv&(Z8#CEF_JJ^`aK z&)Wh%cDjwFR3{f6#G7p+LL%nF?#P+iI_|_Vj=yg(tW=hud92bf7q$Y-TNV2*uWkTZ4ZT;Y+UF=pZ|V%H*1NByQ1*v?$Yh;k(iy3SYyP?{PI4_ zfd@&C|A?Ki9b2H=HSEhChGqq|2i&d|l26+C1O3$t51|(h--}KZZv5?m_%c}nShR-T z2na$I`wm0OXp4pU`HB|}4I)P<(IB5+Kb;+w=%838ksMJ|n~4~Qm1LrVmC;t1P_-#k z!9UUughh@jF0vG@!Pm$;FEu+Ft}rcHI#RwnU4zA&>E+jbe}3$6mMA2&){coW?VGwq?7v0FoFlf}TFxHjmEilpGf`8FHi~AjA3thpkN9`s6K1deU9y6k(ZP1Z3N;w+(nSyyF-`~xRj?yDd^i6&hWSx|q?baOG23|`92F-oXwUDN>{`Vtw3mnQ!Q+Kukyc{k9(!QG#9p-6VZ+)I6=oPfVU!o8 zDK?@@g@HlJsRSW`Ykv;(V_wquMig!ZEVYTDb zi4`1cJqz?7uodv(0Dtj3rnCwm3QQ(NbjkD2uWPwkcOTc!-@7;NT>)%(c^^>rb|j{mH#Q>A9{ z7`zczmy4Wxs}N1|fZ<-Z!l_EhVw^M=*48%1WWH((4>D>ba$%-MiLz%2@nD|Yg!uj0 zCOu4YfLJoPZl&TWTHvl#N-&6&7aNmYwn8N3dx)PKe#8R5bm5>vz$Oqkh{ zD57=_1DdRbSI^LK)7nYRF};nvSGM&JQTJ}7dW+1#Ierbs*!9zfih~EIUs|*MuC#wM zGT~b@Ar2{{IfwSqPn@iOSGSFcvvWbUbGlVf3y_?g(>^1l>It?{MdLJ zY603^YFZ%{cpdDT!^rhhA(B{HgP9zR&paz?mIp_%h?){K=jBLh~zN%lqyYD1D zC1c<{&Hjur-Z>mU@mTmy7K{X&lY{&mW45m1c6xxmpMl`3kIey}M1C}sM}@yX!AmL1 z1MaigMhld}T_1R4z>h~w3uL|rpgea7z;0jvyW0daR5c`5$vy+adxm9!TNGo6DD6{J40u}qlX2WICOY8l#NaWu9!=1`y@)qf2 zjOi(nD!X+#{g=G-K(T7we|8I}4Rt=zW4RmmUmqhW*abAYshtP=-Uh+21KcHWW31Ou4TZPFRM&$Aa_XRnu z-w20`1o;xhP2lCnnqzCQp9K7h4I6Ze51maP#|B%*^n)IJP5e4FX;VMcY?~gyQ{!c5 zcK;{uT(3OMt}`8P^;7m=Vl@@-RFA_@w6NLHWMTz94%wUGBw}0>i-hsj&Kgk3#)N5Mkd8 z-F<42hXJ`&vp1uF(8UXKPH@kt)m;+RsOICDftEw9P|+dOPz)l~*7?esIpl(V69M_^ z@%%z(OaHz~dUaYJroCMicucKE@CX$tDgx%>seCu>39X|R&0UAq`jE)9eJz~1Rj;aU zwM&JT`j+-NLsy!Oz4#BN-&s77e#=Fsrf@FVxY0xHTH6K%>KHY-Q4gLF#?{z?95=6a zwOwE>4n9HS)JtA{Eh_}b&1!_~q1^hJQ?g~cJP7z@`Ys(DeG67fl}DBKH7AQ)jeJol zF`OgGpvF!=@%zLawsCR(sZ)7w#h{@NYOf8r;~61SwBlkU8MO=a;om3RQg%XRiuMgB z{Wmk7h~Q?tEcj7-%CJ#QR=JXxI0nCX)Z&E|>)-!x-S!fHJ59#cJM#+Ey2?9dNZvWCLroWZ9MU3w$t z)oe_9>tGF(>`V^3o?yX4`SDeWUUL(x6Qcs3vtq}G0*>~}avO0Bjwgpj1#Ul&_dyoZ zk;Y!Ba#UMa201vUb{!d*$3wN#kreLj>x6OT<~cb3JUl*zD5&R-gQ4M(fmWld-=n^0cjt`eQN%@5LP=ZrJWw1_mFG+Vd+F8NLgr$h1VQEb5 z$NB%HOno;?-s(|Z*v}V_RZHiwE6F=7+wBkS`*m_v?6t5pjdk$N5>9EFDsZzmuV+U< z5jdiMaLo|Xu%7%mHhW7V9cNVvVfV#Z8-)f-F@75d#$wxYP2bbP)#J zKppPQLUcci@^cLDo*Cah@qMSF=O1F;Z_|HkIEjb76q zOJGe{&K7-_-khYHzb>@v*uRl>LFV1c+RD;%t}7}lJEFLVEiBIAxoG`;-XjmF{o zG9QiqquFj%Nh4ADo`Y0gJ_TD%Et|K!&@-}un<`DheXJl@yE&UzJ4=Z!SyzIxfik?p zas2PuUQ&`&+JK61f&PpHd=oZKaRa7)l0}(YbCi=%#7spR$0 z{@E$(=nscnS6p;|a;hLZ(QvV!dSG=gULD&7?z4Lo*Gx=iRE6BViAnwPgvJimwRUXl zyhM$|yEi8;J5N1^DcY9m{waCNe}7E=VH+Y@T*We<_9P%G)!ZfR;Y_5(s;W09#12&{ za^3l0EUA?bT8dtQYgHq2q>XFdVU%Vu!^ve$t;DPE%X1oKUBX4-5MttL*0dh%s-H6! zj26j~&RuAA6Fi5Cuy z2-rm{kKfA$eXl`{eHbUy#DGZd~oTnQ}OHlZmTtZ`!Nx*zM~Ew zaTCHhPds#t)~V#*oJun`Z9ULl&aW4jl9M8y@LLq>_xxiFm?JPW#Enx2mL!lKE2#E zz|tPEc>K1f7?}tc#QXlc%AUwo|qK$ z&H#Q2mD$r5fT5mi3$pb&fy0hFSS-g&c*x!nI0?siEC@jX-Qn;j$Y23p9^eJ2K?i#` z?NYwuk^Qf9l2$^i^MOYlTF35r%SmrK(y`;$U?AE!?Vz>!TwmYfb}mhaHNdN(TIQ7z zK&QBugmhF_mw>}(Ov zlNnMiwCdvRx;D-5@Sv{l)sDSA?l&nOwu}kh%IXl7J4j&uP$OW&CMe`$LzSa!=>hQJdg&n@N`-Rt{B;_&zsJ~%LW-tsfeMp88s%ATVGtg~ z7Nl`_cB$p5v%{?zfeAXww< zAvpzfQ;R~$MZv&N$J*&iAqLXiqyVZMC`zSb_0m=eRiY7;_N~6G!4jcCLjo8A2lz`1h{#$m7{!(!jqub4(XDcf;DZ~}y(FD04ima>?o|tn$$u>7cd%~8NkMpQ z^?HVARY?>`*Su$*rVg41EYid2QcKz~xLz2#e^+>DQ_**Cx^ ztp2AJfkESNpb;DxSZN?*GaN>K8_W%_g+T!}dtI%}HlRG?(p7^)U_#1RVdvwb=&kjR z^!`B`h)hAgE1(Te&G0w<_Zmn{@;Xmw2E9LB_l9<+yCd$~eU-TuD!k=Y{XT*UPXGor8o$lx|6Sa7p4%XZAQw!;^8i*vDu_%t#3kr8{)$Yz zWI$+!jN?!|bpWDQ@=!Nwdhk1XIGOYs2^U17ReJ>vmwMC(v<;WPG+)0I5b8k@F++v$k){+=?mQz-5aDY;75)3K^ z&Qt8{H#0%h!cHCojrvxo7>v2?%`gMKD>*r9?k8gEydwqL`zq+_ECRt5$88;rdI=Y{1pM?=cug{pi z-jYpdcMn2>Z~Texg7`!{E)whhRBML#bUkfjmyJYnzhVb%LS)d93i&3TJ$`kOkg~= zU^C=1{XPMAZ&*5WJ9pu#4~iQ%Ml{fk2{Bittq+c~F2Q2gsvix|qZGhxmDSuBP_u67edRY z!d$y;NPPs@{27O%naw>!G5eg%U;-QP53e_)bI}+u%AZBU*dMr0pI4(b-V;L}Mkc3C z3{rKHp!Q>Q=Sb&c{d$UdT!1=XW=I|5D@92b5yQe36a5K1hTv`J^3hh2ka&NHgJHbY zpXs6__uhXPxhc7!QYb0?r|%ROJ315vrxA@j#Sv-jZxj<1toqZOKS{HUllKgkNbb3R z{g8(1PvpoH3x$v;#3*nLF(g=&EE5}c5|@A@Exqno0FwVBt|&c8jGQCciSqIs7dST; z_H>gr@$R2PZJWc_>GL52diOV<>iB&37iF05KBir>T6CdN)pt>_J{K)CA;Pm???^)| z{vJ&d-;@Sr5I+r*c)ctidLx=~U&=9qjpo^cnlNEMe9f$fk#&2PL}QJO*_fgv+s}Hc ziZqJU|1FsWn^i@(Z9!pdaum;%rdZ>80;hX@e%o^A!Yq zDt2mRlw@@(#J|Y+1PW2Ya%S~oX}?DISQI-pfhxn1a|0IU(W79NzxMVO@y*1v0N_5y zCXedcHlC4feoF)wyboCzsHinAG@h7mTjK-8lj*G1rg#~`0iTz4LE5KAWj3=SS?E?$ zk>jkHb&@~S=@G@w^%s$?2wePQ)@a7IONuC6r~0bDi)RQa0xw&nup&jP^#jB^P6Af%`}~u^=0MkMg#e|{OxFFY%P02|SKD1~7qocO77TqT^3n~r4#xBB6PR!6?xw**yIN1P3 z@sj?1K@zecXo+X?Ud_b(YpS1Y7A*PN^l-MF=#%TtYkmWBhSpczU&~LISz%v)js;pi z8>x8J6}MM4^=}F4EgzjtvmQ-NAG1ss*z`fbeB$ORWLS9C+&qkK*@`_Y-C~?cC!eY= zqM-7E#-=AINUm{Ou5Kt@E$!v-9(@vMxKgmrJY@O8e@&Y5WI`U`X<@hY+b^^q=4z)@ zI=Y__EONJay_m$2d48ca@yX zD}PK8)}17+Pm(p|0roIaGL8Ol`u@5;n#{n?--0H`SSxOl=cg#d=~brY7p<7|zQd@A z+v@lhLbp`)ZgD}CG)QAo>$bVQluLpdbc~5hLg?zV)sUOd&KrdcnUgqABY8I)K0O8d z_)pzk1iLv)^B+~C{q`K4vRv_}NkXym6#FRnS|jBv=^yMQU$2|D%b%VF`Q}o7VreyP zc}A?wrob<&2k5@FwnZ7VpvSj0&!ff=j5s}Yb#49gLZM3NO>RRWt8b0Ve1a-HjvOqc ztVzDSl_}sC(k`>mpN$G~4))bqGr@WuVbAbpGHnVJs%n47WEP+G_bP=Km1x=BiEW2- z($A-KP*324WGq$h){nTt$IA8tob-VTRw{ucRYW~@N}88EKzbO3DG20t)kBpV ze^I!e!Da=mXl#^ip-Mk_`4~Sb7x6O*h=9&wmYab3AzJva$q*3>SVN(GoY9=-EP-BS2k@N!v(W4TPk9278L%nmvpJp@11H>Web<+c95-VH ze*N?X?H2FGj@p%4?CF}eML5*wELwDLx=ChlT1k`uS}ePFlfv2MUNNbKan_{W zd=+-9on9l(27-{44<`pqbc^EO{3$ulZ2?aZ9#@=hBsZ1KOaJJa9=h!mmvtl8z*xQA zERqH5@fQ;zQOz`V%+?IS72@&X3FCyb9 zO(zx@Ikb-|R-Gk;0Q*yk^CvN+g9Tzq{eV)u;CY3reZr~eN+6gPBZ-mXL8VO{0BBrk zi*(Uw;2?MhgG?g%)o;suBEA*drPI3|+m+t|K}36SIQxE|l96oY+`2(+q_+)BDjyUJ z_5#%NR`uDkCKL>oGS02de+AI$FA-60ckzqM-&6>w&aZ#r#`Y zOimU(UNO0zznzwotM%->x?64tSVmb)n;us6#)TeaI*Nn}_-Pg6*I8af3P<7O=pw8t zD=X*ZBqz&~+%RBKK)HNi!Wg6!DOg%6d88Mcl$r!#yUyAH+BcN6zB+Zn4P2*_Tt#Sc zC44NACwvUMi#N!%JH~L~xlxQ!c) zi=o1R1sLIPQ^TLeF3-5LDW}Be+*HK?q^L>_fI~84=&dO&)co)Y%7nt!EZR zY?mN2{rMPSZmoF!u?G96EN*vzy_0ySoWB*f48~f4@folA>}VRYC@V{{!h z&WDGG-QC^h=H>u~0Myjf(b3V{+uHz+0055w0EhtC*w_G&004;q;o;!`mH_4DHwGk?(XjM^YZ|e0QdLz=jZ1DlK^sna_#Ny`uh5biHYgy=>U=dK7>A_ zqoeWh@%{b%va+(+J#5AR0062+%4mNsvwLjVK?A21Dqj@ zL0AVXfHX#Bm&(nEX8wjS?uCtqq2Fctp+8Q-zWItbUfh+=^Z)<=07*qoM6N<$ Ef|&}xng9R* diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/toggle-rtl.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/toggle-rtl.png deleted file mode 100644 index 67f5c3e30ac7a6df42710cab9950c3514dd45d80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 409 zcmV;K0cQS*P)&op`4tY+S=Ok^721>KLC6H0Db`G=H}hq-G_&V;Nala*4EC> z&UAou0EYkojR4!*+tk$5(b3TWh5!JL0NB{r0Ehqpj{pFP0058x;o;%z?Cj;`gwtMkpKXh0PgPY0GI&t^YiED=lA#b0F?mg>FJ4yiS6y}`uh5EfN}tn0J5^Oqobqo z@$vor{XT>~0FnR=0+k&A005~;L_t&-8STL_3IZ_{1klMOKgp_<*m?!Q`(Hq0VZ}38 z*jT8A;40c@{{bBEJwjMu3}}SN0AWnpO4lf<&KAPh{rwa|SiP2#8>L(f!U$nE;4=Y? zCXA4l9H>zkA?@w}r9s-#0cl(btDpm~B#dWaZ_t5x6h=sk4m_z0(&)gbj1aa49Y80H z5EeJdCen7y!U$nBv)nMtH4EcI*zqv*`$j+Xr=74bO}aN;MC9Yx00000NkvXXu0mjf D&g;Nq diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/west-mini.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/west-mini.png deleted file mode 100644 index a13f0835cde970c36861d9d9853a05da41a4963a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaGJMSxF;>;M1%85p{8AvU&N4vs!y z;mP9SQ>CS+tEtV=)0?lazrey`iMRLKz`*q(AsZtjH>aiTEGgMvQ**eZZ}EpTHqP_WF?#W6(Ua_I$kp#}vW)_~nf@Aq!M^S_O&OXF4ih6>}vIwcN^NsA;q z*qT=?sxF&YdSv1Wm2-T%mNoHtIbGuP+k3#1i_ut~Q6uw5Zxw@EwfuV42Pf7&W1r}_ zfA{5&wq9&*TUtVWrbL8pk343tZ`TWd2SpK7a7Si(&O@n=den(n=x&rXx zS4u}I1 z)Bt`0_3OmUf%ouej?IrhIeGeVK9+&07Lt;aK?$?uK8pZx6yv-Cpp=23YPf)SSU^gI zKyz^-m*Leoz;v*CP>VQTL9*EQ0^A){9W(BwN#KZpJDA&EfT~qyFfimup++#R060dj z7XEG5?z@>)4r+0NG#kh;0tx+yRK-mI@+`l#y0-j;|Erq?w5TWmQ=lGBQW~5AzkuJN a2jDNMsK*_o95@yL0000QaG}Q-Dv1>;M1%85p{8ApwC&f`XGo zM5ahdP1DerYi+&M#%5VS!1@m#eti1$^T&_hzkmOIZ`rd4Xc}ipkY6wZzom7}yp2zu zZVTMl3>1v^ba4!kxV-m_C0~Pq2=hhH6KUVR{tI9FQ-Q-a*zTm;{2z^N7p3%GeLH(A zdhx%AwTq{_Of=EIrm}LvtM4u=G#_Mt61XqKIDP&kS%=RX?l3g$-hQ$0sk4?UEB^t` Xhy?CXZb4RQpfwDhu6{1-oD!MQaGJet=Ji>;M1%85p{8Ax_SIF0Ot) zzKH??lf=ZPii=NGR-UDzGTYpIiG{@yd;8@M4lBI9*ZTOZ4GP*29K0bTV^?qQ>At?x z@85s_@Zrbj&p*F>`T6bJuOB~t|Ni~=&!4}a9?Z`LTFqG! z0|gsAT^vIsBv}tS`WsvE_Wi%YQ z_KJfcbg?WiL#kE&gO5M!?oaS+SSmI_^Z?rlE+NI!dp+lV37>KI%=fcS-#2`_uru;U z?X;M*+4fgBYi#z^H83y;9FRHAAod`0KSL=K0|x`c|8rLAt)Zsht^wV`;OXk;vd$@? F2>=-1g1-O& diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/zoom-world-mini.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/img/zoom-world-mini.png deleted file mode 100644 index e4d723182da0e274a37c9b9cdffcdd0972a683dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 805 zcmV+=1KRwFP)>g)z=MOvzP{mne8Wskt$lsM4Goai*6b=Ooyp1Or>E8j z2aY8rn_^(bKdb929{s@OWhMMbJXL8vb;pvK1KR#vji%;ymi zk}@)(zrW#lc)>?UtA&NfaB#hAYrAoAzPY*Ie}BYUTC+AIw7nL|Tq)tw*Gc%&Mx89YN&K(_?&CTct2#&?YFJyA0L?o1&y(>+J=V6+1c$_ShB>#Fyk9hpx6trkR((WMD1;$kQyW74F=7}axlH; z7#WNiUrL-dV?4=Vaq_?1H&w=Cj11OCZ5SC3*&k$ZVBGHnR_D&RLs5f~@qi=&PioFYID(GM#kqmB64p< zfMVG|JUxqXQYgDHW3R-E5=KUbGDgO|rz;uT7^)dtYA+ZvHZn3a0PRt~rC!r|WqGL} zBV*M+pohGFIj}H(5M=yxiT|T5V-eWf{h#=|t*y_C_9UK9%!3Bb)P+Ep)xH@qM$Kj<{Zp~N=K7Zb1^w9wWefEXG(3zW98QK)#ufsRF00000NkvXXu0mjfKp089 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_65_ffffff_1x400.png deleted file mode 100644 index 0af053771c1fc0f2ce949ec5e341b085a45cc648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI2NH8$CE1Q=ADM3#c#}JM4$r%X}t&0mp9yKsb W%{ak$*<@oTNRg+jpUXO@geCwKViDW` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_75_dadada_1x400.png deleted file mode 100644 index 910da200e0fcb588b6e56c1fc9264e4e0ab395a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq})7R978O6ldFEs?`%vI=~dEN zyng#k3GNvZ{|yYgj16ZQ7^WE;J~c2bGceq0Z1~K;FxA+Qt>I|BvEjOeqzRH0?EQ-t ZHZZIz;+^Xz%QGEhvZt$`%Q~loCIDQ-C8+=a diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_glass_95_fef1ec_1x400.png deleted file mode 100644 index beeef85ac198b4ddaa16e9ce2238fea9a2f6525f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCqB11u30hJ=hQAcZOt^k ne9c7C&@kXa_ftoKKi2vke)92dN+)`Ou3_+W^>bP0l+XkKqC85A diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png deleted file mode 100644 index 63c73b56200274eebae1d069eb73f8e89447f677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^j6j?s03;ZUuHXC*q?|lm9780+ldEcaI~yDIUWi?; zuU2EL7Wf%I>E(ZQgI{O9{5QG0-&o<(e@O$TqUlXb&oy{5xtIoJ0(C)wQ8kdIr08vp>li$(?(0025j z0R|j$5GfapcMb}N%r9G>m->JHj{+A2*`5ai*#%mdUIjp42$TcP%_o2m5*85^M@dLZ zNuQ88Ew6M&MfI$vjvfww-q6VSlKGXZR`xD#?jBw@Z~5Jhh$h4)B&MckK6?5*pIG#w zwCvUE%C|Ljjm<6Xo!xx{)KwNTspA^}9Qt|D;GAXXAVu>=YBGdC_H_r5b=u+$NHoA$zMT#Cm0zS zQNTtS+7)^}S`axKGrVndvhbkx)+P8m+#nIkU}oHLlwA`7u62-Ml(o@kS$>0xte{%5GD^U7u)`M*5T0@OcSJn)cGyKYquFPu4(?GyR@4;EALKJN(Om#ddYU6A3Dpth5dFj<-_4yUHdMFSeb2TC{L>;N zkXImSvDFpAZdU-8i%>?3zcnUzaQWMi!+COKIpCcGvx@jSkEJ*vgIvH{Y6v~!`)#-( zu{x)b!VR5FYA4$wj*am~#sk71IlKK)z|SbP!1T6`**71C?#<6Dl84(xeIl_qyuD;* z#vddw21IYMd+iWaP3ff?8fPAwF&+`Le0NgJFuGs*M7(a7qOhR44eU^Yq-8UPRk64j zvvlMxM%1l#MD4im8s~;B{MS2c4zdT1v2{F&ybE&J;l(&BJbn^&l$-{m&U(ubxili7 zMoIAl{mXQh_uj!GjY6|ugvX3x0!Id;q@a5tI_gv(83TiI{wny4iQCF--ttJGO6&dp zrFB-?ooGbJ69dNKqLY{oIud!~g5kYiptU7668zNTX!v6K!-A}T+o-bY_T9#P_t%y< z>)6pW`)aAhQgY-F43P3Ols#bX_JqD4>nti~xraqy5CM-anJXugd zDdqZQ3piH}4mMe>7tUfO0>hsz>8M(_?E?PxUxFXRwq7AmeESRn$M$}RRVt~IjKXa| zCw}erTtl)#hVaIH1>(krx$+HZg)G(?X2{w=FC?j!L7hjR>VvTUxLrgGY{OFX#Yx&-C4(aO`;5c4_`Vh#U2U(lH5rd~2>$`)R zcYZPhzsEz6KUSkTo)C5-#G}CafF?`^WEhVdEGy=_FObajQqG8r`k7$|qyntrV@?|& zf~?WaMjNqaPdH_tv7`}C2;cf?*E`QrnIdxyGW9y4=2_qudKAIGPOWfmooy8ICt4*A z#e9SaX0vLcOY6mg*CH_i_)%!SZo7$#;)sH|-W23ME#N%3nyr+t_ZuNG!BKO*2a=3O zYU=20Y=QiVNOPt;xUBLqp$uUF)fqI@3mx>KRBE?I`aKH~kod89`V`1{cJIUWJv>W3 z5^9@X8es`?WNdFEQszfghnF9$eOuvsPPiX)Coj$EOoh1vORz7_T!*6Sa}(b^cyDkvzjOAkgy*z#TFzugJyqGToLxXw-t4ZjtLcH2B1 zH=lc-^qYcK^KoaTv?(ipc3QB*;#pW`u+0J(Y9F$o##erTMUqz4qRH9uL1l{bwY}meKL9{!phCXmzG@_Ienh`)fX3oJ-R`J+m18E_{Fcx+DrPx!<{P zrYSraVcTunSf~7!#8Rg&pCF6CMz!9O9|q?yMAelt^e+=?rpYIsTLyTR@btzm`*AXa z?cV)fI5x^Mi3%G&LY#~i(ww#kbPFo_aTt}q;28y&g{w|%ay-e<`OaK-H6KZ-zkFLw zno%T(<#FrwD|%%U3}+9)<@Xvp%MqiPachEr5C8n_`Oi8yiR zPjN+JIL>_8d;|rIMl?FcAH$c%JF5C4sT;6&Vk~>V* zeYjDhSVU738YT{&ZgP{TpmF+$?=CLxQesWjY$o#hvKVh{OwlJ!oG2H{n;RW+-Xk73 zPcuc5MFltBO7P2d+Ip5ZwExt4%PwHQ@aYY(J0#%AJcPYy?^WBJ?YVw`KdgX*DEg@r zI(;z4ZBfY_)D;oq@|T>=F}=#;?o6FfHeC&f{N$-a;%fS-J%8NTT`)7@nSB%{)Y#J# z!jIb+hAas%72a#UZikwsjxq<5R&qi&-!uh=Jb&;e%4{^fo^uy6#% z7M*yi6iPQVcKRc6Ekh!!8~Mn!Oky7m4u=ncQ$6AK)?v`3{; zU#oY6pSV|}ge=wfyy|OceR4hT(ko<{@LTNsIXvhjQPG?3@KyYUI5kFq(0dE)V8)!3 z+PDNb@%C|*4x>_xty?_C_O??6lzBWtBSa8~nP{RRkL`Uzz5mNoqXU_3wI}c9ODZ{Qi4(md5Nvi_#ji0} z?r3W$yc%QoPURi4$_ef4U^0z`)CtZ_Svbs(UEqXC9E^?kD9I`p8NWG_9pYPa< z`xe9IC5<#G2+_X}^ojL!5pAXl?!rr*9-#TJ?~-&gEd0C{AgnX1)X(2;rsxn9NI=4+ zh_0X(Wms9%C9;f~J!18gpP0ueQuBhhlch2ywmmbEaBZCHJCNgp6o9U=Lb z&3pQ$b$0R00B7SF8LtJz%JF>ph4tT#H#RLM1K#O9OsL&^a5{RvshQxi)7U>bbElQA z#8^Mn>Vv!{`YEU1y2aF#@x$LIy5Y+t^>SuI&)SctyBZnHq{zC_2=tI+2}R=}wnp9Hjj0Rw24e`J zh(SLp&28=t8hi#EXJT9@&%LTwzUiC>upQ|zM)U>{`G)o(;v}VT%E63%EJOBG`$%_JY>S4QFL_hD8-r5WR zjxdijf{LMWggQH@<$k_`gla4vB=R}x)q~9a<2)OLq%4nB9fxgeT#Cp%JCGnpUF=xGa(eg!@ zr*y03J+tyANW*F0$`F*!ZlG}@S$>(Q!DN#g&4?o;(S6Qdn+{4&5S3* diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_2e83ff_256x240.png deleted file mode 100644 index ab319c498557b9f7503e8ffeb3d923fb78ef038e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4261 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 MO>Irej0g$;16-vFO8@`> diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_454545_256x240.png deleted file mode 100644 index 3b3ab9195bacfb26d5a99411476d81a8f0d67f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4262 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

    jfHA`>k7m(_ftu^L23%(pjSOKLV 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 I4DT5IKj1+HNB{r; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/jquery/images/ui-icons_cd0a0a_256x240.png deleted file mode 100644 index 9e50d4d540359ee0370a76e99cb5196762d124a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4261 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 M!oj9eKSj~Or~m)} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/screen.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/themes/pmahomme/screen.png deleted file mode 100644 index 695c155b18c032be575158c30ca15c02f7c94f72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24911 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≪J#mIFL9(3~mi07K2^G zBTP1%R%;6fM`aTL42M?+B5fwIiegMQ7zQ3OaK?aDF}N6Z_;ed0<>P5Ns__` zMI=GI8y+7o##bu!G%qO{;0@=7D}D4_nc6Ilci@O~VdjCHC zQ|2%b@Bf=PZ{EBi@#4CckJ@Mc^=9#nk7nQf?(+Rxx9(oPefiUC7cYNt=GLuSkHG(} zuO8jGcI(!)w|>eT2IE~iG+vbWsPnVVn;+f$=*DM&>BWl|uU+iE1<8JO@vEMTk1js? z>e0oo?%X+d?aohlJ*D2IL*h059FYB}`DQ1WUA%Mo)}4#zZr!YM?&7uE?|^6AwL5pu-M%Up&m7?cY4Q$92Iqo4 zm%}NS(0>|Vu1Bv_1_lQ%>z=DAuF-GSNiv@K*TXwZ>U9nr-#6>6k;I2EK<%2%>G3m9 zKahDqls7l-()?YT%o!Cq3p374pLS;Mo?_00$(7Z>I^bEAB^(o0UH z?|bS0hj<^~zPD=&=hN8i=@UEBdgdQW$ws^O#Ln1rCOzs>PR@D&kz>D-9(cm$mvbOX zeWIt}v?#mdllj4_j=6h+|Ml=rn)LMX?vl)?zLY)AoU?GsrIdmcziHD~?TU+?al$V} zpSJ2W=RwRBzbml?T?e`{PjqBndUt+y<%!t!9Wk#K|EuAhG-?0S$9o|=Wf`YCO+-rr z()1CUn9%prNFlLUdH-a;#_8S9LGzhzcv$htt_5x(?0HFXSa($Q#f3*TcJJ z|5L~NlO7*0>AeH)Pk6oIU9)EYi13mxJnH}qhn!?X?C;whmV6|R{)G1l@xJis7e%bC z2Nlk+c#XL$QI>BwW1`TX@IDdV;BWr^_eY?tiwkUMQal0D?x`ccy9WX=aiWP1$A7}> z1@CM7_iq{=Z_%T!w7*|~Mtg?8{P&-W5aj)P$3FiYu_J`3Fj1%=@t^Q|#QWNa@Zy%g zq#ybcdfl_A|NDQw72=37^z&mUbs+Vs;=+&!qw){X&&e(nf-*g~LU;jeKrl zBiT^rzWs3k@7qJ;MJWcldnX7XhJvd=EnL<>9KoRHY@8kJ7QrlBArI@vi_(3@F}MIp zO}3*(yPdSN@?b`Tpfny|Y`23Yqmf4JaA}bJ4T%WoVz3dy9thg%-~vHvK0GAuTt$i# zz?tv?d&}UMFu2i+Uuab7a+tMVn8LIndmV)C&I<}#h2 zhRLO>E?mv)N~z7IdhrSvr$mcXl+ng znfu<1jBjuL*gy3~T}D~s3jbP{gUcv^=-9T5>X~H~Eq1qk1blmYYiVes|K94h;ksZP9<$>xwr z!56EWnvQ*Tw(YZH$J#zSd-k(B+6E0DT_skjI+|8|c!I-+(=m%J!hM z1;m{_1`hV{povk5=X?g&K0Ef=d9cdRC9Q48z-i8=GH!eFBWgOqb|0NR+xpqfv#!y6 zF%wzZdF(TAaY3}nZ6EQ24_l6bV?pcWvu*I2NO0MF@xkZ*xO>wdp8LZec5iC;+x_wz zFaLGp?!V6c^>5yM?zunwdZ7^{dv#}NDcGu|^kF#&Ff40sC~c_d ztSjAD9toJtX{`g%t)&L7>zUKuuy`qN^fJnj}M{LF?E8PTb?!BL#$m|FCi(tu~-M zNv#gks*~VKxyhhSO4MkznnE>9On)zH)svz{Ra;ZQzr!&4D4m8-S#mh zsl&q9y})IGy-ej=a1DW`M0JSRnZQkfVd09xY_M3awb{aLrU;V(e(ykA|DneG>g}QN zh9MXi?eqHQXtu-=Tt+(vIDr zk|cd!$FWeTc3iZ+|HP6oY2R_i{OZk(8#fMtHxjxjcQNe6aX1VIK6JTPEA4diUe%Ng!>ZE~tB}v@k1HCvh(uZlhxi|{bc!|&l6neUb!jXI%Q9%E<8S|@+L*oqq zPa^Qji}AP?f=BRZfj!I=nTp~=;uZD{lFk#3U?laCZNwWoU{HLYgikGIL>J0+*=RVt z=I{uWL4;e%v!fHW(HR||gqTkh_|4GQ<3BY9jpU_xSiCkvR1{%7v-D2|^A8;uH_?{& z?w&I_>jl^_c*la*4mrCdcj*Zr{~^B{<~?fcSi(z;e22wDDB;n(MK{EE+5tY#506*N zh@wP<{lc>D*b0&4#ICBV2h8TEtg7KsuOQGCMzKql1f*qUa8+)7RYKW1 z^l@oJ+e%JzU0wUU9&1Ks`AXPymn}#R+(8cO&_DIkd$#QjPI(WxxA{YnW^16pX%?+ZHCCyEBb)|J5m*tj})@?a? zqamoIq{$tx-LE3+Oq?=K@#&>$vC&yM(OqYDMU{wq@}eu;tfP9~?J02&C=m`^+tINw z+U=gyq^wX#N}yq3bkv@Ar(y&kkOIDcIcuU=TBn^olglY^rv6mbq_ z1%y4zv4ZalqIpbOBPbQPZ3g{yyXTm09qHt3q|xC1gWe$@E8M}x2zS`+;VzLogmR(d z2_YPd*fU&@^$feBGgJ-88z>vti=#sgb6yhiDFHzeHNO3^Meo1wE92y!5)O-3%ZMYw zaFp~VWxhJ5Tpy26^)>N=cwZ{_VAQG-uXs6QVVK>Yh zhN{vLOU#>p;x10{QQkS70iaiJ4EU=hnqCnpkQ`& z-k#Wk>9Gsvr^oJnFugLRt1I3AYNfhsypHsMmsb`1lb`_JO`C>Dy-EXV&_tlbr`23l zss**Bs_Y$8YD4M;HMZRHeecI5;GR-%@p%8A1T`$)Fr2VpBx2#A1cBnPjig3ZrGqYT zaLkBXJm%F!zcqQJxP@lGeZ(ZikUiIs2>W4dy_uuQ!9>M*> z_m(-1_Bz})w5)6!yZZWGurJu&v9*8MO#glT`|T~;>;JlAH`f>t1OyM{j2S=EXk z_OikIJkT9KzIyy#|4@H;wx>NU zJyI%iQ4jYuP&yz|O3JiS#3EWs5sF%c38<4$QKwQm1rZQBk5Fp_Qd(Ne$BbeHf_#*J zhC~SRu0k?~$nb|Z{&C|q1Lh{zn9-=YZ<4q7>DOs3iXSiUCC_yz-Fxk|_TJ}rR@Xjf z?{;lY6oUd6(=eq7Yq?s=LQzy1$3*ol>@wbdS|r~)s5Q7!q-s|J+{{2Vlv-jK(rRy{ zCK%pANxM?539gYLm8z{P$)ExV4_oXmo62cONYJ`UNV+PU%f0J{4W^RpL)H;TiPJ)4 ztlYQH(=M%LVZvguI3`pTk8OStm9@3}2i3^s zYnR^zZ@Jtk6-Lu&#ft2h+{`@7%vk%wy;}}dkJU%J8YcIwR@AmcgjeO_Q|T^)N~KD$ zj9mjrSLEKgs*wr2LN zT|E8u%h9IXOSg8OA2r+jBHF=g*XwI09*z7=z`ONrcMe(Vs%$2@lK6E&b3y#!j3&E2 zbISa9`@&jcecgQSOuKR&c-1W&0$zjb#>BOosn@2*OA_7&Z_@GpOvkdb(d}?JCfXd% zws?1cf4|$|cG&HX<$eSC>?->0Zh~QJb2x^a7PsAPBlzxRM`oAB=>WL|=W^xP=?A{c zVld=QI4zb6C}&-+uB<%#!0M~ZebnARWH|~;3{Lms%F{Ojm$D|l%?*t)*X$r)UX{W2 z^mUTezPzWh;LO6pSmVyIrG?6|fQYun_HAd3>hk4O0PohVeOtFiCx?GKp!NU}J6$Y| z-c>|rX3b|Sgyqq>UmeZPJ~SVbot;}$E?Oy`tJ@#RdWXBT+Myxf5Fmlh4BZAsGo;eK zm26h44IZ}PkrNZcHb7RZHh6F3DAc0)&>MGGD*bD@`fcA1WdkF^q zBi{4dhkf635YZSc9mZ6mm&bws=C5+Z;1L+KD}TSCBB?D9bWw#CBb$AnUIEvx00~FcM&{5zi9p1U0o5*=Zk;a zN?32koj1vR_9ySRbck<|G2jk>Fc1kExEW*8D9ngAW`-YAKNBQByhqlD_XECT_T_N; zXMzOb?dyZDa4I}?_wK3BzYO}=IR^sE2;2Ac^_}_*?5J; zAKX~X77C3;qX)KW4V~{5N`&MPs5lkbV3%-=`)(m6sWyzO$Gmg2dM=lW`c}Vs5Oi~k zIym`>aIsk5Ot4PLX370CxL}Ni5$$mA)U=Y-8#1@+o$oDG*S^sMKII`%dnufp3gPeh4u5f zBPk-8eLy_FOj-=uTlMX+s7JqD_QDGQ?pqIDTGq}ZO`D3U$}RI2c12Cas&mWYHxs3G z!<{?ZW*vL)AD*vRY+W4Dg~2P@LeqHRt^axa`d@F}{KxqC&D+!)KR#HvcKtusf!CAi zaLl-8?bNy5d-AI7b7$P2If<_{fRgVvG~tu;Meb$ig5 z*7f~*ej!JkrAg!EROdvCjf!J}G>LIQ5M6ypD6iQUwrUh~4thzlQ8MUVlN{hRsM&l` z8Gx>bBX+e`r*HF1wKiztl0C%2ulQbhQT3qDs%2@yG%+h*nh%9|#>trK_HCpEx?}LV z-pd^bSuyFsUOeSeJ;!7*yD|qPTcWF4i)xBoK?^8tKi4T%4&5H~S#Jd6^~1{$jVN1> zXYbjSS7o8s*>hVfzN&MNbQToPeG?zQE3-N?Z+CTDZUV{*g%_t&7~U>1gZ{59^)DOn zt5hY2yk3NIu72>)!u^1fZSNypN{Lw7<6HdOfbXTD6bwVbsDL39Ob`2Dhl2}u z8_wOf4SHp)l=b<}A<~^gzA()a>Ap)Moa9mGVuMf|VqpPbUT)oZ&(qV#hW@r`(rAik`@D0Wx7`_z(U$bx!mU( zPxT-e@3ZnT6r*8OWtPt0Nrb6HC=|WwZwE>6h8gci!OO&?cGq4p7qn$MW=Ji$cKOlm zYuEqQqe{JRlUPrym} z*hzmD`}?lW1rW7J$&H$_{~RfI+;Fuo&AtJoE=f1qE*tiOWTx$nyOixw}uvyIIY!M5-x%U3aG>|*8e4pNVqxaQTrUQnMj zn5lQRA>^zhKvc3wD zQb8@NEFYK}=84HCTO860p68PD!3Q7R+#)cxHlV=|jhe;hq#@9Mu+^Q1NS#9{JQNB< zx1%AKm;3w$6=74P#>uMue2K7_qbcjGHwBzSOL9Y&QJG|`T^HVyC*KQRmX5AtM3IIz zgifJ(9U|Pp01)2O!$`l1!^FD2R|mbV9#isZTlene0lK{3?Z3Kuv{lHUL&CM-}wRzvk(0W5rAqasWbkS;~QXo1Co>M&A|z$p_$ z8@3L-C&Ax)!K;)0{(BlLXuZVf`NrUnDmQjZ6?*T0D0Tm5=^cGr-#NS&ybROtPoF-g zz4^k^!Bd8o9)$66jN)(J&oSyBPLiVIl~43nTsAJ^4QHQgqLs^5e=#Pi=nZ#YDE@ zFc<5U}n~woD@S}9RhmKJ7z+=*Z z2s0L3SSmu_2biE;RF6V2CXizSe9%}Wo!bNZ0DUkH9T*Cl!SQW46_nsi6gGmQn4T!{ z-Xh>Vu;V%|=IuDT5r=`2ox`WGUJ3)n;{rn)JuVokffXkb(NT=apwZX}BjS!I6c_=4 zCQmadJ?w@Zdig=hRUF%gQ$5Dy9i|8!Dj79-n^MjVaL%ZY*r^vE)~==ItOSB8kRYh0+dF%eIb~a#8R+|3(-i6ag?%z7tn;g|Ud*;qUMrzN@b0CZS;6CJzHpD6Uf47{Y6HX$p5v#3m;6}4*JOFg$cy6iu0886ywu&-ZSVZ` zG1Hj!Ch?*)Sw{9uWyaaYyu>B*o&K_!izg1BIh&YxXYK35O~+=;OONxVBEPCJe{pK| zaXVlbd!H@D6j!e##y7!i{`}FU6H|8iQa@iRy*l&9>F%FSX+4@Ko{>Mhy5wA|5IlQa z7A0-?=O0ZOcV7BVaYrwisH@x z`cj(=_ub-Wy_-1v;5n`fFLb>h46jro_mWz}Q%h%O*49pUk1p9ezn&J!BantC0RIJo zG>u#>5vOU&3!EGtICZ&PsNrz76tv0JLbWDK?Uz@B!$>gHYC&|0)R-mU2#g%HS|b&A z3XDRvKwvaVSH`waoi?j90**$l77B$Du~A~w$Th~a#igm!8D|P8V!^O5->sl_B+Af*s^8G>RcsgTL#FiJ#< zg4n7|rk2Zua(TT%B2>sULWOs0GEkZ#6UcLf^>TS}v0A18B?`Dj8QhyJMJ87(Bw~Rv zMF4e(oy=e;ge^OnR&azb array( - 'position' => '1', - 'width' => '16', - 'height' => '16' - ), - 'b_bookmark' => array( - 'position' => '2', - 'width' => '16', - 'height' => '16' - ), - 'b_browse' => array( - 'position' => '3', - 'width' => '16', - 'height' => '16' - ), - 'b_calendar' => array( - 'position' => '4', - 'width' => '16', - 'height' => '16' - ), - 'b_chart' => array( - 'position' => '5', - 'width' => '16', - 'height' => '16' - ), - 'b_close' => array( - 'position' => '6', - 'width' => '16', - 'height' => '16' - ), - 'b_column_add' => array( - 'position' => '7', - 'width' => '16', - 'height' => '16' - ), - 'b_comment' => array( - 'position' => '8', - 'width' => '16', - 'height' => '16' - ), - 'b_dbstatistics' => array( - 'position' => '9', - 'width' => '16', - 'height' => '16' - ), - 'b_deltbl' => array( - 'position' => '10', - 'width' => '16', - 'height' => '16' - ), - 'b_docs' => array( - 'position' => '11', - 'width' => '16', - 'height' => '16' - ), - 'b_docsql' => array( - 'position' => '12', - 'width' => '16', - 'height' => '16' - ), - 'b_drop' => array( - 'position' => '13', - 'width' => '16', - 'height' => '16' - ), - 'b_edit' => array( - 'position' => '14', - 'width' => '16', - 'height' => '16' - ), - 'b_empty' => array( - 'position' => '15', - 'width' => '16', - 'height' => '16' - ), - 'b_engine' => array( - 'position' => '16', - 'width' => '16', - 'height' => '16' - ), - 'b_event_add' => array( - 'position' => '17', - 'width' => '16', - 'height' => '16' - ), - 'b_events' => array( - 'position' => '18', - 'width' => '16', - 'height' => '16' - ), - 'b_export' => array( - 'position' => '19', - 'width' => '16', - 'height' => '16' - ), - 'b_favorite' => array( - 'position' => '20', - 'width' => '16', - 'height' => '16' - ), - 'b_find_replace' => array( - 'position' => '21', - 'width' => '16', - 'height' => '16' - ), - 'b_firstpage' => array( - 'position' => '22', - 'width' => '16', - 'height' => '16' - ), - 'b_ftext' => array( - 'position' => '23', - 'width' => '16', - 'height' => '16' - ), - 'b_group' => array( - 'position' => '24', - 'width' => '16', - 'height' => '16' - ), - 'b_help' => array( - 'position' => '25', - 'width' => '16', - 'height' => '16' - ), - 'b_home' => array( - 'position' => '26', - 'width' => '16', - 'height' => '16' - ), - 'b_import' => array( - 'position' => '27', - 'width' => '16', - 'height' => '16' - ), - 'b_index' => array( - 'position' => '28', - 'width' => '16', - 'height' => '16' - ), - 'b_index_add' => array( - 'position' => '29', - 'width' => '16', - 'height' => '16' - ), - 'b_info' => array( - 'position' => '30', - 'width' => '11', - 'height' => '11' - ), - 'b_inline_edit' => array( - 'position' => '31', - 'width' => '16', - 'height' => '16' - ), - 'b_insrow' => array( - 'position' => '32', - 'width' => '16', - 'height' => '16' - ), - 'b_lastpage' => array( - 'position' => '33', - 'width' => '16', - 'height' => '16' - ), - 'b_minus' => array( - 'position' => '34', - 'width' => '16', - 'height' => '16' - ), - 'b_more' => array( - 'position' => '35', - 'width' => '16', - 'height' => '16' - ), - 'b_move' => array( - 'position' => '36', - 'width' => '16', - 'height' => '16' - ), - 'b_newdb' => array( - 'position' => '37', - 'width' => '16', - 'height' => '16' - ), - 'b_newtbl' => array( - 'position' => '38', - 'width' => '16', - 'height' => '16' - ), - 'b_nextpage' => array( - 'position' => '39', - 'width' => '16', - 'height' => '16' - ), - 'b_no_favorite' => array( - 'position' => '40', - 'width' => '16', - 'height' => '16' - ), - 'b_pdfdoc' => array( - 'position' => '41', - 'width' => '16', - 'height' => '16' - ), - 'b_plugin' => array( - 'position' => '42', - 'width' => '16', - 'height' => '16' - ), - 'b_plus' => array( - 'position' => '43', - 'width' => '16', - 'height' => '16' - ), - 'b_prevpage' => array( - 'position' => '44', - 'width' => '16', - 'height' => '16' - ), - 'b_primary' => array( - 'position' => '45', - 'width' => '16', - 'height' => '16' - ), - 'b_print' => array( - 'position' => '46', - 'width' => '16', - 'height' => '16' - ), - 'b_props' => array( - 'position' => '47', - 'width' => '16', - 'height' => '16' - ), - 'b_relations' => array( - 'position' => '48', - 'width' => '16', - 'height' => '16' - ), - 'b_report' => array( - 'position' => '49', - 'width' => '16', - 'height' => '16' - ), - 'b_routine_add' => array( - 'position' => '50', - 'width' => '16', - 'height' => '16' - ), - 'b_routines' => array( - 'position' => '51', - 'width' => '16', - 'height' => '16' - ), - 'b_save' => array( - 'position' => '52', - 'width' => '16', - 'height' => '16' - ), - 'b_saveimage' => array( - 'position' => '53', - 'width' => '16', - 'height' => '16' - ), - 'b_sbrowse' => array( - 'position' => '54', - 'width' => '16', - 'height' => '16' - ), - 'b_sdb' => array( - 'position' => '55', - 'width' => '10', - 'height' => '10' - ), - 'b_search' => array( - 'position' => '56', - 'width' => '16', - 'height' => '16' - ), - 'b_select' => array( - 'position' => '57', - 'width' => '16', - 'height' => '16' - ), - 'b_snewtbl' => array( - 'position' => '58', - 'width' => '16', - 'height' => '16' - ), - 'b_spatial' => array( - 'position' => '59', - 'width' => '16', - 'height' => '16' - ), - 'b_sql' => array( - 'position' => '60', - 'width' => '16', - 'height' => '16' - ), - 'b_sqldoc' => array( - 'position' => '61', - 'width' => '16', - 'height' => '16' - ), - 'b_sqlhelp' => array( - 'position' => '62', - 'width' => '16', - 'height' => '16' - ), - 'b_table_add' => array( - 'position' => '63', - 'width' => '16', - 'height' => '16' - ), - 'b_tblanalyse' => array( - 'position' => '64', - 'width' => '16', - 'height' => '16' - ), - 'b_tblexport' => array( - 'position' => '65', - 'width' => '16', - 'height' => '16' - ), - 'b_tblimport' => array( - 'position' => '66', - 'width' => '16', - 'height' => '16' - ), - 'b_tblops' => array( - 'position' => '67', - 'width' => '16', - 'height' => '16' - ), - 'b_tbloptimize' => array( - 'position' => '68', - 'width' => '16', - 'height' => '16' - ), - 'b_tipp' => array( - 'position' => '69', - 'width' => '16', - 'height' => '16' - ), - 'b_trigger_add' => array( - 'position' => '70', - 'width' => '16', - 'height' => '16' - ), - 'b_triggers' => array( - 'position' => '71', - 'width' => '16', - 'height' => '16' - ), - 'b_undo' => array( - 'position' => '72', - 'width' => '16', - 'height' => '16' - ), - 'b_unique' => array( - 'position' => '73', - 'width' => '16', - 'height' => '16' - ), - 'b_usradd' => array( - 'position' => '74', - 'width' => '16', - 'height' => '16' - ), - 'b_usrcheck' => array( - 'position' => '75', - 'width' => '16', - 'height' => '16' - ), - 'b_usrdrop' => array( - 'position' => '76', - 'width' => '16', - 'height' => '16' - ), - 'b_usredit' => array( - 'position' => '77', - 'width' => '16', - 'height' => '16' - ), - 'b_usrlist' => array( - 'position' => '78', - 'width' => '16', - 'height' => '16' - ), - 'b_versions' => array( - 'position' => '79', - 'width' => '16', - 'height' => '16' - ), - 'b_view' => array( - 'position' => '80', - 'width' => '16', - 'height' => '16' - ), - 'b_view_add' => array( - 'position' => '81', - 'width' => '16', - 'height' => '16' - ), - 'b_views' => array( - 'position' => '82', - 'width' => '16', - 'height' => '16' - ), - 'bd_browse' => array( - 'position' => '83', - 'width' => '16', - 'height' => '16' - ), - 'bd_deltbl' => array( - 'position' => '84', - 'width' => '16', - 'height' => '16' - ), - 'bd_drop' => array( - 'position' => '85', - 'width' => '16', - 'height' => '16' - ), - 'bd_edit' => array( - 'position' => '86', - 'width' => '16', - 'height' => '16' - ), - 'bd_empty' => array( - 'position' => '87', - 'width' => '16', - 'height' => '16' - ), - 'bd_export' => array( - 'position' => '88', - 'width' => '16', - 'height' => '16' - ), - 'bd_firstpage' => array( - 'position' => '89', - 'width' => '16', - 'height' => '16' - ), - 'bd_ftext' => array( - 'position' => '90', - 'width' => '16', - 'height' => '16' - ), - 'bd_index' => array( - 'position' => '91', - 'width' => '16', - 'height' => '16' - ), - 'bd_insrow' => array( - 'position' => '92', - 'width' => '16', - 'height' => '16' - ), - 'bd_lastpage' => array( - 'position' => '93', - 'width' => '16', - 'height' => '16' - ), - 'bd_nextpage' => array( - 'position' => '94', - 'width' => '16', - 'height' => '16' - ), - 'bd_prevpage' => array( - 'position' => '95', - 'width' => '16', - 'height' => '16' - ), - 'bd_primary' => array( - 'position' => '96', - 'width' => '16', - 'height' => '16' - ), - 'bd_routine_add' => array( - 'position' => '97', - 'width' => '16', - 'height' => '16' - ), - 'bd_sbrowse' => array( - 'position' => '98', - 'width' => '16', - 'height' => '16' - ), - 'bd_select' => array( - 'position' => '99', - 'width' => '16', - 'height' => '16' - ), - 'bd_spatial' => array( - 'position' => '100', - 'width' => '16', - 'height' => '16' - ), - 'bd_unique' => array( - 'position' => '101', - 'width' => '16', - 'height' => '16' - ), - 'centralColumns' => array( - 'position' => '102', - 'width' => '16', - 'height' => '16' - ), - 'centralColumns_add' => array( - 'position' => '103', - 'width' => '16', - 'height' => '16' - ), - 'centralColumns_delete' => array( - 'position' => '104', - 'width' => '16', - 'height' => '16' - ), - 'col_drop' => array( - 'position' => '105', - 'width' => '16', - 'height' => '16' - ), - 'console' => array( - 'position' => '106', - 'width' => '16', - 'height' => '16' - ), - 'database' => array( - 'position' => '107', - 'width' => '16', - 'height' => '16' - ), - 'eye' => array( - 'position' => '108', - 'width' => '16', - 'height' => '16' - ), - 'eye_grey' => array( - 'position' => '109', - 'width' => '16', - 'height' => '16' - ), - 'hide' => array( - 'position' => '110', - 'width' => '16', - 'height' => '16' - ), - 'item' => array( - 'position' => '111', - 'width' => '9', - 'height' => '9' - ), - 'lightbulb' => array( - 'position' => '112', - 'width' => '16', - 'height' => '16' - ), - 'lightbulb_off' => array( - 'position' => '113', - 'width' => '16', - 'height' => '16' - ), - 'more' => array( - 'position' => '114', - 'width' => '13', - 'height' => '16' - ), - 'new_data' => array( - 'position' => '115', - 'width' => '16', - 'height' => '16' - ), - 'new_data_hovered' => array( - 'position' => '116', - 'width' => '16', - 'height' => '16' - ), - 'new_data_selected' => array( - 'position' => '117', - 'width' => '16', - 'height' => '16' - ), - 'new_data_selected_hovered' => array( - 'position' => '118', - 'width' => '16', - 'height' => '16' - ), - 'new_struct' => array( - 'position' => '119', - 'width' => '16', - 'height' => '16' - ), - 'new_struct_hovered' => array( - 'position' => '120', - 'width' => '16', - 'height' => '16' - ), - 'new_struct_selected' => array( - 'position' => '121', - 'width' => '16', - 'height' => '16' - ), - 'new_struct_selected_hovered' => array( - 'position' => '122', - 'width' => '16', - 'height' => '16' - ), - 'normalize' => array( - 'position' => '123', - 'width' => '16', - 'height' => '16' - ), - 'pause' => array( - 'position' => '124', - 'width' => '16', - 'height' => '16' - ), - 'php_sym' => array( - 'position' => '125', - 'width' => '16', - 'height' => '16' - ), - 'play' => array( - 'position' => '126', - 'width' => '16', - 'height' => '16' - ), - 's_asc' => array( - 'position' => '127', - 'width' => '16', - 'height' => '16' - ), - 's_asci' => array( - 'position' => '128', - 'width' => '16', - 'height' => '16' - ), - 's_attention' => array( - 'position' => '129', - 'width' => '16', - 'height' => '16' - ), - 's_cancel' => array( - 'position' => '130', - 'width' => '16', - 'height' => '16' - ), - 's_cancel2' => array( - 'position' => '131', - 'width' => '16', - 'height' => '16' - ), - 's_cog' => array( - 'position' => '132', - 'width' => '16', - 'height' => '16' - ), - 's_db' => array( - 'position' => '133', - 'width' => '16', - 'height' => '16' - ), - 's_desc' => array( - 'position' => '134', - 'width' => '16', - 'height' => '16' - ), - 's_error' => array( - 'position' => '135', - 'width' => '16', - 'height' => '16' - ), - 's_error2' => array( - 'position' => '136', - 'width' => '11', - 'height' => '11' - ), - 's_host' => array( - 'position' => '137', - 'width' => '16', - 'height' => '16' - ), - 's_info' => array( - 'position' => '138', - 'width' => '16', - 'height' => '16' - ), - 's_lang' => array( - 'position' => '139', - 'width' => '16', - 'height' => '16' - ), - 's_link' => array( - 'position' => '140', - 'width' => '16', - 'height' => '16' - ), - 's_lock' => array( - 'position' => '141', - 'width' => '16', - 'height' => '16' - ), - 's_loggoff' => array( - 'position' => '142', - 'width' => '16', - 'height' => '16' - ), - 's_notice' => array( - 'position' => '143', - 'width' => '16', - 'height' => '16' - ), - 's_okay' => array( - 'position' => '144', - 'width' => '16', - 'height' => '16' - ), - 's_passwd' => array( - 'position' => '145', - 'width' => '16', - 'height' => '16' - ), - 's_process' => array( - 'position' => '146', - 'width' => '16', - 'height' => '16' - ), - 's_really' => array( - 'position' => '147', - 'width' => '11', - 'height' => '11' - ), - 's_reload' => array( - 'position' => '148', - 'width' => '16', - 'height' => '16' - ), - 's_replication' => array( - 'position' => '149', - 'width' => '16', - 'height' => '16' - ), - 's_rights' => array( - 'position' => '150', - 'width' => '16', - 'height' => '16' - ), - 's_sortable' => array( - 'position' => '151', - 'width' => '16', - 'height' => '16' - ), - 's_status' => array( - 'position' => '152', - 'width' => '16', - 'height' => '16' - ), - 's_success' => array( - 'position' => '153', - 'width' => '16', - 'height' => '16' - ), - 's_sync' => array( - 'position' => '154', - 'width' => '16', - 'height' => '16' - ), - 's_tbl' => array( - 'position' => '155', - 'width' => '16', - 'height' => '16' - ), - 's_theme' => array( - 'position' => '156', - 'width' => '16', - 'height' => '16' - ), - 's_top' => array( - 'position' => '157', - 'width' => '16', - 'height' => '16' - ), - 's_unlink' => array( - 'position' => '158', - 'width' => '16', - 'height' => '16' - ), - 's_vars' => array( - 'position' => '159', - 'width' => '16', - 'height' => '16' - ), - 's_views' => array( - 'position' => '160', - 'width' => '16', - 'height' => '16' - ), - 'show' => array( - 'position' => '161', - 'width' => '16', - 'height' => '16' - ), - 'window-new' => array( - 'position' => '162', - 'width' => '16', - 'height' => '16' - ), -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/user_password.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/user_password.php deleted file mode 100644 index a108836d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/user_password.php +++ /dev/null @@ -1,301 +0,0 @@ -getHeader(); -$scripts = $header->getScripts(); -$scripts->addFile('server_privileges.js'); -$scripts->addFile('zxcvbn.js'); - -/** - * Displays an error message and exits if the user isn't allowed to use this - * script - */ -if (! $GLOBALS['cfg']['ShowChgPassword']) { - $GLOBALS['cfg']['ShowChgPassword'] = $GLOBALS['dbi']->selectDb('mysql'); -} -if ($cfg['Server']['auth_type'] == 'config' || ! $cfg['ShowChgPassword']) { - PMA\libraries\Message::error( - __('You don\'t have sufficient privileges to be here right now!') - )->display(); - exit; -} // end if - -/** - * If the "change password" form has been submitted, checks for valid values - * and submit the query or logout - */ -if (isset($_REQUEST['nopass'])) { - if ($_REQUEST['nopass'] == '1') { - $password = ''; - } else { - $password = $_REQUEST['pma_pw']; - } - $change_password_message = PMA_setChangePasswordMsg(); - $msg = $change_password_message['msg']; - if (! $change_password_message['error']) { - PMA_changePassword($password, $msg, $change_password_message); - } else { - PMA_getChangePassMessage($change_password_message); - } -} - -/** - * If the "change password" form hasn't been submitted or the values submitted - * aren't valid -> displays the form - */ - -// Displays an error message if required -if (isset($msg)) { - $msg->display(); - unset($msg); -} - -require_once './libraries/display_change_password.lib.php'; - -echo PMA_getHtmlForChangePassword('change_pw', $username, $hostname); -exit; - -/** - * Send the message as an ajax request - * - * @param array $change_password_message Message to display - * @param string $sql_query SQL query executed - * - * @return void - */ -function PMA_getChangePassMessage($change_password_message, $sql_query = '') -{ - if ($response->isAjax()) { - /** - * If in an Ajax request, we don't need to show the rest of the page - */ - $response = Response::getInstance(); - if ($change_password_message['error']) { - $response->addJSON('message', $change_password_message['msg']); - $response->setRequestStatus(false); - } else { - $sql_query = PMA\libraries\Util::getMessage( - $change_password_message['msg'], - $sql_query, - 'success' - ); - $response->addJSON('message', $sql_query); - } - exit; - } -} - -/** - * Generate the message - * - * @return array error value and message - */ -function PMA_setChangePasswordMsg() -{ - $error = false; - $message = PMA\libraries\Message::success(__('The profile has been updated.')); - - if (($_REQUEST['nopass'] != '1')) { - if (strlen($_REQUEST['pma_pw']) === 0 || strlen($_REQUEST['pma_pw2']) === 0) { - $message = PMA\libraries\Message::error(__('The password is empty!')); - $error = true; - } elseif ($_REQUEST['pma_pw'] !== $_REQUEST['pma_pw2']) { - $message = PMA\libraries\Message::error( - __('The passwords aren\'t the same!') - ); - $error = true; - } elseif (strlen($_REQUEST['pma_pw']) > 256) { - $message = PMA_Message::error(__('Password is too long!')); - $error = true; - } - } - return array('error' => $error, 'msg' => $message); -} - -/** - * Change the password - * - * @param string $password New password - * @param string $message Message - * @param array $change_password_message Message to show - * - * @return void - */ -function PMA_changePassword($password, $message, $change_password_message) -{ - global $auth_plugin; - - $hashing_function = PMA_changePassHashingFunction(); - - list($username, $hostname) = $GLOBALS['dbi']->getCurrentUserAndHost(); - - $serverType = PMA\libraries\Util::getServerType(); - - if (isset($_REQUEST['authentication_plugin']) - && ! empty($_REQUEST['authentication_plugin']) - ) { - $orig_auth_plugin = $_REQUEST['authentication_plugin']; - } else { - $orig_auth_plugin = PMA_getCurrentAuthenticationPlugin( - 'change', $username, $hostname - ); - } - - $sql_query = 'SET password = ' - . (($password == '') ? '\'\'' : $hashing_function . '(\'***\')'); - - if ($serverType == 'MySQL' - && PMA_MYSQL_INT_VERSION >= 50706 - ) { - $sql_query = 'ALTER USER \'' . $username . '\'@\'' . $hostname - . '\' IDENTIFIED WITH ' . $orig_auth_plugin . ' BY ' - . (($password == '') ? '\'\'' : '\'***\''); - } else if (($serverType == 'MySQL' - && PMA_MYSQL_INT_VERSION >= 50507) - || ($serverType == 'MariaDB' - && PMA_MYSQL_INT_VERSION >= 50200) - ) { - // For MySQL versions 5.5.7+ and MariaDB versions 5.2+, - // explicitly set value of `old_passwords` so that - // it does not give an error while using - // the PASSWORD() function - if ($orig_auth_plugin == 'sha256_password') { - $value = 2; - } else { - $value = 0; - } - $GLOBALS['dbi']->tryQuery('SET `old_passwords` = ' . $value . ';'); - } - - PMA_changePassUrlParamsAndSubmitQuery( - $username, $hostname, $password, - $sql_query, $hashing_function, $orig_auth_plugin - ); - - $auth_plugin->handlePasswordChange($password); - PMA_getChangePassMessage($change_password_message, $sql_query); - PMA_changePassDisplayPage($message, $sql_query); -} - -/** - * Generate the hashing function - * - * @return string $hashing_function - */ -function PMA_changePassHashingFunction() -{ - if (PMA_isValid( - $_REQUEST['authentication_plugin'], 'identical', 'mysql_old_password' - )) { - $hashing_function = 'OLD_PASSWORD'; - } else { - $hashing_function = 'PASSWORD'; - } - return $hashing_function; -} - -/** - * Changes password for a user - * - * @param string $username Username - * @param string $hostname Hostname - * @param string $password Password - * @param string $sql_query SQL query - * @param string $hashing_function Hashing function - * @param string $orig_auth_plugin Original Authentication Plugin - * - * @return void - */ -function PMA_changePassUrlParamsAndSubmitQuery( - $username, $hostname, $password, $sql_query, $hashing_function, $orig_auth_plugin -) { - $err_url = 'user_password.php' . URL::getCommon(); - - $serverType = PMA\libraries\Util::getServerType(); - - if ($serverType == 'MySQL' && PMA_MYSQL_INT_VERSION >= 50706) { - $local_query = 'ALTER USER \'' . $username . '\'@\'' . $hostname . '\'' - . ' IDENTIFIED with ' . $orig_auth_plugin . ' BY ' - . (($password == '') - ? '\'\'' - : '\'' . $GLOBALS['dbi']->escapeString($password) . '\''); - } else if ($serverType == 'MariaDB' - && PMA_MYSQL_INT_VERSION >= 50200 - && PMA_MYSQL_INT_VERSION < 100100 - && $orig_auth_plugin !== '' - ) { - if ($orig_auth_plugin == 'mysql_native_password') { - // Set the hashing method used by PASSWORD() - // to be 'mysql_native_password' type - $GLOBALS['dbi']->tryQuery('SET old_passwords = 0;'); - } else if ($orig_auth_plugin == 'sha256_password') { - // Set the hashing method used by PASSWORD() - // to be 'sha256_password' type - $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 2;'); - } - - $hashedPassword = PMA_getHashedPassword($_POST['pma_pw']); - - $local_query = "UPDATE `mysql`.`user` SET" - . " `authentication_string` = '" . $hashedPassword - . "', `Password` = '', " - . " `plugin` = '" . $orig_auth_plugin . "'" - . " WHERE `User` = '" . $username . "' AND Host = '" - . $hostname . "';"; - } else { - $local_query = 'SET password = ' . (($password == '') - ? '\'\'' - : $hashing_function . '(\'' - . $GLOBALS['dbi']->escapeString($password) . '\')'); - } - if (! @$GLOBALS['dbi']->tryQuery($local_query)) { - PMA\libraries\Util::mysqlDie( - $GLOBALS['dbi']->getError(), - $sql_query, - false, - $err_url - ); - } - - // Flush privileges after successful password change - $GLOBALS['dbi']->tryQuery("FLUSH PRIVILEGES;"); -} - -/** - * Display the page - * - * @param string $message Message - * @param string $sql_query SQL query - * - * @return void - */ -function PMA_changePassDisplayPage($message, $sql_query) -{ - echo '

    ' , __('Change password') , '

    ' , "\n\n"; - echo PMA\libraries\Util::getMessage( - $message, $sql_query, 'success' - ); - echo '' , "\n" - , '' , __('Back') , ''; - exit; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/autoload.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/autoload.php deleted file mode 100644 index b169b485..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/autoload.php +++ /dev/null @@ -1,7 +0,0 @@ - - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/README.md deleted file mode 100644 index d3ffdd1f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/README.md +++ /dev/null @@ -1,158 +0,0 @@ -[![Codacy Badge](https://api.codacy.com/project/badge/grade/d992a862b1994805907ec277e16b0fda)](https://www.codacy.com/app/Codacy/php-codacy-coverage) -[![Codacy Badge](https://api.codacy.com/project/badge/coverage/d992a862b1994805907ec277e16b0fda)](https://www.codacy.com/app/Codacy/php-codacy-coverage) -[![Circle CI](https://circleci.com/gh/codacy/php-codacy-coverage.svg?style=shield&circle-token=:circle-token)](https://circleci.com/gh/codacy/php-codacy-coverage) -[![Latest Stable Version](https://poser.pugx.org/codacy/coverage/version)](https://packagist.org/packages/codacy/coverage) - -# Codacy PHP Coverage Reporter -[Codacy](https://codacy.com/) coverage support for PHP. Get coverage reporting and code analysis for PHP from Codacy. - -# Prerequisites - -- PHP 5.3 or later -- One of the following coverage report formats - - Clover XML (e.g. ```--coverage-clover``` in PHPUnit) - - PHPUnit XML (e.g. ```--coverage-xml``` in PHPUnit) - -# Installation - -Setup codacy-coverage with Composer, just add the following to your composer.json: - -```js -// composer.json -{ - "require-dev": { - "codacy/coverage": "dev-master" - } -} -``` - -Download the dependencies by running Composer in the directory of your `composer.json`: - -```sh -# install -$ php composer.phar install --dev -# update -$ php composer.phar update codacy/coverage --dev -``` - -codacy-coverage library is available on [Packagist](https://packagist.org/packages/codacy/coverage). - -Add the autoloader to your php script: - -```php -require_once 'vendor/autoload.php'; -``` - -> Note: -We have php5-curl dependency, if you have issues related to curl_init() please install it with: -``` -sudo apt-get install php5-curl -``` - -## Updating Codacy - -To update Codacy, you will need your project API token. You can find the token in Project -> Settings -> Integrations -> Project API. - -Then set it in your terminal, replacing %Project_Token% with your own token: - -``` -export CODACY_PROJECT_TOKEN=%Project_Token% -``` - -> Note: You should keep your API token well **protected**, as it grants owner permissions to your projects. - -> To send coverage in the enterprise version you should: -``` -export CODACY_API_BASE_URL=:16006 -``` - -# Usage - -Run ```vendor/bin/codacycoverage``` to see a list of commands. - -#### Basic usage for Clover format: - -```vendor/bin/codacycoverage clover``` - -#### Basic usage for PHPUnit XML format: - -```php vendor/bin/codacycoverage phpunit``` - -By default we assume that -- your Clover coverage report is saved in ```build/logs/clover.xml``` -- your PHPUnit XML report is saved in the directory ```build/coverage-xml``` - -#### Optional parameters: - -You can specify the path to your report with the second parameter: - -- Clover XML - - ```php vendor/bin/codacycoverage clover path/to/a-clover.xml``` -- PHPUnit XML - - ```php vendor/bin/codacycoverage phpunit directory/path/to/phpunitreport``` - -Even more control: - -- ```--base-url=``` defaults to http://codacy.com -- ```--git-commit=``` defaults to the last commit hash - -## Circle CI - -This project sends its own coverage during the build in circleCI. -Feel free to check our `circle.yml`, and send your coverage as a step of your build process. - -## Travis CI - -Add codacycoverage to your `.travis.yml`: - -```yml -# .travis.yml -language: php -php: - - 5.3 - - 5.4 - - 5.5 - - 5.6 - - hhvm - -before_script: - - curl -s http://getcomposer.org/installer | php - - php composer.phar install -n - -script: - - php vendor/bin/phpunit - -after_script: - - php vendor/bin/codacycoverage clover path/to/clover.xml -``` - -## Troubleshooting - -If you have a fatal error regarding curl_init(): -``` -PHP Fatal error: Uncaught Error: Call to undefined function Codacy\Coverage\Util\curl_init() in /src/Codacy/Coverage/Util/CodacyApiClient.php:30 -``` -Run: ```sudo apt-get install php5-curl``` - -## What is Codacy? - -[Codacy](https://www.codacy.com/) is an Automated Code Review Tool that monitors your technical debt, helps you improve your code quality, teaches best practices to your developers, and helps you save time in Code Reviews. - -### Among Codacy’s features: - -- Identify new Static Analysis issues -- Commit and Pull Request Analysis with GitHub, BitBucket/Stash, GitLab (and also direct git repositories) -- Auto-comments on Commits and Pull Requests -- Integrations with Slack, HipChat, Jira, YouTrack -- Track issues in Code Style, Security, Error Proneness, Performance, Unused Code and other categories - -Codacy also helps keep track of Code Coverage, Code Duplication, and Code Complexity. - -Codacy supports PHP, Python, Ruby, Java, JavaScript, and Scala, among others. - -### Free for Open Source - -Codacy is free for Open Source projects. - -## License -[MIT](LICENSE) diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/bin/codacycoverage b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/bin/codacycoverage deleted file mode 100755 index aed2ae69..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/bin/codacycoverage +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env php -run(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/circle.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/circle.yml deleted file mode 100644 index 350acd95..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/circle.yml +++ /dev/null @@ -1,13 +0,0 @@ -machine: - php: - version: 5.6.17 - -dependencies: - pre: - - curl -s http://getcomposer.org/installer | php - - php composer.phar install -n - -test: - post: - - php vendor/bin/phpunit - - php bin/codacycoverage clover diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/composer.json deleted file mode 100644 index cb69dd42..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "codacy/coverage", - "description": "Sends PHP test coverage information to Codacy.", - "homepage": "https://github.com/codacy/php-codacy-coverage", - "type": "library", - "require": { - "php": ">=5.3.3", - "gitonomy/gitlib": "~0.1", - "symfony/console": "~2.5|~3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.5" - }, - "bin": ["bin/codacycoverage"], - "autoload": { - "classmap": [ - "src/" - ] - }, - "license": "MIT", - "authors": [ - { - "name": "Jakob Pupke", - "email": "jakob.pupke@gmail.com" - } - ] -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/phpunit.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/phpunit.xml.dist deleted file mode 100644 index ea3bca5e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/phpunit.xml.dist +++ /dev/null @@ -1,34 +0,0 @@ - - - - - tests - - - - - - - - - - - - - src - - src/Codacy/Coverage/Util/CodacyApiClient.php - src/Codacy/Coverage/CodacyPhpCoverage.php - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Application.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Application.php deleted file mode 100644 index 1ee6ded2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Application.php +++ /dev/null @@ -1,23 +0,0 @@ -add(new CloverCommand()); - $this->add(new PhpunitCommand()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Command/Clover.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Command/Clover.php deleted file mode 100644 index 85c219d1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Command/Clover.php +++ /dev/null @@ -1,151 +0,0 @@ -setName("clover") - ->setDescription("Send coverage results in clover format") - ->addArgument( - "path_to_coverage_results", - InputArgument::OPTIONAL, - "Path where coverage results are saved: XML file for clover format, directory containing the index.xml for phpunit format" - ) - ->addOption( - "git-commit", - null, - InputOption::VALUE_REQUIRED, - "Commit hash of results to be send" - ) - ->addOption( - "base-url", - null, - InputOption::VALUE_REQUIRED, - "Codacy base url" - ); - } - - protected function execute(InputInterface $input, OutputInterface $output) - { - $projectToken = $this->getProjectToken(); - - $parser = $this->getParser($input->getArgument("path_to_coverage_results")); - $jsonProducer = new JsonProducer(); - $jsonProducer->setParser($parser); - - $commit = $this->getCommitHash($input->getOption("git-commit")); - - $baseUrl = $this->getBaseCodacyUrl($input->getOption("base-url")); - - $data = $jsonProducer->makeJson(); - - if ($output->isVerbose()) { - $output->writeln("Sending coverage results to " . $baseUrl); - $output->writeln("Generated JSON:"); - $output->writeln($data); - } - - $client = new CodacyApiClient($baseUrl, $projectToken); - $result = $client->sendCoverage($commit, $data); - if ($output->isVerbose()) { - $output->writeln($result); - } - } - - /** - * Get parser of current format type. - * - * @param string $path Path to clover.xml - * - * @return CloverParser - */ - protected function getParser($path = null) - { - $path = is_null($path) ? - join(DIRECTORY_SEPARATOR, array('build', 'logs', 'clover.xml')) : - $path; - return new CloverParser($path); - } - - /** - * Return Codacy Project Token. - * - * @return string Project token - * - * @throws \InvalidArgumentException If Token not specified - */ - protected function getProjectToken() - { - $projectToken = getenv("CODACY_PROJECT_TOKEN"); - if ($projectToken == false) { - throw new \InvalidArgumentException( - "Cannot continue with execution as long as your project token is not set as an environmental variable." - . PHP_EOL . "Please type: export CODACY_PROJECT_TOKEN=" - ); - } - - return urlencode($projectToken); - } - - /** - * Get Git commit hash of project - * - * @param string $hash Specified hash - * - * @return string Git commit hash - * - * @throws \InvalidArgumentException When bad hash specified, or can't get commit hash - */ - protected function getCommitHash($hash = null) - { - if (!$hash) { - $gClient = new GitClient(getcwd()); - return $gClient->getHashOfLatestCommit(); - } - - if (strlen($hash) != 40) { - throw new \InvalidArgumentException( - sprintf("Invalid git commit hash %s specified", $hash) - ); - } - - return urlencode($hash); - } - - /** - * Return base Codacy Project URL - * - * @param string $url HTTP URL for codacy - * - * @return string Base Codacy Project URL - */ - protected function getBaseCodacyUrl($url = null) - { - if ($url) { - return $url; - } - $url = getenv("CODACY_API_BASE_URL"); - - return $url ? $url : "https://api.codacy.com"; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php deleted file mode 100644 index fdea4de8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php +++ /dev/null @@ -1,33 +0,0 @@ -setName("phpunit") - ->setDescription("Send coverage results in phpunit format"); - } - - protected function getParser($path = null) - { - $path = is_null($path) ? - "build" . DIRECTORY_SEPARATOR . "coverage-xml" : - $path; - - $parser = new PhpUnitXmlParser($path . DIRECTORY_SEPARATOR . "index.xml"); - $parser->setDirOfFileXmls($path); - - return $parser; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php deleted file mode 100644 index 2accbde4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php +++ /dev/null @@ -1,146 +0,0 @@ - - */ -class CloverParser extends XMLParser implements IParser -{ - - /** - * Extracts basic information about coverage report and delegates - * more detailed extraction work to _makeFileReports() method. - * @return CoverageReport $report The CoverageReport object - */ - public function makeReport() - { - $project = $this->element->project; - $projectMetrics = $project->metrics; - $coveredStatements = intval($projectMetrics['coveredstatements']); - $statementsTotal = intval($projectMetrics['statements']); - $reportTotal = round($this->safeDivision($coveredStatements, $statementsTotal) * 100); - $fileReports = $this->makeFileReports($project); - $report = new CoverageReport($reportTotal, $fileReports); - return $report; - } - - /** - * Takes the root \SimpleXMLElement object of the parsed file - * and decides on how to iterate it to extract information of all - * .. nodes. - * @param \SimpleXMLElement $node the root XML node. - * @return array holding FileReport objects - */ - private function makeFileReports(\SimpleXMLElement $node) - { - $fileReports = array(); - /* - * Most clover reports will have project/package/file/line xPath. - * But there could be files that are not part of any package, i.e files that - * that do not declare namespace. - */ - if ($node->file->count() > 0) { - // so there is a file without package - $fileReports = $this->makeFileReportsFromFiles($node->file, $fileReports); - } - if ($node->package->count() > 0) { - $fileReports = $this->makeFileReportsFromPackages($node->package, $fileReports); - } - return $fileReports; - } - - /** - * Iterates all over all .. nodes. - * @param \SimpleXMLElement $node The XML node holding the file nodes. - * @param array $fileReports array of FileReport objects - * @return array holding FileReport objects - */ - private function makeFileReportsFromFiles(\SimpleXMLElement $node, $fileReports) - { - foreach ($node as $file) { - // iterate files in the package - $countStatement = intval($file->metrics['statements']); - $countCoveredStatements = intval($file->metrics['coveredstatements']); - if ($countStatement == 0) { - $fileTotal = 0; - } else { - $fileTotal = round($this->safeDivision($countCoveredStatements, $countStatement) * 100); - } - $fileName = $this->getRelativePath($file['name']); - $lineCoverage = $this->getLineCoverage($file); - $fileReport = new FileReport($fileTotal, $fileName, $lineCoverage); - array_push($fileReports, $fileReport); - } - return $fileReports; - } - - /** - * Iterates over all ... nodes and calls _makeFileReportsFromFiles on them - * @param \SimpleXMLElement $node The XML node holding all ... nodes - * @param array $fileReports array of FileReport objects - * @return array holding FileReport objects - */ - private function makeFileReportsFromPackages(\SimpleXMLElement $node, $fileReports) - { - // iterate all packages - foreach ($node as $package) { - $fileReports = $this->makeFileReportsFromFiles($package->file, $fileReports); - } - return $fileReports; - } - - /** - * Iterates all nodes and produces an array holding line coverage information. - * Only adds lines of type "stmt" and with count greater than 0. - * @param \SimpleXMLElement $node The XML node holding the nodes - * @return array: (lineNumber -> hits) - */ - private function getLineCoverage(\SimpleXMLElement $node) - { - $lineCoverage = (object)array(); - foreach ($node as $line) { - $count = intval($line['count']); - // iterate all lines in that file - if ($line['type'] == 'stmt' && $count > 0) { - $lineNr = (string)$line['num']; - $hit = $count; - $lineCoverage->$lineNr = $hit; - } - } - return $lineCoverage; - } - - /** - * Cuts the file name so we have relative path to projectRoot. - * In a clover file file names are saved from / on. - * We are only interested in relative filename - * @param \SimpleXMLElement $fileName The filename attribute - * @return string The relative path of that file - */ - private function getRelativePath(\SimpleXMLElement $fileName) - { - $prefix = $this->rootDir . DIRECTORY_SEPARATOR; - $str = (string)$fileName; - - if (substr($str, 0, strlen($prefix)) == $prefix) { - $str = substr($str, strlen($prefix)); - } - - return $str; - } - - private function safeDivision($a, $b) - { - if ($b === 0) { - return 0; - } - return $a / $b; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php deleted file mode 100644 index daee4a48..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php +++ /dev/null @@ -1,57 +0,0 @@ - - */ -interface IParser -{ - public function makeReport(); -} - -/** - * Class XMLParser - * The superclass of all parsers that parse XML files. - * @author Jakob Pupke - */ -abstract class XMLParser -{ - /** - * @var \SimpleXMLElement - */ - protected $element; - - /** - * @var null|string The root directory. Can be other than current working directory - * in order to make tests pass against the static reports in tests/res directory. - */ - protected $rootDir; - - /** - * Construct PhpUnitXmlParser and set the XML object as member field. - * All XML parser classes inherit this constructor. - * @param string $rootDir Is only for making tests pass. - * @param string $path Path to XML file - */ - public function __construct($path, $rootDir = null) - { - if (file_exists($path)) { - if ($rootDir == null) { - $this->rootDir = getcwd(); - } else { - $this->rootDir = $rootDir; - } - $this->element = simplexml_load_file($path); - } else { - throw new \InvalidArgumentException( - "Unable to load the xml file. Make sure path is properly set. " . - "Using: \"$path\"", E_USER_ERROR - ); - } - } - -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php deleted file mode 100644 index 2b103b7c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php +++ /dev/null @@ -1,124 +0,0 @@ - - */ -class PhpUnitXmlParser extends XMLParser implements IParser -{ - - protected $dirOfFileXmls; - /** - * Extracts basic information about coverage report - * from the root xml file (index.xml). - * For line coverage information about the files it has - * to parse each individual file. This is handled by - * _getLineCoverage() private method. - * @return CoverageReport $report The CoverageReport object - */ - - /** - * @param $dir string The path to where the single file xmls reside - */ - public function setDirOfFileXmls($dir) - { - $this->dirOfFileXmls = $dir; - } - - /** - * @return string The path to where the single file xmls reside - */ - public function getDirOfFileXmls() - { - return $this->dirOfFileXmls; - } - - public function makeReport() - { - //we can get the report total from the first directory summary. - $reportTotal = $this->getTotalFromPercent($this->element->project->directory->totals->lines["percent"]); - - $fileReports = array(); - foreach ($this->element->project->directory->file as $file) { - $fileName = $this->getRelativePath($file["href"]); - $fileTotal = $this->getTotalFromPercent($file->totals->lines["percent"]); - - $xmlFileHref = (string)$file["href"]; - $base = $this->getDirOfFileXmls(); - // get the corresponding xml file to get lineCoverage information. - if (file_exists($base . DIRECTORY_SEPARATOR . $xmlFileHref)) { - $fileXml = simplexml_load_file($base . DIRECTORY_SEPARATOR . $xmlFileHref); - } else { - throw new \InvalidArgumentException( - "Error: Cannot read XML file. Using: " . $base . DIRECTORY_SEPARATOR . $xmlFileHref . "\n\r" - ); - } - - $lineCoverage = $this->getLineCoverage($fileXml); - $fileReport = new FileReport($fileTotal, $fileName, $lineCoverage); - array_push($fileReports, $fileReport); - } - $report = new CoverageReport($reportTotal, $fileReports); - return $report; - } - - /** - * Iterates all nodes and produces an array holding line coverage information. - * @param \SimpleXMLElement $node The XML node holding the nodes - * @return array: (lineNumber -> hits) - */ - private function getLineCoverage(\SimpleXMLElement $node) - { - $lineCoverage = (object)array(); - if ($node->file->coverage) { - foreach ($node->file->coverage->line as $line) { - $count = $line->covered->count(); - if ($count > 0) { - $nr = (string)$line["nr"]; - $lineCoverage->$nr = $count; - } - } - } - // else there is no line coverage, return empty array then. - return $lineCoverage; - } - - /** - * Gets Integer from percent. Example: 95.00% -> 95 - * @param \SimpleXMLElement $percent The percent attribute of the node - * @return integer The according integer value - */ - private function getTotalFromPercent(\SimpleXMLElement $percent) - { - $percent = (string)$percent; - $percent = substr($percent, 0, -1); - return round($percent); - } - - /** - * The PhpUnit XML Coverage format does not save the full path of the filename - * We can get the filename by combining the path of the first directory with - * the href attribute of each file. - * @param \SimpleXMLElement $fileName The href attribute of the node. - * @return string The relative path of the file, that is, relative to project root. - */ - private function getRelativePath(\SimpleXMLElement $fileName) - { - $dirOfSrcFiles = $this->element->project->directory["name"]; - $projectRoot = $this->rootDir; - // Need to cut off everything lower than projectRoot - $dirFromProjectRoot = substr($dirOfSrcFiles, strlen($projectRoot) + 1); - // remove .xml and convert to string - $relativeFilePath = substr((string)$fileName, 0, -4); - return join(DIRECTORY_SEPARATOR, array($dirFromProjectRoot, $relativeFilePath)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php deleted file mode 100644 index d0c0f12d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php +++ /dev/null @@ -1,48 +0,0 @@ - - */ -class CoverageReport -{ - /** - * @var integer - */ - private $_total; - - /** - * @var array (of type FileReport) - */ - private $_fileReports; - - /** - * @param $total string - * @param $fileReports array (of type FileReport) - */ - public function __construct($total, $fileReports) - { - $this->_total = $total; - $this->_fileReports = $fileReports; - } - - /** - * @return integer - */ - public function getTotal() - { - return $this->_total; - } - - /** - * @return array (of type FileReport) - */ - public function getFileReports() - { - return $this->_fileReports; - } -} \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php deleted file mode 100644 index e927ac07..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php +++ /dev/null @@ -1,63 +0,0 @@ - hits] - * @author Jakob Pupke - */ -class FileReport -{ - /** - * @var integer - */ - private $_total; - - /** - * @var string - */ - private $_fileName; - - /** - * @var array (line -> hits) of type [string -> int] - */ - private $_lineCoverage; - - /** - * @param $total string - * @param $fileName string - * @param $lineCoverage array - */ - public function __construct($total, $fileName, $lineCoverage) - { - $this->_total = $total; - $this->_fileName = $fileName; - $this->_lineCoverage = $lineCoverage; - } - - /** - * @return integer - */ - public function getTotal() - { - return $this->_total; - } - - /** - * @return string - */ - public function getFileName() - { - return $this->_fileName; - } - - /** - * @return array - */ - public function getLineCoverage() - { - return $this->_lineCoverage; - } -} \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php deleted file mode 100644 index 58112429..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php +++ /dev/null @@ -1,65 +0,0 @@ - - */ -class CodacyApiClient -{ - - function __construct($baseUrl, $projectToken) - { - $this->baseUrl = $baseUrl; - $this->projectToken = $projectToken; - } - - /** - * @param string $commit commit uuid - * @param string $data the JSON data - * - * @return string success message - * - * @throws \Exception when remote server response - */ - public function sendCoverage($commit, $data) - { - $url = $this->baseUrl . "/2.0/coverage/" . $commit . "/php"; - - $curl = curl_init($url); - curl_setopt($curl, CURLOPT_HEADER, false); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); - curl_setopt( - $curl, CURLOPT_HTTPHEADER, - array( - "Content-type: application/json", - "project_token: " . $this->projectToken - ) - ); - curl_setopt($curl, CURLOPT_POST, true); - curl_setopt($curl, CURLOPT_POSTFIELDS, $data); - - $json_response = curl_exec($curl); - - $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); - - if ($status < 200 || $status > 201) { - throw new \Exception( - sprintf("Error: call to URL %s failed with status %s, response %s, curl_error %u", - $url, $status, $json_response, curl_error($curl), curl_errno($curl) - ) - ); - } - - curl_close($curl); - - $json = json_decode($json_response, true); - - if (isset($json['success']) || array_key_exists('success', $json)) { - return $json['success']; - } else { - return $json['error']; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php deleted file mode 100644 index 21f3a9ff..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php +++ /dev/null @@ -1,45 +0,0 @@ - - */ -class GitClient -{ - /** - * @var Repository - */ - private $_repository; - - /** - * Instantiates a GitClient object. Reads conf.ini to get the path to the repository. - * Throws InvalidArgumentException is projectRoot is not properly set in ini file. - */ - public function __construct($path) - { - if (is_dir(getcwd())) { - $this->_repository = new Repository($path); - } else { - throw new \InvalidArgumentException( - "Could not instantiate GitClient. Using: " - . getcwd() - ); - } - - } - - /** - * @return string The Hash of the latest Commit. - */ - public function getHashOfLatestCommit() - { - $head = $this->_repository->getHeadCommit(); - return $head->getHash(); - } -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php deleted file mode 100644 index 5c3b349c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php +++ /dev/null @@ -1,87 +0,0 @@ - - */ -class JsonProducer -{ - /** - * @var Parser that implements IParser interface - */ - private $_parser; - - /** - * Sets the JsonParser's member field - * @param $parser IParser Any parser class that implements the IParser interface - */ - public function setParser(IParser $parser) - { - $this->_parser = $parser; - } - - /** - * Delegates the job to the parser's makeReport() method - * @return CoverageReport The CoverageReport object - */ - public function makeReport() - { - return $this->_parser->makeReport(); - } - - /** - * Takes a CoverageReport object, the result of makeReport(), and outputs JSON. - * Example JSON format: - * { - * "total": 67, - * "fileReports": [ - * { - * "filename": "src/Codacy/Coverage/Api/Api.php", - * "total": 3, - * "coverage": { - * "12": 3, - * "13": 5, - * ......... - * ......... - * } - * }, - * ......... - * ....... - * ] - * } - * - * @return string the JSON string - */ - public function makeJson() - { - $report = $this->makeReport(); - $array = array(); - $array['total'] = $report->getTotal(); - - $fileReportsArray = array(); - $fileReports = $report->getFileReports(); - - foreach ($fileReports as $fr) { - $fileArray = array(); - $fileArray['filename'] = $fr->getFileName(); - $fileArray['total'] = $fr->getTotal(); - $fileArray['coverage'] = $fr->getLineCoverage(); - - array_push($fileReportsArray, $fileArray); - } - - $array['fileReports'] = $fileReportsArray; - - if (version_compare(PHP_VERSION, '5.4.0', '>=')) { - return json_encode($array, JSON_UNESCAPED_SLASHES); - } else { - return str_replace('\/', '/', json_encode($array)); - } - - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/CloverParserTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/CloverParserTest.php deleted file mode 100644 index f3bb2a8f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/CloverParserTest.php +++ /dev/null @@ -1,61 +0,0 @@ -setExpectedException('InvalidArgumentException'); - new CloverParser("/home/foo/bar/baz/m.xml"); - } - - /** - * Testing against the clover coverage report 'tests/res/clover/clover.xml' - */ - public function testCanParseCloverXmlWithoutProject() - { - $this->_canParseClover('tests/res/clover/clover.xml', "/home/jacke/Desktop/codacy-php"); - } - - /** - * Testing against the clover coverage report 'tests/res/clover/clover.xml' - * The test had been made in /home/jacke/Desktop/codacy-php so we need to pass this - * as 2nd (optional) parameter. Otherwise the filename will not be correct and test - * would fail on other machines or in other directories. - */ - public function testCanParseCloverXmlWithProject() - { - $this->_canParseClover('tests/res/clover/clover_without_packages.xml', "/home/jacke/Desktop/codacy-php"); - } - - private function _canParseClover($path, $rootDir) - { - $parser = new CloverParser($path, $rootDir); - $report = $parser->makeReport(); - $this->assertEquals(38, $report->getTotal()); - $this->assertEquals(5, sizeof($report->getFileReports())); - - $parserFileReports = $report->getFileReports(); - - $parserFileReport = $parserFileReports[0]; - $coverageReportFileReport = $parserFileReports[1]; - - $this->assertEquals(33, $parserFileReport->getTotal()); - $this->assertEquals(33, $coverageReportFileReport->getTotal()); - - $parserFileName = $parserFileReport->getFileName(); - - $reportFileName = $coverageReportFileReport->getFileName(); - - $fileReports = $report->getFileReports(); - $fileReport = $fileReports[1]; - - $expLineCoverage = (object)array(11 => 1, 12 => 1, 13 => 1, 16 => 1); - $this->assertEquals($fileReport->getLineCoverage(), $expLineCoverage); - - $this->assertEquals("src/Codacy/Coverage/Parser/Parser.php", $parserFileName); - $this->assertEquals("src/Codacy/Coverage/Report/CoverageReport.php", $reportFileName); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/ParserTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/ParserTest.php deleted file mode 100644 index b812ed4f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/ParserTest.php +++ /dev/null @@ -1,34 +0,0 @@ -setDirOfFileXmls('tests/res/phpunit-clover'); - $expectedJson = file_get_contents('tests/res/expected.json', true); - - $jsonProducer = new JsonProducer(); - - $jsonProducer->setParser($cloverParser); - - $cloverJson = $jsonProducer->makeJson(); - - $jsonProducer->setParser($xunitParser); - - $xunitJson = $jsonProducer->makeJson(); - - $this->assertJsonStringEqualsJsonString($expectedJson, $cloverJson); - - $this->assertJsonStringEqualsJsonString($expectedJson, $xunitJson); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/PhpUnitXmlParserTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/PhpUnitXmlParserTest.php deleted file mode 100644 index 32267154..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/PhpUnitXmlParserTest.php +++ /dev/null @@ -1,51 +0,0 @@ -setExpectedException('InvalidArgumentException'); - new PhpUnitXmlParser("/home/foo/bar/baz/fake.xml"); - } - - /** - * Testing against the clover coverage report 'tests/res/clover/clover.xml' - * The test had been made in /home/jacke/Desktop/codacy-php so we need to pass this - * as 2nd (optional) parameter. Otherwise the filename will not be correct and test - * would fail on other machines or in other directories. - */ - public function testCanParsePhpUnitXmlReport() - { - - $parser = new PhpUnitXmlParser('tests/res/phpunitxml/index.xml', '/home/jacke/Desktop/codacy-php'); - $parser->setDirOfFileXmls("tests/res/phpunitxml"); - $report = $parser->makeReport(); - - $this->assertEquals(69, $report->getTotal()); - $this->assertEquals(10, sizeof($report->getFileReports())); - - $fileReports = $report->getFileReports(); - - $configFileReport = $fileReports[2]; - $cloverParserFileReport = $fileReports[4]; - - $this->assertEquals(86, $configFileReport->getTotal()); - $this->assertEquals(95, $cloverParserFileReport->getTotal()); - - $lineCoverage = $configFileReport->getLineCoverage(); - $expLineCoverage = (object)array(24 => 4, 25 => 4, 26 => 4, 27 => 4, 28 => 4, 29 => 4); - $this->assertEquals($lineCoverage, $expLineCoverage); - - $configFileName = $configFileReport->getFileName(); - - $cloverParserFileName = $cloverParserFileReport->getFileName(); - - $this->assertEquals("src/Codacy/Coverage/Config.php", $configFileName); - $this->assertEquals("src/Codacy/Coverage/Parser/CloverParser.php", $cloverParserFileName); - } - -} \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Util/GitClientTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Util/GitClientTest.php deleted file mode 100644 index b037b9e8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/Codacy/Coverage/Util/GitClientTest.php +++ /dev/null @@ -1,13 +0,0 @@ -getHashOfLatestCommit(); - $this->assertEquals(40, strlen($hash)); - } -} \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/clover/clover.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/clover/clover.xml deleted file mode 100644 index dd00611d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/clover/clover.xml +++ /dev/null @@ -1,365 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/clover/clover_without_packages.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/clover/clover_without_packages.xml deleted file mode 100644 index 79be5ef6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/clover/clover_without_packages.xml +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/expected.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/expected.json deleted file mode 100644 index d448e740..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/expected.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "total": 94, - "fileReports": [ - { - "filename": "src/Codacy/Coverage/Parser/CloverParser.php", - "total": 96, - "coverage": { - "24": 3, - "25": 3, - "26": 3, - "27": 3, - "28": 3, - "29": 3, - "30": 3, - "31": 3, - "43": 3, - "49": 3, - "51": 1, - "52": 1, - "53": 3, - "54": 2, - "55": 2, - "56": 3, - "67": 3, - "69": 3, - "70": 3, - "71": 3, - "74": 3, - "76": 3, - "77": 3, - "78": 3, - "79": 3, - "80": 3, - "81": 3, - "93": 2, - "94": 2, - "95": 2, - "96": 2, - "107": 3, - "108": 3, - "109": 3, - "111": 3, - "112": 3, - "113": 3, - "114": 3, - "115": 3, - "116": 3, - "117": 3, - "129": 3, - "130": 3 - } - }, - { - "filename": "src/Codacy/Coverage/Parser/Parser.php", - "total": 100, - "coverage": { - "42": 6, - "43": 4, - "44": 1, - "45": 1, - "46": 3, - "48": 4, - "49": 4, - "50": 2, - "52": 2, - "53": 2, - "55": 4 - } - }, - { - "filename": "src/Codacy/Coverage/Parser/PhpUnitXmlParser.php", - "total": 93, - "coverage": { - "33": 2, - "34": 2, - "40": 2, - "46": 2, - "48": 2, - "49": 2, - "50": 2, - "51": 2, - "53": 2, - "54": 2, - "56": 2, - "57": 2, - "58": 2, - "64": 2, - "65": 2, - "66": 2, - "67": 2, - "68": 2, - "69": 2, - "79": 2, - "80": 2, - "81": 2, - "82": 2, - "83": 2, - "84": 2, - "85": 2, - "86": 2, - "87": 2, - "88": 2, - "90": 2, - "100": 2, - "101": 2, - "102": 2, - "115": 2, - "116": 2, - "118": 2, - "120": 2, - "121": 2 - } - }, - { - "filename": "src/Codacy/Coverage/Report/CoverageReport.php", - "total": 100, - "coverage": { - "29": 4, - "30": 4, - "31": 4, - "38": 4, - "46": 4 - } - }, - { - "filename": "src/Codacy/Coverage/Report/FileReport.php", - "total": 100, - "coverage": { - "35": 4, - "36": 4, - "37": 4, - "38": 4, - "45": 4, - "53": 4, - "61": 4 - } - }, - { - "filename": "src/Codacy/Coverage/Util/GitClient.php", - "total": 67, - "coverage": { - "25": 1, - "26": 1, - "27": 1, - "34": 1, - "41": 1, - "42": 1 - } - }, - { - "filename": "src/Codacy/Coverage/Util/JsonProducer.php", - "total": 100, - "coverage": { - "25": 1, - "26": 1, - "34": 1, - "62": 1, - "63": 1, - "64": 1, - "66": 1, - "67": 1, - "69": 1, - "70": 1, - "71": 1, - "72": 1, - "73": 1, - "75": 1, - "76": 1, - "78": 1, - "81": 1 - } - }, - { - "filename": "src/Codacy/Coverage/Util/EmptyFile.php", - "total": 0, - "coverage": {} - } - ] -} \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/CloverParser.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/CloverParser.php.xml deleted file mode 100644 index 7f853a16..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/CloverParser.php.xml +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/Parser.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/Parser.php.xml deleted file mode 100644 index 23ac3101..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/Parser.php.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/PhpUnitXmlParser.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/PhpUnitXmlParser.php.xml deleted file mode 100644 index 6d3dd007..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/PhpUnitXmlParser.php.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Report/CoverageReport.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Report/CoverageReport.php.xml deleted file mode 100644 index 098e8e01..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Report/CoverageReport.php.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Report/FileReport.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Report/FileReport.php.xml deleted file mode 100644 index 60f18ae2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Report/FileReport.php.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/EmptyFile.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/EmptyFile.php.xml deleted file mode 100644 index 7b90e6ba..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/EmptyFile.php.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/GitClient.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/GitClient.php.xml deleted file mode 100644 index eba67554..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/GitClient.php.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/JsonProducer.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/JsonProducer.php.xml deleted file mode 100644 index 414678c0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/Util/JsonProducer.php.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/clover.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/clover.xml deleted file mode 100644 index 92735d48..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/clover.xml +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/index.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/index.xml deleted file mode 100644 index 7318deea..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunit-clover/index.xml +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Api/Api.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Api/Api.php.xml deleted file mode 100644 index f11b7286..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Api/Api.php.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/CodacyPhpCoverage.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/CodacyPhpCoverage.php.xml deleted file mode 100644 index c8c25af5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/CodacyPhpCoverage.php.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Config.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Config.php.xml deleted file mode 100644 index e70c6614..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Config.php.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Git/GitClient.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Git/GitClient.php.xml deleted file mode 100644 index d86a0051..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Git/GitClient.php.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/CloverParser.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/CloverParser.php.xml deleted file mode 100644 index a8297e6b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/CloverParser.php.xml +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/Parser.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/Parser.php.xml deleted file mode 100644 index c61ffaed..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/Parser.php.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/PhpUnitXmlParser.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/PhpUnitXmlParser.php.xml deleted file mode 100644 index 203c73d3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Parser/PhpUnitXmlParser.php.xml +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/CoverageReport.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/CoverageReport.php.xml deleted file mode 100644 index a510668f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/CoverageReport.php.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/FileReport.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/FileReport.php.xml deleted file mode 100644 index f18da1a7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/FileReport.php.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/JsonProducer.php.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/JsonProducer.php.xml deleted file mode 100644 index 161d25aa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/Report/JsonProducer.php.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/index.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/index.xml deleted file mode 100644 index 590bb429..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/codacy/coverage/tests/res/phpunitxml/index.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/LICENSE b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/LICENSE deleted file mode 100644 index 1a281248..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - -Copyright (c) 2016 Nils Adermann, Jordi Boggiano - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_classmap.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_classmap.php deleted file mode 100644 index a2e6a87e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_classmap.php +++ /dev/null @@ -1,784 +0,0 @@ - $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Application.php', - 'Codacy\\Coverage\\Command\\Clover' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Command/Clover.php', - 'Codacy\\Coverage\\Command\\Phpunit' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php', - 'Codacy\\Coverage\\Parser\\CloverParser' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php', - 'Codacy\\Coverage\\Parser\\IParser' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php', - 'Codacy\\Coverage\\Parser\\PhpUnitXmlParser' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php', - 'Codacy\\Coverage\\Parser\\XMLParser' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php', - 'Codacy\\Coverage\\Report\\CoverageReport' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php', - 'Codacy\\Coverage\\Report\\FileReport' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php', - 'Codacy\\Coverage\\Util\\CodacyApiClient' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php', - 'Codacy\\Coverage\\Util\\GitClient' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php', - 'Codacy\\Coverage\\Util\\JsonProducer' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php', - 'Datamatrix' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php', - 'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php', - 'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php', - 'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php', - 'Generic_Sniffs_Arrays_DisallowLongArraySyntaxSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowLongArraySyntaxSniff.php', - 'Generic_Sniffs_Arrays_DisallowShortArraySyntaxSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowShortArraySyntaxSniff.php', - 'Generic_Sniffs_Classes_DuplicateClassNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/DuplicateClassNameSniff.php', - 'Generic_Sniffs_Classes_OpeningBraceSameLineSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/OpeningBraceSameLineSniff.php', - 'Generic_Sniffs_CodeAnalysis_EmptyStatementSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/EmptyStatementSniff.php', - 'Generic_Sniffs_CodeAnalysis_ForLoopShouldBeWhileLoopSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopShouldBeWhileLoopSniff.php', - 'Generic_Sniffs_CodeAnalysis_ForLoopWithTestFunctionCallSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopWithTestFunctionCallSniff.php', - 'Generic_Sniffs_CodeAnalysis_JumbledIncrementerSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/JumbledIncrementerSniff.php', - 'Generic_Sniffs_CodeAnalysis_UnconditionalIfStatementSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnconditionalIfStatementSniff.php', - 'Generic_Sniffs_CodeAnalysis_UnnecessaryFinalModifierSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnnecessaryFinalModifierSniff.php', - 'Generic_Sniffs_CodeAnalysis_UnusedFunctionParameterSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnusedFunctionParameterSniff.php', - 'Generic_Sniffs_CodeAnalysis_UselessOverridingMethodSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UselessOverridingMethodSniff.php', - 'Generic_Sniffs_Commenting_DocCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/DocCommentSniff.php', - 'Generic_Sniffs_Commenting_FixmeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/FixmeSniff.php', - 'Generic_Sniffs_Commenting_TodoSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/TodoSniff.php', - 'Generic_Sniffs_ControlStructures_InlineControlStructureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/ControlStructures/InlineControlStructureSniff.php', - 'Generic_Sniffs_Debug_CSSLintSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/CSSLintSniff.php', - 'Generic_Sniffs_Debug_ClosureLinterSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/ClosureLinterSniff.php', - 'Generic_Sniffs_Debug_JSHintSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/JSHintSniff.php', - 'Generic_Sniffs_Files_ByteOrderMarkSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/ByteOrderMarkSniff.php', - 'Generic_Sniffs_Files_EndFileNewlineSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNewlineSniff.php', - 'Generic_Sniffs_Files_EndFileNoNewlineSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNoNewlineSniff.php', - 'Generic_Sniffs_Files_InlineHTMLSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/InlineHTMLSniff.php', - 'Generic_Sniffs_Files_LineEndingsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineEndingsSniff.php', - 'Generic_Sniffs_Files_LineLengthSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineLengthSniff.php', - 'Generic_Sniffs_Files_LowercasedFilenameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LowercasedFilenameSniff.php', - 'Generic_Sniffs_Files_OneClassPerFileSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneClassPerFileSniff.php', - 'Generic_Sniffs_Files_OneInterfacePerFileSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneInterfacePerFileSniff.php', - 'Generic_Sniffs_Files_OneTraitPerFileSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneTraitPerFileSniff.php', - 'Generic_Sniffs_Formatting_DisallowMultipleStatementsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/DisallowMultipleStatementsSniff.php', - 'Generic_Sniffs_Formatting_MultipleStatementAlignmentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/MultipleStatementAlignmentSniff.php', - 'Generic_Sniffs_Formatting_NoSpaceAfterCastSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/NoSpaceAfterCastSniff.php', - 'Generic_Sniffs_Formatting_SpaceAfterCastSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterCastSniff.php', - 'Generic_Sniffs_Formatting_SpaceAfterNotSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterNotSniff.php', - 'Generic_Sniffs_Functions_CallTimePassByReferenceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/CallTimePassByReferenceSniff.php', - 'Generic_Sniffs_Functions_FunctionCallArgumentSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/FunctionCallArgumentSpacingSniff.php', - 'Generic_Sniffs_Functions_OpeningFunctionBraceBsdAllmanSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceBsdAllmanSniff.php', - 'Generic_Sniffs_Functions_OpeningFunctionBraceKernighanRitchieSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceKernighanRitchieSniff.php', - 'Generic_Sniffs_Metrics_CyclomaticComplexitySniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/CyclomaticComplexitySniff.php', - 'Generic_Sniffs_Metrics_NestingLevelSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/NestingLevelSniff.php', - 'Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/CamelCapsFunctionNameSniff.php', - 'Generic_Sniffs_NamingConventions_ConstructorNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/ConstructorNameSniff.php', - 'Generic_Sniffs_NamingConventions_UpperCaseConstantNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/UpperCaseConstantNameSniff.php', - 'Generic_Sniffs_PHP_BacktickOperatorSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/BacktickOperatorSniff.php', - 'Generic_Sniffs_PHP_CharacterBeforePHPOpeningTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/CharacterBeforePHPOpeningTagSniff.php', - 'Generic_Sniffs_PHP_ClosingPHPTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ClosingPHPTagSniff.php', - 'Generic_Sniffs_PHP_DeprecatedFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DeprecatedFunctionsSniff.php', - 'Generic_Sniffs_PHP_DisallowAlternativePHPTagsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowAlternativePHPTagsSniff.php', - 'Generic_Sniffs_PHP_DisallowShortOpenTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowShortOpenTagSniff.php', - 'Generic_Sniffs_PHP_ForbiddenFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ForbiddenFunctionsSniff.php', - 'Generic_Sniffs_PHP_LowerCaseConstantSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseConstantSniff.php', - 'Generic_Sniffs_PHP_LowerCaseKeywordSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseKeywordSniff.php', - 'Generic_Sniffs_PHP_NoSilencedErrorsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/NoSilencedErrorsSniff.php', - 'Generic_Sniffs_PHP_SAPIUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SAPIUsageSniff.php', - 'Generic_Sniffs_PHP_SyntaxSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SyntaxSniff.php', - 'Generic_Sniffs_PHP_UpperCaseConstantSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/UpperCaseConstantSniff.php', - 'Generic_Sniffs_Strings_UnnecessaryStringConcatSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Strings/UnnecessaryStringConcatSniff.php', - 'Generic_Sniffs_VersionControl_SubversionPropertiesSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/VersionControl/SubversionPropertiesSniff.php', - 'Generic_Sniffs_WhiteSpace_DisallowSpaceIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowSpaceIndentSniff.php', - 'Generic_Sniffs_WhiteSpace_DisallowTabIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowTabIndentSniff.php', - 'Generic_Sniffs_WhiteSpace_ScopeIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/ScopeIndentSniff.php', - 'MySource_Sniffs_CSS_BrowserSpecificStylesSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/CSS/BrowserSpecificStylesSniff.php', - 'MySource_Sniffs_Channels_DisallowSelfActionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/DisallowSelfActionsSniff.php', - 'MySource_Sniffs_Channels_IncludeOwnSystemSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeOwnSystemSniff.php', - 'MySource_Sniffs_Channels_IncludeSystemSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeSystemSniff.php', - 'MySource_Sniffs_Channels_UnusedSystemSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/UnusedSystemSniff.php', - 'MySource_Sniffs_Commenting_FunctionCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Commenting/FunctionCommentSniff.php', - 'MySource_Sniffs_Debug_DebugCodeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/DebugCodeSniff.php', - 'MySource_Sniffs_Debug_FirebugConsoleSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/FirebugConsoleSniff.php', - 'MySource_Sniffs_Objects_AssignThisSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/AssignThisSniff.php', - 'MySource_Sniffs_Objects_CreateWidgetTypeCallbackSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/CreateWidgetTypeCallbackSniff.php', - 'MySource_Sniffs_Objects_DisallowNewWidgetSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/DisallowNewWidgetSniff.php', - 'MySource_Sniffs_PHP_AjaxNullComparisonSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/AjaxNullComparisonSniff.php', - 'MySource_Sniffs_PHP_EvalObjectFactorySniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/EvalObjectFactorySniff.php', - 'MySource_Sniffs_PHP_GetRequestDataSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/GetRequestDataSniff.php', - 'MySource_Sniffs_PHP_ReturnFunctionValueSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/ReturnFunctionValueSniff.php', - 'MySource_Sniffs_Strings_JoinStringsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Strings/JoinStringsSniff.php', - 'PDF417' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', - 'PEAR_Sniffs_Classes_ClassDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Classes/ClassDeclarationSniff.php', - 'PEAR_Sniffs_Commenting_ClassCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/ClassCommentSniff.php', - 'PEAR_Sniffs_Commenting_FileCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FileCommentSniff.php', - 'PEAR_Sniffs_Commenting_FunctionCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FunctionCommentSniff.php', - 'PEAR_Sniffs_Commenting_InlineCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/InlineCommentSniff.php', - 'PEAR_Sniffs_ControlStructures_ControlSignatureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/ControlSignatureSniff.php', - 'PEAR_Sniffs_ControlStructures_MultiLineConditionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/MultiLineConditionSniff.php', - 'PEAR_Sniffs_Files_IncludingFileSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Files/IncludingFileSniff.php', - 'PEAR_Sniffs_Formatting_MultiLineAssignmentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Formatting/MultiLineAssignmentSniff.php', - 'PEAR_Sniffs_Functions_FunctionCallSignatureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionCallSignatureSniff.php', - 'PEAR_Sniffs_Functions_FunctionDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionDeclarationSniff.php', - 'PEAR_Sniffs_Functions_ValidDefaultValueSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/ValidDefaultValueSniff.php', - 'PEAR_Sniffs_NamingConventions_ValidClassNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidClassNameSniff.php', - 'PEAR_Sniffs_NamingConventions_ValidFunctionNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidFunctionNameSniff.php', - 'PEAR_Sniffs_NamingConventions_ValidVariableNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidVariableNameSniff.php', - 'PEAR_Sniffs_WhiteSpace_ObjectOperatorIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ObjectOperatorIndentSniff.php', - 'PEAR_Sniffs_WhiteSpace_ScopeClosingBraceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php', - 'PEAR_Sniffs_WhiteSpace_ScopeIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeIndentSniff.php', - 'PHPUnit\\Framework\\Assert' => $vendorDir . '/phpunit/phpunit/src/ForwardCompatibility/Assert.php', - 'PHPUnit\\Framework\\BaseTestListener' => $vendorDir . '/phpunit/phpunit/src/ForwardCompatibility/BaseTestListener.php', - 'PHPUnit\\Framework\\TestCase' => $vendorDir . '/phpunit/phpunit/src/ForwardCompatibility/TestCase.php', - 'PHPUnit\\Framework\\TestListener' => $vendorDir . '/phpunit/phpunit/src/ForwardCompatibility/TestListener.php', - 'PHPUnit_Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php', - 'PHPUnit_Extensions_GroupTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php', - 'PHPUnit_Extensions_PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestCase.php', - 'PHPUnit_Extensions_PhptTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php', - 'PHPUnit_Extensions_RepeatedTest' => $vendorDir . '/phpunit/phpunit/src/Extensions/RepeatedTest.php', - 'PHPUnit_Extensions_Selenium2TestCase' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase.php', - 'PHPUnit_Extensions_Selenium2TestCase_Command' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Command.php', - 'PHPUnit_Extensions_Selenium2TestCase_CommandsHolder' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/CommandsHolder.php', - 'PHPUnit_Extensions_Selenium2TestCase_Driver' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Driver.php', - 'PHPUnit_Extensions_Selenium2TestCase_Element' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Element.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Attribute' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Attribute.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Click' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Click.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Css' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Css.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Equals' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Equals.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_GenericAccessor' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/GenericAccessor.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_GenericPost' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/GenericPost.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Value' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Value.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCriteria' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCriteria.php', - 'PHPUnit_Extensions_Selenium2TestCase_Element_Accessor' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Element/Accessor.php', - 'PHPUnit_Extensions_Selenium2TestCase_Element_Select' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Element/Select.php', - 'PHPUnit_Extensions_Selenium2TestCase_Exception' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Exception.php', - 'PHPUnit_Extensions_Selenium2TestCase_Keys' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Keys.php', - 'PHPUnit_Extensions_Selenium2TestCase_KeysHolder' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/KeysHolder.php', - 'PHPUnit_Extensions_Selenium2TestCase_NoSeleniumException' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/NoSeleniumException.php', - 'PHPUnit_Extensions_Selenium2TestCase_Response' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Response.php', - 'PHPUnit_Extensions_Selenium2TestCase_ScreenshotListener' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ScreenshotListener.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_AcceptAlert' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/AcceptAlert.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Active' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Active.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_AlertText' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/AlertText.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Click' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Click.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_DismissAlert' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/DismissAlert.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_File' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/File.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Frame' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Frame.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_GenericAccessor' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/GenericAccessor.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_GenericAttribute' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/GenericAttribute.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Keys' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Keys.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Location' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Location.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Log' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Log.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_MoveTo' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/MoveTo.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Orientation' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Orientation.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Url' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Url.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Window' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Window.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionStrategy' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionStrategy.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionStrategy_Isolated' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionStrategy/Isolated.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionStrategy_Shared' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionStrategy/Shared.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session_Cookie' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session_Cookie_Builder' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie/Builder.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session_Storage' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Storage.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session_Timeouts' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Timeouts.php', - 'PHPUnit_Extensions_Selenium2TestCase_StateCommand' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/StateCommand.php', - 'PHPUnit_Extensions_Selenium2TestCase_URL' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/URL.php', - 'PHPUnit_Extensions_Selenium2TestCase_WaitUntil' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/WaitUntil.php', - 'PHPUnit_Extensions_Selenium2TestCase_WebDriverException' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/WebDriverException.php', - 'PHPUnit_Extensions_Selenium2TestCase_Window' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Window.php', - 'PHPUnit_Extensions_SeleniumBrowserSuite' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumBrowserSuite.php', - 'PHPUnit_Extensions_SeleniumCommon_ExitHandler' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/ExitHandler.php', - 'PHPUnit_Extensions_SeleniumCommon_RemoteCoverage' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/RemoteCoverage.php', - 'PHPUnit_Extensions_SeleniumTestCase' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase.php', - 'PHPUnit_Extensions_SeleniumTestCase_Driver' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase/Driver.php', - 'PHPUnit_Extensions_SeleniumTestSuite' => $vendorDir . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestSuite.php', - 'PHPUnit_Extensions_TestDecorator' => $vendorDir . '/phpunit/phpunit/src/Extensions/TestDecorator.php', - 'PHPUnit_Extensions_TicketListener' => $vendorDir . '/phpunit/phpunit/src/Extensions/TicketListener.php', - 'PHPUnit_Framework_Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php', - 'PHPUnit_Framework_AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/AssertionFailedError.php', - 'PHPUnit_Framework_BaseTestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/BaseTestListener.php', - 'PHPUnit_Framework_CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/CodeCoverageException.php', - 'PHPUnit_Framework_Constraint' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint.php', - 'PHPUnit_Framework_Constraint_And' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/And.php', - 'PHPUnit_Framework_Constraint_ArrayHasKey' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php', - 'PHPUnit_Framework_Constraint_ArraySubset' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php', - 'PHPUnit_Framework_Constraint_Attribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php', - 'PHPUnit_Framework_Constraint_Callback' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Callback.php', - 'PHPUnit_Framework_Constraint_ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php', - 'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php', - 'PHPUnit_Framework_Constraint_Composite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Composite.php', - 'PHPUnit_Framework_Constraint_Count' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Count.php', - 'PHPUnit_Framework_Constraint_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception.php', - 'PHPUnit_Framework_Constraint_ExceptionCode' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php', - 'PHPUnit_Framework_Constraint_ExceptionMessage' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php', - 'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php', - 'PHPUnit_Framework_Constraint_FileExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php', - 'PHPUnit_Framework_Constraint_GreaterThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php', - 'PHPUnit_Framework_Constraint_IsAnything' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php', - 'PHPUnit_Framework_Constraint_IsEmpty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php', - 'PHPUnit_Framework_Constraint_IsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php', - 'PHPUnit_Framework_Constraint_IsFalse' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php', - 'PHPUnit_Framework_Constraint_IsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php', - 'PHPUnit_Framework_Constraint_IsInstanceOf' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php', - 'PHPUnit_Framework_Constraint_IsJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php', - 'PHPUnit_Framework_Constraint_IsNull' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php', - 'PHPUnit_Framework_Constraint_IsTrue' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php', - 'PHPUnit_Framework_Constraint_IsType' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsType.php', - 'PHPUnit_Framework_Constraint_JsonMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php', - 'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php', - 'PHPUnit_Framework_Constraint_LessThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php', - 'PHPUnit_Framework_Constraint_Not' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Not.php', - 'PHPUnit_Framework_Constraint_ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php', - 'PHPUnit_Framework_Constraint_Or' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Or.php', - 'PHPUnit_Framework_Constraint_PCREMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php', - 'PHPUnit_Framework_Constraint_SameSize' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php', - 'PHPUnit_Framework_Constraint_StringContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php', - 'PHPUnit_Framework_Constraint_StringEndsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php', - 'PHPUnit_Framework_Constraint_StringMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php', - 'PHPUnit_Framework_Constraint_StringStartsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php', - 'PHPUnit_Framework_Constraint_TraversableContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php', - 'PHPUnit_Framework_Constraint_TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php', - 'PHPUnit_Framework_Constraint_Xor' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Xor.php', - 'PHPUnit_Framework_Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Error.php', - 'PHPUnit_Framework_Error_Deprecated' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Deprecated.php', - 'PHPUnit_Framework_Error_Notice' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Notice.php', - 'PHPUnit_Framework_Error_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Warning.php', - 'PHPUnit_Framework_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception.php', - 'PHPUnit_Framework_ExceptionWrapper' => $vendorDir . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php', - 'PHPUnit_Framework_ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php', - 'PHPUnit_Framework_IncompleteTest' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTest.php', - 'PHPUnit_Framework_IncompleteTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php', - 'PHPUnit_Framework_IncompleteTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestError.php', - 'PHPUnit_Framework_InvalidCoversTargetError' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php', - 'PHPUnit_Framework_InvalidCoversTargetException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php', - 'PHPUnit_Framework_MockObject_BadMethodCallException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php', - 'PHPUnit_Framework_MockObject_Builder_Identity' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php', - 'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php', - 'PHPUnit_Framework_MockObject_Builder_Match' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php', - 'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php', - 'PHPUnit_Framework_MockObject_Builder_Namespace' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php', - 'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php', - 'PHPUnit_Framework_MockObject_Builder_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php', - 'PHPUnit_Framework_MockObject_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php', - 'PHPUnit_Framework_MockObject_Generator' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php', - 'PHPUnit_Framework_MockObject_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php', - 'PHPUnit_Framework_MockObject_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php', - 'PHPUnit_Framework_MockObject_Invocation_Object' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php', - 'PHPUnit_Framework_MockObject_Invocation_Static' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php', - 'PHPUnit_Framework_MockObject_Invokable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php', - 'PHPUnit_Framework_MockObject_Matcher' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php', - 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php', - 'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php', - 'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php', - 'PHPUnit_Framework_MockObject_Matcher_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php', - 'PHPUnit_Framework_MockObject_Matcher_MethodName' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php', - 'PHPUnit_Framework_MockObject_Matcher_Parameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php', - 'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php', - 'PHPUnit_Framework_MockObject_MockBuilder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php', - 'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php', - 'PHPUnit_Framework_MockObject_RuntimeException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php', - 'PHPUnit_Framework_MockObject_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php', - 'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php', - 'PHPUnit_Framework_MockObject_Stub_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php', - 'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php', - 'PHPUnit_Framework_MockObject_Stub_Return' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php', - 'PHPUnit_Framework_MockObject_Verifiable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php', - 'PHPUnit_Framework_OutputError' => $vendorDir . '/phpunit/phpunit/src/Framework/OutputError.php', - 'PHPUnit_Framework_RiskyTest' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTest.php', - 'PHPUnit_Framework_RiskyTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTestError.php', - 'PHPUnit_Framework_SelfDescribing' => $vendorDir . '/phpunit/phpunit/src/Framework/SelfDescribing.php', - 'PHPUnit_Framework_SkippedTest' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTest.php', - 'PHPUnit_Framework_SkippedTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestCase.php', - 'PHPUnit_Framework_SkippedTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestError.php', - 'PHPUnit_Framework_SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php', - 'PHPUnit_Framework_SyntheticError' => $vendorDir . '/phpunit/phpunit/src/Framework/SyntheticError.php', - 'PHPUnit_Framework_Test' => $vendorDir . '/phpunit/phpunit/src/Framework/Test.php', - 'PHPUnit_Framework_TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php', - 'PHPUnit_Framework_TestFailure' => $vendorDir . '/phpunit/phpunit/src/Framework/TestFailure.php', - 'PHPUnit_Framework_TestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListener.php', - 'PHPUnit_Framework_TestResult' => $vendorDir . '/phpunit/phpunit/src/Framework/TestResult.php', - 'PHPUnit_Framework_TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php', - 'PHPUnit_Framework_TestSuite_DataProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php', - 'PHPUnit_Framework_UnintentionallyCoveredCodeError' => $vendorDir . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php', - 'PHPUnit_Framework_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Warning.php', - 'PHPUnit_Runner_BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php', - 'PHPUnit_Runner_Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception.php', - 'PHPUnit_Runner_Filter_Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php', - 'PHPUnit_Runner_Filter_GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group.php', - 'PHPUnit_Runner_Filter_Group_Exclude' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php', - 'PHPUnit_Runner_Filter_Group_Include' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php', - 'PHPUnit_Runner_Filter_Test' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Test.php', - 'PHPUnit_Runner_StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php', - 'PHPUnit_Runner_TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php', - 'PHPUnit_Runner_Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php', - 'PHPUnit_TextUI_Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command.php', - 'PHPUnit_TextUI_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/ResultPrinter.php', - 'PHPUnit_TextUI_TestRunner' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestRunner.php', - 'PHPUnit_Util_Blacklist' => $vendorDir . '/phpunit/phpunit/src/Util/Blacklist.php', - 'PHPUnit_Util_Configuration' => $vendorDir . '/phpunit/phpunit/src/Util/Configuration.php', - 'PHPUnit_Util_ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php', - 'PHPUnit_Util_Fileloader' => $vendorDir . '/phpunit/phpunit/src/Util/Fileloader.php', - 'PHPUnit_Util_Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php', - 'PHPUnit_Util_Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php', - 'PHPUnit_Util_Getopt' => $vendorDir . '/phpunit/phpunit/src/Util/Getopt.php', - 'PHPUnit_Util_GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php', - 'PHPUnit_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php', - 'PHPUnit_Util_Log_JSON' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JSON.php', - 'PHPUnit_Util_Log_JUnit' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JUnit.php', - 'PHPUnit_Util_Log_TAP' => $vendorDir . '/phpunit/phpunit/src/Util/Log/TAP.php', - 'PHPUnit_Util_PHP' => $vendorDir . '/phpunit/phpunit/src/Util/PHP.php', - 'PHPUnit_Util_PHP_Default' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Default.php', - 'PHPUnit_Util_PHP_Windows' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Windows.php', - 'PHPUnit_Util_Printer' => $vendorDir . '/phpunit/phpunit/src/Util/Printer.php', - 'PHPUnit_Util_Regex' => $vendorDir . '/phpunit/phpunit/src/Util/Regex.php', - 'PHPUnit_Util_String' => $vendorDir . '/phpunit/phpunit/src/Util/String.php', - 'PHPUnit_Util_Test' => $vendorDir . '/phpunit/phpunit/src/Util/Test.php', - 'PHPUnit_Util_TestDox_NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php', - 'PHPUnit_Util_TestDox_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php', - 'PHPUnit_Util_TestDox_ResultPrinter_HTML' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php', - 'PHPUnit_Util_TestDox_ResultPrinter_Text' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php', - 'PHPUnit_Util_TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Util/TestSuiteIterator.php', - 'PHPUnit_Util_Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php', - 'PHPUnit_Util_XML' => $vendorDir . '/phpunit/phpunit/src/Util/XML.php', - 'PHP_CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php', - 'PHP_CodeCoverage_Driver' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php', - 'PHP_CodeCoverage_Driver_HHVM' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php', - 'PHP_CodeCoverage_Driver_PHPDBG' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php', - 'PHP_CodeCoverage_Driver_Xdebug' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php', - 'PHP_CodeCoverage_Exception' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php', - 'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php', - 'PHP_CodeCoverage_Filter' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php', - 'PHP_CodeCoverage_Report_Clover' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php', - 'PHP_CodeCoverage_Report_Crap4j' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php', - 'PHP_CodeCoverage_Report_Factory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php', - 'PHP_CodeCoverage_Report_HTML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php', - 'PHP_CodeCoverage_Report_HTML_Renderer' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php', - 'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php', - 'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php', - 'PHP_CodeCoverage_Report_HTML_Renderer_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php', - 'PHP_CodeCoverage_Report_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php', - 'PHP_CodeCoverage_Report_Node_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php', - 'PHP_CodeCoverage_Report_Node_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php', - 'PHP_CodeCoverage_Report_Node_Iterator' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php', - 'PHP_CodeCoverage_Report_PHP' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php', - 'PHP_CodeCoverage_Report_Text' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php', - 'PHP_CodeCoverage_Report_XML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php', - 'PHP_CodeCoverage_Report_XML_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php', - 'PHP_CodeCoverage_Report_XML_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php', - 'PHP_CodeCoverage_Report_XML_File_Coverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php', - 'PHP_CodeCoverage_Report_XML_File_Method' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php', - 'PHP_CodeCoverage_Report_XML_File_Report' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php', - 'PHP_CodeCoverage_Report_XML_File_Unit' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php', - 'PHP_CodeCoverage_Report_XML_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php', - 'PHP_CodeCoverage_Report_XML_Project' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php', - 'PHP_CodeCoverage_Report_XML_Tests' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php', - 'PHP_CodeCoverage_Report_XML_Totals' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php', - 'PHP_CodeCoverage_Util' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php', - 'PHP_CodeCoverage_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php', - 'PHP_CodeSniffer' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer.php', - 'PHP_CodeSniffer_CLI' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/CLI.php', - 'PHP_CodeSniffer_DocGenerators_Generator' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Generator.php', - 'PHP_CodeSniffer_DocGenerators_HTML' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/HTML.php', - 'PHP_CodeSniffer_DocGenerators_Markdown' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Markdown.php', - 'PHP_CodeSniffer_DocGenerators_Text' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Text.php', - 'PHP_CodeSniffer_Exception' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Exception.php', - 'PHP_CodeSniffer_File' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/File.php', - 'PHP_CodeSniffer_Fixer' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Fixer.php', - 'PHP_CodeSniffer_Report' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Report.php', - 'PHP_CodeSniffer_Reporting' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reporting.php', - 'PHP_CodeSniffer_Reports_Cbf' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Cbf.php', - 'PHP_CodeSniffer_Reports_Checkstyle' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Checkstyle.php', - 'PHP_CodeSniffer_Reports_Csv' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Csv.php', - 'PHP_CodeSniffer_Reports_Diff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Diff.php', - 'PHP_CodeSniffer_Reports_Emacs' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Emacs.php', - 'PHP_CodeSniffer_Reports_Full' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Full.php', - 'PHP_CodeSniffer_Reports_Gitblame' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Gitblame.php', - 'PHP_CodeSniffer_Reports_Hgblame' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Hgblame.php', - 'PHP_CodeSniffer_Reports_Info' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Info.php', - 'PHP_CodeSniffer_Reports_Json' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Json.php', - 'PHP_CodeSniffer_Reports_Junit' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Junit.php', - 'PHP_CodeSniffer_Reports_Notifysend' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Notifysend.php', - 'PHP_CodeSniffer_Reports_Source' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Source.php', - 'PHP_CodeSniffer_Reports_Summary' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Summary.php', - 'PHP_CodeSniffer_Reports_Svnblame' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Svnblame.php', - 'PHP_CodeSniffer_Reports_VersionControl' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/VersionControl.php', - 'PHP_CodeSniffer_Reports_Xml' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Xml.php', - 'PHP_CodeSniffer_Sniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Sniff.php', - 'PHP_CodeSniffer_Standards_AbstractPatternSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractPatternSniff.php', - 'PHP_CodeSniffer_Standards_AbstractScopeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractScopeSniff.php', - 'PHP_CodeSniffer_Standards_AbstractVariableSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractVariableSniff.php', - 'PHP_CodeSniffer_Standards_IncorrectPatternException' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/IncorrectPatternException.php', - 'PHP_CodeSniffer_Tokenizers_CSS' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/CSS.php', - 'PHP_CodeSniffer_Tokenizers_Comment' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/Comment.php', - 'PHP_CodeSniffer_Tokenizers_JS' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/JS.php', - 'PHP_CodeSniffer_Tokenizers_PHP' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/PHP.php', - 'PHP_CodeSniffer_Tokens' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokens.php', - 'PHP_Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php', - 'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScopeAndVisibility' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ABSTRACT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AMPERSAND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AND_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ASYNC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AWAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BACKTICK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BAD_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOL_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BREAK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CALLABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CARET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CASE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CATCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_NAME_CONSTANT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLONE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COALESCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMA' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMPILER_HALT_OFFSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONCAT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONSTANT_ENCAPSED_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONTINUE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CURLY_OPEN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEFAULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOC_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_QUOTES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELLIPSIS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSEIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EMPTY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENCAPSED_AND_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDDECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDSWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDWHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_END_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENUM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EQUALS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EVAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXCLAMATION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXTENDS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINALLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNC_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GLOBAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GOTO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_HALT_COMPILER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IMPLEMENTS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INLINE_HTML' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTANCEOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTEADOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INTERFACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ISSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_GREATER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_SMALLER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Includes' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_JOIN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LAMBDA_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LAMBDA_CP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LAMBDA_OP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LINE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LIST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_XOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_METHOD_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MOD_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MUL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NAMESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NEW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_SEPARATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NULLSAFE_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NUM_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ONUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG_WITH_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PERCENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PIPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRINT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRIVATE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PROTECTED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PUBLIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_QUESTION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_RETURN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SEMICOLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SHAPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SPACESHIP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_START_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STATIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_VARNAME' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SUPER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Stream' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream.php', - 'PHP_Token_Stream_CachingFactory' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php', - 'PHP_Token_THROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TILDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TYPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TYPELIST_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TYPELIST_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_USE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_USE_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_VAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_VARIABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHERE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_ATTRIBUTE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_CATEGORY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_CATEGORY_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_CHILDREN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_REQUIRED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_TAG_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_TAG_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_TEXT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD_FROM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', - 'PSR1_Sniffs_Classes_ClassDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Classes/ClassDeclarationSniff.php', - 'PSR1_Sniffs_Files_SideEffectsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php', - 'PSR1_Sniffs_Methods_CamelCapsMethodNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Methods/CamelCapsMethodNameSniff.php', - 'PSR2_Sniffs_Classes_ClassDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/ClassDeclarationSniff.php', - 'PSR2_Sniffs_Classes_PropertyDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/PropertyDeclarationSniff.php', - 'PSR2_Sniffs_ControlStructures_ControlStructureSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ControlStructureSpacingSniff.php', - 'PSR2_Sniffs_ControlStructures_ElseIfDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ElseIfDeclarationSniff.php', - 'PSR2_Sniffs_ControlStructures_SwitchDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/SwitchDeclarationSniff.php', - 'PSR2_Sniffs_Files_ClosingTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/ClosingTagSniff.php', - 'PSR2_Sniffs_Files_EndFileNewlineSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/EndFileNewlineSniff.php', - 'PSR2_Sniffs_Methods_FunctionCallSignatureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionCallSignatureSniff.php', - 'PSR2_Sniffs_Methods_FunctionClosingBraceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionClosingBraceSniff.php', - 'PSR2_Sniffs_Methods_MethodDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/MethodDeclarationSniff.php', - 'PSR2_Sniffs_Namespaces_NamespaceDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/NamespaceDeclarationSniff.php', - 'PSR2_Sniffs_Namespaces_UseDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/UseDeclarationSniff.php', - 'QRcode' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/qrcode.php', - 'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php', - 'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php', - 'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php', - 'SebastianBergmann\\Comparator\\DOMNodeComparator' => $vendorDir . '/sebastian/comparator/src/DOMNodeComparator.php', - 'SebastianBergmann\\Comparator\\DateTimeComparator' => $vendorDir . '/sebastian/comparator/src/DateTimeComparator.php', - 'SebastianBergmann\\Comparator\\DoubleComparator' => $vendorDir . '/sebastian/comparator/src/DoubleComparator.php', - 'SebastianBergmann\\Comparator\\ExceptionComparator' => $vendorDir . '/sebastian/comparator/src/ExceptionComparator.php', - 'SebastianBergmann\\Comparator\\Factory' => $vendorDir . '/sebastian/comparator/src/Factory.php', - 'SebastianBergmann\\Comparator\\MockObjectComparator' => $vendorDir . '/sebastian/comparator/src/MockObjectComparator.php', - 'SebastianBergmann\\Comparator\\NumericComparator' => $vendorDir . '/sebastian/comparator/src/NumericComparator.php', - 'SebastianBergmann\\Comparator\\ObjectComparator' => $vendorDir . '/sebastian/comparator/src/ObjectComparator.php', - 'SebastianBergmann\\Comparator\\ResourceComparator' => $vendorDir . '/sebastian/comparator/src/ResourceComparator.php', - 'SebastianBergmann\\Comparator\\ScalarComparator' => $vendorDir . '/sebastian/comparator/src/ScalarComparator.php', - 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => $vendorDir . '/sebastian/comparator/src/SplObjectStorageComparator.php', - 'SebastianBergmann\\Comparator\\TypeComparator' => $vendorDir . '/sebastian/comparator/src/TypeComparator.php', - 'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php', - 'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php', - 'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php', - 'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => $vendorDir . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php', - 'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php', - 'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php', - 'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php', - 'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php', - 'SebastianBergmann\\Environment\\Console' => $vendorDir . '/sebastian/environment/src/Console.php', - 'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php', - 'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php', - 'SebastianBergmann\\GlobalState\\Blacklist' => $vendorDir . '/sebastian/global-state/src/Blacklist.php', - 'SebastianBergmann\\GlobalState\\CodeExporter' => $vendorDir . '/sebastian/global-state/src/CodeExporter.php', - 'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/Exception.php', - 'SebastianBergmann\\GlobalState\\Restorer' => $vendorDir . '/sebastian/global-state/src/Restorer.php', - 'SebastianBergmann\\GlobalState\\RuntimeException' => $vendorDir . '/sebastian/global-state/src/RuntimeException.php', - 'SebastianBergmann\\GlobalState\\Snapshot' => $vendorDir . '/sebastian/global-state/src/Snapshot.php', - 'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php', - 'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php', - 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php', - 'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php', - 'Squiz_Sniffs_Arrays_ArrayBracketSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayBracketSpacingSniff.php', - 'Squiz_Sniffs_Arrays_ArrayDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayDeclarationSniff.php', - 'Squiz_Sniffs_CSS_ClassDefinitionClosingBraceSpaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionClosingBraceSpaceSniff.php', - 'Squiz_Sniffs_CSS_ClassDefinitionNameSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionNameSpacingSniff.php', - 'Squiz_Sniffs_CSS_ClassDefinitionOpeningBraceSpaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionOpeningBraceSpaceSniff.php', - 'Squiz_Sniffs_CSS_ColonSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColonSpacingSniff.php', - 'Squiz_Sniffs_CSS_ColourDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColourDefinitionSniff.php', - 'Squiz_Sniffs_CSS_DisallowMultipleStyleDefinitionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DisallowMultipleStyleDefinitionsSniff.php', - 'Squiz_Sniffs_CSS_DuplicateClassDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateClassDefinitionSniff.php', - 'Squiz_Sniffs_CSS_DuplicateStyleDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateStyleDefinitionSniff.php', - 'Squiz_Sniffs_CSS_EmptyClassDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyClassDefinitionSniff.php', - 'Squiz_Sniffs_CSS_EmptyStyleDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyStyleDefinitionSniff.php', - 'Squiz_Sniffs_CSS_ForbiddenStylesSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ForbiddenStylesSniff.php', - 'Squiz_Sniffs_CSS_IndentationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/IndentationSniff.php', - 'Squiz_Sniffs_CSS_LowercaseStyleDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/LowercaseStyleDefinitionSniff.php', - 'Squiz_Sniffs_CSS_MissingColonSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/MissingColonSniff.php', - 'Squiz_Sniffs_CSS_NamedColoursSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/NamedColoursSniff.php', - 'Squiz_Sniffs_CSS_OpacitySniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/OpacitySniff.php', - 'Squiz_Sniffs_CSS_SemicolonSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/SemicolonSpacingSniff.php', - 'Squiz_Sniffs_CSS_ShorthandSizeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ShorthandSizeSniff.php', - 'Squiz_Sniffs_Classes_ClassDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassDeclarationSniff.php', - 'Squiz_Sniffs_Classes_ClassFileNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassFileNameSniff.php', - 'Squiz_Sniffs_Classes_DuplicatePropertySniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/DuplicatePropertySniff.php', - 'Squiz_Sniffs_Classes_LowercaseClassKeywordsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/LowercaseClassKeywordsSniff.php', - 'Squiz_Sniffs_Classes_SelfMemberReferenceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/SelfMemberReferenceSniff.php', - 'Squiz_Sniffs_Classes_ValidClassNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ValidClassNameSniff.php', - 'Squiz_Sniffs_Commenting_BlockCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/BlockCommentSniff.php', - 'Squiz_Sniffs_Commenting_ClassCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClassCommentSniff.php', - 'Squiz_Sniffs_Commenting_ClosingDeclarationCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClosingDeclarationCommentSniff.php', - 'Squiz_Sniffs_Commenting_DocCommentAlignmentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/DocCommentAlignmentSniff.php', - 'Squiz_Sniffs_Commenting_EmptyCatchCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/EmptyCatchCommentSniff.php', - 'Squiz_Sniffs_Commenting_FileCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FileCommentSniff.php', - 'Squiz_Sniffs_Commenting_FunctionCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentSniff.php', - 'Squiz_Sniffs_Commenting_FunctionCommentThrowTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentThrowTagSniff.php', - 'Squiz_Sniffs_Commenting_InlineCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/InlineCommentSniff.php', - 'Squiz_Sniffs_Commenting_LongConditionClosingCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/LongConditionClosingCommentSniff.php', - 'Squiz_Sniffs_Commenting_PostStatementCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/PostStatementCommentSniff.php', - 'Squiz_Sniffs_Commenting_VariableCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php', - 'Squiz_Sniffs_ControlStructures_ControlSignatureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ControlSignatureSniff.php', - 'Squiz_Sniffs_ControlStructures_ElseIfDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ElseIfDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_ForEachLoopDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForEachLoopDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_ForLoopDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForLoopDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_InlineIfDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/InlineIfDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_LowercaseDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/LowercaseDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_SwitchDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/SwitchDeclarationSniff.php', - 'Squiz_Sniffs_Debug_JSLintSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JSLintSniff.php', - 'Squiz_Sniffs_Debug_JavaScriptLintSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JavaScriptLintSniff.php', - 'Squiz_Sniffs_Files_FileExtensionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Files/FileExtensionSniff.php', - 'Squiz_Sniffs_Formatting_OperatorBracketSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Formatting/OperatorBracketSniff.php', - 'Squiz_Sniffs_Functions_FunctionDeclarationArgumentSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationArgumentSpacingSniff.php', - 'Squiz_Sniffs_Functions_FunctionDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationSniff.php', - 'Squiz_Sniffs_Functions_FunctionDuplicateArgumentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDuplicateArgumentSniff.php', - 'Squiz_Sniffs_Functions_GlobalFunctionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/GlobalFunctionSniff.php', - 'Squiz_Sniffs_Functions_LowercaseFunctionKeywordsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/LowercaseFunctionKeywordsSniff.php', - 'Squiz_Sniffs_Functions_MultiLineFunctionDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/MultiLineFunctionDeclarationSniff.php', - 'Squiz_Sniffs_NamingConventions_ValidFunctionNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidFunctionNameSniff.php', - 'Squiz_Sniffs_NamingConventions_ValidVariableNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidVariableNameSniff.php', - 'Squiz_Sniffs_Objects_DisallowObjectStringIndexSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/DisallowObjectStringIndexSniff.php', - 'Squiz_Sniffs_Objects_ObjectInstantiationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectInstantiationSniff.php', - 'Squiz_Sniffs_Objects_ObjectMemberCommaSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectMemberCommaSniff.php', - 'Squiz_Sniffs_Operators_ComparisonOperatorUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ComparisonOperatorUsageSniff.php', - 'Squiz_Sniffs_Operators_IncrementDecrementUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/IncrementDecrementUsageSniff.php', - 'Squiz_Sniffs_Operators_ValidLogicalOperatorsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ValidLogicalOperatorsSniff.php', - 'Squiz_Sniffs_PHP_CommentedOutCodeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/CommentedOutCodeSniff.php', - 'Squiz_Sniffs_PHP_DisallowBooleanStatementSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowBooleanStatementSniff.php', - 'Squiz_Sniffs_PHP_DisallowComparisonAssignmentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowComparisonAssignmentSniff.php', - 'Squiz_Sniffs_PHP_DisallowInlineIfSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowInlineIfSniff.php', - 'Squiz_Sniffs_PHP_DisallowMultipleAssignmentsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowMultipleAssignmentsSniff.php', - 'Squiz_Sniffs_PHP_DisallowObEndFlushSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowObEndFlushSniff.php', - 'Squiz_Sniffs_PHP_DisallowSizeFunctionsInLoopsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowSizeFunctionsInLoopsSniff.php', - 'Squiz_Sniffs_PHP_DiscouragedFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DiscouragedFunctionsSniff.php', - 'Squiz_Sniffs_PHP_EmbeddedPhpSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EmbeddedPhpSniff.php', - 'Squiz_Sniffs_PHP_EvalSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EvalSniff.php', - 'Squiz_Sniffs_PHP_ForbiddenFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/ForbiddenFunctionsSniff.php', - 'Squiz_Sniffs_PHP_GlobalKeywordSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/GlobalKeywordSniff.php', - 'Squiz_Sniffs_PHP_HeredocSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/HeredocSniff.php', - 'Squiz_Sniffs_PHP_InnerFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/InnerFunctionsSniff.php', - 'Squiz_Sniffs_PHP_LowercasePHPFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/LowercasePHPFunctionsSniff.php', - 'Squiz_Sniffs_PHP_NonExecutableCodeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/NonExecutableCodeSniff.php', - 'Squiz_Sniffs_Scope_MemberVarScopeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MemberVarScopeSniff.php', - 'Squiz_Sniffs_Scope_MethodScopeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MethodScopeSniff.php', - 'Squiz_Sniffs_Scope_StaticThisUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/StaticThisUsageSniff.php', - 'Squiz_Sniffs_Strings_ConcatenationSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/ConcatenationSpacingSniff.php', - 'Squiz_Sniffs_Strings_DoubleQuoteUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/DoubleQuoteUsageSniff.php', - 'Squiz_Sniffs_Strings_EchoedStringsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/EchoedStringsSniff.php', - 'Squiz_Sniffs_WhiteSpace_CastSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/CastSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_ControlStructureSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_FunctionClosingBraceSpaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionClosingBraceSpaceSniff.php', - 'Squiz_Sniffs_WhiteSpace_FunctionOpeningBraceSpaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionOpeningBraceSpaceSniff.php', - 'Squiz_Sniffs_WhiteSpace_FunctionSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_LanguageConstructSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LanguageConstructSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_LogicalOperatorSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LogicalOperatorSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_MemberVarSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/MemberVarSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_ObjectOperatorSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ObjectOperatorSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_OperatorSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/OperatorSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_PropertyLabelSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/PropertyLabelSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_ScopeClosingBraceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php', - 'Squiz_Sniffs_WhiteSpace_ScopeKeywordSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeKeywordSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_SemicolonSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SemicolonSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_SuperfluousWhitespaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SuperfluousWhitespaceSniff.php', - 'TCPDF' => $vendorDir . '/tecnickcom/tcpdf/tcpdf.php', - 'TCPDF2DBarcode' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_barcodes_2d.php', - 'TCPDFBarcode' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_barcodes_1d.php', - 'TCPDF_COLORS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_colors.php', - 'TCPDF_FILTERS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_filters.php', - 'TCPDF_FONTS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_fonts.php', - 'TCPDF_FONT_DATA' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_font_data.php', - 'TCPDF_IMAGES' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_images.php', - 'TCPDF_IMPORT' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_import.php', - 'TCPDF_PARSER' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_parser.php', - 'TCPDF_STATIC' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_static.php', - 'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php', - 'Zend_Sniffs_Debug_CodeAnalyzerSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Debug/CodeAnalyzerSniff.php', - 'Zend_Sniffs_Files_ClosingTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Files/ClosingTagSniff.php', - 'Zend_Sniffs_NamingConventions_ValidVariableNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/NamingConventions/ValidVariableNameSniff.php', -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_files.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_files.php deleted file mode 100644 index b3d31c5f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_files.php +++ /dev/null @@ -1,11 +0,0 @@ - $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', - 'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php', -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_namespaces.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_namespaces.php deleted file mode 100644 index f0173cd8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_namespaces.php +++ /dev/null @@ -1,12 +0,0 @@ - array($vendorDir . '/phpspec/prophecy/src'), - 'Guzzle\\Tests' => array($vendorDir . '/guzzle/guzzle/tests'), - 'Guzzle' => array($vendorDir . '/guzzle/guzzle/src'), -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_psr4.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_psr4.php deleted file mode 100644 index e30283fd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_psr4.php +++ /dev/null @@ -1,33 +0,0 @@ - array($vendorDir . '/phpseclib/phpseclib/phpseclib'), - 'phpDocumentor\\Reflection\\' => array($vendorDir . '/phpdocumentor/reflection-common/src', $vendorDir . '/phpdocumentor/type-resolver/src', $vendorDir . '/phpdocumentor/reflection-docblock/src'), - 'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'), - 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), - 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), - 'Symfony\\Component\\Stopwatch\\' => array($vendorDir . '/symfony/stopwatch'), - 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'), - 'Symfony\\Component\\Filesystem\\' => array($vendorDir . '/symfony/filesystem'), - 'Symfony\\Component\\ExpressionLanguage\\' => array($vendorDir . '/symfony/expression-language'), - 'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'), - 'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'), - 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), - 'Symfony\\Component\\Config\\' => array($vendorDir . '/symfony/config'), - 'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'), - 'Satooshi\\' => array($vendorDir . '/satooshi/php-coveralls/src/Satooshi'), - 'ReCaptcha\\' => array($vendorDir . '/google/recaptcha/src/ReCaptcha'), - 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), - 'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'), - 'PhpMyAdmin\\SqlParser\\' => array($vendorDir . '/phpmyadmin/sql-parser/src'), - 'PhpMyAdmin\\ShapeFile\\' => array($vendorDir . '/phpmyadmin/shapefile/src'), - 'PhpMyAdmin\\MoTranslator\\' => array($vendorDir . '/phpmyadmin/motranslator/src'), - 'PMA\\' => array($baseDir . '/'), - 'Gitonomy\\Git\\' => array($vendorDir . '/gitonomy/gitlib/src/Gitonomy/Git'), - 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'), -); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_real.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_real.php deleted file mode 100644 index ffc0fd1b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_real.php +++ /dev/null @@ -1,74 +0,0 @@ -= 50600 && !defined('HHVM_VERSION'); - if ($useStaticLoader) { - require_once __DIR__ . '/autoload_static.php'; - - call_user_func(\Composer\Autoload\ComposerStaticInit7033babd32da3410d35a338a5cac8c30::getInitializer($loader)); - } else { - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } - - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } - - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); - } - } - - $loader->register(true); - - if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit7033babd32da3410d35a338a5cac8c30::$files; - } else { - $includeFiles = require __DIR__ . '/autoload_files.php'; - } - foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire7033babd32da3410d35a338a5cac8c30($fileIdentifier, $file); - } - - return $loader; - } -} - -function composerRequire7033babd32da3410d35a338a5cac8c30($fileIdentifier, $file) -{ - if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - require $file; - - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_static.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_static.php deleted file mode 100644 index 9c047616..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/autoload_static.php +++ /dev/null @@ -1,972 +0,0 @@ - __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', - 'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php', - ); - - public static $prefixLengthsPsr4 = array ( - 'p' => - array ( - 'phpseclib\\' => 10, - 'phpDocumentor\\Reflection\\' => 25, - ), - 'W' => - array ( - 'Webmozart\\Assert\\' => 17, - ), - 'S' => - array ( - 'Symfony\\Polyfill\\Mbstring\\' => 26, - 'Symfony\\Component\\Yaml\\' => 23, - 'Symfony\\Component\\Stopwatch\\' => 28, - 'Symfony\\Component\\Process\\' => 26, - 'Symfony\\Component\\Filesystem\\' => 29, - 'Symfony\\Component\\ExpressionLanguage\\' => 37, - 'Symfony\\Component\\EventDispatcher\\' => 34, - 'Symfony\\Component\\Debug\\' => 24, - 'Symfony\\Component\\Console\\' => 26, - 'Symfony\\Component\\Config\\' => 25, - 'Symfony\\Component\\Cache\\' => 24, - 'Satooshi\\' => 9, - ), - 'R' => - array ( - 'ReCaptcha\\' => 10, - ), - 'P' => - array ( - 'Psr\\Log\\' => 8, - 'Psr\\Cache\\' => 10, - 'PhpMyAdmin\\SqlParser\\' => 21, - 'PhpMyAdmin\\ShapeFile\\' => 21, - 'PhpMyAdmin\\MoTranslator\\' => 24, - 'PMA\\' => 4, - ), - 'G' => - array ( - 'Gitonomy\\Git\\' => 13, - ), - 'D' => - array ( - 'Doctrine\\Instantiator\\' => 22, - ), - ); - - public static $prefixDirsPsr4 = array ( - 'phpseclib\\' => - array ( - 0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib', - ), - 'phpDocumentor\\Reflection\\' => - array ( - 0 => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src', - 1 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src', - 2 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src', - ), - 'Webmozart\\Assert\\' => - array ( - 0 => __DIR__ . '/..' . '/webmozart/assert/src', - ), - 'Symfony\\Polyfill\\Mbstring\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring', - ), - 'Symfony\\Component\\Yaml\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/yaml', - ), - 'Symfony\\Component\\Stopwatch\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/stopwatch', - ), - 'Symfony\\Component\\Process\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/process', - ), - 'Symfony\\Component\\Filesystem\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/filesystem', - ), - 'Symfony\\Component\\ExpressionLanguage\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/expression-language', - ), - 'Symfony\\Component\\EventDispatcher\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/event-dispatcher', - ), - 'Symfony\\Component\\Debug\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/debug', - ), - 'Symfony\\Component\\Console\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/console', - ), - 'Symfony\\Component\\Config\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/config', - ), - 'Symfony\\Component\\Cache\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/cache', - ), - 'Satooshi\\' => - array ( - 0 => __DIR__ . '/..' . '/satooshi/php-coveralls/src/Satooshi', - ), - 'ReCaptcha\\' => - array ( - 0 => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha', - ), - 'Psr\\Log\\' => - array ( - 0 => __DIR__ . '/..' . '/psr/log/Psr/Log', - ), - 'Psr\\Cache\\' => - array ( - 0 => __DIR__ . '/..' . '/psr/cache/src', - ), - 'PhpMyAdmin\\SqlParser\\' => - array ( - 0 => __DIR__ . '/..' . '/phpmyadmin/sql-parser/src', - ), - 'PhpMyAdmin\\ShapeFile\\' => - array ( - 0 => __DIR__ . '/..' . '/phpmyadmin/shapefile/src', - ), - 'PhpMyAdmin\\MoTranslator\\' => - array ( - 0 => __DIR__ . '/..' . '/phpmyadmin/motranslator/src', - ), - 'PMA\\' => - array ( - 0 => __DIR__ . '/../..' . '/', - ), - 'Gitonomy\\Git\\' => - array ( - 0 => __DIR__ . '/..' . '/gitonomy/gitlib/src/Gitonomy/Git', - ), - 'Doctrine\\Instantiator\\' => - array ( - 0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator', - ), - ); - - public static $prefixesPsr0 = array ( - 'P' => - array ( - 'Prophecy\\' => - array ( - 0 => __DIR__ . '/..' . '/phpspec/prophecy/src', - ), - ), - 'G' => - array ( - 'Guzzle\\Tests' => - array ( - 0 => __DIR__ . '/..' . '/guzzle/guzzle/tests', - ), - 'Guzzle' => - array ( - 0 => __DIR__ . '/..' . '/guzzle/guzzle/src', - ), - ), - ); - - public static $classMap = array ( - 'Codacy\\Coverage\\Application' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Application.php', - 'Codacy\\Coverage\\Command\\Clover' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Command/Clover.php', - 'Codacy\\Coverage\\Command\\Phpunit' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php', - 'Codacy\\Coverage\\Parser\\CloverParser' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php', - 'Codacy\\Coverage\\Parser\\IParser' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php', - 'Codacy\\Coverage\\Parser\\PhpUnitXmlParser' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php', - 'Codacy\\Coverage\\Parser\\XMLParser' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php', - 'Codacy\\Coverage\\Report\\CoverageReport' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php', - 'Codacy\\Coverage\\Report\\FileReport' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php', - 'Codacy\\Coverage\\Util\\CodacyApiClient' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php', - 'Codacy\\Coverage\\Util\\GitClient' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php', - 'Codacy\\Coverage\\Util\\JsonProducer' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php', - 'Datamatrix' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php', - 'File_Iterator' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Iterator.php', - 'File_Iterator_Facade' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Facade.php', - 'File_Iterator_Factory' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Factory.php', - 'Generic_Sniffs_Arrays_DisallowLongArraySyntaxSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowLongArraySyntaxSniff.php', - 'Generic_Sniffs_Arrays_DisallowShortArraySyntaxSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowShortArraySyntaxSniff.php', - 'Generic_Sniffs_Classes_DuplicateClassNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/DuplicateClassNameSniff.php', - 'Generic_Sniffs_Classes_OpeningBraceSameLineSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/OpeningBraceSameLineSniff.php', - 'Generic_Sniffs_CodeAnalysis_EmptyStatementSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/EmptyStatementSniff.php', - 'Generic_Sniffs_CodeAnalysis_ForLoopShouldBeWhileLoopSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopShouldBeWhileLoopSniff.php', - 'Generic_Sniffs_CodeAnalysis_ForLoopWithTestFunctionCallSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopWithTestFunctionCallSniff.php', - 'Generic_Sniffs_CodeAnalysis_JumbledIncrementerSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/JumbledIncrementerSniff.php', - 'Generic_Sniffs_CodeAnalysis_UnconditionalIfStatementSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnconditionalIfStatementSniff.php', - 'Generic_Sniffs_CodeAnalysis_UnnecessaryFinalModifierSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnnecessaryFinalModifierSniff.php', - 'Generic_Sniffs_CodeAnalysis_UnusedFunctionParameterSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnusedFunctionParameterSniff.php', - 'Generic_Sniffs_CodeAnalysis_UselessOverridingMethodSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UselessOverridingMethodSniff.php', - 'Generic_Sniffs_Commenting_DocCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/DocCommentSniff.php', - 'Generic_Sniffs_Commenting_FixmeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/FixmeSniff.php', - 'Generic_Sniffs_Commenting_TodoSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/TodoSniff.php', - 'Generic_Sniffs_ControlStructures_InlineControlStructureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/ControlStructures/InlineControlStructureSniff.php', - 'Generic_Sniffs_Debug_CSSLintSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/CSSLintSniff.php', - 'Generic_Sniffs_Debug_ClosureLinterSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/ClosureLinterSniff.php', - 'Generic_Sniffs_Debug_JSHintSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/JSHintSniff.php', - 'Generic_Sniffs_Files_ByteOrderMarkSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/ByteOrderMarkSniff.php', - 'Generic_Sniffs_Files_EndFileNewlineSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNewlineSniff.php', - 'Generic_Sniffs_Files_EndFileNoNewlineSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNoNewlineSniff.php', - 'Generic_Sniffs_Files_InlineHTMLSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/InlineHTMLSniff.php', - 'Generic_Sniffs_Files_LineEndingsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineEndingsSniff.php', - 'Generic_Sniffs_Files_LineLengthSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineLengthSniff.php', - 'Generic_Sniffs_Files_LowercasedFilenameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LowercasedFilenameSniff.php', - 'Generic_Sniffs_Files_OneClassPerFileSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneClassPerFileSniff.php', - 'Generic_Sniffs_Files_OneInterfacePerFileSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneInterfacePerFileSniff.php', - 'Generic_Sniffs_Files_OneTraitPerFileSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneTraitPerFileSniff.php', - 'Generic_Sniffs_Formatting_DisallowMultipleStatementsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/DisallowMultipleStatementsSniff.php', - 'Generic_Sniffs_Formatting_MultipleStatementAlignmentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/MultipleStatementAlignmentSniff.php', - 'Generic_Sniffs_Formatting_NoSpaceAfterCastSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/NoSpaceAfterCastSniff.php', - 'Generic_Sniffs_Formatting_SpaceAfterCastSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterCastSniff.php', - 'Generic_Sniffs_Formatting_SpaceAfterNotSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterNotSniff.php', - 'Generic_Sniffs_Functions_CallTimePassByReferenceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/CallTimePassByReferenceSniff.php', - 'Generic_Sniffs_Functions_FunctionCallArgumentSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/FunctionCallArgumentSpacingSniff.php', - 'Generic_Sniffs_Functions_OpeningFunctionBraceBsdAllmanSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceBsdAllmanSniff.php', - 'Generic_Sniffs_Functions_OpeningFunctionBraceKernighanRitchieSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceKernighanRitchieSniff.php', - 'Generic_Sniffs_Metrics_CyclomaticComplexitySniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/CyclomaticComplexitySniff.php', - 'Generic_Sniffs_Metrics_NestingLevelSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/NestingLevelSniff.php', - 'Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/CamelCapsFunctionNameSniff.php', - 'Generic_Sniffs_NamingConventions_ConstructorNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/ConstructorNameSniff.php', - 'Generic_Sniffs_NamingConventions_UpperCaseConstantNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/UpperCaseConstantNameSniff.php', - 'Generic_Sniffs_PHP_BacktickOperatorSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/BacktickOperatorSniff.php', - 'Generic_Sniffs_PHP_CharacterBeforePHPOpeningTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/CharacterBeforePHPOpeningTagSniff.php', - 'Generic_Sniffs_PHP_ClosingPHPTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ClosingPHPTagSniff.php', - 'Generic_Sniffs_PHP_DeprecatedFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DeprecatedFunctionsSniff.php', - 'Generic_Sniffs_PHP_DisallowAlternativePHPTagsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowAlternativePHPTagsSniff.php', - 'Generic_Sniffs_PHP_DisallowShortOpenTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowShortOpenTagSniff.php', - 'Generic_Sniffs_PHP_ForbiddenFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ForbiddenFunctionsSniff.php', - 'Generic_Sniffs_PHP_LowerCaseConstantSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseConstantSniff.php', - 'Generic_Sniffs_PHP_LowerCaseKeywordSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseKeywordSniff.php', - 'Generic_Sniffs_PHP_NoSilencedErrorsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/NoSilencedErrorsSniff.php', - 'Generic_Sniffs_PHP_SAPIUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SAPIUsageSniff.php', - 'Generic_Sniffs_PHP_SyntaxSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SyntaxSniff.php', - 'Generic_Sniffs_PHP_UpperCaseConstantSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/UpperCaseConstantSniff.php', - 'Generic_Sniffs_Strings_UnnecessaryStringConcatSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Strings/UnnecessaryStringConcatSniff.php', - 'Generic_Sniffs_VersionControl_SubversionPropertiesSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/VersionControl/SubversionPropertiesSniff.php', - 'Generic_Sniffs_WhiteSpace_DisallowSpaceIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowSpaceIndentSniff.php', - 'Generic_Sniffs_WhiteSpace_DisallowTabIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowTabIndentSniff.php', - 'Generic_Sniffs_WhiteSpace_ScopeIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/ScopeIndentSniff.php', - 'MySource_Sniffs_CSS_BrowserSpecificStylesSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/CSS/BrowserSpecificStylesSniff.php', - 'MySource_Sniffs_Channels_DisallowSelfActionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/DisallowSelfActionsSniff.php', - 'MySource_Sniffs_Channels_IncludeOwnSystemSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeOwnSystemSniff.php', - 'MySource_Sniffs_Channels_IncludeSystemSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeSystemSniff.php', - 'MySource_Sniffs_Channels_UnusedSystemSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/UnusedSystemSniff.php', - 'MySource_Sniffs_Commenting_FunctionCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Commenting/FunctionCommentSniff.php', - 'MySource_Sniffs_Debug_DebugCodeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/DebugCodeSniff.php', - 'MySource_Sniffs_Debug_FirebugConsoleSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/FirebugConsoleSniff.php', - 'MySource_Sniffs_Objects_AssignThisSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/AssignThisSniff.php', - 'MySource_Sniffs_Objects_CreateWidgetTypeCallbackSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/CreateWidgetTypeCallbackSniff.php', - 'MySource_Sniffs_Objects_DisallowNewWidgetSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/DisallowNewWidgetSniff.php', - 'MySource_Sniffs_PHP_AjaxNullComparisonSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/AjaxNullComparisonSniff.php', - 'MySource_Sniffs_PHP_EvalObjectFactorySniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/EvalObjectFactorySniff.php', - 'MySource_Sniffs_PHP_GetRequestDataSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/GetRequestDataSniff.php', - 'MySource_Sniffs_PHP_ReturnFunctionValueSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/ReturnFunctionValueSniff.php', - 'MySource_Sniffs_Strings_JoinStringsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Strings/JoinStringsSniff.php', - 'PDF417' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', - 'PEAR_Sniffs_Classes_ClassDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Classes/ClassDeclarationSniff.php', - 'PEAR_Sniffs_Commenting_ClassCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/ClassCommentSniff.php', - 'PEAR_Sniffs_Commenting_FileCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FileCommentSniff.php', - 'PEAR_Sniffs_Commenting_FunctionCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FunctionCommentSniff.php', - 'PEAR_Sniffs_Commenting_InlineCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/InlineCommentSniff.php', - 'PEAR_Sniffs_ControlStructures_ControlSignatureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/ControlSignatureSniff.php', - 'PEAR_Sniffs_ControlStructures_MultiLineConditionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/MultiLineConditionSniff.php', - 'PEAR_Sniffs_Files_IncludingFileSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Files/IncludingFileSniff.php', - 'PEAR_Sniffs_Formatting_MultiLineAssignmentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Formatting/MultiLineAssignmentSniff.php', - 'PEAR_Sniffs_Functions_FunctionCallSignatureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionCallSignatureSniff.php', - 'PEAR_Sniffs_Functions_FunctionDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionDeclarationSniff.php', - 'PEAR_Sniffs_Functions_ValidDefaultValueSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/ValidDefaultValueSniff.php', - 'PEAR_Sniffs_NamingConventions_ValidClassNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidClassNameSniff.php', - 'PEAR_Sniffs_NamingConventions_ValidFunctionNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidFunctionNameSniff.php', - 'PEAR_Sniffs_NamingConventions_ValidVariableNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidVariableNameSniff.php', - 'PEAR_Sniffs_WhiteSpace_ObjectOperatorIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ObjectOperatorIndentSniff.php', - 'PEAR_Sniffs_WhiteSpace_ScopeClosingBraceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php', - 'PEAR_Sniffs_WhiteSpace_ScopeIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeIndentSniff.php', - 'PHPUnit\\Framework\\Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/ForwardCompatibility/Assert.php', - 'PHPUnit\\Framework\\BaseTestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/ForwardCompatibility/BaseTestListener.php', - 'PHPUnit\\Framework\\TestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/ForwardCompatibility/TestCase.php', - 'PHPUnit\\Framework\\TestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/ForwardCompatibility/TestListener.php', - 'PHPUnit_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Exception.php', - 'PHPUnit_Extensions_GroupTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php', - 'PHPUnit_Extensions_PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/PhptTestCase.php', - 'PHPUnit_Extensions_PhptTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php', - 'PHPUnit_Extensions_RepeatedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/RepeatedTest.php', - 'PHPUnit_Extensions_Selenium2TestCase' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase.php', - 'PHPUnit_Extensions_Selenium2TestCase_Command' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Command.php', - 'PHPUnit_Extensions_Selenium2TestCase_CommandsHolder' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/CommandsHolder.php', - 'PHPUnit_Extensions_Selenium2TestCase_Driver' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Driver.php', - 'PHPUnit_Extensions_Selenium2TestCase_Element' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Element.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Attribute' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Attribute.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Click' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Click.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Css' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Css.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Equals' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Equals.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_GenericAccessor' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/GenericAccessor.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_GenericPost' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/GenericPost.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCommand_Value' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCommand/Value.php', - 'PHPUnit_Extensions_Selenium2TestCase_ElementCriteria' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ElementCriteria.php', - 'PHPUnit_Extensions_Selenium2TestCase_Element_Accessor' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Element/Accessor.php', - 'PHPUnit_Extensions_Selenium2TestCase_Element_Select' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Element/Select.php', - 'PHPUnit_Extensions_Selenium2TestCase_Exception' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Exception.php', - 'PHPUnit_Extensions_Selenium2TestCase_Keys' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Keys.php', - 'PHPUnit_Extensions_Selenium2TestCase_KeysHolder' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/KeysHolder.php', - 'PHPUnit_Extensions_Selenium2TestCase_NoSeleniumException' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/NoSeleniumException.php', - 'PHPUnit_Extensions_Selenium2TestCase_Response' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Response.php', - 'PHPUnit_Extensions_Selenium2TestCase_ScreenshotListener' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/ScreenshotListener.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_AcceptAlert' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/AcceptAlert.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Active' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Active.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_AlertText' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/AlertText.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Click' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Click.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_DismissAlert' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/DismissAlert.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_File' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/File.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Frame' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Frame.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_GenericAccessor' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/GenericAccessor.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_GenericAttribute' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/GenericAttribute.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Keys' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Keys.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Location' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Location.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Log' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Log.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_MoveTo' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/MoveTo.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Orientation' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Orientation.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Url' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Url.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionCommand_Window' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionCommand/Window.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionStrategy' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionStrategy.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionStrategy_Isolated' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionStrategy/Isolated.php', - 'PHPUnit_Extensions_Selenium2TestCase_SessionStrategy_Shared' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/SessionStrategy/Shared.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session_Cookie' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session_Cookie_Builder' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Cookie/Builder.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session_Storage' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Storage.php', - 'PHPUnit_Extensions_Selenium2TestCase_Session_Timeouts' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Session/Timeouts.php', - 'PHPUnit_Extensions_Selenium2TestCase_StateCommand' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/StateCommand.php', - 'PHPUnit_Extensions_Selenium2TestCase_URL' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/URL.php', - 'PHPUnit_Extensions_Selenium2TestCase_WaitUntil' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/WaitUntil.php', - 'PHPUnit_Extensions_Selenium2TestCase_WebDriverException' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/WebDriverException.php', - 'PHPUnit_Extensions_Selenium2TestCase_Window' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Window.php', - 'PHPUnit_Extensions_SeleniumBrowserSuite' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumBrowserSuite.php', - 'PHPUnit_Extensions_SeleniumCommon_ExitHandler' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/ExitHandler.php', - 'PHPUnit_Extensions_SeleniumCommon_RemoteCoverage' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/RemoteCoverage.php', - 'PHPUnit_Extensions_SeleniumTestCase' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase.php', - 'PHPUnit_Extensions_SeleniumTestCase_Driver' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase/Driver.php', - 'PHPUnit_Extensions_SeleniumTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestSuite.php', - 'PHPUnit_Extensions_TestDecorator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/TestDecorator.php', - 'PHPUnit_Extensions_TicketListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/TicketListener.php', - 'PHPUnit_Framework_Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert.php', - 'PHPUnit_Framework_AssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/AssertionFailedError.php', - 'PHPUnit_Framework_BaseTestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/BaseTestListener.php', - 'PHPUnit_Framework_CodeCoverageException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/CodeCoverageException.php', - 'PHPUnit_Framework_Constraint' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint.php', - 'PHPUnit_Framework_Constraint_And' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/And.php', - 'PHPUnit_Framework_Constraint_ArrayHasKey' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php', - 'PHPUnit_Framework_Constraint_ArraySubset' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php', - 'PHPUnit_Framework_Constraint_Attribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php', - 'PHPUnit_Framework_Constraint_Callback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Callback.php', - 'PHPUnit_Framework_Constraint_ClassHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php', - 'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php', - 'PHPUnit_Framework_Constraint_Composite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Composite.php', - 'PHPUnit_Framework_Constraint_Count' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Count.php', - 'PHPUnit_Framework_Constraint_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception.php', - 'PHPUnit_Framework_Constraint_ExceptionCode' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php', - 'PHPUnit_Framework_Constraint_ExceptionMessage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php', - 'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php', - 'PHPUnit_Framework_Constraint_FileExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php', - 'PHPUnit_Framework_Constraint_GreaterThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php', - 'PHPUnit_Framework_Constraint_IsAnything' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php', - 'PHPUnit_Framework_Constraint_IsEmpty' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php', - 'PHPUnit_Framework_Constraint_IsEqual' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php', - 'PHPUnit_Framework_Constraint_IsFalse' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php', - 'PHPUnit_Framework_Constraint_IsIdentical' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php', - 'PHPUnit_Framework_Constraint_IsInstanceOf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php', - 'PHPUnit_Framework_Constraint_IsJson' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php', - 'PHPUnit_Framework_Constraint_IsNull' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php', - 'PHPUnit_Framework_Constraint_IsTrue' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php', - 'PHPUnit_Framework_Constraint_IsType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsType.php', - 'PHPUnit_Framework_Constraint_JsonMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php', - 'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php', - 'PHPUnit_Framework_Constraint_LessThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php', - 'PHPUnit_Framework_Constraint_Not' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Not.php', - 'PHPUnit_Framework_Constraint_ObjectHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php', - 'PHPUnit_Framework_Constraint_Or' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Or.php', - 'PHPUnit_Framework_Constraint_PCREMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php', - 'PHPUnit_Framework_Constraint_SameSize' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php', - 'PHPUnit_Framework_Constraint_StringContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php', - 'PHPUnit_Framework_Constraint_StringEndsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php', - 'PHPUnit_Framework_Constraint_StringMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php', - 'PHPUnit_Framework_Constraint_StringStartsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php', - 'PHPUnit_Framework_Constraint_TraversableContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php', - 'PHPUnit_Framework_Constraint_TraversableContainsOnly' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php', - 'PHPUnit_Framework_Constraint_Xor' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Xor.php', - 'PHPUnit_Framework_Error' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error.php', - 'PHPUnit_Framework_Error_Deprecated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Deprecated.php', - 'PHPUnit_Framework_Error_Notice' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Notice.php', - 'PHPUnit_Framework_Error_Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Warning.php', - 'PHPUnit_Framework_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception.php', - 'PHPUnit_Framework_ExceptionWrapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php', - 'PHPUnit_Framework_ExpectationFailedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php', - 'PHPUnit_Framework_IncompleteTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTest.php', - 'PHPUnit_Framework_IncompleteTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php', - 'PHPUnit_Framework_IncompleteTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestError.php', - 'PHPUnit_Framework_InvalidCoversTargetError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php', - 'PHPUnit_Framework_InvalidCoversTargetException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php', - 'PHPUnit_Framework_MockObject_BadMethodCallException' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php', - 'PHPUnit_Framework_MockObject_Builder_Identity' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php', - 'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php', - 'PHPUnit_Framework_MockObject_Builder_Match' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php', - 'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php', - 'PHPUnit_Framework_MockObject_Builder_Namespace' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php', - 'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php', - 'PHPUnit_Framework_MockObject_Builder_Stub' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php', - 'PHPUnit_Framework_MockObject_Exception' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php', - 'PHPUnit_Framework_MockObject_Generator' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php', - 'PHPUnit_Framework_MockObject_Invocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php', - 'PHPUnit_Framework_MockObject_InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php', - 'PHPUnit_Framework_MockObject_Invocation_Object' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php', - 'PHPUnit_Framework_MockObject_Invocation_Static' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php', - 'PHPUnit_Framework_MockObject_Invokable' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php', - 'PHPUnit_Framework_MockObject_Matcher' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php', - 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php', - 'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php', - 'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php', - 'PHPUnit_Framework_MockObject_Matcher_Invocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php', - 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php', - 'PHPUnit_Framework_MockObject_Matcher_MethodName' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php', - 'PHPUnit_Framework_MockObject_Matcher_Parameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php', - 'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php', - 'PHPUnit_Framework_MockObject_MockBuilder' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php', - 'PHPUnit_Framework_MockObject_MockObject' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php', - 'PHPUnit_Framework_MockObject_RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php', - 'PHPUnit_Framework_MockObject_Stub' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php', - 'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php', - 'PHPUnit_Framework_MockObject_Stub_Exception' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php', - 'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php', - 'PHPUnit_Framework_MockObject_Stub_Return' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php', - 'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php', - 'PHPUnit_Framework_MockObject_Verifiable' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php', - 'PHPUnit_Framework_OutputError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/OutputError.php', - 'PHPUnit_Framework_RiskyTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTest.php', - 'PHPUnit_Framework_RiskyTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTestError.php', - 'PHPUnit_Framework_SelfDescribing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SelfDescribing.php', - 'PHPUnit_Framework_SkippedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTest.php', - 'PHPUnit_Framework_SkippedTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestCase.php', - 'PHPUnit_Framework_SkippedTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestError.php', - 'PHPUnit_Framework_SkippedTestSuiteError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php', - 'PHPUnit_Framework_SyntheticError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SyntheticError.php', - 'PHPUnit_Framework_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Test.php', - 'PHPUnit_Framework_TestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestCase.php', - 'PHPUnit_Framework_TestFailure' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestFailure.php', - 'PHPUnit_Framework_TestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListener.php', - 'PHPUnit_Framework_TestResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestResult.php', - 'PHPUnit_Framework_TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite.php', - 'PHPUnit_Framework_TestSuite_DataProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php', - 'PHPUnit_Framework_UnintentionallyCoveredCodeError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php', - 'PHPUnit_Framework_Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Warning.php', - 'PHPUnit_Runner_BaseTestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/BaseTestRunner.php', - 'PHPUnit_Runner_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception.php', - 'PHPUnit_Runner_Filter_Factory' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Factory.php', - 'PHPUnit_Runner_Filter_GroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group.php', - 'PHPUnit_Runner_Filter_Group_Exclude' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php', - 'PHPUnit_Runner_Filter_Group_Include' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php', - 'PHPUnit_Runner_Filter_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Test.php', - 'PHPUnit_Runner_StandardTestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php', - 'PHPUnit_Runner_TestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php', - 'PHPUnit_Runner_Version' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Version.php', - 'PHPUnit_TextUI_Command' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command.php', - 'PHPUnit_TextUI_ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ResultPrinter.php', - 'PHPUnit_TextUI_TestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/TestRunner.php', - 'PHPUnit_Util_Blacklist' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Blacklist.php', - 'PHPUnit_Util_Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Configuration.php', - 'PHPUnit_Util_ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ErrorHandler.php', - 'PHPUnit_Util_Fileloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Fileloader.php', - 'PHPUnit_Util_Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php', - 'PHPUnit_Util_Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php', - 'PHPUnit_Util_Getopt' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Getopt.php', - 'PHPUnit_Util_GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php', - 'PHPUnit_Util_InvalidArgumentHelper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php', - 'PHPUnit_Util_Log_JSON' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JSON.php', - 'PHPUnit_Util_Log_JUnit' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JUnit.php', - 'PHPUnit_Util_Log_TAP' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/TAP.php', - 'PHPUnit_Util_PHP' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP.php', - 'PHPUnit_Util_PHP_Default' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/Default.php', - 'PHPUnit_Util_PHP_Windows' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/Windows.php', - 'PHPUnit_Util_Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Printer.php', - 'PHPUnit_Util_Regex' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Regex.php', - 'PHPUnit_Util_String' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/String.php', - 'PHPUnit_Util_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Test.php', - 'PHPUnit_Util_TestDox_NamePrettifier' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php', - 'PHPUnit_Util_TestDox_ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php', - 'PHPUnit_Util_TestDox_ResultPrinter_HTML' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php', - 'PHPUnit_Util_TestDox_ResultPrinter_Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php', - 'PHPUnit_Util_TestSuiteIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestSuiteIterator.php', - 'PHPUnit_Util_Type' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Type.php', - 'PHPUnit_Util_XML' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XML.php', - 'PHP_CodeCoverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage.php', - 'PHP_CodeCoverage_Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php', - 'PHP_CodeCoverage_Driver_HHVM' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php', - 'PHP_CodeCoverage_Driver_PHPDBG' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php', - 'PHP_CodeCoverage_Driver_Xdebug' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php', - 'PHP_CodeCoverage_Exception' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php', - 'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php', - 'PHP_CodeCoverage_Filter' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php', - 'PHP_CodeCoverage_Report_Clover' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php', - 'PHP_CodeCoverage_Report_Crap4j' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php', - 'PHP_CodeCoverage_Report_Factory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php', - 'PHP_CodeCoverage_Report_HTML' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php', - 'PHP_CodeCoverage_Report_HTML_Renderer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php', - 'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php', - 'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php', - 'PHP_CodeCoverage_Report_HTML_Renderer_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php', - 'PHP_CodeCoverage_Report_Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php', - 'PHP_CodeCoverage_Report_Node_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php', - 'PHP_CodeCoverage_Report_Node_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php', - 'PHP_CodeCoverage_Report_Node_Iterator' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php', - 'PHP_CodeCoverage_Report_PHP' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php', - 'PHP_CodeCoverage_Report_Text' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php', - 'PHP_CodeCoverage_Report_XML' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php', - 'PHP_CodeCoverage_Report_XML_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php', - 'PHP_CodeCoverage_Report_XML_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php', - 'PHP_CodeCoverage_Report_XML_File_Coverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php', - 'PHP_CodeCoverage_Report_XML_File_Method' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php', - 'PHP_CodeCoverage_Report_XML_File_Report' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php', - 'PHP_CodeCoverage_Report_XML_File_Unit' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php', - 'PHP_CodeCoverage_Report_XML_Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php', - 'PHP_CodeCoverage_Report_XML_Project' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php', - 'PHP_CodeCoverage_Report_XML_Tests' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php', - 'PHP_CodeCoverage_Report_XML_Totals' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php', - 'PHP_CodeCoverage_Util' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php', - 'PHP_CodeCoverage_Util_InvalidArgumentHelper' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php', - 'PHP_CodeSniffer' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer.php', - 'PHP_CodeSniffer_CLI' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/CLI.php', - 'PHP_CodeSniffer_DocGenerators_Generator' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Generator.php', - 'PHP_CodeSniffer_DocGenerators_HTML' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/HTML.php', - 'PHP_CodeSniffer_DocGenerators_Markdown' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Markdown.php', - 'PHP_CodeSniffer_DocGenerators_Text' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Text.php', - 'PHP_CodeSniffer_Exception' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Exception.php', - 'PHP_CodeSniffer_File' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/File.php', - 'PHP_CodeSniffer_Fixer' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Fixer.php', - 'PHP_CodeSniffer_Report' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Report.php', - 'PHP_CodeSniffer_Reporting' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reporting.php', - 'PHP_CodeSniffer_Reports_Cbf' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Cbf.php', - 'PHP_CodeSniffer_Reports_Checkstyle' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Checkstyle.php', - 'PHP_CodeSniffer_Reports_Csv' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Csv.php', - 'PHP_CodeSniffer_Reports_Diff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Diff.php', - 'PHP_CodeSniffer_Reports_Emacs' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Emacs.php', - 'PHP_CodeSniffer_Reports_Full' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Full.php', - 'PHP_CodeSniffer_Reports_Gitblame' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Gitblame.php', - 'PHP_CodeSniffer_Reports_Hgblame' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Hgblame.php', - 'PHP_CodeSniffer_Reports_Info' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Info.php', - 'PHP_CodeSniffer_Reports_Json' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Json.php', - 'PHP_CodeSniffer_Reports_Junit' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Junit.php', - 'PHP_CodeSniffer_Reports_Notifysend' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Notifysend.php', - 'PHP_CodeSniffer_Reports_Source' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Source.php', - 'PHP_CodeSniffer_Reports_Summary' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Summary.php', - 'PHP_CodeSniffer_Reports_Svnblame' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Svnblame.php', - 'PHP_CodeSniffer_Reports_VersionControl' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/VersionControl.php', - 'PHP_CodeSniffer_Reports_Xml' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Xml.php', - 'PHP_CodeSniffer_Sniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Sniff.php', - 'PHP_CodeSniffer_Standards_AbstractPatternSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractPatternSniff.php', - 'PHP_CodeSniffer_Standards_AbstractScopeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractScopeSniff.php', - 'PHP_CodeSniffer_Standards_AbstractVariableSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractVariableSniff.php', - 'PHP_CodeSniffer_Standards_IncorrectPatternException' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/IncorrectPatternException.php', - 'PHP_CodeSniffer_Tokenizers_CSS' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/CSS.php', - 'PHP_CodeSniffer_Tokenizers_Comment' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/Comment.php', - 'PHP_CodeSniffer_Tokenizers_JS' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/JS.php', - 'PHP_CodeSniffer_Tokenizers_PHP' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/PHP.php', - 'PHP_CodeSniffer_Tokens' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokens.php', - 'PHP_Timer' => __DIR__ . '/..' . '/phpunit/php-timer/src/Timer.php', - 'PHP_Token' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScope' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_TokenWithScopeAndVisibility' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ABSTRACT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AMPERSAND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AND_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ARRAY_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ASYNC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_AWAIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BACKTICK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BAD_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOLEAN_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BOOL_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_BREAK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CALLABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CARET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CASE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CATCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLASS_NAME_CONSTANT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLONE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CLOSE_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COALESCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMA' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_COMPILER_HALT_OFFSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONCAT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONSTANT_ENCAPSED_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CONTINUE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_CURLY_OPEN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DEFAULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DIV_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOC_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_ARROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_DOUBLE_QUOTES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELLIPSIS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ELSEIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EMPTY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENCAPSED_AND_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDDECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDFOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDSWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENDWHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_END_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ENUM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EQUALS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EVAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXCLAMATION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_EXTENDS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FINALLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNCTION' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_FUNC_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GLOBAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GOTO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_HALT_COMPILER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IMPLEMENTS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INCLUDE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INLINE_HTML' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTANCEOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INSTEADOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INTERFACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_INT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ISSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_GREATER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_NOT_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_IS_SMALLER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Includes' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_JOIN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LAMBDA_ARROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LAMBDA_CP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LAMBDA_OP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LINE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LIST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LOGICAL_XOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_METHOD_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MINUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MOD_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_MUL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NAMESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NEW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NS_SEPARATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NULLSAFE_OBJECT_OPERATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_NUM_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OBJECT_OPERATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_ONUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OPEN_TAG_WITH_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PERCENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PIPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PLUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_POW_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRINT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PRIVATE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PROTECTED' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_PUBLIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_QUESTION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_REQUIRE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_RETURN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SEMICOLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SHAPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SPACESHIP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_START_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STATIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_STRING_VARNAME' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SUPER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_SWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_Stream' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream.php', - 'PHP_Token_Stream_CachingFactory' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php', - 'PHP_Token_THROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TILDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRAIT_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TRY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TYPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TYPELIST_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_TYPELIST_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_UNSET_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_USE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_USE_FUNCTION' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_VAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_VARIABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHERE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_ATTRIBUTE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_CATEGORY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_CATEGORY_LABEL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_CHILDREN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_LABEL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_REQUIRED' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_TAG_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_TAG_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XHP_TEXT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_XOR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PHP_Token_YIELD_FROM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', - 'PSR1_Sniffs_Classes_ClassDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Classes/ClassDeclarationSniff.php', - 'PSR1_Sniffs_Files_SideEffectsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php', - 'PSR1_Sniffs_Methods_CamelCapsMethodNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Methods/CamelCapsMethodNameSniff.php', - 'PSR2_Sniffs_Classes_ClassDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/ClassDeclarationSniff.php', - 'PSR2_Sniffs_Classes_PropertyDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/PropertyDeclarationSniff.php', - 'PSR2_Sniffs_ControlStructures_ControlStructureSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ControlStructureSpacingSniff.php', - 'PSR2_Sniffs_ControlStructures_ElseIfDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ElseIfDeclarationSniff.php', - 'PSR2_Sniffs_ControlStructures_SwitchDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/SwitchDeclarationSniff.php', - 'PSR2_Sniffs_Files_ClosingTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/ClosingTagSniff.php', - 'PSR2_Sniffs_Files_EndFileNewlineSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/EndFileNewlineSniff.php', - 'PSR2_Sniffs_Methods_FunctionCallSignatureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionCallSignatureSniff.php', - 'PSR2_Sniffs_Methods_FunctionClosingBraceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionClosingBraceSniff.php', - 'PSR2_Sniffs_Methods_MethodDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/MethodDeclarationSniff.php', - 'PSR2_Sniffs_Namespaces_NamespaceDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/NamespaceDeclarationSniff.php', - 'PSR2_Sniffs_Namespaces_UseDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/UseDeclarationSniff.php', - 'QRcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/qrcode.php', - 'SebastianBergmann\\Comparator\\ArrayComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ArrayComparator.php', - 'SebastianBergmann\\Comparator\\Comparator' => __DIR__ . '/..' . '/sebastian/comparator/src/Comparator.php', - 'SebastianBergmann\\Comparator\\ComparisonFailure' => __DIR__ . '/..' . '/sebastian/comparator/src/ComparisonFailure.php', - 'SebastianBergmann\\Comparator\\DOMNodeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DOMNodeComparator.php', - 'SebastianBergmann\\Comparator\\DateTimeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DateTimeComparator.php', - 'SebastianBergmann\\Comparator\\DoubleComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DoubleComparator.php', - 'SebastianBergmann\\Comparator\\ExceptionComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ExceptionComparator.php', - 'SebastianBergmann\\Comparator\\Factory' => __DIR__ . '/..' . '/sebastian/comparator/src/Factory.php', - 'SebastianBergmann\\Comparator\\MockObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/MockObjectComparator.php', - 'SebastianBergmann\\Comparator\\NumericComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/NumericComparator.php', - 'SebastianBergmann\\Comparator\\ObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ObjectComparator.php', - 'SebastianBergmann\\Comparator\\ResourceComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ResourceComparator.php', - 'SebastianBergmann\\Comparator\\ScalarComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ScalarComparator.php', - 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/SplObjectStorageComparator.php', - 'SebastianBergmann\\Comparator\\TypeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/TypeComparator.php', - 'SebastianBergmann\\Diff\\Chunk' => __DIR__ . '/..' . '/sebastian/diff/src/Chunk.php', - 'SebastianBergmann\\Diff\\Diff' => __DIR__ . '/..' . '/sebastian/diff/src/Diff.php', - 'SebastianBergmann\\Diff\\Differ' => __DIR__ . '/..' . '/sebastian/diff/src/Differ.php', - 'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php', - 'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php', - 'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php', - 'SebastianBergmann\\Diff\\Line' => __DIR__ . '/..' . '/sebastian/diff/src/Line.php', - 'SebastianBergmann\\Diff\\Parser' => __DIR__ . '/..' . '/sebastian/diff/src/Parser.php', - 'SebastianBergmann\\Environment\\Console' => __DIR__ . '/..' . '/sebastian/environment/src/Console.php', - 'SebastianBergmann\\Environment\\Runtime' => __DIR__ . '/..' . '/sebastian/environment/src/Runtime.php', - 'SebastianBergmann\\Exporter\\Exporter' => __DIR__ . '/..' . '/sebastian/exporter/src/Exporter.php', - 'SebastianBergmann\\GlobalState\\Blacklist' => __DIR__ . '/..' . '/sebastian/global-state/src/Blacklist.php', - 'SebastianBergmann\\GlobalState\\CodeExporter' => __DIR__ . '/..' . '/sebastian/global-state/src/CodeExporter.php', - 'SebastianBergmann\\GlobalState\\Exception' => __DIR__ . '/..' . '/sebastian/global-state/src/Exception.php', - 'SebastianBergmann\\GlobalState\\Restorer' => __DIR__ . '/..' . '/sebastian/global-state/src/Restorer.php', - 'SebastianBergmann\\GlobalState\\RuntimeException' => __DIR__ . '/..' . '/sebastian/global-state/src/RuntimeException.php', - 'SebastianBergmann\\GlobalState\\Snapshot' => __DIR__ . '/..' . '/sebastian/global-state/src/Snapshot.php', - 'SebastianBergmann\\RecursionContext\\Context' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Context.php', - 'SebastianBergmann\\RecursionContext\\Exception' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Exception.php', - 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/recursion-context/src/InvalidArgumentException.php', - 'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php', - 'Squiz_Sniffs_Arrays_ArrayBracketSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayBracketSpacingSniff.php', - 'Squiz_Sniffs_Arrays_ArrayDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayDeclarationSniff.php', - 'Squiz_Sniffs_CSS_ClassDefinitionClosingBraceSpaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionClosingBraceSpaceSniff.php', - 'Squiz_Sniffs_CSS_ClassDefinitionNameSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionNameSpacingSniff.php', - 'Squiz_Sniffs_CSS_ClassDefinitionOpeningBraceSpaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionOpeningBraceSpaceSniff.php', - 'Squiz_Sniffs_CSS_ColonSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColonSpacingSniff.php', - 'Squiz_Sniffs_CSS_ColourDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColourDefinitionSniff.php', - 'Squiz_Sniffs_CSS_DisallowMultipleStyleDefinitionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DisallowMultipleStyleDefinitionsSniff.php', - 'Squiz_Sniffs_CSS_DuplicateClassDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateClassDefinitionSniff.php', - 'Squiz_Sniffs_CSS_DuplicateStyleDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateStyleDefinitionSniff.php', - 'Squiz_Sniffs_CSS_EmptyClassDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyClassDefinitionSniff.php', - 'Squiz_Sniffs_CSS_EmptyStyleDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyStyleDefinitionSniff.php', - 'Squiz_Sniffs_CSS_ForbiddenStylesSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ForbiddenStylesSniff.php', - 'Squiz_Sniffs_CSS_IndentationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/IndentationSniff.php', - 'Squiz_Sniffs_CSS_LowercaseStyleDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/LowercaseStyleDefinitionSniff.php', - 'Squiz_Sniffs_CSS_MissingColonSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/MissingColonSniff.php', - 'Squiz_Sniffs_CSS_NamedColoursSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/NamedColoursSniff.php', - 'Squiz_Sniffs_CSS_OpacitySniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/OpacitySniff.php', - 'Squiz_Sniffs_CSS_SemicolonSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/SemicolonSpacingSniff.php', - 'Squiz_Sniffs_CSS_ShorthandSizeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ShorthandSizeSniff.php', - 'Squiz_Sniffs_Classes_ClassDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassDeclarationSniff.php', - 'Squiz_Sniffs_Classes_ClassFileNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassFileNameSniff.php', - 'Squiz_Sniffs_Classes_DuplicatePropertySniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/DuplicatePropertySniff.php', - 'Squiz_Sniffs_Classes_LowercaseClassKeywordsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/LowercaseClassKeywordsSniff.php', - 'Squiz_Sniffs_Classes_SelfMemberReferenceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/SelfMemberReferenceSniff.php', - 'Squiz_Sniffs_Classes_ValidClassNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ValidClassNameSniff.php', - 'Squiz_Sniffs_Commenting_BlockCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/BlockCommentSniff.php', - 'Squiz_Sniffs_Commenting_ClassCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClassCommentSniff.php', - 'Squiz_Sniffs_Commenting_ClosingDeclarationCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClosingDeclarationCommentSniff.php', - 'Squiz_Sniffs_Commenting_DocCommentAlignmentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/DocCommentAlignmentSniff.php', - 'Squiz_Sniffs_Commenting_EmptyCatchCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/EmptyCatchCommentSniff.php', - 'Squiz_Sniffs_Commenting_FileCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FileCommentSniff.php', - 'Squiz_Sniffs_Commenting_FunctionCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentSniff.php', - 'Squiz_Sniffs_Commenting_FunctionCommentThrowTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentThrowTagSniff.php', - 'Squiz_Sniffs_Commenting_InlineCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/InlineCommentSniff.php', - 'Squiz_Sniffs_Commenting_LongConditionClosingCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/LongConditionClosingCommentSniff.php', - 'Squiz_Sniffs_Commenting_PostStatementCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/PostStatementCommentSniff.php', - 'Squiz_Sniffs_Commenting_VariableCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php', - 'Squiz_Sniffs_ControlStructures_ControlSignatureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ControlSignatureSniff.php', - 'Squiz_Sniffs_ControlStructures_ElseIfDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ElseIfDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_ForEachLoopDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForEachLoopDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_ForLoopDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForLoopDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_InlineIfDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/InlineIfDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_LowercaseDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/LowercaseDeclarationSniff.php', - 'Squiz_Sniffs_ControlStructures_SwitchDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/SwitchDeclarationSniff.php', - 'Squiz_Sniffs_Debug_JSLintSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JSLintSniff.php', - 'Squiz_Sniffs_Debug_JavaScriptLintSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JavaScriptLintSniff.php', - 'Squiz_Sniffs_Files_FileExtensionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Files/FileExtensionSniff.php', - 'Squiz_Sniffs_Formatting_OperatorBracketSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Formatting/OperatorBracketSniff.php', - 'Squiz_Sniffs_Functions_FunctionDeclarationArgumentSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationArgumentSpacingSniff.php', - 'Squiz_Sniffs_Functions_FunctionDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationSniff.php', - 'Squiz_Sniffs_Functions_FunctionDuplicateArgumentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDuplicateArgumentSniff.php', - 'Squiz_Sniffs_Functions_GlobalFunctionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/GlobalFunctionSniff.php', - 'Squiz_Sniffs_Functions_LowercaseFunctionKeywordsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/LowercaseFunctionKeywordsSniff.php', - 'Squiz_Sniffs_Functions_MultiLineFunctionDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/MultiLineFunctionDeclarationSniff.php', - 'Squiz_Sniffs_NamingConventions_ValidFunctionNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidFunctionNameSniff.php', - 'Squiz_Sniffs_NamingConventions_ValidVariableNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidVariableNameSniff.php', - 'Squiz_Sniffs_Objects_DisallowObjectStringIndexSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/DisallowObjectStringIndexSniff.php', - 'Squiz_Sniffs_Objects_ObjectInstantiationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectInstantiationSniff.php', - 'Squiz_Sniffs_Objects_ObjectMemberCommaSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectMemberCommaSniff.php', - 'Squiz_Sniffs_Operators_ComparisonOperatorUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ComparisonOperatorUsageSniff.php', - 'Squiz_Sniffs_Operators_IncrementDecrementUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/IncrementDecrementUsageSniff.php', - 'Squiz_Sniffs_Operators_ValidLogicalOperatorsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ValidLogicalOperatorsSniff.php', - 'Squiz_Sniffs_PHP_CommentedOutCodeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/CommentedOutCodeSniff.php', - 'Squiz_Sniffs_PHP_DisallowBooleanStatementSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowBooleanStatementSniff.php', - 'Squiz_Sniffs_PHP_DisallowComparisonAssignmentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowComparisonAssignmentSniff.php', - 'Squiz_Sniffs_PHP_DisallowInlineIfSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowInlineIfSniff.php', - 'Squiz_Sniffs_PHP_DisallowMultipleAssignmentsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowMultipleAssignmentsSniff.php', - 'Squiz_Sniffs_PHP_DisallowObEndFlushSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowObEndFlushSniff.php', - 'Squiz_Sniffs_PHP_DisallowSizeFunctionsInLoopsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowSizeFunctionsInLoopsSniff.php', - 'Squiz_Sniffs_PHP_DiscouragedFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DiscouragedFunctionsSniff.php', - 'Squiz_Sniffs_PHP_EmbeddedPhpSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EmbeddedPhpSniff.php', - 'Squiz_Sniffs_PHP_EvalSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EvalSniff.php', - 'Squiz_Sniffs_PHP_ForbiddenFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/ForbiddenFunctionsSniff.php', - 'Squiz_Sniffs_PHP_GlobalKeywordSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/GlobalKeywordSniff.php', - 'Squiz_Sniffs_PHP_HeredocSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/HeredocSniff.php', - 'Squiz_Sniffs_PHP_InnerFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/InnerFunctionsSniff.php', - 'Squiz_Sniffs_PHP_LowercasePHPFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/LowercasePHPFunctionsSniff.php', - 'Squiz_Sniffs_PHP_NonExecutableCodeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/NonExecutableCodeSniff.php', - 'Squiz_Sniffs_Scope_MemberVarScopeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MemberVarScopeSniff.php', - 'Squiz_Sniffs_Scope_MethodScopeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MethodScopeSniff.php', - 'Squiz_Sniffs_Scope_StaticThisUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/StaticThisUsageSniff.php', - 'Squiz_Sniffs_Strings_ConcatenationSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/ConcatenationSpacingSniff.php', - 'Squiz_Sniffs_Strings_DoubleQuoteUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/DoubleQuoteUsageSniff.php', - 'Squiz_Sniffs_Strings_EchoedStringsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/EchoedStringsSniff.php', - 'Squiz_Sniffs_WhiteSpace_CastSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/CastSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_ControlStructureSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_FunctionClosingBraceSpaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionClosingBraceSpaceSniff.php', - 'Squiz_Sniffs_WhiteSpace_FunctionOpeningBraceSpaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionOpeningBraceSpaceSniff.php', - 'Squiz_Sniffs_WhiteSpace_FunctionSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_LanguageConstructSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LanguageConstructSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_LogicalOperatorSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LogicalOperatorSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_MemberVarSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/MemberVarSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_ObjectOperatorSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ObjectOperatorSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_OperatorSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/OperatorSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_PropertyLabelSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/PropertyLabelSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_ScopeClosingBraceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php', - 'Squiz_Sniffs_WhiteSpace_ScopeKeywordSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeKeywordSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_SemicolonSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SemicolonSpacingSniff.php', - 'Squiz_Sniffs_WhiteSpace_SuperfluousWhitespaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SuperfluousWhitespaceSniff.php', - 'TCPDF' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf.php', - 'TCPDF2DBarcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_barcodes_2d.php', - 'TCPDFBarcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_barcodes_1d.php', - 'TCPDF_COLORS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_colors.php', - 'TCPDF_FILTERS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_filters.php', - 'TCPDF_FONTS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_fonts.php', - 'TCPDF_FONT_DATA' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_font_data.php', - 'TCPDF_IMAGES' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_images.php', - 'TCPDF_IMPORT' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_import.php', - 'TCPDF_PARSER' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_parser.php', - 'TCPDF_STATIC' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_static.php', - 'Text_Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php', - 'Zend_Sniffs_Debug_CodeAnalyzerSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Debug/CodeAnalyzerSniff.php', - 'Zend_Sniffs_Files_ClosingTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Files/ClosingTagSniff.php', - 'Zend_Sniffs_NamingConventions_ValidVariableNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/NamingConventions/ValidVariableNameSniff.php', - ); - - public static function getInitializer(ClassLoader $loader) - { - return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit7033babd32da3410d35a338a5cac8c30::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInit7033babd32da3410d35a338a5cac8c30::$prefixDirsPsr4; - $loader->prefixesPsr0 = ComposerStaticInit7033babd32da3410d35a338a5cac8c30::$prefixesPsr0; - $loader->classMap = ComposerStaticInit7033babd32da3410d35a338a5cac8c30::$classMap; - - }, null, ClassLoader::class); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/include_paths.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/include_paths.php deleted file mode 100644 index fc3fddeb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/composer/include_paths.php +++ /dev/null @@ -1,10 +0,0 @@ -=5.3.0" - }, - "conflict": { - "phpmyadmin/motranslator": "<3.0" - }, - "require-dev": { - "phpunit/php-code-coverage": "~2.0 || ~3.0", - "phpunit/phpunit": "~4.8 || ~5.1" - }, - "suggest": { - "phpmyadmin/motranslator": "Translate messages to your favorite locale" - }, - "time": "2017-02-20 07:22:58", - "bin": [ - "bin/highlight-query", - "bin/lint-query" - ], - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "PhpMyAdmin\\SqlParser\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "description": "A validating SQL lexer and parser with a focus on MySQL dialect.", - "homepage": "https://github.com/phpmyadmin/sql-parser", - "keywords": [ - "analysis", - "lexer", - "parser", - "sql" - ] - }, - { - "name": "psr/log", - "version": "1.0.2", - "version_normalized": "1.0.2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2016-10-10 12:19:37", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ] - }, - { - "name": "psr/cache", - "version": "1.0.1", - "version_normalized": "1.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2016-08-06 20:24:11", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ] - }, - { - "name": "symfony/cache", - "version": "v3.2.6", - "version_normalized": "3.2.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "38ead350d7c27b08b8da9401cbdbea8121f929a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/38ead350d7c27b08b8da9401cbdbea8121f929a4", - "reference": "38ead350d7c27b08b8da9401cbdbea8121f929a4", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/cache": "~1.0", - "psr/log": "~1.0" - }, - "provide": { - "psr/cache-implementation": "1.0" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/cache": "~1.6", - "doctrine/dbal": "~2.4", - "predis/predis": "~1.0" - }, - "suggest": { - "symfony/polyfill-apcu": "For using ApcuAdapter on HHVM" - }, - "time": "2017-03-08 12:16:26", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Cache\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony implementation of PSR-6", - "homepage": "https://symfony.com", - "keywords": [ - "caching", - "psr6" - ] - }, - { - "name": "symfony/expression-language", - "version": "v3.2.6", - "version_normalized": "3.2.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/expression-language.git", - "reference": "8f7d3a35015831dc661713f403b0a0dd34a51baf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/8f7d3a35015831dc661713f403b0a0dd34a51baf", - "reference": "8f7d3a35015831dc661713f403b0a0dd34a51baf", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/cache": "~3.1" - }, - "time": "2017-02-24 13:58:52", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\ExpressionLanguage\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony ExpressionLanguage Component", - "homepage": "https://symfony.com" - }, - { - "name": "phpmyadmin/motranslator", - "version": "3.0", - "version_normalized": "3.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpmyadmin/motranslator.git", - "reference": "b5d5f9a0c1f6ed1127e7b766b3b506766becbb89" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/motranslator/zipball/b5d5f9a0c1f6ed1127e7b766b3b506766becbb89", - "reference": "b5d5f9a0c1f6ed1127e7b766b3b506766becbb89", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "symfony/expression-language": "^3.1 || ^2.8" - }, - "require-dev": { - "phpunit/phpunit": "~4.8 || ~5.1" - }, - "time": "2017-01-23 11:21:12", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "PhpMyAdmin\\MoTranslator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "description": "Translation API for PHP using Gettext MO files", - "homepage": "https://github.com/phpmyadmin/motranslator", - "keywords": [ - "gettext", - "i18n", - "mo", - "translator" - ] - }, - { - "name": "phpmyadmin/shapefile", - "version": "2.0", - "version_normalized": "2.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpmyadmin/shapefile.git", - "reference": "ee3413bda4cfc5683f088c2f232aab5b27339781" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/shapefile/zipball/ee3413bda4cfc5683f088c2f232aab5b27339781", - "reference": "ee3413bda4cfc5683f088c2f232aab5b27339781", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~5.2 || ~4.8" - }, - "suggest": { - "ext-dbase": "For dbf files parsing" - }, - "time": "2017-01-23 11:52:35", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "PhpMyAdmin\\ShapeFile\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+" - ], - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "description": "ESRI ShapeFile library for PHP", - "homepage": "https://github.com/phpmyadmin/shapefile", - "keywords": [ - "ESRI", - "Shapefile", - "dbf", - "geo", - "geospatial", - "shape", - "shp" - ] - }, - { - "name": "tecnickcom/tcpdf", - "version": "6.2.12", - "version_normalized": "6.2.12.0", - "source": { - "type": "git", - "url": "https://github.com/tecnickcom/TCPDF.git", - "reference": "2f732eaa91b5665274689b1d40b285a7bacdc37f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/2f732eaa91b5665274689b1d40b285a7bacdc37f", - "reference": "2f732eaa91b5665274689b1d40b285a7bacdc37f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2015-09-12 10:08:34", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "fonts", - "config", - "include", - "tcpdf.php", - "tcpdf_parser.php", - "tcpdf_import.php", - "tcpdf_barcodes_1d.php", - "tcpdf_barcodes_2d.php", - "include/tcpdf_colors.php", - "include/tcpdf_filters.php", - "include/tcpdf_font_data.php", - "include/tcpdf_fonts.php", - "include/tcpdf_images.php", - "include/tcpdf_static.php", - "include/barcodes/datamatrix.php", - "include/barcodes/pdf417.php", - "include/barcodes/qrcode.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPLv3" - ], - "authors": [ - { - "name": "Nicola Asuni", - "email": "info@tecnick.com", - "homepage": "http://nicolaasuni.tecnick.com" - } - ], - "description": "TCPDF is a PHP class for generating PDF documents and barcodes.", - "homepage": "http://www.tcpdf.org/", - "keywords": [ - "PDFD32000-2008", - "TCPDF", - "barcodes", - "datamatrix", - "pdf", - "pdf417", - "qrcode" - ] - }, - { - "name": "phpseclib/phpseclib", - "version": "2.0.4", - "version_normalized": "2.0.4.0", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/ab8028c93c03cc8d9c824efa75dc94f1db2369bf", - "reference": "ab8028c93c03cc8d9c824efa75dc94f1db2369bf", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "~4.0", - "sami/sami": "~2.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "time": "2016-10-04 00:57:04", - "type": "library", - "installation-source": "dist", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ] - }, - { - "name": "google/recaptcha", - "version": "1.1.3", - "version_normalized": "1.1.3.0", - "source": { - "type": "git", - "url": "https://github.com/google/recaptcha.git", - "reference": "5a56d15ca10a7b75158178752b2ad8f755eb4f78" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/google/recaptcha/zipball/5a56d15ca10a7b75158178752b2ad8f755eb4f78", - "reference": "5a56d15ca10a7b75158178752b2ad8f755eb4f78", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.8" - }, - "time": "2017-03-09 18:44:34", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "ReCaptcha\\": "src/ReCaptcha" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Client library for reCAPTCHA, a free service that protect websites from spam and abuse.", - "homepage": "http://www.google.com/recaptcha/", - "keywords": [ - "Abuse", - "captcha", - "recaptcha", - "spam" - ] - }, - { - "name": "symfony/yaml", - "version": "v3.2.6", - "version_normalized": "3.2.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "093e416ad096355149e265ea2e4cc1f9ee40ab1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/093e416ad096355149e265ea2e4cc1f9ee40ab1a", - "reference": "093e416ad096355149e265ea2e4cc1f9ee40ab1a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "symfony/console": "~2.8|~3.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "time": "2017-03-07 16:47:02", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/stopwatch", - "version": "v3.2.6", - "version_normalized": "3.2.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "c5ee0f8650c84b4d36a5f76b3b504233feaabf75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/c5ee0f8650c84b4d36a5f76b3b504233feaabf75", - "reference": "c5ee0f8650c84b4d36a5f76b3b504233feaabf75", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "time": "2017-02-18 17:28:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.3.0", - "version_normalized": "1.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "time": "2016-11-14 01:06:16", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ] - }, - { - "name": "symfony/debug", - "version": "v3.2.6", - "version_normalized": "3.2.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "b90c9f91ad8ac37d9f114e369042d3226b34dc1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/b90c9f91ad8ac37d9f114e369042d3226b34dc1a", - "reference": "b90c9f91ad8ac37d9f114e369042d3226b34dc1a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/class-loader": "~2.8|~3.0", - "symfony/http-kernel": "~2.8|~3.0" - }, - "time": "2017-02-18 17:28:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Debug Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/console", - "version": "v3.2.6", - "version_normalized": "3.2.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "28fb243a2b5727774ca309ec2d92da240f1af0dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/28fb243a2b5727774ca309ec2d92da240f1af0dd", - "reference": "28fb243a2b5727774ca309ec2d92da240f1af0dd", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/debug": "~2.8|~3.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.8|~3.0", - "symfony/filesystem": "~2.8|~3.0", - "symfony/process": "~2.8|~3.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/filesystem": "", - "symfony/process": "" - }, - "time": "2017-03-06 19:30:27", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/filesystem", - "version": "v3.2.6", - "version_normalized": "3.2.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "bc0f17bed914df2cceb989972c3b996043c4da4a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/bc0f17bed914df2cceb989972c3b996043c4da4a", - "reference": "bc0f17bed914df2cceb989972c3b996043c4da4a", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "time": "2017-03-06 19:30:27", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/config", - "version": "v3.2.6", - "version_normalized": "3.2.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "741d6d4cd1414d67d48eb71aba6072b46ba740c2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/741d6d4cd1414d67d48eb71aba6072b46ba740c2", - "reference": "741d6d4cd1414d67d48eb71aba6072b46ba740c2", - "shasum": "" - }, - "require": { - "php": ">=5.5.9", - "symfony/filesystem": "~2.8|~3.0" - }, - "require-dev": { - "symfony/yaml": "~3.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "time": "2017-03-01 18:18:25", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.8.18", - "version_normalized": "2.8.18.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bb4ec47e8e109c1c1172145732d0aa468d967cd0", - "reference": "bb4ec47e8e109c1c1172145732d0aa468d967cd0", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^2.0.5|~3.0.0", - "symfony/dependency-injection": "~2.6|~3.0.0", - "symfony/expression-language": "~2.6|~3.0.0", - "symfony/stopwatch": "~2.3|~3.0.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "time": "2017-02-21 08:33:48", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com" - }, - { - "name": "guzzle/guzzle", - "version": "v3.9.3", - "version_normalized": "3.9.3.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle3.git", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.3", - "symfony/event-dispatcher": "~2.1" - }, - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" - }, - "require-dev": { - "doctrine/cache": "~1.3", - "monolog/monolog": "~1.0", - "phpunit/phpunit": "3.7.*", - "psr/log": "~1.0", - "symfony/class-loader": "~2.1", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3" - }, - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." - }, - "time": "2015-03-18 18:23:50", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.9-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Guzzle": "src/", - "Guzzle\\Tests": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" - } - ], - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "abandoned": "guzzlehttp/guzzle" - }, - { - "name": "satooshi/php-coveralls", - "version": "v1.0.1", - "version_normalized": "1.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/satooshi/php-coveralls.git", - "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/da51d304fe8622bf9a6da39a8446e7afd432115c", - "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-simplexml": "*", - "guzzle/guzzle": "^2.8|^3.0", - "php": ">=5.3.3", - "psr/log": "^1.0", - "symfony/config": "^2.1|^3.0", - "symfony/console": "^2.1|^3.0", - "symfony/stopwatch": "^2.0|^3.0", - "symfony/yaml": "^2.0|^3.0" - }, - "suggest": { - "symfony/http-kernel": "Allows Symfony integration" - }, - "time": "2016-01-20 17:35:46", - "bin": [ - "bin/coveralls" - ], - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Satooshi\\": "src/Satooshi/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kitamura Satoshi", - "email": "with.no.parachute@gmail.com", - "homepage": "https://www.facebook.com/satooshi.jp" - } - ], - "description": "PHP client library for Coveralls API", - "homepage": "https://github.com/satooshi/php-coveralls", - "keywords": [ - "ci", - "coverage", - "github", - "test" - ] - }, - { - "name": "symfony/process", - "version": "v3.2.6", - "version_normalized": "3.2.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "68bfa8c83f24c0ac04ea7193bcdcda4519f41892" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/68bfa8c83f24c0ac04ea7193bcdcda4519f41892", - "reference": "68bfa8c83f24c0ac04ea7193bcdcda4519f41892", - "shasum": "" - }, - "require": { - "php": ">=5.5.9" - }, - "time": "2017-03-04 12:23:14", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com" - }, - { - "name": "gitonomy/gitlib", - "version": "v0.1.8", - "version_normalized": "0.1.8.0", - "source": { - "type": "git", - "url": "https://github.com/gitonomy/gitlib.git", - "reference": "f575b8f7da917ade7890c6aa705fa22545690389" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/f575b8f7da917ade7890c6aa705fa22545690389", - "reference": "f575b8f7da917ade7890c6aa705fa22545690389", - "shasum": "" - }, - "require": { - "symfony/process": "^2.3|^3.0" - }, - "require-dev": { - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Add some log" - }, - "time": "2015-12-01 22:25:57", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Gitonomy\\Git\\": "src/Gitonomy/Git/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alexandre Salomé", - "email": "alexandre.salome@gmail.com", - "homepage": "http://alexandre-salome.fr" - }, - { - "name": "Julien DIDIER", - "email": "genzo.wm@gmail.com", - "homepage": "http://www.jdidier.net" - } - ], - "description": "Library for accessing git", - "homepage": "http://gitonomy.com" - }, - { - "name": "codacy/coverage", - "version": "dev-master", - "version_normalized": "9999999-dev", - "source": { - "type": "git", - "url": "https://github.com/codacy/php-codacy-coverage.git", - "reference": "c0b3a02883bd80f0955c2478193304ddbef23e56" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/codacy/php-codacy-coverage/zipball/c0b3a02883bd80f0955c2478193304ddbef23e56", - "reference": "c0b3a02883bd80f0955c2478193304ddbef23e56", - "shasum": "" - }, - "require": { - "gitonomy/gitlib": "~0.1", - "php": ">=5.3.3", - "symfony/console": "~2.5|~3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.5" - }, - "time": "2017-03-09 18:29:51", - "bin": [ - "bin/codacycoverage" - ], - "type": "library", - "installation-source": "source", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jakob Pupke", - "email": "jakob.pupke@gmail.com" - } - ], - "description": "Sends PHP test coverage information to Codacy.", - "homepage": "https://github.com/codacy/php-codacy-coverage" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.5", - "version_normalized": "1.0.5.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "time": "2016-10-03 07:41:43", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "version_normalized": "1.2.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "time": "2016-06-17 09:04:28", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ] - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "version_normalized": "1.4.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "time": "2015-12-08 07:14:41", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ] - }, - { - "name": "sebastian/comparator", - "version": "1.2.4", - "version_normalized": "1.2.4.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2 || ~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "time": "2017-01-29 09:50:25", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ] - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "version_normalized": "1.0.6.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "time": "2015-06-21 13:59:46", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "version_normalized": "1.1.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "time": "2015-10-12 03:26:01", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ] - }, - { - "name": "sebastian/environment", - "version": "1.3.8", - "version_normalized": "1.3.8.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0" - }, - "time": "2016-08-18 05:49:44", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ] - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "version_normalized": "1.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2015-06-21 13:50:34", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ] - }, - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "version_normalized": "1.0.5.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "time": "2015-06-14 21:17:01", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ] - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "version_normalized": "2.3.8.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "time": "2015-10-02 06:51:40", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ] - }, - { - "name": "phpunit/php-timer", - "version": "1.0.9", - "version_normalized": "1.0.9.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" - }, - "time": "2017-02-26 11:10:40", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ] - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.2", - "version_normalized": "1.4.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "time": "2016-10-03 07:40:28", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ] - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.11", - "version_normalized": "1.4.11.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", - "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "time": "2017-02-27 10:12:30", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ] - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "version_normalized": "2.2.4.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "time": "2015-10-06 15:47:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ] - }, - { - "name": "webmozart/assert", - "version": "1.2.0", - "version_normalized": "1.2.0.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "time": "2016-11-23 20:04:58", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ] - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.6" - }, - "time": "2015-12-27 11:43:31", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ] - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2.1", - "version_normalized": "0.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "time": "2016-11-25 06:54:22", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ] - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.1", - "version_normalized": "3.1.1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "time": "2016-09-30 07:12:33", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock." - }, - { - "name": "phpspec/prophecy", - "version": "v1.7.0", - "version_normalized": "1.7.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/93d39f1f7f9326d746203c7c056f300f7f126073", - "reference": "93d39f1f7f9326d746203c7c056f300f7f126073", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - "time": "2017-03-02 20:05:34", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ] - }, - { - "name": "phpunit/phpunit", - "version": "4.8.35", - "version_normalized": "4.8.35.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/791b1a67c25af50e230f841ee7a9c6eba507dc87", - "reference": "791b1a67c25af50e230f841ee7a9c6eba507dc87", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "^1.3.1", - "phpunit/php-code-coverage": "~2.1", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.2.2", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.3", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "time": "2017-02-06 05:18:07", - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ] - }, - { - "name": "phpunit/phpunit-selenium", - "version": "1.4.2", - "version_normalized": "1.4.2.0", - "source": { - "type": "git", - "url": "https://github.com/giorgiosironi/phpunit-selenium.git", - "reference": "c84dd7ca214563868ce216123b7ae9c792beb262" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/giorgiosironi/phpunit-selenium/zipball/c84dd7ca214563868ce216123b7ae9c792beb262", - "reference": "c84dd7ca214563868ce216123b7ae9c792beb262", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-dom": "*", - "php": ">=5.3.3", - "phpunit/phpunit": "~3.7|~4.0", - "sebastian/comparator": "~1.0" - }, - "time": "2014-11-02 09:23:27", - "type": "library", - "installation-source": "dist", - "autoload": { - "classmap": [ - "PHPUnit/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - }, - { - "name": "Giorgio Sironi", - "email": "info@giorgiosironi.com", - "role": "developer" - } - ], - "description": "Selenium Server integration for PHPUnit", - "homepage": "http://www.phpunit.de/", - "keywords": [ - "selenium", - "testing", - "xunit" - ] - }, - { - "name": "squizlabs/php_codesniffer", - "version": "2.8.1", - "version_normalized": "2.8.1.0", - "source": { - "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "d7cf0d894e8aa4c73712ee4a331cc1eaa37cdc7d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/d7cf0d894e8aa4c73712ee4a331cc1eaa37cdc7d", - "reference": "d7cf0d894e8aa4c73712ee4a331cc1eaa37cdc7d", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "time": "2017-03-01 22:17:45", - "bin": [ - "scripts/phpcs", - "scripts/phpcbf" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "classmap": [ - "CodeSniffer.php", - "CodeSniffer/CLI.php", - "CodeSniffer/Exception.php", - "CodeSniffer/File.php", - "CodeSniffer/Fixer.php", - "CodeSniffer/Report.php", - "CodeSniffer/Reporting.php", - "CodeSniffer/Sniff.php", - "CodeSniffer/Tokens.php", - "CodeSniffer/Reports/", - "CodeSniffer/Tokenizers/", - "CodeSniffer/DocGenerators/", - "CodeSniffer/Standards/AbstractPatternSniff.php", - "CodeSniffer/Standards/AbstractScopeSniff.php", - "CodeSniffer/Standards/AbstractVariableSniff.php", - "CodeSniffer/Standards/IncorrectPatternException.php", - "CodeSniffer/Standards/Generic/Sniffs/", - "CodeSniffer/Standards/MySource/Sniffs/", - "CodeSniffer/Standards/PEAR/Sniffs/", - "CodeSniffer/Standards/PSR1/Sniffs/", - "CodeSniffer/Standards/PSR2/Sniffs/", - "CodeSniffer/Standards/Squiz/Sniffs/", - "CodeSniffer/Standards/Zend/Sniffs/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "lead" - } - ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "http://www.squizlabs.com/php-codesniffer", - "keywords": [ - "phpcs", - "standards" - ] - }, - { - "name": "phpmyadmin/coding-standard", - "version": "0.2", - "version_normalized": "0.2.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpmyadmin/coding-standard.git", - "reference": "4736e6d8e29c2d7a8e86ecea78445e4aa13a8076" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/coding-standard/zipball/4736e6d8e29c2d7a8e86ecea78445e4aa13a8076", - "reference": "4736e6d8e29c2d7a8e86ecea78445e4aa13a8076", - "shasum": "" - }, - "require": { - "squizlabs/php_codesniffer": "~2.0" - }, - "time": "2016-04-19 14:41:23", - "type": "library", - "installation-source": "dist", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "description": "phpMyAdmin PHP CodeSniffer Coding Standard", - "keywords": [ - "codesniffer", - "phpcs", - "phpmyadmin" - ] - } -] diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.scrutinizer.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.scrutinizer.yml deleted file mode 100644 index aad5e403..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.scrutinizer.yml +++ /dev/null @@ -1,46 +0,0 @@ -before_commands: - - "composer install --prefer-source" - -tools: - external_code_coverage: - timeout: 600 - php_code_coverage: - enabled: true - test_command: ./vendor/bin/phpunit - php_code_sniffer: - enabled: true - config: - standard: PSR2 - filter: - paths: ["src/*", "tests/*"] - php_cpd: - enabled: true - excluded_dirs: ["build/*", "tests", "vendor"] - php_cs_fixer: - enabled: true - config: - level: all - filter: - paths: ["src/*", "tests/*"] - php_loc: - enabled: true - excluded_dirs: ["build", "tests", "vendor"] - php_mess_detector: - enabled: true - config: - ruleset: phpmd.xml.dist - design_rules: { eval_expression: false } - filter: - paths: ["src/*"] - php_pdepend: - enabled: true - excluded_dirs: ["build", "tests", "vendor"] - php_analyzer: - enabled: true - filter: - paths: ["src/*", "tests/*"] - php_hhvm: - enabled: true - filter: - paths: ["src/*", "tests/*"] - sensiolabs_security_checker: true diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.travis.install.sh b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.travis.install.sh deleted file mode 100755 index 2819188c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.travis.install.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -set -x -if [ "$TRAVIS_PHP_VERSION" = 'hhvm' ] || [ "$TRAVIS_PHP_VERSION" = 'hhvm-nightly' ] ; then - curl -sS https://getcomposer.org/installer > composer-installer.php - hhvm composer-installer.php - hhvm -v ResourceLimit.SocketDefaultTimeout=30 -v Http.SlowQueryThreshold=30000 composer.phar update --prefer-source -elif [ "$TRAVIS_PHP_VERSION" = '5.3.3' ] ; then - composer self-update - composer update --prefer-source --no-dev - composer dump-autoload -else - composer self-update - composer update --prefer-source -fi diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.travis.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.travis.yml deleted file mode 100644 index 7f1ec5f9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: php - -php: - - 5.3.3 - - 5.3 - - 5.4 - - 5.5 - - 5.6 - - hhvm - -before_script: - - ./.travis.install.sh - - if [ $TRAVIS_PHP_VERSION = '5.6' ]; then PHPUNIT_FLAGS="--coverage-clover coverage.clover"; else PHPUNIT_FLAGS=""; fi - -script: - - if [ $TRAVIS_PHP_VERSION = '5.3.3' ]; then phpunit; fi - - if [ $TRAVIS_PHP_VERSION != '5.3.3' ]; then ./vendor/bin/phpunit $PHPUNIT_FLAGS; fi - - if [ $TRAVIS_PHP_VERSION != '5.3.3' ]; then ./vendor/bin/phpcs --standard=PSR2 ./src/ ./tests/; fi - - if [[ $TRAVIS_PHP_VERSION != '5.3.3' && $TRAVIS_PHP_VERSION != '5.4.29' && $TRAVIS_PHP_VERSION != '5.5.13' ]]; then php -n ./vendor/bin/athletic -p ./tests/DoctrineTest/InstantiatorPerformance/ -f GroupedFormatter; fi - -after_script: - - if [ $TRAVIS_PHP_VERSION = '5.6' ]; then wget https://scrutinizer-ci.com/ocular.phar; php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/CONTRIBUTING.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/CONTRIBUTING.md deleted file mode 100644 index 75b84b2a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/CONTRIBUTING.md +++ /dev/null @@ -1,35 +0,0 @@ -# Contributing - - * Coding standard for the project is [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) - * The project will follow strict [object calisthenics](http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php) - * Any contribution must provide tests for additional introduced conditions - * Any un-confirmed issue needs a failing test case before being accepted - * Pull requests must be sent from a new hotfix/feature branch, not from `master`. - -## Installation - -To install the project and run the tests, you need to clone it first: - -```sh -$ git clone git://github.com/doctrine/instantiator.git -``` - -You will then need to run a composer installation: - -```sh -$ cd Instantiator -$ curl -s https://getcomposer.org/installer | php -$ php composer.phar update -``` - -## Testing - -The PHPUnit version to be used is the one installed as a dev- dependency via composer: - -```sh -$ ./vendor/bin/phpunit -``` - -Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement -won't be merged. - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/LICENSE b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/LICENSE deleted file mode 100644 index 4d983d1a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014 Doctrine Project - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/README.md deleted file mode 100644 index 393ec7ca..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/README.md +++ /dev/null @@ -1,40 +0,0 @@ -# Instantiator - -This library provides a way of avoiding usage of constructors when instantiating PHP classes. - -[![Build Status](https://travis-ci.org/doctrine/instantiator.svg?branch=master)](https://travis-ci.org/doctrine/instantiator) -[![Code Coverage](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master) -[![Dependency Status](https://www.versioneye.com/package/php--doctrine--instantiator/badge.svg)](https://www.versioneye.com/package/php--doctrine--instantiator) -[![HHVM Status](http://hhvm.h4cc.de/badge/doctrine/instantiator.png)](http://hhvm.h4cc.de/package/doctrine/instantiator) - -[![Latest Stable Version](https://poser.pugx.org/doctrine/instantiator/v/stable.png)](https://packagist.org/packages/doctrine/instantiator) -[![Latest Unstable Version](https://poser.pugx.org/doctrine/instantiator/v/unstable.png)](https://packagist.org/packages/doctrine/instantiator) - -## Installation - -The suggested installation method is via [composer](https://getcomposer.org/): - -```sh -php composer.phar require "doctrine/instantiator:~1.0.3" -``` - -## Usage - -The instantiator is able to create new instances of any class without using the constructor or any API of the class -itself: - -```php -$instantiator = new \Doctrine\Instantiator\Instantiator(); - -$instance = $instantiator->instantiate('My\\ClassName\\Here'); -``` - -## Contributing - -Please read the [CONTRIBUTING.md](CONTRIBUTING.md) contents if you wish to help out! - -## Credits - -This library was migrated from [ocramius/instantiator](https://github.com/Ocramius/Instantiator), which -has been donated to the doctrine organization, and which is now deprecated in favour of this package. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/composer.json deleted file mode 100644 index 4823890b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/composer.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "doctrine/instantiator", - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "type": "library", - "license": "MIT", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "instantiate", - "constructor" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "ext-phar": "*", - "ext-pdo": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0", - "athletic/athletic": "~0.1.8" - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "autoload-dev": { - "psr-0": { - "DoctrineTest\\InstantiatorPerformance\\": "tests", - "DoctrineTest\\InstantiatorTest\\": "tests", - "DoctrineTest\\InstantiatorTestAsset\\": "tests" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/phpmd.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/phpmd.xml.dist deleted file mode 100644 index 82541056..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/phpmd.xml.dist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/phpunit.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/phpunit.xml.dist deleted file mode 100644 index 0a8d5709..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/phpunit.xml.dist +++ /dev/null @@ -1,22 +0,0 @@ - - - - ./tests/DoctrineTest/InstantiatorTest - - - - ./src - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php deleted file mode 100644 index 3065375a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php +++ /dev/null @@ -1,29 +0,0 @@ -. - */ - -namespace Doctrine\Instantiator\Exception; - -/** - * Base exception marker interface for the instantiator component - * - * @author Marco Pivetta - */ -interface ExceptionInterface -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php deleted file mode 100644 index ea8d28c5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,62 +0,0 @@ -. - */ - -namespace Doctrine\Instantiator\Exception; - -use InvalidArgumentException as BaseInvalidArgumentException; -use ReflectionClass; - -/** - * Exception for invalid arguments provided to the instantiator - * - * @author Marco Pivetta - */ -class InvalidArgumentException extends BaseInvalidArgumentException implements ExceptionInterface -{ - /** - * @param string $className - * - * @return self - */ - public static function fromNonExistingClass($className) - { - if (interface_exists($className)) { - return new self(sprintf('The provided type "%s" is an interface, and can not be instantiated', $className)); - } - - if (PHP_VERSION_ID >= 50400 && trait_exists($className)) { - return new self(sprintf('The provided type "%s" is a trait, and can not be instantiated', $className)); - } - - return new self(sprintf('The provided class "%s" does not exist', $className)); - } - - /** - * @param ReflectionClass $reflectionClass - * - * @return self - */ - public static function fromAbstractClass(ReflectionClass $reflectionClass) - { - return new self(sprintf( - 'The provided class "%s" is abstract, and can not be instantiated', - $reflectionClass->getName() - )); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php deleted file mode 100644 index 1681e56e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php +++ /dev/null @@ -1,79 +0,0 @@ -. - */ - -namespace Doctrine\Instantiator\Exception; - -use Exception; -use ReflectionClass; -use UnexpectedValueException as BaseUnexpectedValueException; - -/** - * Exception for given parameters causing invalid/unexpected state on instantiation - * - * @author Marco Pivetta - */ -class UnexpectedValueException extends BaseUnexpectedValueException implements ExceptionInterface -{ - /** - * @param ReflectionClass $reflectionClass - * @param Exception $exception - * - * @return self - */ - public static function fromSerializationTriggeredException(ReflectionClass $reflectionClass, Exception $exception) - { - return new self( - sprintf( - 'An exception was raised while trying to instantiate an instance of "%s" via un-serialization', - $reflectionClass->getName() - ), - 0, - $exception - ); - } - - /** - * @param ReflectionClass $reflectionClass - * @param string $errorString - * @param int $errorCode - * @param string $errorFile - * @param int $errorLine - * - * @return UnexpectedValueException - */ - public static function fromUncleanUnSerialization( - ReflectionClass $reflectionClass, - $errorString, - $errorCode, - $errorFile, - $errorLine - ) { - return new self( - sprintf( - 'Could not produce an instance of "%s" via un-serialization, since an error was triggered ' - . 'in file "%s" at line "%d"', - $reflectionClass->getName(), - $errorFile, - $errorLine - ), - 0, - new Exception($errorString, $errorCode) - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php deleted file mode 100644 index 6d5b3b65..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php +++ /dev/null @@ -1,273 +0,0 @@ -. - */ - -namespace Doctrine\Instantiator; - -use Closure; -use Doctrine\Instantiator\Exception\InvalidArgumentException; -use Doctrine\Instantiator\Exception\UnexpectedValueException; -use Exception; -use ReflectionClass; - -/** - * {@inheritDoc} - * - * @author Marco Pivetta - */ -final class Instantiator implements InstantiatorInterface -{ - /** - * Markers used internally by PHP to define whether {@see \unserialize} should invoke - * the method {@see \Serializable::unserialize()} when dealing with classes implementing - * the {@see \Serializable} interface. - */ - const SERIALIZATION_FORMAT_USE_UNSERIALIZER = 'C'; - const SERIALIZATION_FORMAT_AVOID_UNSERIALIZER = 'O'; - - /** - * @var \Closure[] of {@see \Closure} instances used to instantiate specific classes - */ - private static $cachedInstantiators = array(); - - /** - * @var object[] of objects that can directly be cloned - */ - private static $cachedCloneables = array(); - - /** - * {@inheritDoc} - */ - public function instantiate($className) - { - if (isset(self::$cachedCloneables[$className])) { - return clone self::$cachedCloneables[$className]; - } - - if (isset(self::$cachedInstantiators[$className])) { - $factory = self::$cachedInstantiators[$className]; - - return $factory(); - } - - return $this->buildAndCacheFromFactory($className); - } - - /** - * Builds the requested object and caches it in static properties for performance - * - * @param string $className - * - * @return object - */ - private function buildAndCacheFromFactory($className) - { - $factory = self::$cachedInstantiators[$className] = $this->buildFactory($className); - $instance = $factory(); - - if ($this->isSafeToClone(new ReflectionClass($instance))) { - self::$cachedCloneables[$className] = clone $instance; - } - - return $instance; - } - - /** - * Builds a {@see \Closure} capable of instantiating the given $className without - * invoking its constructor. - * - * @param string $className - * - * @return Closure - */ - private function buildFactory($className) - { - $reflectionClass = $this->getReflectionClass($className); - - if ($this->isInstantiableViaReflection($reflectionClass)) { - return function () use ($reflectionClass) { - return $reflectionClass->newInstanceWithoutConstructor(); - }; - } - - $serializedString = sprintf( - '%s:%d:"%s":0:{}', - $this->getSerializationFormat($reflectionClass), - strlen($className), - $className - ); - - $this->checkIfUnSerializationIsSupported($reflectionClass, $serializedString); - - return function () use ($serializedString) { - return unserialize($serializedString); - }; - } - - /** - * @param string $className - * - * @return ReflectionClass - * - * @throws InvalidArgumentException - */ - private function getReflectionClass($className) - { - if (! class_exists($className)) { - throw InvalidArgumentException::fromNonExistingClass($className); - } - - $reflection = new ReflectionClass($className); - - if ($reflection->isAbstract()) { - throw InvalidArgumentException::fromAbstractClass($reflection); - } - - return $reflection; - } - - /** - * @param ReflectionClass $reflectionClass - * @param string $serializedString - * - * @throws UnexpectedValueException - * - * @return void - */ - private function checkIfUnSerializationIsSupported(ReflectionClass $reflectionClass, $serializedString) - { - set_error_handler(function ($code, $message, $file, $line) use ($reflectionClass, & $error) { - $error = UnexpectedValueException::fromUncleanUnSerialization( - $reflectionClass, - $message, - $code, - $file, - $line - ); - }); - - $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString); - - restore_error_handler(); - - if ($error) { - throw $error; - } - } - - /** - * @param ReflectionClass $reflectionClass - * @param string $serializedString - * - * @throws UnexpectedValueException - * - * @return void - */ - private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, $serializedString) - { - try { - unserialize($serializedString); - } catch (Exception $exception) { - restore_error_handler(); - - throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception); - } - } - - /** - * @param ReflectionClass $reflectionClass - * - * @return bool - */ - private function isInstantiableViaReflection(ReflectionClass $reflectionClass) - { - if (\PHP_VERSION_ID >= 50600) { - return ! ($this->hasInternalAncestors($reflectionClass) && $reflectionClass->isFinal()); - } - - return \PHP_VERSION_ID >= 50400 && ! $this->hasInternalAncestors($reflectionClass); - } - - /** - * Verifies whether the given class is to be considered internal - * - * @param ReflectionClass $reflectionClass - * - * @return bool - */ - private function hasInternalAncestors(ReflectionClass $reflectionClass) - { - do { - if ($reflectionClass->isInternal()) { - return true; - } - } while ($reflectionClass = $reflectionClass->getParentClass()); - - return false; - } - - /** - * Verifies if the given PHP version implements the `Serializable` interface serialization - * with an incompatible serialization format. If that's the case, use serialization marker - * "C" instead of "O". - * - * @link http://news.php.net/php.internals/74654 - * - * @param ReflectionClass $reflectionClass - * - * @return string the serialization format marker, either self::SERIALIZATION_FORMAT_USE_UNSERIALIZER - * or self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER - */ - private function getSerializationFormat(ReflectionClass $reflectionClass) - { - if ($this->isPhpVersionWithBrokenSerializationFormat() - && $reflectionClass->implementsInterface('Serializable') - ) { - return self::SERIALIZATION_FORMAT_USE_UNSERIALIZER; - } - - return self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER; - } - - /** - * Checks whether the current PHP runtime uses an incompatible serialization format - * - * @return bool - */ - private function isPhpVersionWithBrokenSerializationFormat() - { - return PHP_VERSION_ID === 50429 || PHP_VERSION_ID === 50513; - } - - /** - * Checks if a class is cloneable - * - * @param ReflectionClass $reflection - * - * @return bool - */ - private function isSafeToClone(ReflectionClass $reflection) - { - if (method_exists($reflection, 'isCloneable') && ! $reflection->isCloneable()) { - return false; - } - - // not cloneable if it implements `__clone`, as we want to avoid calling it - return ! $reflection->hasMethod('__clone'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php deleted file mode 100644 index b665bea8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php +++ /dev/null @@ -1,37 +0,0 @@ -. - */ - -namespace Doctrine\Instantiator; - -/** - * Instantiator provides utility methods to build objects without invoking their constructors - * - * @author Marco Pivetta - */ -interface InstantiatorInterface -{ - /** - * @param string $className - * - * @return object - * - * @throws \Doctrine\Instantiator\Exception\ExceptionInterface - */ - public function instantiate($className); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php deleted file mode 100644 index 3e8fc6ff..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php +++ /dev/null @@ -1,96 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorPerformance; - -use Athletic\AthleticEvent; -use Doctrine\Instantiator\Instantiator; - -/** - * Performance tests for {@see \Doctrine\Instantiator\Instantiator} - * - * @author Marco Pivetta - */ -class InstantiatorPerformanceEvent extends AthleticEvent -{ - /** - * @var \Doctrine\Instantiator\Instantiator - */ - private $instantiator; - - /** - * {@inheritDoc} - */ - protected function setUp() - { - $this->instantiator = new Instantiator(); - - $this->instantiator->instantiate(__CLASS__); - $this->instantiator->instantiate('ArrayObject'); - $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset'); - $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset'); - $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset'); - } - - /** - * @iterations 20000 - * @baseline - * @group instantiation - */ - public function testInstantiateSelf() - { - $this->instantiator->instantiate(__CLASS__); - } - - /** - * @iterations 20000 - * @group instantiation - */ - public function testInstantiateInternalClass() - { - $this->instantiator->instantiate('ArrayObject'); - } - - /** - * @iterations 20000 - * @group instantiation - */ - public function testInstantiateSimpleSerializableAssetClass() - { - $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset'); - } - - /** - * @iterations 20000 - * @group instantiation - */ - public function testInstantiateSerializableArrayObjectAsset() - { - $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset'); - } - - /** - * @iterations 20000 - * @group instantiation - */ - public function testInstantiateUnCloneableAsset() - { - $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php deleted file mode 100644 index 39d9b94d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php +++ /dev/null @@ -1,83 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTest\Exception; - -use Doctrine\Instantiator\Exception\InvalidArgumentException; -use PHPUnit_Framework_TestCase; -use ReflectionClass; - -/** - * Tests for {@see \Doctrine\Instantiator\Exception\InvalidArgumentException} - * - * @author Marco Pivetta - * - * @covers \Doctrine\Instantiator\Exception\InvalidArgumentException - */ -class InvalidArgumentExceptionTest extends PHPUnit_Framework_TestCase -{ - public function testFromNonExistingTypeWithNonExistingClass() - { - $className = __CLASS__ . uniqid(); - $exception = InvalidArgumentException::fromNonExistingClass($className); - - $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\InvalidArgumentException', $exception); - $this->assertSame('The provided class "' . $className . '" does not exist', $exception->getMessage()); - } - - public function testFromNonExistingTypeWithTrait() - { - if (PHP_VERSION_ID < 50400) { - $this->markTestSkipped('Need at least PHP 5.4.0, as this test requires traits support to run'); - } - - $exception = InvalidArgumentException::fromNonExistingClass( - 'DoctrineTest\\InstantiatorTestAsset\\SimpleTraitAsset' - ); - - $this->assertSame( - 'The provided type "DoctrineTest\\InstantiatorTestAsset\\SimpleTraitAsset" is a trait, ' - . 'and can not be instantiated', - $exception->getMessage() - ); - } - - public function testFromNonExistingTypeWithInterface() - { - $exception = InvalidArgumentException::fromNonExistingClass('Doctrine\\Instantiator\\InstantiatorInterface'); - - $this->assertSame( - 'The provided type "Doctrine\\Instantiator\\InstantiatorInterface" is an interface, ' - . 'and can not be instantiated', - $exception->getMessage() - ); - } - - public function testFromAbstractClass() - { - $reflection = new ReflectionClass('DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset'); - $exception = InvalidArgumentException::fromAbstractClass($reflection); - - $this->assertSame( - 'The provided class "DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset" is abstract, ' - . 'and can not be instantiated', - $exception->getMessage() - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php deleted file mode 100644 index 84154e73..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php +++ /dev/null @@ -1,69 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTest\Exception; - -use Doctrine\Instantiator\Exception\UnexpectedValueException; -use Exception; -use PHPUnit_Framework_TestCase; -use ReflectionClass; - -/** - * Tests for {@see \Doctrine\Instantiator\Exception\UnexpectedValueException} - * - * @author Marco Pivetta - * - * @covers \Doctrine\Instantiator\Exception\UnexpectedValueException - */ -class UnexpectedValueExceptionTest extends PHPUnit_Framework_TestCase -{ - public function testFromSerializationTriggeredException() - { - $reflectionClass = new ReflectionClass($this); - $previous = new Exception(); - $exception = UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $previous); - - $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\UnexpectedValueException', $exception); - $this->assertSame($previous, $exception->getPrevious()); - $this->assertSame( - 'An exception was raised while trying to instantiate an instance of "' - . __CLASS__ . '" via un-serialization', - $exception->getMessage() - ); - } - - public function testFromUncleanUnSerialization() - { - $reflection = new ReflectionClass('DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset'); - $exception = UnexpectedValueException::fromUncleanUnSerialization($reflection, 'foo', 123, 'bar', 456); - - $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\UnexpectedValueException', $exception); - $this->assertSame( - 'Could not produce an instance of "DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset" ' - . 'via un-serialization, since an error was triggered in file "bar" at line "456"', - $exception->getMessage() - ); - - $previous = $exception->getPrevious(); - - $this->assertInstanceOf('Exception', $previous); - $this->assertSame('foo', $previous->getMessage()); - $this->assertSame(123, $previous->getCode()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php deleted file mode 100644 index 0a2cb931..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php +++ /dev/null @@ -1,219 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTest; - -use Doctrine\Instantiator\Exception\UnexpectedValueException; -use Doctrine\Instantiator\Instantiator; -use PHPUnit_Framework_TestCase; -use ReflectionClass; - -/** - * Tests for {@see \Doctrine\Instantiator\Instantiator} - * - * @author Marco Pivetta - * - * @covers \Doctrine\Instantiator\Instantiator - */ -class InstantiatorTest extends PHPUnit_Framework_TestCase -{ - /** - * @var Instantiator - */ - private $instantiator; - - /** - * {@inheritDoc} - */ - protected function setUp() - { - $this->instantiator = new Instantiator(); - } - - /** - * @param string $className - * - * @dataProvider getInstantiableClasses - */ - public function testCanInstantiate($className) - { - $this->assertInstanceOf($className, $this->instantiator->instantiate($className)); - } - - /** - * @param string $className - * - * @dataProvider getInstantiableClasses - */ - public function testInstantiatesSeparateInstances($className) - { - $instance1 = $this->instantiator->instantiate($className); - $instance2 = $this->instantiator->instantiate($className); - - $this->assertEquals($instance1, $instance2); - $this->assertNotSame($instance1, $instance2); - } - - public function testExceptionOnUnSerializationException() - { - if (defined('HHVM_VERSION')) { - $this->markTestSkipped( - 'As of facebook/hhvm#3432, HHVM has no PDORow, and therefore ' - . ' no internal final classes that cannot be instantiated' - ); - } - - $className = 'DoctrineTest\\InstantiatorTestAsset\\UnserializeExceptionArrayObjectAsset'; - - if (\PHP_VERSION_ID >= 50600) { - $className = 'PDORow'; - } - - if (\PHP_VERSION_ID === 50429 || \PHP_VERSION_ID === 50513) { - $className = 'DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset'; - } - - $this->setExpectedException('Doctrine\\Instantiator\\Exception\\UnexpectedValueException'); - - $this->instantiator->instantiate($className); - } - - public function testNoticeOnUnSerializationException() - { - if (\PHP_VERSION_ID >= 50600) { - $this->markTestSkipped( - 'PHP 5.6 supports `ReflectionClass#newInstanceWithoutConstructor()` for some internal classes' - ); - } - - try { - $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\WakeUpNoticesAsset'); - - $this->fail('No exception was raised'); - } catch (UnexpectedValueException $exception) { - $wakeUpNoticesReflection = new ReflectionClass('DoctrineTest\\InstantiatorTestAsset\\WakeUpNoticesAsset'); - $previous = $exception->getPrevious(); - - $this->assertInstanceOf('Exception', $previous); - - // in PHP 5.4.29 and PHP 5.5.13, this case is not a notice, but an exception being thrown - if (! (\PHP_VERSION_ID === 50429 || \PHP_VERSION_ID === 50513)) { - $this->assertSame( - 'Could not produce an instance of "DoctrineTest\\InstantiatorTestAsset\WakeUpNoticesAsset" ' - . 'via un-serialization, since an error was triggered in file "' - . $wakeUpNoticesReflection->getFileName() . '" at line "36"', - $exception->getMessage() - ); - - $this->assertSame('Something went bananas while un-serializing this instance', $previous->getMessage()); - $this->assertSame(\E_USER_NOTICE, $previous->getCode()); - } - } - } - - /** - * @param string $invalidClassName - * - * @dataProvider getInvalidClassNames - */ - public function testInstantiationFromNonExistingClass($invalidClassName) - { - $this->setExpectedException('Doctrine\\Instantiator\\Exception\\InvalidArgumentException'); - - $this->instantiator->instantiate($invalidClassName); - } - - public function testInstancesAreNotCloned() - { - $className = 'TemporaryClass' . uniqid(); - - eval('namespace ' . __NAMESPACE__ . '; class ' . $className . '{}'); - - $instance = $this->instantiator->instantiate(__NAMESPACE__ . '\\' . $className); - - $instance->foo = 'bar'; - - $instance2 = $this->instantiator->instantiate(__NAMESPACE__ . '\\' . $className); - - $this->assertObjectNotHasAttribute('foo', $instance2); - } - - /** - * Provides a list of instantiable classes (existing) - * - * @return string[][] - */ - public function getInstantiableClasses() - { - $classes = array( - array('stdClass'), - array(__CLASS__), - array('Doctrine\\Instantiator\\Instantiator'), - array('Exception'), - array('PharException'), - array('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset'), - array('DoctrineTest\\InstantiatorTestAsset\\ExceptionAsset'), - array('DoctrineTest\\InstantiatorTestAsset\\FinalExceptionAsset'), - array('DoctrineTest\\InstantiatorTestAsset\\PharExceptionAsset'), - array('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset'), - array('DoctrineTest\\InstantiatorTestAsset\\XMLReaderAsset'), - ); - - if (\PHP_VERSION_ID === 50429 || \PHP_VERSION_ID === 50513) { - return $classes; - } - - $classes = array_merge( - $classes, - array( - array('PharException'), - array('ArrayObject'), - array('DoctrineTest\\InstantiatorTestAsset\\ArrayObjectAsset'), - array('DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset'), - ) - ); - - if (\PHP_VERSION_ID >= 50600) { - $classes[] = array('DoctrineTest\\InstantiatorTestAsset\\WakeUpNoticesAsset'); - $classes[] = array('DoctrineTest\\InstantiatorTestAsset\\UnserializeExceptionArrayObjectAsset'); - } - - return $classes; - } - - /** - * Provides a list of instantiable classes (existing) - * - * @return string[][] - */ - public function getInvalidClassNames() - { - $classNames = array( - array(__CLASS__ . uniqid()), - array('Doctrine\\Instantiator\\InstantiatorInterface'), - array('DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset'), - ); - - if (\PHP_VERSION_ID >= 50400) { - $classNames[] = array('DoctrineTest\\InstantiatorTestAsset\\SimpleTraitAsset'); - } - - return $classNames; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php deleted file mode 100644 index fbe28ddd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php +++ /dev/null @@ -1,29 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -/** - * A simple asset for an abstract class - * - * @author Marco Pivetta - */ -abstract class AbstractClassAsset -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php deleted file mode 100644 index 56146d70..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php +++ /dev/null @@ -1,41 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use ArrayObject; -use BadMethodCallException; - -/** - * Test asset that extends an internal PHP class - * - * @author Marco Pivetta - */ -class ArrayObjectAsset extends ArrayObject -{ - /** - * Constructor - should not be called - * - * @throws BadMethodCallException - */ - public function __construct() - { - throw new BadMethodCallException('Not supposed to be called!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php deleted file mode 100644 index 43bbe46b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php +++ /dev/null @@ -1,41 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use BadMethodCallException; -use Exception; - -/** - * Test asset that extends an internal PHP base exception - * - * @author Marco Pivetta - */ -class ExceptionAsset extends Exception -{ - /** - * Constructor - should not be called - * - * @throws BadMethodCallException - */ - public function __construct() - { - throw new BadMethodCallException('Not supposed to be called!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php deleted file mode 100644 index 7d268f5b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php +++ /dev/null @@ -1,41 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use BadMethodCallException; -use Exception; - -/** - * Test asset that extends an internal PHP base exception - * - * @author Marco Pivetta - */ -final class FinalExceptionAsset extends Exception -{ - /** - * Constructor - should not be called - * - * @throws BadMethodCallException - */ - public function __construct() - { - throw new BadMethodCallException('Not supposed to be called!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php deleted file mode 100644 index 553fd561..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php +++ /dev/null @@ -1,41 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use BadMethodCallException; -use Phar; - -/** - * Test asset that extends an internal PHP class - * - * @author Marco Pivetta - */ -class PharAsset extends Phar -{ - /** - * Constructor - should not be called - * - * @throws BadMethodCallException - */ - public function __construct() - { - throw new BadMethodCallException('Not supposed to be called!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php deleted file mode 100644 index 42bf73e7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php +++ /dev/null @@ -1,44 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use BadMethodCallException; -use PharException; - -/** - * Test asset that extends an internal PHP class - * This class should be serializable without problems - * and without getting the "Erroneous data format for unserializing" - * error - * - * @author Marco Pivetta - */ -class PharExceptionAsset extends PharException -{ - /** - * Constructor - should not be called - * - * @throws BadMethodCallException - */ - public function __construct() - { - throw new BadMethodCallException('Not supposed to be called!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php deleted file mode 100644 index ba19aaf6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php +++ /dev/null @@ -1,62 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use ArrayObject; -use BadMethodCallException; -use Serializable; - -/** - * Serializable test asset that also extends an internal class - * - * @author Marco Pivetta - */ -class SerializableArrayObjectAsset extends ArrayObject implements Serializable -{ - /** - * Constructor - should not be called - * - * @throws BadMethodCallException - */ - public function __construct() - { - throw new BadMethodCallException('Not supposed to be called!'); - } - - /** - * {@inheritDoc} - */ - public function serialize() - { - return ''; - } - - /** - * {@inheritDoc} - * - * Should not be called - * - * @throws BadMethodCallException - */ - public function unserialize($serialized) - { - throw new BadMethodCallException('Not supposed to be called!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php deleted file mode 100644 index 39f84a6c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php +++ /dev/null @@ -1,61 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use BadMethodCallException; -use Serializable; - -/** - * Base serializable test asset - * - * @author Marco Pivetta - */ -class SimpleSerializableAsset implements Serializable -{ - /** - * Constructor - should not be called - * - * @throws BadMethodCallException - */ - public function __construct() - { - throw new BadMethodCallException('Not supposed to be called!'); - } - - /** - * {@inheritDoc} - */ - public function serialize() - { - return ''; - } - - /** - * {@inheritDoc} - * - * Should not be called - * - * @throws BadMethodCallException - */ - public function unserialize($serialized) - { - throw new BadMethodCallException('Not supposed to be called!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php deleted file mode 100644 index 04e78069..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php +++ /dev/null @@ -1,29 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -/** - * A simple trait with no attached logic - * - * @author Marco Pivetta - */ -trait SimpleTraitAsset -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php deleted file mode 100644 index 7d03bdab..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php +++ /dev/null @@ -1,50 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use BadMethodCallException; - -/** - * Base un-cloneable asset - * - * @author Marco Pivetta - */ -class UnCloneableAsset -{ - /** - * Constructor - should not be called - * - * @throws BadMethodCallException - */ - public function __construct() - { - throw new BadMethodCallException('Not supposed to be called!'); - } - - /** - * Magic `__clone` - should not be invoked - * - * @throws BadMethodCallException - */ - public function __clone() - { - throw new BadMethodCallException('Not supposed to be called!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php deleted file mode 100644 index b348a405..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php +++ /dev/null @@ -1,39 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use ArrayObject; -use BadMethodCallException; - -/** - * A simple asset for an abstract class - * - * @author Marco Pivetta - */ -class UnserializeExceptionArrayObjectAsset extends ArrayObject -{ - /** - * {@inheritDoc} - */ - public function __wakeup() - { - throw new BadMethodCallException(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php deleted file mode 100644 index 18dc6711..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php +++ /dev/null @@ -1,38 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use ArrayObject; - -/** - * A simple asset for an abstract class - * - * @author Marco Pivetta - */ -class WakeUpNoticesAsset extends ArrayObject -{ - /** - * Wakeup method called after un-serialization - */ - public function __wakeup() - { - trigger_error('Something went bananas while un-serializing this instance'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php deleted file mode 100644 index 39ee6992..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php +++ /dev/null @@ -1,41 +0,0 @@ -. - */ - -namespace DoctrineTest\InstantiatorTestAsset; - -use BadMethodCallException; -use XMLReader; - -/** - * Test asset that extends an internal PHP class - * - * @author Dave Marshall - */ -class XMLReaderAsset extends XMLReader -{ - /** - * Constructor - should not be called - * - * @throws BadMethodCallException - */ - public function __construct() - { - throw new BadMethodCallException('Not supposed to be called!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/.gitattributes b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/.gitattributes deleted file mode 100644 index 176a458f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/.travis.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/.travis.yml deleted file mode 100644 index 39c3779f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/.travis.yml +++ /dev/null @@ -1,16 +0,0 @@ -language: php - -sudo: false - -php: - - 5.3 - - 5.4 - - 5.5 - - 5.6 - - 7.0 - - hhvm - -install: - - composer install --prefer-source - -script: phpunit diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/LICENSE b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/LICENSE deleted file mode 100644 index 1797eac6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2012 Alexandre Salomé -Copyright (c) 2012 Julien DIDIER - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/README.md deleted file mode 100644 index fb03092d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/README.md +++ /dev/null @@ -1,12 +0,0 @@ -Git lib for Gitonomy -==================== - -[![Build Status](https://secure.travis-ci.org/gitonomy/gitlib.png)](https://travis-ci.org/gitonomy/gitlib) - -This library provides methods to access Git repository from PHP. - -It makes shell calls, which makes it less performant than any solution. - -Anyway, it's convenient and don't need to build anything to use it. That's how we love it. - -*Documentation*: http://gitonomy.com/doc/gitlib/master/ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/composer.json deleted file mode 100644 index 2d13c8eb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/composer.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "gitonomy/gitlib", - "description": "Library for accessing git", - "license": "MIT", - "authors": [ - { - "name": "Alexandre Salomé", - "email": "alexandre.salome@gmail.com", - "homepage": "http://alexandre-salome.fr" - }, - { - "name": "Julien DIDIER", - "email": "genzo.wm@gmail.com", - "homepage": "http://www.jdidier.net" - } - ], - "homepage": "http://gitonomy.com", - "autoload": { - "psr-4": { - "Gitonomy\\Git\\": "src/Gitonomy/Git/" - } - }, - "autoload-dev": { - "psr-4": { - "Gitonomy\\Git\\Tests\\": "tests/Gitonomy/Git/Tests/" - } - }, - "require": { - "symfony/process": "^2.3|^3.0" - }, - "require-dev": { - "psr/log": "^1.0" - }, - "suggest": { - "psr/log": "Add some log" - }, - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/admin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/admin.rst deleted file mode 100644 index f1ec8b66..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/admin.rst +++ /dev/null @@ -1,76 +0,0 @@ -Create and access git repositories -================================== - -gitlib provides methods to initialize new repositories. - -Create a repository -------------------- - -To initialize a new repository, use method ``Admin::init``. - -.. code-block:: php - - // Initialize a bare repository - $repository = Gitonomy\Git\Admin::init('/path/to/repository'); - - // Initialize a non-bare repository - $repository = Gitonomy\Git\Admin::init('/path/to/repository', false); - -Default behavior is to create a bare repository. If you want to initialize a -repository with a working copy,pass ``false`` as third argument of Repository -constructor. - -Cloning repositories --------------------- - -You can clone a repository from an URL by doing: - -.. code-block:: php - - // Clone to a bare repository - $repository = Gitonomy\Git\Admin::cloneTo('/tmp/gitlib', 'https://github.com/gitonomy/gitlib.git'); - - // Clone to a non-bare repository - $repository = Gitonomy\Git\Admin::cloneTo('/tmp/gitlib', 'https://github.com/gitonomy/gitlib.git', false); - -Default behavior is to clone in a bare repository. - -You can also clone a repository and point it to a specific branch. In a non-bare repository, this branch will be checked out: - -.. code-block:: php - - // Clone to a bare repository - $repository = Gitonomy\Git\Admin::cloneBranchTo('/tmp/gitlib', 'https://github.com/gitonomy/gitlib.git', 'a-branch'); - - // Clone to a non-bare repository - $repository = Gitonomy\Git\Admin::cloneBranchTo('/tmp/gitlib', 'https://github.com/gitonomy/gitlib.git', 'a-branch' false); - -Clone a Repository object -------------------------- - -If you already have a Repository instance and want to clone it, you can use this shortcut: - -.. code-block:: php - - $new = $repository->cloneTo('/tmp/clone'); - -Mirror a repository -------------------- - -If you want to mirror fully a repository and all references, use the ``mirrorTo`` method. This method -takes only two arguments, where to mirror and what to mirror: - -.. code-block:: php - - // Mirror to a bare repository - $mirror = Gitonomy\Git\Admin::mirrorTo('/tmp/mirror', 'https://github.com/gitonomy/gitlib.git'); - - // Mirror to a non-bare repository - $mirror = Gitonomy\Git\Admin::mirrorTo('/tmp/mirror', 'https://github.com/gitonomy/gitlib.git', false); - - -References -:::::::::: - -* http://linux.die.net/man/1/git-init -* http://linux.die.net/man/1/git-clone diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/blame.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/blame.rst deleted file mode 100644 index 7fcbdcdc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/blame.rst +++ /dev/null @@ -1,54 +0,0 @@ -Blaming files -============= - -Line-per-line iteration ------------------------ - -To iterate on lines of a blame: - -.. code-block:: php - - $blame = $repository->getBlame('master', 'README.md'); - - foreach ($blame->getLines() as $lineNumber => $line) { - $commit = $line->getCommit(); - echo $lineNumber.': '.$line->getContent()." - ".$commit->getAuthorName()."\n"; - } - -The *getLines* method returns an array indexed starting from 1. - -As you can see, you can access the commit object related to the line you are iterating on. - -If you want to access directly a line: - -.. code-block:: php - - $line = $blame->getLine(32); - -The Line object ---------------- - -LineObject represents an item of the blame file. It is composed of those informations: - -.. code-block:: php - - $line->getCommit(); // returns a Commit - $line->getContent(); // returns text - - // you can access author from commmit: - $author = $line->getCommit()->getAuthorName(); - -Group reading by commit ------------------------ - -If you plan to display it, you'll probably need a version where lines from same commit are grouped. - -To do so, use the *getGroupedLines* method that will return an array like this: - -.. code-block:: php - - $blame = array( - array(Commit, array(1 => Line, 2 => Line, 3 => Line)), - array(Commit, array(4 => Line)), - array(Commit, array(5 => Line, 6 => Line)) - ) diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/blob.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/blob.rst deleted file mode 100644 index 78d36c25..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/blob.rst +++ /dev/null @@ -1,44 +0,0 @@ -Blob -==== - -In git, a blob represents a file content. You can't access the file name -directly from the *Blob* object; the filename information is stored within -the tree, not in the blob. - -It means that for git, two files with different names but same content will -have the same hash. - -To access a repository *Blob*, you need the hash identifier: - -.. code-block:: php - - $repository = new Gitonomy\Git\Repository('/path/to/repository'); - $blob = $repository->getBlob('a7c8d2b4'); - -Get content ------------ - -To get content from a *Blob* object: - -.. code-block:: php - - echo $blob->getContent(); - -File informations ------------------ - -To get mimetype of a *Blob* object using finfo extension: - -.. code-block:: php - - echo $blob->getMimetype(); - -You can also test if *Blob* is a text of a binary file: - -.. code-block:: php - - if ($blob->isText()) { - echo $blob->getContent(), "\n"; - } elseif ($blob->isBinary()) { - echo "File is binary\n"; - } diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/branch.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/branch.rst deleted file mode 100644 index c7c0c408..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/branch.rst +++ /dev/null @@ -1,16 +0,0 @@ -Branch -====== - -To access a *Branch*, starting from a repository object: - -.. code-block:: php - - $repository = new Gitonomy\Git\Repository('/path/to/repository'); - $branch = $repository->getReferences()->getBranch('master'); - -You can check is the branch is a local or remote one: - -.. code-block:: php - - $branch->isLocal(); - $branch->isRemote(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/commit.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/commit.rst deleted file mode 100644 index d11ea810..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/commit.rst +++ /dev/null @@ -1,168 +0,0 @@ -Commit -====== - -To access a *Commit*, starting from a repository object: - -.. code-block:: php - - $repository = new Gitonomy\Git\Repository('/path/to/repository'); - $commit = $repository->getCommit('a7c8d2b4'); - -Browsing parents ----------------- - -A *Commit* can have a natural number of parents: - -* **no parent**: it's an initial commit, the root of a tree -* **one parent**: it means it's not a merge, just a regular commit -* **many parents**: it's a merge-commit - -You have 2 methods available for accessing parents: - -.. code-block:: php - - // Access parent hashes - $hashes = $commit->getParentHashes(); - - // Access parent commit objects - $commits = $commit->getParents(); - -For example, if you want to display all parents, starting from a commit: - -.. code-block:: php - - function displayLog(Gitonomy\Git\Commit $commit) { - echo '- '.$commit->getShortMessage()."\n"; - foreach ($commit->getParents() as $parent) { - displayLog($parent); - } - } - -Notice that this function will first display all commits from first merged -branch and then display all commits from next branch, and so on. - -Accessing tree --------------- - -The tree object contains the reference to the files associated to a given -commit. Every commit has one and only one tree, referencing all files and -folders of a given state for a project. For more informations about the tree, -see the chapter dedicated to it. - -To access a tree starting from a commit: - -.. code-block:: php - - // Returns the tree hash - $tree = $commit->getTreeHash(); - - // Returns the tree object - $tree = $commit->getTree(); - -Author & Committer informations -------------------------------- - -Each commit has two authoring informations: an author and a committer. The -author is the creator of the modification, authoring a modification in the -repository. The committer is responsible of introducing this modification to -the repository. - -You can access informations from author and committer using those methods: - -.. code-block:: php - - // Author - $commit->getAuthorName(); - $commit->getAuthorEmail(); - $commit->getAuthorDate(); // returns a DateTime object - - // Committer - $commit->getCommitterName(); - $commit->getCommitterEmail(); - $commit->getCommitterDate(); // returns a DateTime object - -Commit message and short message --------------------------------- - -Each commit also has a message, associated to the modification. This message -can be multilined. - -To access the message, you can use the *getMessage* method: - -.. code-block:: php - - $commit->getMessage(); - -For your convenience, this library provides a shortcut method to keep only the -first line or first 50 characters if the first line is too long: - -.. code-block:: php - - $commit->getShortMessage(); - -You can customize it like this: - -.. code-block:: php - - $commit->getShortMessage(45, true, '.'); - -* The first parameter is the max length of the message. -* The second parameter determine if the last word should be cut or preserved -* The third parameter is the separator - -There are also two other methods for your convenience: - -.. code-block:: php - - // The first line - $commit->getSubjectMessage(); - - // The body (rest of the message) - $commit->getBodyMessage(); - -Diff of a commit ----------------- - -You can check the modifications introduced by a commit using the *getDiff* -method. When you request a diff for a commit, depending of the number of -parents, the strategy will be different: - -* If you have *no parent*, the diff will be the content of the tree -* If you only have *one parent*, the diff will be between the commit and his - parent -* If you have *multiple parents*, the diff will be the difference between the - commit and the first common ancestor of all parents - -For more informations about the diff API, read the related chapter. - -To access the *Diff* object of a commit, use the method *getDiff*: - -.. code-block:: php - - $diff = $commit->getDiff(); - -Last modification of a file ---------------------------- - -To know the last modification of a file, you can use the *getLastModification* -method on a commit. - -Here is a very straightforward example: - -.. code-block:: php - - $last = $commit->getLastModification('README'); - - echo "Last README modification:\n"; - echo" Author: ".$last->getAuthorName()."\n"; - echo" Date: ".$last->getAuthorDate()->format('d/m/Y')."\n"; - echo" Message: ".$last->getMessage(); - -Find every branches containing a commit ---------------------------------------- - -.. code-block:: php - - $branches = $commit->getIncludingBranches($includeLocalBranches, $includeRemoteBranches); - $localBranches = $commit->getIncludingBranches(true, false); - $remoteBranches = $commit->getIncludingBranches(false, true); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/diff.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/diff.rst deleted file mode 100644 index badd0776..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/diff.rst +++ /dev/null @@ -1,102 +0,0 @@ -Computing diff -============== - -Even if git is a diff-less storage engine, it's possible to compute them. - -To compute a diff in git, you need to specify a *revision*. This revision can -be a commit (*2bc7a8*) or a range (*2bc7a8..ff4c21b*). - -For more informations about git revisions: *man gitrevisions*. - -When you have decided the revision you want and have your *Repository* object, -you can call the *getDiff* method on the repository: - -.. code-block:: php - - $diff = $repository->getDiff('master@{2 days ago}..master'); - -You can also access it from a *Log* object: - -.. code-block:: php - - $log = $repository->getLog('master@{2 days ago}..master'); - $diff = $log->getDiff(); - -Iterating a diff ----------------- - -When you have a *Diff* object, you can iterate over files using method -*getFiles()*. This method returns a list of *File* objects, who represents the -modifications for a single file. - -.. code-block:: php - - $files = $diff->getFiles(); - echo sprintf("%s files modified", count($files)); - - foreach ($files as $fileDiff) { - echo sprintf("Old name: (%s) %s\n", $fileDiff->getOldMode(), $fileDiff->getOldName()); - echo sprintf("New name: (%s) %s\n", $fileDiff->getNewMode(), $fileDiff->getNewName()); - } - -The File object ---------------- - -Here is an exhaustive list of the *File* class methods: - -.. code-block:: php - - $file->getOldName(); - $file->getNewName(); - $file->getOldDiff(); - $file->getNewDiff(); - - $file->isCreation(); - $file->isDeletion(); - $file->isModification(); - - $file->isRename(); - $file->isChangeMode(); - - $file->getAdditions(); // Number of added lines - $file->getDeletions(); // Number of deleted lines - - $file->isBinary(); // Binary files have no "lines" - - $file->getChanges(); // See next chapter - -The FileChange object ---------------------- - -.. note:: - - This part of API is not very clean, very consistent. If you have any idea - or suggestion on how to enhance this, your comment would be appreciated. - -A *File* object is composed of many changes. For each of those changes, -a *FileChange* object is associated. - -To access changes from a file, use the *getChanges* method: - -.. code-block:: php - - $changes = $file->getChanges(); - foreach ($changes as $change) { - foreach ($lines as $data) { - list ($type, $line) = $data; - if ($type === FileChange::LINE_CONTEXT) { - echo ' '.$line."\n"; - } elseif ($type === FileChange::LINE_ADD) { - echo '+'.$line."\n"; - } else { - echo '-'.$line."\n"; - } - } - } - -To get line numbers, use the range methods: - -.. code-block:: php - - echo sprintf("Previously from line %s to %s\n", $change->getOldRangeStart(), $change->getOldRangeEnd()); - echo sprintf("Now from line %s to %s\n", $change->getNewRangeStart(), $change->getNewRangeEnd()); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/hooks.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/hooks.rst deleted file mode 100644 index 20c4abec..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/hooks.rst +++ /dev/null @@ -1,76 +0,0 @@ -Hooks -===== - -It's possible to define custom hooks on any repository with git. Those hooks -are located in the *.git/hooks* folder. - -Those files need to be executable. For convenience, gitlib will set them to -*777*. - -With *gitlib*, you can manage hooks over a repository using the *Hooks* object. - -To access it from a repository, use the *getHooks* method on a *Repository* -object: - -.. code-block:: php - - $hooks = $repository->getHooks(); - -Reading hooks -------------- - -To read the content of a hook, use the *get* method like this: - -.. code-block:: php - - $content = $hooks->get('pre-receive'); // returns a string - -If the hook does not exist, an exception will be thrown (*InvalidArgumentException*). - -You can test if a hook is present using the method *has*: - -.. code-block:: php - - $hooks->has('pre-receive'); // a boolean indicating presence - -Inserting hooks ---------------- - -You can modify a hook in two different ways: creating a new file or using a symlink. - -To create the hook using a symlink: - -.. code-block:: php - - $hooks->setSymlink('pre-receive', '/path/to/file-to-link'); - -If the hook already exist, a *LogicException* will be thrown. If an error occured -during symlink creation, a *RuntimeException* will be thrown. - -If you want to directly create a new file in hooks directory, use the -method *set*. This method will create a new file, put content in it and make it -executable: - -.. code-block:: php - - $content = <<set('pre-receive', $content); - -If the hook already exists, a *LogicException* will be thrown. - -Removing hooks --------------- - -To remove a hook from a repository, use the function *remove*: - -.. code-block:: php - - $hooks->remove('pre-receive'); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/log.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/log.rst deleted file mode 100644 index 5a795b9e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/log.rst +++ /dev/null @@ -1,54 +0,0 @@ -Getting log history -=================== - -Crawling manually commits and parents to browse history is surely a good -solution. But when it comes to ordering them or aggregate them from multiple -branches, we tend to use ``git log``. - -To get a *Log* object from a repository: - -.. code-block:: php - - $log = $repository->getLog(); - -You can pass four arguments to *getLog* method: - -.. code-block:: php - - // Global log for repository - $log = $repository->getLog(); - - // Log for master branch - $log = $repository->getLog('master'); - - // Returns last 10 commits on README file - $log = $repository->getLog('master', 'README', 0, 10); - - // Returns last 10 commits on README or UPGRADE files - $log = $repository->getLog('master', array('README', 'UPGRADE'), 0, 10); - -Counting --------- - -If you want to count overall commits, without offset or limit, use the *countCommits* method: - -.. code-block:: php - - echo sprintf("This log contains %s commits\n", $log->countCommits()); - - // Countable interface - echo sprintf("This log contains %s commits\n", count($log)); - -Offset and limit ----------------- - -Use those methods: - -.. code-block:: php - - $log->setOffset(32); - $log->setLimit(40); - - // or read it: - $log->getOffset(); - $log->getLimit(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/references.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/references.rst deleted file mode 100644 index 5b7fa975..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/references.rst +++ /dev/null @@ -1,91 +0,0 @@ -Tags and branches -================= - -Accessing tags and branches ---------------------------- - -With *gitlib*, you can access them via the *ReferenceBag* object. To get this -object from a *Repository*, use the *getReferences* method: - -.. code-block:: php - - $references = $repository->getReferences(); - -First, you can test existence of tags and branches like this: - -.. code-block:: php - - if ($references->hasBranch('master') && $references->hasTag('0.1')) { - echo "Good start!"; - } - -If you want to access all branches or all tags: - -.. code-block:: php - - $branches = $references->getBranches(); - $localBranches = $references->getLocalBranches(); - $remoteBranches = $references->getRemoteBranches(); - $tags = $references->getTags(); - $all = $references->getAll(); - -To get a given branch or tag, call *getBranch* or *getTag* on the -*ReferenceBag*. Those methods return *Branch* and *Tag* objects: - -.. code-block:: php - - $master = $references->getBranch('master'); - $feat123 = $references->getLocalBranch('feat123'); - $feat456 = $references->getRemoteBranch('origin/feat456'); - $v0_1 = $references->getTag('0.1'); - -If the reference cannot be resolved, a *ReferenceNotFoundException* will be -thrown. - -On each of those objects, you can access those informations: - -.. code-block:: php - - // Get the associated commit - $commit = $master->getCommit(); - - // Get the commit hash - $hash = $master->getCommitHash(); - - // Get the last modification - $lastModification = $master->getLastModification(); - -Create and delete reference ---------------------------- - -You can create new tags and branches on repository, using helper methods -on ReferenceBag object: - -.. code-block:: php - - // create a branch - $references = $repository->getReferences(); - $branch = $references->createBranch('foobar', 'a8b7e4...'); // commit to reference - - // create a tag - $references = $repository->getReferences(); - $tag = $references->createTag('0.3', 'a8b7e4...'); // commit to reference - - // delete a branch or a tag - $branch->delete(); - -Resolution from a commit ------------------------- - -To resolve a branch or a commit from a commit, you can use the *resolveTags* -and *resolveBranches* methods on it: - -.. code-block:: php - - $branches = $references->resolveBranches($commit); - $tags = $references->resolveTags($commit); - - // Resolve branches and tags - $all = $references->resolve($commit); - -You can pass a *Commit* object or a hash to the method, gitlib will handle it. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/repository.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/repository.rst deleted file mode 100644 index 53fa07a3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/repository.rst +++ /dev/null @@ -1,135 +0,0 @@ -Repository methods -================== - -Creating a *Repository* object is possible, providing a *path* argument to the -constructor: - -.. code-block:: php - - $repository = new Repository('/path/to/repo'); - -Repository options ------------------- - -The constructor of Repository takes an additional parameter: ``$options``. -This parameter can be used used to tune behavior of library. - -Available options are: - -* **debug** (default: true): Enables exception when edge cases are met -* **environment_variables**: (default: none) An array of environment variables to be set in sub-process -* **logger**: (default: none) Logger to use for reporting of execution (a ``Psr\Log\LoggerInterface``) -* **command**: (default: ``git``) Specify command to execute to run git -* **working_dir**: If you are using multiple working directories, this option is for you - -An example: - -.. code-block:: php - - $repository = new Repository('/path/to/repo', array( - 'debug' => true, - 'logger' => new Monolog\Logger() - )); - -Test if a repository is bare ----------------------------- - -On a *Repository* object, you can call method *isBare* to test if your repository is bare or not: - -.. code-block:: php - - $repository->isBare(); - -Compute size of a repository ----------------------------- - -To know how much size a repository is using on your drive, you can use ``getSize`` method on a *Repository* object. - -.. warning:: This command was only tested with linux. - -The returned size is in kilobytes: - -.. code-block:: php - - $size = $repository->getSize(); - - echo "Your repository size is ".$size."KB"; - -Access HEAD ------------ - -``HEAD`` represents in git the version you are working on (in working tree). -Your ``HEAD`` can be attached (using a reference) or detached (using a commit). - -.. code-block:: php - - $head = $repository->getHead(); // Commit or Reference - $head = $repository->getHeadCommit(); // Commit - - if ($repository->isHeadDetached()) { - echo "Sorry man\n"; - } - -Options for repository ----------------------- - -Logger -...... - -If you are developing, you may appreciate to have a logger inside repository, telling you every executed command. - -You call method ``setLogger`` as an option on repository creation: - -.. code-block:: php - - $repository->setLogger(new Monolog\Logger('repository')); - - $repository->run('fetch', array('--all')); - -You can also specify as an option on repository creation: - - $logger = new Monolog\Logger('repository'); - $repository = new Repository('/path/foo', array('logger' => $logger)); - - $repository->run('fetch', array('--all')); - -This will output: - -.. code-block:: text - - info run command: fetch "--all" - debug last command (fetch) duration: 23.24ms - debug last command (fetch) return code: 0 - debug last command (fetch) output: Fetching origin - -Disable debug-mode -.................. - -Gitlib throws an exception when something seems wrong. If a ``git` command returns a non-zero result, it will stop execution and throw an ``RuntimeException``. - -If you want to prevent this, set ``debug`` option to ``false``. This will make Repository log errors and return empty data instead of throwing exceptions. - -.. code-block:: php - - $repository = new Repository('/tmp/foo', array('debug' => false, 'logger' => $logger)); - -.. note:: if you plan to disable debug, you should rely on logger to keep a trace of edge failing cases. - -Specify git command to use -.......................... - -You can pass option ``command`` to specify which command to use to run git calls. If you have a git binary -located somewhere else, use this option to specify to gitlib path to your git binary: - -.. code-block:: php - - $repository = new Gitonomy\Git\Repository('/tmp/foo', array('command' => '/home/alice/bin/git')); - -Environment variables -..................... - -Now you want to set environment variables to use to run ``git`` commands. It might be useful. - -.. code-block:: php - - $repository = new Gitonomy\Git\Repository('/tmp/foo', array('environment_variables' => array('GIT_'))) diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/revision.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/revision.rst deleted file mode 100644 index 8ffc3289..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/revision.rst +++ /dev/null @@ -1,28 +0,0 @@ -Revision -======== - -To get a revision from a *Repository* object: - -.. code-block:: php - - $revision = $repository->getRevision('master@{2 days ago}'); - -Getting the log ---------------- - -You can access a *Log* object starting from a revision using the *getLog* -method. This method takes two parameters: *offset* and *limit*: - -.. code-block:: php - - // Returns 100 lasts commits - $log = $revision->getLog(null, 100); - -Resolve a revision ------------------- - -To resolve a revision to a commit: - -.. code-block:: php - - $commit = $revision->getCommit(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/tree.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/tree.rst deleted file mode 100644 index 4641a9f3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/tree.rst +++ /dev/null @@ -1,54 +0,0 @@ -Tree and files -============== - -To organize folders, git uses trees. In gitlib, those trees are represented -via *Tree* object. - -To get the root tree associated to a commit, use the *getTree* method on the -commit object: - -.. code-block:: php - - $tree = $commit->getTree(); - -This tree is the entry point of all of your files. - -The main method for a tree is the *getEntries* method. This method will -return an array, indexed by name. Each of those elements will be the entry mode -and the entry object. - -Let's understand how it works with a concrete example: - -.. code-block:: php - - function displayTree(Tree $tree, $indent = 0) - { - $indent = str_repeat(' ', $indent); - foreach ($tree->getEntries() as $name => $data) { - list($mode, $entry) = $data; - if ($entry instanceof Tree) { - echo $indent.$name."/\n"; - displayTree($tree, $indent + 1); - } else { - echo $indent.$name."\n"; - } - } - } - - displayTree($commit->getTree()); - -This method will recursively display all entries of a tree. - -Resolve a path --------------- - -To access directly a sub-file, the easier is probably to use the *resolvePath* -method. - -An example: - -.. code-block:: php - - $source = $tree->resolvePath('src/Gitonomy/Git'); - - $source instanceof Tree; diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/workingcopy.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/workingcopy.rst deleted file mode 100644 index 4b652230..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/api/workingcopy.rst +++ /dev/null @@ -1,45 +0,0 @@ -Working copy -============ - -Working copy is the folder associated to a git repository. In *gitlib*, you -can access this object using the *getWorkingCopy* on a *Repository* object: - -.. code-block:: php - - $repo = new Repository('/path/to/working-dir'); - $wc = $repo->getWorkingCopy(); - -Checkout a revision -------------------- - -You can checkout any revision using *checkout* method. You can also pass a -second argument, which will be passed as argument with ``-b``: - -.. code-block:: php - - // git checkout master - $wc->checkout('master'); - - // git checkout origin/master -b master - $wc->checkout('origin/master', 'master'); - -You can also pass a *Reference* or a *Commit*. - -Staged modifications --------------------- - -You can get a diff of modifications pending in staging area. To get the ``Diff`` object, -call method ``getDiffStaged()``: - -.. code-block:: php - - $diff = $wc->getDiffStaged(); - -Pending modifications ---------------------- - -You can get pending modifications on tracked files by calling method ``getDiffPending()``: - -.. code-block:: php - - $diff = $wc->getDiffPending(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/debug.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/debug.rst deleted file mode 100644 index 704fd353..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/debug.rst +++ /dev/null @@ -1,22 +0,0 @@ -Debug-mode -========== - -gitlib offers a debug mode, to make you see edge-cases of your usage. This is called -debug-mode. - -Debug-mode is enabled by default. If you disable it, gitlib will behave differently: - -* when an error is met during execution, gitlib will try to minimize it, to not block - execution flow. Errors will still be reporter in logger. -* logs will be more verbose. They will contain every output, every return code, every - possible information to ease debugging. - -If you want to disable exceptions and try to minimize as much as possible errors, pass -``false`` when construction a repository: - -.. code-block:: php - - $repository = new Gitonomy\Git\Repository($path'/tmp/repo', $debug = false) - -``$debug`` argument should be available in every method you can use to create a -repository. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/development.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/development.rst deleted file mode 100644 index 986b0868..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/development.rst +++ /dev/null @@ -1,24 +0,0 @@ -Developing gitlib -================= - -If you plan to contribute to gitlib, here are few things you should know: - -Documentation generation -:::::::::::::::::::::::: - -Documentation is generated using Sphinx (restructured text). Configuration file -is located in https://github.com/gitonomy/website/blob/master/bin/conf.py - -You will need to fetch vendor modules for PHP blocks especially. If you really -want to generate it, install the website project locally and hack into it. - -Test against different git versions -::::::::::::::::::::::::::::::::::: - -A script ``test-git-version.sh`` is available in repository to test gitlib against -many git versions. - -This script is not usable on Travis-CI, they would hate me for this. It creates -a local cache to avoid fetching from Github and compiling if already compiled. - -Use it at your own risk, it's still under experiment. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/index.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/index.rst deleted file mode 100644 index 919e91c5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/index.rst +++ /dev/null @@ -1,59 +0,0 @@ -gitlib - library to manipulate git -================================== - -gitlib requires PHP 5.3 and class autoloading (PSR-0) to work properly. Internally, it relies on ``git`` method calls -to fetch informations from repository. - -.. code-block:: php - - use Gitonomy\Git\Repository; - - $repository = new Repository('/path/to/repository'); - - foreach ($repository->getReferences()->getBranches() as $branch) { - echo "- ".$branch->getName(); - } - - $repository->run('fetch', array('--all')); - - -Reference ---------- - -.. toctree:: - :maxdepth: 1 - - api/admin - api/repository - api/hooks - api/workingcopy - api/commit - api/blame - api/blob - api/branch - api/tree - api/log - api/diff - api/references - api/revision - - -Documentation -------------- - -.. toctree:: - :maxdepth: 2 - - installation - debug - development - -Missing features ----------------- - -Some major features are still missing from gitlib: - -* Remotes -* Submodules - -If you want to run git commands on repository, call method ``Repository::run`` with method and arguments. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/installation.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/installation.rst deleted file mode 100644 index 7b237895..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/doc/installation.rst +++ /dev/null @@ -1,20 +0,0 @@ -Installation of gitlib -====================== - -Autoloading -::::::::::: - -gitlib relies on class autoloading. It does not require any additional setup. - -Using composer -:::::::::::::: - -Edit your ``composer.json`` file and add ``gitonomy/gitlib`` in section ``require``: - -.. code-block:: json - - { - "require": { - "gitonomy/gitlib": "dev-master" - } - } diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/phpunit.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/phpunit.xml.dist deleted file mode 100644 index 36964385..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/phpunit.xml.dist +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - tests/Gitonomy/Git/Tests - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Admin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Admin.php deleted file mode 100644 index 5576a184..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Admin.php +++ /dev/null @@ -1,166 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Exception\RuntimeException; -use Symfony\Component\Process\ProcessBuilder; - -/** - * Administration class for Git repositories. - * - * @author Alexandre Salomé - */ -class Admin -{ - /** - * Initializes a repository and returns the instance. - * - * @param string $path path to the repository - * @param bool $bare indicate to create a bare repository - * @param array $options options for Repository creation - * - * @return Repository - * - * @throws RuntimeException Directory exists or not writable (only if debug=true) - */ - public static function init($path, $bare = true, array $options = array()) - { - $process = static::getProcess('init', array_merge(array('-q'), $bare ? array('--bare') : array(), array($path)), $options); - - $process->run(); - - if (!$process->isSuccessFul()) { - throw new RuntimeException(sprintf("Error on repository initialization, command wasn't successful (%s). Error output:\n%s", $process->getCommandLine(), $process->getErrorOutput())); - } - - return new Repository($path, $options); - } - - /** - * Checks the validity of a git repository url without cloning it. - * - * This will use the `ls-remote` command of git against the given url. - * Usually, this command returns 0 when successful, and 128 when the - * repository is not found. - * - * @param string $url url of repository to check - * @param array $options options for Repository creation - * - * @return bool true if url is valid - */ - public static function isValidRepository($url, array $options = array()) - { - $process = static::getProcess('ls-remote', array($url), $options); - - $process->run(); - - return $process->isSuccessFul(); - } - - /** - * Clone a repository to a local path. - * - * @param string $path indicates where to clone repository - * @param string $url url of repository to clone - * @param bool $bare indicates if repository should be bare or have a working copy - * @param array $options options for Repository creation - * - * @return Repository - */ - public static function cloneTo($path, $url, $bare = true, array $options = array()) - { - $args = $bare ? array('--bare') : array(); - - return static::cloneRepository($path, $url, $args, $options); - } - - /** - * Clone a repository branch to a local path. - * - * @param string $path indicates where to clone repository - * @param string $url url of repository to clone - * @param string $branch branch to clone - * @param bool $bare indicates if repository should be bare or have a working copy - * @param array $options options for Repository creation - * - * @return Repository - */ - public static function cloneBranchTo($path, $url, $branch, $bare = true, $options = array()) - { - $args = array('--branch', $branch); - if ($bare) { - $args[] = '--bare'; - } - - return static::cloneRepository($path, $url, $args, $options); - } - - /** - * Mirrors a repository (fetch all revisions, not only branches). - * - * @param string $path indicates where to clone repository - * @param string $url url of repository to clone - * @param array $options options for Repository creation - * - * @return Repository - */ - public static function mirrorTo($path, $url, array $options = array()) - { - return static::cloneRepository($path, $url, array('--mirror'), $options); - } - - /** - * Internal method to launch effective ``git clone`` command. - * - * @param string $path indicates where to clone repository - * @param string $url url of repository to clone - * @param array $args arguments to be added to the command-line - * @param array $options options for Repository creation - * - * @return Repository - */ - public static function cloneRepository($path, $url, array $args = array(), array $options = array()) - { - $process = static::getProcess('clone', array_merge(array('-q'), $args, array($url, $path)), $options); - - $process->run(); - - if (!$process->isSuccessFul()) { - throw new RuntimeException(sprintf('Error while initializing repository: %s', $process->getErrorOutput())); - } - - return new Repository($path, $options); - } - - /** - * This internal method is used to create a process object. - */ - private static function getProcess($command, array $args = array(), array $options = array()) - { - $is_windows = defined('PHP_WINDOWS_VERSION_BUILD'); - $options = array_merge(array( - 'environment_variables' => $is_windows ? array('PATH' => getenv('PATH')) : array(), - 'command' => 'git', - 'process_timeout' => 3600, - ), $options); - - $builder = ProcessBuilder::create(array_merge(array($options['command'], $command), $args)); - $builder->inheritEnvironmentVariables(false); - - $process = $builder->getProcess(); - $process->setEnv($options['environment_variables']); - $process->setTimeout($options['process_timeout']); - $process->setIdleTimeout($options['process_timeout']); - - return $process; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame.php deleted file mode 100644 index 7624bbbc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame.php +++ /dev/null @@ -1,145 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Blame\Line; -use Gitonomy\Git\Exception\InvalidArgumentException; -use Gitonomy\Git\Parser\BlameParser; - -/** - * @author Alexandre Salomé - */ -class Blame implements \Countable -{ - /** - * @var Repository - */ - protected $repository; - - /** - * @var Revision - */ - protected $revision; - - /** - * @var string - */ - protected $file; - - /** - * @var string|null - */ - protected $lineRange; - - /** - * @var array|null - */ - protected $lines; - - /** - * @param string $lineRange Argument to pass to git blame (-L). - * Can be a line range (40,60 or 40,+21) - * or a regexp ('/^function$/') - */ - public function __construct(Repository $repository, Revision $revision, $file, $lineRange = null) - { - $this->repository = $repository; - $this->revision = $revision; - $this->lineRange = $lineRange; - $this->file = $file; - } - - /** - * @return Line - */ - public function getLine($number) - { - if ($number < 1) { - throw new InvalidArgumentException('Line number should be at least 1'); - } - - $lines = $this->getLines(); - - if (!isset($lines[$number])) { - throw new InvalidArgumentException('Line does not exist'); - } - - return $lines[$number]; - } - - /** - * Returns lines grouped by commit. - * - * @return array a list of two-elements array (commit, lines) - */ - public function getGroupedLines() - { - $result = array(); - $commit = null; - $current = array(); - - foreach ($this->getLines() as $lineNumber => $line) { - if ($commit !== $line->getCommit()) { - if (count($current)) { - $result[] = array($commit, $current); - } - $commit = $line->getCommit(); - $current = array(); - } - - $current[$lineNumber] = $line; - } - - if (count($current)) { - $result[] = array($commit, $current); - } - - return $result; - } - - /** - * Returns all lines of the blame. - * - * @return array - */ - public function getLines() - { - if (null !== $this->lines) { - return $this->lines; - } - - $args = array('-p'); - - if (null !== $this->lineRange) { - $args[] = '-L'; - $args[] = $this->lineRange; - } - - $args[] = $this->revision->getRevision(); - $args[] = '--'; - $args[] = $this->file; - - $parser = new BlameParser($this->repository); - $parser->parse($this->repository->run('blame', $args)); - $this->lines = $parser->lines; - - return $this->lines; - } - - /** - * @return int - */ - public function count() - { - return count($this->getLines()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame/Line.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame/Line.php deleted file mode 100644 index afeb0093..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame/Line.php +++ /dev/null @@ -1,56 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Blame; - -use Gitonomy\Git\Commit; - -/** - * @author Alexandre Salomé - */ -class Line -{ - /** - * @var Commit - */ - protected $commit; - protected $sourceLine; - protected $targetLine; - protected $blockLine; - protected $content; - - /** - * Instanciates a new Line object. - */ - public function __construct(Commit $commit, $sourceLine, $targetLine, $blockLine, $content) - { - $this->commit = $commit; - $this->sourceLine = $sourceLine; - $this->targetLine = $targetLine; - $this->blockLine = $blockLine; - $this->content = $content; - } - - public function getContent() - { - return $this->content; - } - - public function getLine() - { - return $this->sourceLine; - } - - public function getCommit() - { - return $this->commit; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blob.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blob.php deleted file mode 100644 index 53db15b8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blob.php +++ /dev/null @@ -1,107 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -/** - * Representation of a Blob commit. - * - * @author Alexandre Salomé - */ -class Blob -{ - /** - * @var Repository - */ - protected $repository; - - /** - * @var string - */ - protected $hash; - - /** - * @var string - */ - protected $content; - - /** - * @var string - */ - protected $mimetype; - - /** - * @param Repository $repository Repository where the blob is located - * @param string $hash Hash of the blob - */ - public function __construct(Repository $repository, $hash) - { - $this->repository = $repository; - $this->hash = $hash; - } - - /** - * @return string - */ - public function getHash() - { - return $this->hash; - } - - /** - * Returns content of the blob. - * - * @throws ProcessException Error occurred while getting content of blob - */ - public function getContent() - { - if (null === $this->content) { - $this->content = $this->repository->run('cat-file', array('-p', $this->hash)); - } - - return $this->content; - } - - /** - * Determine the mimetype of the blob. - * - * @return string A mimetype - */ - public function getMimetype() - { - if (null === $this->mimetype) { - $finfo = new \finfo(FILEINFO_MIME); - $this->mimetype = $finfo->buffer($this->getContent()); - } - - return $this->mimetype; - } - - /** - * Determines if file is binary. - * - * @return bool - */ - public function isBinary() - { - return !$this->isText(); - } - - /** - * Determines if file is text. - * - * @return bool - */ - public function isText() - { - return (bool) preg_match('#^text/|^application/xml#', $this->getMimetype()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Commit.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Commit.php deleted file mode 100644 index 8715e515..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Commit.php +++ /dev/null @@ -1,404 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Diff\Diff; -use Gitonomy\Git\Exception\InvalidArgumentException; -use Gitonomy\Git\Exception\ProcessException; -use Gitonomy\Git\Exception\ReferenceNotFoundException; -use Gitonomy\Git\Util\StringHelper; - -/** - * Representation of a Git commit. - * - * @author Alexandre Salomé - */ -class Commit extends Revision -{ - /** - * Associative array of commit data. - * - * @var array - */ - private $data = array(); - - /** - * Constructor. - * - * @param Gitonomy\Git\Repository $repository Repository of the commit - * @param string $hash Hash of the commit - */ - public function __construct(Repository $repository, $hash, array $data = array()) - { - if (!preg_match('/^[a-f0-9]{40}$/', $hash)) { - throw new ReferenceNotFoundException($hash); - } - - parent::__construct($repository, $hash); - - $this->setData($data); - } - - public function setData(array $data) - { - foreach ($data as $name => $value) { - $this->data[$name] = $value; - } - } - - /** - * @return Diff - */ - public function getDiff() - { - $args = array('-r', '-p', '-m', '-M', '--no-commit-id', '--full-index', $this->revision); - - $diff = Diff::parse($this->repository->run('diff-tree', $args)); - $diff->setRepository($this->repository); - - return $diff; - } - - /** - * Returns the commit hash. - * - * @return string A SHA1 hash - */ - public function getHash() - { - return $this->revision; - } - - /** - * Returns the short commit hash. - * - * @return string A SHA1 hash - */ - public function getShortHash() - { - return $this->getData('shortHash'); - } - - /** - * Returns a fixed-with short hash. - */ - public function getFixedShortHash($length = 6) - { - return StringHelper::substr($this->revision, 0, $length); - } - - /** - * Returns parent hashes. - * - * @return array An array of SHA1 hashes - */ - public function getParentHashes() - { - return $this->getData('parentHashes'); - } - - /** - * Returns the parent commits. - * - * @return array An array of Commit objects - */ - public function getParents() - { - $result = array(); - foreach ($this->getData('parentHashes') as $parentHash) { - $result[] = $this->repository->getCommit($parentHash); - } - - return $result; - } - - /** - * Returns the tree hash. - * - * @return string A SHA1 hash - */ - public function getTreeHash() - { - return $this->getData('treeHash'); - } - - public function getTree() - { - return $this->getData('tree'); - } - - /** - * @return Commit - */ - public function getLastModification($path = null) - { - if (0 === strpos($path, '/')) { - $path = StringHelper::substr($path, 1); - } - - if ($getWorkingDir = $this->repository->getWorkingDir()) { - $path = $getWorkingDir.'/'.$path; - } - - $result = $this->repository->run('log', array('--format=%H', '-n', 1, $this->revision, '--', $path)); - - return $this->repository->getCommit(trim($result)); - } - - /** - * Returns the first line of the commit, and the first 50 characters. - * - * Ported from https://github.com/fabpot/Twig-extensions/blob/d67bc7e69788795d7905b52d31188bbc1d390e01/lib/Twig/Extensions/Extension/Text.php#L52-L109 - * - * @param int $length - * @param bool $preserve - * @param string $separator - * - * @return string - */ - public function getShortMessage($length = 50, $preserve = false, $separator = '...') - { - $message = $this->getData('subjectMessage'); - - if (StringHelper::strlen($message) > $length) { - if ($preserve && false !== ($breakpoint = StringHelper::strpos($message, ' ', $length))) { - $length = $breakpoint; - } - - return rtrim(StringHelper::substr($message, 0, $length)).$separator; - } - - return $message; - } - - /** - * Resolves all references associated to this commit. - * - * @return array An array of references (Branch, Tag, Squash) - */ - public function resolveReferences() - { - return $this->repository->getReferences()->resolve($this); - } - - /** - * Find branch containing the commit. - * - * @param bool $local set true to try to locate a commit on local repository - * @param bool $remote set true to try to locate a commit on remote repository - * - * @return array An array of Reference\Branch - */ - public function getIncludingBranches($local = true, $remote = true) - { - $arguments = array('--contains', $this->revision); - - if ($local && $remote) { - $arguments[] = '-a'; - } elseif (!$local && $remote) { - $arguments[] = '-r'; - } elseif (!$local && !$remote) { - throw new InvalidArgumentException('You should a least set one argument to true'); - } - - try { - $result = $this->repository->run('branch', $arguments); - } catch (ProcessException $e) { - return array(); - } - - if (!$result) { - return array(); - } - - $branchesName = explode("\n", trim(str_replace('*', '', $result))); - $branchesName = array_filter($branchesName, function ($v) { return false === StringHelper::strpos($v, '->');}); - $branchesName = array_map('trim', $branchesName); - - $references = $this->repository->getReferences(); - - $branches = array(); - foreach ($branchesName as $branchName) { - if (false === $local) { - $branches[] = $references->getRemoteBranch($branchName); - } elseif (0 === StringHelper::strrpos($branchName, 'remotes/')) { - $branches[] = $references->getRemoteBranch(str_replace('remotes/', '', $branchName)); - } else { - $branches[] = $references->getBranch($branchName); - } - } - - return $branches; - } - - /** - * Returns the author name. - * - * @return string A name - */ - public function getAuthorName() - { - return $this->getData('authorName'); - } - - /** - * Returns the author email. - * - * @return string An email - */ - public function getAuthorEmail() - { - return $this->getData('authorEmail'); - } - - /** - * Returns the authoring date. - * - * @return DateTime A time object - */ - public function getAuthorDate() - { - return $this->getData('authorDate'); - } - - /** - * Returns the committer name. - * - * @return string A name - */ - public function getCommitterName() - { - return $this->getData('committerName'); - } - - /** - * Returns the comitter email. - * - * @return string An email - */ - public function getCommitterEmail() - { - return $this->getData('committerEmail'); - } - - /** - * Returns the authoring date. - * - * @return DateTime A time object - */ - public function getCommitterDate() - { - return $this->getData('committerDate'); - } - - /** - * Returns the message of the commit. - * - * @return string A commit message - */ - public function getMessage() - { - return $this->getData('message'); - } - - /** - * Returns the subject message (the first line). - * - * @return string The subject message - */ - public function getSubjectMessage() - { - return $this->getData('subjectMessage'); - } - - /** - * Return the body message. - * - * @return string The body message - */ - public function getBodyMessage() - { - return $this->getData('bodyMessage'); - } - - /** - * @inheritdoc - */ - public function getCommit() - { - return $this; - } - - private function getData($name) - { - if (isset($this->data[$name])) { - return $this->data[$name]; - } - - if ($name === 'shortHash') { - $this->data['shortHash'] = trim($this->repository->run('log', array('--abbrev-commit', '--format=%h', '-n', 1, $this->revision))); - - return $this->data['shortHash']; - } - - if ($name === 'tree') { - $this->data['tree'] = $this->repository->getTree($this->getData('treeHash')); - - return $this->data['tree']; - } - - if ($name === 'subjectMessage') { - $lines = explode("\n", $this->getData('message')); - $this->data['subjectMessage'] = reset($lines); - - return $this->data['subjectMessage']; - } - - if ($name === 'bodyMessage') { - $message = $this->getData('message'); - - $lines = explode("\n", $message); - - array_shift($lines); - array_shift($lines); - - $data['bodyMessage'] = implode("\n", $lines); - - return $data['bodyMessage']; - } - - $parser = new Parser\CommitParser(); - try { - $result = $this->repository->run('cat-file', array('commit', $this->revision)); - } catch (ProcessException $e) { - throw new ReferenceNotFoundException(sprintf('Can not find reference "%s"', $this->revision)); - } - - $parser->parse($result); - - $this->data['treeHash'] = $parser->tree; - $this->data['parentHashes'] = $parser->parents; - $this->data['authorName'] = $parser->authorName; - $this->data['authorEmail'] = $parser->authorEmail; - $this->data['authorDate'] = $parser->authorDate; - $this->data['committerName'] = $parser->committerName; - $this->data['committerEmail'] = $parser->committerEmail; - $this->data['committerDate'] = $parser->committerDate; - $this->data['message'] = $parser->message; - - if (!isset($this->data[$name])) { - throw new \InvalidArgumentException(sprintf('No data named "%s" in Commit.', $name)); - } - - return $this->data[$name]; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/CommitReference.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/CommitReference.php deleted file mode 100644 index 1a247947..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/CommitReference.php +++ /dev/null @@ -1,22 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -class CommitReference -{ - private $hash; - - public function __construct($hash) - { - $this->hash = $hash; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/Diff.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/Diff.php deleted file mode 100644 index 180ca25b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/Diff.php +++ /dev/null @@ -1,127 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Diff; - -use Gitonomy\Git\Parser\DiffParser; -use Gitonomy\Git\Repository; - -/** - * Representation of a diff. - * - * @author Alexandre Salomé - */ -class Diff -{ - /** - * @var array - */ - protected $files; - - /** - * @var string - */ - protected $rawDiff; - - /** - * Constructs a new diff for a given revision. - * - * @param array $files The files - * @param string $rawDiff The raw diff - */ - public function __construct(array $files, $rawDiff) - { - $this->files = $files; - $this->rawDiff = $rawDiff; - } - - /** - * @return Diff - */ - public static function parse($rawDiff) - { - $parser = new DiffParser(); - $parser->parse($rawDiff); - - return new self($parser->files, $rawDiff); - } - - public function setRepository(Repository $repository) - { - foreach ($this->files as $file) { - $file->setRepository($repository); - } - } - - /** - * @return array - */ - public function getRevisions() - { - return $this->revisions; - } - - /** - * Get list of files modified in the diff's revision. - * - * @return array An array of Diff\File objects - */ - public function getFiles() - { - return $this->files; - } - - /** - * Returns the raw diff. - * - * @return string The raw diff - */ - public function getRawDiff() - { - return $this->rawDiff; - } - - /** - * Export a diff as array. - * - * @return array The array - */ - public function toArray() - { - return array( - 'rawDiff' => $this->rawDiff, - 'files' => array_map( - function (File $file) { - return $file->toArray(); - }, $this->files - ), - ); - } - - /** - * Create a new instance of Diff from an array. - * - * @param array $array The array - * - * @return Diff The new instance - */ - public static function fromArray(array $array) - { - return new static( - array_map( - function ($array) { - return File::fromArray($array); - }, $array['files'] - ), - $array['rawDiff'] - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/File.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/File.php deleted file mode 100644 index 9fa36348..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/File.php +++ /dev/null @@ -1,289 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Diff; - -use Gitonomy\Git\Repository; - -/** - * @author Alexandre Salomé - */ -class File -{ - /** - * @var string - */ - protected $oldName; - - /** - * @var string - */ - protected $newName; - - /** - * @var string - */ - protected $oldMode; - - /** - * @var string - */ - protected $newMode; - - /** - * @var string - */ - protected $oldIndex; - - /** - * @var string - */ - protected $newIndex; - - /** - * @var bool - */ - protected $isBinary; - - /** - * @var array An array of FileChange objects - */ - protected $changes; - - /** - * @var Repository - */ - protected $repository; - - /** - * Instanciates a new File object. - */ - public function __construct($oldName, $newName, $oldMode, $newMode, $oldIndex, $newIndex, $isBinary) - { - $this->oldName = $oldName; - $this->newName = $newName; - $this->oldMode = $oldMode; - $this->newMode = $newMode; - $this->oldIndex = $oldIndex; - $this->newIndex = $newIndex; - $this->isBinary = $isBinary; - - $this->changes = array(); - } - - public function addChange(FileChange $change) - { - $this->changes[] = $change; - } - - /** - * Indicates if this diff file is a creation. - * - * @return bool - */ - public function isCreation() - { - return null === $this->oldName; - } - - /** - * Indicates if this diff file is a modification. - * - * @return bool - */ - public function isModification() - { - return null !== $this->oldName && null !== $this->newName; - } - - /** - * Indicates if it's a rename. - * - * A rename can only occurs if it's a modification (not a creation or a deletion). - * - * @return bool - */ - public function isRename() - { - return $this->isModification() && $this->oldName !== $this->newName; - } - - /** - * Indicates if the file mode has changed. - */ - public function isChangeMode() - { - return $this->isModification() && $this->oldMode !== $this->newMode; - } - - /** - * Indicates if this diff file is a deletion. - * - * @return bool - */ - public function isDeletion() - { - return null === $this->newName; - } - - /** - * Indicates if this diff file is a deletion. - * - * @return bool - */ - public function isDelete() - { - return null === $this->newName; - } - - /** - * @return int Number of added lines - */ - public function getAdditions() - { - $result = 0; - foreach ($this->changes as $change) { - $result += $change->getCount(FileChange::LINE_ADD); - } - - return $result; - } - - /** - * @return int Number of deleted lines - */ - public function getDeletions() - { - $result = 0; - foreach ($this->changes as $change) { - $result += $change->getCount(FileChange::LINE_REMOVE); - } - - return $result; - } - - public function getOldName() - { - return $this->oldName; - } - - public function getNewName() - { - return $this->newName; - } - - public function getName() - { - if (null === $this->newName) { - return $this->oldName; - } - - return $this->newName; - } - - public function getOldMode() - { - return $this->oldMode; - } - - public function getNewMode() - { - return $this->newMode; - } - - public function getOldIndex() - { - return $this->oldIndex; - } - - public function getNewIndex() - { - return $this->newIndex; - } - - public function isBinary() - { - return $this->isBinary; - } - - public function getChanges() - { - return $this->changes; - } - - public function toArray() - { - return array( - 'old_name' => $this->oldName, - 'new_name' => $this->newName, - 'old_mode' => $this->oldMode, - 'new_mode' => $this->newMode, - 'old_index' => $this->oldIndex, - 'new_index' => $this->newIndex, - 'is_binary' => $this->isBinary, - 'changes' => array_map(function (FileChange $change) { - return $change->toArray(); - }, $this->changes), - ); - } - - public static function fromArray(array $array) - { - $file = new self($array['old_name'], $array['new_name'], $array['old_mode'], $array['new_mode'], $array['old_index'], $array['new_index'], $array['is_binary']); - - foreach ($array['changes'] as $change) { - $file->addChange(FileChange::fromArray($change)); - } - - return $file; - } - - public function getAnchor() - { - return substr($this->newIndex, 0, 12); - } - - public function getRepository() - { - return $this->repository; - } - - public function setRepository(Repository $repository) - { - $this->repository = $repository; - } - - public function getOldBlob() - { - if (null === $this->repository) { - throw new \RuntimeException('Repository is missing to return Blob object.'); - } - - if ($this->isCreation()) { - throw new \LogicException('Can\'t return old Blob on a creation'); - } - - return $this->repository->getBlob($this->oldIndex); - } - - public function getNewBlob() - { - if (null === $this->repository) { - throw new \RuntimeException('Repository is missing to return Blob object.'); - } - - if ($this->isDeletion()) { - throw new \LogicException('Can\'t return new Blob on a deletion'); - } - - return $this->repository->getBlob($this->newIndex); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/FileChange.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/FileChange.php deleted file mode 100644 index e065be68..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/FileChange.php +++ /dev/null @@ -1,87 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Diff; - -class FileChange -{ - const LINE_CONTEXT = 0; - const LINE_REMOVE = -1; - const LINE_ADD = 1; - - protected $rangeOldStart; - protected $rangeOldCount; - protected $rangeNewStart; - protected $rangeNewCount; - protected $lines; - - public function __construct($rangeOldStart, $rangeOldCount, $rangeNewStart, $rangeNewCount, $lines) - { - $this->rangeOldStart = $rangeOldStart; - $this->rangeOldCount = $rangeOldCount; - $this->rangeNewStart = $rangeNewStart; - $this->rangeNewCount = $rangeNewCount; - $this->lines = $lines; - } - - public function getCount($type) - { - $result = 0; - foreach ($this->lines as $line) { - if ($line[0] === $type) { - ++$result; - } - } - - return $result; - } - - public function getRangeOldStart() - { - return $this->rangeOldStart; - } - - public function getRangeOldCount() - { - return $this->rangeOldCount; - } - - public function getRangeNewStart() - { - return $this->rangeNewStart; - } - - public function getRangeNewCount() - { - return $this->rangeNewCount; - } - - public function getLines() - { - return $this->lines; - } - - public function toArray() - { - return array( - 'range_old_start' => $this->rangeOldStart, - 'range_old_count' => $this->rangeOldCount, - 'range_new_start' => $this->rangeNewStart, - 'range_new_count' => $this->rangeNewCount, - 'lines' => $this->lines, - ); - } - - public static function fromArray(array $array) - { - return new self($array['range_old_start'], $array['range_old_count'], $array['range_new_start'], $array['range_new_count'], $array['lines']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/GitExceptionInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/GitExceptionInterface.php deleted file mode 100644 index 1c51e1c9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/GitExceptionInterface.php +++ /dev/null @@ -1,16 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Exception; - -interface GitExceptionInterface -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/InvalidArgumentException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/InvalidArgumentException.php deleted file mode 100644 index 32b01b6f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,7 +0,0 @@ -getCommandLine()."\n". - "\n". - $process->getErrorOutput()."\n". - "\n". - $process->getOutput() - ); - - $this->process = $process; - } - - public function getErrorOutput() - { - return $this->process->getErrorOutput(); - } - - public function getOutput() - { - return $this->process->getOutput(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/ReferenceNotFoundException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/ReferenceNotFoundException.php deleted file mode 100644 index f213acfd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/ReferenceNotFoundException.php +++ /dev/null @@ -1,20 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Exception; - -class ReferenceNotFoundException extends \InvalidArgumentException implements GitExceptionInterface -{ - public function __construct($reference) - { - parent::__construct(sprintf('Reference not found: "%s"', $reference)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/RuntimeException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/RuntimeException.php deleted file mode 100644 index 06a76d8d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/RuntimeException.php +++ /dev/null @@ -1,7 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Exception\InvalidArgumentException; -use Gitonomy\Git\Exception\LogicException; - -/** - * Hooks collection, aggregated by repository. - * - * @author Alexandre Salomé - */ -class Hooks -{ - /** - * @var Gitonomy\Git\Repository - */ - protected $repository; - - /** - * @var Repository - */ - public function __construct(Repository $repository) - { - $this->repository = $repository; - } - - /** - * Tests if repository has a given hook. - * - * @param string $name Name of the hook - * - * @return bool - */ - public function has($name) - { - return file_exists($this->getPath($name)); - } - - /** - * Fetches content of a hook. - * - * @param string $name Name of the hook - * - * @return string Content of the hook - * - * @throws InvalidArgumentException Hook does not exist - */ - public function get($name) - { - if (!$this->has($name)) { - throw new InvalidArgumentException(sprintf('Hook named "%s" is not present', $name)); - } - - return file_get_contents($this->getPath($name)); - } - - /** - * Insert a hook in repository using a symlink. - * - * @param string $name Name of the hook to insert - * @param string $file Target of symlink - * - * @throws LogicException Hook is already present - * @throws RuntimeException Error on symlink creation - */ - public function setSymlink($name, $file) - { - if ($this->has($name)) { - throw new LogicException(sprintf('A hook "%s" is already defined', $name)); - } - - $path = $this->getPath($name); - if (false === symlink($file, $path)) { - throw new RuntimeException(sprintf('Unable to create hook "%s"', $name, $path)); - } - } - - /** - * Set a hook in repository. - * - * @param string $name Name of the hook - * @param string $content Content of the hook - * - * @throws LogicException The hook is already defined - */ - public function set($name, $content) - { - if ($this->has($name)) { - throw new LogicException(sprintf('A hook "%s" is already defined', $name)); - } - - $path = $this->getPath($name); - file_put_contents($path, $content); - chmod($path, 0777); - } - - /** - * Removes a hook from repository. - * - * @param string $name Name of the hook - * - * @throws LogicException The hook is not present - */ - public function remove($name) - { - if (!$this->has($name)) { - throw new LogicException(sprintf('The hook "%s" was not found', $name)); - } - - unlink($this->getPath($name)); - } - - protected function getPath($name) - { - return $this->repository->getGitDir().'/hooks/'.$name; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Log.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Log.php deleted file mode 100644 index 67506e9a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Log.php +++ /dev/null @@ -1,232 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Exception\ProcessException; -use Gitonomy\Git\Exception\ReferenceNotFoundException; -use Gitonomy\Git\Util\StringHelper; - -/** - * @author Alexandre Salomé - */ -class Log implements \Countable, \IteratorAggregate -{ - /** - * @var Repository - */ - protected $repository; - - /** - * @var array - */ - protected $revisions; - - /** - * @var array - */ - protected $paths; - - /** - * @var int - */ - protected $offset; - - /** - * @var int - */ - protected $limit; - - /** - * Instanciates a git log object. - * - * @param Repository $repository the repository where log occurs - * @param RevisionList $revisions a list of revisions or null if you want all history - * @param array $paths paths to filter on - * @param int|null $offset start list from a given position - * @param int|null $limit limit number of fetched elements - */ - public function __construct(Repository $repository, $revisions = null, $paths = null, $offset = null, $limit = null) - { - if (null !== $revisions && !$revisions instanceof RevisionList) { - $revisions = new RevisionList($repository, $revisions); - } - - if (null === $paths) { - $paths = array(); - } elseif (is_string($paths)) { - $paths = array($paths); - } elseif (!is_array($paths)) { - throw new \InvalidArgumentException(sprintf('Expected a string or an array, got a "%s".', is_object($paths) ? get_class($paths) : gettype($paths))); - } - - $this->repository = $repository; - $this->revisions = $revisions; - $this->paths = $paths; - $this->offset = $offset; - $this->limit = $limit; - } - - /** - * @return Diff - */ - public function getDiff() - { - return $this->repository->getDiff($this->revisions); - } - - /** - * @return RevisionList - */ - public function getRevisions() - { - return $this->revisions; - } - - /** - * @return array - */ - public function getPaths() - { - return $this->paths; - } - - /** - * @return int - */ - public function getOffset() - { - return $this->offset; - } - - /** - * @param int $offset - */ - public function setOffset($offset) - { - $this->offset = $offset; - - return $this; - } - - /** - * @return int - */ - public function getLimit() - { - return $this->limit; - } - - /** - * @param int $limit - */ - public function setLimit($limit) - { - $this->limit = $limit; - - return $this; - } - - public function getSingleCommit() - { - $limit = $this->limit; - $this->limit = 1; - $commits = $this->getCommits(); - $this->setLimit($limit); - - if (count($commits) === 0) { - throw new ReferenceNotFoundException('The log is empty'); - } - - return array_pop($commits); - } - - /** - * @return array - */ - public function getCommits() - { - $args = array('--encoding='.StringHelper::getEncoding(), '--format=raw'); - - if (null !== $this->offset) { - $args[] = '--skip='.((int) $this->offset); - } - - if (null !== $this->limit) { - $args[] = '-n'; - $args[] = (int) $this->limit; - } - - if (null !== $this->revisions) { - $args = array_merge($args, $this->revisions->getAsTextArray()); - } else { - $args[] = '--all'; - } - - $args[] = '--'; - - $args = array_merge($args, $this->paths); - - try { - $output = $this->repository->run('log', $args); - } catch (ProcessException $e) { - throw new ReferenceNotFoundException(sprintf('Can not find revision "%s"', implode(' ', $this->revisions->getAsTextArray())), null, $e); - } - - $parser = new Parser\LogParser(); - $parser->parse($output); - - $result = array(); - foreach ($parser->log as $commitData) { - $hash = $commitData['id']; - unset($commitData['id']); - - $commit = $this->repository->getCommit($hash); - $commit->setData($commitData); - - $result[] = $commit; - } - - return $result; - } - - /** - * @see Countable - */ - public function count() - { - return $this->countCommits(); - } - - /** - * @see IteratorAggregate - */ - public function getIterator() - { - return new \ArrayIterator($this->getCommits()); - } - - /** - * Count commits, without offset or limit. - * - * @return int - */ - public function countCommits() - { - if (count($this->revisions)) { - $output = $this->repository->run('rev-list', array_merge(array('--count'), $this->revisions->getAsTextArray(), array('--'), $this->paths)); - } else { - $output = $this->repository->run('rev-list', array_merge(array('--count', '--all', '--'), $this->paths)); - } - - return (int) $output; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/BlameParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/BlameParser.php deleted file mode 100644 index dcbe3a7b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/BlameParser.php +++ /dev/null @@ -1,74 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Parser; - -use Gitonomy\Git\Blame\Line; -use Gitonomy\Git\Repository; - -class BlameParser extends ParserBase -{ - public $lines; - - protected $repository; - - public function __construct(Repository $repository) - { - $this->repository = $repository; - } - - protected function doParse() - { - $this->lines = array(); - - $memory = array(); - - $line = 1; - while (!$this->isFinished()) { - $hash = $this->consumeHash(); - $this->consume(' '); - $vars = $this->consumeRegexp('/(\d+) (\d+)( (\d+))?/A'); - $sourceLine = $vars[1]; - $targetLine = $vars[2]; - $blockLine = isset($vars[4]) ? $vars[4] : null; - $this->consumeTo("\n"); - $this->consumeNewLine(); - - if (!isset($memory[$hash])) { - foreach (array('author', 'author-mail', 'author-time', 'author-tz', - 'committer', 'committer-mail', 'committer-time', 'committer-tz', - 'summary', ) as $key) { - $this->consume($key); - $this->consumeTo("\n"); - $this->consumeNewLine(); - } - - if ($this->expects('previous ')) { - $this->consumeTo("\n"); - $this->consumeNewLine(); - } - - if ($this->expects('boundary')) { - $this->consumeNewLine(); - } - $this->consume('filename'); - $this->consumeTo("\n"); // filename - $this->consumeNewLine(); - $memory[$hash] = $this->repository->getCommit($hash); - } - $content = $this->consumeTo("\n"); // content of line - $this->consumeNewLine(); - - $this->lines[$line] = new Line($memory[$hash], $sourceLine, $targetLine, $blockLine, $content); - ++$line; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/CommitParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/CommitParser.php deleted file mode 100644 index 804fc1fb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/CommitParser.php +++ /dev/null @@ -1,75 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Parser; - -use Gitonomy\Git\Exception\RuntimeException; - -class CommitParser extends ParserBase -{ - public $tree; - public $parents; - public $authorName; - public $authorEmail; - public $authorDate; - public $committerName; - public $committerEmail; - public $committerDate; - public $message; - - protected function doParse() - { - $this->consume('tree '); - $this->tree = $this->consumeHash(); - $this->consumeNewLine(); - - $this->parents = array(); - while ($this->expects('parent ')) { - $this->parents[] = $this->consumeHash(); - $this->consumeNewLine(); - } - - $this->consume('author '); - list($this->authorName, $this->authorEmail, $this->authorDate) = $this->consumeNameEmailDate(); - $this->authorDate = $this->parseDate($this->authorDate); - $this->consumeNewLine(); - - $this->consume('committer '); - list($this->committerName, $this->committerEmail, $this->committerDate) = $this->consumeNameEmailDate(); - $this->committerDate = $this->parseDate($this->committerDate); - $this->consumeNewLine(); - - $this->consumeNewLine(); - $this->message = $this->consumeAll(); - } - - protected function consumeNameEmailDate() - { - if (!preg_match('/(([^\n]*) <([^\n]*)> (\d+ [+-]\d{4}))/A', $this->content, $vars, 0, $this->cursor)) { - throw new RuntimeException('Unable to parse name, email and date'); - } - - $this->cursor += strlen($vars[1]); - - return array($vars[2], $vars[3], $vars[4]); - } - - protected function parseDate($text) - { - $date = \DateTime::createFromFormat('U e O', $text.' UTC'); - - if (!$date instanceof \DateTime) { - throw new RuntimeException(sprintf('Unable to convert "%s" to datetime', $text)); - } - - return $date; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/DiffParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/DiffParser.php deleted file mode 100644 index c9f011ba..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/DiffParser.php +++ /dev/null @@ -1,133 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Parser; - -use Gitonomy\Git\Diff\File; -use Gitonomy\Git\Diff\FileChange; - -class DiffParser extends ParserBase -{ - public $files; - - protected function doParse() - { - $this->files = array(); - - while (!$this->isFinished()) { - // 1. title - $vars = $this->consumeRegexp('/diff --git (a\/.*) (b\/.*)\n/'); - $oldName = $vars[1]; - $newName = $vars[2]; - $oldIndex = null; - $newIndex = null; - $oldMode = null; - $newMode = null; - - // 2. mode - if ($this->expects('new file mode ')) { - $newMode = $this->consumeTo("\n"); - $this->consumeNewLine(); - $oldMode = null; - } - if ($this->expects('old mode ')) { - $oldMode = $this->consumeTo("\n"); - $this->consumeNewLine(); - $this->consume('new mode '); - $newMode = $this->consumeTo("\n"); - $this->consumeNewLine(); - } - if ($this->expects('deleted file mode ')) { - $oldMode = $this->consumeTo("\n"); - $newMode = null; - $this->consumeNewLine(); - } - - if ($this->expects('similarity index ')) { - $this->consumeRegexp('/\d{1,3}%\n/'); - $this->consume('rename from '); - $this->consumeTo("\n"); - $this->consumeNewLine(); - $this->consume('rename to '); - $this->consumeTo("\n"); - $this->consumeNewLine(); - } - - // 4. File informations - $isBinary = false; - if ($this->expects('index ')) { - $oldIndex = $this->consumeHash(); - $this->consume('..'); - $newIndex = $this->consumeHash(); - if ($this->expects(' ')) { - $vars = $this->consumeRegexp('/\d{6}/'); - $newMode = $oldMode = $vars[0]; - } - $this->consumeNewLine(); - - if ($this->expects('--- ')) { - $oldName = $this->consumeTo("\n"); - $this->consumeNewLine(); - $this->consume('+++ '); - $newName = $this->consumeTo("\n"); - $this->consumeNewLine(); - } elseif ($this->expects('Binary files ')) { - $vars = $this->consumeRegexp('/(.*) and (.*) differ\n/'); - $isBinary = true; - $oldName = $vars[1]; - $newName = $vars[2]; - } - } - - $oldName = $oldName === '/dev/null' ? null : substr($oldName, 2); - $newName = $newName === '/dev/null' ? null : substr($newName, 2); - $oldIndex = preg_match('/^0+$/', $oldIndex) ? null : $oldIndex; - $newIndex = preg_match('/^0+$/', $newIndex) ? null : $newIndex; - $file = new File($oldName, $newName, $oldMode, $newMode, $oldIndex, $newIndex, $isBinary); - - // 5. Diff - while ($this->expects('@@ ')) { - $vars = $this->consumeRegexp('/-(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))?/'); - $rangeOldStart = $vars[1]; - $rangeOldCount = $vars[2]; - $rangeNewStart = $vars[3]; - $rangeNewCount = isset($vars[4]) ? $vars[4] : $vars[2]; // @todo Ici, t'as pris un gros raccourci mon loulou - $this->consume(' @@'); - $this->consumeTo("\n"); - $this->consumeNewLine(); - - // 6. Lines - $lines = array(); - while (true) { - if ($this->expects(' ')) { - $lines[] = array(FileChange::LINE_CONTEXT, $this->consumeTo("\n")); - } elseif ($this->expects('+')) { - $lines[] = array(FileChange::LINE_ADD, $this->consumeTo("\n")); - } elseif ($this->expects('-')) { - $lines[] = array(FileChange::LINE_REMOVE, $this->consumeTo("\n")); - } elseif ($this->expects("\ No newline at end of file")) { - // Ignore this case... - } else { - break; - } - - $this->consumeNewLine(); - } - - $change = new FileChange($rangeOldStart, $rangeOldCount, $rangeNewStart, $rangeNewCount, $lines); - - $file->addChange($change); - } - - $this->files[] = $file; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/LogParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/LogParser.php deleted file mode 100644 index c5137619..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/LogParser.php +++ /dev/null @@ -1,64 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Parser; - -class LogParser extends CommitParser -{ - public $log = array(); - - protected function doParse() - { - $this->log = array(); - - while (!$this->isFinished()) { - $commit = array(); - $this->consume('commit '); - $commit['id'] = $this->consumeHash(); - $this->consumeNewLine(); - - $this->consume('tree '); - $commit['treeHash'] = $this->consumeHash(); - $this->consumeNewLine(); - - $commit['parentHashes'] = array(); - while ($this->expects('parent ')) { - $commit['parentHashes'][] = $this->consumeHash(); - $this->consumeNewLine(); - } - - $this->consume('author '); - list($commit['authorName'], $commit['authorEmail'], $commit['authorDate']) = $this->consumeNameEmailDate(); - $commit['authorDate'] = $this->parseDate($commit['authorDate']); - $this->consumeNewLine(); - - $this->consume('committer '); - list($commit['committerName'], $commit['committerEmail'], $commit['committerDate']) = $this->consumeNameEmailDate(); - $commit['committerDate'] = $this->parseDate($commit['committerDate']); - $this->consumeNewLine(); - $this->consumeNewLine(); - - $message = ''; - while ($this->expects(' ')) { - $message .= $this->consumeTo("\n")."\n"; - $this->consumeNewLine(); - } - - if (!$this->isFinished()) { - $this->consumeNewLine(); - } - - $commit['message'] = $message; - - $this->log[] = $commit; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ParserBase.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ParserBase.php deleted file mode 100644 index ad62d901..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ParserBase.php +++ /dev/null @@ -1,122 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Parser; - -use Gitonomy\Git\Exception\RuntimeException; - -abstract class ParserBase -{ - protected $cursor; - protected $content; - protected $length; - - abstract protected function doParse(); - - public function parse($content) - { - $this->cursor = 0; - $this->content = $content; - $this->length = strlen($this->content); - - $this->doParse(); - } - - protected function isFinished() - { - return $this->cursor === $this->length; - } - - protected function consumeAll() - { - $rest = substr($this->content, $this->cursor); - $this->cursor += strlen($rest); - - return $rest; - } - - protected function expects($expected) - { - $length = strlen($expected); - $actual = substr($this->content, $this->cursor, $length); - if ($actual !== $expected) { - return false; - } - - $this->cursor += $length; - - return true; - } - - protected function consumeShortHash() - { - if (!preg_match('/([A-Za-z0-9]{7,40})/A', $this->content, $vars, null, $this->cursor)) { - throw new RuntimeException('No short hash found: '.substr($this->content, $this->cursor, 7)); - } - - $this->cursor += strlen($vars[1]); - - return $vars[1]; - } - - protected function consumeHash() - { - if (!preg_match('/([A-Za-z0-9]{40})/A', $this->content, $vars, null, $this->cursor)) { - throw new RuntimeException('No hash found: '.substr($this->content, $this->cursor, 40)); - } - - $this->cursor += 40; - - return $vars[1]; - } - - protected function consumeRegexp($regexp) - { - if (!preg_match($regexp.'A', $this->content, $vars, null, $this->cursor)) { - throw new RuntimeException('No match for regexp '.$regexp.' Upcoming: '.substr($this->content, $this->cursor, 30)); - } - - $this->cursor += strlen($vars[0]); - - return $vars; - } - - protected function consumeTo($text) - { - $pos = strpos($this->content, $text, $this->cursor); - - if (false === $pos) { - throw new RuntimeException(sprintf('Unable to find "%s"', $text)); - } - - $result = substr($this->content, $this->cursor, $pos - $this->cursor); - $this->cursor = $pos; - - return $result; - } - - protected function consume($expected) - { - $length = strlen($expected); - $actual = substr($this->content, $this->cursor, $length); - if ($actual !== $expected) { - throw new RuntimeException(sprintf('Expected "%s", but got "%s" (%s)', $expected, $actual, substr($this->content, $this->cursor, 10))); - } - $this->cursor += $length; - - return $expected; - } - - protected function consumeNewLine() - { - return $this->consume("\n"); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ReferenceParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ReferenceParser.php deleted file mode 100644 index d7a317cd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ReferenceParser.php +++ /dev/null @@ -1,30 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Parser; - -class ReferenceParser extends ParserBase -{ - public $references; - - protected function doParse() - { - $this->references = array(); - - while (!$this->isFinished()) { - $hash = $this->consumeHash(); - $this->consume(' '); - $name = $this->consumeTo("\n"); - $this->consumeNewLine(); - $this->references[] = array($hash, $name); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/TreeParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/TreeParser.php deleted file mode 100644 index aa0dd295..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/TreeParser.php +++ /dev/null @@ -1,38 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Parser; - -class TreeParser extends ParserBase -{ - public $entries = array(); - - protected function doParse() - { - while (!$this->isFinished()) { - $vars = $this->consumeRegexp('/\d{6}/A'); - $mode = $vars[0]; - $this->consume(' '); - - $vars = $this->consumeRegexp('/(blob|tree|commit)/A'); - $type = $vars[0]; - $this->consume(' '); - - $hash = $this->consumeHash(); - $this->consume("\t"); - - $name = $this->consumeTo("\n"); - $this->consumeNewLine(); - - $this->entries[] = array($mode, $type, $hash, $name); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/PushReference.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/PushReference.php deleted file mode 100644 index ce7b859f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/PushReference.php +++ /dev/null @@ -1,169 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Exception\LogicException; - -/** - * Push reference contains a commit interval. This object aggregates methods - * for this interval. - * - * @author Julien DIDIER - */ -class PushReference -{ - const ZERO = '0000000000000000000000000000000000000000'; - - /** - * @var string - */ - protected $reference; - - /** - * @var string - */ - protected $before; - - /** - * @var string - */ - protected $after; - - /** - * @var bool - */ - protected $isForce; - - public function __construct(Repository $repository, $reference, $before, $after) - { - $this->repository = $repository; - $this->reference = $reference; - $this->before = $before; - $this->after = $after; - $this->isForce = $this->getForce(); - } - - /** - * @return Repository - */ - public function getRepository() - { - return $this->repository; - } - - /** - * @return string - */ - public function getReference() - { - return $this->reference; - } - - /** - * @return string - */ - public function getBefore() - { - return $this->before; - } - - /** - * @return string - */ - public function getAfter() - { - return $this->after; - } - - /** - * @return array - */ - public function getLog($excludes = array()) - { - return $this->repository->getLog(array_merge( - array($this->getRevision()), - array_map(function ($e) { - return '^'.$e; - }, $excludes) - )); - } - - public function getRevision() - { - if ($this->isDelete()) { - throw new LogicException('No revision for deletion'); - } - - if ($this->isCreate()) { - return $this->getAfter(); - } - - return $this->getBefore().'..'.$this->getAfter(); - } - - /** - * @return bool - */ - public function isCreate() - { - return $this->isZero($this->before); - } - - /** - * @return bool - */ - public function isDelete() - { - return $this->isZero($this->after); - } - - /** - * @return bool - */ - public function isForce() - { - return $this->isForce; - } - - /** - * @return bool - */ - public function isFastForward() - { - return !$this->isDelete() && !$this->isCreate() && !$this->isForce(); - } - - /** - * @return bool - */ - protected function isZero($reference) - { - return self::ZERO === $reference; - } - - /** - * @return bool - */ - protected function getForce() - { - if ($this->isDelete() || $this->isCreate()) { - return false; - } - - $result = $this->repository->run('merge-base', array( - $this->before, - $this->after, - )); - - return $this->before !== trim($result); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference.php deleted file mode 100644 index 85fc6891..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference.php +++ /dev/null @@ -1,70 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -/** - * Reference in a Git repository. - * - * @author Alexandre Salomé - * @author Julien DIDIER - */ -abstract class Reference extends Revision -{ - protected $commitHash; - - public function __construct(Repository $repository, $revision, $commitHash = null) - { - $this->repository = $repository; - $this->revision = $revision; - $this->commitHash = $commitHash; - } - - public function getFullname() - { - return $this->revision; - } - - public function delete() - { - $this->repository->getReferences()->delete($this->getFullname()); - } - - public function getCommitHash() - { - if (null !== $this->commitHash) { - return $this->commitHash; - } - - try { - $result = $this->repository->run('rev-parse', array('--verify', $this->revision)); - } catch (ProcessException $e) { - throw new ReferenceNotFoundException(sprintf('Can not find revision "%s"', $this->revision)); - } - - return $this->commitHash = trim($result); - } - - /** - * Returns the commit associated to the reference. - * - * @return Gitonomy\Git\Commit - */ - public function getCommit() - { - return $this->repository->getCommit($this->getCommitHash()); - } - - public function getLastModification($path = null) - { - return $this->getCommit()->getLastModification($path); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Branch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Branch.php deleted file mode 100644 index df837e73..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Branch.php +++ /dev/null @@ -1,61 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Reference; - -use Gitonomy\Git\Exception\RuntimeException; -use Gitonomy\Git\Reference; - -/** - * Representation of a branch reference. - * - * @author Alexandre Salomé - */ -class Branch extends Reference -{ - private $local = null; - - public function getName() - { - $fullname = $this->getFullname(); - - if (preg_match('#^refs/heads/(?.*)$#', $fullname, $vars)) { - return $vars['name']; - } - - if (preg_match('#^refs/remotes/(?[^/]*)/(?.*)$#', $fullname, $vars)) { - return $vars['remote'].'/'.$vars['name']; - } - - throw new RuntimeException(sprintf('Cannot extract branch name from "%s"', $fullname)); - } - - public function isRemote() - { - $this->detectBranchType(); - - return !$this->local; - } - - public function isLocal() - { - $this->detectBranchType(); - - return $this->local; - } - - private function detectBranchType() - { - if (null === $this->local) { - $this->local = !preg_match('#^refs/remotes/(?[^/]*)/(?.*)$#', $this->getFullname()); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Stash.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Stash.php deleted file mode 100644 index fb2214e6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Stash.php +++ /dev/null @@ -1,25 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Reference; - -use Gitonomy\Git\Reference; - -/** - * @author Alexandre Salomé - */ -class Stash extends Reference -{ - public function getName() - { - return 'stash'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Tag.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Tag.php deleted file mode 100644 index 8c529f9b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Tag.php +++ /dev/null @@ -1,32 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Reference; - -use Gitonomy\Git\Exception\RuntimeException; -use Gitonomy\Git\Reference; - -/** - * Representation of a tag reference. - * - * @author Alexandre Salomé - */ -class Tag extends Reference -{ - public function getName() - { - if (!preg_match('#^refs/tags/(.*)$#', $this->revision, $vars)) { - throw new RuntimeException(sprintf('Cannot extract tag name from "%s"', $this->revision)); - } - - return $vars[1]; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/ReferenceBag.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/ReferenceBag.php deleted file mode 100644 index f7ca9a7b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/ReferenceBag.php +++ /dev/null @@ -1,397 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Exception\ReferenceNotFoundException; -use Gitonomy\Git\Exception\RuntimeException; -use Gitonomy\Git\Reference\Branch; -use Gitonomy\Git\Reference\Stash; -use Gitonomy\Git\Reference\Tag; - -/** - * Reference set associated to a repository. - * - * @author Alexandre Salomé - * @author Julien DIDIER - */ -class ReferenceBag implements \Countable, \IteratorAggregate -{ - /** - * Repository object. - * - * @var Gitonomy\Git\Repository - */ - protected $repository; - - /** - * Associative array of fullname references. - * - * @var array - */ - protected $references; - - /** - * List with all tags. - * - * @var array - */ - protected $tags; - - /** - * List with all branches. - * - * @var array - */ - protected $branches; - - /** - * A boolean indicating if the bag is already initialized. - * - * @var bool - */ - protected $initialized = false; - - /** - * Constructor. - * - * @param Gitonomy\Git\Repository $repository The repository - */ - public function __construct($repository) - { - $this->repository = $repository; - $this->references = array(); - $this->tags = array(); - $this->branches = array(); - } - - /** - * Returns a reference, by name. - * - * @param string $fullname Fullname of the reference (refs/heads/master, for example). - * - * @return Gitonomy\Git\Reference A reference object. - */ - public function get($fullname) - { - $this->initialize(); - - if (!isset($this->references[$fullname])) { - throw new ReferenceNotFoundException($fullname); - } - - return $this->references[$fullname]; - } - - public function has($fullname) - { - $this->initialize(); - - return isset($this->references[$fullname]); - } - - public function update(Reference $reference) - { - $fullname = $reference->getFullname(); - - $this->initialize(); - $this->repository->run('update-ref', array($fullname, $reference->getCommitHash())); - - $this->references[$fullname] = $reference; - - return $reference; - } - - public function createBranch($name, $commitHash) - { - $branch = new Branch($this->repository, 'refs/heads/'.$name, $commitHash); - - return $this->update($branch); - } - - public function createTag($name, $commitHash) - { - $tag = new Tag($this->repository, 'refs/tags/'.$name, $commitHash); - - return $this->update($tag); - } - - public function delete($fullname) - { - $this->repository->run('update-ref', array('-d', $fullname)); - - unset($this->references[$fullname]); - } - - public function hasBranches() - { - $this->initialize(); - - return count($this->branches) > 0; - } - - public function hasBranch($name) - { - return $this->has('refs/heads/'.$name); - } - - public function hasRemoteBranch($name) - { - return $this->has('refs/remotes/'.$name); - } - - public function hasTag($name) - { - return $this->has('refs/tags/'.$name); - } - - public function getFirstBranch() - { - $this->initialize(); - reset($this->branches); - - return current($this->references); - } - - /** - * @return array An array of Tag objects - */ - public function resolveTags($hash) - { - $this->initialize(); - - if ($hash instanceof Commit) { - $hash = $hash->getHash(); - } - - $tags = array(); - foreach ($this->references as $reference) { - if ($reference instanceof Reference\Tag && $reference->getCommitHash() === $hash) { - $tags[] = $reference; - } - } - - return $tags; - } - - /** - * @return array An array of Branch objects - */ - public function resolveBranches($hash) - { - $this->initialize(); - - if ($hash instanceof Commit) { - $hash = $hash->getHash(); - } - - $branches = array(); - foreach ($this->references as $reference) { - if ($reference instanceof Reference\Branch && $reference->getCommitHash() === $hash) { - $branches[] = $reference; - } - } - - return $branches; - } - - /** - * @return array An array of references - */ - public function resolve($hash) - { - $this->initialize(); - - if ($hash instanceof Commit) { - $hash = $hash->getHash(); - } - - $result = array(); - foreach ($this->references as $k => $reference) { - if ($reference->getCommitHash() === $hash) { - $result[] = $reference; - } - } - - return $result; - } - - /** - * Returns all tags. - * - * @return array - */ - public function getTags() - { - $this->initialize(); - - return $this->tags; - } - - /** - * Returns all branches. - * - * @return array - */ - public function getBranches() - { - $this->initialize(); - - $result = array(); - foreach ($this->references as $reference) { - if ($reference instanceof Reference\Branch) { - $result[] = $reference; - } - } - - return $result; - } - - /** - * Returns all locales branches. - * - * @return array - */ - public function getLocalBranches() - { - $result = array(); - foreach ($this->getBranches() as $branch) { - if ($branch->isLocal()) { - $result[] = $branch; - } - } - - return $result; - } - - /** - * Returns all remote branches. - * - * @return array - */ - public function getRemoteBranches() - { - $result = array(); - foreach ($this->getBranches() as $branch) { - if ($branch->isRemote()) { - $result[] = $branch; - } - } - - return $result; - } - - /** - * @return array An associative array with fullname as key (refs/heads/master, refs/tags/0.1) - */ - public function getAll() - { - $this->initialize(); - - return $this->references; - } - - /** - * @return Tag - */ - public function getTag($name) - { - $this->initialize(); - - return $this->get('refs/tags/'.$name); - } - - /** - * @return Branch - */ - public function getBranch($name) - { - $this->initialize(); - - return $this->get('refs/heads/'.$name); - } - - /** - * @return Branch - */ - public function getRemoteBranch($name) - { - $this->initialize(); - - return $this->get('refs/remotes/'.$name); - } - - protected function initialize() - { - if (true === $this->initialized) { - return; - } - $this->initialized = true; - - try { - $parser = new Parser\ReferenceParser(); - $output = $this->repository->run('show-ref'); - } catch (RuntimeException $e) { - $output = $e->getOutput(); - $error = $e->getErrorOutput(); - if ($error) { - throw new RuntimeException('Error while getting list of references: '.$error); - } - } - $parser->parse($output); - - foreach ($parser->references as $row) { - list($commitHash, $fullname) = $row; - - if (preg_match('#^refs/(heads|remotes)/(.*)$#', $fullname)) { - if (preg_match('#.*HEAD$#', $fullname)) { - continue; - } - $reference = new Branch($this->repository, $fullname, $commitHash); - $this->references[$fullname] = $reference; - $this->branches[] = $reference; - } elseif (preg_match('#^refs/tags/(.*)$#', $fullname)) { - $reference = new Tag($this->repository, $fullname, $commitHash); - $this->references[$fullname] = $reference; - $this->tags[] = $reference; - } elseif ($fullname === 'refs/stash') { - $reference = new Stash($this->repository, $fullname, $commitHash); - $this->references[$fullname] = $reference; - } elseif (preg_match('#^refs/pull/(.*)$#', $fullname)) { - // Do nothing here - } else { - throw new RuntimeException(sprintf('Unable to parse "%s"', $fullname)); - } - } - } - - /** - * @return int - * - * @see Countable - */ - public function count() - { - $this->initialize(); - - return count($this->references); - } - - /** - * @see IteratorAggregate - */ - public function getIterator() - { - $this->initialize(); - - return new \ArrayIterator($this->references); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Repository.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Repository.php deleted file mode 100644 index 54930234..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Repository.php +++ /dev/null @@ -1,630 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Diff\Diff; -use Gitonomy\Git\Exception\InvalidArgumentException; -use Gitonomy\Git\Exception\ProcessException; -use Gitonomy\Git\Exception\RuntimeException; -use Psr\Log\LoggerInterface; -use Symfony\Component\Process\Process; -use Symfony\Component\Process\ProcessBuilder; - -/** - * Git repository object. - * - * Main entry point for browsing a Git repository. - * - * @author Alexandre Salomé - */ -class Repository -{ - const DEFAULT_DESCRIPTION = "Unnamed repository; edit this file 'description' to name the repository.\n"; - - /** - * Directory containing git files. - * - * @var string - */ - protected $gitDir; - - /** - * Working directory. - * - * @var string - */ - protected $workingDir; - - /** - * Cache containing all objects of the repository. - * - * Associative array, indexed by object hash - * - * @var array - */ - protected $objects; - - /** - * Reference bag associated to this repository. - * - * @var ReferenceBag - */ - protected $referenceBag; - - /** - * Logger (can be null). - * - * @var LoggerInterface - */ - protected $logger; - - /** - * Path to git command. - */ - protected $command; - - /** - * Debug flag, indicating if errors should be thrown. - * - * @var bool - */ - protected $debug; - - /** - * Environment variables that should be set for every running process. - * - * @var array - */ - protected $environmentVariables; - - /** - * Timeout that should be set for every running process. - * - * @var int - */ - protected $processTimeout; - - /** - * Constructs a new repository. - * - * Available options are: - * - * * working_dir : specify where working copy is located (option --work-tree) - * - * * debug : (default: true) enable/disable minimize errors and reduce log level - * - * * logger : a logger to use for logging actions (Psr\Log\LoggerInterface) - * - * * environment_variables : define environment variables for every ran process - * - * @param string $dir path to git repository - * @param array $options array of options values - * - * @throws InvalidArgumentException The folder does not exists - */ - public function __construct($dir, $options = array()) - { - $is_windows = defined('PHP_WINDOWS_VERSION_BUILD'); - $options = array_merge(array( - 'working_dir' => null, - 'debug' => true, - 'logger' => null, - 'environment_variables' => $is_windows ? array('PATH' => getenv('path')) : array(), - 'command' => 'git', - 'process_timeout' => 3600, - ), $options); - - if (null !== $options['logger'] && !$options['logger'] instanceof LoggerInterface) { - throw new InvalidArgumentException(sprintf('Argument "logger" passed to Repository should be a Psr\Log\LoggerInterface. A %s was provided', is_object($options['logger']) ? get_class($options['logger']) : gettype($options['logger']))); - } - - $this->logger = $options['logger']; - $this->initDir($dir, $options['working_dir']); - - $this->objects = array(); - $this->debug = (bool) $options['debug']; - $this->environmentVariables = $options['environment_variables']; - $this->processTimeout = $options['process_timeout']; - $this->command = $options['command']; - - if (true === $this->debug && null !== $this->logger) { - $this->logger->debug(sprintf('Repository created (git dir: "%s", working dir: "%s")', $this->gitDir, $this->workingDir ?: 'none')); - } - } - - /** - * Initializes directory attributes on repository:. - * - * @param string $gitDir directory of a working copy with files checked out - * @param string $workingDir directory containing git files (objects, config...) - */ - private function initDir($gitDir, $workingDir = null) - { - $gitDir = realpath($gitDir); - - if (null === $workingDir && is_dir($gitDir.'/.git')) { - $workingDir = $gitDir; - $gitDir = $gitDir.'/.git'; - } elseif (!is_dir($gitDir)) { - throw new InvalidArgumentException(sprintf('Directory "%s" does not exist or is not a directory', $gitDir)); - } - - $this->gitDir = $gitDir; - $this->workingDir = $workingDir; - } - - /** - * Tests if repository is a bare repository. - * - * @return bool - */ - public function isBare() - { - return null === $this->workingDir; - } - - /** - * Returns the HEAD resolved as a commit. - * - * @return Revision|null returns a Commit, Branch, or ``null`` if repository is empty - */ - public function getHeadCommit() - { - $head = $this->getHead(); - - if ($head instanceof Reference) { - return $head->getCommit(); - } - - return $head; - } - - /** - * @throws RuntimeException Unable to find file HEAD (debug-mode only) - * - * @return Reference|Commit|null current HEAD object or null if error occurs - */ - public function getHead() - { - $file = $this->gitDir.'/HEAD'; - - if (!file_exists($file)) { - $message = sprintf('Unable to find HEAD file ("%s")', $file); - - if (null !== $this->logger) { - $this->logger->error($message); - } - - if (true === $this->debug) { - throw new RuntimeException($message); - } - } - - $content = trim(file_get_contents($file)); - - if (null !== $this->logger) { - $this->logger->debug('HEAD file read: '.$content); - } - - if (preg_match('/^ref: (.+)$/', $content, $vars)) { - return $this->getReferences()->get($vars[1]); - } elseif (preg_match('/^[0-9a-f]{40}$/', $content)) { - return $this->getCommit($content); - } - - $message = sprintf('Unexpected HEAD file content (file: %s). Content of file: %s', $file, $content); - - if (null !== $this->logger) { - $this->logger->error($message); - } - - if (true === $this->debug) { - throw new RuntimeException($message); - } - } - - /** - * @return bool - */ - public function isHeadDetached() - { - return !$this->isHeadAttached(); - } - - /** - * @return bool - */ - public function isHeadAttached() - { - return $this->getHead() instanceof Reference; - } - - /** - * Returns the path to the git repository. - * - * @return string A directory path - */ - public function getPath() - { - return $this->workingDir === null ? $this->gitDir : $this->workingDir; - } - - /** - * Returns the directory containing git files (git-dir). - * - * @return string - */ - public function getGitDir() - { - return $this->gitDir; - } - - /** - * Returns the work-tree directory. This may be null if repository is - * bare. - * - * @return string path to repository or null if repository is bare - */ - public function getWorkingDir() - { - return $this->workingDir; - } - - /** - * Instanciates a revision. - * - * @param string $name Name of the revision - * - * @return Revision - */ - public function getRevision($name) - { - return new Revision($this, $name); - } - - /** - * @return WorkingCopy - */ - public function getWorkingCopy() - { - return new WorkingCopy($this); - } - - /** - * Returns the reference list associated to the repository. - * - * @return ReferenceBag - */ - public function getReferences() - { - if (null === $this->referenceBag) { - $this->referenceBag = new ReferenceBag($this); - } - - return $this->referenceBag; - } - - /** - * Instanciates a commit object or fetches one from the cache. - * - * @param string $hash A commit hash, with a length of 40 - * - * @return Commit - */ - public function getCommit($hash) - { - if (!isset($this->objects[$hash])) { - $this->objects[$hash] = new Commit($this, $hash); - } - - return $this->objects[$hash]; - } - - /** - * Instanciates a tree object or fetches one from the cache. - * - * @param string $hash A tree hash, with a length of 40 - * - * @return Tree - */ - public function getTree($hash) - { - if (!isset($this->objects[$hash])) { - $this->objects[$hash] = new Tree($this, $hash); - } - - return $this->objects[$hash]; - } - - /** - * Instanciates a blob object or fetches one from the cache. - * - * @param string $hash A blob hash, with a length of 40 - * - * @return Blob - */ - public function getBlob($hash) - { - if (!isset($this->objects[$hash])) { - $this->objects[$hash] = new Blob($this, $hash); - } - - return $this->objects[$hash]; - } - - public function getBlame($revision, $file, $lineRange = null) - { - if (is_string($revision)) { - $revision = $this->getRevision($revision); - } - - return new Blame($this, $revision, $file, $lineRange); - } - - /** - * Returns log for a given set of revisions and paths. - * - * All those values can be null, meaning everything. - * - * @param array $revisions An array of revisions to show logs from. Can be - * any text value type - * @param array $paths Restrict log to modifications occurring on given - * paths. - * @param int $offset Start from a given offset in results. - * @param int $limit Limit number of total results. - * - * @return Log - */ - public function getLog($revisions = null, $paths = null, $offset = null, $limit = null) - { - return new Log($this, $revisions, $paths, $offset, $limit); - } - - /** - * @return Diff - */ - public function getDiff($revisions) - { - if (null !== $revisions && !$revisions instanceof RevisionList) { - $revisions = new RevisionList($this, $revisions); - } - - $args = array_merge(array('-r', '-p', '-m', '-M', '--no-commit-id', '--full-index'), $revisions->getAsTextArray()); - - $diff = Diff::parse($this->run('diff', $args)); - $diff->setRepository($this); - - return $diff; - } - - /** - * Returns the size of repository, in kilobytes. - * - * @return int A sum, in kilobytes - * - * @throws RuntimeException An error occurred while computing size - */ - public function getSize() - { - $process = ProcessBuilder::create(array('du', '-skc', $this->gitDir))->getProcess(); - - $process->run(); - - if (!preg_match('/(\d+)\s+total$/', trim($process->getOutput()), $vars)) { - $message = sprintf("Unable to parse process output\ncommand: %s\noutput: %s", $process->getCommandLine(), $process->getOutput()); - - if (null !== $this->logger) { - $this->logger->error($message); - } - - if (true === $this->debug) { - throw new RuntimeException('unable to parse repository size output'); - } - - return; - } - - return $vars[1]; - } - - /** - * Executes a shell command on the repository, using PHP pipes. - * - * @param string $command The command to execute - */ - public function shell($command, array $env = array()) - { - $argument = sprintf('%s \'%s\'', $command, $this->gitDir); - - $prefix = ''; - foreach ($env as $name => $value) { - $prefix .= sprintf('export %s=%s;', escapeshellarg($name), escapeshellarg($value)); - } - - proc_open($prefix.'git shell -c '.escapeshellarg($argument), array(STDIN, STDOUT, STDERR), $pipes); - } - - /** - * Returns the hooks object. - * - * @return Hooks - */ - public function getHooks() - { - return new Hooks($this); - } - - /** - * Returns description of repository from description file in git directory. - * - * @return string The description - */ - public function getDescription() - { - $file = $this->gitDir.'/description'; - $exists = is_file($file); - - if (null !== $this->logger && true === $this->debug) { - if (false === $exists) { - $this->logger->debug(sprintf('no description file in repository ("%s")', $file)); - } else { - $this->logger->debug(sprintf('reading description file in repository ("%s")', $file)); - } - } - - if (false === $exists) { - return static::DEFAULT_DESCRIPTION; - } - - return file_get_contents($this->gitDir.'/description'); - } - - /** - * Tests if repository has a custom set description. - * - * @return bool - */ - public function hasDescription() - { - return static::DEFAULT_DESCRIPTION !== $this->getDescription(); - } - - /** - * Changes the repository description (file description in git-directory). - * - * @return Repository the current repository - */ - public function setDescription($description) - { - $file = $this->gitDir.'/description'; - - if (null !== $this->logger && true === $this->debug) { - $this->logger->debug(sprintf('change description file content to "%s" (file: %s)', $description, $file)); - } - file_put_contents($file, $description); - - return $this; - } - - /** - * This command is a facility command. You can run any command - * directly on git repository. - * - * @param string $command Git command to run (checkout, branch, tag) - * @param array $args Arguments of git command - * - * @return string Output of a successful process or null if execution failed and debug-mode is disabled. - * - * @throws RuntimeException Error while executing git command (debug-mode only) - */ - public function run($command, $args = array()) - { - $process = $this->getProcess($command, $args); - - if ($this->logger) { - $this->logger->info(sprintf('run command: %s "%s" ', $command, implode(' ', $args))); - $before = microtime(true); - } - - $process->run(); - - $output = $process->getOutput(); - - if ($this->logger && $this->debug) { - $duration = microtime(true) - $before; - $this->logger->debug(sprintf('last command (%s) duration: %sms', $command, sprintf('%.2f', $duration * 1000))); - $this->logger->debug(sprintf('last command (%s) return code: %s', $command, $process->getExitCode())); - $this->logger->debug(sprintf('last command (%s) output: %s', $command, $output)); - } - - if (!$process->isSuccessful()) { - $error = sprintf("error while running %s\n output: \"%s\"", $command, $process->getErrorOutput()); - - if ($this->logger) { - $this->logger->error($error); - } - - if ($this->debug) { - throw new ProcessException($process); - } - - return; - } - - return $output; - } - - /** - * Set repository logger. - * - * @param LoggerInterface $logger A logger - * - * @return Repository The current repository - */ - public function setLogger(LoggerInterface $logger) - { - $this->logger = $logger; - - return $this; - } - - /** - * Returns repository logger. - * - * @return LoggerInterface the logger or null - */ - public function getLogger() - { - return $this->logger; - } - - /** - * Clones the current repository to a new directory and return instance of new repository. - * - * @param string $path path to the new repository in which current repository will be cloned - * @param bool $bare flag indicating if repository is bare or has a working-copy - * - * @return Repository the newly created repository - */ - public function cloneTo($path, $bare = true, array $options = array()) - { - return Admin::cloneTo($path, $this->gitDir, $bare, $options); - } - - /** - * This internal method is used to create a process object. - * - * Made private to be sure that process creation is handled through the run method. - * run method ensures logging and debug. - * - * @see self::run - */ - private function getProcess($command, $args = array()) - { - $base = array($this->command, '--git-dir', $this->gitDir); - - if ($this->workingDir) { - $base = array_merge($base, array('--work-tree', $this->workingDir)); - } - - $base[] = $command; - - $builder = new ProcessBuilder(array_merge($base, $args)); - $builder->inheritEnvironmentVariables(false); - $process = $builder->getProcess(); - $process->setEnv($this->environmentVariables); - $process->setTimeout($this->processTimeout); - $process->setIdleTimeout($this->processTimeout); - - return $process; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Revision.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Revision.php deleted file mode 100644 index 13e085bf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Revision.php +++ /dev/null @@ -1,68 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -/** - * @author Alexandre Salomé - */ -class Revision -{ - /** - * @var Repository - */ - protected $repository; - - /** - * @var string - */ - protected $revision; - - public function __construct(Repository $repository, $revision) - { - $this->repository = $repository; - $this->revision = $revision; - } - - /** - * @return Log - */ - public function getLog($paths = null, $offset = null, $limit = null) - { - return $this->repository->getLog($this, $paths, $offset, $limit); - } - - /** - * Returns the last modification date of the reference. - * - * @return Commit - */ - public function getCommit() - { - return $this->getLog()->getSingleCommit(); - } - - /** - * @return string - */ - public function getRevision() - { - return $this->revision; - } - - /** - * @return Repository - */ - public function getRepository() - { - return $this->repository; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/RevisionList.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/RevisionList.php deleted file mode 100644 index 52bede40..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/RevisionList.php +++ /dev/null @@ -1,72 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -/** - * @author Alexandre Salomé - */ -class RevisionList implements \IteratorAggregate, \Countable -{ - protected $revisions; - - /** - * Constructs a revision list from a variety of types. - * - * @param mixed $revisions can be a string, an array of strings or an array of Revision, Branch, Tag, Commit - */ - public function __construct(Repository $repository, $revisions) - { - if (is_string($revisions)) { - $revisions = array($repository->getRevision($revisions)); - } elseif ($revisions instanceof Revision) { - $revisions = array($revisions); - } elseif (!is_array($revisions)) { - throw new \InvalidArgumentException(sprintf('Expected a string, a Revision or an array, got a "%s".', is_object($revisions) ? get_class($revisions) : gettype($revisions))); - } - - if (count($revisions) == 0) { - throw new \InvalidArgumentException(sprintf('Empty revision list not allowed')); - } - - foreach ($revisions as $i => $revision) { - if (is_string($revision)) { - $revisions[$i] = new Revision($repository, $revision); - } elseif (!$revision instanceof Revision) { - throw new \InvalidArgumentException(sprintf('Expected a "Revision", got a "%s".', is_object($revision) ? get_class($revision) : gettype($revision))); - } - } - - $this->revisions = $revisions; - } - - public function getAll() - { - return $this->revisions; - } - - public function getIterator() - { - return new \ArrayIterator($this->revisions); - } - - public function count() - { - return count($this->revisions); - } - - public function getAsTextArray() - { - return array_map(function ($revision) { - return $revision->getRevision(); - }, $this->revisions); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Tree.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Tree.php deleted file mode 100644 index 4406b069..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Tree.php +++ /dev/null @@ -1,107 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Exception\InvalidArgumentException; -use Gitonomy\Git\Exception\UnexpectedValueException; - -/** - * @author Alexandre Salomé - */ -class Tree -{ - protected $repository; - protected $hash; - protected $isInitialized = false; - protected $entries; - - public function __construct(Repository $repository, $hash) - { - $this->repository = $repository; - $this->hash = $hash; - } - - public function getHash() - { - return $this->hash; - } - - protected function initialize() - { - if (true === $this->isInitialized) { - return; - } - - $output = $this->repository->run('cat-file', array('-p', $this->hash)); - $parser = new Parser\TreeParser(); - $parser->parse($output); - - $this->entries = array(); - - foreach ($parser->entries as $entry) { - list($mode, $type, $hash, $name) = $entry; - if ($type == 'blob') { - $this->entries[$name] = array($mode, $this->repository->getBlob($hash)); - } elseif ($type == 'tree') { - $this->entries[$name] = array($mode, $this->repository->getTree($hash)); - } else { - $this->entries[$name] = array($mode, new CommitReference($hash)); - } - } - - $this->isInitialized = true; - } - - /** - * @return array An associative array name => $object - */ - public function getEntries() - { - $this->initialize(); - - return $this->entries; - } - - public function getEntry($name) - { - $this->initialize(); - - if (!isset($this->entries[$name])) { - throw new InvalidArgumentException('No entry '.$name); - } - - return $this->entries[$name][1]; - } - - public function resolvePath($path) - { - if ($path == '') { - return $this; - } - - $path = preg_replace('#^/#', '', $path); - - $segments = explode('/', $path); - $element = $this; - foreach ($segments as $segment) { - if ($element instanceof self) { - $element = $element->getEntry($segment); - } elseif ($entry instanceof Blob) { - throw new InvalidArgumentException('Unresolvable path'); - } else { - throw new UnexpectedValueException('Unknow type of element'); - } - } - - return $element; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Util/StringHelper.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Util/StringHelper.php deleted file mode 100644 index 36e533c9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/Util/StringHelper.php +++ /dev/null @@ -1,56 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Util; - -/** - * Helper class to support language particularity. - * - * @author Alexandre Salomé - */ -class StringHelper -{ - private static $encoding = 'utf-8'; - - public static function getEncoding() - { - return self::$encoding; - } - - public static function setEncoding($encoding) - { - self::$encoding = $encoding; - } - - public static function strlen($string) - { - return function_exists('mb_strlen') ? mb_strlen($string, self::$encoding) : strlen($string); - } - - public static function substr($string, $start, $length = false) - { - if (false === $length) { - $length = self::strlen($string); - } - - return function_exists('mb_substr') ? mb_substr($string, $start, $length, self::$encoding) : substr($string, $start, $length); - } - - public static function strpos($haystack, $needle, $offset = 0) - { - return function_exists('mb_strpos') ? mb_strpos($haystack, $needle, $offset, self::$encoding) : strpos($haystack, $needle, $offset); - } - - public static function strrpos($haystack, $needle, $offset = 0) - { - return function_exists('mb_strrpos') ? mb_strrpos($haystack, $needle, $offset, self::$encoding) : strrpos($haystack, $needle, $offset); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/WorkingCopy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/WorkingCopy.php deleted file mode 100644 index 7cc06490..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/src/Gitonomy/Git/WorkingCopy.php +++ /dev/null @@ -1,96 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git; - -use Gitonomy\Git\Diff\Diff; -use Gitonomy\Git\Exception\InvalidArgumentException; -use Gitonomy\Git\Exception\LogicException; - -/** - * @author Alexandre Salomé - */ -class WorkingCopy -{ - /** - * @var Repository - */ - protected $repository; - - public function __construct(Repository $repository) - { - $this->repository = $repository; - - if ($this->repository->isBare()) { - throw new LogicException('Can\'t create a working copy on a bare repository'); - } - } - - public function getStatus() - { - return WorkingStatus::parseOutput(); - } - - public function getUntrackedFiles() - { - $lines = explode("\0", $this->run('status', array('--porcelain', '--untracked-files=all', '-z'))); - $lines = array_filter($lines, function ($l) { return substr($l, 0, 3) === '?? '; }); - $lines = array_map(function ($l) { return substr($l, 3); }, $lines); - - return $lines; - } - - public function getDiffPending() - { - $diff = Diff::parse($this->run('diff', array('-r', '-p', '-m', '-M', '--full-index'))); - $diff->setRepository($this->repository); - - return $diff; - } - - public function getDiffStaged() - { - $diff = Diff::parse($this->run('diff', array('-r', '-p', '-m', '-M', '--full-index', '--staged'))); - $diff->setRepository($this->repository); - - return $diff; - } - - /** - * @return WorkingCopy - */ - public function checkout($revision, $branch = null) - { - $args = array(); - if ($revision instanceof Commit) { - $args[] = $revision->getHash(); - } elseif ($revision instanceof Reference) { - $args[] = $revision->getFullname(); - } elseif (is_string($revision)) { - $args[] = $revision; - } else { - throw new InvalidArgumentException(sprintf('Unknown type "%s"', gettype($revision))); - } - - if (null !== $branch) { - $args = array_merge($args, array('-b', $branch)); - } - - $this->run('checkout', $args); - - return $this; - } - - protected function run($command, array $args = array()) - { - return $this->repository->run($command, $args); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/test-git-versions.sh b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/test-git-versions.sh deleted file mode 100755 index 0990e697..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/test-git-versions.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -set -e - -URL="git@github.com:git/git.git" -VERSIONS="v1.6.3 v1.6.6 v1.7.1 v1.7.5 v1.7.9 v1.8.1" -DIRNAME="git-builds" - -if [ ! -d "$DIRNAME" ]; then - mkdir - "$DIRNAME" -fi - -cd "$DIRNAME" - -# remote repository -if [ -d cache ]; then - echo "- update from github..." - cd cache - git fetch -q - cd .. -else - echo "- clone from github..." - git clone "$URL" cache -q -fi - -# build -for VERSION in $VERSIONS; do - - echo "- build $VERSION" - LOGFILE="build.$VERSION.log" - LOCKFILE="build.$VERSION.lock" - - if [ -f "$LOCKFILE" ]; then - echo " - lock present, destroy build..." - rm -rf "$VERSION" "build.$VERSION.log" - fi - - if [ -d "$VERSION" ]; then - echo " - already built, skipping..." - continue - fi - - touch "$LOCKFILE" - - echo " - log: $LOGFILE" - touch "$LOGFILE" - mkdir "$VERSION" - echo " - clone repository" - git clone -s cache "$VERSION/source" -q - echo " - checkout version" - cd "$VERSION/source" - git checkout "$VERSION" -q - - mkdir ../build - PREFIX="`readlink -f ../build`" - - echo " - build..." - autoconf >> "../../$LOGFILE" 2>&1 - ./configure --prefix="$PREFIX" >> "../../$LOGFILE" 2>&1 - make all >> "../../$LOGFILE" 2>&1 - make install >> "../../$LOGFILE" 2>&1 - echo " - build ok" - cd ../.. - rm "$LOCKFILE" -done -cd .. - -# test -echo "" -for VERSION in $VERSIONS; do - echo "- test $VERSION" - GIT_COMMAND="`readlink -f $DIRNAME/$VERSION/build/bin/git`" - echo " - command: $GIT_COMMAND" - GIT_COMMAND="$GIT_COMMAND" phpunit || true -done diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AbstractTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AbstractTest.php deleted file mode 100644 index ef07441e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AbstractTest.php +++ /dev/null @@ -1,147 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Admin; -use Gitonomy\Git\Repository; - -abstract class AbstractTest extends \PHPUnit_Framework_TestCase -{ - const REPOSITORY_URL = 'http://github.com/gitonomy/foobar.git'; - - const LONGFILE_COMMIT = '4f17752acc9b7c54ba679291bf24cb7d354f0f4f'; - const BEFORE_LONGFILE_COMMIT = 'e0ec50e2af75fa35485513f60b2e658e245227e9'; - const LONGMESSAGE_COMMIT = '3febd664b6886344a9b32d70657687ea4b1b4fab'; - const INITIAL_COMMIT = '74acd054c8ec873ae6be044041d3a85a4f890ba5'; - const MERGE_COMMIT = '2f5b9d0a4e6e7173d7816e417805709c708674f8'; - const ENCODING_COMMIT = '779420b9b936f18a0b6579e1499a85b14270802e'; - - /** - * Local clone of remote URL. Avoids network call on each test. - */ - private static $localRepository; - - /** - * Creates an empty git repository and returns instance. - * - * @return Repository - */ - public static function createEmptyRepository($bare = true) - { - $dir = self::createTempDir(); - $repository = Admin::init($dir, $bare, self::getOptions()); - self::registerDeletion($repository); - - return $repository; - } - - /** - * Can be used as data provider to get bare/not-bare repositories. - */ - public static function provideFoobar() - { - return array( - array(self::createFoobarRepository()), - array(self::createFoobarRepository(false)), - ); - } - - /** - * Can be used as data provider to get bare/not-bare repositories. - */ - public static function provideEmpty() - { - return array( - array(self::createEmptyRepository()), - array(self::createEmptyRepository(false)), - ); - } - - /** - * Creates a fixture test repository. - * - * @return Repository - */ - public static function createFoobarRepository($bare = true) - { - if (null === self::$localRepository) { - self::$localRepository = Admin::cloneTo(self::createTempDir(), self::REPOSITORY_URL, $bare, self::getOptions()); - } - - $repository = self::$localRepository->cloneTo(self::createTempDir(), $bare, self::getOptions()); - self::registerDeletion($repository); - - return $repository; - } - - public static function registerDeletion(Repository $repository) - { - register_shutdown_function(function () use ($repository) { - if ($repository->getWorkingDir()) { - $dir = $repository->getWorkingDir(); - } else { - $dir = $repository->getGitDir(); - } - AbstractTest::deleteDir($dir); - }); - } - - /** - * Created an empty directory and return path to it. - * - * @return string a fullpath - */ - public static function createTempDir() - { - $tmpDir = tempnam(sys_get_temp_dir(), 'gitlib_'); - unlink($tmpDir); - mkdir($tmpDir); - - return $tmpDir; - } - - /** - * Deletes a directory recursively. - * - * @param string $dir directory to delete - */ - public static function deleteDir($dir) - { - $iterator = new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS); - $iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::CHILD_FIRST); - foreach ($iterator as $file) { - if (!is_link($file)) { - chmod($file, 0777); - } - if (is_dir($file)) { - rmdir($file); - } else { - unlink($file); - } - } - - chmod($dir, 0777); - rmdir($dir); - } - - protected static function getOptions() - { - $command = isset($_SERVER['GIT_COMMAND']) ? $_SERVER['GIT_COMMAND'] : 'git'; - $envs = isset($_SERVER['GIT_ENVS']) ? (array) $_SERVER['GIT_ENVS'] : array(); - - return array( - 'command' => $command, - 'environment_variables' => $envs, - 'process_timeout' => 60, - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AdminTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AdminTest.php deleted file mode 100644 index 9f2a1876..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AdminTest.php +++ /dev/null @@ -1,177 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Admin; -use Gitonomy\Git\Reference\Branch; -use Gitonomy\Git\Repository; - -class AdminTest extends AbstractTest -{ - private $tmpDir; - - public function setUp() - { - $this->tmpDir = self::createTempDir(); - } - - public function tearDown() - { - $this->deleteDir(self::createTempDir()); - } - - public function testBare() - { - $repository = Admin::init($this->tmpDir, true, self::getOptions()); - - $objectDir = $this->tmpDir.'/objects'; - - $this->assertTrue($repository->isBare(), 'Repository is bare'); - $this->assertTrue(is_dir($objectDir), 'objects/ folder is present'); - $this->assertTrue($repository instanceof Repository, 'Admin::init returns a repository'); - $this->assertEquals($this->tmpDir, $repository->getGitDir(), 'The folder passed as argument is git dir'); - $this->assertNull($repository->getWorkingDir(), 'No working dir in bare repository'); - } - - public function testNotBare() - { - $repository = Admin::init($this->tmpDir, false, self::getOptions()); - - $objectDir = $this->tmpDir.'/.git/objects'; - - $this->assertFalse($repository->isBare(), 'Repository is not bare'); - $this->assertTrue(is_dir($objectDir), 'objects/ folder is present'); - $this->assertTrue($repository instanceof Repository, 'Admin::init returns a repository'); - $this->assertEquals($this->tmpDir.'/.git', $repository->getGitDir(), 'git dir as subfolder of argument'); - $this->assertEquals($this->tmpDir, $repository->getWorkingDir(), 'working dir present in bare repository'); - } - - /** - * @dataProvider provideFoobar - */ - public function testClone($repository) - { - $newDir = self::createTempDir(); - $new = $repository->cloneTo($newDir, $repository->isBare(), self::getOptions()); - self::registerDeletion($new); - - $newRefs = array_keys($new->getReferences()->getAll()); - - $this->assertTrue(in_array('refs/heads/master', $newRefs)); - $this->assertTrue(in_array('refs/tags/0.1', $newRefs)); - - if ($repository->isBare()) { - $this->assertEquals($newDir, $new->getGitDir()); - $this->assertTrue(in_array('refs/heads/new-feature', $newRefs)); - } else { - $this->assertEquals($newDir.'/.git', $new->getGitDir()); - $this->assertEquals($newDir, $new->getWorkingDir()); - } - } - - public function testCloneBranchBare() - { - //we can't use AbstractText::createFoobarRepository() - //because it does not clone other branches than "master" - //so we test it directly against the remote repository - - $newDir = self::createTempDir(); - $new = Admin::cloneBranchTo($newDir, self::REPOSITORY_URL, 'new-feature'); - self::registerDeletion($new); - - $head = $new->getHead(); - $this->assertTrue($head instanceof Branch, 'HEAD is a branch'); - $this->assertEquals('new-feature', $head->getName(), 'HEAD is branch new-feature'); - } - - public function testCloneBranchNotBare() - { - //we can't use AbstractText::createFoobarRepository() - //because it does not clone other branches than "master" - //so we test it directly against remote repository - - $newDir = self::createTempDir(); - $new = Admin::cloneBranchTo($newDir, self::REPOSITORY_URL, 'new-feature', false); - self::registerDeletion($new); - - $head = $new->getHead(); - $this->assertTrue($head instanceof Branch, 'HEAD is a branch'); - $this->assertEquals('new-feature', $head->getName(), 'HEAD is branch new-feature'); - } - - /** - * @dataProvider provideFoobar - */ - public function testMirror($repository) - { - $newDir = self::createTempDir(); - $new = Admin::mirrorTo($newDir, $repository->getGitDir(), self::getOptions()); - self::registerDeletion($new); - - $newRefs = array_keys($new->getReferences()->getAll()); - - $this->assertTrue(in_array('refs/heads/master', $newRefs)); - $this->assertTrue(in_array('refs/tags/0.1', $newRefs)); - $this->assertEquals($newDir, $new->getGitDir()); - - if ($repository->isBare()) { - $this->assertTrue(in_array('refs/heads/new-feature', $newRefs)); - } else { - $this->assertTrue(in_array('refs/remotes/origin/new-feature', $newRefs)); - } - } - - /** - * @dataProvider provideFoobar - */ - public function testCheckValidRepository($repository) - { - $url = $repository->getGitDir(); - $this->assertTrue(Admin::isValidRepository($url)); - } - - public function testCheckInvalidRepository() - { - $url = $this->tmpDir.'/invalid.git'; - mkdir($url); - - $this->assertFalse(Admin::isValidRepository($url)); - } - - /** - * @expectedException RuntimeException - */ - public function testExistingFile() - { - $file = $this->tmpDir.'/test'; - touch($file); - - Admin::init($file, true, self::getOptions()); - } - - public function testCloneRepository() - { - $newDir = self::createTempDir(); - $args = array(); - - $new = Admin::cloneRepository($newDir, self::REPOSITORY_URL, $args, self::getOptions()); - self::registerDeletion($new); - - $newRefs = array_keys($new->getReferences()->getAll()); - - $this->assertTrue(in_array('refs/heads/master', $newRefs)); - $this->assertTrue(in_array('refs/tags/0.1', $newRefs)); - - $this->assertEquals($newDir.'/.git', $new->getGitDir()); - $this->assertEquals($newDir, $new->getWorkingDir()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlameTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlameTest.php deleted file mode 100644 index d599d8c1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlameTest.php +++ /dev/null @@ -1,43 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -class BlameTest extends AbstractTest -{ - /** - * @dataProvider provideFoobar - */ - public function testBlame($repository) - { - $blame = $repository->getBlame(self::LONGFILE_COMMIT, 'README.md'); - - $this->assertCount(7, $blame); - - $this->assertEquals('alice', $blame->getLine(1)->getCommit()->getAuthorName()); - $this->assertEquals(self::INITIAL_COMMIT, $blame->getLine(1)->getCommit()->getHash()); - - $this->assertEquals('alice', $blame->getLine(5)->getCommit()->getAuthorName()); - $this->assertNotEquals(self::INITIAL_COMMIT, $blame->getLine(5)->getCommit()->getHash()); - } - - /** - * @dataProvider provideFoobar - */ - public function testGroupedBlame($repository) - { - $blame = $repository->getBlame(self::LONGFILE_COMMIT, 'README.md')->getGroupedLines(); - - $this->assertCount(3, $blame); - - $this->assertEquals(self::INITIAL_COMMIT, $blame[0][0]->getHash()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlobTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlobTest.php deleted file mode 100644 index d233e7cd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlobTest.php +++ /dev/null @@ -1,69 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -class BlobTest extends AbstractTest -{ - const README_FRAGMENT = 'Foo Bar project'; - - public function getReadmeBlob($repository) - { - return $repository->getCommit(self::LONGFILE_COMMIT)->getTree()->resolvePath('README.md'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetContent($repository) - { - $blob = $this->getReadmeBlob($repository); - - $this->assertContains(self::README_FRAGMENT, $blob->getContent()); - } - - /** - * @dataProvider provideFoobar - * @expectedException RuntimeException - */ - public function testNotExisting($repository) - { - $blob = $repository->getBlob('foobar'); - $blob->getContent(); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetMimetype($repository) - { - $blob = $this->getReadmeBlob($repository); - $this->assertRegexp('#text/plain#', $blob->getMimetype()); - } - - /** - * @dataProvider provideFoobar - */ - public function testIsText($repository) - { - $blob = $this->getReadmeBlob($repository); - $this->assertTrue($blob->isText()); - } - - /** - * @dataProvider provideFoobar - */ - public function testIsBinary($repository) - { - $blob = $this->getReadmeBlob($repository); - $this->assertFalse($blob->isBinary()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/CommitTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/CommitTest.php deleted file mode 100644 index 84b02069..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/CommitTest.php +++ /dev/null @@ -1,289 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Commit; -use Gitonomy\Git\Diff\Diff; - -class CommitTest extends AbstractTest -{ - /** - * @dataProvider provideFoobar - */ - public function testGetDiff($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $diff = $commit->getDiff(); - - $this->assertTrue($diff instanceof Diff, 'getDiff() returns a Diff object'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetHash($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals(self::LONGFILE_COMMIT, $commit->getHash()); - } - - /** - * @dataProvider provideFoobar - * - * @expectedException Gitonomy\Git\Exception\ReferenceNotFoundException - * @expectedExceptionMessage Reference not found: "that-hash-doest-not-exists" - */ - public function testInvalideHashThrowException($repository) - { - $commit = new Commit($repository, 'that-hash-doest-not-exists'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetShortHash($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals('4f17752', $commit->getShortHash(), 'Short hash'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetParentHashes_WithNoParent($repository) - { - $commit = $repository->getCommit(self::INITIAL_COMMIT); - - $this->assertEquals(0, count($commit->getParentHashes()), 'No parent on initial commit'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetParentHashes_WithOneParent($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - $parents = $commit->getParentHashes(); - - $this->assertEquals(1, count($parents), 'One parent found'); - $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $parents[0], 'Parent hash is correct'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetParents_WithOneParent($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - $parents = $commit->getParents(); - - $this->assertEquals(1, count($parents), 'One parent found'); - $this->assertTrue($parents[0] instanceof Commit, 'First parent is a Commit object'); - $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $parents[0]->getHash(), "First parents's hash is correct"); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetTreeHash($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals('b06890c7b10904979d2f69613c2ccda30aafe262', $commit->getTreeHash(), 'Tree hash is correct'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetTree($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertInstanceOf('Gitonomy\Git\Tree', $commit->getTree(), 'Tree is a tree'); - $this->assertEquals('b06890c7b10904979d2f69613c2ccda30aafe262', $commit->getTree()->getHash(), 'Tree hash is correct'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetAuthorName($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals('alice', $commit->getAuthorName(), 'Author name'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetAuthorEmail($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals('alice@example.org', $commit->getAuthorEmail(), 'Author email'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetAuthorDate($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals('2012-12-31 14:21:03', $commit->getAuthorDate()->format('Y-m-d H:i:s'), 'Author date'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetCommitterName($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals('alice', $commit->getCommitterName(), 'Committer name'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetCommitterEmail($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals('alice@example.org', $commit->getCommitterEmail(), 'Committer email'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetCommitterDate($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals('2012-12-31 14:21:03', $commit->getCommitterDate()->format('Y-m-d H:i:s'), 'Committer date'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetMessage($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $this->assertEquals('add a long file'."\n", $commit->getMessage()); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetShortMessage($repository) - { - // tests with a multi-line message - $commit = $repository->getCommit(self::LONGMESSAGE_COMMIT); - - $this->assertEquals('Fixed perm...', $commit->getShortMessage(10)); - $this->assertEquals('Fixed perm!!!', $commit->getShortMessage(10, false, '!!!')); - $this->assertEquals('Fixed permissions!!!', $commit->getShortMessage(10, true, '!!!')); - - // tests with a single-line message - $commit = $repository->getCommit(self::INITIAL_COMMIT); - - $this->assertEquals('Add README', $commit->getShortMessage(20)); - $this->assertEquals('A', $commit->getShortMessage(1, false, '')); - $this->assertEquals('Add!!!', $commit->getShortMessage(1, true, '!!!')); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetBodyMessage($repository) - { - $commit = $repository->getCommit(self::LONGMESSAGE_COMMIT); - $message = <<assertEquals($message, $commit->getBodyMessage()); - - $commit = $repository->getCommit(self::INITIAL_COMMIT); - - $this->assertEquals('', $commit->getBodyMessage()); - } - - /** - * @expectedException InvalidArgumentException - * @dataProvider provideFoobar - */ - public function testGetIncludingBranchesException($repository) - { - $commit = $repository->getCommit(self::INITIAL_COMMIT); - - $commit->getIncludingBranches(false, false); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetIncludingBranches($repository) - { - $commit = $repository->getCommit(self::INITIAL_COMMIT); - - $branches = $commit->getIncludingBranches(true, false); - $this->assertCount(count($repository->getReferences()->getLocalBranches()), $branches); - - $branches = $commit->getIncludingBranches(true, true); - $this->assertCount(count($repository->getReferences()->getBranches()), $branches); - - $branches = $commit->getIncludingBranches(false, true); - $this->assertCount(count($repository->getReferences()->getRemoteBranches()), $branches); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetLastModification($repository) - { - $commit = $repository->getCommit(self::LONGFILE_COMMIT); - - $lastModification = $commit->getLastModification('image.jpg'); - - $this->assertTrue($lastModification instanceof Commit, 'Last modification is a Commit object'); - $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $lastModification->getHash(), 'Last modification is current commit'); - } - - /** - * @dataProvider provideFoobar - */ - public function testMergeCommit($repository) - { - $commit = $repository->getCommit(self::MERGE_COMMIT); - - $this->assertEquals("Merge branch 'authors'", $commit->getSubjectMessage()); - } - - /** - * @dataProvider provideFoobar - */ - public function testEncoding($repository) - { - $commit = $repository->getCommit(self::ENCODING_COMMIT); - - $this->assertEquals('contribute to AUTHORS file', $commit->getSubjectMessage()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/DiffTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/DiffTest.php deleted file mode 100644 index d9ad4e02..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/DiffTest.php +++ /dev/null @@ -1,142 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Diff\Diff; - -class DiffTest extends AbstractTest -{ - const DELETE_COMMIT = '519d5693c72c925cd59205d9f11e9fa1d550028b'; - const CREATE_COMMIT = 'e6fa3c792facc06faa049a6938c84c411954deb5'; - const RENAME_COMMIT = '6640e0ef31518054847a1876328e26ee64083e0a'; - const CHANGEMODE_COMMIT = '93da965f58170f13017477b9a608657e87e23230'; - - /** - * @dataProvider provideFoobar - */ - public function testSerialization($repository) - { - $data = $repository->getCommit(self::CREATE_COMMIT)->getDiff()->toArray(); - $diff = Diff::fromArray($data); - - $this->verifyCreateCommitDiff($diff); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetFiles_Addition($repository) - { - $diff = $repository->getCommit(self::CREATE_COMMIT)->getDiff(); - $this->verifyCreateCommitDiff($diff); - } - - protected function verifyCreateCommitDiff(Diff $diff) - { - $files = $diff->getFiles(); - - $this->assertEquals(2, count($files), '1 file in diff'); - - $this->assertTrue($files[0]->isCreation(), 'script_A.php created'); - - $this->assertEquals(null, $files[0]->getOldName(), 'First file name is a new file'); - $this->assertEquals('script_A.php', $files[0]->getNewName(), 'First file name is script_A.php'); - $this->assertEquals(null, $files[0]->getOldMode(), 'First file mode is a new file'); - $this->assertEquals('100644', $files[0]->getNewMode(), 'First file mode is correct'); - - $this->assertEquals(1, $files[0]->getAdditions(), '1 line added'); - $this->assertEquals(0, $files[0]->getDeletions(), '0 lines deleted'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetFiles_Modification($repository) - { - $files = $repository->getCommit(self::BEFORE_LONGFILE_COMMIT)->getDiff()->getFiles(); - - $this->assertEquals(1, count($files), '1 files in diff'); - - $this->assertTrue($files[0]->isModification(), 'image.jpg modified'); - - $this->assertEquals('image.jpg', $files[0]->getOldName(), 'Second file name is image.jpg'); - $this->assertEquals('image.jpg', $files[0]->getNewName(), 'Second file name is image.jpg'); - $this->assertEquals('100644', $files[0]->getOldMode(), 'Second file mode is a new file'); - $this->assertEquals('100644', $files[0]->getNewMode(), 'Second file mode is correct'); - - $this->assertTrue($files[0]->isBinary(), 'binary file'); - $this->assertEquals(0, $files[0]->getAdditions(), '0 lines added'); - $this->assertEquals(0, $files[0]->getDeletions(), '0 lines deleted'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetFiles_Deletion($repository) - { - $files = $repository->getCommit(self::DELETE_COMMIT)->getDiff()->getFiles(); - - $this->assertEquals(1, count($files), '1 files modified'); - - $this->assertTrue($files[0]->isDeletion(), 'File deletion'); - $this->assertEquals('script_B.php', $files[0]->getOldName(), 'verify old filename'); - $this->assertEquals(1, $files[0]->getDeletions(), '1 line deleted'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetFiles_Rename($repository) - { - $files = $repository->getCommit(self::RENAME_COMMIT)->getDiff()->getFiles(); - - $this->assertEquals(1, count($files), '1 files modified'); - - $this->assertTrue($files[0]->isModification()); - $this->assertTrue($files[0]->isRename()); - $this->assertFalse($files[0]->isDeletion()); - $this->assertFalse($files[0]->isCreation()); - $this->assertFalse($files[0]->isChangeMode()); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetFiles_Changemode($repository) - { - $files = $repository->getCommit(self::CHANGEMODE_COMMIT)->getDiff()->getFiles(); - - $this->assertEquals(1, count($files), '1 files modified'); - - $this->assertTrue($files[0]->isModification()); - $this->assertTrue($files[0]->isChangeMode()); - $this->assertFalse($files[0]->isDeletion()); - $this->assertFalse($files[0]->isCreation()); - $this->assertFalse($files[0]->isRename()); - } - - /** - * @dataProvider provideFoobar - */ - public function testDiffRangeParse($repository) - { - $files = $repository->getCommit(self::CREATE_COMMIT)->getDiff()->getFiles(); - - $changes = $files[0]->getChanges(); - - $this->assertEquals(0, $changes[0]->getRangeOldStart()); - $this->assertEquals(0, $changes[0]->getRangeOldCount()); - - $this->assertEquals(1, $changes[0]->getRangeNewStart()); - $this->assertEquals(0, $changes[0]->getRangeNewCount()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/HooksTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/HooksTest.php deleted file mode 100644 index d9e40787..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/HooksTest.php +++ /dev/null @@ -1,178 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -class HooksTest extends AbstractTest -{ - private static $symlinkOnWindows = null; - - public static function setUpBeforeClass() - { - if (defined('PHP_WINDOWS_VERSION_MAJOR')) { - self::$symlinkOnWindows = true; - $originDir = tempnam(sys_get_temp_dir(), 'sl'); - $targetDir = tempnam(sys_get_temp_dir(), 'sl'); - if (true !== @symlink($originDir, $targetDir)) { - $report = error_get_last(); - if (is_array($report) && false !== strpos($report['message'], 'error code(1314)')) { - self::$symlinkOnWindows = false; - } - } - } - } - - public function hookPath($repository, $hook) - { - return $repository->getGitDir().'/hooks/'.$hook; - } - - public function touchHook($repository, $hook, $content = '') - { - $path = $this->hookPath($repository, $hook); - file_put_contents($path, $content); - - return $path; - } - - public function assertHasHook($repository, $hook) - { - $file = $this->hookPath($repository, $hook); - - $this->assertTrue($repository->getHooks()->has($hook), "hook $hook in repository"); - $this->assertTrue(file_exists($file), "Hook $hook is present"); - } - - public function assertNoHook($repository, $hook) - { - $file = $this->hookPath($repository, $hook); - - $this->assertFalse($repository->getHooks()->has($hook), "No hook $hook in repository"); - $this->assertFalse(file_exists($file), "Hook $hook is not present"); - } - - /** - * @dataProvider provideFoobar - */ - public function testHas($repository) - { - $this->assertNoHook($repository, 'foo'); - $this->touchHook($repository, 'foo'); - $this->assertHasHook($repository, 'foo'); - } - - /** - * @dataProvider provideFoobar - * @expectedException InvalidArgumentException - */ - public function testGet_InvalidName_ThrowsException($repository) - { - $repository->getHooks()->get('foo'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGet($repository) - { - $this->touchHook($repository, 'foo', 'foobar'); - - $this->assertEquals('foobar', $repository->getHooks()->get('foo')); - } - - /** - * @dataProvider provideFoobar - */ - public function testSymlink($repository) - { - $this->markAsSkippedIfSymlinkIsMissing(); - - $file = $this->touchHook($repository, 'bar', 'barbarbar'); - $repository->getHooks()->setSymlink('foo', $file); - - $this->assertTrue(is_link($this->hookPath($repository, 'foo')), 'foo hook is a symlink'); - $this->assertEquals($file, readlink($this->hookPath($repository, 'foo')), 'target of symlink is correct'); - } - - /** - * @dataProvider provideFoobar - * @expectedException LogicException - */ - public function testSymlink_WithExisting_ThrowsLogicException($repository) - { - $this->markAsSkippedIfSymlinkIsMissing(); - - $file = $this->hookPath($repository, 'target-symlink'); - $fooFile = $this->hookPath($repository, 'foo'); - - file_put_contents($file, 'foobar'); - touch($fooFile); - - $repository->getHooks()->setSymlink('foo', $file); - } - - /** - * @dataProvider provideFoobar - */ - public function testSet($repository) - { - $file = $this->hookPath($repository, 'foo'); - $repository->getHooks()->set('foo', 'bar'); - - $this->assertEquals('bar', file_get_contents($file), 'Hook content is correct'); - - $perms = fileperms($file); - $this->assertEquals(defined('PHP_WINDOWS_VERSION_BUILD') ? 0666 : 0777, $perms & 0777, 'Hook permissions are correct'); - } - - /** - * @dataProvider provideFoobar - */ - public function testSet_Existing_ThrowsLogicException($repository) - { - $repository->getHooks()->set('foo', 'bar'); - - $this->setExpectedException('LogicException'); - $repository->getHooks()->set('foo', 'bar'); - } - - /** - * @dataProvider provideFoobar - */ - public function testRemove($repository) - { - $file = $this->hookPath($repository, 'foo'); - touch($file); - - $repository->getHooks()->remove('foo'); - $this->assertFalse(file_exists($file)); - } - - /** - * @dataProvider provideFoobar - * @expectedException LogicException - */ - public function testRemove_NotExisting_ThrowsLogicException($repository) - { - $repository->getHooks()->remove('foo'); - } - - private function markAsSkippedIfSymlinkIsMissing() - { - if (!function_exists('symlink')) { - $this->markTestSkipped('symlink is not supported'); - } - - if (defined('PHP_WINDOWS_VERSION_MAJOR') && false === self::$symlinkOnWindows) { - $this->markTestSkipped('symlink requires "Create symbolic links" privilege on windows'); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/LogTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/LogTest.php deleted file mode 100644 index e1fa8c82..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/LogTest.php +++ /dev/null @@ -1,80 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Log; - -class LogTest extends AbstractTest -{ - /** - * @dataProvider provideFoobar - */ - public function testRevisionAndPath($repository) - { - $logReadme = $repository->getLog(self::LONGFILE_COMMIT, 'README'); - $logImage = $repository->getLog(self::LONGFILE_COMMIT, 'image.jpg'); - - $this->assertEquals(3, count($logReadme)); - $this->assertEquals(2, count($logImage)); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetCommits($repository) - { - $log = $repository->getLog(self::LONGFILE_COMMIT, null, null, 3); - - $commits = $log->getCommits(); - - $this->assertEquals(3, count($commits), '3 commits in log'); - $this->assertEquals(self::LONGFILE_COMMIT, $commits[0]->getHash(), 'First is requested one'); - $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $commits[1]->getHash(), "Second is longfile parent\'s"); - } - - /** - * @dataProvider provideFoobar - */ - public function testCountCommits($repository) - { - $log = $repository->getLog(self::LONGFILE_COMMIT, null, 2, 3); - - $this->assertEquals(8, $log->countCommits(), '8 commits found in history'); - } - - /** - * @dataProvider provideFoobar - */ - public function testCountAllCommits($repository) - { - $log = $log = $repository->getLog(); - - $this->assertGreaterThan(100, $log->countCommits(), 'Returns all commits from all branches'); - } - - /** - * @dataProvider provideFoobar - */ - public function testIterable($repository) - { - $log = $repository->getLog(self::LONGFILE_COMMIT); - - $expectedHashes = array(self::LONGFILE_COMMIT, self::BEFORE_LONGFILE_COMMIT); - foreach ($log as $entry) { - $hash = array_shift($expectedHashes); - $this->assertEquals($hash, $entry->getHash()); - if (count($expectedHashes) == 0) { - break; - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/PushReferenceTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/PushReferenceTest.php deleted file mode 100644 index a68fa1e1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/PushReferenceTest.php +++ /dev/null @@ -1,69 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\PushReference; - -class PushReferenceTest extends AbstractTest -{ - const CREATE = 1; - const DELETE = 2; - const FORCE = 4; - const FAST_FORWARD = 8; - - public function provideIsers() - { - // mask: force fastforward create delete - return array( - array('foo', PushReference::ZERO, self::LONGFILE_COMMIT, self::CREATE), - array('foo', self::LONGFILE_COMMIT, PushReference::ZERO, self::DELETE), - array('foo', self::LONGFILE_COMMIT, self::BEFORE_LONGFILE_COMMIT, self::FORCE), - array('foo', self::BEFORE_LONGFILE_COMMIT, self::LONGFILE_COMMIT, self::FAST_FORWARD), - ); - } - - /** - * @dataProvider provideIsers - */ - public function testIsers($reference, $before, $after, $mask) - { - $reference = new PushReference(self::createFoobarRepository(), $reference, $before, $after); - $this->assertEquals($mask & self::CREATE, $reference->isCreate(), 'Create value is correct.'); - $this->assertEquals($mask & self::DELETE, $reference->isDelete(), 'Delete value is correct.'); - $this->assertEquals($mask & self::FORCE, $reference->isForce(), 'Force value is correct.'); - $this->assertEquals($mask & self::FAST_FORWARD, $reference->isFastForward(), 'FastForward value is correct.'); - } - - /** - * @dataProvider provideFoobar - */ - public function testLog($repository) - { - $ref = new PushReference($repository, 'foo', self::INITIAL_COMMIT, self::LONGFILE_COMMIT); - - $log = $ref->getLog()->getCommits(); - $this->assertEquals(7, count($log), '7 commits in log'); - $this->assertEquals('add a long file', $log[0]->getShortMessage(), 'First commit is correct'); - } - - /** - * @dataProvider provideFoobar - */ - public function testLogWithExclude($repository) - { - $ref = new PushReference($repository, 'foo', PushReference::ZERO, self::LONGFILE_COMMIT); - - $log = $ref->getLog(array(self::INITIAL_COMMIT))->getCommits(); - $this->assertEquals(7, count($log), '7 commits in log'); - $this->assertEquals('add a long file', $log[0]->getShortMessage(), 'First commit is correct'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/ReferenceTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/ReferenceTest.php deleted file mode 100644 index 87dfbbba..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/ReferenceTest.php +++ /dev/null @@ -1,183 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Reference\Branch; -use Gitonomy\Git\Reference\Tag; - -class ReferenceTest extends AbstractTest -{ - private $references; - - /** - * @dataProvider provideEmpty - */ - public function testEmptyRepository($repository) - { - $this->assertCount(0, $repository->getReferences()); - $this->assertEquals(array(), $repository->getReferences()->getAll()); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetBranch($repository) - { - $branch = $repository->getReferences()->getBranch('master'); - - $this->assertTrue($branch instanceof Branch, 'Branch object is correct type'); - $this->assertEquals($branch->getCommitHash(), $branch->getCommit()->getHash(), 'Hash is correctly resolved'); - } - - /** - * @dataProvider provideFoobar - */ - public function testHasBranch($repository) - { - $this->assertTrue($repository->getReferences()->hasBranch('master'), 'Branch master exists'); - $this->assertFalse($repository->getReferences()->hasBranch('foobar'), 'Branch foobar does not exists'); - } - - /** - * @dataProvider provideFoobar - */ - public function testHasTag($repository) - { - $this->assertTrue($repository->getReferences()->hasTag('0.1'), 'Tag 0.1 exists'); - $this->assertFalse($repository->getReferences()->hasTag('foobar'), 'Tag foobar does not exists'); - } - - /** - * @dataProvider provideFoobar - * @expectedException Gitonomy\Git\Exception\ReferenceNotFoundException - */ - public function testGetBranch_NotExisting_Error($repository) - { - $branch = $repository->getReferences()->getBranch('notexisting'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetTag($repository) - { - $tag = $repository->getReferences()->getTag('0.1'); - - $this->assertTrue($tag instanceof Tag, 'Tag object is correct type'); - - $this->assertEquals(self::LONGFILE_COMMIT, $tag->getCommitHash(), 'Commit hash is correct'); - $this->assertEquals(self::LONGFILE_COMMIT, $tag->getCommit()->getHash(), 'Commit hash is correct'); - } - - /** - * @dataProvider provideFoobar - * @expectedException Gitonomy\Git\Exception\ReferenceNotFoundException - */ - public function testGetTag_NotExisting_Error($repository) - { - $branch = $repository->getReferences()->getTag('notexisting'); - } - - /** - * @dataProvider provideFoobar - */ - public function testResolve($repository) - { - $commit = $repository->getReferences()->getTag('0.1')->getCommit(); - $resolved = $repository->getReferences()->resolve($commit->getHash()); - - $this->assertEquals(1, count($resolved), '1 revision resolved'); - $this->assertTrue(reset($resolved) instanceof Tag, 'Resolved object is a tag'); - } - - /** - * @dataProvider provideFoobar - */ - public function testResolveTags($repository) - { - $commit = $repository->getReferences()->getTag('0.1')->getCommit(); - $resolved = $repository->getReferences()->resolveTags($commit->getHash()); - - $this->assertEquals(1, count($resolved), '1 revision resolved'); - $this->assertTrue(reset($resolved) instanceof Tag, 'Resolved object is a tag'); - } - - /** - * @dataProvider provideFoobar - */ - public function testResolveBranches($repository) - { - $master = $repository->getReferences()->getBranch('master'); - - $resolved = $repository->getReferences()->resolveBranches($master->getCommitHash()); - - if ($repository->isBare()) { - $this->assertEquals(1, count($resolved), '1 revision resolved'); - } else { - $this->assertEquals(2, count($resolved), '2 revision resolved'); - } - - $this->assertTrue(reset($resolved) instanceof Branch, 'Resolved object is a branch'); - } - - /** - * @dataProvider provideFoobar - */ - public function testCountable($repository) - { - $this->assertGreaterThanOrEqual(2, count($repository->getReferences()), 'At least two references in repository'); - } - - /** - * @dataProvider provideFoobar - */ - public function testIterable($repository) - { - $i = 0; - foreach ($repository->getReferences() as $ref) { - ++$i; - } - $this->assertGreaterThanOrEqual(2, $i, 'At least two references in repository'); - } - - /** - * @dataProvider provideFoobar - */ - public function testCreateAndDeleteTag($repository) - { - $references = $repository->getReferences(); - $tag = $references->createTag('0.0', self::INITIAL_COMMIT); - - $this->assertTrue($references->hasTag('0.0'), 'Tag 0.0 created'); - $this->assertEquals(self::INITIAL_COMMIT, $tag->getCommit()->getHash()); - $this->assertSame($tag, $references->getTag('0.0')); - - $tag->delete(); - $this->assertFalse($references->hasTag('0.0'), 'Tag 0.0 removed'); - } - - /** - * @dataProvider provideFoobar - */ - public function testCreateAndDeleteBranch($repository) - { - $references = $repository->getReferences(); - $branch = $references->createBranch('foobar', self::INITIAL_COMMIT); - - $this->assertTrue($references->hasBranch('foobar'), 'Branch foobar created'); - $this->assertEquals(self::INITIAL_COMMIT, $branch->getCommit()->getHash()); - $this->assertSame($branch, $references->getBranch('foobar')); - - $branch->delete(); - $this->assertFalse($references->hasBranch('foobar'), 'Branch foobar removed'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RepositoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RepositoryTest.php deleted file mode 100644 index 40934192..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RepositoryTest.php +++ /dev/null @@ -1,108 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Blob; -use Gitonomy\Git\Repository; - -class RepositoryTest extends AbstractTest -{ - /** - * @dataProvider provideFoobar - */ - public function testGetBlob_WithExisting_Works($repository) - { - $blob = $repository->getCommit(self::LONGFILE_COMMIT)->getTree()->resolvePath('README.md'); - - $this->assertTrue($blob instanceof Blob, 'getBlob() returns a Blob object'); - $this->assertContains('Foo Bar project', $blob->getContent(), 'file is correct'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetSize($repository) - { - $size = $repository->getSize(); - $this->assertGreaterThan(70, $size, 'Repository is greater than 70KB'); - } - - public function testIsBare() - { - $bare = self::createFoobarRepository(true); - $this->assertTrue($bare->isBare(), 'Lib repository is bare'); - - $notBare = self::createFoobarRepository(false); - $this->assertFalse($notBare->isBare(), 'Working copy is not bare'); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetDescription($repository) - { - $this->assertSame("Unnamed repository; edit this file 'description' to name the repository.\n", $repository->getDescription()); - } - - /** - * @dataProvider provideFoobar - */ - public function testLoggerOk($repository) - { - if (!interface_exists('Psr\Log\LoggerInterface')) { - $this->markTestSkipped(); - } - - $logger = $this->getMock('Psr\Log\LoggerInterface'); - $logger - ->expects($this->once()) - ->method('info') - ; - $logger - ->expects($this->exactly(3)) // duration, return code and output - ->method('debug') - ; - - $repository->setLogger($logger); - - $repository->run('remote'); - } - - /** - * @dataProvider provideFoobar - * @expectedException RuntimeException - */ - public function testLoggerNOk($repository) - { - if (!interface_exists('Psr\Log\LoggerInterface')) { - $this->markTestSkipped(); - } - - $logger = $this->getMock('Psr\Log\LoggerInterface'); - $logger - ->expects($this->once()) - ->method('info') - ; - $logger - ->expects($this->exactly(3)) // duration, return code and output - ->method('debug') - ; - $logger - ->expects($this->once()) - ->method('error') - ; - - $repository->setLogger($logger); - - $repository->run('not-work'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RevisionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RevisionTest.php deleted file mode 100644 index 253237f5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RevisionTest.php +++ /dev/null @@ -1,60 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Commit; -use Gitonomy\Git\Log; -use Gitonomy\Git\Revision; - -class RevisionTest extends AbstractTest -{ - /** - * @dataProvider provideFoobar - */ - public function testGetCommit($repository) - { - $revision = $repository->getRevision(self::LONGFILE_COMMIT.'^'); - - $this->assertTrue($revision instanceof Revision, 'Revision object type'); - - $commit = $revision->getCommit(); - - $this->assertTrue($commit instanceof Commit, 'getCommit returns a Commit'); - - $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $commit->getHash(), 'Resolution is correct'); - } - - /** - * @dataProvider provideFoobar - * @expectedException Gitonomy\Git\Exception\ReferenceNotFoundException - * @expectedExceptionMessage Can not find revision "non-existent-commit" - */ - public function testGetFailingReference($repository) - { - $revision = $repository->getRevision('non-existent-commit')->getCommit(); - } - - /** - * @dataProvider provideFoobar - */ - public function testGetLog($repository) - { - $revision = $repository->getRevision(self::LONGFILE_COMMIT); - - $log = $revision->getLog(null, 2, 3); - - $this->assertTrue($log instanceof Log, 'Log type object'); - $this->assertEquals(2, $log->getOffset(), 'Log offset is passed'); - $this->assertEquals(3, $log->getLimit(), 'Log limit is passed'); - $this->assertEquals(array($revision), $log->getRevisions()->getAll(), 'Revision is passed'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/TreeTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/TreeTest.php deleted file mode 100644 index 1587033a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/TreeTest.php +++ /dev/null @@ -1,48 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Blob; - -class TreeTest extends AbstractTest -{ - const PATH_RESOLVING_COMMIT = 'cc06ac171d884282202dff88c1ded499a1f89420'; - /** - * @dataProvider provideFooBar - */ - public function testCase($repository) - { - $tree = $repository->getCommit(self::LONGFILE_COMMIT)->getTree(); - - $entries = $tree->getEntries(); - - $this->assertTrue(isset($entries['long.php']), 'long.php is present'); - $this->assertTrue($entries['long.php'][1] instanceof Blob, 'long.php is a Blob'); - - $this->assertTrue(isset($entries['README.md']), 'README.md is present'); - $this->assertTrue($entries['README.md'][1] instanceof Blob, 'README.md is a Blob'); - } - - /** - * @dataProvider provideFooBar - */ - public function testResolvePath($repository) - { - $tree = $repository->getCommit(self::PATH_RESOLVING_COMMIT)->getTree(); - $path = 'test/a/b/c'; - - $resolved = $tree->resolvePath($path); - $entries = $resolved->getEntries(); - - $this->assertTrue(isset($entries['d']), 'Successfully resolved source folder'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/WorkingCopyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/WorkingCopyTest.php deleted file mode 100644 index 7d4d109f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/WorkingCopyTest.php +++ /dev/null @@ -1,112 +0,0 @@ - - * (c) Julien DIDIER - * - * This source file is subject to the MIT license that is bundled - * with this source code in the file LICENSE. - */ -namespace Gitonomy\Git\Tests; - -use Gitonomy\Git\Admin; -use Gitonomy\Git\Reference\Branch; - -class WorkingCopyTest extends AbstractTest -{ - /** - * @expectedException LogicException - */ - public function testNoWorkingCopyInBare() - { - $path = self::createTempDir(); - $repo = Admin::init($path, true, self::getOptions()); - - $repo->getWorkingCopy(); - } - - public function testCheckout() - { - $repository = self::createFoobarRepository(false); - $wc = $repository->getWorkingCopy(); - $wc->checkout('origin/new-feature', 'new-feature'); - - $head = $repository->getHead(); - $this->assertTrue($head instanceof Branch, 'HEAD is a branch'); - $this->assertEquals('new-feature', $head->getName(), 'HEAD is branch new-feature'); - } - - public function testDiffStaged() - { - $repository = self::createFoobarRepository(false); - $wc = $repository->getWorkingCopy(); - - $diffStaged = $wc->getDiffStaged(); - $this->assertCount(0, $diffStaged->getFiles()); - - $file = $repository->getWorkingDir().'/foobar-test'; - file_put_contents($file, 'test'); - $repository->run('add', array($file)); - - $diffStaged = $wc->getDiffStaged(); - $this->assertCount(1, $diffStaged->getFiles()); - } - - public function testDiffPending() - { - $repository = self::createFoobarRepository(false); - $wc = $repository->getWorkingCopy(); - - $diffPending = $wc->getDiffPending(); - $this->assertCount(0, $diffPending->getFiles()); - - $file = $repository->getWorkingDir().'/test.sh'; - file_put_contents($file, 'test'); - - $diffPending = $wc->getDiffPending(); - $this->assertCount(1, $diffPending->getFiles()); - } - - /** - * @expectedException RuntimeException - */ - public function testCheckoutUnexisting() - { - self::createFoobarRepository(false)->getWorkingCopy()->checkout('foobar'); - } - - public function testAttachedHead() - { - $repository = self::createFoobarRepository(false); - $wc = $repository->getWorkingCopy(); - $wc->checkout('master'); - - $head = $repository->getHead(); - $this->assertTrue($repository->isHeadAttached(), 'HEAD is attached'); - $this->assertFalse($repository->isHeadDetached(), 'HEAD is not detached'); - } - - public function testDetachedHead() - { - $repository = self::createFoobarRepository(false); - $wc = $repository->getWorkingCopy(); - $wc->checkout('0.1'); - - $head = $repository->getHead(); - $this->assertFalse($repository->isHeadAttached(), 'HEAD is not attached'); - $this->assertTrue($repository->isHeadDetached(), 'HEAD is detached'); - } - - public function testGetUntracked() - { - $repository = self::createFoobarRepository(false); - $wc = $repository->getWorkingCopy(); - - $file = $repository->getWorkingDir().'/untracked.txt'; - file_put_contents($file, 'foo'); - - $this->assertContains('untracked.txt', $wc->getUntrackedFiles()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/bootstrap.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/bootstrap.php deleted file mode 100644 index f3735d58..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/gitonomy/gitlib/tests/bootstrap.php +++ /dev/null @@ -1,14 +0,0 @@ -` and quotes -* Added `cert` and `ssl_key` as request options -* `Host` header can now diverge from the host part of a URL if the header is set manually -* `Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor` was rewritten to change from using SimpleXML to XMLWriter -* OAuth parameters are only added via the plugin if they aren't already set -* Exceptions are now thrown when a URL cannot be parsed -* Returning `false` if `Guzzle\Http\EntityBody::getContentMd5()` fails -* Not setting a `Content-MD5` on a command if calculating the Content-MD5 fails via the CommandContentMd5Plugin - -## 3.7.0 - 2013-06-10 - -* See UPGRADING.md for more information on how to upgrade. -* Requests now support the ability to specify an array of $options when creating a request to more easily modify a - request. You can pass a 'request.options' configuration setting to a client to apply default request options to - every request created by a client (e.g. default query string variables, headers, curl options, etc). -* Added a static facade class that allows you to use Guzzle with static methods and mount the class to `\Guzzle`. - See `Guzzle\Http\StaticClient::mount`. -* Added `command.request_options` to `Guzzle\Service\Command\AbstractCommand` to pass request options to requests - created by a command (e.g. custom headers, query string variables, timeout settings, etc). -* Stream size in `Guzzle\Stream\PhpStreamRequestFactory` will now be set if Content-Length is returned in the - headers of a response -* Added `Guzzle\Common\Collection::setPath($path, $value)` to set a value into an array using a nested key - (e.g. `$collection->setPath('foo/baz/bar', 'test'); echo $collection['foo']['bar']['bar'];`) -* ServiceBuilders now support storing and retrieving arbitrary data -* CachePlugin can now purge all resources for a given URI -* CachePlugin can automatically purge matching cached items when a non-idempotent request is sent to a resource -* CachePlugin now uses the Vary header to determine if a resource is a cache hit -* `Guzzle\Http\Message\Response` now implements `\Serializable` -* Added `Guzzle\Cache\CacheAdapterFactory::fromCache()` to more easily create cache adapters -* `Guzzle\Service\ClientInterface::execute()` now accepts an array, single command, or Traversable -* Fixed a bug in `Guzzle\Http\Message\Header\Link::addLink()` -* Better handling of calculating the size of a stream in `Guzzle\Stream\Stream` using fstat() and caching the size -* `Guzzle\Common\Exception\ExceptionCollection` now creates a more readable exception message -* Fixing BC break: Added back the MonologLogAdapter implementation rather than extending from PsrLog so that older - Symfony users can still use the old version of Monolog. -* Fixing BC break: Added the implementation back in for `Guzzle\Http\Message\AbstractMessage::getTokenizedHeader()`. - Now triggering an E_USER_DEPRECATED warning when used. Use `$message->getHeader()->parseParams()`. -* Several performance improvements to `Guzzle\Common\Collection` -* Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`: - createRequest, head, delete, put, patch, post, options, prepareRequest -* Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()` -* Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface` -* Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to - `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a - resource, string, or EntityBody into the $options parameter to specify the download location of the response. -* Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a - default `array()` -* Added `Guzzle\Stream\StreamInterface::isRepeatable` -* Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use - $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or - $client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))`. -* Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use $client->getConfig()->getPath('request.options/headers')`. -* Removed `Guzzle\Http\ClientInterface::expandTemplate()` -* Removed `Guzzle\Http\ClientInterface::setRequestFactory()` -* Removed `Guzzle\Http\ClientInterface::getCurlMulti()` -* Removed `Guzzle\Http\Message\RequestInterface::canCache` -* Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect` -* Removed `Guzzle\Http\Message\RequestInterface::isRedirect` -* Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods. -* You can now enable E_USER_DEPRECATED warnings to see if you are using a deprecated method by setting - `Guzzle\Common\Version::$emitWarnings` to true. -* Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use - `$request->getResponseBody()->isRepeatable()` instead. -* Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use - `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. -* Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use - `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. -* Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead. -* Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead. -* Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated -* Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand. - These will work through Guzzle 4.0 -* Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use [request.options][params]. -* Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client. -* Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use $client->getConfig()->getPath('request.options/headers')`. -* Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. -* Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8. -* Marked `Guzzle\Common\Collection::inject()` as deprecated. -* Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');` -* CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a - CacheStorageInterface. These two objects and interface will be removed in a future version. -* Always setting X-cache headers on cached responses -* Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin -* `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface - $request, Response $response);` -* `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);` -* `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);` -* Added `CacheStorageInterface::purge($url)` -* `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin - $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache, - CanCacheStrategyInterface $canCache = null)` -* Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)` - -## 3.6.0 - 2013-05-29 - -* ServiceDescription now implements ToArrayInterface -* Added command.hidden_params to blacklist certain headers from being treated as additionalParameters -* Guzzle can now correctly parse incomplete URLs -* Mixed casing of headers are now forced to be a single consistent casing across all values for that header. -* Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution -* Removed the whole changedHeader() function system of messages because all header changes now go through addHeader(). -* Specific header implementations can be created for complex headers. When a message creates a header, it uses a - HeaderFactory which can map specific headers to specific header classes. There is now a Link header and - CacheControl header implementation. -* Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate -* Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti() -* Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in - Guzzle\Http\Curl\RequestMediator -* Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string. -* Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface -* Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders() -* Removed Guzzle\Parser\ParserRegister::get(). Use getParser() -* Removed Guzzle\Parser\ParserRegister::set(). Use registerParser(). -* All response header helper functions return a string rather than mixing Header objects and strings inconsistently -* Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc are managed by Guzzle - directly via interfaces -* Removed the injecting of a request object onto a response object. The methods to get and set a request still exist - but are a no-op until removed. -* Most classes that used to require a ``Guzzle\Service\Command\CommandInterface` typehint now request a - `Guzzle\Service\Command\ArrayCommandInterface`. -* Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response - on a request while the request is still being transferred -* The ability to case-insensitively search for header values -* Guzzle\Http\Message\Header::hasExactHeader -* Guzzle\Http\Message\Header::raw. Use getAll() -* Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object - instead. -* `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess -* Added the ability to cast Model objects to a string to view debug information. - -## 3.5.0 - 2013-05-13 - -* Bug: Fixed a regression so that request responses are parsed only once per oncomplete event rather than multiple times -* Bug: Better cleanup of one-time events accross the board (when an event is meant to fire once, it will now remove - itself from the EventDispatcher) -* Bug: `Guzzle\Log\MessageFormatter` now properly writes "total_time" and "connect_time" values -* Bug: Cloning an EntityEnclosingRequest now clones the EntityBody too -* Bug: Fixed an undefined index error when parsing nested JSON responses with a sentAs parameter that reference a - non-existent key -* Bug: All __call() method arguments are now required (helps with mocking frameworks) -* Deprecating Response::getRequest() and now using a shallow clone of a request object to remove a circular reference - to help with refcount based garbage collection of resources created by sending a request -* Deprecating ZF1 cache and log adapters. These will be removed in the next major version. -* Deprecating `Response::getPreviousResponse()` (method signature still exists, but it'sdeprecated). Use the - HistoryPlugin for a history. -* Added a `responseBody` alias for the `response_body` location -* Refactored internals to no longer rely on Response::getRequest() -* HistoryPlugin can now be cast to a string -* HistoryPlugin now logs transactions rather than requests and responses to more accurately keep track of the requests - and responses that are sent over the wire -* Added `getEffectiveUrl()` and `getRedirectCount()` to Response objects - -## 3.4.3 - 2013-04-30 - -* Bug fix: Fixing bug introduced in 3.4.2 where redirect responses are duplicated on the final redirected response -* Added a check to re-extract the temp cacert bundle from the phar before sending each request - -## 3.4.2 - 2013-04-29 - -* Bug fix: Stream objects now work correctly with "a" and "a+" modes -* Bug fix: Removing `Transfer-Encoding: chunked` header when a Content-Length is present -* Bug fix: AsyncPlugin no longer forces HEAD requests -* Bug fix: DateTime timezones are now properly handled when using the service description schema formatter -* Bug fix: CachePlugin now properly handles stale-if-error directives when a request to the origin server fails -* Setting a response on a request will write to the custom request body from the response body if one is specified -* LogPlugin now writes to php://output when STDERR is undefined -* Added the ability to set multiple POST files for the same key in a single call -* application/x-www-form-urlencoded POSTs now use the utf-8 charset by default -* Added the ability to queue CurlExceptions to the MockPlugin -* Cleaned up how manual responses are queued on requests (removed "queued_response" and now using request.before_send) -* Configuration loading now allows remote files - -## 3.4.1 - 2013-04-16 - -* Large refactoring to how CurlMulti handles work. There is now a proxy that sits in front of a pool of CurlMulti - handles. This greatly simplifies the implementation, fixes a couple bugs, and provides a small performance boost. -* Exceptions are now properly grouped when sending requests in parallel -* Redirects are now properly aggregated when a multi transaction fails -* Redirects now set the response on the original object even in the event of a failure -* Bug fix: Model names are now properly set even when using $refs -* Added support for PHP 5.5's CurlFile to prevent warnings with the deprecated @ syntax -* Added support for oauth_callback in OAuth signatures -* Added support for oauth_verifier in OAuth signatures -* Added support to attempt to retrieve a command first literally, then ucfirst, the with inflection - -## 3.4.0 - 2013-04-11 - -* Bug fix: URLs are now resolved correctly based on http://tools.ietf.org/html/rfc3986#section-5.2. #289 -* Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289 -* Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263 -* Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264. -* Bug fix: Added `number` type to service descriptions. -* Bug fix: empty parameters are removed from an OAuth signature -* Bug fix: Revalidating a cache entry prefers the Last-Modified over the Date header -* Bug fix: Fixed "array to string" error when validating a union of types in a service description -* Bug fix: Removed code that attempted to determine the size of a stream when data is written to the stream -* Bug fix: Not including an `oauth_token` if the value is null in the OauthPlugin. -* Bug fix: Now correctly aggregating successful requests and failed requests in CurlMulti when a redirect occurs. -* The new default CURLOPT_TIMEOUT setting has been increased to 150 seconds so that Guzzle works on poor connections. -* Added a feature to EntityEnclosingRequest::setBody() that will automatically set the Content-Type of the request if - the Content-Type can be determined based on the entity body or the path of the request. -* Added the ability to overwrite configuration settings in a client when grabbing a throwaway client from a builder. -* Added support for a PSR-3 LogAdapter. -* Added a `command.after_prepare` event -* Added `oauth_callback` parameter to the OauthPlugin -* Added the ability to create a custom stream class when using a stream factory -* Added a CachingEntityBody decorator -* Added support for `additionalParameters` in service descriptions to define how custom parameters are serialized. -* The bundled SSL certificate is now provided in the phar file and extracted when running Guzzle from a phar. -* You can now send any EntityEnclosingRequest with POST fields or POST files and cURL will handle creating bodies -* POST requests using a custom entity body are now treated exactly like PUT requests but with a custom cURL method. This - means that the redirect behavior of POST requests with custom bodies will not be the same as POST requests that use - POST fields or files (the latter is only used when emulating a form POST in the browser). -* Lots of cleanup to CurlHandle::factory and RequestFactory::createRequest - -## 3.3.1 - 2013-03-10 - -* Added the ability to create PHP streaming responses from HTTP requests -* Bug fix: Running any filters when parsing response headers with service descriptions -* Bug fix: OauthPlugin fixes to allow for multi-dimensional array signing, and sorting parameters before signing -* Bug fix: Removed the adding of default empty arrays and false Booleans to responses in order to be consistent across - response location visitors. -* Bug fix: Removed the possibility of creating configuration files with circular dependencies -* RequestFactory::create() now uses the key of a POST file when setting the POST file name -* Added xmlAllowEmpty to serialize an XML body even if no XML specific parameters are set - -## 3.3.0 - 2013-03-03 - -* A large number of performance optimizations have been made -* Bug fix: Added 'wb' as a valid write mode for streams -* Bug fix: `Guzzle\Http\Message\Response::json()` now allows scalar values to be returned -* Bug fix: Fixed bug in `Guzzle\Http\Message\Response` where wrapping quotes were stripped from `getEtag()` -* BC: Removed `Guzzle\Http\Utils` class -* BC: Setting a service description on a client will no longer modify the client's command factories. -* BC: Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using - the 'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io' -* BC: `Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getSteamType()` are no longer converted to - lowercase -* Operation parameter objects are now lazy loaded internally -* Added ErrorResponsePlugin that can throw errors for responses defined in service description operations' errorResponses -* Added support for instantiating responseType=class responseClass classes. Classes must implement - `Guzzle\Service\Command\ResponseClassInterface` -* Added support for additionalProperties for top-level parameters in responseType=model responseClasses. These - additional properties also support locations and can be used to parse JSON responses where the outermost part of the - JSON is an array -* Added support for nested renaming of JSON models (rename sentAs to name) -* CachePlugin - * Added support for stale-if-error so that the CachePlugin can now serve stale content from the cache on error - * Debug headers can now added to cached response in the CachePlugin - -## 3.2.0 - 2013-02-14 - -* CurlMulti is no longer reused globally. A new multi object is created per-client. This helps to isolate clients. -* URLs with no path no longer contain a "/" by default -* Guzzle\Http\QueryString does no longer manages the leading "?". This is now handled in Guzzle\Http\Url. -* BadResponseException no longer includes the full request and response message -* Adding setData() to Guzzle\Service\Description\ServiceDescriptionInterface -* Adding getResponseBody() to Guzzle\Http\Message\RequestInterface -* Various updates to classes to use ServiceDescriptionInterface type hints rather than ServiceDescription -* Header values can now be normalized into distinct values when multiple headers are combined with a comma separated list -* xmlEncoding can now be customized for the XML declaration of a XML service description operation -* Guzzle\Http\QueryString now uses Guzzle\Http\QueryAggregator\QueryAggregatorInterface objects to add custom value - aggregation and no longer uses callbacks -* The URL encoding implementation of Guzzle\Http\QueryString can now be customized -* Bug fix: Filters were not always invoked for array service description parameters -* Bug fix: Redirects now use a target response body rather than a temporary response body -* Bug fix: The default exponential backoff BackoffPlugin was not giving when the request threshold was exceeded -* Bug fix: Guzzle now takes the first found value when grabbing Cache-Control directives - -## 3.1.2 - 2013-01-27 - -* Refactored how operation responses are parsed. Visitors now include a before() method responsible for parsing the - response body. For example, the XmlVisitor now parses the XML response into an array in the before() method. -* Fixed an issue where cURL would not automatically decompress responses when the Accept-Encoding header was sent -* CURLOPT_SSL_VERIFYHOST is never set to 1 because it is deprecated (see 5e0ff2ef20f839e19d1eeb298f90ba3598784444) -* Fixed a bug where redirect responses were not chained correctly using getPreviousResponse() -* Setting default headers on a client after setting the user-agent will not erase the user-agent setting - -## 3.1.1 - 2013-01-20 - -* Adding wildcard support to Guzzle\Common\Collection::getPath() -* Adding alias support to ServiceBuilder configs -* Adding Guzzle\Service\Resource\CompositeResourceIteratorFactory and cleaning up factory interface - -## 3.1.0 - 2013-01-12 - -* BC: CurlException now extends from RequestException rather than BadResponseException -* BC: Renamed Guzzle\Plugin\Cache\CanCacheStrategyInterface::canCache() to canCacheRequest() and added CanCacheResponse() -* Added getData to ServiceDescriptionInterface -* Added context array to RequestInterface::setState() -* Bug: Removing hard dependency on the BackoffPlugin from Guzzle\Http -* Bug: Adding required content-type when JSON request visitor adds JSON to a command -* Bug: Fixing the serialization of a service description with custom data -* Made it easier to deal with exceptions thrown when transferring commands or requests in parallel by providing - an array of successful and failed responses -* Moved getPath from Guzzle\Service\Resource\Model to Guzzle\Common\Collection -* Added Guzzle\Http\IoEmittingEntityBody -* Moved command filtration from validators to location visitors -* Added `extends` attributes to service description parameters -* Added getModels to ServiceDescriptionInterface - -## 3.0.7 - 2012-12-19 - -* Fixing phar detection when forcing a cacert to system if null or true -* Allowing filename to be passed to `Guzzle\Http\Message\Request::setResponseBody()` -* Cleaning up `Guzzle\Common\Collection::inject` method -* Adding a response_body location to service descriptions - -## 3.0.6 - 2012-12-09 - -* CurlMulti performance improvements -* Adding setErrorResponses() to Operation -* composer.json tweaks - -## 3.0.5 - 2012-11-18 - -* Bug: Fixing an infinite recursion bug caused from revalidating with the CachePlugin -* Bug: Response body can now be a string containing "0" -* Bug: Using Guzzle inside of a phar uses system by default but now allows for a custom cacert -* Bug: QueryString::fromString now properly parses query string parameters that contain equal signs -* Added support for XML attributes in service description responses -* DefaultRequestSerializer now supports array URI parameter values for URI template expansion -* Added better mimetype guessing to requests and post files - -## 3.0.4 - 2012-11-11 - -* Bug: Fixed a bug when adding multiple cookies to a request to use the correct glue value -* Bug: Cookies can now be added that have a name, domain, or value set to "0" -* Bug: Using the system cacert bundle when using the Phar -* Added json and xml methods to Response to make it easier to parse JSON and XML response data into data structures -* Enhanced cookie jar de-duplication -* Added the ability to enable strict cookie jars that throw exceptions when invalid cookies are added -* Added setStream to StreamInterface to actually make it possible to implement custom rewind behavior for entity bodies -* Added the ability to create any sort of hash for a stream rather than just an MD5 hash - -## 3.0.3 - 2012-11-04 - -* Implementing redirects in PHP rather than cURL -* Added PECL URI template extension and using as default parser if available -* Bug: Fixed Content-Length parsing of Response factory -* Adding rewind() method to entity bodies and streams. Allows for custom rewinding of non-repeatable streams. -* Adding ToArrayInterface throughout library -* Fixing OauthPlugin to create unique nonce values per request - -## 3.0.2 - 2012-10-25 - -* Magic methods are enabled by default on clients -* Magic methods return the result of a command -* Service clients no longer require a base_url option in the factory -* Bug: Fixed an issue with URI templates where null template variables were being expanded - -## 3.0.1 - 2012-10-22 - -* Models can now be used like regular collection objects by calling filter, map, etc -* Models no longer require a Parameter structure or initial data in the constructor -* Added a custom AppendIterator to get around a PHP bug with the `\AppendIterator` - -## 3.0.0 - 2012-10-15 - -* Rewrote service description format to be based on Swagger - * Now based on JSON schema - * Added nested input structures and nested response models - * Support for JSON and XML input and output models - * Renamed `commands` to `operations` - * Removed dot class notation - * Removed custom types -* Broke the project into smaller top-level namespaces to be more component friendly -* Removed support for XML configs and descriptions. Use arrays or JSON files. -* Removed the Validation component and Inspector -* Moved all cookie code to Guzzle\Plugin\Cookie -* Magic methods on a Guzzle\Service\Client now return the command un-executed. -* Calling getResult() or getResponse() on a command will lazily execute the command if needed. -* Now shipping with cURL's CA certs and using it by default -* Added previousResponse() method to response objects -* No longer sending Accept and Accept-Encoding headers on every request -* Only sending an Expect header by default when a payload is greater than 1MB -* Added/moved client options: - * curl.blacklist to curl.option.blacklist - * Added ssl.certificate_authority -* Added a Guzzle\Iterator component -* Moved plugins from Guzzle\Http\Plugin to Guzzle\Plugin -* Added a more robust backoff retry strategy (replaced the ExponentialBackoffPlugin) -* Added a more robust caching plugin -* Added setBody to response objects -* Updating LogPlugin to use a more flexible MessageFormatter -* Added a completely revamped build process -* Cleaning up Collection class and removing default values from the get method -* Fixed ZF2 cache adapters - -## 2.8.8 - 2012-10-15 - -* Bug: Fixed a cookie issue that caused dot prefixed domains to not match where popular browsers did - -## 2.8.7 - 2012-09-30 - -* Bug: Fixed config file aliases for JSON includes -* Bug: Fixed cookie bug on a request object by using CookieParser to parse cookies on requests -* Bug: Removing the path to a file when sending a Content-Disposition header on a POST upload -* Bug: Hardening request and response parsing to account for missing parts -* Bug: Fixed PEAR packaging -* Bug: Fixed Request::getInfo -* Bug: Fixed cases where CURLM_CALL_MULTI_PERFORM return codes were causing curl transactions to fail -* Adding the ability for the namespace Iterator factory to look in multiple directories -* Added more getters/setters/removers from service descriptions -* Added the ability to remove POST fields from OAuth signatures -* OAuth plugin now supports 2-legged OAuth - -## 2.8.6 - 2012-09-05 - -* Added the ability to modify and build service descriptions -* Added the use of visitors to apply parameters to locations in service descriptions using the dynamic command -* Added a `json` parameter location -* Now allowing dot notation for classes in the CacheAdapterFactory -* Using the union of two arrays rather than an array_merge when extending service builder services and service params -* Ensuring that a service is a string before doing strpos() checks on it when substituting services for references - in service builder config files. -* Services defined in two different config files that include one another will by default replace the previously - defined service, but you can now create services that extend themselves and merge their settings over the previous -* The JsonLoader now supports aliasing filenames with different filenames. This allows you to alias something like - '_default' with a default JSON configuration file. - -## 2.8.5 - 2012-08-29 - -* Bug: Suppressed empty arrays from URI templates -* Bug: Added the missing $options argument from ServiceDescription::factory to enable caching -* Added support for HTTP responses that do not contain a reason phrase in the start-line -* AbstractCommand commands are now invokable -* Added a way to get the data used when signing an Oauth request before a request is sent - -## 2.8.4 - 2012-08-15 - -* Bug: Custom delay time calculations are no longer ignored in the ExponentialBackoffPlugin -* Added the ability to transfer entity bodies as a string rather than streamed. This gets around curl error 65. Set `body_as_string` in a request's curl options to enable. -* Added a StreamInterface, EntityBodyInterface, and added ftell() to Guzzle\Common\Stream -* Added an AbstractEntityBodyDecorator and a ReadLimitEntityBody decorator to transfer only a subset of a decorated stream -* Stream and EntityBody objects will now return the file position to the previous position after a read required operation (e.g. getContentMd5()) -* Added additional response status codes -* Removed SSL information from the default User-Agent header -* DELETE requests can now send an entity body -* Added an EventDispatcher to the ExponentialBackoffPlugin and added an ExponentialBackoffLogger to log backoff retries -* Added the ability of the MockPlugin to consume mocked request bodies -* LogPlugin now exposes request and response objects in the extras array - -## 2.8.3 - 2012-07-30 - -* Bug: Fixed a case where empty POST requests were sent as GET requests -* Bug: Fixed a bug in ExponentialBackoffPlugin that caused fatal errors when retrying an EntityEnclosingRequest that does not have a body -* Bug: Setting the response body of a request to null after completing a request, not when setting the state of a request to new -* Added multiple inheritance to service description commands -* Added an ApiCommandInterface and added ``getParamNames()`` and ``hasParam()`` -* Removed the default 2mb size cutoff from the Md5ValidatorPlugin so that it now defaults to validating everything -* Changed CurlMulti::perform to pass a smaller timeout to CurlMulti::executeHandles - -## 2.8.2 - 2012-07-24 - -* Bug: Query string values set to 0 are no longer dropped from the query string -* Bug: A Collection object is no longer created each time a call is made to ``Guzzle\Service\Command\AbstractCommand::getRequestHeaders()`` -* Bug: ``+`` is now treated as an encoded space when parsing query strings -* QueryString and Collection performance improvements -* Allowing dot notation for class paths in filters attribute of a service descriptions - -## 2.8.1 - 2012-07-16 - -* Loosening Event Dispatcher dependency -* POST redirects can now be customized using CURLOPT_POSTREDIR - -## 2.8.0 - 2012-07-15 - -* BC: Guzzle\Http\Query - * Query strings with empty variables will always show an equal sign unless the variable is set to QueryString::BLANK (e.g. ?acl= vs ?acl) - * Changed isEncodingValues() and isEncodingFields() to isUrlEncoding() - * Changed setEncodeValues(bool) and setEncodeFields(bool) to useUrlEncoding(bool) - * Changed the aggregation functions of QueryString to be static methods - * Can now use fromString() with querystrings that have a leading ? -* cURL configuration values can be specified in service descriptions using ``curl.`` prefixed parameters -* Content-Length is set to 0 before emitting the request.before_send event when sending an empty request body -* Cookies are no longer URL decoded by default -* Bug: URI template variables set to null are no longer expanded - -## 2.7.2 - 2012-07-02 - -* BC: Moving things to get ready for subtree splits. Moving Inflection into Common. Moving Guzzle\Http\Parser to Guzzle\Parser. -* BC: Removing Guzzle\Common\Batch\Batch::count() and replacing it with isEmpty() -* CachePlugin now allows for a custom request parameter function to check if a request can be cached -* Bug fix: CachePlugin now only caches GET and HEAD requests by default -* Bug fix: Using header glue when transferring headers over the wire -* Allowing deeply nested arrays for composite variables in URI templates -* Batch divisors can now return iterators or arrays - -## 2.7.1 - 2012-06-26 - -* Minor patch to update version number in UA string -* Updating build process - -## 2.7.0 - 2012-06-25 - -* BC: Inflection classes moved to Guzzle\Inflection. No longer static methods. Can now inject custom inflectors into classes. -* BC: Removed magic setX methods from commands -* BC: Magic methods mapped to service description commands are now inflected in the command factory rather than the client __call() method -* Verbose cURL options are no longer enabled by default. Set curl.debug to true on a client to enable. -* Bug: Now allowing colons in a response start-line (e.g. HTTP/1.1 503 Service Unavailable: Back-end server is at capacity) -* Guzzle\Service\Resource\ResourceIteratorApplyBatched now internally uses the Guzzle\Common\Batch namespace -* Added Guzzle\Service\Plugin namespace and a PluginCollectionPlugin -* Added the ability to set POST fields and files in a service description -* Guzzle\Http\EntityBody::factory() now accepts objects with a __toString() method -* Adding a command.before_prepare event to clients -* Added BatchClosureTransfer and BatchClosureDivisor -* BatchTransferException now includes references to the batch divisor and transfer strategies -* Fixed some tests so that they pass more reliably -* Added Guzzle\Common\Log\ArrayLogAdapter - -## 2.6.6 - 2012-06-10 - -* BC: Removing Guzzle\Http\Plugin\BatchQueuePlugin -* BC: Removing Guzzle\Service\Command\CommandSet -* Adding generic batching system (replaces the batch queue plugin and command set) -* Updating ZF cache and log adapters and now using ZF's composer repository -* Bug: Setting the name of each ApiParam when creating through an ApiCommand -* Adding result_type, result_doc, deprecated, and doc_url to service descriptions -* Bug: Changed the default cookie header casing back to 'Cookie' - -## 2.6.5 - 2012-06-03 - -* BC: Renaming Guzzle\Http\Message\RequestInterface::getResourceUri() to getResource() -* BC: Removing unused AUTH_BASIC and AUTH_DIGEST constants from -* BC: Guzzle\Http\Cookie is now used to manage Set-Cookie data, not Cookie data -* BC: Renaming methods in the CookieJarInterface -* Moving almost all cookie logic out of the CookiePlugin and into the Cookie or CookieJar implementations -* Making the default glue for HTTP headers ';' instead of ',' -* Adding a removeValue to Guzzle\Http\Message\Header -* Adding getCookies() to request interface. -* Making it easier to add event subscribers to HasDispatcherInterface classes. Can now directly call addSubscriber() - -## 2.6.4 - 2012-05-30 - -* BC: Cleaning up how POST files are stored in EntityEnclosingRequest objects. Adding PostFile class. -* BC: Moving ApiCommand specific functionality from the Inspector and on to the ApiCommand -* Bug: Fixing magic method command calls on clients -* Bug: Email constraint only validates strings -* Bug: Aggregate POST fields when POST files are present in curl handle -* Bug: Fixing default User-Agent header -* Bug: Only appending or prepending parameters in commands if they are specified -* Bug: Not requiring response reason phrases or status codes to match a predefined list of codes -* Allowing the use of dot notation for class namespaces when using instance_of constraint -* Added any_match validation constraint -* Added an AsyncPlugin -* Passing request object to the calculateWait method of the ExponentialBackoffPlugin -* Allowing the result of a command object to be changed -* Parsing location and type sub values when instantiating a service description rather than over and over at runtime - -## 2.6.3 - 2012-05-23 - -* [BC] Guzzle\Common\FromConfigInterface no longer requires any config options. -* [BC] Refactoring how POST files are stored on an EntityEnclosingRequest. They are now separate from POST fields. -* You can now use an array of data when creating PUT request bodies in the request factory. -* Removing the requirement that HTTPS requests needed a Cache-Control: public directive to be cacheable. -* [Http] Adding support for Content-Type in multipart POST uploads per upload -* [Http] Added support for uploading multiple files using the same name (foo[0], foo[1]) -* Adding more POST data operations for easier manipulation of POST data. -* You can now set empty POST fields. -* The body of a request is only shown on EntityEnclosingRequest objects that do not use POST files. -* Split the Guzzle\Service\Inspector::validateConfig method into two methods. One to initialize when a command is created, and one to validate. -* CS updates - -## 2.6.2 - 2012-05-19 - -* [Http] Better handling of nested scope requests in CurlMulti. Requests are now always prepares in the send() method rather than the addRequest() method. - -## 2.6.1 - 2012-05-19 - -* [BC] Removing 'path' support in service descriptions. Use 'uri'. -* [BC] Guzzle\Service\Inspector::parseDocBlock is now protected. Adding getApiParamsForClass() with cache. -* [BC] Removing Guzzle\Common\NullObject. Use https://github.com/mtdowling/NullObject if you need it. -* [BC] Removing Guzzle\Common\XmlElement. -* All commands, both dynamic and concrete, have ApiCommand objects. -* Adding a fix for CurlMulti so that if all of the connections encounter some sort of curl error, then the loop exits. -* Adding checks to EntityEnclosingRequest so that empty POST files and fields are ignored. -* Making the method signature of Guzzle\Service\Builder\ServiceBuilder::factory more flexible. - -## 2.6.0 - 2012-05-15 - -* [BC] Moving Guzzle\Service\Builder to Guzzle\Service\Builder\ServiceBuilder -* [BC] Executing a Command returns the result of the command rather than the command -* [BC] Moving all HTTP parsing logic to Guzzle\Http\Parsers. Allows for faster C implementations if needed. -* [BC] Changing the Guzzle\Http\Message\Response::setProtocol() method to accept a protocol and version in separate args. -* [BC] Moving ResourceIterator* to Guzzle\Service\Resource -* [BC] Completely refactored ResourceIterators to iterate over a cloned command object -* [BC] Moved Guzzle\Http\UriTemplate to Guzzle\Http\Parser\UriTemplate\UriTemplate -* [BC] Guzzle\Guzzle is now deprecated -* Moving Guzzle\Common\Guzzle::inject to Guzzle\Common\Collection::inject -* Adding Guzzle\Version class to give version information about Guzzle -* Adding Guzzle\Http\Utils class to provide getDefaultUserAgent() and getHttpDate() -* Adding Guzzle\Curl\CurlVersion to manage caching curl_version() data -* ServiceDescription and ServiceBuilder are now cacheable using similar configs -* Changing the format of XML and JSON service builder configs. Backwards compatible. -* Cleaned up Cookie parsing -* Trimming the default Guzzle User-Agent header -* Adding a setOnComplete() method to Commands that is called when a command completes -* Keeping track of requests that were mocked in the MockPlugin -* Fixed a caching bug in the CacheAdapterFactory -* Inspector objects can be injected into a Command object -* Refactoring a lot of code and tests to be case insensitive when dealing with headers -* Adding Guzzle\Http\Message\HeaderComparison for easy comparison of HTTP headers using a DSL -* Adding the ability to set global option overrides to service builder configs -* Adding the ability to include other service builder config files from within XML and JSON files -* Moving the parseQuery method out of Url and on to QueryString::fromString() as a static factory method. - -## 2.5.0 - 2012-05-08 - -* Major performance improvements -* [BC] Simplifying Guzzle\Common\Collection. Please check to see if you are using features that are now deprecated. -* [BC] Using a custom validation system that allows a flyweight implementation for much faster validation. No longer using Symfony2 Validation component. -* [BC] No longer supporting "{{ }}" for injecting into command or UriTemplates. Use "{}" -* Added the ability to passed parameters to all requests created by a client -* Added callback functionality to the ExponentialBackoffPlugin -* Using microtime in ExponentialBackoffPlugin to allow more granular backoff strategies. -* Rewinding request stream bodies when retrying requests -* Exception is thrown when JSON response body cannot be decoded -* Added configurable magic method calls to clients and commands. This is off by default. -* Fixed a defect that added a hash to every parsed URL part -* Fixed duplicate none generation for OauthPlugin. -* Emitting an event each time a client is generated by a ServiceBuilder -* Using an ApiParams object instead of a Collection for parameters of an ApiCommand -* cache.* request parameters should be renamed to params.cache.* -* Added the ability to set arbitrary curl options on requests (disable_wire, progress, etc). See CurlHandle. -* Added the ability to disable type validation of service descriptions -* ServiceDescriptions and ServiceBuilders are now Serializable diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/LICENSE b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/LICENSE deleted file mode 100644 index d51aa698..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011 Michael Dowling, https://github.com/mtdowling - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/README.md deleted file mode 100644 index 6be06bf4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/README.md +++ /dev/null @@ -1,57 +0,0 @@ -Guzzle, PHP HTTP client and webservice framework -================================================ - -# This is an old version of Guzzle - -This repository is for Guzzle 3.x. Guzzle 5.x, the new version of Guzzle, has -been released and is available at -[https://github.com/guzzle/guzzle](https://github.com/guzzle/guzzle). The -documentation for Guzzle version 5+ can be found at -[http://guzzlephp.org](http://guzzlephp.org). - -Guzzle 3 is only maintained for bug and security fixes. Guzzle 3 will be EOL -at some point in late 2015. - -### About Guzzle 3 - -[![Composer Downloads](https://poser.pugx.org/guzzle/guzzle/d/total.png)](https://packagist.org/packages/guzzle/guzzle) - [![Build Status](https://secure.travis-ci.org/guzzle/guzzle3.png?branch=master)](http://travis-ci.org/guzzle/guzzle3) - -- Extremely powerful API provides all the power of cURL with a simple interface. -- Truly take advantage of HTTP/1.1 with persistent connections, connection pooling, and parallel requests. -- Service description DSL allows you build awesome web service clients faster. -- Symfony2 event-based plugin system allows you to completely modify the behavior of a request. - -Get answers with: [Documentation](http://guzzle3.readthedocs.org/en/latest/), [Forums](https://groups.google.com/forum/?hl=en#!forum/guzzle), IRC ([#guzzlephp](irc://irc.freenode.net/#guzzlephp) @ irc.freenode.net) - -### Installing via Composer - -The recommended way to install Guzzle is through [Composer](http://getcomposer.org). - -```bash -# Install Composer -curl -sS https://getcomposer.org/installer | php - -# Add Guzzle as a dependency -php composer.phar require guzzle/guzzle:~3.9 -``` - -After installing, you need to require Composer's autoloader: - -```php -require 'vendor/autoload.php'; -``` -## Known Issues - -1. Problem following a specific redirect: https://github.com/guzzle/guzzle/issues/385. - This has been fixed in Guzzle 4/5. -2. Root XML attributes not serialized in a service description: https://github.com/guzzle/guzzle3/issues/5. - This has been fixed in Guzzle 4/5. -3. Accept-Encoding not preserved when following redirect: https://github.com/guzzle/guzzle3/issues/9 - Fixed in Guzzle 4/5. -4. String "Array" Transmitted w/ PostFiles and Duplicate Aggregator: https://github.com/guzzle/guzzle3/issues/10 - Fixed in Guzzle 4/5. -5. Recursive model references with array items: https://github.com/guzzle/guzzle3/issues/13 - Fixed in Guzzle 4/5 -6. String "Array" Transmitted w/ PostFiles and Duplicate Aggregator: https://github.com/guzzle/guzzle3/issues/10 - Fixed in Guzzle 4/5. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/UPGRADING.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/UPGRADING.md deleted file mode 100644 index f58bf117..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/UPGRADING.md +++ /dev/null @@ -1,537 +0,0 @@ -Guzzle Upgrade Guide -==================== - -3.6 to 3.7 ----------- - -### Deprecations - -- You can now enable E_USER_DEPRECATED warnings to see if you are using any deprecated methods.: - -```php -\Guzzle\Common\Version::$emitWarnings = true; -``` - -The following APIs and options have been marked as deprecated: - -- Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use `$request->getResponseBody()->isRepeatable()` instead. -- Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. -- Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. -- Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead. -- Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead. -- Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated -- Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client. -- Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8. -- Marked `Guzzle\Common\Collection::inject()` as deprecated. -- Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use - `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest|NTLM|Any'));` or - `$client->setDefaultOption('auth', array('user', 'pass', 'Basic|Digest|NTLM|Any'));` - -3.7 introduces `request.options` as a parameter for a client configuration and as an optional argument to all creational -request methods. When paired with a client's configuration settings, these options allow you to specify default settings -for various aspects of a request. Because these options make other previous configuration options redundant, several -configuration options and methods of a client and AbstractCommand have been deprecated. - -- Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use `$client->getDefaultOption('headers')`. -- Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use `$client->setDefaultOption('headers/{header_name}', 'value')`. -- Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use `$client->setDefaultOption('params/{param_name}', 'value')` -- Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand. These will work through Guzzle 4.0 - - $command = $client->getCommand('foo', array( - 'command.headers' => array('Test' => '123'), - 'command.response_body' => '/path/to/file' - )); - - // Should be changed to: - - $command = $client->getCommand('foo', array( - 'command.request_options' => array( - 'headers' => array('Test' => '123'), - 'save_as' => '/path/to/file' - ) - )); - -### Interface changes - -Additions and changes (you will need to update any implementations or subclasses you may have created): - -- Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`: - createRequest, head, delete, put, patch, post, options, prepareRequest -- Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()` -- Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface` -- Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to - `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a - resource, string, or EntityBody into the $options parameter to specify the download location of the response. -- Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a - default `array()` -- Added `Guzzle\Stream\StreamInterface::isRepeatable` -- Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods. - -The following methods were removed from interfaces. All of these methods are still available in the concrete classes -that implement them, but you should update your code to use alternative methods: - -- Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use - `$client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or - `$client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))` or - `$client->setDefaultOption('headers/{header_name}', 'value')`. or - `$client->setDefaultOption('headers', array('header_name' => 'value'))`. -- Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use `$client->getConfig()->getPath('request.options/headers')`. -- Removed `Guzzle\Http\ClientInterface::expandTemplate()`. This is an implementation detail. -- Removed `Guzzle\Http\ClientInterface::setRequestFactory()`. This is an implementation detail. -- Removed `Guzzle\Http\ClientInterface::getCurlMulti()`. This is a very specific implementation detail. -- Removed `Guzzle\Http\Message\RequestInterface::canCache`. Use the CachePlugin. -- Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect`. Use the HistoryPlugin. -- Removed `Guzzle\Http\Message\RequestInterface::isRedirect`. Use the HistoryPlugin. - -### Cache plugin breaking changes - -- CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a - CacheStorageInterface. These two objects and interface will be removed in a future version. -- Always setting X-cache headers on cached responses -- Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin -- `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface - $request, Response $response);` -- `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);` -- `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);` -- Added `CacheStorageInterface::purge($url)` -- `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin - $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache, - CanCacheStrategyInterface $canCache = null)` -- Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)` - -3.5 to 3.6 ----------- - -* Mixed casing of headers are now forced to be a single consistent casing across all values for that header. -* Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution -* Removed the whole changedHeader() function system of messages because all header changes now go through addHeader(). - For example, setHeader() first removes the header using unset on a HeaderCollection and then calls addHeader(). - Keeping the Host header and URL host in sync is now handled by overriding the addHeader method in Request. -* Specific header implementations can be created for complex headers. When a message creates a header, it uses a - HeaderFactory which can map specific headers to specific header classes. There is now a Link header and - CacheControl header implementation. -* Moved getLinks() from Response to just be used on a Link header object. - -If you previously relied on Guzzle\Http\Message\Header::raw(), then you will need to update your code to use the -HeaderInterface (e.g. toArray(), getAll(), etc). - -### Interface changes - -* Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate -* Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti() -* Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in - Guzzle\Http\Curl\RequestMediator -* Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string. -* Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface -* Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders() - -### Removed deprecated functions - -* Removed Guzzle\Parser\ParserRegister::get(). Use getParser() -* Removed Guzzle\Parser\ParserRegister::set(). Use registerParser(). - -### Deprecations - -* The ability to case-insensitively search for header values -* Guzzle\Http\Message\Header::hasExactHeader -* Guzzle\Http\Message\Header::raw. Use getAll() -* Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object - instead. - -### Other changes - -* All response header helper functions return a string rather than mixing Header objects and strings inconsistently -* Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc are managed by Guzzle - directly via interfaces -* Removed the injecting of a request object onto a response object. The methods to get and set a request still exist - but are a no-op until removed. -* Most classes that used to require a ``Guzzle\Service\Command\CommandInterface` typehint now request a - `Guzzle\Service\Command\ArrayCommandInterface`. -* Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response - on a request while the request is still being transferred -* `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess - -3.3 to 3.4 ----------- - -Base URLs of a client now follow the rules of http://tools.ietf.org/html/rfc3986#section-5.2.2 when merging URLs. - -3.2 to 3.3 ----------- - -### Response::getEtag() quote stripping removed - -`Guzzle\Http\Message\Response::getEtag()` no longer strips quotes around the ETag response header - -### Removed `Guzzle\Http\Utils` - -The `Guzzle\Http\Utils` class was removed. This class was only used for testing. - -### Stream wrapper and type - -`Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getSteamType()` are no longer converted to lowercase. - -### curl.emit_io became emit_io - -Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using the -'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io' - -3.1 to 3.2 ----------- - -### CurlMulti is no longer reused globally - -Before 3.2, the same CurlMulti object was reused globally for each client. This can cause issue where plugins added -to a single client can pollute requests dispatched from other clients. - -If you still wish to reuse the same CurlMulti object with each client, then you can add a listener to the -ServiceBuilder's `service_builder.create_client` event to inject a custom CurlMulti object into each client as it is -created. - -```php -$multi = new Guzzle\Http\Curl\CurlMulti(); -$builder = Guzzle\Service\Builder\ServiceBuilder::factory('/path/to/config.json'); -$builder->addListener('service_builder.create_client', function ($event) use ($multi) { - $event['client']->setCurlMulti($multi); -} -}); -``` - -### No default path - -URLs no longer have a default path value of '/' if no path was specified. - -Before: - -```php -$request = $client->get('http://www.foo.com'); -echo $request->getUrl(); -// >> http://www.foo.com/ -``` - -After: - -```php -$request = $client->get('http://www.foo.com'); -echo $request->getUrl(); -// >> http://www.foo.com -``` - -### Less verbose BadResponseException - -The exception message for `Guzzle\Http\Exception\BadResponseException` no longer contains the full HTTP request and -response information. You can, however, get access to the request and response object by calling `getRequest()` or -`getResponse()` on the exception object. - -### Query parameter aggregation - -Multi-valued query parameters are no longer aggregated using a callback function. `Guzzle\Http\Query` now has a -setAggregator() method that accepts a `Guzzle\Http\QueryAggregator\QueryAggregatorInterface` object. This object is -responsible for handling the aggregation of multi-valued query string variables into a flattened hash. - -2.8 to 3.x ----------- - -### Guzzle\Service\Inspector - -Change `\Guzzle\Service\Inspector::fromConfig` to `\Guzzle\Common\Collection::fromConfig` - -**Before** - -```php -use Guzzle\Service\Inspector; - -class YourClient extends \Guzzle\Service\Client -{ - public static function factory($config = array()) - { - $default = array(); - $required = array('base_url', 'username', 'api_key'); - $config = Inspector::fromConfig($config, $default, $required); - - $client = new self( - $config->get('base_url'), - $config->get('username'), - $config->get('api_key') - ); - $client->setConfig($config); - - $client->setDescription(ServiceDescription::factory(__DIR__ . DIRECTORY_SEPARATOR . 'client.json')); - - return $client; - } -``` - -**After** - -```php -use Guzzle\Common\Collection; - -class YourClient extends \Guzzle\Service\Client -{ - public static function factory($config = array()) - { - $default = array(); - $required = array('base_url', 'username', 'api_key'); - $config = Collection::fromConfig($config, $default, $required); - - $client = new self( - $config->get('base_url'), - $config->get('username'), - $config->get('api_key') - ); - $client->setConfig($config); - - $client->setDescription(ServiceDescription::factory(__DIR__ . DIRECTORY_SEPARATOR . 'client.json')); - - return $client; - } -``` - -### Convert XML Service Descriptions to JSON - -**Before** - -```xml - - - - - - Get a list of groups - - - Uses a search query to get a list of groups - - - - Create a group - - - - - Delete a group by ID - - - - - - - Update a group - - - - - - -``` - -**After** - -```json -{ - "name": "Zendesk REST API v2", - "apiVersion": "2012-12-31", - "description":"Provides access to Zendesk views, groups, tickets, ticket fields, and users", - "operations": { - "list_groups": { - "httpMethod":"GET", - "uri": "groups.json", - "summary": "Get a list of groups" - }, - "search_groups":{ - "httpMethod":"GET", - "uri": "search.json?query=\"{query} type:group\"", - "summary": "Uses a search query to get a list of groups", - "parameters":{ - "query":{ - "location": "uri", - "description":"Zendesk Search Query", - "type": "string", - "required": true - } - } - }, - "create_group": { - "httpMethod":"POST", - "uri": "groups.json", - "summary": "Create a group", - "parameters":{ - "data": { - "type": "array", - "location": "body", - "description":"Group JSON", - "filters": "json_encode", - "required": true - }, - "Content-Type":{ - "type": "string", - "location":"header", - "static": "application/json" - } - } - }, - "delete_group": { - "httpMethod":"DELETE", - "uri": "groups/{id}.json", - "summary": "Delete a group", - "parameters":{ - "id":{ - "location": "uri", - "description":"Group to delete by ID", - "type": "integer", - "required": true - } - } - }, - "get_group": { - "httpMethod":"GET", - "uri": "groups/{id}.json", - "summary": "Get a ticket", - "parameters":{ - "id":{ - "location": "uri", - "description":"Group to get by ID", - "type": "integer", - "required": true - } - } - }, - "update_group": { - "httpMethod":"PUT", - "uri": "groups/{id}.json", - "summary": "Update a group", - "parameters":{ - "id": { - "location": "uri", - "description":"Group to update by ID", - "type": "integer", - "required": true - }, - "data": { - "type": "array", - "location": "body", - "description":"Group JSON", - "filters": "json_encode", - "required": true - }, - "Content-Type":{ - "type": "string", - "location":"header", - "static": "application/json" - } - } - } -} -``` - -### Guzzle\Service\Description\ServiceDescription - -Commands are now called Operations - -**Before** - -```php -use Guzzle\Service\Description\ServiceDescription; - -$sd = new ServiceDescription(); -$sd->getCommands(); // @returns ApiCommandInterface[] -$sd->hasCommand($name); -$sd->getCommand($name); // @returns ApiCommandInterface|null -$sd->addCommand($command); // @param ApiCommandInterface $command -``` - -**After** - -```php -use Guzzle\Service\Description\ServiceDescription; - -$sd = new ServiceDescription(); -$sd->getOperations(); // @returns OperationInterface[] -$sd->hasOperation($name); -$sd->getOperation($name); // @returns OperationInterface|null -$sd->addOperation($operation); // @param OperationInterface $operation -``` - -### Guzzle\Common\Inflection\Inflector - -Namespace is now `Guzzle\Inflection\Inflector` - -### Guzzle\Http\Plugin - -Namespace is now `Guzzle\Plugin`. Many other changes occur within this namespace and are detailed in their own sections below. - -### Guzzle\Http\Plugin\LogPlugin and Guzzle\Common\Log - -Now `Guzzle\Plugin\Log\LogPlugin` and `Guzzle\Log` respectively. - -**Before** - -```php -use Guzzle\Common\Log\ClosureLogAdapter; -use Guzzle\Http\Plugin\LogPlugin; - -/** @var \Guzzle\Http\Client */ -$client; - -// $verbosity is an integer indicating desired message verbosity level -$client->addSubscriber(new LogPlugin(new ClosureLogAdapter(function($m) { echo $m; }, $verbosity = LogPlugin::LOG_VERBOSE); -``` - -**After** - -```php -use Guzzle\Log\ClosureLogAdapter; -use Guzzle\Log\MessageFormatter; -use Guzzle\Plugin\Log\LogPlugin; - -/** @var \Guzzle\Http\Client */ -$client; - -// $format is a string indicating desired message format -- @see MessageFormatter -$client->addSubscriber(new LogPlugin(new ClosureLogAdapter(function($m) { echo $m; }, $format = MessageFormatter::DEBUG_FORMAT); -``` - -### Guzzle\Http\Plugin\CurlAuthPlugin - -Now `Guzzle\Plugin\CurlAuth\CurlAuthPlugin`. - -### Guzzle\Http\Plugin\ExponentialBackoffPlugin - -Now `Guzzle\Plugin\Backoff\BackoffPlugin`, and other changes. - -**Before** - -```php -use Guzzle\Http\Plugin\ExponentialBackoffPlugin; - -$backoffPlugin = new ExponentialBackoffPlugin($maxRetries, array_merge( - ExponentialBackoffPlugin::getDefaultFailureCodes(), array(429) - )); - -$client->addSubscriber($backoffPlugin); -``` - -**After** - -```php -use Guzzle\Plugin\Backoff\BackoffPlugin; -use Guzzle\Plugin\Backoff\HttpBackoffStrategy; - -// Use convenient factory method instead -- see implementation for ideas of what -// you can do with chaining backoff strategies -$backoffPlugin = BackoffPlugin::getExponentialBackoff($maxRetries, array_merge( - HttpBackoffStrategy::getDefaultFailureCodes(), array(429) - )); -$client->addSubscriber($backoffPlugin); -``` - -### Known Issues - -#### [BUG] Accept-Encoding header behavior changed unintentionally. - -(See #217) (Fixed in 09daeb8c666fb44499a0646d655a8ae36456575e) - -In version 2.8 setting the `Accept-Encoding` header would set the CURLOPT_ENCODING option, which permitted cURL to -properly handle gzip/deflate compressed responses from the server. In versions affected by this bug this does not happen. -See issue #217 for a workaround, or use a version containing the fix. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/build.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/build.xml deleted file mode 100644 index 2aa62ba9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/build.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/composer.json deleted file mode 100644 index 59424b39..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/composer.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "guzzle/guzzle", - "type": "library", - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", - "keywords": ["framework", "http", "rest", "web service", "curl", "client", "HTTP client"], - "homepage": "http://guzzlephp.org/", - "license": "MIT", - - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" - } - ], - - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" - }, - - "require": { - "php": ">=5.3.3", - "ext-curl": "*", - "symfony/event-dispatcher": "~2.1" - }, - - "autoload": { - "psr-0": { - "Guzzle": "src/", - "Guzzle\\Tests": "tests/" - } - }, - - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." - }, - - "scripts": { - "test": "phpunit" - }, - - "require-dev": { - "doctrine/cache": "~1.3", - "symfony/class-loader": "~2.1", - "monolog/monolog": "~1.0", - "psr/log": "~1.0", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3", - "phpunit/phpunit": "3.7.*" - }, - - "extra": { - "branch-alias": { - "dev-master": "3.9-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/Makefile b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/Makefile deleted file mode 100644 index d92e03f9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/Makefile +++ /dev/null @@ -1,153 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - -rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Guzzle.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Guzzle.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/Guzzle" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Guzzle" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_downloads/guzzle-schema-1.0.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_downloads/guzzle-schema-1.0.json deleted file mode 100644 index 81683026..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_downloads/guzzle-schema-1.0.json +++ /dev/null @@ -1,176 +0,0 @@ -{ - "additionalProperties": true, - "name": { - "type": "string", - "description": "Name of the web service" - }, - "apiVersion": { - "type": ["string", "number"], - "description": "Version identifier that the service description is compatible with" - }, - "baseUrl": { - "type": "string", - "description": "Base URL of the web service. Any relative URI specified in an operation will be merged with the baseUrl using the process defined in RFC 2396" - }, - "basePath": { - "type": "string", - "description": "Alias of baseUrl" - }, - "_description": { - "type": "string", - "description": "Short summary of the web service. This is actually called 'description' but this JSON schema wont validate using just description." - }, - "operations": { - "description": "Operations of the web service", - "type": "object", - "properties": { - "extends": { - "type": "string", - "description": "Extend from another operation by name. The parent operation must be defined before the child." - }, - "httpMethod": { - "type": "string", - "description": "HTTP method used with the operation (e.g. GET, POST, PUT, DELETE, PATCH, etc)" - }, - "uri": { - "type": "string", - "description": "URI of the operation. The uri attribute can contain URI templates. The variables of the URI template are parameters of the operation with a location value of uri" - }, - "summary": { - "type": "string", - "description": "Short summary of what the operation does" - }, - "class": { - "type": "string", - "description": "Custom class to instantiate instead of the default Guzzle\\Service\\Command\\OperationCommand" - }, - "responseClass": { - "type": "string", - "description": "This is what is returned from the method. Can be a primitive, class name, or model name." - }, - "responseNotes": { - "type": "string", - "description": "A description of the response returned by the operation" - }, - "responseType": { - "type": "string", - "description": "The type of response that the operation creates. If not specified, this value will be automatically inferred based on whether or not there is a model matching the name, if a matching class name is found, or set to 'primitive' by default.", - "enum": [ "primitive", "class", "model", "documentation" ] - }, - "deprecated": { - "type": "boolean", - "description": "Whether or not the operation is deprecated" - }, - "errorResponses": { - "description": "Errors that could occur while executing the operation", - "type": "array", - "items": { - "type": "object", - "properties": { - "code": { - "type": "number", - "description": "HTTP response status code of the error" - }, - "reason": { - "type": "string", - "description": "Response reason phrase or description of the error" - }, - "class": { - "type": "string", - "description": "A custom exception class that would be thrown if the error is encountered" - } - } - } - }, - "data": { - "type": "object", - "additionalProperties": "true" - }, - "parameters": { - "$ref": "parameters", - "description": "Parameters of the operation. Parameters are used to define how input data is serialized into a HTTP request." - }, - "additionalParameters": { - "$ref": "parameters", - "description": "Validation and serialization rules for any parameter supplied to the operation that was not explicitly defined." - } - } - }, - "models": { - "description": "Schema models that can be referenced throughout the service description. Models can be used to define how an HTTP response is parsed into a Guzzle\\Service\\Resource\\Model object.", - "type": "object", - "properties": { - "$ref": "parameters", - "description": "Parameters of the model. When a model is referenced in a responseClass attribute of an operation, parameters define how a HTTP response message is parsed into a Guzzle\\Service\\Resource\\Model." - } - }, - "includes": { - "description": "Service description files to include and extend from (can be a .json, .js, or .php file)", - "type": "array", - "items": { - "type": "string", - "pattern": ".+\\.(js|json|php)$" - } - }, - "definitions": { - "parameters": { - "extends": "http://json-schema.org/schema", - "id": "parameters", - "name": { - "type": "string", - "description": "Unique name of the parameter" - }, - "type": { - "type": ["string", "array"], - "description": "Type of variable (string, number, integer, boolean, object, array, numeric, null, any). Types are using for validation and determining the structure of a parameter. You can use a union type by providing an array of simple types. If one of the union types matches the provided value, then the value is valid." - }, - "instanceOf": { - "type": "string", - "description": "When the type is an object, you can specify the class that the object must implement" - }, - "required": { - "type": "boolean", - "description": "Whether or not the parameter is required" - }, - "default": { - "description": "Default value to use if no value is supplied" - }, - "static": { - "type": "bool", - "description": "Set to true to specify that the parameter value cannot be changed from the default setting" - }, - "description": { - "type": "string", - "description": "Documentation of the parameter" - }, - "location": { - "type": "string", - "description": "The location of a request used to apply a parameter. Custom locations can be registered with a command, but the defaults are uri, query, statusCode, reasonPhrase, header, body, json, xml, postField, postFile, responseBody" - }, - "sentAs": { - "type": "string", - "description": "Specifies how the data being modeled is sent over the wire. For example, you may wish to include certain headers in a response model that have a normalized casing of FooBar, but the actual header is x-foo-bar. In this case, sentAs would be set to x-foo-bar." - }, - "filters": { - "type": "array", - "description": "Array of static method names to to run a parameter value through. Each value in the array must be a string containing the full class path to a static method or an array of complex filter information. You can specify static methods of classes using the full namespace class name followed by ‘::’ (e.g. FooBar::baz()). Some filters require arguments in order to properly filter a value. For complex filters, use a hash containing a ‘method’ key pointing to a static method, and an ‘args’ key containing an array of positional arguments to pass to the method. Arguments can contain keywords that are replaced when filtering a value: '@value‘ is replaced with the value being validated, '@api‘ is replaced with the Parameter object.", - "items": { - "type": ["string", { - "object": { - "properties": { - "method": { - "type": "string", - "description": "PHP function to call", - "required": true - }, - "args": { - "type": "array" - } - } - } - }] - } - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/guzzle-icon.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/guzzle-icon.png deleted file mode 100644 index f1017f7e6028c14a9e0694c66a6cfbb2d546adf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 803 zcmV+;1Kj+HP)@ zosv>1reIXPlo1y){RjSw2_NWGX5O-#W+NK3tBQ_IN%bh7xZ1Yehws80|4azI;aWIJ z_%xhlcTubTO7Dbx z)F-R8gg5MzGv|t4=e_El4GCwW0m6?C;0bG4DRC^TH6-pa>y8_h*QBud6Ms>Qf{oN> z=Q($Dn|DINB{`Ea{)h&^x;i{)XQ{?Z&id71eOkRPqgl17&E%|dJIC&SCwnd zY4oUR`OVorB8A||QZjLWS~cr&OD?HEtM@^bIovNUC5An6?z`xDgJL2H2Mya@dku<1YUfi&QvS8KS8=~uOs!oaF z8OMF7-5yyh}yDkaCp7Ob8b;wv(27WLL#lglguF0fh3d(d@ zP%vrDIA~G}dL)X;YnCMSE4ZM-gfVsYTLItd3J`~_vw^k=W%C_MlG002ovPDHLkV1oLqbt3=( diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/homepage.css b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/homepage.css deleted file mode 100644 index 70c46d8d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/homepage.css +++ /dev/null @@ -1,122 +0,0 @@ -/* Hero unit on homepage */ - -.hero-unit h1 { - font-size: 49px; - margin-bottom: 12px; -} - -.hero-unit { - padding: 40px; -} - -.hero-unit p { - font-size: 17px; -} - -.masthead img { - float: left; - margin-right: 17px; -} - -.hero-unit ul li { - margin-left: 220px; -} - -.hero-unit .buttons { - text-align: center; -} - -.jumbotron { - position: relative; - padding: 40px 0; - color: #fff; - text-shadow: 0 1px 3px rgba(0,0,0,.4), 0 0 30px rgba(0,0,0,.075); - background: #00312F; - background: -moz-linear-gradient(45deg, #002F31 0%, #335A6D 100%); - background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#00312D), color-stop(100%,#33566D)); - background: -webkit-linear-gradient(45deg, #020031 0%,#334F6D 100%); - background: -o-linear-gradient(45deg, #002D31 0%,#334D6D 100%); - background: -ms-linear-gradient(45deg, #002F31 0%,#33516D 100%); - background: linear-gradient(45deg, #020031 0%,#33516D 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#020031', endColorstr='#6d3353',GradientType=1 ); - -webkit-box-shadow: inset 0 3px 7px rgba(0, 0, 0, .2), inset 0 -3px 7px rgba(0, 0, 0, .2); - -moz-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2); - box-shadow: inset 0 3px 7px rgba(0, 0, 0, .2), inset 0 -3px 7px rgba(0, 0, 0, .2); -} - -.jumbotron h1 { - font-size: 80px; - font-weight: bold; - letter-spacing: -1px; - line-height: 1; -} - -.jumbotron p { - font-size: 24px; - font-weight: 300; - line-height: 1.25; - margin-bottom: 30px; -} - -.masthead { - padding: 40px 0 30px; - margin-bottom: 0; - color: #fff; - margin-top: -19px; -} - -.masthead h1 { - display: none; -} - -.masthead p { - font-size: 40px; - font-weight: 200; - line-height: 1.25; - margin: 12px 0 0 0; -} - -.masthead .btn { - padding: 19px 24px; - font-size: 24px; - font-weight: 200; - border: 0; -} - -/* Social bar on homepage */ - -.social { - padding: 2px 0; - text-align: center; - background-color: #f5f5f5; - border-top: 1px solid #fff; - border-bottom: 1px solid #ddd; - margin: 0 0 20px 0; -} - -.social ul { - margin-top: 0; -} - -.social-buttons { - margin-left: 0; - margin-bottom: 0; - padding-left: 0; - list-style: none; -} - -.social-buttons li { - display: inline-block; - padding: 5px 8px; - line-height: 1; - *display: inline; - *zoom: 1; -} - -.center-announcement { - padding: 10px; - background-color: rgb(238, 243, 255); - border-radius: 8px; - text-align: center; - margin: 24px 0; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/logo.png b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/logo.png deleted file mode 100644 index 965a4ef4139180ea7d33594feba2394dfce6774a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247678 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%0ARzX0ax0O>7%athq>_G8o_) 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 Q^3R@b2)1Zk0&5+MNyUSR-V=Sej)GD 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�{XQapLL3s@DiJOewb9vk!Lb} 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

    kl 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

    2-cn6gsGIE2zEilUdg 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

    Z5%j-C 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%0A=e`l9AQljxQ1J>rUJsDX<`+@ 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/prettify.css b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/prettify.css deleted file mode 100644 index 4d410b12..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/prettify.css +++ /dev/null @@ -1,41 +0,0 @@ -.com { - color: #93A1A1; -} -.lit { - color: #195F91; -} -.pun, .opn, .clo { - color: #93A1A1; -} -.fun { - color: #DC322F; -} -.str, .atv { - color: #DD1144; -} -.kwd, .linenums .tag { - color: #1E347B; -} -.typ, .atn, .dec, .var { - color: teal; -} -.pln { - color: #48484C; -} -.prettyprint { - background-color: #F7F7F9; - border: 1px solid #E1E1E8; - padding: 8px; -} -.prettyprint.linenums { - box-shadow: 40px 0 0 #FBFBFC inset, 41px 0 0 #ECECF0 inset; -} -ol.linenums { - margin: 0 0 0 33px; -} -ol.linenums li { - color: #BEBEC5; - line-height: 18px; - padding-left: 12px; - text-shadow: 0 1px 0 #FFFFFF; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/prettify.js b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/prettify.js deleted file mode 100644 index eef5ad7e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_static/prettify.js +++ /dev/null @@ -1,28 +0,0 @@ -var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; -(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= -[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), -l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, -q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, -q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, -"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), -a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} -for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], -"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], -H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], -J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ -I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), -["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", -/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), -["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", -hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= -!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p - - - -

    -
    - guzzle -

    Guzzle

    -

    Guzzle is a PHP HTTP client
    & framework for building RESTful web service clients.

    -

    - View Guzzle on GitHub - Read the docs -

    -
    -
    - - - -
    - -

    Introducing Guzzle

    - -

    Guzzle takes the pain out of sending HTTP requests and the redundancy out of creating web service clients. It's - a framework that includes the tools needed to create a robust web service client, including: - Service descriptions for defining the inputs and outputs of an API, resource iterators for traversing - paginated resources, batching for sending a large number of requests as efficiently as possible.

    - -
      -
    • All the power of cURL with a simple interface.
    • -
    • Persistent connections and parallel requests.
    • -
    • Streams request and response bodies
    • -
    • Service descriptions for quickly building clients.
    • -
    • Powered by the Symfony2 EventDispatcher.
    • -
    • Use all of the code or only specific components.
    • -
    • Plugins for caching, logging, OAuth, mocks, and more
    • -
    • Includes a custom node.js webserver to test your clients.
    • -
    - -
    - Guzzle is now part of Drupal 8 core and powers the official AWS SDK for PHP -
    - -

    GitHub Example

    - -
    <?php
    -require_once 'vendor/autoload.php';
    -use Guzzle\Http\Client;
    -
    -// Create a client and provide a base URL
    -$client = new Client('https://api.github.com');
    -// Create a request with basic Auth
    -$request = $client->get('/user')->setAuth('user', 'pass');
    -// Send the request and get the response
    -$response = $request->send();
    -echo $response->getBody();
    -// >>> {"type":"User", ...
    -echo $response->getHeader('Content-Length');
    -// >>> 792
    -
    - -

    Twitter Example

    -
    <?php
    -// Create a client to work with the Twitter API
    -$client = new Client('https://api.twitter.com/{version}', array(
    -    'version' => '1.1'
    -));
    -
    -// Sign all requests with the OauthPlugin
    -$client->addSubscriber(new Guzzle\Plugin\Oauth\OauthPlugin(array(
    -    'consumer_key'  => '***',
    -    'consumer_secret' => '***',
    -    'token'       => '***',
    -    'token_secret'  => '***'
    -)));
    -
    -echo $client->get('statuses/user_timeline.json')->send()->getBody();
    -// >>> {"public_gists":6,"type":"User" ...
    -
    -// Create a tweet using POST
    -$request = $client->post('statuses/update.json', null, array(
    -    'status' => 'Tweeted with Guzzle, http://guzzlephp.org'
    -));
    -
    -// Send the request and parse the JSON response into an array
    -$data = $request->send()->json();
    -echo $data['text'];
    -// >>> Tweeted with Guzzle, http://t.co/kngJMfRk
    -
    -
    - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_templates/nav_links.html b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_templates/nav_links.html deleted file mode 100644 index d4f2165b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/_templates/nav_links.html +++ /dev/null @@ -1,5 +0,0 @@ -
  • Docs
  • -
  • API
  • -
  • GitHub
  • -
  • Forum
  • -
  • IRC
  • diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/batching/batching.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/batching/batching.rst deleted file mode 100644 index 57f04d80..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/batching/batching.rst +++ /dev/null @@ -1,183 +0,0 @@ -======== -Batching -======== - -Guzzle provides a fairly generic and very customizable batching framework that allows developers to efficiently -transfer requests in parallel. - -Sending requests and commands in parallel ------------------------------------------ - -You can send HTTP requests in parallel by passing an array of ``Guzzle\Http\Message\RequestInterface`` objects to -``Guzzle\Http\Client::send()``: - -.. code-block:: php - - $responses = $client->send(array( - $client->get('http://www.example.com/foo'), - $client->get('http://www.example.com/baz') - $client->get('http://www.example.com/bar') - )); - -You can send commands in parallel by passing an array of ``Guzzle\Service\Command\CommandInterface`` objects -``Guzzle\Service\Client::execute()``: - -.. code-block:: php - - $commands = $client->execute(array( - $client->getCommand('foo'), - $client->getCommand('baz'), - $client->getCommand('bar') - )); - -These approaches work well for most use-cases. When you need more control over the requests that are sent in -parallel or you need to send a large number of requests, you need to use the functionality provided in the -``Guzzle\Batch`` namespace. - -Batching overview ------------------ - -The batch object, ``Guzzle\Batch\Batch``, is a queue. You add requests to the queue until you are ready to transfer -all of the requests. In order to efficiently transfer the items in the queue, the batch object delegates the -responsibility of dividing the queue into manageable parts to a divisor (``Guzzle\Batch\BatchDivisorInterface``). -The batch object then iterates over each array of items created by the divisor and sends them to the batch object's -``Guzzle\Batch\BatchTransferInterface``. - -.. code-block:: php - - use Guzzle\Batch\Batch; - use Guzzle\Http\BatchRequestTransfer; - - // BatchRequestTransfer acts as both the divisor and transfer strategy - $transferStrategy = new BatchRequestTransfer(10); - $divisorStrategy = $transferStrategy; - - $batch = new Batch($transferStrategy, $divisorStrategy); - - // Add some requests to the batch queue - $batch->add($request1) - ->add($request2) - ->add($request3); - - // Flush the queue and retrieve the flushed items - $arrayOfTransferredRequests = $batch->flush(); - -.. note:: - - You might find that your transfer strategy will need to act as both the divisor and transfer strategy. - -Using the BatchBuilder ----------------------- - -The ``Guzzle\Batch\BatchBuilder`` makes it easier to create batch objects. The batch builder also provides an easier -way to add additional behaviors to your batch object. - -Transferring requests -~~~~~~~~~~~~~~~~~~~~~ - -The ``Guzzle\Http\BatchRequestTransfer`` class efficiently transfers HTTP requests in parallel by grouping batches of -requests by the curl_multi handle that is used to transfer the requests. - -.. code-block:: php - - use Guzzle\Batch\BatchBuilder; - - $batch = BatchBuilder::factory() - ->transferRequests(10) - ->build(); - -Transferring commands -~~~~~~~~~~~~~~~~~~~~~ - -The ``Guzzle\Service\Command\BatchCommandTransfer`` class efficiently transfers service commands by grouping commands -by the client that is used to transfer them. You can add commands to a batch object that are transferred by different -clients, and the batch will handle the rest. - -.. code-block:: php - - use Guzzle\Batch\BatchBuilder; - - $batch = BatchBuilder::factory() - ->transferCommands(10) - ->build(); - - $batch->add($client->getCommand('foo')) - ->add($client->getCommand('baz')) - ->add($client->getCommand('bar')); - - $commands = $batch->flush(); - -Batch behaviors ---------------- - -You can add various behaviors to your batch that allow for more customizable transfers. - -Automatically flushing a queue -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Use the ``Guzzle\Batch\FlushingBatch`` decorator when you want to pump a large number of items into a batch queue and -have the queue automatically flush when the size of the queue reaches a certain threshold. - -.. code-block:: php - - use Guzzle\Batch\BatchBuilder; - - $batch = BatchBuilder::factory() - ->transferRequests(10) - ->autoFlushAt(10) - ->build(); - -Batch builder method: ``autoFlushAt($threshold)`` - -Notifying on flush -~~~~~~~~~~~~~~~~~~ - -Use the ``Guzzle\Batch\NotifyingBatch`` decorator if you want a function to be notified each time the batch queue is -flushed. This is useful when paired with the flushing batch decorator. Pass a callable to the ``notify()`` method of -a batch builder to use this decorator with the builder. - -.. code-block:: php - - use Guzzle\Batch\BatchBuilder; - - $batch = BatchBuilder::factory() - ->transferRequests(10) - ->autoFlushAt(10) - ->notify(function (array $transferredItems) { - echo 'Transferred ' . count($transferredItems) . "items\n"; - }) - ->build(); - -Batch builder method:: ``notify(callable $callback)`` - -Keeping a history -~~~~~~~~~~~~~~~~~ - -Use the ``Guzzle\Batch\HistoryBatch`` decorator if you want to maintain a history of all the items transferred with -the batch queue. - -.. code-block:: php - - use Guzzle\Batch\BatchBuilder; - - $batch = BatchBuilder::factory() - ->transferRequests(10) - ->keepHistory() - ->build(); - -After transferring items, you can use the ``getHistory()`` of a batch to retrieve an array of transferred items. Be -sure to periodically clear the history using ``clearHistory()``. - -Batch builder method: ``keepHistory()`` - -Exception buffering -~~~~~~~~~~~~~~~~~~~ - -Use the ``Guzzle\Batch\ExceptionBufferingBatch`` decorator to buffer exceptions during a transfer so that you can -transfer as many items as possible then deal with the errored batches after the transfer completes. After transfer, -use the ``getExceptions()`` method of a batch to retrieve an array of -``Guzzle\Batch\Exception\BatchTransferException`` objects. You can use these exceptions to attempt to retry the -failed batches. Be sure to clear the buffered exceptions when you are done with them by using the -``clearExceptions()`` method. - -Batch builder method: ``bufferExceptions()`` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/conf.py b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/conf.py deleted file mode 100644 index 92bc46bb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/conf.py +++ /dev/null @@ -1,94 +0,0 @@ -import sys, os -from sphinx.highlighting import lexers -from pygments.lexers.web import PhpLexer - -lexers['php'] = PhpLexer(startinline=True, linenos=1) -lexers['php-annotations'] = PhpLexer(startinline=True, linenos=1) -primary_domain = 'php' - -# -- General configuration ----------------------------------------------------- - -extensions = [] -templates_path = ['_templates'] -source_suffix = '.rst' -master_doc = 'index' - -project = u'Guzzle' -copyright = u'2012, Michael Dowling' -version = '3.0.0' -release = '3.0.0' - -exclude_patterns = ['_build'] - -# -- Options for HTML output --------------------------------------------------- - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -html_title = "Guzzle documentation" -html_short_title = "Guzzle" - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Custom sidebar templates, maps document names to template names. -html_sidebars = { - '**': ['localtoc.html', 'leftbar.html', 'searchbox.html'] -} - -# Output file base name for HTML help builder. -htmlhelp_basename = 'Guzzledoc' - -# -- Guzzle Sphinx theme setup ------------------------------------------------ - -sys.path.insert(0, '/Users/dowling/projects/guzzle_sphinx_theme') - -import guzzle_sphinx_theme -html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator' -html_theme_path = guzzle_sphinx_theme.html_theme_path() -html_theme = 'guzzle_sphinx_theme' - -# Guzzle theme options (see theme.conf for more information) -html_theme_options = { - "index_template": "index.html", - "project_nav_name": "Guzzle", - "github_user": "guzzle", - "github_repo": "guzzle", - "disqus_comments_shortname": "guzzle", - "google_analytics_account": "UA-22752917-1" -} - -# -- Options for LaTeX output -------------------------------------------------- - -latex_elements = {} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'Guzzle.tex', u'Guzzle Documentation', - u'Michael Dowling', 'manual'), -] - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'guzzle', u'Guzzle Documentation', - [u'Michael Dowling'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - -# -- Options for Texinfo output ------------------------------------------------ - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'Guzzle', u'Guzzle Documentation', - u'Michael Dowling', 'Guzzle', 'One line description of project.', - 'Miscellaneous'), -] diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/docs.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/docs.rst deleted file mode 100644 index cf87908b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/docs.rst +++ /dev/null @@ -1,73 +0,0 @@ -.. title:: Guzzle | PHP HTTP client and framework for consuming RESTful web services - -==================== -Guzzle Documentation -==================== - -Getting started ---------------- - -.. toctree:: - :maxdepth: 1 - - getting-started/overview - getting-started/installation - getting-started/faq - -The HTTP client ---------------- - -.. toctree:: - :maxdepth: 2 - - http-client/client - http-client/request - http-client/response - http-client/entity-bodies - http-client/http-redirects - http-client/uri-templates - -Plugins -------- - -.. toctree:: - :maxdepth: 1 - - plugins/plugins-overview - plugins/creating-plugins - plugins/async-plugin - plugins/backoff-plugin - plugins/cache-plugin - plugins/cookie-plugin - plugins/curl-auth-plugin - plugins/history-plugin - plugins/log-plugin - plugins/md5-validator-plugin - plugins/mock-plugin - plugins/oauth-plugin - -The web service client ----------------------- - -.. toctree:: - :maxdepth: 1 - - webservice-client/webservice-client - webservice-client/using-the-service-builder - webservice-client/guzzle-service-descriptions - batching/batching - iterators/resource-iterators - iterators/guzzle-iterators - -Testing -------- - -.. toctree:: - :maxdepth: 2 - - testing/unit-testing - -API Docs --------- - -`Read the API docs `_ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/faq.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/faq.rst deleted file mode 100644 index a0a3fdbb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/faq.rst +++ /dev/null @@ -1,29 +0,0 @@ -=== -FAQ -=== - -What should I do if I get this error: Fatal error: Maximum function nesting level of '100' reached, aborting! -------------------------------------------------------------------------------------------------------------- - -You could run into this error if you have the XDebug extension installed and you execute a lot of requests in -callbacks. This error message comes specifically from the XDebug extension. PHP itself does not have a function -nesting limit. Change this setting in your php.ini to increase the limit:: - - xdebug.max_nesting_level = 1000 - -[`source `_] - -How can I speed up my client? ------------------------------ - -There are several things you can do to speed up your client: - -1. Utilize a C based HTTP message parser (e.g. ``Guzzle\Parser\Message\PeclHttpMessageParser``) -2. Disable operation validation by setting the ``command.disable_validation`` option to true on a command - -Why am I getting a 417 error response? --------------------------------------- - -This can occur for a number of reasons, but if you are sending PUT, POST, or PATCH requests with an -``Expect: 100-Continue`` header, a server that does not support this header will return a 417 response. You can work -around this by calling ``$request->removeHeader('Expect');`` after setting the entity body of a request. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/installation.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/installation.rst deleted file mode 100644 index 77d40013..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/installation.rst +++ /dev/null @@ -1,154 +0,0 @@ -============ -Installation -============ - -Requirements ------------- - -#. PHP 5.3.3+ compiled with the cURL extension -#. A recent version of cURL 7.16.2+ compiled with OpenSSL and zlib - -Installing Guzzle ------------------ - -Composer -~~~~~~~~ - -The recommended way to install Guzzle is with `Composer `_. Composer is a dependency -management tool for PHP that allows you to declare the dependencies your project needs and installs them into your -project. - -.. code-block:: bash - - # Install Composer - curl -sS https://getcomposer.org/installer | php - - # Add Guzzle as a dependency - php composer.phar require guzzle/guzzle:~3.9 - -After installing, you need to require Composer's autoloader: - -.. code-block:: php - - require 'vendor/autoload.php'; - -You can find out more on how to install Composer, configure autoloading, and other best-practices for defining -dependencies at `getcomposer.org `_. - -Using only specific parts of Guzzle -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -While you can always just rely on ``guzzle/guzzle``, Guzzle provides several smaller parts of Guzzle as individual -packages available through Composer. - -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| Package name | Description | -+===============================================================================================+==========================================+ -| `guzzle/common `_ | Provides ``Guzzle\Common`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/http `_ | Provides ``Guzzle\Http`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/parser `_ | Provides ``Guzzle\Parser`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/batch `_ | Provides ``Guzzle\Batch`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/cache `_ | Provides ``Guzzle\Cache`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/inflection `_ | Provides ``Guzzle\Inflection`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/iterator `_ | Provides ``Guzzle\Iterator`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/log `_ | Provides ``Guzzle\Log`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin `_ | Provides ``Guzzle\Plugin`` (all plugins) | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-async `_ | Provides ``Guzzle\Plugin\Async`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-backoff `_ | Provides ``Guzzle\Plugin\BackoffPlugin`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-cache `_ | Provides ``Guzzle\Plugin\Cache`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-cookie `_ | Provides ``Guzzle\Plugin\Cookie`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-error-response `_ | Provides ``Guzzle\Plugin\ErrorResponse`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-history `_ | Provides ``Guzzle\Plugin\History`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-log `_ | Provides ``Guzzle\Plugin\Log`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-md5 `_ | Provides ``Guzzle\Plugin\Md5`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-mock `_ | Provides ``Guzzle\Plugin\Mock`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/plugin-oauth `_ | Provides ``Guzzle\Plugin\Oauth`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/service `_ | Provides ``Guzzle\Service`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ -| `guzzle/stream `_ | Provides ``Guzzle\Stream`` | -+-----------------------------------------------------------------------------------------------+------------------------------------------+ - -Bleeding edge -^^^^^^^^^^^^^ - -During your development, you can keep up with the latest changes on the master branch by setting the version -requirement for Guzzle to ``dev-master``. - -.. code-block:: js - - { - "require": { - "guzzle/guzzle": "dev-master" - } - } - -PEAR -~~~~ - -Guzzle can be installed through PEAR: - -.. code-block:: bash - - pear channel-discover guzzlephp.org/pear - pear install guzzle/guzzle - -You can install a specific version of Guzzle by providing a version number suffix: - -.. code-block:: bash - - pear install guzzle/guzzle-3.9.0 - -Contributing to Guzzle ----------------------- - -In order to contribute, you'll need to checkout the source from GitHub and install Guzzle's dependencies using -Composer: - -.. code-block:: bash - - git clone https://github.com/guzzle/guzzle.git - cd guzzle && curl -s http://getcomposer.org/installer | php && ./composer.phar install --dev - -Guzzle is unit tested with PHPUnit. You will need to create your own phpunit.xml file in order to run the unit tests -(or just copy phpunit.xml.dist to phpunit.xml). Run the tests using the vendored PHPUnit binary: - -.. code-block:: bash - - vendor/bin/phpunit - -You'll need to install node.js v0.5.0 or newer in order to test the cURL implementation. - -Framework integrations ----------------------- - -Using Guzzle with Symfony -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Bundles are available on GitHub: - -- `DdeboerGuzzleBundle `_ for Guzzle 2 -- `MisdGuzzleBundle `_ for Guzzle 3 - -Using Guzzle with Silex -~~~~~~~~~~~~~~~~~~~~~~~ - -A `Guzzle Silex service provider `_ is available on GitHub. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/overview.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/overview.rst deleted file mode 100644 index 505b4097..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/getting-started/overview.rst +++ /dev/null @@ -1,85 +0,0 @@ -================= -Welcome to Guzzle -================= - -What is Guzzle? -~~~~~~~~~~~~~~~ - -Guzzle is a PHP HTTP client and framework for building web service clients. Guzzle takes the pain out of sending HTTP -requests and the redundancy out of creating web service clients. - -Features at a glance --------------------- - -- All the power of cURL with a simple interface. -- Persistent connections and parallel requests. -- Streams request and response bodies -- Service descriptions for quickly building clients. -- Powered by the Symfony2 EventDispatcher. -- Use all of the code or only specific components. -- Plugins for caching, logging, OAuth, mocks, and more -- Includes a custom node.js webserver to test your clients. -- Service descriptions for defining the inputs and outputs of an API -- Resource iterators for traversing paginated resources -- Batching for sending a large number of requests as efficiently as possible - -.. code-block:: php - - // Really simple using a static facade - Guzzle\Http\StaticClient::mount(); - $response = Guzzle::get('http://guzzlephp.org'); - - // More control using a client class - $client = new \Guzzle\Http\Client('http://guzzlephp.org'); - $request = $client->get('/'); - $response = $request->send(); - -License -------- - -Licensed using the `MIT license `_. - - Copyright (c) 2013 Michael Dowling - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - -Contributing ------------- - -Guidelines -~~~~~~~~~~ - -This is still a work in progress, but there are only a few rules: - -1. Guzzle follows PSR-0, PSR-1, and PSR-2 -2. All pull requests must include unit tests to ensure the change works as expected and to prevent future regressions - -Reporting a security vulnerability -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -We want to ensure that Guzzle is a secure HTTP client library for everyone. If you've discovered a security -vulnerability in Guzzle, we appreciate your help in disclosing it to us in a -`responsible manner `_. - -Publicly disclosing a vulnerability can put the entire community at risk. If you've discovered a security concern, -please email us at security@guzzlephp.org. We'll work with you to make sure that we understand the scope of the issue, -and that we fully address your concern. We consider correspondence sent to security@guzzlephp.org our highest priority, -and work to address any issues that arise as quickly as possible. - -After a security vulnerability has been corrected, a security hotfix release will be deployed as soon as possible. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/client.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/client.rst deleted file mode 100644 index 723d729d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/client.rst +++ /dev/null @@ -1,569 +0,0 @@ -====================== -The Guzzle HTTP client -====================== - -Guzzle gives PHP developers complete control over HTTP requests while utilizing HTTP/1.1 best practices. Guzzle's HTTP -functionality is a robust framework built on top of the `PHP libcurl bindings `_. - -The three main parts of the Guzzle HTTP client are: - -+--------------+-------------------------------------------------------------------------------------------------------+ -| Clients | ``Guzzle\Http\Client`` (creates and sends requests, associates a response with a request) | -+--------------+-------------------------------------------------------------------------------------------------------+ -| Requests | ``Guzzle\Http\Message\Request`` (requests with no body), | -| | ``Guzzle\Http\Message\EntityEnclosingRequest`` (requests with a body) | -+--------------+-------------------------------------------------------------------------------------------------------+ -| Responses | ``Guzzle\Http\Message\Response`` | -+--------------+-------------------------------------------------------------------------------------------------------+ - -Creating a Client ------------------ - -Clients create requests, send requests, and set responses on a request object. When instantiating a client object, -you can pass an optional "base URL" and optional array of configuration options. A base URL is a -:doc:`URI template ` that contains the URL of a remote server. When creating requests with a relative -URL, the base URL of a client will be merged into the request's URL. - -.. code-block:: php - - use Guzzle\Http\Client; - - // Create a client and provide a base URL - $client = new Client('https://api.github.com'); - - $request = $client->get('/user'); - $request->setAuth('user', 'pass'); - echo $request->getUrl(); - // >>> https://api.github.com/user - - // You must send a request in order for the transfer to occur - $response = $request->send(); - - echo $response->getBody(); - // >>> {"type":"User", ... - - echo $response->getHeader('Content-Length'); - // >>> 792 - - $data = $response->json(); - echo $data['type']; - // >>> User - -Base URLs -~~~~~~~~~ - -Notice that the URL provided to the client's ``get()`` method is relative. Relative URLs will always merge into the -base URL of the client. There are a few rules that control how the URLs are merged. - -.. tip:: - - Guzzle follows `RFC 3986 `_ when merging base URLs and - relative URLs. - -In the above example, we passed ``/user`` to the ``get()`` method of the client. This is a relative URL, so it will -merge into the base URL of the client-- resulting in the derived URL of ``https://api.github.com/users``. - -``/user`` is a relative URL but uses an absolute path because it contains the leading slash. Absolute paths will -overwrite any existing path of the base URL. If an absolute path is provided (e.g. ``/path/to/something``), then the -path specified in the base URL of the client will be replaced with the absolute path, and the query string provided -by the relative URL will replace the query string of the base URL. - -Omitting the leading slash and using relative paths will add to the path of the base URL of the client. So using a -client base URL of ``https://api.twitter.com/v1.1`` and creating a GET request with ``statuses/user_timeline.json`` -will result in a URL of ``https://api.twitter.com/v1.1/statuses/user_timeline.json``. If a relative path and a query -string are provided, then the relative path will be appended to the base URL path, and the query string provided will -be merged into the query string of the base URL. - -If an absolute URL is provided (e.g. ``http://httpbin.org/ip``), then the request will completely use the absolute URL -as-is without merging in any of the URL parts specified in the base URL. - -Configuration options -~~~~~~~~~~~~~~~~~~~~~ - -The second argument of the client's constructor is an array of configuration data. This can include URI template data -or special options that alter the client's behavior: - -+-------------------------------+-------------------------------------------------------------------------------------+ -| ``request.options`` | Associative array of :ref:`Request options ` to apply to every | -| | request created by the client. | -+-------------------------------+-------------------------------------------------------------------------------------+ -| ``redirect.disable`` | Disable HTTP redirects for every request created by the client. | -+-------------------------------+-------------------------------------------------------------------------------------+ -| ``curl.options`` | Associative array of cURL options to apply to every request created by the client. | -| | if either the key or value of an entry in the array is a string, Guzzle will | -| | attempt to find a matching defined cURL constant automatically (e.g. | -| | "CURLOPT_PROXY" will be converted to the constant ``CURLOPT_PROXY``). | -+-------------------------------+-------------------------------------------------------------------------------------+ -| ``ssl.certificate_authority`` | Set to true to use the Guzzle bundled SSL certificate bundle (this is used by | -| | default, 'system' to use the bundle on your system, a string pointing to a file to | -| | use a specific certificate file, a string pointing to a directory to use multiple | -| | certificates, or ``false`` to disable SSL validation (not recommended). | -| | | -| | When using Guzzle inside of a phar file, the bundled SSL certificate will be | -| | extracted to your system's temp folder, and each time a client is created an MD5 | -| | check will be performed to ensure the integrity of the certificate. | -+-------------------------------+-------------------------------------------------------------------------------------+ -| ``command.params`` | When using a ``Guzzle\Service\Client`` object, this is an associative array of | -| | default options to set on each command created by the client. | -+-------------------------------+-------------------------------------------------------------------------------------+ - -Here's an example showing how to set various configuration options, including default headers to send with each request, -default query string parameters to add to each request, a default auth scheme for each request, and a proxy to use for -each request. Values can be injected into the client's base URL using variables from the configuration array. - -.. code-block:: php - - use Guzzle\Http\Client; - - $client = new Client('https://api.twitter.com/{version}', array( - 'version' => 'v1.1', - 'request.options' => array( - 'headers' => array('Foo' => 'Bar'), - 'query' => array('testing' => '123'), - 'auth' => array('username', 'password', 'Basic|Digest|NTLM|Any'), - 'proxy' => 'tcp://localhost:80' - ) - )); - -Setting a custom User-Agent -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The default Guzzle User-Agent header is ``Guzzle/ curl/ PHP/``. You can -customize the User-Agent header of a client by calling the ``setUserAgent()`` method of a Client object. - -.. code-block:: php - - // Completely override the default User-Agent - $client->setUserAgent('Test/123'); - - // Prepend a string to the default User-Agent - $client->setUserAgent('Test/123', true); - -Creating requests with a client -------------------------------- - -A Client object exposes several methods used to create Request objects: - -* Create a custom HTTP request: ``$client->createRequest($method, $uri, array $headers, $body, $options)`` -* Create a GET request: ``$client->get($uri, array $headers, $options)`` -* Create a HEAD request: ``$client->head($uri, array $headers, $options)`` -* Create a DELETE request: ``$client->delete($uri, array $headers, $body, $options)`` -* Create a POST request: ``$client->post($uri, array $headers, $postBody, $options)`` -* Create a PUT request: ``$client->put($uri, array $headers, $body, $options)`` -* Create a PATCH request: ``$client->patch($uri, array $headers, $body, $options)`` - -.. code-block:: php - - use Guzzle\Http\Client; - - $client = new Client('http://baseurl.com/api/v1'); - - // Create a GET request using Relative to base URL - // URL of the request: http://baseurl.com/api/v1/path?query=123&value=abc) - $request = $client->get('path?query=123&value=abc'); - $response = $request->send(); - - // Create HEAD request using a relative URL with an absolute path - // URL of the request: http://baseurl.com/path?query=123&value=abc - $request = $client->head('/path?query=123&value=abc'); - $response = $request->send(); - - // Create a DELETE request using an absolute URL - $request = $client->delete('http://www.example.com/path?query=123&value=abc'); - $response = $request->send(); - - // Create a PUT request using the contents of a PHP stream as the body - // Specify custom HTTP headers - $request = $client->put('http://www.example.com/upload', array( - 'X-Header' => 'My Header' - ), fopen('http://www.test.com/', 'r')); - $response = $request->send(); - - // Create a POST request and add the POST files manually - $request = $client->post('http://localhost:8983/solr/update') - ->addPostFiles(array('file' => '/path/to/documents.xml')); - $response = $request->send(); - - // Check if a resource supports the DELETE method - $supportsDelete = $client->options('/path')->send()->isMethodAllowed('DELETE'); - $response = $request->send(); - -Client objects create Request objects using a request factory (``Guzzle\Http\Message\RequestFactoryInterface``). -You can inject a custom request factory into the Client using ``$client->setRequestFactory()``, but you can typically -rely on a Client's default request factory. - -Static clients --------------- - -You can use Guzzle's static client facade to more easily send simple HTTP requests. - -.. code-block:: php - - // Mount the client so that you can access it at \Guzzle - Guzzle\Http\StaticClient::mount(); - $response = Guzzle::get('http://guzzlephp.org'); - -Each request method of the static client (e.g. ``get()``, ``post()`, ``put()``, etc) accepts an associative array of request -options to apply to the request. - -.. code-block:: php - - $response = Guzzle::post('http://test.com', array( - 'headers' => array('X-Foo' => 'Bar'), - 'body' => array('Test' => '123'), - 'timeout' => 10 - )); - -.. _request-options: - -Request options ---------------- - -Request options can be specified when creating a request or in the ``request.options`` parameter of a client. These -options can control various aspects of a request including: headers to send, query string data, where the response -should be downloaded, proxies, auth, etc. - -headers -~~~~~~~ - -Associative array of headers to apply to the request. When specified in the ``$options`` argument of a client creational -method (e.g. ``get()``, ``post()``, etc), the headers in the ``$options`` array will overwrite headers specified in the -``$headers`` array. - -.. code-block:: php - - $request = $client->get($url, array(), array( - 'headers' => array('X-Foo' => 'Bar') - )); - -Headers can be specified on a client to add default headers to every request sent by a client. - -.. code-block:: php - - $client = new Guzzle\Http\Client(); - - // Set a single header using path syntax - $client->setDefaultOption('headers/X-Foo', 'Bar'); - - // Set all headers - $client->setDefaultOption('headers', array('X-Foo' => 'Bar')); - -.. note:: - - In addition to setting request options when creating requests or using the ``setDefaultOption()`` method, any - default client request option can be set using a client's config object: - - .. code-block:: php - - $client->getConfig()->setPath('request.options/headers/X-Foo', 'Bar'); - -query -~~~~~ - -Associative array of query string parameters to the request. When specified in the ``$options`` argument of a client -creational method, the query string parameters in the ``$options`` array will overwrite query string parameters -specified in the `$url`. - -.. code-block:: php - - $request = $client->get($url, array(), array( - 'query' => array('abc' => '123') - )); - -Query string parameters can be specified on a client to add default query string parameters to every request sent by a -client. - -.. code-block:: php - - $client = new Guzzle\Http\Client(); - - // Set a single query string parameter using path syntax - $client->setDefaultOption('query/abc', '123'); - - // Set an array of default query string parameters - $client->setDefaultOption('query', array('abc' => '123')); - -body -~~~~ - -Sets the body of a request. The value supplied to the body option can be a ``Guzzle\Http\EntityBodyInterface``, string, -fopen resource, or array when sending POST requests. When a ``body`` request option is supplied, the option value will -overwrite the ``$body`` argument of a client creational method. - -auth -~~~~ - -Specifies and array of HTTP authorization parameters parameters to use with the request. The array must contain the -username in index [0], the password in index [1], and can optionally contain the authentication type in index [2]. -The available authentication types are: "Basic" (default), "Digest", "NTLM", or "Any". - -.. code-block:: php - - $request = $client->get($url, array(), array( - 'auth' => array('username', 'password', 'Digest') - )); - - // You can add auth headers to every request of a client - $client->setDefaultOption('auth', array('username', 'password', 'Digest')); - -cookies -~~~~~~~ - -Specifies an associative array of cookies to add to the request. - -allow_redirects -~~~~~~~~~~~~~~~ - -Specifies whether or not the request should follow redirects. Requests will follow redirects by default. Set -``allow_redirects`` to ``false`` to disable redirects. - -save_to -~~~~~~~ - -The ``save_to`` option specifies where the body of a response is downloaded. You can pass the path to a file, an fopen -resource, or a ``Guzzle\Http\EntityBodyInterface`` object. - -See :ref:`Changing where a response is downloaded ` for more information on setting the -`save_to` option. - -events -~~~~~~ - -The `events` option makes it easy to attach listeners to the various events emitted by a request object. The `events` -options must be an associative array mapping an event name to a Closure or array the contains a Closure and the -priority of the event. - -.. code-block:: php - - $request = $client->get($url, array(), array( - 'events' => array( - 'request.before_send' => function (\Guzzle\Common\Event $e) { - echo 'About to send ' . $e['request']; - } - ) - )); - - // Using the static client: - Guzzle::get($url, array( - 'events' => array( - 'request.before_send' => function (\Guzzle\Common\Event $e) { - echo 'About to send ' . $e['request']; - } - ) - )); - -plugins -~~~~~~~ - -The `plugins` options makes it easy to attach an array of plugins to a request. - -.. code-block:: php - - // Using the static client: - Guzzle::get($url, array( - 'plugins' => array( - new Guzzle\Plugin\Cache\CachePlugin(), - new Guzzle\Plugin\Cookie\CookiePlugin() - ) - )); - -exceptions -~~~~~~~~~~ - -The `exceptions` option can be used to disable throwing exceptions for unsuccessful HTTP response codes -(e.g. 404, 500, etc). Set `exceptions` to false to not throw exceptions. - -params -~~~~~~ - -The `params` options can be used to specify an associative array of data parameters to add to a request. Note that -these are not query string parameters. - -timeout / connect_timeout -~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can specify the maximum number of seconds to allow for an entire transfer to take place before timing out using -the `timeout` request option. You can specify the maximum number of seconds to wait while trying to connect using the -`connect_timeout` request option. Set either of these options to 0 to wait indefinitely. - -.. code-block:: php - - $request = $client->get('http://www.example.com', array(), array( - 'timeout' => 20, - 'connect_timeout' => 1.5 - )); - -verify -~~~~~~ - -Set to true to enable SSL certificate validation (the default), false to disable SSL certificate validation, or supply -the path to a CA bundle to enable verification using a custom certificate. - -cert -~~~~ - -The `cert` option lets you specify a PEM formatted SSL client certificate to use with servers that require one. If the -certificate requires a password, provide an array with the password as the second item. - -This would typically be used in conjunction with the `ssl_key` option. - -.. code-block:: php - - $request = $client->get('https://www.example.com', array(), array( - 'cert' => '/etc/pki/client_certificate.pem' - ) - - $request = $client->get('https://www.example.com', array(), array( - 'cert' => array('/etc/pki/client_certificate.pem', 's3cr3tp455w0rd') - ) - -ssl_key -~~~~~~~ - -The `ssl_key` option lets you specify a file containing your PEM formatted private key, optionally protected by a password. -Note: your password is sensitive, keep the PHP script containing it safe. - -This would typically be used in conjunction with the `cert` option. - -.. code-block:: php - - $request = $client->get('https://www.example.com', array(), array( - 'ssl_key' => '/etc/pki/private_key.pem' - ) - - $request = $client->get('https://www.example.com', array(), array( - 'ssl_key' => array('/etc/pki/private_key.pem', 's3cr3tp455w0rd') - ) - -proxy -~~~~~ - -The `proxy` option is used to specify an HTTP proxy (e.g. `http://username:password@192.168.16.1:10`). - -debug -~~~~~ - -The `debug` option is used to show verbose cURL output for a transfer. - -stream -~~~~~~ - -When using a static client, you can set the `stream` option to true to return a `Guzzle\Stream\Stream` object that can -be used to pull data from a stream as needed (rather than have cURL download the entire contents of a response to a -stream all at once). - -.. code-block:: php - - $stream = Guzzle::get('http://guzzlephp.org', array('stream' => true)); - while (!$stream->feof()) { - echo $stream->readLine(); - } - -Sending requests ----------------- - -Requests can be sent by calling the ``send()`` method of a Request object, but you can also send requests using the -``send()`` method of a Client. - -.. code-block:: php - - $request = $client->get('http://www.amazon.com'); - $response = $client->send($request); - -Sending requests in parallel -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The Client's ``send()`` method accept a single ``Guzzle\Http\Message\RequestInterface`` object or an array of -RequestInterface objects. When an array is specified, the requests will be sent in parallel. - -Sending many HTTP requests serially (one at a time) can cause an unnecessary delay in a script's execution. Each -request must complete before a subsequent request can be sent. By sending requests in parallel, a pool of HTTP -requests can complete at the speed of the slowest request in the pool, significantly reducing the amount of time -needed to execute multiple HTTP requests. Guzzle provides a wrapper for the curl_multi functions in PHP. - -Here's an example of sending three requests in parallel using a client object: - -.. code-block:: php - - use Guzzle\Common\Exception\MultiTransferException; - - try { - $responses = $client->send(array( - $client->get('http://www.google.com/'), - $client->head('http://www.google.com/'), - $client->get('https://www.github.com/') - )); - } catch (MultiTransferException $e) { - - echo "The following exceptions were encountered:\n"; - foreach ($e as $exception) { - echo $exception->getMessage() . "\n"; - } - - echo "The following requests failed:\n"; - foreach ($e->getFailedRequests() as $request) { - echo $request . "\n\n"; - } - - echo "The following requests succeeded:\n"; - foreach ($e->getSuccessfulRequests() as $request) { - echo $request . "\n\n"; - } - } - -If the requests succeed, an array of ``Guzzle\Http\Message\Response`` objects are returned. A single request failure -will not cause the entire pool of requests to fail. Any exceptions thrown while transferring a pool of requests will -be aggregated into a ``Guzzle\Common\Exception\MultiTransferException`` exception. - -Plugins and events ------------------- - -Guzzle provides easy to use request plugins that add behavior to requests based on signal slot event notifications -powered by the -`Symfony2 Event Dispatcher component `_. Any -event listener or subscriber attached to a Client object will automatically be attached to each request created by the -client. - -Using the same cookie session for each request -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Attach a ``Guzzle\Plugin\Cookie\CookiePlugin`` to a client which will in turn add support for cookies to every request -created by a client, and each request will use the same cookie session: - -.. code-block:: php - - use Guzzle\Plugin\Cookie\CookiePlugin; - use Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar; - - // Create a new cookie plugin - $cookiePlugin = new CookiePlugin(new ArrayCookieJar()); - - // Add the cookie plugin to the client - $client->addSubscriber($cookiePlugin); - -.. _client-events: - -Events emitted from a client -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A ``Guzzle\Http\Client`` object emits the following events: - -+------------------------------+--------------------------------------------+------------------------------------------+ -| Event name | Description | Event data | -+==============================+============================================+==========================================+ -| client.create_request | Called when a client creates a request | * client: The client | -| | | * request: The created request | -+------------------------------+--------------------------------------------+------------------------------------------+ - -.. code-block:: php - - use Guzzle\Common\Event; - use Guzzle\Http\Client; - - $client = new Client(); - - // Add a listener that will echo out requests as they are created - $client->getEventDispatcher()->addListener('client.create_request', function (Event $e) { - echo 'Client object: ' . spl_object_hash($e['client']) . "\n"; - echo "Request object: {$e['request']}\n"; - }); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/entity-bodies.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/entity-bodies.rst deleted file mode 100644 index 823b0c02..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/entity-bodies.rst +++ /dev/null @@ -1,151 +0,0 @@ -=========================== -Request and response bodies -=========================== - -`Entity body `_ is the term used for the body of an HTTP -message. The entity body of requests and responses is inherently a -`PHP stream `_ in Guzzle. The body of the request can be either a string or -a PHP stream which are converted into a ``Guzzle\Http\EntityBody`` object using its factory method. When using a -string, the entity body is stored in a `temp PHP stream `_. The use of -temp PHP streams helps to protect your application from running out of memory when sending or receiving large entity -bodies in your messages. When more than 2MB of data is stored in a temp stream, it automatically stores the data on -disk rather than in memory. - -EntityBody objects provide a great deal of functionality: compression, decompression, calculate the Content-MD5, -calculate the Content-Length (when the resource is repeatable), guessing the Content-Type, and more. Guzzle doesn't -need to load an entire entity body into a string when sending or retrieving data; entity bodies are streamed when -being uploaded and downloaded. - -Here's an example of gzip compressing a text file then sending the file to a URL: - -.. code-block:: php - - use Guzzle\Http\EntityBody; - - $body = EntityBody::factory(fopen('/path/to/file.txt', 'r+')); - echo $body->read(1024); - $body->seek(0, SEEK_END); - $body->write('foo'); - echo $body->ftell(); - $body->rewind(); - - // Send a request using the body - $response = $client->put('http://localhost:8080/uploads', null, $body)->send(); - -The body of the request can be specified in the ``Client::put()`` or ``Client::post()`` method, or, you can specify -the body of the request by calling the ``setBody()`` method of any -``Guzzle\Http\Message\EntityEnclosingRequestInterface`` object. - -Compression ------------ - -You can compress the contents of an EntityBody object using the ``compress()`` method. The compress method accepts a -filter that must match to one of the supported -`PHP stream filters `_ on your system (e.g. `zlib.deflate`, -``bzip2.compress``, etc). Compressing an entity body will stream the entire entity body through a stream compression -filter into a temporary PHP stream. You can uncompress an entity body using the ``uncompress()`` method and passing -the PHP stream filter to use when decompressing the stream (e.g. ``zlib.inflate``). - -.. code-block:: php - - use Guzzle\Http\EntityBody; - - $body = EntityBody::factory(fopen('/tmp/test.txt', 'r+')); - echo $body->getSize(); - // >>> 1048576 - - // Compress using the default zlib.deflate filter - $body->compress(); - echo $body->getSize(); - // >>> 314572 - - // Decompress the stream - $body->uncompress(); - echo $body->getSize(); - // >>> 1048576 - -Decorators ----------- - -Guzzle provides several EntityBody decorators that can be used to add functionality to an EntityBody at runtime. - -IoEmittingEntityBody -~~~~~~~~~~~~~~~~~~~~ - -This decorator will emit events when data is read from a stream or written to a stream. Add an event subscriber to the -entity body's ``body.read`` or ``body.write`` methods to receive notifications when data data is transferred. - -.. code-block:: php - - use Guzzle\Common\Event; - use Guzzle\Http\EntityBody; - use Guzzle\Http\IoEmittingEntityBody; - - $original = EntityBody::factory(fopen('/tmp/test.txt', 'r+')); - $body = new IoEmittingEntityBody($original); - - // Listen for read events - $body->getEventDispatcher()->addListener('body.read', function (Event $e) { - // Grab data from the event - $entityBody = $e['body']; - // Amount of data retrieved from the body - $lengthOfData = $e['length']; - // The actual data that was read - $data = $e['read']; - }); - - // Listen for write events - $body->getEventDispatcher()->addListener('body.write', function (Event $e) { - // Grab data from the event - $entityBody = $e['body']; - // The data that was written - $data = $e['write']; - // The actual amount of data that was written - $data = $e['read']; - }); - -ReadLimitEntityBody -~~~~~~~~~~~~~~~~~~~ - -The ReadLimitEntityBody decorator can be used to transfer a subset or slice of an existing EntityBody object. This can -be useful for breaking a large file into smaller pieces to be sent in chunks (e.g. Amazon S3's multipart upload API). - -.. code-block:: php - - use Guzzle\Http\EntityBody; - use Guzzle\Http\ReadLimitEntityBody; - - $original = EntityBody::factory(fopen('/tmp/test.txt', 'r+')); - echo $original->getSize(); - // >>> 1048576 - - // Limit the size of the body to 1024 bytes and start reading from byte 2048 - $body = new ReadLimitEntityBody($original, 1024, 2048); - echo $body->getSize(); - // >>> 1024 - echo $body->ftell(); - // >>> 0 - -CachingEntityBody -~~~~~~~~~~~~~~~~~ - -The CachingEntityBody decorator is used to allow seeking over previously read bytes on non-seekable read streams. This -can be useful when transferring a non-seekable entity body fails due to needing to rewind the stream (for example, -resulting from a redirect). Data that is read from the remote stream will be buffered in a PHP temp stream so that -previously read bytes are cached first in memory, then on disk. - -.. code-block:: php - - use Guzzle\Http\EntityBody; - use Guzzle\Http\CachingEntityBody; - - $original = EntityBody::factory(fopen('http://www.google.com', 'r')); - $body = new CachingEntityBody($original); - - $body->read(1024); - echo $body->ftell(); - // >>> 1024 - - $body->seek(0); - echo $body->ftell(); - // >>> 0 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/http-redirects.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/http-redirects.rst deleted file mode 100644 index 32ba2689..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/http-redirects.rst +++ /dev/null @@ -1,99 +0,0 @@ -============== -HTTP redirects -============== - -By default, Guzzle will automatically follow redirects using the non-RFC compliant implementation used by most web -browsers. This means that redirects for POST requests are followed by a GET request. You can force RFC compliance by -enabling the strict mode on a request's parameter object: - -.. code-block:: php - - // Set per request - $request = $client->post(); - $request->getParams()->set('redirect.strict', true); - - // You can set globally on a client so all requests use strict redirects - $client->getConfig()->set('request.params', array( - 'redirect.strict' => true - )); - -By default, Guzzle will redirect up to 5 times before throwing a ``Guzzle\Http\Exception\TooManyRedirectsException``. -You can raise or lower this value using the ``redirect.max`` parameter of a request object: - -.. code-block:: php - - $request->getParams()->set('redirect.max', 2); - -Redirect history ----------------- - -You can get the number of redirects of a request using the resulting response object's ``getRedirectCount()`` method. -Similar to cURL's ``effective_url`` property, Guzzle provides the effective URL, or the last redirect URL that returned -the request, in a response's ``getEffectiveUrl()`` method. - -When testing or debugging, it is often useful to see a history of redirects for a particular request. This can be -achieved using the HistoryPlugin. - -.. code-block:: php - - $request = $client->get('/'); - $history = new Guzzle\Plugin\History\HistoryPlugin(); - $request->addSubscriber($history); - $response = $request->send(); - - // Get the last redirect URL or the URL of the request that received - // this response - echo $response->getEffectiveUrl(); - - // Get the number of redirects - echo $response->getRedirectCount(); - - // Iterate over each sent request and response - foreach ($history->getAll() as $transaction) { - // Request object - echo $transaction['request']->getUrl() . "\n"; - // Response object - echo $transaction['response']->getEffectiveUrl() . "\n"; - } - - // Or, simply cast the HistoryPlugin to a string to view each request and response - echo $history; - -Disabling redirects -------------------- - -You can disable redirects on a client by passing a configuration option in the client's constructor: - -.. code-block:: php - - $client = new Client(null, array('redirect.disable' => true)); - -You can also disable redirects per request: - -.. code-block:: php - - $request = $client->get($url, array(), array('allow_redirects' => false)); - -Redirects and non-repeatable streams ------------------------------------- - -If you are redirected when sending data from a non-repeatable stream and some of the data has been read off of the -stream, then you will get a ``Guzzle\Http\Exception\CouldNotRewindStreamException``. You can get around this error by -adding a custom rewind method to the entity body object being sent in the request. - -.. code-block:: php - - $request = $client->post( - 'http://httpbin.com/redirect/2', - null, - fopen('http://httpbin.com/get', 'r') - ); - - // Add a custom function that can be used to rewind the stream - // (reopen in this example) - $request->getBody()->setRewindFunction(function ($body) { - $body->setStream(fopen('http://httpbin.com/get', 'r')); - return true; - ); - - $response = $client->send(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/request.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/request.rst deleted file mode 100644 index a8387a91..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/request.rst +++ /dev/null @@ -1,667 +0,0 @@ -===================== -Using Request objects -===================== - -HTTP request messages ---------------------- - -Request objects are all about building an HTTP message. Each part of an HTTP request message can be set individually -using methods on the request object or set in bulk using the ``setUrl()`` method. Here's the format of an HTTP request -with each part of the request referencing the method used to change it:: - - PUT(a) /path(b)?query=123(c) HTTP/1.1(d) - X-Header(e): header - Content-Length(e): 4 - - data(f) - -+-------------------------+---------------------------------------------------------------------------------+ -| a. **Method** | The request method can only be set when instantiating a request | -+-------------------------+---------------------------------------------------------------------------------+ -| b. **Path** | ``$request->setPath('/path');`` | -+-------------------------+---------------------------------------------------------------------------------+ -| c. **Query** | ``$request->getQuery()->set('query', '123');`` | -+-------------------------+---------------------------------------------------------------------------------+ -| d. **Protocol version** | ``$request->setProtocolVersion('1.1');`` | -+-------------------------+---------------------------------------------------------------------------------+ -| e. **Header** | ``$request->setHeader('X-Header', 'header');`` | -+-------------------------+---------------------------------------------------------------------------------+ -| f. **Entity Body** | ``$request->setBody('data'); // Only available with PUT, POST, PATCH, DELETE`` | -+-------------------------+---------------------------------------------------------------------------------+ - -Creating requests with a client -------------------------------- - -Client objects are responsible for creating HTTP request objects. - -GET requests -~~~~~~~~~~~~ - -`GET requests `_ are the most common form of HTTP -requests. When you visit a website in your browser, the HTML of the website is downloaded using a GET request. GET -requests are idempotent requests that are typically used to download content (an entity) identified by a request URL. - -.. code-block:: php - - use Guzzle\Http\Client; - - $client = new Client(); - - // Create a request that has a query string and an X-Foo header - $request = $client->get('http://www.amazon.com?a=1', array('X-Foo' => 'Bar')); - - // Send the request and get the response - $response = $request->send(); - -You can change where the body of a response is downloaded on any request using the -``$request->setResponseBody(string|EntityBodyInterface|resource)`` method of a request. You can also set the ``save_to`` -option of a request: - -.. code-block:: php - - // Send the response body to a file - $request = $client->get('http://test.com', array(), array('save_to' => '/path/to/file')); - - // Send the response body to an fopen resource - $request = $client->get('http://test.com', array(), array('save_to' => fopen('/path/to/file', 'w'))); - -HEAD requests -~~~~~~~~~~~~~ - -`HEAD requests `_ work exactly like GET requests except -that they do not actually download the response body (entity) of the response message. HEAD requests are useful for -retrieving meta information about an entity identified by a Request-URI. - -.. code-block:: php - - $client = new Guzzle\Http\Client(); - $request = $client->head('http://www.amazon.com'); - $response = $request->send(); - echo $response->getContentLength(); - // >>> Will output the Content-Length header value - -DELETE requests -~~~~~~~~~~~~~~~ - -A `DELETE method `_ requests that the origin server -delete the resource identified by the Request-URI. - -.. code-block:: php - - $client = new Guzzle\Http\Client(); - $request = $client->delete('http://example.com'); - $response = $request->send(); - -POST requests -~~~~~~~~~~~~~ - -While `POST requests `_ can be used for a number of -reasons, POST requests are often used when submitting HTML form data to a website. POST requests can include an entity -body in the HTTP request. - -POST requests in Guzzle are sent with an ``application/x-www-form-urlencoded`` Content-Type header if POST fields are -present but no files are being sent in the POST. If files are specified in the POST request, then the Content-Type -header will become ``multipart/form-data``. - -The ``post()`` method of a client object accepts four arguments: the URL, optional headers, post fields, and an array of -request options. To send files in the POST request, prepend the ``@`` symbol to the array value (just like you would if -you were using the PHP ``curl_setopt`` function). - -Here's how to create a multipart/form-data POST request containing files and fields: - -.. code-block:: php - - $request = $client->post('http://httpbin.org/post', array(), array( - 'custom_field' => 'my custom value', - 'file_field' => '@/path/to/file.xml' - )); - - $response = $request->send(); - -.. note:: - - Remember to **always** sanitize user input when sending POST requests: - - .. code-block:: php - - // Prevent users from accessing sensitive files by sanitizing input - $_POST = array('firstname' => '@/etc/passwd'); - $request = $client->post('http://www.example.com', array(), array ( - 'firstname' => str_replace('@', '', $_POST['firstname']) - )); - -You can alternatively build up the contents of a POST request. - -.. code-block:: php - - $request = $client->post('http://httpbin.org/post') - ->setPostField('custom_field', 'my custom value') - ->addPostFile('file', '/path/to/file.xml'); - - $response = $request->send(); - -Raw POST data -^^^^^^^^^^^^^ - -POST requests can also contain raw POST data that is not related to HTML forms. - -.. code-block:: php - - $request = $client->post('http://httpbin.org/post', array(), 'this is the body'); - $response = $request->send(); - -You can set the body of POST request using the ``setBody()`` method of the -``Guzzle\Http\Message\EntityEnclosingRequest`` object. This method accepts a string, a resource returned from -``fopen``, or a ``Guzzle\Http\EntityBodyInterface`` object. - -.. code-block:: php - - $request = $client->post('http://httpbin.org/post'); - // Set the body of the POST to stream the contents of /path/to/large_body.txt - $request->setBody(fopen('/path/to/large_body.txt', 'r')); - $response = $request->send(); - -PUT requests -~~~~~~~~~~~~ - -The `PUT method `_ requests that the enclosed entity be -stored under the supplied Request-URI. PUT requests are similar to POST requests in that they both can send an entity -body in the request message. - -The body of a PUT request (any any ``Guzzle\Http\Message\EntityEnclosingRequestInterface`` object) is always stored as -a ``Guzzle\Http\Message\EntityBodyInterface`` object. This allows a great deal of flexibility when sending data to a -remote server. For example, you can stream the contents of a stream returned by fopen, stream the contents of a -callback function, or simply send a string of data. - -.. code-block:: php - - $request = $client->put('http://httpbin.org/put', array(), 'this is the body'); - $response = $request->send(); - -Just like with POST, PATH, and DELETE requests, you can set the body of a PUT request using the ``setBody()`` method. - -.. code-block:: php - - $request = $client->put('http://httpbin.org/put'); - $request->setBody(fopen('/path/to/large_body.txt', 'r')); - $response = $request->send(); - -PATCH requests -~~~~~~~~~~~~~~ - -`PATCH requests `_ are used to modify a resource. - -.. code-block:: php - - $request = $client->patch('http://httpbin.org', array(), 'this is the body'); - $response = $request->send(); - -OPTIONS requests -~~~~~~~~~~~~~~~~ - -The `OPTIONS method `_ represents a request for -information about the communication options available on the request/response chain identified by the Request-URI. - -.. code-block:: php - - $request = $client->options('http://httpbin.org'); - $response = $request->send(); - - // Check if the PUT method is supported by this resource - var_export($response->isMethodAllows('PUT')); - -Custom requests -~~~~~~~~~~~~~~~ - -You can create custom HTTP requests that use non-standard HTTP methods using the ``createRequest()`` method of a -client object. - -.. code-block:: php - - $request = $client->createRequest('COPY', 'http://example.com/foo', array( - 'Destination' => 'http://example.com/bar', - 'Overwrite' => 'T' - )); - $response = $request->send(); - -Query string parameters ------------------------ - -Query string parameters of a request are owned by a request's ``Guzzle\Http\Query`` object that is accessible by -calling ``$request->getQuery()``. The Query class extends from ``Guzzle\Common\Collection`` and allows you to set one -or more query string parameters as key value pairs. You can set a parameter on a Query object using the -``set($key, $value)`` method or access the query string object like an associative array. Any previously specified -value for a key will be overwritten when using ``set()``. Use ``add($key, $value)`` to add a value to query string -object, and in the event of a collision with an existing value at a specific key, the value will be converted to an -array that contains all of the previously set values. - -.. code-block:: php - - $request = new Guzzle\Http\Message\Request('GET', 'http://www.example.com?foo=bar&abc=123'); - - $query = $request->getQuery(); - echo "{$query}\n"; - // >>> foo=bar&abc=123 - - $query->remove('abc'); - echo "{$query}\n"; - // >>> foo=bar - - $query->set('foo', 'baz'); - echo "{$query}\n"; - // >>> foo=baz - - $query->add('foo', 'bar'); - echo "{$query}\n"; - // >>> foo%5B0%5D=baz&foo%5B1%5D=bar - -Whoah! What happened there? When ``foo=bar`` was added to the existing ``foo=baz`` query string parameter, the -aggregator associated with the Query object was used to help convert multi-value query string parameters into a string. -Let's disable URL-encoding to better see what's happening. - -.. code-block:: php - - $query->useUrlEncoding(false); - echo "{$query}\n"; - // >>> foo[0]=baz&foo[1]=bar - -.. note:: - - URL encoding can be disabled by passing false, enabled by passing true, set to use RFC 1738 by passing - ``Query::FORM_URLENCODED`` (internally uses PHP's ``urlencode`` function), or set to RFC 3986 by passing - ``Query::RFC_3986`` (this is the default and internally uses PHP's ``rawurlencode`` function). - -As you can see, the multiple values were converted into query string parameters following the default PHP convention of -adding numerically indexed square bracket suffixes to each key (``foo[0]=baz&foo[1]=bar``). The strategy used to convert -multi-value parameters into a string can be customized using the ``setAggregator()`` method of the Query class. Guzzle -ships with the following query string aggregators by default: - -1. ``Guzzle\Http\QueryAggregator\PhpAggregator``: Aggregates using PHP style brackets (e.g. ``foo[0]=baz&foo[1]=bar``) -2. ``Guzzle\Http\QueryAggregator\DuplicateAggregator``: Performs no aggregation and allows for key value pairs to be - repeated in a URL (e.g. ``foo=baz&foo=bar``) -3. ``Guzzle\Http\QueryAggregator\CommaAggregator``: Aggregates using commas (e.g. ``foo=baz,bar``) - -.. _http-message-headers: - -HTTP Message Headers --------------------- - -HTTP message headers are case insensitive, multiple occurrences of any header can be present in an HTTP message -(whether it's valid or not), and some servers require specific casing of particular headers. Because of this, request -and response headers are stored in ``Guzzle\Http\Message\Header`` objects. The Header object can be cast as a string, -counted, or iterated to retrieve each value from the header. Casting a Header object to a string will return all of -the header values concatenated together using a glue string (typically ", "). - -A request (and response) object have several methods that allow you to retrieve and modify headers. - -* ``getHeaders()``: Get all of the headers of a message as a ``Guzzle\Http\Message\Header\HeaderCollection`` object. -* ``getHeader($header)``: Get a specific header from a message. If the header exists, you'll get a - ``Guzzle\Http\Message\Header`` object. If the header does not exist, this methods returns ``null``. -* ``hasHeader($header)``: Returns true or false based on if the message has a particular header. -* ``setHeader($header, $value)``: Set a header value and overwrite any previously set value for this header. -* ``addHeader($header, $value)``: Add a header with a particular name. If a previous value was already set by the same, - then the header will contain multiple values. -* ``removeHeader($header)``: Remove a header by name from the message. - -.. code-block:: php - - $request = new Request('GET', 'http://httpbin.com/cookies'); - // addHeader will set and append to any existing header values - $request->addHeader('Foo', 'bar'); - $request->addHeader('foo', 'baz'); - // setHeader overwrites any existing values - $request->setHeader('Test', '123'); - - // Request headers can be cast as a string - echo $request->getHeader('Foo'); - // >>> bar, baz - echo $request->getHeader('Test'); - // >>> 123 - - // You can count the number of headers of a particular case insensitive name - echo count($request->getHeader('foO')); - // >>> 2 - - // You can iterate over Header objects - foreach ($request->getHeader('foo') as $header) { - echo $header . "\n"; - } - - // You can get all of the request headers as a Guzzle\Http\Message\Header\HeaderCollection object - $headers = $request->getHeaders(); - - // Missing headers return NULL - var_export($request->getHeader('Missing')); - // >>> null - - // You can see all of the different variations of a header by calling raw() on the Header - var_export($request->getHeader('foo')->raw()); - -Setting the body of a request ------------------------------ - -Requests that can send a body (e.g. PUT, POST, DELETE, PATCH) are instances of -``Guzzle\Http\Message\EntityEnclosingRequestInterface``. Entity enclosing requests contain several methods that allow -you to specify the body to send with a request. - -Use the ``setBody()`` method of a request to set the body that will be sent with a request. This method accepts a -string, a resource returned by ``fopen()``, an array, or an instance of ``Guzzle\Http\EntityBodyInterface``. The body -will then be streamed from the underlying ``EntityBodyInterface`` object owned by the request. When setting the body -of the request, you can optionally specify a Content-Type header and whether or not to force the request to use -chunked Transfer-Encoding. - -.. code-block:: php - - $request = $client->put('/user.json'); - $request->setBody('{"foo":"baz"}', 'application/json'); - -Content-Type header -~~~~~~~~~~~~~~~~~~~ - -Guzzle will automatically add a Content-Type header to a request if the Content-Type can be guessed based on the file -extension of the payload being sent or the file extension present in the path of a request. - -.. code-block:: php - - $request = $client->put('/user.json', array(), '{"foo":"bar"}'); - // The Content-Type was guessed based on the path of the request - echo $request->getHeader('Content-Type'); - // >>> application/json - - $request = $client->put('/user.json'); - $request->setBody(fopen('/tmp/user_data.json', 'r')); - // The Content-Type was guessed based on the path of the entity body - echo $request->getHeader('Content-Type'); - // >>> application/json - -Transfer-Encoding: chunked header -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -When sending HTTP requests that contain a payload, you must let the remote server know how to determine when the entire -message has been sent. This usually is done by supplying a ``Content-Length`` header that tells the origin server the -size of the body that is to be sent. In some cases, the size of the payload being sent in a request cannot be known -before initiating the transfer. In these cases (when using HTTP/1.1), you can use the ``Transfer-Encoding: chunked`` -header. - -If the Content-Length cannot be determined (i.e. using a PHP ``http://`` stream), then Guzzle will automatically add -the ``Transfer-Encoding: chunked`` header to the request. - -.. code-block:: php - - $request = $client->put('/user.json'); - $request->setBody(fopen('http://httpbin.org/get', 'r')); - - // The Content-Length could not be determined - echo $request->getHeader('Transfer-Encoding'); - // >>> chunked - -See :doc:`/http-client/entity-bodies` for more information on entity bodies. - -Expect: 100-Continue header -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``Expect: 100-Continue`` header is used to help a client prevent sending a large payload to a server that will -reject the request. This allows clients to fail fast rather than waste bandwidth sending an erroneous payload. Guzzle -will automatically add the ``Expect: 100-Continue`` header to a request when the size of the payload exceeds 1MB or if -the body of the request is not seekable (this helps to prevent errors when a non-seekable body request is redirected). - -.. note:: - - If you find that your larger requests are taking too long to complete, you should first check if the - ``Expect: 100-Continue`` header is being sent with the request. Some servers do not respond well to this header, - which causes cURL to sleep for `1 second `_. - -POST fields and files -~~~~~~~~~~~~~~~~~~~~~ - -Any entity enclosing request can send POST style fields and files. This includes POST, PUT, PATCH, and DELETE requests. -Any request that has set POST fields or files will use cURL's POST message functionality. - -.. code-block:: php - - $request = $client->post('/post'); - // Set an overwrite any previously specified value - $request->setPostField('foo', 'bar'); - // Append a value to any existing values - $request->getPostFields()->add('foo', 'baz'); - // Remove a POST field by name - $request->removePostField('fizz'); - - // Add a file to upload (forces multipart/form-data) - $request->addPostFile('my_file', '/path/to/file', 'plain/text'); - // Remove a POST file by POST key name - $request->removePostFile('my_other_file'); - -.. tip:: - - Adding a large number of POST fields to a POST request is faster if you use the ``addPostFields()`` method so that - you can add and process multiple fields with a single call. Adding multiple POST files is also faster using - ``addPostFiles()``. - -Working with cookies --------------------- - -Cookies can be modified and retrieved from a request using the following methods: - -.. code-block:: php - - $request->addCookie($name, $value); - $request->removeCookie($name); - $value = $request->getCookie($name); - $valueArray = $request->getCookies(); - -Use the :doc:`cookie plugin ` if you need to reuse cookies between requests. - -.. _request-set-response-body: - -Changing where a response is downloaded ----------------------------------------- - -When a request is sent, the body of the response will be stored in a PHP temp stream by default. You can change the -location in which the response will be downloaded using ``$request->setResponseBody($body)`` or the ``save_to`` request -option. This can be useful for downloading the contents of a URL to a specific file. - -Here's an example of using request options: - -.. code-block:: php - - $request = $this->client->get('http://example.com/large.mov', array(), array( - 'save_to' => '/tmp/large_file.mov' - )); - $request->send(); - var_export(file_exists('/tmp/large_file.mov')); - // >>> true - -Here's an example of using ``setResponseBody()``: - -.. code-block:: php - - $body = fopen('/tmp/large_file.mov', 'w'); - $request = $this->client->get('http://example.com/large.mov'); - $request->setResponseBody($body); - - // You can more easily specify the name of a file to save the contents - // of the response to by passing a string to ``setResponseBody()``. - - $request = $this->client->get('http://example.com/large.mov'); - $request->setResponseBody('/tmp/large_file.mov'); - -Custom cURL options -------------------- - -Most of the functionality implemented in the libcurl bindings has been simplified and abstracted by Guzzle. Developers -who need access to `cURL specific functionality `_ can still add cURL handle -specific behavior to Guzzle HTTP requests by modifying the cURL options collection of a request: - -.. code-block:: php - - $request->getCurlOptions()->set(CURLOPT_LOW_SPEED_LIMIT, 200); - -Other special options that can be set in the ``curl.options`` array include: - -+-------------------------+---------------------------------------------------------------------------------+ -| debug | Adds verbose cURL output to a temp stream owned by the cURL handle object | -+-------------------------+---------------------------------------------------------------------------------+ -| progress | Instructs cURL to emit events when IO events occur. This allows you to be | -| | notified when bytes are transferred over the wire by subscribing to a request's | -| | ``curl.callback.read``, ``curl.callback.write``, and ``curl.callback.progress`` | -| | events. | -+-------------------------+---------------------------------------------------------------------------------+ - -Request options ---------------- - -Requests options can be specified when creating a request or in the ``request.options`` parameter of a client. These -options can control various aspects of a request including: headers to send, query string data, where the response -should be downloaded, proxies, auth, etc. - -.. code-block:: php - - $request = $client->get($url, $headers, array('proxy' => 'http://proxy.com')); - -See :ref:`Request options ` for more information. - -Working with errors -------------------- - -HTTP errors -~~~~~~~~~~~ - -Requests that receive a 4xx or 5xx response will throw a ``Guzzle\Http\Exception\BadResponseException``. More -specifically, 4xx errors throw a ``Guzzle\Http\Exception\ClientErrorResponseException``, and 5xx errors throw a -``Guzzle\Http\Exception\ServerErrorResponseException``. You can catch the specific exceptions or just catch the -BadResponseException to deal with either type of error. Here's an example of catching a generic BadResponseException: - -.. code-block:: php - - try { - $response = $client->get('/not_found.xml')->send(); - } catch (Guzzle\Http\Exception\BadResponseException $e) { - echo 'Uh oh! ' . $e->getMessage(); - echo 'HTTP request URL: ' . $e->getRequest()->getUrl() . "\n"; - echo 'HTTP request: ' . $e->getRequest() . "\n"; - echo 'HTTP response status: ' . $e->getResponse()->getStatusCode() . "\n"; - echo 'HTTP response: ' . $e->getResponse() . "\n"; - } - -Throwing an exception when a 4xx or 5xx response is encountered is the default behavior of Guzzle requests. This -behavior can be overridden by adding an event listener with a higher priority than -255 that stops event propagation. -You can subscribe to ``request.error`` to receive notifications any time an unsuccessful response is received. - -You can change the response that will be associated with the request by calling ``setResponse()`` on the -``$event['request']`` object passed into your listener, or by changing the ``$event['response']`` value of the -``Guzzle\Common\Event`` object that is passed to your listener. Transparently changing the response associated with a -request by modifying the event allows you to retry failed requests without complicating the code that uses the client. -This might be useful for sending requests to a web service that has expiring auth tokens. When a response shows that -your token has expired, you can get a new token, retry the request with the new token, and return the successful -response to the user. - -Here's an example of retrying a request using updated authorization credentials when a 401 response is received, -overriding the response of the original request with the new response, and still allowing the default exception -behavior to be called when other non-200 response status codes are encountered: - -.. code-block:: php - - // Add custom error handling to any request created by this client - $client->getEventDispatcher()->addListener('request.error', function(Event $event) { - - if ($event['response']->getStatusCode() == 401) { - - $newRequest = $event['request']->clone(); - $newRequest->setHeader('X-Auth-Header', MyApplication::getNewAuthToken()); - $newResponse = $newRequest->send(); - - // Set the response object of the request without firing more events - $event['response'] = $newResponse; - - // You can also change the response and fire the normal chain of - // events by calling $event['request']->setResponse($newResponse); - - // Stop other events from firing when you override 401 responses - $event->stopPropagation(); - } - - }); - -cURL errors -~~~~~~~~~~~ - -Connection problems and cURL specific errors can also occur when transferring requests using Guzzle. When Guzzle -encounters cURL specific errors while transferring a single request, a ``Guzzle\Http\Exception\CurlException`` is -thrown with an informative error message and access to the cURL error message. - -A ``Guzzle\Http\Exception\MultiTransferException`` exception is thrown when a cURL specific error occurs while -transferring multiple requests in parallel. You can then iterate over all of the exceptions encountered during the -transfer. - -Plugins and events ------------------- - -Guzzle request objects expose various events that allow you to hook in custom logic. A request object owns a -``Symfony\Component\EventDispatcher\EventDispatcher`` object that can be accessed by calling -``$request->getEventDispatcher()``. You can use the event dispatcher to add listeners (a simple callback function) or -event subscribers (classes that listen to specific events of a dispatcher). You can add event subscribers to a request -directly by just calling ``$request->addSubscriber($mySubscriber);``. - -.. _request-events: - -Events emitted from a request -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A ``Guzzle\Http\Message\Request`` and ``Guzzle\Http\Message\EntityEnclosingRequest`` object emit the following events: - -+------------------------------+--------------------------------------------+------------------------------------------+ -| Event name | Description | Event data | -+==============================+============================================+==========================================+ -| request.before_send | About to send request | * request: Request to be sent | -+------------------------------+--------------------------------------------+------------------------------------------+ -| request.sent | Sent the request | * request: Request that was sent | -| | | * response: Received response | -+------------------------------+--------------------------------------------+------------------------------------------+ -| request.complete | Completed a full HTTP transaction | * request: Request that was sent | -| | | * response: Received response | -+------------------------------+--------------------------------------------+------------------------------------------+ -| request.success | Completed a successful request | * request: Request that was sent | -| | | * response: Received response | -+------------------------------+--------------------------------------------+------------------------------------------+ -| request.error | Completed an unsuccessful request | * request: Request that was sent | -| | | * response: Received response | -+------------------------------+--------------------------------------------+------------------------------------------+ -| request.exception | An unsuccessful response was | * request: Request | -| | received. | * response: Received response | -| | | * exception: BadResponseException | -+------------------------------+--------------------------------------------+------------------------------------------+ -| request.receive.status_line | Received the start of a response | * line: Full response start line | -| | | * status_code: Status code | -| | | * reason_phrase: Reason phrase | -| | | * previous_response: (e.g. redirect) | -+------------------------------+--------------------------------------------+------------------------------------------+ -| curl.callback.progress | cURL progress event (only dispatched when | * handle: CurlHandle | -| | ``emit_io`` is set on a request's curl | * download_size: Total download size | -| | options) | * downloaded: Bytes downloaded | -| | | * upload_size: Total upload bytes | -| | | * uploaded: Bytes uploaded | -+------------------------------+--------------------------------------------+------------------------------------------+ -| curl.callback.write | cURL event called when data is written to | * request: Request | -| | an outgoing stream | * write: Data being written | -+------------------------------+--------------------------------------------+------------------------------------------+ -| curl.callback.read | cURL event called when data is written to | * request: Request | -| | an incoming stream | * read: Data being read | -+------------------------------+--------------------------------------------+------------------------------------------+ - -Creating a request event listener -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Here's an example that listens to the ``request.complete`` event of a request and prints the request and response. - -.. code-block:: php - - use Guzzle\Common\Event; - - $request = $client->get('http://www.google.com'); - - // Echo out the response that was received - $request->getEventDispatcher()->addListener('request.complete', function (Event $e) { - echo $e['request'] . "\n\n"; - echo $e['response']; - }); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/response.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/response.rst deleted file mode 100644 index ba487316..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/response.rst +++ /dev/null @@ -1,141 +0,0 @@ -====================== -Using Response objects -====================== - -Sending a request will return a ``Guzzle\Http\Message\Response`` object. You can view the raw HTTP response message by -casting the Response object to a string. Casting the response to a string will return the entity body of the response -as a string too, so this might be an expensive operation if the entity body is stored in a file or network stream. If -you only want to see the response headers, you can call ``getRawHeaders()``. - -Response status line --------------------- - -The different parts of a response's `status line `_ -(the first line of the response HTTP message) are easily retrievable. - -.. code-block:: php - - $response = $client->get('http://www.amazon.com')->send(); - - echo $response->getStatusCode(); // >>> 200 - echo $response->getReasonPhrase(); // >>> OK - echo $response->getProtocol(); // >>> HTTP - echo $response->getProtocolVersion(); // >>> 1.1 - -You can determine the type of the response using several helper methods: - -.. code-block:: php - - $response->isSuccessful(); // true - $response->isInformational(); - $response->isRedirect(); - $response->isClientError(); - $response->isServerError(); - -Response headers ----------------- - -The Response object contains helper methods for retrieving common response headers. These helper methods normalize the -variations of HTTP response headers. - -.. code-block:: php - - $response->getCacheControl(); - $response->getContentType(); - $response->getContentLength(); - $response->getContentEncoding(); - $response->getContentMd5(); - $response->getEtag(); - // etc... There are methods for every known response header - -You can interact with the Response headers using the same exact methods used to interact with Request headers. See -:ref:`http-message-headers` for more information. - -.. code-block:: php - - echo $response->getHeader('Content-Type'); - echo $response->getHeader('Content-Length'); - echo $response->getHeaders()['Content-Type']; // PHP 5.4 - -Response body -------------- - -The entity body object of a response can be retrieved by calling ``$response->getBody()``. The response EntityBody can -be cast to a string, or you can pass ``true`` to this method to retrieve the body as a string. - -.. code-block:: php - - $request = $client->get('http://www.amazon.com'); - $response = $request->send(); - echo $response->getBody(); - -See :doc:`/http-client/entity-bodies` for more information on entity bodies. - -JSON Responses -~~~~~~~~~~~~~~ - -You can easily parse and use a JSON response as an array using the ``json()`` method of a response. This method will -always return an array if the response is valid JSON or if the response body is empty. You will get an exception if you -call this method and the response is not valid JSON. - -.. code-block:: php - - $data = $response->json(); - echo gettype($data); - // >>> array - -XML Responses -~~~~~~~~~~~~~ - -You can easily parse and use a XML response as SimpleXMLElement object using the ``xml()`` method of a response. This -method will always return a SimpleXMLElement object if the response is valid XML or if the response body is empty. You -will get an exception if you call this method and the response is not valid XML. - -.. code-block:: php - - $xml = $response->xml(); - echo $xml->foo; - // >>> Bar! - -Streaming responses -------------------- - -Some web services provide streaming APIs that allow a client to keep a HTTP request open for an extended period of -time while polling and reading. Guzzle provides a simple way to convert HTTP request messages into -``Guzzle\Stream\Stream`` objects so that you can send the initial headers of a request, read the response headers, and -pull in the response body manually as needed. - -Here's an example using the Twitter Streaming API to track the keyword "bieber": - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Stream\PhpStreamRequestFactory; - - $client = new Client('https://stream.twitter.com/1'); - - $request = $client->post('statuses/filter.json', null, array( - 'track' => 'bieber' - )); - - $request->setAuth('myusername', 'mypassword'); - - $factory = new PhpStreamRequestFactory(); - $stream = $factory->fromRequest($request); - - // Read until the stream is closed - while (!$stream->feof()) { - // Read a line from the stream - $line = $stream->readLine(); - // JSON decode the line of data - $data = json_decode($line, true); - } - -You can use the ``stream`` request option when using a static client to more easily create a streaming response. - -.. code-block:: php - - $stream = Guzzle::get('http://guzzlephp.org', array('stream' => true)); - while (!$stream->feof()) { - echo $stream->readLine(); - } diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/uri-templates.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/uri-templates.rst deleted file mode 100644 index c18ac3e8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/http-client/uri-templates.rst +++ /dev/null @@ -1,52 +0,0 @@ -============= -URI templates -============= - -The ``$uri`` passed to one of the client's request creational methods or the base URL of a client can utilize URI -templates. Guzzle supports the entire `URI templates RFC `_. URI templates add a -special syntax to URIs that replace template place holders with user defined variables. - -Every request created by a Guzzle HTTP client passes through a URI template so that URI template expressions are -automatically expanded: - -.. code-block:: php - - $client = new Guzzle\Http\Client('https://example.com/', array('a' => 'hi')); - $request = $client->get('/{a}'); - -Because of URI template expansion, the URL of the above request will become ``https://example.com/hi``. Notice that -the template was expanded using configuration variables of the client. You can pass in custom URI template variables -by passing the URI of your request as an array where the first index of the array is the URI template and the second -index of the array are template variables that are merged into the client's configuration variables. - -.. code-block:: php - - $request = $client->get(array('/test{?a,b}', array('b' => 'there'))); - -The URL for this request will become ``https://test.com?a=hi&b=there``. URI templates aren't limited to just simple -variable replacements; URI templates can provide an enormous amount of flexibility when creating request URIs. - -.. code-block:: php - - $request = $client->get(array('http://example.com{+path}{/segments*}{?query,data*}', array( - 'path' => '/foo/bar', - 'segments' => array('one', 'two'), - 'query' => 'test', - 'data' => array( - 'more' => 'value' - ) - ))); - -The resulting URL would become ``http://example.com/foo/bar/one/two?query=test&more=value``. - -By default, URI template expressions are enclosed in an opening and closing brace (e.g. ``{var}``). If you are working -with a web service that actually uses braces (e.g. Solr), then you can specify a custom regular expression to use to -match URI template expressions. - -.. code-block:: php - - $client->getUriTemplate()->setRegex('/\<\$(.+)\>/'); - $client->get('/<$a>'); - -You can learn about all of the different features of URI templates by reading the -`URI templates RFC `_. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/index.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/index.rst deleted file mode 100644 index f76f3bbe..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/index.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. title:: Guzzle | PHP HTTP client and framework for consuming RESTful web services -.. toctree:: - :hidden: - - docs.rst diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/iterators/guzzle-iterators.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/iterators/guzzle-iterators.rst deleted file mode 100644 index a5c7fd33..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/iterators/guzzle-iterators.rst +++ /dev/null @@ -1,97 +0,0 @@ -================ -Guzzle iterators -================ - -Guzzle provides several SPL iterators that can be used with other SPL iterators, including Guzzle resource iterators. -Guzzle's ``guzzle/iterator`` component can also be used independently of the rest of Guzzle through Packagist and -Composer: https://packagist.org/packages/guzzle/iterator - -ChunkedIterator ---------------- - -Pulls out multiple values from an inner iterator and yields and array of values for each outer iteration -- essentially -pulling out chunks of values from the inner iterator. - -.. code-block:: php - - use Guzzle\Iterator\ChunkedIterator; - - $inner = new ArrayIterator(range(0, 8)); - $chunkedIterator = new ChunkedIterator($inner, 2); - - foreach ($chunkedIterator as $chunk) { - echo implode(', ', $chunk) . "\n"; - } - - // >>> 0, 1 - // >>> 2, 3 - // >>> 4, 5 - // >>> 6, 7 - // >>> 8 - -FilterIterator --------------- - -This iterator is used to filter values out of the inner iterator. This iterator can be used when PHP 5.4's -CallbackFilterIterator is not available. - -.. code-block:: php - - use Guzzle\Iterator\FilterIterator; - - $inner = new ArrayIterator(range(1, 10)); - $filterIterator = new FilterIterator($inner, function ($value) { - return $value % 2; - }); - - foreach ($filterIterator as $value) { - echo $value . "\n"; - } - - // >>> 2 - // >>> 4 - // >>> 6 - // >>> 8 - // >>> 10 - -MapIterator ------------ - -This iterator modifies the values of the inner iterator before yielding. - -.. code-block:: php - - use Guzzle\Iterator\MapIterator; - - $inner = new ArrayIterator(range(0, 3)); - - $mapIterator = new MapIterator($inner, function ($value) { - return $value * 10; - }); - - foreach ($mapIterator as $value) { - echo $value . "\n"; - } - - // >>> 0 - // >>> 10 - // >>> 20 - // >>> 30 - -MethodProxyIterator -------------------- - -This decorator is useful when you need to expose a specific method from an inner iterator that might be wrapper -by one or more iterator decorators. This decorator proxies missing method calls to each inner iterator until one -of the inner iterators can fulfill the call. - -.. code-block:: php - - use Guzzle\Iterator\MethodProxyIterator; - - $inner = new \ArrayIterator(); - $proxy = new MethodProxyIterator($inner); - - // Proxy method calls to the ArrayIterator - $proxy->append('a'); - $proxy->append('b'); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/iterators/resource-iterators.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/iterators/resource-iterators.rst deleted file mode 100644 index ce0bee59..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/iterators/resource-iterators.rst +++ /dev/null @@ -1,149 +0,0 @@ -================== -Resource iterators -================== - -Web services often implement pagination in their responses which requires the end-user to issue a series of consecutive -requests in order to fetch all of the data they asked for. Users of your web service client should not be responsible -for implementing the logic involved in iterating through pages of results. Guzzle provides a simple resource iterator -foundation to make it easier on web service client developers to offer a useful abstraction layer. - -Getting an iterator from a client ---------------------------------- - - ResourceIteratorInterface Guzzle\Service\Client::getIterator($command [, array $commandOptions, array $iteratorOptions ]) - -The ``getIterator`` method of a ``Guzzle\Service\ClientInterface`` object provides a convenient interface for -instantiating a resource iterator for a specific command. This method implicitly uses a -``Guzzle\Service\Resource\ResourceIteratorFactoryInterface`` object to create resource iterators. Pass an -instantiated command object or the name of a command in the first argument. When passing the name of a command, the -command factory of the client will create the command by name using the ``$commandOptions`` array. The third argument -may be used to pass an array of options to the constructor of the instantiated ``ResourceIteratorInterface`` object. - -.. code-block:: php - - $iterator = $client->getIterator('get_users'); - - foreach ($iterator as $user) { - echo $user['name'] . ' age ' . $user['age'] . PHP_EOL; - } - -The above code sample might execute a single request or a thousand requests. As a consumer of a web service, I don't -care. I just want to iterate over all of the users. - -Iterator options -~~~~~~~~~~~~~~~~ - -The two universal options that iterators should support are ``limit`` and ``page_size``. Using the ``limit`` option -tells the resource iterator to attempt to limit the total number of iterated resources to a specific amount. Keep in -mind that this is not always possible due to limitations that may be inherent to a web service. The ``page_size`` -option is used to tell a resource iterator how many resources to request per page of results. Much like the ``limit`` -option, you can not rely on getting back exactly the number of resources your specify in the ``page_size`` option. - -.. note:: - - The ``limit`` and ``page_size`` options can also be specified on an iterator using the ``setLimit($limit)`` and - ``setPageSize($pageSize)`` methods. - -Resolving iterator class names -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The default resource iterator factory of a client object expects that your iterators are stored under the ``Model`` -folder of your client and that an iterator is names after the CamelCase name of a command followed by the word -"Iterator". For example, if you wanted to create an iterator for the ``get_users`` command, then your iterator class -would be ``Model\GetUsersIterator`` and would be stored in ``Model/GetUsersIterator.php``. - -Creating an iterator --------------------- - -While not required, resource iterators in Guzzle typically iterate using a ``Guzzle\Service\Command\CommandInterface`` -object. ``Guzzle\Service\Resource\ResourceIterator``, the default iterator implementation that you should extend, -accepts a command object and array of iterator options in its constructor. The command object passed to the resource -iterator is expected to be ready to execute and not previously executed. The resource iterator keeps a reference of -this command and clones the original command each time a subsequent request needs to be made to fetch more data. - -Implement the sendRequest method -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The most important thing (and usually the only thing) you need to do when creating a resource iterator is to implement -the ``sendRequest()`` method of the resource iterator. The ``sendRequest()`` method is called when you begin -iterating or if there are no resources left to iterate and it you expect to retrieve more resources by making a -subsequent request. The ``$this->command`` property of the resource iterator is updated with a cloned copy of the -original command object passed into the constructor of the iterator. Use this command object to issue your subsequent -requests. - -The ``sendRequest()`` method must return an array of the resources you retrieved from making the subsequent call. -Returning an empty array will stop the iteration. If you suspect that your web service client will occasionally return -an empty result set but still requires further iteration, then you must implement a sort of loop in your -``sendRequest()`` method that will continue to issue subsequent requests until your reach the end of the paginated -result set or until additional resources are retrieved from the web service. - -Update the nextToken property -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Beyond fetching more results, the ``sendRequest()`` method is responsible for updating the ``$this->nextToken`` -property of the iterator. Setting this property to anything other than null tells the iterator that issuing a -subsequent request using the nextToken value will probably return more results. You must continually update this -value in your ``sendRequest()`` method as each response is received from the web service. - -Example iterator ----------------- - -Let's say you want to implement a resource iterator for the ``get_users`` command of your web service. The -``get_users`` command receives a response that contains a list of users, and if there are more pages of results to -retrieve, returns a value called ``next_user``. This return value is known as the **next token** and should be used to -issue subsequent requests. - -Assume the response to a ``get_users`` command returns JSON data that looks like this: - -.. code-block:: javascript - - { - "users": [ - { "name": "Craig Johnson", "age": 10 }, - { "name": "Tom Barker", "age": 20 }, - { "name": "Bob Mitchell", "age": 74 } - ], - "next_user": "Michael Dowling" - } - -Assume that because there is a ``next_user`` value, there will be more users if a subsequent request is issued. If the -``next_user`` value is missing or null, then we know there are no more results to fetch. Let's implement a resource -iterator for this command. - -.. code-block:: php - - namespace MyService\Model; - - use Guzzle\Service\Resource\ResourceIterator; - - /** - * Iterate over a get_users command - */ - class GetUsersIterator extends ResourceIterator - { - protected function sendRequest() - { - // If a next token is set, then add it to the command - if ($this->nextToken) { - $this->command->set('next_user', $this->nextToken); - } - - // Execute the command and parse the result - $result = $this->command->execute(); - - // Parse the next token - $this->nextToken = isset($result['next_user']) ? $result['next_user'] : false; - - return $result['users']; - } - } - -As you can see, it's pretty simple to implement an iterator. There are a few things that you should notice from this -example: - -1. You do not need to create a new command in the ``sendRequest()`` method. A new command object is cloned from the - original command passed into the constructor of the iterator before the ``sendRequest()`` method is called. - Remember that the resource iterator expects a command that has not been executed. -2. When the ``sendRequest()`` method is first called, you will not have a ``$this->nextToken`` value, so always check - before setting it on a command. Notice that the next token is being updated each time a request is sent. -3. After fetching more resources from the service, always return an array of resources. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/async-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/async-plugin.rst deleted file mode 100644 index 9bd8f425..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/async-plugin.rst +++ /dev/null @@ -1,18 +0,0 @@ -============ -Async plugin -============ - -The AsyncPlugin allows you to send requests that do not wait on a response. This is handled through cURL by utilizing -the progress event. When a request has sent all of its data to the remote server, Guzzle adds a 1ms timeout on the -request and instructs cURL to not download the body of the response. The async plugin then catches the exception and -adds a mock response to the request, along with an X-Guzzle-Async header to let you know that the response was not -fully downloaded. - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Plugin\Async\AsyncPlugin; - - $client = new Client('http://www.example.com'); - $client->addSubscriber(new AsyncPlugin()); - $response = $client->get()->send(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/backoff-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/backoff-plugin.rst deleted file mode 100644 index 5a769414..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/backoff-plugin.rst +++ /dev/null @@ -1,22 +0,0 @@ -==================== -Backoff retry plugin -==================== - -The ``Guzzle\Plugin\Backoff\BackoffPlugin`` automatically retries failed HTTP requests using custom backoff strategies: - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Plugin\Backoff\BackoffPlugin; - - $client = new Client('http://www.test.com/'); - // Use a static factory method to get a backoff plugin using the exponential backoff strategy - $backoffPlugin = BackoffPlugin::getExponentialBackoff(); - - // Add the backoff plugin to the client object - $client->addSubscriber($backoffPlugin); - -The BackoffPlugin's constructor accepts a ``Guzzle\Plugin\Backoff\BackoffStrategyInterface`` object that is used to -determine when a retry should be issued and how long to delay between retries. The above code example shows how to -attach a BackoffPlugin to a client that is pre-configured to retry failed 500 and 503 responses using truncated -exponential backoff (emulating the behavior of Guzzle 2's ExponentialBackoffPlugin). diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/cache-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/cache-plugin.rst deleted file mode 100644 index d2fd5df2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/cache-plugin.rst +++ /dev/null @@ -1,169 +0,0 @@ -================= -HTTP Cache plugin -================= - -Guzzle can leverage HTTP's caching specifications using the ``Guzzle\Plugin\Cache\CachePlugin``. The CachePlugin -provides a private transparent proxy cache that caches HTTP responses. The caching logic, based on -`RFC 2616 `_, uses HTTP headers to control caching behavior, -cache lifetime, and supports Vary, ETag, and Last-Modified based revalidation: - -.. code-block:: php - - use Guzzle\Http\Client; - use Doctrine\Common\Cache\FilesystemCache; - use Guzzle\Cache\DoctrineCacheAdapter; - use Guzzle\Plugin\Cache\CachePlugin; - use Guzzle\Plugin\Cache\DefaultCacheStorage; - - $client = new Client('http://www.test.com/'); - - $cachePlugin = new CachePlugin(array( - 'storage' => new DefaultCacheStorage( - new DoctrineCacheAdapter( - new FilesystemCache('/path/to/cache/files') - ) - ) - )); - - // Add the cache plugin to the client object - $client->addSubscriber($cachePlugin); - $client->get('http://www.wikipedia.org/')->send(); - - // The next request will revalidate against the origin server to see if it - // has been modified. If a 304 response is received the response will be - // served from cache - $client->get('http://www.wikipedia.org/')->send(); - -The cache plugin intercepts GET and HEAD requests before they are actually transferred to the origin server. The cache -plugin then generates a hash key based on the request method and URL, and checks to see if a response exists in the cache. If -a response exists in the cache, the cache adapter then checks to make sure that the caching rules associated with the response -satisfy the request, and ensures that response still fresh. If the response is acceptable for the request any required -revalidation, then the cached response is served instead of contacting the origin server. - -Vary ----- - -Cache keys are derived from a request method and a request URL. Multiple responses can map to the same cache key and -stored in Guzzle's underlying cache storage object. You should use the ``Vary`` HTTP header to tell the cache storage -object that the cache response must have been cached for a request that matches the headers specified in the Vary header -of the request. This allows you to have specific cache entries for the same request URL but variations in a request's -headers determine which cache entry is served. Please see the http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44 -for more information. - -Cache options -------------- - -There are several options you can add to requests or clients to modify the behavior of the cache plugin. - -Override cache TTL -~~~~~~~~~~~~~~~~~~ - -You can override the number of seconds a cacheable response is stored in the cache by setting the -``cache.override_ttl`` parameter on the params object of a request: - -.. code-block:: php - - // If the response to the request is cacheable, then the response will be cached for 100 seconds - $request->getParams()->set('cache.override_ttl', 100); - -If a response doesn't specify any freshness policy, it will be kept in cache for 3600 seconds by default. - -Custom caching decision -~~~~~~~~~~~~~~~~~~~~~~~ - -If the service you are interacting with does not return caching headers or returns responses that are normally -something that would not be cached, you can set a custom ``can_cache`` object on the constructor of the CachePlugin -and provide a ``Guzzle\Plugin\Cache\CanCacheInterface`` object. You can use the -``Guzzle\Plugin\Cache\CallbackCanCacheStrategy`` to easily make a caching decision based on an HTTP request and -response. - -Revalidation options -~~~~~~~~~~~~~~~~~~~~ - -You can change the revalidation behavior of a request using the ``cache.revalidate`` parameter. Setting this -parameter to ``never`` will ensure that a revalidation request is never sent, and the response is always served from -the origin server. Setting this parameter to ``skip`` will never revalidate and uses the response stored in the cache. - -Normalizing requests for caching -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Use the ``cache.key_filter`` parameter if you wish to strip certain query string parameters from your -request before creating a unique hash for the request. This parameter can be useful if your requests have query -string values that cause each request URL to be unique (thus preventing a cache hit). The ``cache.key_filter`` -format is simply a comma separated list of query string values to remove from the URL when creating a cache key. -For example, here we are saying that the ``a`` and ``q`` query string variables should be ignored when generating a -cache key for the request: - -.. code-block:: php - - $request->getParams()->set('cache.key_filter', 'a, q'); - -Other options -~~~~~~~~~~~~~ - -There are many other options available to the CachePlugin that can meet almost any caching requirement, including -custom revalidation implementations, custom cache key generators, custom caching decision strategies, and custom -cache storage objects. Take a look the constructor of ``Guzzle\Plugin\Cache\CachePlugin`` for more information. - -Setting Client-wide cache settings -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can specify cache settings for every request created by a client by adding cache settings to the configuration -options of a client. - -.. code-block:: php - - $client = new Guzzle\Http\Client('http://www.test.com', array( - 'request.params' => array( - 'cache.override_ttl' => 3600, - 'params.cache.revalidate' => 'never' - ) - )); - - echo $client->get('/')->getParams()->get('cache.override_ttl'); - // >>> 3600 - - echo $client->get('/')->getParams()->get('cache.revalidate'); - // >>> never - -Cache revalidation ------------------- - -If the cache plugin determines that a response to a GET request needs revalidation, a conditional GET is transferred -to the origin server. If the origin server returns a 304 response, then a response containing the merged headers of -the cached response with the new response and the entity body of the cached response is returned. Custom revalidation -strategies can be injected into a CachePlugin if needed. - -Cache adapters --------------- - -Guzzle doesn't try to reinvent the wheel when it comes to caching or logging. Plenty of other frameworks have -excellent solutions in place that you are probably already using in your applications. Guzzle uses adapters for -caching and logging. The cache plugin requires a cache adapter so that is can store responses in a cache. Guzzle -currently supports cache adapters for `Doctrine 2.0 `_ and the -`Zend Framework `_. - -Doctrine cache adapter -~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: php - - use Doctrine\Common\Cache\ArrayCache; - use Guzzle\Cache\DoctrineCacheAdapter; - use Guzzle\Plugin\Cache\CachePlugin; - - $backend = new ArrayCache(); - $adapter = new DoctrineCacheAdapter($backend); - $cache = new CachePlugin($adapter); - -Zend Framework cache adapter -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: php - - use Guzzle\Cache\ZendCacheAdapter; - use Zend\Cache\Backend\TestBackend; - - $backend = new TestBackend(); - $adapter = new ZendCacheAdapter($backend); - $cache = new CachePlugin($adapter); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/cookie-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/cookie-plugin.rst deleted file mode 100644 index a6cc7d92..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/cookie-plugin.rst +++ /dev/null @@ -1,33 +0,0 @@ -============= -Cookie plugin -============= - -Some web services require a Cookie in order to maintain a session. The ``Guzzle\Plugin\Cookie\CookiePlugin`` will add -cookies to requests and parse cookies from responses using a CookieJar object: - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Plugin\Cookie\CookiePlugin; - use Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar; - - $cookiePlugin = new CookiePlugin(new ArrayCookieJar()); - - // Add the cookie plugin to a client - $client = new Client('http://www.test.com/'); - $client->addSubscriber($cookiePlugin); - - // Send the request with no cookies and parse the returned cookies - $client->get('http://www.yahoo.com/')->send(); - - // Send the request again, noticing that cookies are being sent - $request = $client->get('http://www.yahoo.com/'); - $request->send(); - - echo $request; - -You can disable cookies per-request by setting the ``cookies.disable`` value to true on a request's params object. - -.. code-block:: php - - $request->getParams()->set('cookies.disable', true); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/creating-plugins.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/creating-plugins.rst deleted file mode 100644 index 0870155b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/creating-plugins.rst +++ /dev/null @@ -1,93 +0,0 @@ -================ -Creating plugins -================ - -.. highlight:: php - -Guzzle is extremely extensible because of the behavioral modifications that can be added to requests, clients, and -commands using an event system. Before and after the majority of actions are taken in the library, an event is emitted -with the name of the event and context surrounding the event. Observers can subscribe to a subject and modify the -subject based on the events received. Guzzle's event system utilizes the Symfony2 EventDispatcher and is the backbone -of its plugin architecture. - -Overview --------- - -Plugins must implement the ``Symfony\Component\EventDispatcher\EventSubscriberInterface`` interface. The -``EventSubscriberInterface`` requires that your class implements a static method, ``getSubscribedEvents()``, that -returns an associative array mapping events to methods on the object. See the -`Symfony2 documentation `_ for more information. - -Plugins can be attached to any subject, or object in Guzzle that implements that -``Guzzle\Common\HasDispatcherInterface``. - -Subscribing to a subject -~~~~~~~~~~~~~~~~~~~~~~~~ - -You can subscribe an instantiated observer to an event by calling ``addSubscriber`` on a subject. - -.. code-block:: php - - $testPlugin = new TestPlugin(); - $client->addSubscriber($testPlugin); - -You can also subscribe to only specific events using a closure:: - - $client->getEventDispatcher()->addListener('request.create', function(Event $event) { - echo $event->getName(); - echo $event['request']; - }); - -``Guzzle\Common\Event`` objects are passed to notified functions. The Event object has a ``getName()`` method which -return the name of the emitted event and may contain contextual information that can be accessed like an array. - -Knowing what events to listen to -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Any class that implements the ``Guzzle\Common\HasDispatcherInterface`` must implement a static method, -``getAllEvents()``, that returns an array of the events that are emitted from the object. You can browse the source -to see each event, or you can call the static method directly in your code to get a list of available events. - -Event hooks ------------ - -* :ref:`client-events` -* :ref:`service-client-events` -* :ref:`request-events` -* ``Guzzle\Http\Curl\CurlMulti``: -* :ref:`service-builder-events` - -Examples of the event system ----------------------------- - -Simple Echo plugin -~~~~~~~~~~~~~~~~~~ - -This simple plugin prints a string containing the request that is about to be sent by listening to the -``request.before_send`` event:: - - use Symfony\Component\EventDispatcher\EventSubscriberInterface; - - class EchoPlugin implements EventSubscriberInterface - { - public static function getSubscribedEvents() - { - return array('request.before_send' => 'onBeforeSend'); - } - - public function onBeforeSend(Guzzle\Common\Event $event) - { - echo 'About to send a request: ' . $event['request'] . "\n"; - } - } - - $client = new Guzzle\Service\Client('http://www.test.com/'); - - // Create the plugin and add it as an event subscriber - $plugin = new EchoPlugin(); - $client->addSubscriber($plugin); - - // Send a request and notice that the request is printed to the screen - $client->get('/')->send(); - -Running the above code will print a string containing the HTTP request that is about to be sent. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/curl-auth-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/curl-auth-plugin.rst deleted file mode 100644 index 66d4a01e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/curl-auth-plugin.rst +++ /dev/null @@ -1,32 +0,0 @@ -========================== -cURL authentication plugin -========================== - -.. warning:: - - The CurlAuthPlugin is deprecated. You should use the `auth` parameter of a client to add authorization headers to - every request created by a client. - - .. code-block:: php - - $client->setDefaultOption('auth', array('username', 'password', 'Basic|Digest|NTLM|Any')); - -If your web service client requires basic authorization, then you can use the CurlAuthPlugin to easily add an -Authorization header to each request sent by the client. - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Plugin\CurlAuth\CurlAuthPlugin; - - $client = new Client('http://www.test.com/'); - - // Add the auth plugin to the client object - $authPlugin = new CurlAuthPlugin('username', 'password'); - $client->addSubscriber($authPlugin); - - $response = $client->get('projects/1/people')->send(); - $xml = new SimpleXMLElement($response->getBody(true)); - foreach ($xml->person as $person) { - echo $person->email . "\n"; - } diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/history-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/history-plugin.rst deleted file mode 100644 index b96befe7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/history-plugin.rst +++ /dev/null @@ -1,24 +0,0 @@ -============== -History plugin -============== - -The history plugin tracks all of the requests and responses sent through a request or client. This plugin can be -useful for crawling or unit testing. By default, the history plugin stores up to 10 requests and responses. - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Plugin\History\HistoryPlugin; - - $client = new Client('http://www.test.com/'); - - // Add the history plugin to the client object - $history = new HistoryPlugin(); - $history->setLimit(5); - $client->addSubscriber($history); - - $client->get('http://www.yahoo.com/')->send(); - - echo $history->getLastRequest(); - echo $history->getLastResponse(); - echo count($history); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/log-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/log-plugin.rst deleted file mode 100644 index 3e2b2294..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/log-plugin.rst +++ /dev/null @@ -1,69 +0,0 @@ -========== -Log plugin -========== - -Use the ``Guzzle\Plugin\Log\LogPlugin`` to view all data sent over the wire, including entity bodies and redirects. - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Log\Zf1LogAdapter; - use Guzzle\Plugin\Log\LogPlugin; - use Guzzle\Log\MessageFormatter; - - $client = new Client('http://www.test.com/'); - - $adapter = new Zf1LogAdapter( - new \Zend_Log(new \Zend_Log_Writer_Stream('php://output')) - ); - $logPlugin = new LogPlugin($adapter, MessageFormatter::DEBUG_FORMAT); - - // Attach the plugin to the client, which will in turn be attached to all - // requests generated by the client - $client->addSubscriber($logPlugin); - - $response = $client->get('http://google.com')->send(); - -The code sample above wraps a ``Zend_Log`` object using a ``Guzzle\Log\Zf1LogAdapter``. After attaching the plugin to -the client, all data sent over the wire will be logged to stdout. - -The first argument of the LogPlugin's constructor accepts a ``Guzzle\Log\LogAdapterInterface`` object. This object is -an adapter that allows you to use the logging capabilities of your favorite log implementation. The second argument of -the constructor accepts a ``Guzzle\Log\MessageFormatter`` or a log messaged format string. The format string uses -variable substitution and allows you to define the log data that is important to your application. The different -variables that can be injected are as follows: - -================== ==================================================================================== -Variable Substitution -================== ==================================================================================== -{request} Full HTTP request message -{response} Full HTTP response message -{ts} Timestamp -{host} Host of the request -{method} Method of the request -{url} URL of the request -{host} Host of the request -{protocol} Request protocol -{version} Protocol version -{resource} Resource of the request (path + query + fragment) -{port} Port of the request -{hostname} Hostname of the machine that sent the request -{code} Status code of the response (if available) -{phrase} Reason phrase of the response (if available) -{curl_error} Curl error message (if available) -{curl_code} Curl error code (if available) -{curl_stderr} Curl standard error (if available) -{connect_time} Time in seconds it took to establish the connection (if available) -{total_time} Total transaction time in seconds for last transfer (if available) -{req_header_*} Replace `*` with the lowercased name of a request header to add to the message -{res_header_*} Replace `*` with the lowercased name of a response header to add to the message -{req_body} Request body -{res_body} Response body -================== ==================================================================================== - -The LogPlugin has a helper method that can be used when debugging that will output the full HTTP request and -response of a transaction: - -.. code-block:: php - - $client->addSubscriber(LogPlugin::getDebugPlugin()); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/md5-validator-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/md5-validator-plugin.rst deleted file mode 100644 index 1b1cfa8a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/md5-validator-plugin.rst +++ /dev/null @@ -1,29 +0,0 @@ -==================== -MD5 validator plugin -==================== - -Entity bodies can sometimes be modified over the wire due to a faulty TCP transport or misbehaving proxy. If an HTTP -response contains a Content-MD5 header, then a MD5 hash of the entity body of a response can be compared against the -Content-MD5 header of the response to determine if the response was delivered intact. The -``Guzzle\Plugin\Md5\Md5ValidatorPlugin`` will throw an ``UnexpectedValueException`` if the calculated MD5 hash does -not match the Content-MD5 header value: - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Plugin\Md5\Md5ValidatorPlugin; - - $client = new Client('http://www.test.com/'); - - $md5Plugin = new Md5ValidatorPlugin(); - - // Add the md5 plugin to the client object - $client->addSubscriber($md5Plugin); - - $request = $client->get('http://www.yahoo.com/'); - $request->send(); - -Calculating the MD5 hash of a large entity body or an entity body that was transferred using a Content-Encoding is an -expensive operation. When working in high performance applications, you might consider skipping the MD5 hash -validation for entity bodies bigger than a certain size or Content-Encoded entity bodies -(see ``Guzzle\Plugin\Md5\Md5ValidatorPlugin`` for more information). diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/mock-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/mock-plugin.rst deleted file mode 100644 index 4900cb56..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/mock-plugin.rst +++ /dev/null @@ -1,27 +0,0 @@ -=========== -Mock plugin -=========== - -The mock plugin is useful for testing Guzzle clients. The mock plugin allows you to queue an array of responses that -will satisfy requests sent from a client by consuming the request queue in FIFO order. - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Plugin\Mock\MockPlugin; - use Guzzle\Http\Message\Response; - - $client = new Client('http://www.test.com/'); - - $mock = new MockPlugin(); - $mock->addResponse(new Response(200)) - ->addResponse(new Response(404)); - - // Add the mock plugin to the client object - $client->addSubscriber($mock); - - // The following request will receive a 200 response from the plugin - $client->get('http://www.example.com/')->send(); - - // The following request will receive a 404 response from the plugin - $client->get('http://www.test.com/')->send(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/oauth-plugin.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/oauth-plugin.rst deleted file mode 100644 index e67eabaa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/oauth-plugin.rst +++ /dev/null @@ -1,30 +0,0 @@ -============ -OAuth plugin -============ - -Guzzle ships with an OAuth 1.0 plugin that can sign requests using a consumer key, consumer secret, OAuth token, -and OAuth secret. Here's an example showing how to send an authenticated request to the Twitter REST API: - -.. code-block:: php - - use Guzzle\Http\Client; - use Guzzle\Plugin\Oauth\OauthPlugin; - - $client = new Client('http://api.twitter.com/1'); - $oauth = new OauthPlugin(array( - 'consumer_key' => 'my_key', - 'consumer_secret' => 'my_secret', - 'token' => 'my_token', - 'token_secret' => 'my_token_secret' - )); - $client->addSubscriber($oauth); - - $response = $client->get('statuses/public_timeline.json')->send(); - -If you need to use a custom signing method, you can pass a ``signature_method`` configuration option in the -constructor of the OAuth plugin. The ``signature_method`` option must be a callable variable that accepts a string to -sign and signing key and returns a signed string. - -.. note:: - - You can omit the ``token`` and ``token_secret`` options to use two-legged OAuth. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/plugins-list.rst.inc b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/plugins-list.rst.inc deleted file mode 100644 index 8d6d09b4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/plugins-list.rst.inc +++ /dev/null @@ -1,9 +0,0 @@ -* :doc:`/plugins/async-plugin` -* :doc:`/plugins/backoff-plugin` -* :doc:`/plugins/cache-plugin` -* :doc:`/plugins/cookie-plugin` -* :doc:`/plugins/history-plugin` -* :doc:`/plugins/log-plugin` -* :doc:`/plugins/md5-validator-plugin` -* :doc:`/plugins/mock-plugin` -* :doc:`/plugins/oauth-plugin` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/plugins-overview.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/plugins-overview.rst deleted file mode 100644 index 19ae57ec..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/plugins/plugins-overview.rst +++ /dev/null @@ -1,59 +0,0 @@ -====================== -Plugin system overview -====================== - -The workflow of sending a request and parsing a response is driven by Guzzle's event system, which is powered by the -`Symfony2 Event Dispatcher component `_. - -Any object in Guzzle that emits events will implement the ``Guzzle\Common\HasEventDispatcher`` interface. You can add -event subscribers directly to these objects using the ``addSubscriber()`` method, or you can grab the -``Symfony\Component\EventDispatcher\EventDispatcher`` object owned by the object using ``getEventDispatcher()`` and -add a listener or event subscriber. - -Adding event subscribers to clients ------------------------------------ - -Any event subscriber or event listener attached to the EventDispatcher of a ``Guzzle\Http\Client`` or -``Guzzle\Service\Client`` object will automatically be attached to all request objects created by the client. This -allows you to attach, for example, a HistoryPlugin to a client object, and from that point on, every request sent -through that client will utilize the HistoryPlugin. - -.. code-block:: php - - use Guzzle\Plugin\History\HistoryPlugin; - use Guzzle\Service\Client; - - $client = new Client(); - - // Create a history plugin and attach it to the client - $history = new HistoryPlugin(); - $client->addSubscriber($history); - - // Create and send a request. This request will also utilize the HistoryPlugin - $client->get('http://httpbin.org')->send(); - - // Echo out the last sent request by the client - echo $history->getLastRequest(); - -.. tip:: - - :doc:`Create event subscribers `, or *plugins*, to implement reusable logic that can be - shared across clients. Event subscribers are also easier to test than anonymous functions. - -Pre-Built plugins ------------------ - -Guzzle provides easy to use request plugins that add behavior to requests based on signal slot event notifications -powered by the Symfony2 Event Dispatcher component. - -* :doc:`async-plugin` -* :doc:`backoff-plugin` -* :doc:`cache-plugin` -* :doc:`cookie-plugin` -* :doc:`curl-auth-plugin` -* :doc:`history-plugin` -* :doc:`log-plugin` -* :doc:`md5-validator-plugin` -* :doc:`mock-plugin` -* :doc:`oauth-plugin` - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/requirements.txt b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/requirements.txt deleted file mode 100644 index f62e3183..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -Sphinx>=1.2b1 -guzzle_sphinx_theme>=0.5.0 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/testing/unit-testing.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/testing/unit-testing.rst deleted file mode 100644 index f4297af3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/testing/unit-testing.rst +++ /dev/null @@ -1,201 +0,0 @@ -=========================== -Unit Testing Guzzle clients -=========================== - -Guzzle provides several tools that will enable you to easily unit test your web service clients. - -* PHPUnit integration -* Mock responses -* node.js web server for integration testing - -PHPUnit integration -------------------- - -Guzzle is unit tested using `PHPUnit `_. Your web service client's unit tests should extend -``Guzzle\Tests\GuzzleTestCase`` so that you can take advantage of some of the built in helpers. - -In order to unit test your client, a developer would need to copy phpunit.xml.dist to phpunit.xml and make any needed -modifications. As a best practice and security measure for you and your contributors, it is recommended to add an -ignore statement to your SCM so that phpunit.xml is ignored. - -Bootstrapping -~~~~~~~~~~~~~ - -Your web service client should have a tests/ folder that contains a bootstrap.php file. The bootstrap.php file -responsible for autoloading and configuring a ``Guzzle\Service\Builder\ServiceBuilder`` that is used throughout your -unit tests for loading a configured client. You can add custom parameters to your phpunit.xml file that expects users -to provide the path to their configuration data. - -.. code-block:: php - - Guzzle\Tests\GuzzleTestCase::setServiceBuilder(Aws\Common\Aws::factory($_SERVER['CONFIG'])); - - Guzzle\Tests\GuzzleTestCase::setServiceBuilder(Guzzle\Service\Builder\ServiceBuilder::factory(array( - 'test.unfuddle' => array( - 'class' => 'Guzzle.Unfuddle.UnfuddleClient', - 'params' => array( - 'username' => 'test_user', - 'password' => '****', - 'subdomain' => 'test' - ) - ) - ))); - -The above code registers a service builder that can be used throughout your unit tests. You would then be able to -retrieve an instantiated and configured Unfuddle client by calling ``$this->getServiceBuilder()->get('test.unfuddle)``. -The above code assumes that ``$_SERVER['CONFIG']`` contains the path to a file that stores service description -configuration. - -Unit testing remote APIs ------------------------- - -Mock responses -~~~~~~~~~~~~~~ - -One of the benefits of unit testing is the ability to quickly determine if there are errors in your code. If your -unit tests run slowly, then they become tedious and will likely be run less frequently. Guzzle's philosophy on unit -testing web service clients is that no network access should be required to run the unit tests. This means that -responses are served from mock responses or local servers. By adhering to this principle, tests will run much faster -and will not require an external resource to be available. The problem with this approach is that your mock responses -must first be gathered and then subsequently updated each time the remote API changes. - -Integration testing over the internet -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can perform integration testing with a web service over the internet by making calls directly to the service. If -the web service you are requesting uses a complex signing algorithm or some other specific implementation, then you -may want to include at least one actual network test that can be run specifically through the command line using -`PHPUnit group annotations `_. - -@group internet annotation -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -When creating tests that require an internet connection, it is recommended that you add ``@group internet`` annotations -to your unit tests to specify which tests require network connectivity. - -You can then `run PHPUnit tests `_ that exclude the @internet -group by running ``phpunit --exclude-group internet``. - -API credentials -^^^^^^^^^^^^^^^ - -If API credentials are required to run your integration tests, you must add ```` parameters to your -phpunit.xml.dist file and extract these parameters in your bootstrap.php file. - -.. code-block:: xml - - - - - - - - - - - - - ./Tests - - - - -You can then extract the ``server`` variables in your bootstrap.php file by grabbing them from the ``$_SERVER`` -superglobal: ``$apiUser = $_SERVER['API_USER'];`` - -Further reading -^^^^^^^^^^^^^^^ - -A good discussion on the topic of testing remote APIs can be found in Sebastian Bergmann's -`Real-World Solutions for Developing High-Quality PHP Frameworks and Applications `_. - -Queueing Mock responses ------------------------ - -Mock responses can be used to test if requests are being generated correctly and responses and handled correctly by -your client. Mock responses can be queued up for a client using the ``$this->setMockResponse($client, $path)`` method -of your test class. Pass the client you are adding mock responses to and a single path or array of paths to mock -response files relative to the ``/tests/mock/ folder``. This will queue one or more mock responses for your client by -creating a simple observer on the client. Mock response files must contain a full HTTP response message: - -.. code-block:: none - - HTTP/1.1 200 OK - Date: Wed, 25 Nov 2009 12:00:00 GMT - Connection: close - Server: AmazonS3 - Content-Type: application/xml - - - EU - -After queuing mock responses for a client, you can get an array of the requests that were sent by the client that -were issued a mock response by calling ``$this->getMockedRequests()``. - -You can also use the ``Guzzle\Plugin\Mock\MockPlugin`` object directly with your clients. - -.. code-block:: php - - $plugin = new Guzzle\Plugin\Mock\MockPlugin(); - $plugin->addResponse(new Guzzle\Http\Message\Response(200)); - $client = new Guzzle\Http\Client(); - $client->addSubscriber($plugin); - - // The following request will get the mock response from the plugin in FIFO order - $request = $client->get('http://www.test.com/'); - $request->send(); - - // The MockPlugin maintains a list of requests that were mocked - $this->assertContainsOnly($request, $plugin->getReceivedRequests()); - -node.js web server for integration testing ------------------------------------------- - -Using mock responses is usually enough when testing a web service client. If your client needs to add custom cURL -options to requests, then you should use the node.js test web server to ensure that your HTTP request message is -being created correctly. - -Guzzle is based around PHP's libcurl bindings. cURL sometimes modifies an HTTP request message based on -``CURLOPT_*`` options. Headers that are added to your request by cURL will not be accounted for if you inject mock -responses into your tests. Additionally, some request entity bodies cannot be loaded by the client before transmitting -it to the sever (for example, when using a client as a sort of proxy and streaming content from a remote server). You -might also need to inspect the entity body of a ``multipart/form-data`` POST request. - -.. note:: - - You can skip all of the tests that require the node.js test web server by excluding the ``server`` group: - ``phpunit --exclude-group server`` - -Using the test server -~~~~~~~~~~~~~~~~~~~~~ - -The node.js test server receives requests and returns queued responses. The test server exposes a simple API that is -used to enqueue responses and inspect the requests that it has received. - -Retrieve the server object by calling ``$this->getServer()``. If the node.js server is not running, it will be -started as a forked process and an object that interfaces with the server will be returned. (note: stopping the -server is handled internally by Guzzle.) - -You can queue an HTTP response or an array of responses by calling ``$this->getServer()->enqueue()``: - -.. code-block:: php - - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - -The above code queues a single 200 response with an empty body. Responses are queued using a FIFO order; this -response will be returned by the server when it receives the first request and then removed from the queue. If a -request is received by a server with no queued responses, an exception will be thrown in your unit test. - -You can inspect the requests that the server has retrieved by calling ``$this->getServer()->getReceivedRequests()``. -This method accepts an optional ``$hydrate`` parameter that specifies if you are retrieving an array of string HTTP -requests or an array of ``Guzzle\Http\RequestInterface`` subclassed objects. "Hydrating" the requests will allow -greater flexibility in your unit tests so that you can easily assert the state of the various parts of a request. - -You will need to modify the base_url of your web service client in order to use it against the test server. - -.. code-block:: php - - $client = $this->getServiceBuilder()->get('my_client'); - $client->setBaseUrl($this->getServer()->getUrl()); - -After running the above code, all calls made from the ``$client`` object will be sent to the test web server. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/guzzle-service-descriptions.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/guzzle-service-descriptions.rst deleted file mode 100644 index ad6070b2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/guzzle-service-descriptions.rst +++ /dev/null @@ -1,619 +0,0 @@ -=========================== -Guzzle service descriptions -=========================== - -Guzzle allows you to serialize HTTP requests and parse HTTP responses using a DSL called a service descriptions. -Service descriptions define web service APIs by documenting each operation, the operation's parameters, validation -options for each parameter, an operation's response, how the response is parsed, and any errors that can be raised for -an operation. Writing a service description for a web service allows you to more quickly consume a web service than -writing concrete commands for each web service operation. - -Guzzle service descriptions can be representing using a PHP array or JSON document. Guzzle's service descriptions are -heavily inspired by `Swagger `_. - -Service description schema -========================== - -A Guzzle Service description must match the following JSON schema document. This document can also serve as a guide when -implementing a Guzzle service description. - -Download the schema here: :download:`Guzzle JSON schema document ` - -.. class:: overflow-height-500px - - .. literalinclude:: ../_downloads/guzzle-schema-1.0.json - :language: json - -Top-level attributes --------------------- - -Service descriptions are comprised of the following top-level attributes: - -.. code-block:: json - - { - "name": "string", - "apiVersion": "string|number", - "baseUrl": "string", - "description": "string", - "operations": {}, - "models": {}, - "includes": ["string.php", "string.json"] - } - -+-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+ -| Property Name | Value | Description | -+=========================================+=========================+=======================================================================================================================+ -| name | string | Name of the web service | -+-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+ -| apiVersion | string|number | Version identifier that the service description is compatible with | -+-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+ -| baseUrl or basePath | string | Base URL of the web service. Any relative URI specified in an operation will be merged with the baseUrl using the | -| | | process defined in RFC 2396. Some clients require custom logic to determine the baseUrl. In those cases, it is best | -| | | to not include a baseUrl in the service description, but rather allow the factory method of the client to configure | -| | | the client’s baseUrl. | -+-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+ -| description | string | Short summary of the web service | -+-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+ -| operations | object containing | Operations of the service. The key is the name of the operation and value is the attributes of the operation. | -| | :ref:`operation-schema` | | -| | | | -+-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+ -| models | object containing | Schema models that can be referenced throughout the service description. Models can be used to define how an HTTP | -| | :ref:`model-schema` | response is parsed into a ``Guzzle\Service\Resource\Model`` object when an operation uses a ``model`` ``responseType``| -+-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+ -| includes | array of .js, | Service description files to include and extend from (can be a .json, .js, or .php file) | -| | .json, or .php | | -| | files. | | -+-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+ -| (any additional properties) | mixed | Any additional properties specified as top-level attributes are allowed and will be treated as arbitrary data | -+-----------------------------------------+-------------------------+-----------------------------------------------------------------------------------------------------------------------+ - -.. _operation-schema: - -Operations ----------- - -Operations are the actions that can be taken on a service. Each operation is given a unique name and has a distinct -endpoint and HTTP method. If an API has a ``DELETE /users/:id`` operation, a satisfactory operation name might be -``DeleteUser`` with a parameter of ``id`` that is inserted into the URI. - -.. class:: overflow-height-250px - - .. code-block:: json - - { - "operations": { - "operationName": { - "extends": "string", - "httpMethod": "GET|POST|PUT|DELETE|PATCH|string", - "uri": "string", - "summary": "string", - "class": "string", - "responseClass": "string", - "responseNotes": "string", - "type": "string", - "description": "string", - "responseType": "primitive|class|(model by name)|documentation|(string)", - "deprecated": false, - "errorResponses": [ - { - "code": 500, - "reason": "Unexpected Error", - "class": "string" - } - ], - "data": { - "foo": "bar", - "baz": "bam" - }, - "parameters": {} - } - } - } - -.. csv-table:: - :header: "Property Name", "Value", "Description" - :widths: 20, 15, 65 - - "extends", "string", "Extend from another operation by name. The parent operation must be defined before the child." - "httpMethod", "string", "HTTP method used with the operation (e.g. GET, POST, PUT, DELETE, PATCH, etc)" - "uri", "string", "URI of the operation. The uri attribute can contain URI templates. The variables of the URI template are parameters of the operation with a location value of uri" - "summary", "string", "Short summary of what the operation does" - "class", "string", "Custom class to instantiate instead of the default Guzzle\\Service\\Command\\OperationCommand. Using this attribute allows you to define an operation using a service description, but allows more customized logic to be implemented in user-land code." - "responseClass", "string", "Defined what is returned from the method. Can be a primitive, class name, or model name. You can specify the name of a class to return a more customized result from the operation (for example, a domain model object). When using the name of a PHP class, the class must implement ``Guzzle\Service\Command\ResponseClassInterface``." - "responseNotes", "string", "A description of the response returned by the operation" - "responseType", "string", "The type of response that the operation creates: one of primitive, class, model, or documentation. If not specified, this value will be automatically inferred based on whether or not there is a model matching the name, if a matching class name is found, or set to 'primitive' by default." - "deprecated", "boolean", "Whether or not the operation is deprecated" - "errorResponses", "array", "Errors that could occur while executing the operation. Each item of the array is an object that can contain a 'code' (HTTP response status code of the error), 'reason' (reason phrase or description of the error), and 'class' (an exception class that will be raised when this error is encountered)" - "data", "object", "Any arbitrary data to associate with the operation" - "parameters", "object containing :ref:`parameter-schema` objects", "Parameters of the operation. Parameters are used to define how input data is serialized into a HTTP request." - "additionalParameters", "A single :ref:`parameter-schema` object", "Validation and serialization rules for any parameter supplied to the operation that was not explicitly defined." - -additionalParameters -~~~~~~~~~~~~~~~~~~~~ - -When a webservice offers a large number of parameters that all are set in the same location (for example the query -string or a JSON document), defining each parameter individually can require a lot of time and repetition. Furthermore, -some web services allow for completely arbitrary parameters to be supplied for an operation. The -``additionalParameters`` attribute can be used to solve both of these issues. - -As an example, we can define a Twitter API operation quite easily using ``additionalParameters``. The -GetMentions operation accepts a large number of query string parameters. Defining each of these parameters -is ideal because it provide much more introspection for the client and opens the possibility to use the description with -other tools (e.g. a documentation generator). However, you can very quickly provide a "catch-all" serialization rule -that will place any custom parameters supplied to an operation the generated request's query string parameters. - -.. class:: overflow-height-250px - - .. code-block:: json - - { - "name": "Twitter", - "apiVersion": "1.1", - "baseUrl": "https://api.twitter.com/1.1", - "operations": { - "GetMentions": { - "httpMethod": "GET", - "uri": "statuses/mentions_timeline.json", - "responseClass": "GetMentionsOutput", - "additionalParameters": { - "location": "query" - } - } - }, - "models": { - "GetMentionsOutput": { - "type": "object", - "additionalProperties": { - "location": "json" - } - } - } - } - -responseClass -~~~~~~~~~~~~~ - -The ``responseClass`` attribute is used to define the return value of an operation (what is returned by calling the -``getResult()`` method of a command object). The value set in the responseClass attribute can be one of "primitive" -(meaning the result with be primitive type like a string), a class name meaning the result will be an instance of a -specific user-land class, or a model name meaning the result will be a ``Guzzle\Service\Resource\Model`` object that -uses a :ref:`model schema ` to define how the HTTP response is parsed. - -.. note:: - - Using a class name with a ``responseClass`` will only work if it is supported by the ``class`` that is instantiated - for the operation. Keep this in mind when specifying a custom ``class`` attribute that points to a custom - ``Guzzle\Service\Command\CommandInterface`` class. The default ``class``, - ``Guzzle\Service\Command\OperationCommand``, does support setting custom ``class`` attributes. - -You can specify the name of a class to return a more customized result from the operation (for example, a domain model -object). When using the name of a PHP class, the class must implement ``Guzzle\Service\Command\ResponseClassInterface``. -Here's a very simple example of implementing a custom responseClass object. - -.. code-block:: json - - { - "operations": { - "test": { - "responseClass": "MyApplication\\User" - } - } - } - -.. code-block:: php - - namespace MyApplication; - - use Guzzle\Service\Command\ResponseClassInterface; - use Guzzle\Service\Command\OperationCommand; - - class User implements ResponseClassInterface - { - protected $name; - - public static function fromCommand(OperationCommand $command) - { - $response = $command->getResponse(); - $xml = $response->xml(); - - return new self((string) $xml->name); - } - - public function __construct($name) - { - $this->name = $name; - } - } - -errorResponses -~~~~~~~~~~~~~~ - -``errorResponses`` is an array containing objects that define the errors that could occur while executing the -operation. Each item of the array is an object that can contain a 'code' (HTTP response status code of the error), -'reason' (reason phrase or description of the error), and 'class' (an exception class that will be raised when this -error is encountered). - -ErrorResponsePlugin -^^^^^^^^^^^^^^^^^^^ - -Error responses are by default only used for documentation. If you don't need very complex exception logic for your web -service errors, then you can use the ``Guzzle\Plugin\ErrorResponse\ErrorResponsePlugin`` to automatically throw defined -exceptions when one of the ``errorResponse`` rules are matched. The error response plugin will listen for the -``request.complete`` event of a request created by a command object. Every response (including a successful response) is -checked against the list of error responses for an exact match using the following order of checks: - -1. Does the errorResponse have a defined ``class``? -2. Is the errorResponse ``code`` equal to the status code of the response? -3. Is the errorResponse ``reason`` equal to the reason phrase of the response? -4. Throw the exception stored in the ``class`` attribute of the errorResponse. - -The ``class`` attribute must point to a class that implements -``Guzzle\Plugin\ErrorResponse\ErrorResponseExceptionInterface``. This interface requires that an error response class -implements ``public static function fromCommand(CommandInterface $command, Response $response)``. This method must -return an object that extends from ``\Exception``. After an exception is returned, it is thrown by the plugin. - -.. _parameter-schema: - -Parameter schema ----------------- - -Parameters in both operations and models are represented using the -`JSON schema `_ syntax. - -.. csv-table:: - :header: "Property Name", "Value", "Description" - :widths: 20, 15, 65 - - "name", "string", "Unique name of the parameter" - "type", "string|array", "Type of variable (string, number, integer, boolean, object, array, numeric, null, any). Types are using for validation and determining the structure of a parameter. You can use a union type by providing an array of simple types. If one of the union types matches the provided value, then the value is valid." - "instanceOf", "string", "When the type is an object, you can specify the class that the object must implement" - "required", "boolean", "Whether or not the parameter is required" - "default", "mixed", "Default value to use if no value is supplied" - "static", "boolean", "Set to true to specify that the parameter value cannot be changed from the default setting" - "description", "string", "Documentation of the parameter" - "location", "string", "The location of a request used to apply a parameter. Custom locations can be registered with a command, but the defaults are uri, query, statusCode, reasonPhrase, header, body, json, xml, postField, postFile, responseBody" - "sentAs", "string", "Specifies how the data being modeled is sent over the wire. For example, you may wish to include certain headers in a response model that have a normalized casing of FooBar, but the actual header is x-foo-bar. In this case, sentAs would be set to x-foo-bar." - "filters", "array", "Array of functions to to run a parameter value through." - -filters -~~~~~~~ - -Each value in the array must be a string containing the full class path to a static method or an array of complex -filter information. You can specify static methods of classes using the full namespace class name followed by -"::" (e.g. ``FooBar::baz()``). Some filters require arguments in order to properly filter a value. For complex filters, -use an object containing a ``method`` attribute pointing to a function, and an ``args`` attribute containing an -array of positional arguments to pass to the function. Arguments can contain keywords that are replaced when filtering -a value: ``@value`` is replaced with the value being filtered, and ``@api`` is replaced with the actual Parameter -object. - -.. code-block:: json - - { - "filters": [ - "strtolower", - { - "method": "MyClass::convertString", - "args": [ "test", "@value", "@api" ] - } - ] - } - -The above example will filter a parameter using ``strtolower``. It will then call the ``convertString`` static method -of ``MyClass``, passing in "test", the actual value of the parameter, and a ``Guzzle\Service\Description\Parameter`` -object. - -Operation parameter location attributes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The location field of top-level parameters control how a parameter is serialized when generating a request. - -uri location -^^^^^^^^^^^^ - -Parameters are injected into the ``uri`` attribute of the operation using -`URI-template expansion `_. - -.. code-block:: json - - { - "operations": { - "uriTest": { - "uri": "/test/{testValue}", - "parameters": { - "testValue": { - "location": "uri" - } - } - } - } - } - -query location -^^^^^^^^^^^^^^ - -Parameters are injected into the query string of a request. Query values can be nested, which would result in a PHP -style nested query string. The name of a parameter is the default name of the query string parameter added to the -request. You can override this behavior by specifying the ``sentAs`` attribute on the parameter. - -.. code-block:: json - - { - "operations": { - "queryTest": { - "parameters": { - "testValue": { - "location": "query", - "sentAs": "test_value" - } - } - } - } - } - -header location -^^^^^^^^^^^^^^^ - -Parameters are injected as headers on an HTTP request. The name of the parameter is used as the name of the header by -default. You can change the name of the header created by the parameter using the ``sentAs`` attribute. - -Headers that are of type ``object`` will be added as multiple headers to a request using the key of the input array as -the header key. Setting a ``sentAs`` attribute along with a type ``object`` will use the value of ``sentAs`` as a -prefix for each header key. - -body location -^^^^^^^^^^^^^ - -Parameters are injected as the body of a request. The input of these parameters may be anything that can be cast to a -string or a ``Guzzle\Http\EntityBodyInterface`` object. - -postField location -^^^^^^^^^^^^^^^^^^ - -Parameters are inserted as POST fields in a request. Nested values may be supplied and will be represented using -PHP style nested query strings. The POST field name is the same as the parameter name by default. You can use the -``sentAs`` parameter to override the POST field name. - -postFile location -^^^^^^^^^^^^^^^^^ - -Parameters are added as POST files. A postFile value may be a string pointing to a local filename or a -``Guzzle\Http\Message\PostFileInterface`` object. The name of the POST file will be the name of the parameter by -default. You can use a custom POST file name by using the ``sentAs`` attribute. - -Supports "string" and "array" types. - -json location -^^^^^^^^^^^^^ - -Parameters are added to the body of a request as top level keys of a JSON document. Nested values may be specified, -with any number of nested ``Guzzle\Common\ToArrayInterface`` objects. When JSON parameters are specified, the -``Content-Type`` of the request will change to ``application/json`` if a ``Content-Type`` has not already been specified -on the request. - -xml location -^^^^^^^^^^^^ - -Parameters are added to the body of a request as top level nodes of an XML document. Nested values may be specified, -with any number of nested ``Guzzle\Common\ToArrayInterface`` objects. When XML parameters are specified, the -``Content-Type`` of the request will change to ``application/xml`` if a ``Content-Type`` has not already been specified -on the request. - -responseBody location -^^^^^^^^^^^^^^^^^^^^^ - -Specifies the EntityBody of a response. This can be used to download the response body to a file or a custom Guzzle -EntityBody object. - -No location -^^^^^^^^^^^ - -If a parameter has no location attribute, then the parameter is simply used as a data value. - -Other locations -^^^^^^^^^^^^^^^ - -Custom locations can be registered as new locations or override default locations if needed. - -.. _model-schema: - -Model Schema ------------- - -Models are used in service descriptions to provide generic JSON schema definitions that can be extended from or used in -``$ref`` attributes. Models can also be referenced in a ``responseClass`` attribute to provide valuable output to an -operation. Models are JSON schema documents and use the exact syntax and attributes used in parameters. - -Response Models -~~~~~~~~~~~~~~~ - -Response models describe how a response is parsed into a ``Guzzle\Service\Resource\Model`` object. Response models are -always modeled as JSON schema objects. When an HTTP response is parsed using a response model, the rules specified on -each property of a response model will translate 1:1 as keys in a PHP associative array. When a ``sentAs`` attribute is -found in response model parameters, the value retrieved from the HTTP response is retrieved using the ``sentAs`` -parameter but stored in the response model using the name of the parameter. - -The location field of top-level parameters in a response model tell response parsers how data is retrieved from a -response. - -statusCode location -^^^^^^^^^^^^^^^^^^^ - -Retrieves the status code of the response. - -reasonPhrase location -^^^^^^^^^^^^^^^^^^^^^ - -Retrieves the reason phrase of the response. - -header location -^^^^^^^^^^^^^^^ - -Retrieves a header from the HTTP response. - -body location -^^^^^^^^^^^^^ - -Retrieves the body of an HTTP response. - -json location -^^^^^^^^^^^^^ - -Retrieves a top-level parameter from a JSON document contained in an HTTP response. - -You can use ``additionalProperties`` if the JSON document is wrapped in an outer array. This allows you to parse the -contents of each item in the array using the parsing rules defined in the ``additionalProperties`` schema. - -xml location -^^^^^^^^^^^^ - -Retrieves a top-level node value from an XML document contained in an HTTP response. - -Other locations -^^^^^^^^^^^^^^^ - -Custom locations can be registered as new locations or override default locations if needed. - -Example service description ---------------------------- - -Let's say you're interacting with a web service called 'Foo' that allows for the following routes and methods:: - - GET/POST /users - GET/DELETE /users/:id - -The following JSON service description implements this simple web service: - -.. class:: overflow-height-500px - - .. code-block:: json - - { - "name": "Foo", - "apiVersion": "2012-10-14", - "baseUrl": "http://api.foo.com", - "description": "Foo is an API that allows you to Baz Bar", - "operations": { - "GetUsers": { - "httpMethod": "GET", - "uri": "/users", - "summary": "Gets a list of users", - "responseClass": "GetUsersOutput" - }, - "CreateUser": { - "httpMethod": "POST", - "uri": "/users", - "summary": "Creates a new user", - "responseClass": "CreateUserOutput", - "parameters": { - "name": { - "location": "json", - "type": "string" - }, - "age": { - "location": "json", - "type": "integer" - } - } - }, - "GetUser": { - "httpMethod": "GET", - "uri": "/users/{id}", - "summary": "Retrieves a single user", - "responseClass": "GetUserOutput", - "parameters": { - "id": { - "location": "uri", - "description": "User to retrieve by ID", - "required": true - } - } - }, - "DeleteUser": { - "httpMethod": "DELETE", - "uri": "/users/{id}", - "summary": "Deletes a user", - "responseClass": "DeleteUserOutput", - "parameters": { - "id": { - "location": "uri", - "description": "User to delete by ID", - "required": true - } - } - } - }, - "models": { - "GetUsersOutput": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "location": "json", - "type": "string" - }, - "age": { - "location": "json", - "type": "integer" - } - } - } - }, - "CreateUserOutput": { - "type": "object", - "properties": { - "id": { - "location": "json", - "type": "string" - }, - "location": { - "location": "header", - "sentAs": "Location", - "type": "string" - } - } - }, - "GetUserOutput": { - "type": "object", - "properties": { - "name": { - "location": "json", - "type": "string" - }, - "age": { - "location": "json", - "type": "integer" - } - } - }, - "DeleteUserOutput": { - "type": "object", - "properties": { - "status": { - "location": "statusCode", - "type": "integer" - } - } - } - } - } - -If you attach this service description to a client, you would completely configure the client to interact with the -Foo web service and provide valuable response models for each operation. - -.. code-block:: php - - use Guzzle\Service\Description\ServiceDescription; - - $description = ServiceDescription::factory('/path/to/client.json'); - $client->setDescription($description); - - $command = $client->getCommand('DeleteUser', array('id' => 123)); - $responseModel = $client->execute($command); - echo $responseModel['status']; - -.. note:: - - You can add the service description to your client's factory method or constructor. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/using-the-service-builder.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/using-the-service-builder.rst deleted file mode 100644 index b7113d68..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/using-the-service-builder.rst +++ /dev/null @@ -1,316 +0,0 @@ -======================= -Using a service builder -======================= - -The best way to instantiate Guzzle web service clients is to let Guzzle handle building the clients for you using a -ServiceBuilder. A ServiceBuilder is responsible for creating concrete client objects based on configuration settings -and helps to manage credentials for different environments. - -You don't have to use a service builder, but they help to decouple your application from concrete classes and help to -share configuration data across multiple clients. Consider the following example. Here we are creating two clients that -require the same API public key and secret key. The clients are created using their ``factory()`` methods. - -.. code-block:: php - - use MyService\FooClient; - use MyService\BarClient; - - $foo = FooClient::factory(array( - 'key' => 'abc', - 'secret' => '123', - 'custom' => 'and above all' - )); - - $bar = BarClient::factory(array( - 'key' => 'abc', - 'secret' => '123', - 'custom' => 'listen to me' - )); - -The redundant specification of the API keys can be removed using a service builder. - -.. code-block:: php - - use Guzzle\Service\Builder\ServiceBuilder; - - $builder = ServiceBuilder::factory(array( - 'services' => array( - 'abstract_client' => array( - 'params' => array( - 'key' => 'abc', - 'secret' => '123' - ) - ), - 'foo' => array( - 'extends' => 'abstract_client', - 'class' => 'MyService\FooClient', - 'params' => array( - 'custom' => 'and above all' - ) - ), - 'bar' => array( - 'extends' => 'abstract_client', - 'class' => 'MyService\FooClient', - 'params' => array( - 'custom' => 'listen to me' - ) - ) - ) - )); - - $foo = $builder->get('foo'); - $bar = $builder->get('bar'); - -You can make managing your API keys even easier by saving the service builder configuration in a JSON format in a -.json file. - -Creating a service builder --------------------------- - -A ServiceBuilder can source information from an array, an PHP include file that returns an array, or a JSON file. - -.. code-block:: php - - use Guzzle\Service\Builder\ServiceBuilder; - - // Source service definitions from a JSON file - $builder = ServiceBuilder::factory('services.json'); - -Sourcing data from an array -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Data can be source from a PHP array. The array must contain an associative ``services`` array that maps the name of a -client to the configuration information used by the service builder to create the client. Clients are given names -which are used to identify how a client is retrieved from a service builder. This can be useful for using multiple -accounts for the same service or creating development clients vs. production clients. - -.. code-block:: php - - $services = array( - 'includes' => array( - '/path/to/other/services.json', - '/path/to/other/php_services.php' - ), - 'services' => array( - 'abstract.foo' => array( - 'params' => array( - 'username' => 'foo', - 'password' => 'bar' - ) - ), - 'bar' => array( - 'extends' => 'abstract.foo', - 'class' => 'MyClientClass', - 'params' => array( - 'other' => 'abc' - ) - ) - ) - ); - -A service builder configuration array contains two top-level array keys: - -+------------+---------------------------------------------------------------------------------------------------------+ -| Key | Description | -+============+=========================================================================================================+ -| includes | Array of paths to JSON or PHP include files to include in the configuration. | -+------------+---------------------------------------------------------------------------------------------------------+ -| services | Associative array of defined services that can be created by the service builder. Each service can | -| | contain the following keys: | -| | | -| | +------------+----------------------------------------------------------------------------------------+ | -| | | Key | Description | | -| | +============+========================================================================================+ | -| | | class | The concrete class to instantiate that implements the | | -| | | | ``Guzzle\Common\FromConfigInterface``. | | -| | +------------+----------------------------------------------------------------------------------------+ | -| | | extends | The name of a previously defined service to extend from | | -| | +------------+----------------------------------------------------------------------------------------+ | -| | | params | Associative array of parameters to pass to the factory method of the service it is | | -| | | | instantiated | | -| | +------------+----------------------------------------------------------------------------------------+ | -| | | alias | An alias that can be used in addition to the array key for retrieving a client from | | -| | | | the service builder. | | -| | +------------+----------------------------------------------------------------------------------------+ | -+------------+---------------------------------------------------------------------------------------------------------+ - -The first client defined, ``abstract.foo``, is used as a placeholder of shared configuration values. Any service -extending abstract.foo will inherit its params. As an example, this can be useful when clients share the same username -and password. - -The next client, ``bar``, extends from ``abstract.foo`` using the ``extends`` attribute referencing the client from -which to extend. Additional parameters can be merged into the original service definition when extending a parent -service. - -.. important:: - - Each client that you intend to instantiate must specify a ``class`` attribute that references the full class name - of the client being created. The class referenced in the ``class`` parameter must implement a static ``factory()`` - method that accepts an array or ``Guzzle\Common\Collection`` object and returns an instantiated object. - -Sourcing from a PHP include -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can create service builder configurations using a PHP include file. This can be useful if you wish to take -advantage of an opcode cache like APC to speed up the process of loading and processing the configuration. The PHP -include file is the same format as an array, but you simply create a PHP script that returns an array and save the -file with the .php file extension. - -.. code-block:: php - - '...'); - // Saved as config.php - -This configuration file can then be used with a service builder. - -.. code-block:: php - - $builder = ServiceBuilder::factory('/path/to/config.php'); - -Sourcing from a JSON document -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can use JSON documents to serialize your service descriptions. The JSON format uses the exact same structure as -the PHP array syntax, but it's just serialized using JSON. - -.. code-block:: javascript - - { - "includes": ["/path/to/other/services.json", "/path/to/other/php_services.php"], - "services": { - "abstract.foo": { - "params": { - "username": "foo", - "password": "bar" - } - }, - "bar": { - "extends": "abstract.foo", - "class": "MyClientClass", - "params": { - "other": "abc" - } - } - } - } - -Referencing other clients in parameters -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If one of your clients depends on another client as one of its parameters, you can reference that client by name by -enclosing the client's reference key in ``{}``. - -.. code-block:: javascript - - { - "services": { - "token": { - "class": "My\Token\TokenFactory", - "params": { - "access_key": "xyz" - } - }, - "client": { - "class": "My\Client", - "params": { - "token_client": "{token}", - "version": "1.0" - } - } - } - } - -When ``client`` is constructed by the service builder, the service builder will first create the ``token`` service -and then inject the token service into ``client``'s factory method in the ``token_client`` parameter. - -Retrieving clients from a service builder ------------------------------------------ - -Clients are referenced using a customizable name you provide in your service definition. The ServiceBuilder is a sort -of multiton object-- it will only instantiate a client once and return that client for subsequent retrievals. Clients -are retrieved by name (the array key used in the configuration) or by the ``alias`` setting of a service. - -Here's an example of retrieving a client from your ServiceBuilder: - -.. code-block:: php - - $client = $builder->get('foo'); - - // You can also use the ServiceBuilder object as an array - $client = $builder['foo']; - -Creating throwaway clients -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can get a "throwaway" client (a client that is not persisted by the ServiceBuilder) by passing ``true`` in the -second argument of ``ServiceBuilder::get()``. This allows you to create a client that will not be returned by other -parts of your code that use the service builder. Instead of passing ``true``, you can pass an array of configuration -settings that will override the configuration settings specified in the service builder. - -.. code-block:: php - - // Get a throwaway client and overwrite the "custom" setting of the client - $foo = $builder->get('foo', array( - 'custom' => 'in this world there are rules' - )); - -Getting raw configuration settings -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can get the raw configuration settings provided to the service builder for a specific service using the -``getData($name)`` method of a service builder. This method will null if the service was not found in the service -builder or an array of configuration settings if the service was found. - -.. code-block:: php - - $data = $builder->getData('foo'); - echo $data['key'] . "\n"; - echo $data['secret'] . "\n"; - echo $data['custom'] . "\n"; - -Adding a plugin to all clients ------------------------------- - -You can add a plugin to all clients created by a service builder using the ``addGlobalPlugin($plugin)`` method of a -service builder and passing a ``Symfony\Component\EventDispatcher\EventSubscriberInterface`` object. The service builder -will then attach each global plugin to every client as it is created. This allows you to, for example, add a LogPlugin -to every request created by a service builder for easy debugging. - -.. code-block:: php - - use Guzzle\Plugin\Log\LogPlugin; - - // Add a debug log plugin to every client as it is created - $builder->addGlobalPlugin(LogPlugin::getDebugPlugin()); - - $foo = $builder->get('foo'); - $foo->get('/')->send(); - // Should output all of the data sent over the wire - -.. _service-builder-events: - -Events emitted from a service builder -------------------------------------- - -A ``Guzzle\Service\Builder\ServiceBuilder`` object emits the following events: - -+-------------------------------+--------------------------------------------+-----------------------------------------+ -| Event name | Description | Event data | -+===============================+============================================+=========================================+ -| service_builder.create_client | Called when a client is created | * client: The created client object | -+-------------------------------+--------------------------------------------+-----------------------------------------+ - -.. code-block:: php - - use Guzzle\Common\Event; - use Guzzle\Service\Builder\ServiceBuilder; - - $builder = ServiceBuilder::factory('/path/to/config.json'); - - // Add an event listener to print out each client client as it is created - $builder->getEventDispatcher()->addListener('service_builder.create_client', function (Event $e) { - echo 'Client created: ' . get_class($e['client']) . "\n"; - }); - - $foo = $builder->get('foo'); - // Should output the class used for the "foo" client diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/webservice-client.rst b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/webservice-client.rst deleted file mode 100644 index 7ec771e1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/docs/webservice-client/webservice-client.rst +++ /dev/null @@ -1,659 +0,0 @@ -====================== -The web service client -====================== - -The ``Guzzle\Service`` namespace contains various abstractions that help to make it easier to interact with a web -service API, including commands, service descriptions, and resource iterators. - -In this chapter, we'll build a simple `Twitter API client `_. - -Creating a client -================= - -A class that extends from ``Guzzle\Service\Client`` or implements ``Guzzle\Service\ClientInterface`` must implement a -``factory()`` method in order to be used with a :doc:`service builder `. - -Factory method --------------- - -You can use the ``factory()`` method of a client directly if you do not need a service builder. - -.. code-block:: php - - use mtdowling\TwitterClient; - - // Create a client and pass an array of configuration data - $twitter = TwitterClient::factory(array( - 'consumer_key' => '****', - 'consumer_secret' => '****', - 'token' => '****', - 'token_secret' => '****' - )); - -.. note:: - - If you'd like to follow along, here's how to get your Twitter API credentials: - - 1. Visit https://dev.twitter.com/apps - 2. Click on an application that you've created - 3. Click on the "OAuth tool" tab - 4. Copy all of the settings under "OAuth Settings" - -Implementing a factory method ------------------------------ - -Creating a client and its factory method is pretty simple. You just need to implement ``Guzzle\Service\ClientInterface`` -or extend from ``Guzzle\Service\Client``. - -.. code-block:: php - - namespace mtdowling; - - use Guzzle\Common\Collection; - use Guzzle\Plugin\Oauth\OauthPlugin; - use Guzzle\Service\Client; - use Guzzle\Service\Description\ServiceDescription; - - /** - * A simple Twitter API client - */ - class TwitterClient extends Client - { - public static function factory($config = array()) - { - // Provide a hash of default client configuration options - $default = array('base_url' => 'https://api.twitter.com/1.1'); - - // The following values are required when creating the client - $required = array( - 'base_url', - 'consumer_key', - 'consumer_secret', - 'token', - 'token_secret' - ); - - // Merge in default settings and validate the config - $config = Collection::fromConfig($config, $default, $required); - - // Create a new Twitter client - $client = new self($config->get('base_url'), $config); - - // Ensure that the OauthPlugin is attached to the client - $client->addSubscriber(new OauthPlugin($config->toArray())); - - return $client; - } - } - -Service Builder ---------------- - -A service builder is used to easily create web service clients, provides a simple configuration driven approach to -creating clients, and allows you to share configuration settings across multiple clients. You can find out more about -Guzzle's service builder in :doc:`using-the-service-builder`. - -.. code-block:: php - - use Guzzle\Service\Builder\ServiceBuilder; - - // Create a service builder and provide client configuration data - $builder = ServiceBuilder::factory('/path/to/client_config.json'); - - // Get the client from the service builder by name - $twitter = $builder->get('twitter'); - -The above example assumes you have JSON data similar to the following stored in "/path/to/client_config.json": - -.. code-block:: json - - { - "services": { - "twitter": { - "class": "mtdowling\\TwitterClient", - "params": { - "consumer_key": "****", - "consumer_secret": "****", - "token": "****", - "token_secret": "****" - } - } - } - } - -.. note:: - - A service builder becomes much more valuable when using multiple web service clients in a single application or - if you need to utilize the same client with varying configuration settings (e.g. multiple accounts). - -Commands -======== - -Commands are a concept in Guzzle that helps to hide the underlying implementation of an API by providing an easy to use -parameter driven object for each action of an API. A command is responsible for accepting an array of configuration -parameters, serializing an HTTP request, and parsing an HTTP response. Following the -`command pattern `_, commands in Guzzle offer a greater level of -flexibility when implementing and utilizing a web service client. - -Executing commands ------------------- - -You must explicitly execute a command after creating a command using the ``getCommand()`` method. A command has an -``execute()`` method that may be called, or you can use the ``execute()`` method of a client object and pass in the -command object. Calling either of these execute methods will return the result value of the command. The result value is -the result of parsing the HTTP response with the ``process()`` method. - -.. code-block:: php - - // Get a command from the client and pass an array of parameters - $command = $twitter->getCommand('getMentions', array( - 'count' => 5 - )); - - // Other parameters can be set on the command after it is created - $command['trim_user'] = false; - - // Execute the command using the command object. - // The result value contains an array of JSON data from the response - $result = $command->execute(); - - // You can retrieve the result of the command later too - $result = $command->getResult(). - -Command object also contains methods that allow you to inspect the HTTP request and response that was utilized with -the command. - -.. code-block:: php - - $request = $command->getRequest(); - $response = $command->getResponse(); - -.. note:: - - The format and notation used to retrieve commands from a client can be customized by injecting a custom command - factory, ``Guzzle\Service\Command\Factory\FactoryInterface``, on the client using ``$client->setCommandFactory()``. - -Executing with magic methods -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -When using method missing magic methods with a command, the command will be executed right away and the result of the -command is returned. - -.. code-block:: php - - $jsonData = $twitter->getMentions(array( - 'count' => 5, - 'trim_user' => true - )); - -Creating commands ------------------ - -Commands are created using either the ``getCommand()`` method of a client or a magic missing method of a client. Using -the ``getCommand()`` method allows you to create a command without executing it, allowing for customization of the -command or the request serialized by the command. - -When a client attempts to create a command, it uses the client's ``Guzzle\Service\Command\Factory\FactoryInterface``. -By default, Guzzle will utilize a command factory that first looks for a concrete class for a particular command -(concrete commands) followed by a command defined by a service description (operation commands). We'll learn more about -concrete commands and operation commands later in this chapter. - -.. code-block:: php - - // Get a command from the twitter client. - $command = $twitter->getCommand('getMentions'); - $result = $command->execute(); - -Unless you've skipped ahead, running the above code will throw an exception. - - PHP Fatal error: Uncaught exception 'Guzzle\Common\Exception\InvalidArgumentException' with message - 'Command was not found matching getMentions' - -This exception was thrown because the "getMentions" command has not yet been implemented. Let's implement one now. - -Concrete commands -~~~~~~~~~~~~~~~~~ - -Commands can be created in one of two ways: create a concrete command class that extends -``Guzzle\Service\Command\AbstractCommand`` or -:doc:`create an OperationCommand based on a service description `. The recommended -approach is to use a service description to define your web service, but you can use concrete commands when custom -logic must be implemented for marshaling or unmarshaling a HTTP message. - -Commands are the method in which you abstract away the underlying format of the requests that need to be sent to take -action on a web service. Commands in Guzzle are meant to be built by executing a series of setter methods on a command -object. Commands are only validated right before they are executed. A ``Guzzle\Service\Client`` object is responsible -for executing commands. Commands created for your web service must implement -``Guzzle\Service\Command\CommandInterface``, but it's easier to extend the ``Guzzle\Service\Command\AbstractCommand`` -class, implement the ``build()`` method, and optionally implement the ``process()`` method. - -Serializing requests -^^^^^^^^^^^^^^^^^^^^ - -The ``build()`` method of a command is responsible for using the arguments of the command to build and serialize a -HTTP request and set the request on the ``$request`` property of the command object. This step is usually taken care of -for you when using a service description driven command that uses the default -``Guzzle\Service\Command\OperationCommand``. You may wish to implement the process method yourself when you aren't -using a service description or need to implement more complex request serialization. - -.. important:::: - - When implementing a custom ``build()`` method, be sure to set the class property of ``$this->request`` to an - instantiated and ready to send request. - -The following example shows how to implement the ``getMentions`` -`Twitter API `_ method using a concrete command. - -.. code-block:: php - - namespace mtdowling\Twitter\Command; - - use Guzzle\Service\Command\AbstractCommand; - - class GetMentions extends AbstractCommand - { - protected function build() - { - // Create the request property of the command - $this->request = $this->client->get('statuses/mentions_timeline.json'); - - // Grab the query object of the request because we will use it for - // serializing command parameters on the request - $query = $this->request->getQuery(); - - if ($this['count']) { - $query->set('count', $this['count']); - } - - if ($this['since_id']) { - $query->set('since_id', $this['since_id']); - } - - if ($this['max_id']) { - $query->set('max_id', $this['max_id']); - } - - if ($this['trim_user'] !== null) { - $query->set('trim_user', $this['trim_user'] ? 'true' : 'false'); - } - - if ($this['contributor_details'] !== null) { - $query->set('contributor_details', $this['contributor_details'] ? 'true' : 'false'); - } - - if ($this['include_entities'] !== null) { - $query->set('include_entities', $this['include_entities'] ? 'true' : 'false'); - } - } - } - -By default, a client will attempt to find concrete command classes under the ``Command`` namespace of a client. First -the client will attempt to find an exact match for the name of the command to the name of the command class. If an -exact match is not found, the client will calculate a class name using inflection. This is calculated based on the -folder hierarchy of a command and converting the CamelCased named commands into snake_case. Here are some examples on -how the command names are calculated: - -#. ``Foo\Command\JarJar`` **->** jar_jar -#. ``Foo\Command\Test`` **->** test -#. ``Foo\Command\People\GetCurrentPerson`` **->** people.get_current_person - -Notice how any sub-namespace beneath ``Command`` is converted from ``\`` to ``.`` (a period). CamelCasing is converted -to lowercased snake_casing (e.g. JarJar == jar_jar). - -Parsing responses -^^^^^^^^^^^^^^^^^ - -The ``process()`` method of a command is responsible for converting an HTTP response into something more useful. For -example, a service description operation that has specified a model object in the ``responseClass`` attribute of the -operation will set a ``Guzzle\Service\Resource\Model`` object as the result of the command. This behavior can be -completely modified as needed-- even if you are using operations and responseClass models. Simply implement a custom -``process()`` method that sets the ``$this->result`` class property to whatever you choose. You can reuse parts of the -default Guzzle response parsing functionality or get inspiration from existing code by using -``Guzzle\Service\Command\OperationResponseParser`` and ``Guzzle\Service\Command\DefaultResponseParser`` classes. - -If you do not implement a custom ``process()`` method and are not using a service description, then Guzzle will attempt -to guess how a response should be processed based on the Content-Type header of the response. Because the Twitter API -sets a ``Content-Type: application/json`` header on this response, we do not need to implement any custom response -parsing. - -Operation commands -~~~~~~~~~~~~~~~~~~ - -Operation commands are commands in which the serialization of an HTTP request and the parsing of an HTTP response are -driven by a Guzzle service description. Because request serialization, validation, and response parsing are -described using a DSL, creating operation commands is a much faster process than writing concrete commands. - -Creating operation commands for our Twitter client can remove a great deal of redundancy from the previous concrete -command, and allows for a deeper runtime introspection of the API. Here's an example service description we can use to -create the Twitter API client: - -.. code-block:: json - - { - "name": "Twitter", - "apiVersion": "1.1", - "baseUrl": "https://api.twitter.com/1.1", - "description": "Twitter REST API client", - "operations": { - "GetMentions": { - "httpMethod": "GET", - "uri": "statuses/mentions_timeline.json", - "summary": "Returns the 20 most recent mentions for the authenticating user.", - "responseClass": "GetMentionsOutput", - "parameters": { - "count": { - "description": "Specifies the number of tweets to try and retrieve", - "type": "integer", - "location": "query" - }, - "since_id": { - "description": "Returns results with an ID greater than the specified ID", - "type": "integer", - "location": "query" - }, - "max_id": { - "description": "Returns results with an ID less than or equal to the specified ID.", - "type": "integer", - "location": "query" - }, - "trim_user": { - "description": "Limits the amount of data returned for each user", - "type": "boolean", - "location": "query" - }, - "contributor_details": { - "description": "Adds more data to contributor elements", - "type": "boolean", - "location": "query" - }, - "include_entities": { - "description": "The entities node will be disincluded when set to false.", - "type": "boolean", - "location": "query" - } - } - } - }, - "models": { - "GetMentionsOutput": { - "type": "object", - "additionalProperties": { - "location": "json" - } - } - } - } - -If you're lazy, you can define the API in a less descriptive manner using ``additionalParameters``. -``additionalParameters`` define the serialization and validation rules of parameters that are not explicitly defined -in a service description. - -.. code-block:: json - - { - "name": "Twitter", - "apiVersion": "1.1", - "baseUrl": "https://api.twitter.com/1.1", - "description": "Twitter REST API client", - "operations": { - "GetMentions": { - "httpMethod": "GET", - "uri": "statuses/mentions_timeline.json", - "summary": "Returns the 20 most recent mentions for the authenticating user.", - "responseClass": "GetMentionsOutput", - "additionalParameters": { - "location": "query" - } - } - }, - "models": { - "GetMentionsOutput": { - "type": "object", - "additionalProperties": { - "location": "json" - } - } - } - } - -You should attach the service description to the client at the end of the client's factory method: - -.. code-block:: php - - // ... - class TwitterClient extends Client - { - public static function factory($config = array()) - { - // ... same code as before ... - - // Set the service description - $client->setDescription(ServiceDescription::factory('path/to/twitter.json')); - - return $client; - } - } - -The client can now use operations defined in the service description instead of requiring you to create concrete -command classes. Feel free to delete the concrete command class we created earlier. - -.. code-block:: php - - $jsonData = $twitter->getMentions(array( - 'count' => 5, - 'trim_user' => true - )); - -Executing commands in parallel ------------------------------- - -Much like HTTP requests, Guzzle allows you to send multiple commands in parallel. You can send commands in parallel by -passing an array of command objects to a client's ``execute()`` method. The client will serialize each request and -send them all in parallel. If an error is encountered during the transfer, then a -``Guzzle\Service\Exception\CommandTransferException`` is thrown, which allows you to retrieve a list of commands that -succeeded and a list of commands that failed. - -.. code-block:: php - - use Guzzle\Service\Exception\CommandTransferException; - - $commands = array(); - $commands[] = $twitter->getCommand('getMentions'); - $commands[] = $twitter->getCommand('otherCommandName'); - // etc... - - try { - $result = $client->execute($commands); - foreach ($result as $command) { - echo $command->getName() . ': ' . $command->getResponse()->getStatusCode() . "\n"; - } - } catch (CommandTransferException $e) { - // Get an array of the commands that succeeded - foreach ($e->getSuccessfulCommands() as $command) { - echo $command->getName() . " succeeded\n"; - } - // Get an array of the commands that failed - foreach ($e->getFailedCommands() as $command) { - echo $command->getName() . " failed\n"; - } - } - -.. note:: - - All commands executed from a client using an array must originate from the same client. - -Special command options ------------------------ - -Guzzle exposes several options that help to control how commands are validated, serialized, and parsed. -Command options can be specified when creating a command or in the ``command.params`` parameter in the -``Guzzle\Service\Client``. - -=========================== ============================================================================================ -command.request_options Option used to add :ref:`Request options ` to the request created by a - command -command.hidden_params An array of the names of parameters ignored by the ``additionalParameters`` parameter schema -command.disable_validation Set to true to disable JSON schema validation of the command's input parameters -command.response_processing Determines how the default response parser will parse the command. One of "raw" no parsing, - "model" (the default method used to parse commands using response models defined in service - descriptions) -command.headers (deprecated) Option used to specify custom headers. Use ``command.request_options`` instead -command.on_complete (deprecated) Option used to add an onComplete method to a command. Use - ``command.after_send`` event instead -command.response_body (deprecated) Option used to change the entity body used to store a response. - Use ``command.request_options`` instead -=========================== ============================================================================================ - -Advanced client configuration -============================= - -Default command parameters --------------------------- - -When creating a client object, you can specify default command parameters to pass into all commands. Any key value pair -present in the ``command.params`` settings of a client will be added as default parameters to any command created -by the client. - -.. code-block:: php - - $client = new Guzzle\Service\Client(array( - 'command.params' => array( - 'default_1' => 'foo', - 'another' => 'bar' - ) - )); - -Magic methods -------------- - -Client objects will, by default, attempt to create and execute commands when a missing method is invoked on a client. -This powerful concept applies to both concrete commands and operation commands powered by a service description. This -makes it appear to the end user that you have defined actual methods on a client object, when in fact, the methods are -invoked using PHP's magic ``__call`` method. - -The ``__call`` method uses the ``getCommand()`` method of a client, which uses the client's internal -``Guzzle\Service\Command\Factory\FactoryInterface`` object. The default command factory allows you to instantiate -operations defined in a client's service description. The method in which a client determines which command to -execute is defined as follows: - -1. The client will first try to find a literal match for an operation in the service description. -2. If the literal match is not found, the client will try to uppercase the first character of the operation and find - the match again. -3. If a match is still not found, the command factory will inflect the method name from CamelCase to snake_case and - attempt to find a matching command. -4. If a command still does not match, an exception is thrown. - -.. code-block:: php - - // Use the magic method - $result = $twitter->getMentions(); - - // This is exactly the same as: - $result = $twitter->getCommand('getMentions')->execute(); - -You can disable magic methods on a client by passing ``false`` to the ``enableMagicMethod()`` method. - -Custom command factory ----------------------- - -A client by default uses the ``Guzzle\Service\Command\Factory\CompositeFactory`` which allows multiple command -factories to attempt to create a command by a certain name. The default CompositeFactory uses a ``ConcreteClassFactory`` -and a ``ServiceDescriptionFactory`` if a service description is specified on a client. You can specify a custom -command factory if your client requires custom command creation logic using the ``setCommandFactory()`` method of -a client. - -Custom resource Iterator factory --------------------------------- - -Resource iterators can be retrieved from a client using the ``getIterator($name)`` method of a client. This method uses -a client's internal ``Guzzle\Service\Resource\ResourceIteratorFactoryInterface`` object. A client by default uses a -``Guzzle\Service\Resource\ResourceIteratorClassFactory`` to attempt to find concrete classes that implement resource -iterators. The default factory will first look for matching iterators in the ``Iterator`` subdirectory of the client -followed by the ``Model`` subdirectory of a client. Use the ``setResourceIteratorFactory()`` method of a client to -specify a custom resource iterator factory. - -Plugins and events -================== - -``Guzzle\Service\Client`` exposes various events that allow you to hook in custom logic. A client object owns a -``Symfony\Component\EventDispatcher\EventDispatcher`` object that can be accessed by calling -``$client->getEventDispatcher()``. You can use the event dispatcher to add listeners (a simple callback function) or -event subscribers (classes that listen to specific events of a dispatcher). - -.. _service-client-events: - -Events emitted from a Service Client ------------------------------------- - -A ``Guzzle\Service\Client`` object emits the following events: - -+------------------------------+--------------------------------------------+------------------------------------------+ -| Event name | Description | Event data | -+==============================+============================================+==========================================+ -| client.command.create | The client created a command object | * client: Client object | -| | | * command: Command object | -+------------------------------+--------------------------------------------+------------------------------------------+ -| command.before_prepare | Before a command is validated and built. | * command: Command being prepared | -| | This is also before a request is created. | | -+------------------------------+--------------------------------------------+------------------------------------------+ -| command.after_prepare | After a command instantiates and | * command: Command that was prepared | -| | configures its request object. | | -+------------------------------+--------------------------------------------+------------------------------------------+ -| command.before_send | The client is about to execute a prepared | * command: Command to execute | -| | command | | -+------------------------------+--------------------------------------------+------------------------------------------+ -| command.after_send | The client successfully completed | * command: The command that was executed | -| | executing a command | | -+------------------------------+--------------------------------------------+------------------------------------------+ -| command.parse_response | Called when ``responseType`` is ``class`` | * command: The command with a response | -| | and the response is about to be parsed. | about to be parsed. | -+------------------------------+--------------------------------------------+------------------------------------------+ - -.. code-block:: php - - use Guzzle\Common\Event; - use Guzzle\Service\Client; - - $client = new Client(); - - // create an event listener that operates on request objects - $client->getEventDispatcher()->addListener('command.after_prepare', function (Event $event) { - $command = $event['command']; - $request = $command->getRequest(); - - // do something with request - }); - -.. code-block:: php - - use Guzzle\Common\Event; - use Guzzle\Common\Client; - use Symfony\Component\EventDispatcher\EventSubscriberInterface; - - class EventSubscriber implements EventSubscriberInterface - { - public static function getSubscribedEvents() - { - return array( - 'client.command.create' => 'onCommandCreate', - 'command.parse_response' => 'onParseResponse' - ); - } - - public function onCommandCreate(Event $event) - { - $client = $event['client']; - $command = $event['command']; - // operate on client and command - } - - public function onParseResponse(Event $event) - { - $command = $event['command']; - // operate on the command - } - } - - $client = new Client(); - - $client->addSubscriber(new EventSubscriber()); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phar-stub.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phar-stub.php deleted file mode 100644 index cc2b53f4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phar-stub.php +++ /dev/null @@ -1,16 +0,0 @@ -registerNamespaces(array( - 'Guzzle' => 'phar://guzzle.phar/src', - 'Symfony\\Component\\EventDispatcher' => 'phar://guzzle.phar/vendor/symfony/event-dispatcher', - 'Doctrine' => 'phar://guzzle.phar/vendor/doctrine/common/lib', - 'Monolog' => 'phar://guzzle.phar/vendor/monolog/monolog/src' -)); -$classLoader->register(); - -__HALT_COMPILER(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/build.properties.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/build.properties.dist deleted file mode 100644 index c60d3d9c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/build.properties.dist +++ /dev/null @@ -1,16 +0,0 @@ -# you may need to update this if you're working on a fork. -guzzle.remote=git@github.com:guzzle/guzzle.git - -# github credentials -- only used by GitHub API calls to create subtree repos -github.basicauth=username:password -# for the subtree split and testing -github.org=guzzle - -# your git path -cmd.git=git - -# your composer command -cmd.composer=composer - -# test server start -cmd.testserver=node diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/imports/dependencies.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/imports/dependencies.xml deleted file mode 100644 index e40e037c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/imports/dependencies.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - using git at ${cmd.git} - - - - found git at ${cmd.git} - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/imports/deploy.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/imports/deploy.xml deleted file mode 100644 index 109e5ec4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/imports/deploy.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - On branch ${head} - - - - - - - - - - working directory clean - - - ${git.status} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ChangeLog Match: ${version.changelog} - Guzzle\Common\Version Match: ${version.version} - - - - releasing: phing -Dnew.version=3.0.x -Dhead=master release - -- - - - - - - - - - - - - - - - BEGINNING RELEASE FOR ${new.version} - - - - - - - - - - - - - - - - - - - - - - - - Tip: to create a new release, do: phing -Dnew.version=[TAG] -Dhead=[BRANCH] release - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/ComposerLintTask.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/ComposerLintTask.php deleted file mode 100644 index 3b704098..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/ComposerLintTask.php +++ /dev/null @@ -1,152 +0,0 @@ - - * @license http://claylo.mit-license.org/2012/ MIT License - */ - -require_once 'phing/Task.php'; - -class ComposerLintTask extends Task -{ - protected $dir = null; - protected $file = null; - protected $passthru = false; - protected $composer = null; - - /** - * The setter for the dir - * - * @param string $str Directory to crawl recursively for composer files - */ - public function setDir($str) - { - $this->dir = $str; - } - - /** - * The setter for the file - * - * @param string $str Individual file to validate - */ - public function setFile($str) - { - $this->file = $str; - } - - /** - * Whether to use PHP's passthru() function instead of exec() - * - * @param boolean $passthru If passthru shall be used - */ - public function setPassthru($passthru) - { - $this->passthru = (bool) $passthru; - } - - /** - * Composer to execute. If unset, will attempt composer.phar in project - * basedir, and if that fails, will attempt global composer - * installation. - * - * @param string $str Individual file to validate - */ - public function setComposer($str) - { - $this->file = $str; - } - - /** - * The init method: do init steps - */ - public function init() - { - // nothing needed here - } - - /** - * The main entry point - */ - public function main() - { - if ($this->composer === null) { - $this->findComposer(); - } - - $files = array(); - if (!empty($this->file) && file_exists($this->file)) { - $files[] = $this->file; - } - - if (!empty($this->dir)) { - $found = $this->findFiles(); - foreach ($found as $file) { - $files[] = $this->dir . DIRECTORY_SEPARATOR . $file; - } - } - - foreach ($files as $file) { - - $cmd = $this->composer . ' validate ' . $file; - $cmd = escapeshellcmd($cmd); - - if ($this->passthru) { - $retval = null; - passthru($cmd, $retval); - if ($retval == 1) { - throw new BuildException('invalid composer.json'); - } - } else { - $out = array(); - $retval = null; - exec($cmd, $out, $retval); - if ($retval == 1) { - $err = join("\n", $out); - throw new BuildException($err); - } else { - $this->log($out[0]); - } - } - - } - - } - - /** - * Find the composer.json files using Phing's directory scanner - * - * @return array - */ - protected function findFiles() - { - $ds = new DirectoryScanner(); - $ds->setBasedir($this->dir); - $ds->setIncludes(array('**/composer.json')); - $ds->scan(); - return $ds->getIncludedFiles(); - } - - /** - * Find composer installation - * - */ - protected function findComposer() - { - $basedir = $this->project->getBasedir(); - $php = $this->project->getProperty('php.interpreter'); - - if (file_exists($basedir . '/composer.phar')) { - $this->composer = "$php $basedir/composer.phar"; - } else { - $out = array(); - exec('which composer', $out); - if (empty($out)) { - throw new BuildException( - 'Could not determine composer location.' - ); - } - $this->composer = $out[0]; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/GuzzlePearPharPackageTask.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/GuzzlePearPharPackageTask.php deleted file mode 100644 index f72a6b5d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/GuzzlePearPharPackageTask.php +++ /dev/null @@ -1,338 +0,0 @@ - - * @license http://claylo.mit-license.org/2012/ MIT License - */ - -require_once 'phing/Task.php'; -require_once 'PEAR/PackageFileManager2.php'; -require_once 'PEAR/PackageFileManager/File.php'; -require_once 'PEAR/Packager.php'; - -class GuzzlePearPharPackageTask extends Task -{ - private $version; - private $deploy = true; - private $makephar = true; - - private $subpackages = array(); - - public function setVersion($str) - { - $this->version = $str; - } - - public function getVersion() - { - return $this->version; - } - - public function setDeploy($deploy) - { - $this->deploy = (bool) $deploy; - } - - public function getDeploy() - { - return $this->deploy; - } - - public function setMakephar($makephar) - { - $this->makephar = (bool) $makephar; - } - - public function getMakephar() - { - return $this->makephar; - } - - private $basedir; - private $guzzleinfo; - private $changelog_release_date; - private $changelog_notes = '-'; - - public function main() - { - $this->basedir = $this->getProject()->getBasedir(); - - if (!is_dir((string) $this->basedir.'/.subsplit')) { - throw new BuildException('PEAR packaging requires .subsplit directory'); - } - - // main composer file - $composer_file = file_get_contents((string) $this->basedir.'/.subsplit/composer.json'); - $this->guzzleinfo = json_decode($composer_file, true); - - // make sure we have a target - $pearwork = (string) $this->basedir . '/build/pearwork'; - if (!is_dir($pearwork)) { - mkdir($pearwork, 0777, true); - } - $pearlogs = (string) $this->basedir . '/build/artifacts/logs'; - if (!is_dir($pearlogs)) { - mkdir($pearlogs, 0777, true); - } - - $version = $this->getVersion(); - $this->grabChangelog(); - if ($version[0] == '2') { - $this->log('building single PEAR package'); - $this->buildSinglePackage(); - } else { - // $this->log("building PEAR subpackages"); - // $this->createSubPackages(); - // $this->log("building PEAR bundle package"); - $this->buildSinglePackage(); - } - - if ($this->getMakephar()) { - $this->log("building PHAR"); - $this->getProject()->executeTarget('package-phar'); - } - - if ($this->getDeploy()) { - $this->doDeployment(); - } - } - - public function doDeployment() - { - $basedir = (string) $this->basedir; - $this->log('beginning PEAR/PHAR deployment'); - - chdir($basedir . '/build/pearwork'); - if (!is_dir('./channel')) { - mkdir('./channel'); - } - - // Pull the PEAR channel down locally - passthru('aws s3 sync s3://pear.guzzlephp.org ./channel'); - - // add PEAR packages - foreach (scandir('./') as $file) { - if (substr($file, -4) == '.tgz') { - passthru('pirum add ./channel ' . $file); - } - } - - // if we have a new phar, add it - if ($this->getMakephar() && file_exists($basedir . '/build/artifacts/guzzle.phar')) { - rename($basedir . '/build/artifacts/guzzle.phar', './channel/guzzle.phar'); - } - - // Sync up with the S3 bucket - chdir($basedir . '/build/pearwork/channel'); - passthru('aws s3 sync . s3://pear.guzzlephp.org'); - } - - public function buildSinglePackage() - { - $v = $this->getVersion(); - $apiversion = $v[0] . '.0.0'; - - $opts = array( - 'packagedirectory' => (string) $this->basedir . '/.subsplit/src/', - 'filelistgenerator' => 'file', - 'ignore' => array('*composer.json'), - 'baseinstalldir' => '/', - 'packagefile' => 'package.xml' - //'outputdirectory' => (string) $this->basedir . '/build/pearwork/' - ); - $pfm = new PEAR_PackageFileManager2(); - $pfm->setOptions($opts); - $pfm->addRole('md', 'doc'); - $pfm->addRole('pem', 'php'); - $pfm->setPackage('Guzzle'); - $pfm->setSummary("Object-oriented PHP HTTP Client for PHP 5.3+"); - $pfm->setDescription($this->guzzleinfo['description']); - $pfm->setPackageType('php'); - $pfm->setChannel('guzzlephp.org/pear'); - $pfm->setAPIVersion($apiversion); - $pfm->setReleaseVersion($this->getVersion()); - $pfm->setAPIStability('stable'); - $pfm->setReleaseStability('stable'); - $pfm->setNotes($this->changelog_notes); - $pfm->setPackageType('php'); - $pfm->setLicense('MIT', 'http://github.com/guzzle/guzzle/blob/master/LICENSE'); - $pfm->addMaintainer('lead', 'mtdowling', 'Michael Dowling', 'mtdowling@gmail.com', 'yes'); - $pfm->setDate($this->changelog_release_date); - $pfm->generateContents(); - - $phpdep = $this->guzzleinfo['require']['php']; - $phpdep = str_replace('>=', '', $phpdep); - $pfm->setPhpDep($phpdep); - $pfm->addExtensionDep('required', 'curl'); - $pfm->setPearinstallerDep('1.4.6'); - $pfm->addPackageDepWithChannel('required', 'EventDispatcher', 'pear.symfony.com', '2.1.0'); - if (!empty($this->subpackages)) { - foreach ($this->subpackages as $package) { - $pkg = dirname($package); - $pkg = str_replace('/', '_', $pkg); - $pfm->addConflictingPackageDepWithChannel($pkg, 'guzzlephp.org/pear', false, $apiversion); - } - } - - ob_start(); - $startdir = getcwd(); - chdir((string) $this->basedir . '/build/pearwork'); - - echo "DEBUGGING GENERATED PACKAGE FILE\n"; - $result = $pfm->debugPackageFile(); - if ($result) { - $out = $pfm->writePackageFile(); - echo "\n\n\nWRITE PACKAGE FILE RESULT:\n"; - var_dump($out); - // load up package file and build package - $packager = new PEAR_Packager(); - echo "\n\n\nBUILDING PACKAGE FROM PACKAGE FILE:\n"; - $dest_package = $packager->package($opts['packagedirectory'].'package.xml'); - var_dump($dest_package); - } else { - echo "\n\n\nDEBUGGING RESULT:\n"; - var_dump($result); - } - echo "removing package.xml"; - unlink($opts['packagedirectory'].'package.xml'); - $log = ob_get_clean(); - file_put_contents((string) $this->basedir . '/build/artifacts/logs/pear_package.log', $log); - chdir($startdir); - } - - public function createSubPackages() - { - $this->findComponents(); - - foreach ($this->subpackages as $package) { - $baseinstalldir = dirname($package); - $dir = (string) $this->basedir.'/.subsplit/src/' . $baseinstalldir; - $composer_file = file_get_contents((string) $this->basedir.'/.subsplit/src/'. $package); - $package_info = json_decode($composer_file, true); - $this->log('building ' . $package_info['target-dir'] . ' subpackage'); - $this->buildSubPackage($dir, $baseinstalldir, $package_info); - } - } - - public function buildSubPackage($dir, $baseinstalldir, $info) - { - $package = str_replace('/', '_', $baseinstalldir); - $opts = array( - 'packagedirectory' => $dir, - 'filelistgenerator' => 'file', - 'ignore' => array('*composer.json', '*package.xml'), - 'baseinstalldir' => '/' . $info['target-dir'], - 'packagefile' => 'package.xml' - ); - $pfm = new PEAR_PackageFileManager2(); - $pfm->setOptions($opts); - $pfm->setPackage($package); - $pfm->setSummary($info['description']); - $pfm->setDescription($info['description']); - $pfm->setPackageType('php'); - $pfm->setChannel('guzzlephp.org/pear'); - $pfm->setAPIVersion('3.0.0'); - $pfm->setReleaseVersion($this->getVersion()); - $pfm->setAPIStability('stable'); - $pfm->setReleaseStability('stable'); - $pfm->setNotes($this->changelog_notes); - $pfm->setPackageType('php'); - $pfm->setLicense('MIT', 'http://github.com/guzzle/guzzle/blob/master/LICENSE'); - $pfm->addMaintainer('lead', 'mtdowling', 'Michael Dowling', 'mtdowling@gmail.com', 'yes'); - $pfm->setDate($this->changelog_release_date); - $pfm->generateContents(); - - $phpdep = $this->guzzleinfo['require']['php']; - $phpdep = str_replace('>=', '', $phpdep); - $pfm->setPhpDep($phpdep); - $pfm->setPearinstallerDep('1.4.6'); - - foreach ($info['require'] as $type => $version) { - if ($type == 'php') { - continue; - } - if ($type == 'symfony/event-dispatcher') { - $pfm->addPackageDepWithChannel('required', 'EventDispatcher', 'pear.symfony.com', '2.1.0'); - } - if ($type == 'ext-curl') { - $pfm->addExtensionDep('required', 'curl'); - } - if (substr($type, 0, 6) == 'guzzle') { - $gdep = str_replace('/', ' ', $type); - $gdep = ucwords($gdep); - $gdep = str_replace(' ', '_', $gdep); - $pfm->addPackageDepWithChannel('required', $gdep, 'guzzlephp.org/pear', $this->getVersion()); - } - } - - // can't have main Guzzle package AND sub-packages - $pfm->addConflictingPackageDepWithChannel('Guzzle', 'guzzlephp.org/pear', false, $apiversion); - - ob_start(); - $startdir = getcwd(); - chdir((string) $this->basedir . '/build/pearwork'); - - echo "DEBUGGING GENERATED PACKAGE FILE\n"; - $result = $pfm->debugPackageFile(); - if ($result) { - $out = $pfm->writePackageFile(); - echo "\n\n\nWRITE PACKAGE FILE RESULT:\n"; - var_dump($out); - // load up package file and build package - $packager = new PEAR_Packager(); - echo "\n\n\nBUILDING PACKAGE FROM PACKAGE FILE:\n"; - $dest_package = $packager->package($opts['packagedirectory'].'/package.xml'); - var_dump($dest_package); - } else { - echo "\n\n\nDEBUGGING RESULT:\n"; - var_dump($result); - } - echo "removing package.xml"; - unlink($opts['packagedirectory'].'/package.xml'); - $log = ob_get_clean(); - file_put_contents((string) $this->basedir . '/build/artifacts/logs/pear_package_'.$package.'.log', $log); - chdir($startdir); - } - - public function findComponents() - { - $ds = new DirectoryScanner(); - $ds->setBasedir((string) $this->basedir.'/.subsplit/src'); - $ds->setIncludes(array('**/composer.json')); - $ds->scan(); - $files = $ds->getIncludedFiles(); - $this->subpackages = $files; - } - - public function grabChangelog() - { - $cl = file((string) $this->basedir.'/.subsplit/CHANGELOG.md'); - $notes = ''; - $in_version = false; - $release_date = null; - - foreach ($cl as $line) { - $line = trim($line); - if (preg_match('/^\* '.$this->getVersion().' \(([0-9\-]+)\)$/', $line, $matches)) { - $release_date = $matches[1]; - $in_version = true; - continue; - } - if ($in_version && empty($line) && empty($notes)) { - continue; - } - if ($in_version && ! empty($line)) { - $notes .= $line."\n"; - } - if ($in_version && empty($line) && !empty($notes)) { - $in_version = false; - } - } - $this->changelog_release_date = $release_date; - - if (! empty($notes)) { - $this->changelog_notes = $notes; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/GuzzleSubSplitTask.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/GuzzleSubSplitTask.php deleted file mode 100644 index 5d56a5bd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phing/tasks/GuzzleSubSplitTask.php +++ /dev/null @@ -1,385 +0,0 @@ - - * @license http://claylo.mit-license.org/2012/ MIT License - */ - -require_once 'phing/tasks/ext/git/GitBaseTask.php'; - -// base - base of tree to split out -// subIndicatorFile - composer.json, package.xml? -class GuzzleSubSplitTask extends GitBaseTask -{ - /** - * What git repository to pull from and publish to - */ - protected $remote = null; - - /** - * Publish for comma-separated heads instead of all heads - */ - protected $heads = null; - - /** - * Publish for comma-separated tags instead of all tags - */ - protected $tags = null; - - /** - * Base of the tree RELATIVE TO .subsplit working dir - */ - protected $base = null; - - /** - * The presence of this file will indicate that the directory it resides - * in is at the top level of a split. - */ - protected $subIndicatorFile = 'composer.json'; - - /** - * Do everything except actually send the update. - */ - protected $dryRun = null; - - /** - * Do not sync any heads. - */ - protected $noHeads = false; - - /** - * Do not sync any tags. - */ - protected $noTags = false; - - /** - * The splits we found in the heads - */ - protected $splits; - - public function setRemote($str) - { - $this->remote = $str; - } - - public function getRemote() - { - return $this->remote; - } - - public function setHeads($str) - { - $this->heads = explode(',', $str); - } - - public function getHeads() - { - return $this->heads; - } - - public function setTags($str) - { - $this->tags = explode(',', $str); - } - - public function getTags() - { - return $this->tags; - } - - public function setBase($str) - { - $this->base = $str; - } - - public function getBase() - { - return $this->base; - } - - public function setSubIndicatorFile($str) - { - $this->subIndicatorFile = $str; - } - - public function getSubIndicatorFile() - { - return $this->subIndicatorFile; - } - - public function setDryRun($bool) - { - $this->dryRun = (bool) $bool; - } - - public function getDryRun() - { - return $this->dryRun; - } - - public function setNoHeads($bool) - { - $this->noHeads = (bool) $bool; - } - - public function getNoHeads() - { - return $this->noHeads; - } - - public function setNoTags($bool) - { - $this->noTags = (bool) $bool; - } - - public function getNoTags() - { - return $this->noTags; - } - - /** - * GitClient from VersionControl_Git - */ - protected $client = null; - - /** - * The main entry point - */ - public function main() - { - $repo = $this->getRepository(); - if (empty($repo)) { - throw new BuildException('"repository" is a required parameter'); - } - - $remote = $this->getRemote(); - if (empty($remote)) { - throw new BuildException('"remote" is a required parameter'); - } - - chdir($repo); - $this->client = $this->getGitClient(false, $repo); - - // initalized yet? - if (!is_dir('.subsplit')) { - $this->subsplitInit(); - } else { - // update - $this->subsplitUpdate(); - } - - // find all splits based on heads requested - $this->findSplits(); - - // check that GitHub has the repos - $this->verifyRepos(); - - // execute the subsplits - $this->publish(); - } - - public function publish() - { - $this->log('DRY RUN ONLY FOR NOW'); - $base = $this->getBase(); - $base = rtrim($base, '/') . '/'; - $org = $this->getOwningTarget()->getProject()->getProperty('github.org'); - - $splits = array(); - - $heads = $this->getHeads(); - foreach ($heads as $head) { - foreach ($this->splits[$head] as $component => $meta) { - $splits[] = $base . $component . ':git@github.com:'. $org.'/'.$meta['repo']; - } - - $cmd = 'git subsplit publish '; - $cmd .= escapeshellarg(implode(' ', $splits)); - - if ($this->getNoHeads()) { - $cmd .= ' --no-heads'; - } else { - $cmd .= ' --heads='.$head; - } - - if ($this->getNoTags()) { - $cmd .= ' --no-tags'; - } else { - if ($this->getTags()) { - $cmd .= ' --tags=' . escapeshellarg(implode(' ', $this->getTags())); - } - } - - passthru($cmd); - } - } - - /** - * Runs `git subsplit update` - */ - public function subsplitUpdate() - { - $repo = $this->getRepository(); - $this->log('git-subsplit update...'); - $cmd = $this->client->getCommand('subsplit'); - $cmd->addArgument('update'); - try { - $cmd->execute(); - } catch (Exception $e) { - throw new BuildException('git subsplit update failed'. $e); - } - chdir($repo . '/.subsplit'); - passthru('php ../composer.phar update --dev'); - chdir($repo); - } - - /** - * Runs `git subsplit init` based on the remote repository. - */ - public function subsplitInit() - { - $remote = $this->getRemote(); - $cmd = $this->client->getCommand('subsplit'); - $this->log('running git-subsplit init ' . $remote); - - $cmd->setArguments(array( - 'init', - $remote - )); - - try { - $output = $cmd->execute(); - } catch (Exception $e) { - throw new BuildException('git subsplit init failed'. $e); - } - $this->log(trim($output), Project::MSG_INFO); - $repo = $this->getRepository(); - chdir($repo . '/.subsplit'); - passthru('php ../composer.phar install --dev'); - chdir($repo); - } - - /** - * Find the composer.json files using Phing's directory scanner - * - * @return array - */ - protected function findSplits() - { - $this->log("checking heads for subsplits"); - $repo = $this->getRepository(); - $base = $this->getBase(); - - $splits = array(); - $heads = $this->getHeads(); - - if (!empty($base)) { - $base = '/' . ltrim($base, '/'); - } else { - $base = '/'; - } - - chdir($repo . '/.subsplit'); - foreach ($heads as $head) { - $splits[$head] = array(); - - // check each head requested *BEFORE* the actual subtree split command gets it - passthru("git checkout '$head'"); - $ds = new DirectoryScanner(); - $ds->setBasedir($repo . '/.subsplit' . $base); - $ds->setIncludes(array('**/'.$this->subIndicatorFile)); - $ds->scan(); - $files = $ds->getIncludedFiles(); - - // Process the files we found - foreach ($files as $file) { - $pkg = file_get_contents($repo . '/.subsplit' . $base .'/'. $file); - $pkg_json = json_decode($pkg, true); - $name = $pkg_json['name']; - $component = str_replace('/composer.json', '', $file); - // keep this for split cmd - $tmpreponame = explode('/', $name); - $reponame = $tmpreponame[1]; - $splits[$head][$component]['repo'] = $reponame; - $nscomponent = str_replace('/', '\\', $component); - $splits[$head][$component]['desc'] = "[READ ONLY] Subtree split of $nscomponent: " . $pkg_json['description']; - } - } - - // go back to how we found it - passthru("git checkout master"); - chdir($repo); - $this->splits = $splits; - } - - /** - * Based on list of repositories we determined we *should* have, talk - * to GitHub and make sure they're all there. - * - */ - protected function verifyRepos() - { - $this->log('verifying GitHub target repos'); - $github_org = $this->getOwningTarget()->getProject()->getProperty('github.org'); - $github_creds = $this->getOwningTarget()->getProject()->getProperty('github.basicauth'); - - if ($github_creds == 'username:password') { - $this->log('Skipping GitHub repo checks. Update github.basicauth in build.properties to verify repos.', 1); - return; - } - - $ch = curl_init('https://api.github.com/orgs/'.$github_org.'/repos?type=all'); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_USERPWD, $github_creds); - // change this when we know we can use our bundled CA bundle! - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); - $result = curl_exec($ch); - curl_close($ch); - $repos = json_decode($result, true); - $existing_repos = array(); - - // parse out the repos we found on GitHub - foreach ($repos as $repo) { - $tmpreponame = explode('/', $repo['full_name']); - $reponame = $tmpreponame[1]; - $existing_repos[$reponame] = $repo['description']; - } - - $heads = $this->getHeads(); - foreach ($heads as $head) { - foreach ($this->splits[$head] as $component => $meta) { - - $reponame = $meta['repo']; - - if (!isset($existing_repos[$reponame])) { - $this->log("Creating missing repo $reponame"); - $payload = array( - 'name' => $reponame, - 'description' => $meta['desc'], - 'homepage' => 'http://www.guzzlephp.org/', - 'private' => true, - 'has_issues' => false, - 'has_wiki' => false, - 'has_downloads' => true, - 'auto_init' => false - ); - $ch = curl_init('https://api.github.com/orgs/'.$github_org.'/repos'); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_USERPWD, $github_creds); - curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); - // change this when we know we can use our bundled CA bundle! - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); - $result = curl_exec($ch); - echo "Response code: ".curl_getinfo($ch, CURLINFO_HTTP_CODE)."\n"; - curl_close($ch); - } else { - $this->log("Repo $reponame exists", 2); - } - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phpunit.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phpunit.xml.dist deleted file mode 100644 index 208fdc08..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/phpunit.xml.dist +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - ./tests/Guzzle/Tests - - - - - - - - - - ./src/Guzzle - - ./src/Guzzle - ./src/Guzzle/Common/Exception/GuzzleException.php - ./src/Guzzle/Http/Exception/HttpException.php - ./src/Guzzle/Http/Exception/ServerErrorResponseException.php - ./src/Guzzle/Http/Exception/ClientErrorResponseException.php - ./src/Guzzle/Http/Exception/TooManyRedirectsException.php - ./src/Guzzle/Http/Exception/CouldNotRewindStreamException.php - ./src/Guzzle/Common/Exception/BadMethodCallException.php - ./src/Guzzle/Common/Exception/InvalidArgumentException.php - ./src/Guzzle/Common/Exception/RuntimeException.php - ./src/Guzzle/Common/Exception/UnexpectedValueException.php - ./src/Guzzle/Service/Exception/ClientNotFoundException.php - ./src/Guzzle/Service/Exception/CommandException.php - ./src/Guzzle/Service/Exception/DescriptionBuilderException.php - ./src/Guzzle/Service/Exception/ServiceBuilderException.php - ./src/Guzzle/Service/Exception/ServiceNotFoundException.php - ./src/Guzzle/Service/Exception/ValidationException.php - ./src/Guzzle/Service/Exception/JsonException.php - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php deleted file mode 100644 index 0625d71c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php +++ /dev/null @@ -1,66 +0,0 @@ -decoratedBatch = $decoratedBatch; - } - - /** - * Allow decorators to implement custom methods - * - * @param string $method Missing method name - * @param array $args Method arguments - * - * @return mixed - * @codeCoverageIgnore - */ - public function __call($method, array $args) - { - return call_user_func_array(array($this->decoratedBatch, $method), $args); - } - - public function add($item) - { - $this->decoratedBatch->add($item); - - return $this; - } - - public function flush() - { - return $this->decoratedBatch->flush(); - } - - public function isEmpty() - { - return $this->decoratedBatch->isEmpty(); - } - - /** - * Trace the decorators associated with the batch - * - * @return array - */ - public function getDecorators() - { - $found = array($this); - if (method_exists($this->decoratedBatch, 'getDecorators')) { - $found = array_merge($found, $this->decoratedBatch->getDecorators()); - } - - return $found; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/Batch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/Batch.php deleted file mode 100644 index 4d41c54f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/Batch.php +++ /dev/null @@ -1,92 +0,0 @@ -transferStrategy = $transferStrategy; - $this->divisionStrategy = $divisionStrategy; - $this->queue = new \SplQueue(); - $this->queue->setIteratorMode(\SplQueue::IT_MODE_DELETE); - $this->dividedBatches = array(); - } - - public function add($item) - { - $this->queue->enqueue($item); - - return $this; - } - - public function flush() - { - $this->createBatches(); - - $items = array(); - foreach ($this->dividedBatches as $batchIndex => $dividedBatch) { - while ($dividedBatch->valid()) { - $batch = $dividedBatch->current(); - $dividedBatch->next(); - try { - $this->transferStrategy->transfer($batch); - $items = array_merge($items, $batch); - } catch (\Exception $e) { - throw new BatchTransferException($batch, $items, $e, $this->transferStrategy, $this->divisionStrategy); - } - } - // Keep the divided batch down to a minimum in case of a later exception - unset($this->dividedBatches[$batchIndex]); - } - - return $items; - } - - public function isEmpty() - { - return count($this->queue) == 0 && count($this->dividedBatches) == 0; - } - - /** - * Create batches for any queued items - */ - protected function createBatches() - { - if (count($this->queue)) { - if ($batches = $this->divisionStrategy->createBatches($this->queue)) { - // Convert arrays into iterators - if (is_array($batches)) { - $batches = new \ArrayIterator($batches); - } - $this->dividedBatches[] = $batches; - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchBuilder.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchBuilder.php deleted file mode 100644 index ea99b4dd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchBuilder.php +++ /dev/null @@ -1,199 +0,0 @@ - 'Guzzle\Batch\BatchRequestTransfer', - 'command' => 'Guzzle\Batch\BatchCommandTransfer' - ); - - /** - * Create a new instance of the BatchBuilder - * - * @return BatchBuilder - */ - public static function factory() - { - return new self(); - } - - /** - * Automatically flush the batch when the size of the queue reaches a certain threshold. Adds {@see FlushingBatch}. - * - * @param $threshold Number of items to allow in the queue before a flush - * - * @return BatchBuilder - */ - public function autoFlushAt($threshold) - { - $this->autoFlush = $threshold; - - return $this; - } - - /** - * Maintain a history of all items that have been transferred using the batch. Adds {@see HistoryBatch}. - * - * @return BatchBuilder - */ - public function keepHistory() - { - $this->history = true; - - return $this; - } - - /** - * Buffer exceptions thrown during transfer so that you can transfer as much as possible, and after a transfer - * completes, inspect each exception that was thrown. Enables the {@see ExceptionBufferingBatch} decorator. - * - * @return BatchBuilder - */ - public function bufferExceptions() - { - $this->exceptionBuffering = true; - - return $this; - } - - /** - * Notify a callable each time a batch flush completes. Enables the {@see NotifyingBatch} decorator. - * - * @param mixed $callable Callable function to notify - * - * @return BatchBuilder - * @throws InvalidArgumentException if the argument is not callable - */ - public function notify($callable) - { - $this->afterFlush = $callable; - - return $this; - } - - /** - * Configures the batch to transfer batches of requests. Associates a {@see \Guzzle\Http\BatchRequestTransfer} - * object as both the transfer and divisor strategy. - * - * @param int $batchSize Batch size for each batch of requests - * - * @return BatchBuilder - */ - public function transferRequests($batchSize = 50) - { - $className = self::$mapping['request']; - $this->transferStrategy = new $className($batchSize); - $this->divisorStrategy = $this->transferStrategy; - - return $this; - } - - /** - * Configures the batch to transfer batches commands. Associates as - * {@see \Guzzle\Service\Command\BatchCommandTransfer} as both the transfer and divisor strategy. - * - * @param int $batchSize Batch size for each batch of commands - * - * @return BatchBuilder - */ - public function transferCommands($batchSize = 50) - { - $className = self::$mapping['command']; - $this->transferStrategy = new $className($batchSize); - $this->divisorStrategy = $this->transferStrategy; - - return $this; - } - - /** - * Specify the strategy used to divide the queue into an array of batches - * - * @param BatchDivisorInterface $divisorStrategy Strategy used to divide a batch queue into batches - * - * @return BatchBuilder - */ - public function createBatchesWith(BatchDivisorInterface $divisorStrategy) - { - $this->divisorStrategy = $divisorStrategy; - - return $this; - } - - /** - * Specify the strategy used to transport the items when flush is called - * - * @param BatchTransferInterface $transferStrategy How items are transferred - * - * @return BatchBuilder - */ - public function transferWith(BatchTransferInterface $transferStrategy) - { - $this->transferStrategy = $transferStrategy; - - return $this; - } - - /** - * Create and return the instantiated batch - * - * @return BatchInterface - * @throws RuntimeException if no transfer strategy has been specified - */ - public function build() - { - if (!$this->transferStrategy) { - throw new RuntimeException('No transfer strategy has been specified'); - } - - if (!$this->divisorStrategy) { - throw new RuntimeException('No divisor strategy has been specified'); - } - - $batch = new Batch($this->transferStrategy, $this->divisorStrategy); - - if ($this->exceptionBuffering) { - $batch = new ExceptionBufferingBatch($batch); - } - - if ($this->afterFlush) { - $batch = new NotifyingBatch($batch, $this->afterFlush); - } - - if ($this->autoFlush) { - $batch = new FlushingBatch($batch, $this->autoFlush); - } - - if ($this->history) { - $batch = new HistoryBatch($batch); - } - - return $batch; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php deleted file mode 100644 index e0a2d956..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php +++ /dev/null @@ -1,39 +0,0 @@ -callable = $callable; - $this->context = $context; - } - - public function createBatches(\SplQueue $queue) - { - return call_user_func($this->callable, $queue, $this->context); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureTransfer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureTransfer.php deleted file mode 100644 index 9cbf1aba..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureTransfer.php +++ /dev/null @@ -1,40 +0,0 @@ -callable = $callable; - $this->context = $context; - } - - public function transfer(array $batch) - { - return empty($batch) ? null : call_user_func($this->callable, $batch, $this->context); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchCommandTransfer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchCommandTransfer.php deleted file mode 100644 index d55ac7d1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchCommandTransfer.php +++ /dev/null @@ -1,75 +0,0 @@ -batchSize = $batchSize; - } - - /** - * Creates batches by grouping commands by their associated client - * {@inheritdoc} - */ - public function createBatches(\SplQueue $queue) - { - $groups = new \SplObjectStorage(); - foreach ($queue as $item) { - if (!$item instanceof CommandInterface) { - throw new InvalidArgumentException('All items must implement Guzzle\Service\Command\CommandInterface'); - } - $client = $item->getClient(); - if (!$groups->contains($client)) { - $groups->attach($client, new \ArrayObject(array($item))); - } else { - $groups[$client]->append($item); - } - } - - $batches = array(); - foreach ($groups as $batch) { - $batches = array_merge($batches, array_chunk($groups[$batch]->getArrayCopy(), $this->batchSize)); - } - - return $batches; - } - - public function transfer(array $batch) - { - if (empty($batch)) { - return; - } - - // Get the client of the first found command - $client = reset($batch)->getClient(); - - // Keep a list of all commands with invalid clients - $invalid = array_filter($batch, function ($command) use ($client) { - return $command->getClient() !== $client; - }); - - if (!empty($invalid)) { - throw new InconsistentClientTransferException($invalid); - } - - $client->execute($batch); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchDivisorInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchDivisorInterface.php deleted file mode 100644 index 0214f05f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchDivisorInterface.php +++ /dev/null @@ -1,18 +0,0 @@ -batchSize = $batchSize; - } - - /** - * Creates batches of requests by grouping requests by their associated curl multi object. - * {@inheritdoc} - */ - public function createBatches(\SplQueue $queue) - { - // Create batches by client objects - $groups = new \SplObjectStorage(); - foreach ($queue as $item) { - if (!$item instanceof RequestInterface) { - throw new InvalidArgumentException('All items must implement Guzzle\Http\Message\RequestInterface'); - } - $client = $item->getClient(); - if (!$groups->contains($client)) { - $groups->attach($client, array($item)); - } else { - $current = $groups[$client]; - $current[] = $item; - $groups[$client] = $current; - } - } - - $batches = array(); - foreach ($groups as $batch) { - $batches = array_merge($batches, array_chunk($groups[$batch], $this->batchSize)); - } - - return $batches; - } - - public function transfer(array $batch) - { - if ($batch) { - reset($batch)->getClient()->send($batch); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchSizeDivisor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchSizeDivisor.php deleted file mode 100644 index 67f90a58..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchSizeDivisor.php +++ /dev/null @@ -1,47 +0,0 @@ -size = $size; - } - - /** - * Set the size of each batch - * - * @param int $size Size of each batch - * - * @return BatchSizeDivisor - */ - public function setSize($size) - { - $this->size = $size; - - return $this; - } - - /** - * Get the size of each batch - * - * @return int - */ - public function getSize() - { - return $this->size; - } - - public function createBatches(\SplQueue $queue) - { - return array_chunk(iterator_to_array($queue, false), $this->size); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchTransferInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchTransferInterface.php deleted file mode 100644 index 2e0b60da..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchTransferInterface.php +++ /dev/null @@ -1,16 +0,0 @@ -batch = $batch; - $this->transferredItems = $transferredItems; - $this->transferStrategy = $transferStrategy; - $this->divisorStrategy = $divisorStrategy; - parent::__construct( - 'Exception encountered while transferring batch: ' . $exception->getMessage(), - $exception->getCode(), - $exception - ); - } - - /** - * Get the batch that we being sent when the exception occurred - * - * @return array - */ - public function getBatch() - { - return $this->batch; - } - - /** - * Get the items transferred at the point in which the exception was encountered - * - * @return array - */ - public function getTransferredItems() - { - return $this->transferredItems; - } - - /** - * Get the transfer strategy - * - * @return TransferStrategy - */ - public function getTransferStrategy() - { - return $this->transferStrategy; - } - - /** - * Get the divisor strategy - * - * @return DivisorStrategy - */ - public function getDivisorStrategy() - { - return $this->divisorStrategy; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/ExceptionBufferingBatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/ExceptionBufferingBatch.php deleted file mode 100644 index d7a89288..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/ExceptionBufferingBatch.php +++ /dev/null @@ -1,50 +0,0 @@ -decoratedBatch->isEmpty()) { - try { - $transferredItems = $this->decoratedBatch->flush(); - } catch (BatchTransferException $e) { - $this->exceptions[] = $e; - $transferredItems = $e->getTransferredItems(); - } - $items = array_merge($items, $transferredItems); - } - - return $items; - } - - /** - * Get the buffered exceptions - * - * @return array Array of BatchTransferException objects - */ - public function getExceptions() - { - return $this->exceptions; - } - - /** - * Clear the buffered exceptions - */ - public function clearExceptions() - { - $this->exceptions = array(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/FlushingBatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/FlushingBatch.php deleted file mode 100644 index 367b6842..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/FlushingBatch.php +++ /dev/null @@ -1,60 +0,0 @@ -threshold = $threshold; - parent::__construct($decoratedBatch); - } - - /** - * Set the auto-flush threshold - * - * @param int $threshold The auto-flush threshold - * - * @return FlushingBatch - */ - public function setThreshold($threshold) - { - $this->threshold = $threshold; - - return $this; - } - - /** - * Get the auto-flush threshold - * - * @return int - */ - public function getThreshold() - { - return $this->threshold; - } - - public function add($item) - { - $this->decoratedBatch->add($item); - if (++$this->currentTotal >= $this->threshold) { - $this->currentTotal = 0; - $this->decoratedBatch->flush(); - } - - return $this; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/HistoryBatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/HistoryBatch.php deleted file mode 100644 index e345fdc3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/HistoryBatch.php +++ /dev/null @@ -1,39 +0,0 @@ -history[] = $item; - $this->decoratedBatch->add($item); - - return $this; - } - - /** - * Get the batch history - * - * @return array - */ - public function getHistory() - { - return $this->history; - } - - /** - * Clear the batch history - */ - public function clearHistory() - { - $this->history = array(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/NotifyingBatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/NotifyingBatch.php deleted file mode 100644 index 96d04daa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/NotifyingBatch.php +++ /dev/null @@ -1,38 +0,0 @@ -callable = $callable; - parent::__construct($decoratedBatch); - } - - public function flush() - { - $items = $this->decoratedBatch->flush(); - call_user_func($this->callable, $items); - - return $items; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/composer.json deleted file mode 100644 index 12404d38..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Batch/composer.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "guzzle/batch", - "description": "Guzzle batch component for batching requests, commands, or custom transfers", - "homepage": "http://guzzlephp.org/", - "keywords": ["batch", "HTTP", "REST", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/common": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Batch": "" } - }, - "suggest": { - "guzzle/http": "self.version", - "guzzle/service": "self.version" - }, - "target-dir": "Guzzle/Batch", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/AbstractCacheAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/AbstractCacheAdapter.php deleted file mode 100644 index a5c52716..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/AbstractCacheAdapter.php +++ /dev/null @@ -1,21 +0,0 @@ -cache; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterFactory.php deleted file mode 100644 index 94e62346..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterFactory.php +++ /dev/null @@ -1,117 +0,0 @@ -newInstanceArgs($args); - } - } catch (\Exception $e) { - throw new RuntimeException($e->getMessage(), $e->getCode(), $e); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterInterface.php deleted file mode 100644 index 970c9e22..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterInterface.php +++ /dev/null @@ -1,55 +0,0 @@ -callables = $callables; - } - - public function contains($id, array $options = null) - { - return call_user_func($this->callables['contains'], $id, $options); - } - - public function delete($id, array $options = null) - { - return call_user_func($this->callables['delete'], $id, $options); - } - - public function fetch($id, array $options = null) - { - return call_user_func($this->callables['fetch'], $id, $options); - } - - public function save($id, $data, $lifeTime = false, array $options = null) - { - return call_user_func($this->callables['save'], $id, $data, $lifeTime, $options); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/DoctrineCacheAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/DoctrineCacheAdapter.php deleted file mode 100644 index e1aaf9f8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/DoctrineCacheAdapter.php +++ /dev/null @@ -1,41 +0,0 @@ -cache = $cache; - } - - public function contains($id, array $options = null) - { - return $this->cache->contains($id); - } - - public function delete($id, array $options = null) - { - return $this->cache->delete($id); - } - - public function fetch($id, array $options = null) - { - return $this->cache->fetch($id); - } - - public function save($id, $data, $lifeTime = false, array $options = null) - { - return $this->cache->save($id, $data, $lifeTime !== false ? $lifeTime : 0); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/NullCacheAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/NullCacheAdapter.php deleted file mode 100644 index 68bd4af9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/NullCacheAdapter.php +++ /dev/null @@ -1,31 +0,0 @@ -cache = $cache; - } - - public function contains($id, array $options = null) - { - return $this->cache->test($id); - } - - public function delete($id, array $options = null) - { - return $this->cache->remove($id); - } - - public function fetch($id, array $options = null) - { - return $this->cache->load($id); - } - - public function save($id, $data, $lifeTime = false, array $options = null) - { - return $this->cache->save($data, $id, array(), $lifeTime); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf2CacheAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf2CacheAdapter.php deleted file mode 100644 index 1fc18a55..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/Zf2CacheAdapter.php +++ /dev/null @@ -1,41 +0,0 @@ -cache = $cache; - } - - public function contains($id, array $options = null) - { - return $this->cache->hasItem($id); - } - - public function delete($id, array $options = null) - { - return $this->cache->removeItem($id); - } - - public function fetch($id, array $options = null) - { - return $this->cache->getItem($id); - } - - public function save($id, $data, $lifeTime = false, array $options = null) - { - return $this->cache->setItem($id, $data); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/composer.json deleted file mode 100644 index a5d999bd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Cache/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "guzzle/cache", - "description": "Guzzle cache adapter component", - "homepage": "http://guzzlephp.org/", - "keywords": ["cache", "adapter", "zf", "doctrine", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/common": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Cache": "" } - }, - "target-dir": "Guzzle/Cache", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php deleted file mode 100644 index d1e842b1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/AbstractHasDispatcher.php +++ /dev/null @@ -1,49 +0,0 @@ -eventDispatcher = $eventDispatcher; - - return $this; - } - - public function getEventDispatcher() - { - if (!$this->eventDispatcher) { - $this->eventDispatcher = new EventDispatcher(); - } - - return $this->eventDispatcher; - } - - public function dispatch($eventName, array $context = array()) - { - return $this->getEventDispatcher()->dispatch($eventName, new Event($context)); - } - - public function addSubscriber(EventSubscriberInterface $subscriber) - { - $this->getEventDispatcher()->addSubscriber($subscriber); - - return $this; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Collection.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Collection.php deleted file mode 100644 index 5cb1535d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Collection.php +++ /dev/null @@ -1,403 +0,0 @@ -data = $data; - } - - /** - * Create a new collection from an array, validate the keys, and add default values where missing - * - * @param array $config Configuration values to apply. - * @param array $defaults Default parameters - * @param array $required Required parameter names - * - * @return self - * @throws InvalidArgumentException if a parameter is missing - */ - public static function fromConfig(array $config = array(), array $defaults = array(), array $required = array()) - { - $data = $config + $defaults; - - if ($missing = array_diff($required, array_keys($data))) { - throw new InvalidArgumentException('Config is missing the following keys: ' . implode(', ', $missing)); - } - - return new self($data); - } - - public function count() - { - return count($this->data); - } - - public function getIterator() - { - return new \ArrayIterator($this->data); - } - - public function toArray() - { - return $this->data; - } - - /** - * Removes all key value pairs - * - * @return Collection - */ - public function clear() - { - $this->data = array(); - - return $this; - } - - /** - * Get all or a subset of matching key value pairs - * - * @param array $keys Pass an array of keys to retrieve only a subset of key value pairs - * - * @return array Returns an array of all matching key value pairs - */ - public function getAll(array $keys = null) - { - return $keys ? array_intersect_key($this->data, array_flip($keys)) : $this->data; - } - - /** - * Get a specific key value. - * - * @param string $key Key to retrieve. - * - * @return mixed|null Value of the key or NULL - */ - public function get($key) - { - return isset($this->data[$key]) ? $this->data[$key] : null; - } - - /** - * Set a key value pair - * - * @param string $key Key to set - * @param mixed $value Value to set - * - * @return Collection Returns a reference to the object - */ - public function set($key, $value) - { - $this->data[$key] = $value; - - return $this; - } - - /** - * Add a value to a key. If a key of the same name has already been added, the key value will be converted into an - * array and the new value will be pushed to the end of the array. - * - * @param string $key Key to add - * @param mixed $value Value to add to the key - * - * @return Collection Returns a reference to the object. - */ - public function add($key, $value) - { - if (!array_key_exists($key, $this->data)) { - $this->data[$key] = $value; - } elseif (is_array($this->data[$key])) { - $this->data[$key][] = $value; - } else { - $this->data[$key] = array($this->data[$key], $value); - } - - return $this; - } - - /** - * Remove a specific key value pair - * - * @param string $key A key to remove - * - * @return Collection - */ - public function remove($key) - { - unset($this->data[$key]); - - return $this; - } - - /** - * Get all keys in the collection - * - * @return array - */ - public function getKeys() - { - return array_keys($this->data); - } - - /** - * Returns whether or not the specified key is present. - * - * @param string $key The key for which to check the existence. - * - * @return bool - */ - public function hasKey($key) - { - return array_key_exists($key, $this->data); - } - - /** - * Case insensitive search the keys in the collection - * - * @param string $key Key to search for - * - * @return bool|string Returns false if not found, otherwise returns the key - */ - public function keySearch($key) - { - foreach (array_keys($this->data) as $k) { - if (!strcasecmp($k, $key)) { - return $k; - } - } - - return false; - } - - /** - * Checks if any keys contains a certain value - * - * @param string $value Value to search for - * - * @return mixed Returns the key if the value was found FALSE if the value was not found. - */ - public function hasValue($value) - { - return array_search($value, $this->data); - } - - /** - * Replace the data of the object with the value of an array - * - * @param array $data Associative array of data - * - * @return Collection Returns a reference to the object - */ - public function replace(array $data) - { - $this->data = $data; - - return $this; - } - - /** - * Add and merge in a Collection or array of key value pair data. - * - * @param Collection|array $data Associative array of key value pair data - * - * @return Collection Returns a reference to the object. - */ - public function merge($data) - { - foreach ($data as $key => $value) { - $this->add($key, $value); - } - - return $this; - } - - /** - * Over write key value pairs in this collection with all of the data from an array or collection. - * - * @param array|\Traversable $data Values to override over this config - * - * @return self - */ - public function overwriteWith($data) - { - if (is_array($data)) { - $this->data = $data + $this->data; - } elseif ($data instanceof Collection) { - $this->data = $data->toArray() + $this->data; - } else { - foreach ($data as $key => $value) { - $this->data[$key] = $value; - } - } - - return $this; - } - - /** - * Returns a Collection containing all the elements of the collection after applying the callback function to each - * one. The Closure should accept three parameters: (string) $key, (string) $value, (array) $context and return a - * modified value - * - * @param \Closure $closure Closure to apply - * @param array $context Context to pass to the closure - * @param bool $static Set to TRUE to use the same class as the return rather than returning a Collection - * - * @return Collection - */ - public function map(\Closure $closure, array $context = array(), $static = true) - { - $collection = $static ? new static() : new self(); - foreach ($this as $key => $value) { - $collection->add($key, $closure($key, $value, $context)); - } - - return $collection; - } - - /** - * Iterates over each key value pair in the collection passing them to the Closure. If the Closure function returns - * true, the current value from input is returned into the result Collection. The Closure must accept three - * parameters: (string) $key, (string) $value and return Boolean TRUE or FALSE for each value. - * - * @param \Closure $closure Closure evaluation function - * @param bool $static Set to TRUE to use the same class as the return rather than returning a Collection - * - * @return Collection - */ - public function filter(\Closure $closure, $static = true) - { - $collection = ($static) ? new static() : new self(); - foreach ($this->data as $key => $value) { - if ($closure($key, $value)) { - $collection->add($key, $value); - } - } - - return $collection; - } - - public function offsetExists($offset) - { - return isset($this->data[$offset]); - } - - public function offsetGet($offset) - { - return isset($this->data[$offset]) ? $this->data[$offset] : null; - } - - public function offsetSet($offset, $value) - { - $this->data[$offset] = $value; - } - - public function offsetUnset($offset) - { - unset($this->data[$offset]); - } - - /** - * Set a value into a nested array key. Keys will be created as needed to set the value. - * - * @param string $path Path to set - * @param mixed $value Value to set at the key - * - * @return self - * @throws RuntimeException when trying to setPath using a nested path that travels through a scalar value - */ - public function setPath($path, $value) - { - $current =& $this->data; - $queue = explode('/', $path); - while (null !== ($key = array_shift($queue))) { - if (!is_array($current)) { - throw new RuntimeException("Trying to setPath {$path}, but {$key} is set and is not an array"); - } elseif (!$queue) { - $current[$key] = $value; - } elseif (isset($current[$key])) { - $current =& $current[$key]; - } else { - $current[$key] = array(); - $current =& $current[$key]; - } - } - - return $this; - } - - /** - * Gets a value from the collection using an array path (e.g. foo/baz/bar would retrieve bar from two nested arrays) - * Allows for wildcard searches which recursively combine matches up to the level at which the wildcard occurs. This - * can be useful for accepting any key of a sub-array and combining matching keys from each diverging path. - * - * @param string $path Path to traverse and retrieve a value from - * @param string $separator Character used to add depth to the search - * @param mixed $data Optional data to descend into (used when wildcards are encountered) - * - * @return mixed|null - */ - public function getPath($path, $separator = '/', $data = null) - { - if ($data === null) { - $data =& $this->data; - } - - $path = is_array($path) ? $path : explode($separator, $path); - while (null !== ($part = array_shift($path))) { - if (!is_array($data)) { - return null; - } elseif (isset($data[$part])) { - $data =& $data[$part]; - } elseif ($part != '*') { - return null; - } else { - // Perform a wildcard search by diverging and merging paths - $result = array(); - foreach ($data as $value) { - if (!$path) { - $result = array_merge_recursive($result, (array) $value); - } elseif (null !== ($test = $this->getPath($path, $separator, $value))) { - $result = array_merge_recursive($result, (array) $test); - } - } - return $result; - } - } - - return $data; - } - - /** - * Inject configuration settings into an input string - * - * @param string $input Input to inject - * - * @return string - * @deprecated - */ - public function inject($input) - { - Version::warn(__METHOD__ . ' is deprecated'); - $replace = array(); - foreach ($this->data as $key => $val) { - $replace['{' . $key . '}'] = $val; - } - - return strtr($input, $replace); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Event.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Event.php deleted file mode 100644 index fad76a9b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Event.php +++ /dev/null @@ -1,52 +0,0 @@ -context = $context; - } - - public function getIterator() - { - return new \ArrayIterator($this->context); - } - - public function offsetGet($offset) - { - return isset($this->context[$offset]) ? $this->context[$offset] : null; - } - - public function offsetSet($offset, $value) - { - $this->context[$offset] = $value; - } - - public function offsetExists($offset) - { - return isset($this->context[$offset]); - } - - public function offsetUnset($offset) - { - unset($this->context[$offset]); - } - - public function toArray() - { - return $this->context; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/BadMethodCallException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/BadMethodCallException.php deleted file mode 100644 index 08d1c725..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/BadMethodCallException.php +++ /dev/null @@ -1,5 +0,0 @@ -shortMessage = $message; - } - - /** - * Set all of the exceptions - * - * @param array $exceptions Array of exceptions - * - * @return self - */ - public function setExceptions(array $exceptions) - { - $this->exceptions = array(); - foreach ($exceptions as $exception) { - $this->add($exception); - } - - return $this; - } - - /** - * Add exceptions to the collection - * - * @param ExceptionCollection|\Exception $e Exception to add - * - * @return ExceptionCollection; - */ - public function add($e) - { - $this->exceptions[] = $e; - if ($this->message) { - $this->message .= "\n"; - } - - $this->message .= $this->getExceptionMessage($e, 0); - - return $this; - } - - /** - * Get the total number of request exceptions - * - * @return int - */ - public function count() - { - return count($this->exceptions); - } - - /** - * Allows array-like iteration over the request exceptions - * - * @return \ArrayIterator - */ - public function getIterator() - { - return new \ArrayIterator($this->exceptions); - } - - /** - * Get the first exception in the collection - * - * @return \Exception - */ - public function getFirst() - { - return $this->exceptions ? $this->exceptions[0] : null; - } - - private function getExceptionMessage(\Exception $e, $depth = 0) - { - static $sp = ' '; - $prefix = $depth ? str_repeat($sp, $depth) : ''; - $message = "{$prefix}(" . get_class($e) . ') ' . $e->getFile() . ' line ' . $e->getLine() . "\n"; - - if ($e instanceof self) { - if ($e->shortMessage) { - $message .= "\n{$prefix}{$sp}" . str_replace("\n", "\n{$prefix}{$sp}", $e->shortMessage) . "\n"; - } - foreach ($e as $ee) { - $message .= "\n" . $this->getExceptionMessage($ee, $depth + 1); - } - } else { - $message .= "\n{$prefix}{$sp}" . str_replace("\n", "\n{$prefix}{$sp}", $e->getMessage()) . "\n"; - $message .= "\n{$prefix}{$sp}" . str_replace("\n", "\n{$prefix}{$sp}", $e->getTraceAsString()) . "\n"; - } - - return str_replace(getcwd(), '.', $message); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/GuzzleException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/GuzzleException.php deleted file mode 100644 index 458e6f2e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Common/Exception/GuzzleException.php +++ /dev/null @@ -1,8 +0,0 @@ -=5.3.2", - "symfony/event-dispatcher": ">=2.1" - }, - "autoload": { - "psr-0": { "Guzzle\\Common": "" } - }, - "target-dir": "Guzzle/Common", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/AbstractEntityBodyDecorator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/AbstractEntityBodyDecorator.php deleted file mode 100644 index 5005a887..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/AbstractEntityBodyDecorator.php +++ /dev/null @@ -1,221 +0,0 @@ -body = $body; - } - - public function __toString() - { - return (string) $this->body; - } - - /** - * Allow decorators to implement custom methods - * - * @param string $method Missing method name - * @param array $args Method arguments - * - * @return mixed - */ - public function __call($method, array $args) - { - return call_user_func_array(array($this->body, $method), $args); - } - - public function close() - { - return $this->body->close(); - } - - public function setRewindFunction($callable) - { - $this->body->setRewindFunction($callable); - - return $this; - } - - public function rewind() - { - return $this->body->rewind(); - } - - public function compress($filter = 'zlib.deflate') - { - return $this->body->compress($filter); - } - - public function uncompress($filter = 'zlib.inflate') - { - return $this->body->uncompress($filter); - } - - public function getContentLength() - { - return $this->getSize(); - } - - public function getContentType() - { - return $this->body->getContentType(); - } - - public function getContentMd5($rawOutput = false, $base64Encode = false) - { - $hash = Stream::getHash($this, 'md5', $rawOutput); - - return $hash && $base64Encode ? base64_encode($hash) : $hash; - } - - public function getContentEncoding() - { - return $this->body->getContentEncoding(); - } - - public function getMetaData($key = null) - { - return $this->body->getMetaData($key); - } - - public function getStream() - { - return $this->body->getStream(); - } - - public function setStream($stream, $size = 0) - { - $this->body->setStream($stream, $size); - - return $this; - } - - public function detachStream() - { - $this->body->detachStream(); - - return $this; - } - - public function getWrapper() - { - return $this->body->getWrapper(); - } - - public function getWrapperData() - { - return $this->body->getWrapperData(); - } - - public function getStreamType() - { - return $this->body->getStreamType(); - } - - public function getUri() - { - return $this->body->getUri(); - } - - public function getSize() - { - return $this->body->getSize(); - } - - public function isReadable() - { - return $this->body->isReadable(); - } - - public function isRepeatable() - { - return $this->isSeekable() && $this->isReadable(); - } - - public function isWritable() - { - return $this->body->isWritable(); - } - - public function isConsumed() - { - return $this->body->isConsumed(); - } - - /** - * Alias of isConsumed() - * {@inheritdoc} - */ - public function feof() - { - return $this->isConsumed(); - } - - public function isLocal() - { - return $this->body->isLocal(); - } - - public function isSeekable() - { - return $this->body->isSeekable(); - } - - public function setSize($size) - { - $this->body->setSize($size); - - return $this; - } - - public function seek($offset, $whence = SEEK_SET) - { - return $this->body->seek($offset, $whence); - } - - public function read($length) - { - return $this->body->read($length); - } - - public function write($string) - { - return $this->body->write($string); - } - - public function readLine($maxLength = null) - { - return $this->body->readLine($maxLength); - } - - public function ftell() - { - return $this->body->ftell(); - } - - public function getCustomData($key) - { - return $this->body->getCustomData($key); - } - - public function setCustomData($key, $value) - { - $this->body->setCustomData($key, $value); - - return $this; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/CachingEntityBody.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/CachingEntityBody.php deleted file mode 100644 index c65c1365..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/CachingEntityBody.php +++ /dev/null @@ -1,229 +0,0 @@ -remoteStream = $body; - $this->body = new EntityBody(fopen('php://temp', 'r+')); - } - - /** - * Will give the contents of the buffer followed by the exhausted remote stream. - * - * Warning: Loads the entire stream into memory - * - * @return string - */ - public function __toString() - { - $pos = $this->ftell(); - $this->rewind(); - - $str = ''; - while (!$this->isConsumed()) { - $str .= $this->read(16384); - } - - $this->seek($pos); - - return $str; - } - - public function getSize() - { - return max($this->body->getSize(), $this->remoteStream->getSize()); - } - - /** - * {@inheritdoc} - * @throws RuntimeException When seeking with SEEK_END or when seeking past the total size of the buffer stream - */ - public function seek($offset, $whence = SEEK_SET) - { - if ($whence == SEEK_SET) { - $byte = $offset; - } elseif ($whence == SEEK_CUR) { - $byte = $offset + $this->ftell(); - } else { - throw new RuntimeException(__CLASS__ . ' supports only SEEK_SET and SEEK_CUR seek operations'); - } - - // You cannot skip ahead past where you've read from the remote stream - if ($byte > $this->body->getSize()) { - throw new RuntimeException( - "Cannot seek to byte {$byte} when the buffered stream only contains {$this->body->getSize()} bytes" - ); - } - - return $this->body->seek($byte); - } - - public function rewind() - { - return $this->seek(0); - } - - /** - * Does not support custom rewind functions - * - * @throws RuntimeException - */ - public function setRewindFunction($callable) - { - throw new RuntimeException(__CLASS__ . ' does not support custom stream rewind functions'); - } - - public function read($length) - { - // Perform a regular read on any previously read data from the buffer - $data = $this->body->read($length); - $remaining = $length - strlen($data); - - // More data was requested so read from the remote stream - if ($remaining) { - // If data was written to the buffer in a position that would have been filled from the remote stream, - // then we must skip bytes on the remote stream to emulate overwriting bytes from that position. This - // mimics the behavior of other PHP stream wrappers. - $remoteData = $this->remoteStream->read($remaining + $this->skipReadBytes); - - if ($this->skipReadBytes) { - $len = strlen($remoteData); - $remoteData = substr($remoteData, $this->skipReadBytes); - $this->skipReadBytes = max(0, $this->skipReadBytes - $len); - } - - $data .= $remoteData; - $this->body->write($remoteData); - } - - return $data; - } - - public function write($string) - { - // When appending to the end of the currently read stream, you'll want to skip bytes from being read from - // the remote stream to emulate other stream wrappers. Basically replacing bytes of data of a fixed length. - $overflow = (strlen($string) + $this->ftell()) - $this->remoteStream->ftell(); - if ($overflow > 0) { - $this->skipReadBytes += $overflow; - } - - return $this->body->write($string); - } - - /** - * {@inheritdoc} - * @link http://php.net/manual/en/function.fgets.php - */ - public function readLine($maxLength = null) - { - $buffer = ''; - $size = 0; - while (!$this->isConsumed()) { - $byte = $this->read(1); - $buffer .= $byte; - // Break when a new line is found or the max length - 1 is reached - if ($byte == PHP_EOL || ++$size == $maxLength - 1) { - break; - } - } - - return $buffer; - } - - public function isConsumed() - { - return $this->body->isConsumed() && $this->remoteStream->isConsumed(); - } - - /** - * Close both the remote stream and buffer stream - */ - public function close() - { - return $this->remoteStream->close() && $this->body->close(); - } - - public function setStream($stream, $size = 0) - { - $this->remoteStream->setStream($stream, $size); - } - - public function getContentType() - { - return $this->remoteStream->getContentType(); - } - - public function getContentEncoding() - { - return $this->remoteStream->getContentEncoding(); - } - - public function getMetaData($key = null) - { - return $this->remoteStream->getMetaData($key); - } - - public function getStream() - { - return $this->remoteStream->getStream(); - } - - public function getWrapper() - { - return $this->remoteStream->getWrapper(); - } - - public function getWrapperData() - { - return $this->remoteStream->getWrapperData(); - } - - public function getStreamType() - { - return $this->remoteStream->getStreamType(); - } - - public function getUri() - { - return $this->remoteStream->getUri(); - } - - /** - * Always retrieve custom data from the remote stream - * {@inheritdoc} - */ - public function getCustomData($key) - { - return $this->remoteStream->getCustomData($key); - } - - /** - * Always set custom data on the remote stream - * {@inheritdoc} - */ - public function setCustomData($key, $value) - { - $this->remoteStream->setCustomData($key, $value); - - return $this; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Client.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Client.php deleted file mode 100644 index 3d7298dc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Client.php +++ /dev/null @@ -1,524 +0,0 @@ -setConfig($config ?: new Collection()); - $this->initSsl(); - $this->setBaseUrl($baseUrl); - $this->defaultHeaders = new Collection(); - $this->setRequestFactory(RequestFactory::getInstance()); - $this->userAgent = $this->getDefaultUserAgent(); - if (!$this->config[self::DISABLE_REDIRECTS]) { - $this->addSubscriber(new RedirectPlugin()); - } - } - - final public function setConfig($config) - { - if ($config instanceof Collection) { - $this->config = $config; - } elseif (is_array($config)) { - $this->config = new Collection($config); - } else { - throw new InvalidArgumentException('Config must be an array or Collection'); - } - - return $this; - } - - final public function getConfig($key = false) - { - return $key ? $this->config[$key] : $this->config; - } - - /** - * Set a default request option on the client that will be used as a default for each request - * - * @param string $keyOrPath request.options key (e.g. allow_redirects) or path to a nested key (e.g. headers/foo) - * @param mixed $value Value to set - * - * @return $this - */ - public function setDefaultOption($keyOrPath, $value) - { - $keyOrPath = self::REQUEST_OPTIONS . '/' . $keyOrPath; - $this->config->setPath($keyOrPath, $value); - - return $this; - } - - /** - * Retrieve a default request option from the client - * - * @param string $keyOrPath request.options key (e.g. allow_redirects) or path to a nested key (e.g. headers/foo) - * - * @return mixed|null - */ - public function getDefaultOption($keyOrPath) - { - $keyOrPath = self::REQUEST_OPTIONS . '/' . $keyOrPath; - - return $this->config->getPath($keyOrPath); - } - - final public function setSslVerification($certificateAuthority = true, $verifyPeer = true, $verifyHost = 2) - { - $opts = $this->config[self::CURL_OPTIONS] ?: array(); - - if ($certificateAuthority === true) { - // use bundled CA bundle, set secure defaults - $opts[CURLOPT_CAINFO] = __DIR__ . '/Resources/cacert.pem'; - $opts[CURLOPT_SSL_VERIFYPEER] = true; - $opts[CURLOPT_SSL_VERIFYHOST] = 2; - } elseif ($certificateAuthority === false) { - unset($opts[CURLOPT_CAINFO]); - $opts[CURLOPT_SSL_VERIFYPEER] = false; - $opts[CURLOPT_SSL_VERIFYHOST] = 0; - } elseif ($verifyPeer !== true && $verifyPeer !== false && $verifyPeer !== 1 && $verifyPeer !== 0) { - throw new InvalidArgumentException('verifyPeer must be 1, 0 or boolean'); - } elseif ($verifyHost !== 0 && $verifyHost !== 1 && $verifyHost !== 2) { - throw new InvalidArgumentException('verifyHost must be 0, 1 or 2'); - } else { - $opts[CURLOPT_SSL_VERIFYPEER] = $verifyPeer; - $opts[CURLOPT_SSL_VERIFYHOST] = $verifyHost; - if (is_file($certificateAuthority)) { - unset($opts[CURLOPT_CAPATH]); - $opts[CURLOPT_CAINFO] = $certificateAuthority; - } elseif (is_dir($certificateAuthority)) { - unset($opts[CURLOPT_CAINFO]); - $opts[CURLOPT_CAPATH] = $certificateAuthority; - } else { - throw new RuntimeException( - 'Invalid option passed to ' . self::SSL_CERT_AUTHORITY . ': ' . $certificateAuthority - ); - } - } - - $this->config->set(self::CURL_OPTIONS, $opts); - - return $this; - } - - public function createRequest($method = 'GET', $uri = null, $headers = null, $body = null, array $options = array()) - { - if (!$uri) { - $url = $this->getBaseUrl(); - } else { - if (!is_array($uri)) { - $templateVars = null; - } else { - list($uri, $templateVars) = $uri; - } - if (strpos($uri, '://')) { - // Use absolute URLs as-is - $url = $this->expandTemplate($uri, $templateVars); - } else { - $url = Url::factory($this->getBaseUrl())->combine($this->expandTemplate($uri, $templateVars)); - } - } - - // If default headers are provided, then merge them under any explicitly provided headers for the request - if (count($this->defaultHeaders)) { - if (!$headers) { - $headers = $this->defaultHeaders->toArray(); - } elseif (is_array($headers)) { - $headers += $this->defaultHeaders->toArray(); - } elseif ($headers instanceof Collection) { - $headers = $headers->toArray() + $this->defaultHeaders->toArray(); - } - } - - return $this->prepareRequest($this->requestFactory->create($method, (string) $url, $headers, $body), $options); - } - - public function getBaseUrl($expand = true) - { - return $expand ? $this->expandTemplate($this->baseUrl) : $this->baseUrl; - } - - public function setBaseUrl($url) - { - $this->baseUrl = $url; - - return $this; - } - - public function setUserAgent($userAgent, $includeDefault = false) - { - if ($includeDefault) { - $userAgent .= ' ' . $this->getDefaultUserAgent(); - } - $this->userAgent = $userAgent; - - return $this; - } - - /** - * Get the default User-Agent string to use with Guzzle - * - * @return string - */ - public function getDefaultUserAgent() - { - return 'Guzzle/' . Version::VERSION - . ' curl/' . CurlVersion::getInstance()->get('version') - . ' PHP/' . PHP_VERSION; - } - - public function get($uri = null, $headers = null, $options = array()) - { - // BC compat: $options can be a string, resource, etc to specify where the response body is downloaded - return is_array($options) - ? $this->createRequest('GET', $uri, $headers, null, $options) - : $this->createRequest('GET', $uri, $headers, $options); - } - - public function head($uri = null, $headers = null, array $options = array()) - { - return $this->createRequest('HEAD', $uri, $headers, null, $options); - } - - public function delete($uri = null, $headers = null, $body = null, array $options = array()) - { - return $this->createRequest('DELETE', $uri, $headers, $body, $options); - } - - public function put($uri = null, $headers = null, $body = null, array $options = array()) - { - return $this->createRequest('PUT', $uri, $headers, $body, $options); - } - - public function patch($uri = null, $headers = null, $body = null, array $options = array()) - { - return $this->createRequest('PATCH', $uri, $headers, $body, $options); - } - - public function post($uri = null, $headers = null, $postBody = null, array $options = array()) - { - return $this->createRequest('POST', $uri, $headers, $postBody, $options); - } - - public function options($uri = null, array $options = array()) - { - return $this->createRequest('OPTIONS', $uri, $options); - } - - public function send($requests) - { - if (!($requests instanceof RequestInterface)) { - return $this->sendMultiple($requests); - } - - try { - /** @var $requests RequestInterface */ - $this->getCurlMulti()->add($requests)->send(); - return $requests->getResponse(); - } catch (ExceptionCollection $e) { - throw $e->getFirst(); - } - } - - /** - * Set a curl multi object to be used internally by the client for transferring requests. - * - * @param CurlMultiInterface $curlMulti Multi object - * - * @return self - */ - public function setCurlMulti(CurlMultiInterface $curlMulti) - { - $this->curlMulti = $curlMulti; - - return $this; - } - - /** - * @return CurlMultiInterface|CurlMultiProxy - */ - public function getCurlMulti() - { - if (!$this->curlMulti) { - $this->curlMulti = new CurlMultiProxy( - self::MAX_HANDLES, - $this->getConfig('select_timeout') ?: self::DEFAULT_SELECT_TIMEOUT - ); - } - - return $this->curlMulti; - } - - public function setRequestFactory(RequestFactoryInterface $factory) - { - $this->requestFactory = $factory; - - return $this; - } - - /** - * Set the URI template expander to use with the client - * - * @param UriTemplateInterface $uriTemplate URI template expander - * - * @return self - */ - public function setUriTemplate(UriTemplateInterface $uriTemplate) - { - $this->uriTemplate = $uriTemplate; - - return $this; - } - - /** - * Expand a URI template while merging client config settings into the template variables - * - * @param string $template Template to expand - * @param array $variables Variables to inject - * - * @return string - */ - protected function expandTemplate($template, array $variables = null) - { - $expansionVars = $this->getConfig()->toArray(); - if ($variables) { - $expansionVars = $variables + $expansionVars; - } - - return $this->getUriTemplate()->expand($template, $expansionVars); - } - - /** - * Get the URI template expander used by the client - * - * @return UriTemplateInterface - */ - protected function getUriTemplate() - { - if (!$this->uriTemplate) { - $this->uriTemplate = ParserRegistry::getInstance()->getParser('uri_template'); - } - - return $this->uriTemplate; - } - - /** - * Send multiple requests in parallel - * - * @param array $requests Array of RequestInterface objects - * - * @return array Returns an array of Response objects - */ - protected function sendMultiple(array $requests) - { - $curlMulti = $this->getCurlMulti(); - foreach ($requests as $request) { - $curlMulti->add($request); - } - $curlMulti->send(); - - /** @var $request RequestInterface */ - $result = array(); - foreach ($requests as $request) { - $result[] = $request->getResponse(); - } - - return $result; - } - - /** - * Prepare a request to be sent from the Client by adding client specific behaviors and properties to the request. - * - * @param RequestInterface $request Request to prepare for the client - * @param array $options Options to apply to the request - * - * @return RequestInterface - */ - protected function prepareRequest(RequestInterface $request, array $options = array()) - { - $request->setClient($this)->setEventDispatcher(clone $this->getEventDispatcher()); - - if ($curl = $this->config[self::CURL_OPTIONS]) { - $request->getCurlOptions()->overwriteWith(CurlHandle::parseCurlConfig($curl)); - } - - if ($params = $this->config[self::REQUEST_PARAMS]) { - Version::warn('request.params is deprecated. Use request.options to add default request options.'); - $request->getParams()->overwriteWith($params); - } - - if ($this->userAgent && !$request->hasHeader('User-Agent')) { - $request->setHeader('User-Agent', $this->userAgent); - } - - if ($defaults = $this->config[self::REQUEST_OPTIONS]) { - $this->requestFactory->applyOptions($request, $defaults, RequestFactoryInterface::OPTIONS_AS_DEFAULTS); - } - - if ($options) { - $this->requestFactory->applyOptions($request, $options); - } - - $this->dispatch('client.create_request', array('client' => $this, 'request' => $request)); - - return $request; - } - - /** - * Initializes SSL settings - */ - protected function initSsl() - { - $authority = $this->config[self::SSL_CERT_AUTHORITY]; - - if ($authority === 'system') { - return; - } - - if ($authority === null) { - $authority = true; - } - - if ($authority === true && substr(__FILE__, 0, 7) == 'phar://') { - $authority = self::extractPharCacert(__DIR__ . '/Resources/cacert.pem'); - } - - $this->setSslVerification($authority); - } - - /** - * @deprecated - */ - public function getDefaultHeaders() - { - Version::warn(__METHOD__ . ' is deprecated. Use the request.options array to retrieve default request options'); - return $this->defaultHeaders; - } - - /** - * @deprecated - */ - public function setDefaultHeaders($headers) - { - Version::warn(__METHOD__ . ' is deprecated. Use the request.options array to specify default request options'); - if ($headers instanceof Collection) { - $this->defaultHeaders = $headers; - } elseif (is_array($headers)) { - $this->defaultHeaders = new Collection($headers); - } else { - throw new InvalidArgumentException('Headers must be an array or Collection'); - } - - return $this; - } - - /** - * @deprecated - */ - public function preparePharCacert($md5Check = true) - { - return sys_get_temp_dir() . '/guzzle-cacert.pem'; - } - - /** - * Copies the phar cacert from a phar into the temp directory. - * - * @param string $pharCacertPath Path to the phar cacert. For example: - * 'phar://aws.phar/Guzzle/Http/Resources/cacert.pem' - * - * @return string Returns the path to the extracted cacert file. - * @throws \RuntimeException Throws if the phar cacert cannot be found or - * the file cannot be copied to the temp dir. - */ - public static function extractPharCacert($pharCacertPath) - { - // Copy the cacert.pem file from the phar if it is not in the temp - // folder. - $certFile = sys_get_temp_dir() . '/guzzle-cacert.pem'; - - if (!file_exists($pharCacertPath)) { - throw new \RuntimeException("Could not find $pharCacertPath"); - } - - if (!file_exists($certFile) || - filesize($certFile) != filesize($pharCacertPath) - ) { - if (!copy($pharCacertPath, $certFile)) { - throw new \RuntimeException( - "Could not copy {$pharCacertPath} to {$certFile}: " - . var_export(error_get_last(), true) - ); - } - } - - return $certFile; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/ClientInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/ClientInterface.php deleted file mode 100644 index 10e4de2a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/ClientInterface.php +++ /dev/null @@ -1,223 +0,0 @@ -getCurlOptions(); - $mediator = new RequestMediator($request, $requestCurlOptions->get('emit_io')); - $tempContentLength = null; - $method = $request->getMethod(); - $bodyAsString = $requestCurlOptions->get(self::BODY_AS_STRING); - - // Prepare url - $url = (string)$request->getUrl(); - if(($pos = strpos($url, '#')) !== false ){ - // strip fragment from url - $url = substr($url, 0, $pos); - } - - // Array of default cURL options. - $curlOptions = array( - CURLOPT_URL => $url, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_RETURNTRANSFER => false, - CURLOPT_HEADER => false, - CURLOPT_PORT => $request->getPort(), - CURLOPT_HTTPHEADER => array(), - CURLOPT_WRITEFUNCTION => array($mediator, 'writeResponseBody'), - CURLOPT_HEADERFUNCTION => array($mediator, 'receiveResponseHeader'), - CURLOPT_HTTP_VERSION => $request->getProtocolVersion() === '1.0' - ? CURL_HTTP_VERSION_1_0 : CURL_HTTP_VERSION_1_1, - // Verifies the authenticity of the peer's certificate - CURLOPT_SSL_VERIFYPEER => 1, - // Certificate must indicate that the server is the server to which you meant to connect - CURLOPT_SSL_VERIFYHOST => 2 - ); - - if (defined('CURLOPT_PROTOCOLS')) { - // Allow only HTTP and HTTPS protocols - $curlOptions[CURLOPT_PROTOCOLS] = CURLPROTO_HTTP | CURLPROTO_HTTPS; - } - - // Add CURLOPT_ENCODING if Accept-Encoding header is provided - if ($acceptEncodingHeader = $request->getHeader('Accept-Encoding')) { - $curlOptions[CURLOPT_ENCODING] = (string) $acceptEncodingHeader; - // Let cURL set the Accept-Encoding header, prevents duplicate values - $request->removeHeader('Accept-Encoding'); - } - - // Enable curl debug information if the 'debug' param was set - if ($requestCurlOptions->get('debug')) { - $curlOptions[CURLOPT_STDERR] = fopen('php://temp', 'r+'); - // @codeCoverageIgnoreStart - if (false === $curlOptions[CURLOPT_STDERR]) { - throw new RuntimeException('Unable to create a stream for CURLOPT_STDERR'); - } - // @codeCoverageIgnoreEnd - $curlOptions[CURLOPT_VERBOSE] = true; - } - - // Specify settings according to the HTTP method - if ($method == 'GET') { - $curlOptions[CURLOPT_HTTPGET] = true; - } elseif ($method == 'HEAD') { - $curlOptions[CURLOPT_NOBODY] = true; - // HEAD requests do not use a write function - unset($curlOptions[CURLOPT_WRITEFUNCTION]); - } elseif (!($request instanceof EntityEnclosingRequest)) { - $curlOptions[CURLOPT_CUSTOMREQUEST] = $method; - } else { - - $curlOptions[CURLOPT_CUSTOMREQUEST] = $method; - - // Handle sending raw bodies in a request - if ($request->getBody()) { - // You can send the body as a string using curl's CURLOPT_POSTFIELDS - if ($bodyAsString) { - $curlOptions[CURLOPT_POSTFIELDS] = (string) $request->getBody(); - // Allow curl to add the Content-Length for us to account for the times when - // POST redirects are followed by GET requests - if ($tempContentLength = $request->getHeader('Content-Length')) { - $tempContentLength = (int) (string) $tempContentLength; - } - // Remove the curl generated Content-Type header if none was set manually - if (!$request->hasHeader('Content-Type')) { - $curlOptions[CURLOPT_HTTPHEADER][] = 'Content-Type:'; - } - } else { - $curlOptions[CURLOPT_UPLOAD] = true; - // Let cURL handle setting the Content-Length header - if ($tempContentLength = $request->getHeader('Content-Length')) { - $tempContentLength = (int) (string) $tempContentLength; - $curlOptions[CURLOPT_INFILESIZE] = $tempContentLength; - } - // Add a callback for curl to read data to send with the request only if a body was specified - $curlOptions[CURLOPT_READFUNCTION] = array($mediator, 'readRequestBody'); - // Attempt to seek to the start of the stream - $request->getBody()->seek(0); - } - - } else { - - // Special handling for POST specific fields and files - $postFields = false; - if (count($request->getPostFiles())) { - $postFields = $request->getPostFields()->useUrlEncoding(false)->urlEncode(); - foreach ($request->getPostFiles() as $key => $data) { - $prefixKeys = count($data) > 1; - foreach ($data as $index => $file) { - // Allow multiple files in the same key - $fieldKey = $prefixKeys ? "{$key}[{$index}]" : $key; - $postFields[$fieldKey] = $file->getCurlValue(); - } - } - } elseif (count($request->getPostFields())) { - $postFields = (string) $request->getPostFields()->useUrlEncoding(true); - } - - if ($postFields !== false) { - if ($method == 'POST') { - unset($curlOptions[CURLOPT_CUSTOMREQUEST]); - $curlOptions[CURLOPT_POST] = true; - } - $curlOptions[CURLOPT_POSTFIELDS] = $postFields; - $request->removeHeader('Content-Length'); - } - } - - // If the Expect header is not present, prevent curl from adding it - if (!$request->hasHeader('Expect')) { - $curlOptions[CURLOPT_HTTPHEADER][] = 'Expect:'; - } - } - - // If a Content-Length header was specified but we want to allow curl to set one for us - if (null !== $tempContentLength) { - $request->removeHeader('Content-Length'); - } - - // Set custom cURL options - foreach ($requestCurlOptions->toArray() as $key => $value) { - if (is_numeric($key)) { - $curlOptions[$key] = $value; - } - } - - // Do not set an Accept header by default - if (!isset($curlOptions[CURLOPT_ENCODING])) { - $curlOptions[CURLOPT_HTTPHEADER][] = 'Accept:'; - } - - // Add any custom headers to the request. Empty headers will cause curl to not send the header at all. - foreach ($request->getHeaderLines() as $line) { - $curlOptions[CURLOPT_HTTPHEADER][] = $line; - } - - // Add the content-length header back if it was temporarily removed - if (null !== $tempContentLength) { - $request->setHeader('Content-Length', $tempContentLength); - } - - // Apply the options to a new cURL handle. - $handle = curl_init(); - - // Enable the progress function if the 'progress' param was set - if ($requestCurlOptions->get('progress')) { - // Wrap the function in a function that provides the curl handle to the mediator's progress function - // Using this rather than injecting the handle into the mediator prevents a circular reference - $curlOptions[CURLOPT_PROGRESSFUNCTION] = function () use ($mediator, $handle) { - $args = func_get_args(); - $args[] = $handle; - - // PHP 5.5 pushed the handle onto the start of the args - if (is_resource($args[0])) { - array_shift($args); - } - - call_user_func_array(array($mediator, 'progress'), $args); - }; - $curlOptions[CURLOPT_NOPROGRESS] = false; - } - - curl_setopt_array($handle, $curlOptions); - - return new static($handle, $curlOptions); - } - - /** - * Construct a new CurlHandle object that wraps a cURL handle - * - * @param resource $handle Configured cURL handle resource - * @param Collection|array $options Curl options to use with the handle - * - * @throws InvalidArgumentException - */ - public function __construct($handle, $options) - { - if (!is_resource($handle)) { - throw new InvalidArgumentException('Invalid handle provided'); - } - if (is_array($options)) { - $this->options = new Collection($options); - } elseif ($options instanceof Collection) { - $this->options = $options; - } else { - throw new InvalidArgumentException('Expected array or Collection'); - } - $this->handle = $handle; - } - - /** - * Destructor - */ - public function __destruct() - { - $this->close(); - } - - /** - * Close the curl handle - */ - public function close() - { - if (is_resource($this->handle)) { - curl_close($this->handle); - } - $this->handle = null; - } - - /** - * Check if the handle is available and still OK - * - * @return bool - */ - public function isAvailable() - { - return is_resource($this->handle); - } - - /** - * Get the last error that occurred on the cURL handle - * - * @return string - */ - public function getError() - { - return $this->isAvailable() ? curl_error($this->handle) : ''; - } - - /** - * Get the last error number that occurred on the cURL handle - * - * @return int - */ - public function getErrorNo() - { - if ($this->errorNo) { - return $this->errorNo; - } - - return $this->isAvailable() ? curl_errno($this->handle) : CURLE_OK; - } - - /** - * Set the curl error number - * - * @param int $error Error number to set - * - * @return CurlHandle - */ - public function setErrorNo($error) - { - $this->errorNo = $error; - - return $this; - } - - /** - * Get cURL curl_getinfo data - * - * @param int $option Option to retrieve. Pass null to retrieve all data as an array. - * - * @return array|mixed - */ - public function getInfo($option = null) - { - if (!is_resource($this->handle)) { - return null; - } - - if (null !== $option) { - return curl_getinfo($this->handle, $option) ?: null; - } - - return curl_getinfo($this->handle) ?: array(); - } - - /** - * Get the stderr output - * - * @param bool $asResource Set to TRUE to get an fopen resource - * - * @return string|resource|null - */ - public function getStderr($asResource = false) - { - $stderr = $this->getOptions()->get(CURLOPT_STDERR); - if (!$stderr) { - return null; - } - - if ($asResource) { - return $stderr; - } - - fseek($stderr, 0); - $e = stream_get_contents($stderr); - fseek($stderr, 0, SEEK_END); - - return $e; - } - - /** - * Get the URL that this handle is connecting to - * - * @return Url - */ - public function getUrl() - { - return Url::factory($this->options->get(CURLOPT_URL)); - } - - /** - * Get the wrapped curl handle - * - * @return resource|null Returns the cURL handle or null if it was closed - */ - public function getHandle() - { - return $this->isAvailable() ? $this->handle : null; - } - - /** - * Get the cURL setopt options of the handle. Changing values in the return object will have no effect on the curl - * handle after it is created. - * - * @return Collection - */ - public function getOptions() - { - return $this->options; - } - - /** - * Update a request based on the log messages of the CurlHandle - * - * @param RequestInterface $request Request to update - */ - public function updateRequestFromTransfer(RequestInterface $request) - { - if (!$request->getResponse()) { - return; - } - - // Update the transfer stats of the response - $request->getResponse()->setInfo($this->getInfo()); - - if (!$log = $this->getStderr(true)) { - return; - } - - // Parse the cURL stderr output for outgoing requests - $headers = ''; - fseek($log, 0); - while (($line = fgets($log)) !== false) { - if ($line && $line[0] == '>') { - $headers = substr(trim($line), 2) . "\r\n"; - while (($line = fgets($log)) !== false) { - if ($line[0] == '*' || $line[0] == '<') { - break; - } else { - $headers .= trim($line) . "\r\n"; - } - } - } - } - - // Add request headers to the request exactly as they were sent - if ($headers) { - $parsed = ParserRegistry::getInstance()->getParser('message')->parseRequest($headers); - if (!empty($parsed['headers'])) { - $request->setHeaders(array()); - foreach ($parsed['headers'] as $name => $value) { - $request->setHeader($name, $value); - } - } - if (!empty($parsed['version'])) { - $request->setProtocolVersion($parsed['version']); - } - } - } - - /** - * Parse the config and replace curl.* configurators into the constant based values so it can be used elsewhere - * - * @param array|Collection $config The configuration we want to parse - * - * @return array - */ - public static function parseCurlConfig($config) - { - $curlOptions = array(); - foreach ($config as $key => $value) { - if (is_string($key) && defined($key)) { - // Convert constants represented as string to constant int values - $key = constant($key); - } - if (is_string($value) && defined($value)) { - $value = constant($value); - } - $curlOptions[$key] = $value; - } - - return $curlOptions; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php deleted file mode 100644 index 9e4e6372..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php +++ /dev/null @@ -1,423 +0,0 @@ - array('CURLM_BAD_HANDLE', 'The passed-in handle is not a valid CURLM handle.'), - CURLM_BAD_EASY_HANDLE => array('CURLM_BAD_EASY_HANDLE', "An easy handle was not good/valid. It could mean that it isn't an easy handle at all, or possibly that the handle already is in used by this or another multi handle."), - CURLM_OUT_OF_MEMORY => array('CURLM_OUT_OF_MEMORY', 'You are doomed.'), - CURLM_INTERNAL_ERROR => array('CURLM_INTERNAL_ERROR', 'This can only be returned if libcurl bugs. Please report it to us!') - ); - - /** @var float */ - protected $selectTimeout; - - public function __construct($selectTimeout = 1.0) - { - $this->selectTimeout = $selectTimeout; - $this->multiHandle = curl_multi_init(); - // @codeCoverageIgnoreStart - if ($this->multiHandle === false) { - throw new CurlException('Unable to create multi handle'); - } - // @codeCoverageIgnoreEnd - $this->reset(); - } - - public function __destruct() - { - if (is_resource($this->multiHandle)) { - curl_multi_close($this->multiHandle); - } - } - - public function add(RequestInterface $request) - { - $this->requests[] = $request; - // If requests are currently transferring and this is async, then the - // request must be prepared now as the send() method is not called. - $this->beforeSend($request); - $this->dispatch(self::ADD_REQUEST, array('request' => $request)); - - return $this; - } - - public function all() - { - return $this->requests; - } - - public function remove(RequestInterface $request) - { - $this->removeHandle($request); - if (($index = array_search($request, $this->requests, true)) !== false) { - $request = $this->requests[$index]; - unset($this->requests[$index]); - $this->requests = array_values($this->requests); - $this->dispatch(self::REMOVE_REQUEST, array('request' => $request)); - return true; - } - - return false; - } - - public function reset($hard = false) - { - // Remove each request - if ($this->requests) { - foreach ($this->requests as $request) { - $this->remove($request); - } - } - - $this->handles = new \SplObjectStorage(); - $this->requests = $this->resourceHash = $this->exceptions = $this->successful = array(); - } - - public function send() - { - $this->perform(); - $exceptions = $this->exceptions; - $successful = $this->successful; - $this->reset(); - - if ($exceptions) { - $this->throwMultiException($exceptions, $successful); - } - } - - public function count() - { - return count($this->requests); - } - - /** - * Build and throw a MultiTransferException - * - * @param array $exceptions Exceptions encountered - * @param array $successful Successful requests - * @throws MultiTransferException - */ - protected function throwMultiException(array $exceptions, array $successful) - { - $multiException = new MultiTransferException('Errors during multi transfer'); - - while ($e = array_shift($exceptions)) { - $multiException->addFailedRequestWithException($e['request'], $e['exception']); - } - - // Add successful requests - foreach ($successful as $request) { - if (!$multiException->containsRequest($request)) { - $multiException->addSuccessfulRequest($request); - } - } - - throw $multiException; - } - - /** - * Prepare for sending - * - * @param RequestInterface $request Request to prepare - * @throws \Exception on error preparing the request - */ - protected function beforeSend(RequestInterface $request) - { - try { - $state = $request->setState(RequestInterface::STATE_TRANSFER); - if ($state == RequestInterface::STATE_TRANSFER) { - $this->addHandle($request); - } else { - // Requests might decide they don't need to be sent just before - // transfer (e.g. CachePlugin) - $this->remove($request); - if ($state == RequestInterface::STATE_COMPLETE) { - $this->successful[] = $request; - } - } - } catch (\Exception $e) { - // Queue the exception to be thrown when sent - $this->removeErroredRequest($request, $e); - } - } - - private function addHandle(RequestInterface $request) - { - $handle = $this->createCurlHandle($request)->getHandle(); - $this->checkCurlResult( - curl_multi_add_handle($this->multiHandle, $handle) - ); - } - - /** - * Create a curl handle for a request - * - * @param RequestInterface $request Request - * - * @return CurlHandle - */ - protected function createCurlHandle(RequestInterface $request) - { - $wrapper = CurlHandle::factory($request); - $this->handles[$request] = $wrapper; - $this->resourceHash[(int) $wrapper->getHandle()] = $request; - - return $wrapper; - } - - /** - * Get the data from the multi handle - */ - protected function perform() - { - $event = new Event(array('curl_multi' => $this)); - - while ($this->requests) { - // Notify each request as polling - $blocking = $total = 0; - foreach ($this->requests as $request) { - ++$total; - $event['request'] = $request; - $request->getEventDispatcher()->dispatch(self::POLLING_REQUEST, $event); - // The blocking variable just has to be non-falsey to block the loop - if ($request->getParams()->hasKey(self::BLOCKING)) { - ++$blocking; - } - } - if ($blocking == $total) { - // Sleep to prevent eating CPU because no requests are actually pending a select call - usleep(500); - } else { - $this->executeHandles(); - } - } - } - - /** - * Execute and select curl handles - */ - private function executeHandles() - { - // The first curl_multi_select often times out no matter what, but is usually required for fast transfers - $selectTimeout = 0.001; - $active = false; - do { - while (($mrc = curl_multi_exec($this->multiHandle, $active)) == CURLM_CALL_MULTI_PERFORM); - $this->checkCurlResult($mrc); - $this->processMessages(); - if ($active && curl_multi_select($this->multiHandle, $selectTimeout) === -1) { - // Perform a usleep if a select returns -1: https://bugs.php.net/bug.php?id=61141 - usleep(150); - } - $selectTimeout = $this->selectTimeout; - } while ($active); - } - - /** - * Process any received curl multi messages - */ - private function processMessages() - { - while ($done = curl_multi_info_read($this->multiHandle)) { - $request = $this->resourceHash[(int) $done['handle']]; - try { - $this->processResponse($request, $this->handles[$request], $done); - $this->successful[] = $request; - } catch (\Exception $e) { - $this->removeErroredRequest($request, $e); - } - } - } - - /** - * Remove a request that encountered an exception - * - * @param RequestInterface $request Request to remove - * @param \Exception $e Exception encountered - */ - protected function removeErroredRequest(RequestInterface $request, \Exception $e = null) - { - $this->exceptions[] = array('request' => $request, 'exception' => $e); - $this->remove($request); - $this->dispatch(self::MULTI_EXCEPTION, array('exception' => $e, 'all_exceptions' => $this->exceptions)); - } - - /** - * Check for errors and fix headers of a request based on a curl response - * - * @param RequestInterface $request Request to process - * @param CurlHandle $handle Curl handle object - * @param array $curl Array returned from curl_multi_info_read - * - * @throws CurlException on Curl error - */ - protected function processResponse(RequestInterface $request, CurlHandle $handle, array $curl) - { - // Set the transfer stats on the response - $handle->updateRequestFromTransfer($request); - // Check if a cURL exception occurred, and if so, notify things - $curlException = $this->isCurlException($request, $handle, $curl); - - // Always remove completed curl handles. They can be added back again - // via events if needed (e.g. ExponentialBackoffPlugin) - $this->removeHandle($request); - - if (!$curlException) { - if ($this->validateResponseWasSet($request)) { - $state = $request->setState( - RequestInterface::STATE_COMPLETE, - array('handle' => $handle) - ); - // Only remove the request if it wasn't resent as a result of - // the state change - if ($state != RequestInterface::STATE_TRANSFER) { - $this->remove($request); - } - } - return; - } - - // Set the state of the request to an error - $state = $request->setState(RequestInterface::STATE_ERROR, array('exception' => $curlException)); - // Allow things to ignore the error if possible - if ($state != RequestInterface::STATE_TRANSFER) { - $this->remove($request); - } - - // The error was not handled, so fail - if ($state == RequestInterface::STATE_ERROR) { - /** @var CurlException $curlException */ - throw $curlException; - } - } - - /** - * Remove a curl handle from the curl multi object - * - * @param RequestInterface $request Request that owns the handle - */ - protected function removeHandle(RequestInterface $request) - { - if (isset($this->handles[$request])) { - $handle = $this->handles[$request]; - curl_multi_remove_handle($this->multiHandle, $handle->getHandle()); - unset($this->handles[$request]); - unset($this->resourceHash[(int) $handle->getHandle()]); - $handle->close(); - } - } - - /** - * Check if a cURL transfer resulted in what should be an exception - * - * @param RequestInterface $request Request to check - * @param CurlHandle $handle Curl handle object - * @param array $curl Array returned from curl_multi_info_read - * - * @return CurlException|bool - */ - private function isCurlException(RequestInterface $request, CurlHandle $handle, array $curl) - { - if (CURLM_OK == $curl['result'] || CURLM_CALL_MULTI_PERFORM == $curl['result']) { - return false; - } - - $handle->setErrorNo($curl['result']); - $e = new CurlException(sprintf('[curl] %s: %s [url] %s', - $handle->getErrorNo(), $handle->getError(), $handle->getUrl())); - $e->setCurlHandle($handle) - ->setRequest($request) - ->setCurlInfo($handle->getInfo()) - ->setError($handle->getError(), $handle->getErrorNo()); - - return $e; - } - - /** - * Throw an exception for a cURL multi response if needed - * - * @param int $code Curl response code - * @throws CurlException - */ - private function checkCurlResult($code) - { - if ($code != CURLM_OK && $code != CURLM_CALL_MULTI_PERFORM) { - throw new CurlException(isset($this->multiErrors[$code]) - ? "cURL error: {$code} ({$this->multiErrors[$code][0]}): cURL message: {$this->multiErrors[$code][1]}" - : 'Unexpected cURL error: ' . $code - ); - } - } - - /** - * @link https://github.com/guzzle/guzzle/issues/710 - */ - private function validateResponseWasSet(RequestInterface $request) - { - if ($request->getResponse()) { - return true; - } - - $body = $request instanceof EntityEnclosingRequestInterface - ? $request->getBody() - : null; - - if (!$body) { - $rex = new RequestException( - 'No response was received for a request with no body. This' - . ' could mean that you are saturating your network.' - ); - $rex->setRequest($request); - $this->removeErroredRequest($request, $rex); - } elseif (!$body->isSeekable() || !$body->seek(0)) { - // Nothing we can do with this. Sorry! - $rex = new RequestException( - 'The connection was unexpectedly closed. The request would' - . ' have been retried, but attempting to rewind the' - . ' request body failed.' - ); - $rex->setRequest($request); - $this->removeErroredRequest($request, $rex); - } else { - $this->remove($request); - // Add the request back to the batch to retry automatically. - $this->requests[] = $request; - $this->addHandle($request); - } - - return false; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiInterface.php deleted file mode 100644 index 0ead7573..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiInterface.php +++ /dev/null @@ -1,58 +0,0 @@ -maxHandles = $maxHandles; - $this->selectTimeout = $selectTimeout; - // You can get some weird "Too many open files" errors when sending a large amount of requests in parallel. - // These two statements autoload classes before a system runs out of file descriptors so that you can get back - // valuable error messages if you run out. - class_exists('Guzzle\Http\Message\Response'); - class_exists('Guzzle\Http\Exception\CurlException'); - } - - public function add(RequestInterface $request) - { - $this->queued[] = $request; - - return $this; - } - - public function all() - { - $requests = $this->queued; - foreach ($this->handles as $handle) { - $requests = array_merge($requests, $handle->all()); - } - - return $requests; - } - - public function remove(RequestInterface $request) - { - foreach ($this->queued as $i => $r) { - if ($request === $r) { - unset($this->queued[$i]); - return true; - } - } - - foreach ($this->handles as $handle) { - if ($handle->remove($request)) { - return true; - } - } - - return false; - } - - public function reset($hard = false) - { - $this->queued = array(); - $this->groups = array(); - foreach ($this->handles as $handle) { - $handle->reset(); - } - if ($hard) { - $this->handles = array(); - } - - return $this; - } - - public function send() - { - if ($this->queued) { - $group = $this->getAvailableHandle(); - // Add this handle to a list of handles than is claimed - $this->groups[] = $group; - while ($request = array_shift($this->queued)) { - $group->add($request); - } - try { - $group->send(); - array_pop($this->groups); - $this->cleanupHandles(); - } catch (\Exception $e) { - // Remove the group and cleanup if an exception was encountered and no more requests in group - if (!$group->count()) { - array_pop($this->groups); - $this->cleanupHandles(); - } - throw $e; - } - } - } - - public function count() - { - return count($this->all()); - } - - /** - * Get an existing available CurlMulti handle or create a new one - * - * @return CurlMulti - */ - protected function getAvailableHandle() - { - // Grab a handle that is not claimed - foreach ($this->handles as $h) { - if (!in_array($h, $this->groups, true)) { - return $h; - } - } - - // All are claimed, so create one - $handle = new CurlMulti($this->selectTimeout); - $handle->setEventDispatcher($this->getEventDispatcher()); - $this->handles[] = $handle; - - return $handle; - } - - /** - * Trims down unused CurlMulti handles to limit the number of open connections - */ - protected function cleanupHandles() - { - if ($diff = max(0, count($this->handles) - $this->maxHandles)) { - for ($i = count($this->handles) - 1; $i > 0 && $diff > 0; $i--) { - if (!count($this->handles[$i])) { - unset($this->handles[$i]); - $diff--; - } - } - $this->handles = array_values($this->handles); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlVersion.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlVersion.php deleted file mode 100644 index c3f99dd2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlVersion.php +++ /dev/null @@ -1,66 +0,0 @@ -version) { - $this->version = curl_version(); - } - - return $this->version; - } - - /** - * Get a specific type of curl information - * - * @param string $type Version information to retrieve. This value is one of: - * - version_number: cURL 24 bit version number - * - version: cURL version number, as a string - * - ssl_version_number: OpenSSL 24 bit version number - * - ssl_version: OpenSSL version number, as a string - * - libz_version: zlib version number, as a string - * - host: Information about the host where cURL was built - * - features: A bitmask of the CURL_VERSION_XXX constants - * - protocols: An array of protocols names supported by cURL - * - * @return string|float|bool if the $type is found, and false if not found - */ - public function get($type) - { - $version = $this->getAll(); - - return isset($version[$type]) ? $version[$type] : false; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/RequestMediator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/RequestMediator.php deleted file mode 100644 index 5d1a0cd8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Curl/RequestMediator.php +++ /dev/null @@ -1,147 +0,0 @@ -request = $request; - $this->emitIo = $emitIo; - } - - /** - * Receive a response header from curl - * - * @param resource $curl Curl handle - * @param string $header Received header - * - * @return int - */ - public function receiveResponseHeader($curl, $header) - { - static $normalize = array("\r", "\n"); - $length = strlen($header); - $header = str_replace($normalize, '', $header); - - if (strpos($header, 'HTTP/') === 0) { - - $startLine = explode(' ', $header, 3); - $code = $startLine[1]; - $status = isset($startLine[2]) ? $startLine[2] : ''; - - // Only download the body of the response to the specified response - // body when a successful response is received. - if ($code >= 200 && $code < 300) { - $body = $this->request->getResponseBody(); - } else { - $body = EntityBody::factory(); - } - - $response = new Response($code, null, $body); - $response->setStatus($code, $status); - $this->request->startResponse($response); - - $this->request->dispatch('request.receive.status_line', array( - 'request' => $this, - 'line' => $header, - 'status_code' => $code, - 'reason_phrase' => $status - )); - - } elseif ($pos = strpos($header, ':')) { - $this->request->getResponse()->addHeader( - trim(substr($header, 0, $pos)), - trim(substr($header, $pos + 1)) - ); - } - - return $length; - } - - /** - * Received a progress notification - * - * @param int $downloadSize Total download size - * @param int $downloaded Amount of bytes downloaded - * @param int $uploadSize Total upload size - * @param int $uploaded Amount of bytes uploaded - * @param resource $handle CurlHandle object - */ - public function progress($downloadSize, $downloaded, $uploadSize, $uploaded, $handle = null) - { - $this->request->dispatch('curl.callback.progress', array( - 'request' => $this->request, - 'handle' => $handle, - 'download_size' => $downloadSize, - 'downloaded' => $downloaded, - 'upload_size' => $uploadSize, - 'uploaded' => $uploaded - )); - } - - /** - * Write data to the response body of a request - * - * @param resource $curl Curl handle - * @param string $write Data that was received - * - * @return int - */ - public function writeResponseBody($curl, $write) - { - if ($this->emitIo) { - $this->request->dispatch('curl.callback.write', array( - 'request' => $this->request, - 'write' => $write - )); - } - - if ($response = $this->request->getResponse()) { - return $response->getBody()->write($write); - } else { - // Unexpected data received before response headers - abort transfer - return 0; - } - } - - /** - * Read data from the request body and send it to curl - * - * @param resource $ch Curl handle - * @param resource $fd File descriptor - * @param int $length Amount of data to read - * - * @return string - */ - public function readRequestBody($ch, $fd, $length) - { - if (!($body = $this->request->getBody())) { - return ''; - } - - $read = (string) $body->read($length); - if ($this->emitIo) { - $this->request->dispatch('curl.callback.read', array('request' => $this->request, 'read' => $read)); - } - - return $read; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/EntityBody.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/EntityBody.php deleted file mode 100644 index b60d170f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/EntityBody.php +++ /dev/null @@ -1,201 +0,0 @@ -rewindFunction = $callable; - - return $this; - } - - public function rewind() - { - return $this->rewindFunction ? call_user_func($this->rewindFunction, $this) : parent::rewind(); - } - - /** - * Create a new EntityBody from a string - * - * @param string $string String of data - * - * @return EntityBody - */ - public static function fromString($string) - { - $stream = fopen('php://temp', 'r+'); - if ($string !== '') { - fwrite($stream, $string); - rewind($stream); - } - - return new static($stream); - } - - public function compress($filter = 'zlib.deflate') - { - $result = $this->handleCompression($filter); - $this->contentEncoding = $result ? $filter : false; - - return $result; - } - - public function uncompress($filter = 'zlib.inflate') - { - $offsetStart = 0; - - // When inflating gzipped data, the first 10 bytes must be stripped - // if a gzip header is present - if ($filter == 'zlib.inflate') { - // @codeCoverageIgnoreStart - if (!$this->isReadable() || ($this->isConsumed() && !$this->isSeekable())) { - return false; - } - // @codeCoverageIgnoreEnd - if (stream_get_contents($this->stream, 3, 0) === "\x1f\x8b\x08") { - $offsetStart = 10; - } - } - - $this->contentEncoding = false; - - return $this->handleCompression($filter, $offsetStart); - } - - public function getContentLength() - { - return $this->getSize(); - } - - public function getContentType() - { - return $this->getUri() ? Mimetypes::getInstance()->fromFilename($this->getUri()) : null; - } - - public function getContentMd5($rawOutput = false, $base64Encode = false) - { - if ($hash = self::getHash($this, 'md5', $rawOutput)) { - return $hash && $base64Encode ? base64_encode($hash) : $hash; - } else { - return false; - } - } - - /** - * Calculate the MD5 hash of an entity body - * - * @param EntityBodyInterface $body Entity body to calculate the hash for - * @param bool $rawOutput Whether or not to use raw output - * @param bool $base64Encode Whether or not to base64 encode raw output (only if raw output is true) - * - * @return bool|string Returns an MD5 string on success or FALSE on failure - * @deprecated This will be deprecated soon - * @codeCoverageIgnore - */ - public static function calculateMd5(EntityBodyInterface $body, $rawOutput = false, $base64Encode = false) - { - Version::warn(__CLASS__ . ' is deprecated. Use getContentMd5()'); - return $body->getContentMd5($rawOutput, $base64Encode); - } - - public function setStreamFilterContentEncoding($streamFilterContentEncoding) - { - $this->contentEncoding = $streamFilterContentEncoding; - - return $this; - } - - public function getContentEncoding() - { - return strtr($this->contentEncoding, array( - 'zlib.deflate' => 'gzip', - 'bzip2.compress' => 'compress' - )) ?: false; - } - - protected function handleCompression($filter, $offsetStart = 0) - { - // @codeCoverageIgnoreStart - if (!$this->isReadable() || ($this->isConsumed() && !$this->isSeekable())) { - return false; - } - // @codeCoverageIgnoreEnd - - $handle = fopen('php://temp', 'r+'); - $filter = @stream_filter_append($handle, $filter, STREAM_FILTER_WRITE); - if (!$filter) { - return false; - } - - // Seek to the offset start if possible - $this->seek($offsetStart); - while ($data = fread($this->stream, 8096)) { - fwrite($handle, $data); - } - - fclose($this->stream); - $this->stream = $handle; - stream_filter_remove($filter); - $stat = fstat($this->stream); - $this->size = $stat['size']; - $this->rebuildCache(); - $this->seek(0); - - // Remove any existing rewind function as the underlying stream has been replaced - $this->rewindFunction = null; - - return true; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/EntityBodyInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/EntityBodyInterface.php deleted file mode 100644 index e640f578..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/EntityBodyInterface.php +++ /dev/null @@ -1,73 +0,0 @@ -isClientError()) { - $label = 'Client error response'; - $class = __NAMESPACE__ . '\\ClientErrorResponseException'; - } elseif ($response->isServerError()) { - $label = 'Server error response'; - $class = __NAMESPACE__ . '\\ServerErrorResponseException'; - } else { - $label = 'Unsuccessful response'; - $class = __CLASS__; - } - - $message = $label . PHP_EOL . implode(PHP_EOL, array( - '[status code] ' . $response->getStatusCode(), - '[reason phrase] ' . $response->getReasonPhrase(), - '[url] ' . $request->getUrl(), - )); - - $e = new $class($message); - $e->setResponse($response); - $e->setRequest($request); - - return $e; - } - - /** - * Set the response that caused the exception - * - * @param Response $response Response to set - */ - public function setResponse(Response $response) - { - $this->response = $response; - } - - /** - * Get the response that caused the exception - * - * @return Response - */ - public function getResponse() - { - return $this->response; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ClientErrorResponseException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ClientErrorResponseException.php deleted file mode 100644 index 04d7ddc0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ClientErrorResponseException.php +++ /dev/null @@ -1,8 +0,0 @@ -curlError = $error; - $this->curlErrorNo = $number; - - return $this; - } - - /** - * Set the associated curl handle - * - * @param CurlHandle $handle Curl handle - * - * @return self - */ - public function setCurlHandle(CurlHandle $handle) - { - $this->handle = $handle; - - return $this; - } - - /** - * Get the associated cURL handle - * - * @return CurlHandle|null - */ - public function getCurlHandle() - { - return $this->handle; - } - - /** - * Get the associated cURL error message - * - * @return string|null - */ - public function getError() - { - return $this->curlError; - } - - /** - * Get the associated cURL error number - * - * @return int|null - */ - public function getErrorNo() - { - return $this->curlErrorNo; - } - - /** - * Returns curl information about the transfer - * - * @return array - */ - public function getCurlInfo() - { - return $this->curlInfo; - } - - /** - * Set curl transfer information - * - * @param array $info Array of curl transfer information - * - * @return self - * @link http://php.net/manual/en/function.curl-getinfo.php - */ - public function setCurlInfo(array $info) - { - $this->curlInfo = $info; - - return $this; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/HttpException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/HttpException.php deleted file mode 100644 index ee87295d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/HttpException.php +++ /dev/null @@ -1,10 +0,0 @@ -successfulRequests, $this->failedRequests); - } - - /** - * Add to the array of successful requests - * - * @param RequestInterface $request Successful request - * - * @return self - */ - public function addSuccessfulRequest(RequestInterface $request) - { - $this->successfulRequests[] = $request; - - return $this; - } - - /** - * Add to the array of failed requests - * - * @param RequestInterface $request Failed request - * - * @return self - */ - public function addFailedRequest(RequestInterface $request) - { - $this->failedRequests[] = $request; - - return $this; - } - - /** - * Add to the array of failed requests and associate with exceptions - * - * @param RequestInterface $request Failed request - * @param \Exception $exception Exception to add and associate with - * - * @return self - */ - public function addFailedRequestWithException(RequestInterface $request, \Exception $exception) - { - $this->add($exception) - ->addFailedRequest($request) - ->exceptionForRequest[spl_object_hash($request)] = $exception; - - return $this; - } - - /** - * Get the Exception that caused the given $request to fail - * - * @param RequestInterface $request Failed command - * - * @return \Exception|null - */ - public function getExceptionForFailedRequest(RequestInterface $request) - { - $oid = spl_object_hash($request); - - return isset($this->exceptionForRequest[$oid]) ? $this->exceptionForRequest[$oid] : null; - } - - /** - * Set all of the successful requests - * - * @param array Array of requests - * - * @return self - */ - public function setSuccessfulRequests(array $requests) - { - $this->successfulRequests = $requests; - - return $this; - } - - /** - * Set all of the failed requests - * - * @param array Array of requests - * - * @return self - */ - public function setFailedRequests(array $requests) - { - $this->failedRequests = $requests; - - return $this; - } - - /** - * Get an array of successful requests sent in the multi transfer - * - * @return array - */ - public function getSuccessfulRequests() - { - return $this->successfulRequests; - } - - /** - * Get an array of failed requests sent in the multi transfer - * - * @return array - */ - public function getFailedRequests() - { - return $this->failedRequests; - } - - /** - * Check if the exception object contains a request - * - * @param RequestInterface $request Request to check - * - * @return bool - */ - public function containsRequest(RequestInterface $request) - { - return in_array($request, $this->failedRequests, true) || in_array($request, $this->successfulRequests, true); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/RequestException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/RequestException.php deleted file mode 100644 index 274df2cb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/RequestException.php +++ /dev/null @@ -1,39 +0,0 @@ -request = $request; - - return $this; - } - - /** - * Get the request that caused the exception - * - * @return RequestInterface - */ - public function getRequest() - { - return $this->request; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ServerErrorResponseException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ServerErrorResponseException.php deleted file mode 100644 index f0f7cfe4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ServerErrorResponseException.php +++ /dev/null @@ -1,8 +0,0 @@ -eventDispatcher = $eventDispatcher; - - return $this; - } - - public function getEventDispatcher() - { - if (!$this->eventDispatcher) { - $this->eventDispatcher = new EventDispatcher(); - } - - return $this->eventDispatcher; - } - - public function dispatch($eventName, array $context = array()) - { - return $this->getEventDispatcher()->dispatch($eventName, new Event($context)); - } - - /** - * {@inheritdoc} - * @codeCoverageIgnore - */ - public function addSubscriber(EventSubscriberInterface $subscriber) - { - $this->getEventDispatcher()->addSubscriber($subscriber); - - return $this; - } - - public function read($length) - { - $event = array( - 'body' => $this, - 'length' => $length, - 'read' => $this->body->read($length) - ); - $this->dispatch('body.read', $event); - - return $event['read']; - } - - public function write($string) - { - $event = array( - 'body' => $this, - 'write' => $string, - 'result' => $this->body->write($string) - ); - $this->dispatch('body.write', $event); - - return $event['result']; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/AbstractMessage.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/AbstractMessage.php deleted file mode 100644 index 0d066ffc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/AbstractMessage.php +++ /dev/null @@ -1,220 +0,0 @@ -params = new Collection(); - $this->headerFactory = new HeaderFactory(); - $this->headers = new HeaderCollection(); - } - - /** - * Set the header factory to use to create headers - * - * @param HeaderFactoryInterface $factory - * - * @return self - */ - public function setHeaderFactory(HeaderFactoryInterface $factory) - { - $this->headerFactory = $factory; - - return $this; - } - - public function getParams() - { - return $this->params; - } - - public function addHeader($header, $value) - { - if (isset($this->headers[$header])) { - $this->headers[$header]->add($value); - } elseif ($value instanceof HeaderInterface) { - $this->headers[$header] = $value; - } else { - $this->headers[$header] = $this->headerFactory->createHeader($header, $value); - } - - return $this; - } - - public function addHeaders(array $headers) - { - foreach ($headers as $key => $value) { - $this->addHeader($key, $value); - } - - return $this; - } - - public function getHeader($header) - { - return $this->headers[$header]; - } - - public function getHeaders() - { - return $this->headers; - } - - public function getHeaderLines() - { - $headers = array(); - foreach ($this->headers as $value) { - $headers[] = $value->getName() . ': ' . $value; - } - - return $headers; - } - - public function setHeader($header, $value) - { - unset($this->headers[$header]); - $this->addHeader($header, $value); - - return $this; - } - - public function setHeaders(array $headers) - { - $this->headers->clear(); - foreach ($headers as $key => $value) { - $this->addHeader($key, $value); - } - - return $this; - } - - public function hasHeader($header) - { - return isset($this->headers[$header]); - } - - public function removeHeader($header) - { - unset($this->headers[$header]); - - return $this; - } - - /** - * @deprecated Use $message->getHeader()->parseParams() - * @codeCoverageIgnore - */ - public function getTokenizedHeader($header, $token = ';') - { - Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader()->parseParams()'); - if ($this->hasHeader($header)) { - $data = new Collection(); - foreach ($this->getHeader($header)->parseParams() as $values) { - foreach ($values as $key => $value) { - if ($value === '') { - $data->set($data->count(), $key); - } else { - $data->add($key, $value); - } - } - } - return $data; - } - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function setTokenizedHeader($header, $data, $token = ';') - { - Version::warn(__METHOD__ . ' is deprecated.'); - return $this; - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function getCacheControlDirective($directive) - { - Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->getDirective()'); - if (!($header = $this->getHeader('Cache-Control'))) { - return null; - } - - return $header->getDirective($directive); - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function hasCacheControlDirective($directive) - { - Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->hasDirective()'); - if ($header = $this->getHeader('Cache-Control')) { - return $header->hasDirective($directive); - } else { - return false; - } - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function addCacheControlDirective($directive, $value = true) - { - Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->addDirective()'); - if (!($header = $this->getHeader('Cache-Control'))) { - $this->addHeader('Cache-Control', ''); - $header = $this->getHeader('Cache-Control'); - } - - $header->addDirective($directive, $value); - - return $this; - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function removeCacheControlDirective($directive) - { - Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->removeDirective()'); - if ($header = $this->getHeader('Cache-Control')) { - $header->removeDirective($directive); - } - - return $this; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequest.php deleted file mode 100644 index 212850a2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequest.php +++ /dev/null @@ -1,247 +0,0 @@ -postFields = new QueryString(); - parent::__construct($method, $url, $headers); - } - - /** - * @return string - */ - public function __toString() - { - // Only attempt to include the POST data if it's only fields - if (count($this->postFields) && empty($this->postFiles)) { - return parent::__toString() . (string) $this->postFields; - } - - return parent::__toString() . $this->body; - } - - public function setState($state, array $context = array()) - { - parent::setState($state, $context); - if ($state == self::STATE_TRANSFER && !$this->body && !count($this->postFields) && !count($this->postFiles)) { - $this->setHeader('Content-Length', 0)->removeHeader('Transfer-Encoding'); - } - - return $this->state; - } - - public function setBody($body, $contentType = null) - { - $this->body = EntityBody::factory($body); - - // Auto detect the Content-Type from the path of the request if possible - if ($contentType === null && !$this->hasHeader('Content-Type')) { - $contentType = $this->body->getContentType(); - } - - if ($contentType) { - $this->setHeader('Content-Type', $contentType); - } - - // Always add the Expect 100-Continue header if the body cannot be rewound. This helps with redirects. - if (!$this->body->isSeekable() && $this->expectCutoff !== false) { - $this->setHeader('Expect', '100-Continue'); - } - - // Set the Content-Length header if it can be determined - $size = $this->body->getContentLength(); - if ($size !== null && $size !== false) { - $this->setHeader('Content-Length', $size); - if ($size > $this->expectCutoff) { - $this->setHeader('Expect', '100-Continue'); - } - } elseif (!$this->hasHeader('Content-Length')) { - if ('1.1' == $this->protocolVersion) { - $this->setHeader('Transfer-Encoding', 'chunked'); - } else { - throw new RequestException( - 'Cannot determine Content-Length and cannot use chunked Transfer-Encoding when using HTTP/1.0' - ); - } - } - - return $this; - } - - public function getBody() - { - return $this->body; - } - - /** - * Set the size that the entity body of the request must exceed before adding the Expect: 100-Continue header. - * - * @param int|bool $size Cutoff in bytes. Set to false to never send the expect header (even with non-seekable data) - * - * @return self - */ - public function setExpectHeaderCutoff($size) - { - $this->expectCutoff = $size; - if ($size === false || !$this->body) { - $this->removeHeader('Expect'); - } elseif ($this->body && $this->body->getSize() && $this->body->getSize() > $size) { - $this->setHeader('Expect', '100-Continue'); - } - - return $this; - } - - public function configureRedirects($strict = false, $maxRedirects = 5) - { - $this->getParams()->set(RedirectPlugin::STRICT_REDIRECTS, $strict); - if ($maxRedirects == 0) { - $this->getParams()->set(RedirectPlugin::DISABLE, true); - } else { - $this->getParams()->set(RedirectPlugin::MAX_REDIRECTS, $maxRedirects); - } - - return $this; - } - - public function getPostField($field) - { - return $this->postFields->get($field); - } - - public function getPostFields() - { - return $this->postFields; - } - - public function setPostField($key, $value) - { - $this->postFields->set($key, $value); - $this->processPostFields(); - - return $this; - } - - public function addPostFields($fields) - { - $this->postFields->merge($fields); - $this->processPostFields(); - - return $this; - } - - public function removePostField($field) - { - $this->postFields->remove($field); - $this->processPostFields(); - - return $this; - } - - public function getPostFiles() - { - return $this->postFiles; - } - - public function getPostFile($fieldName) - { - return isset($this->postFiles[$fieldName]) ? $this->postFiles[$fieldName] : null; - } - - public function removePostFile($fieldName) - { - unset($this->postFiles[$fieldName]); - $this->processPostFields(); - - return $this; - } - - public function addPostFile($field, $filename = null, $contentType = null, $postname = null) - { - $data = null; - - if ($field instanceof PostFileInterface) { - $data = $field; - } elseif (is_array($filename)) { - // Allow multiple values to be set in a single key - foreach ($filename as $file) { - $this->addPostFile($field, $file, $contentType); - } - return $this; - } elseif (!is_string($filename)) { - throw new RequestException('The path to a file must be a string'); - } elseif (!empty($filename)) { - // Adding an empty file will cause cURL to error out - $data = new PostFile($field, $filename, $contentType, $postname); - } - - if ($data) { - if (!isset($this->postFiles[$data->getFieldName()])) { - $this->postFiles[$data->getFieldName()] = array($data); - } else { - $this->postFiles[$data->getFieldName()][] = $data; - } - $this->processPostFields(); - } - - return $this; - } - - public function addPostFiles(array $files) - { - foreach ($files as $key => $file) { - if ($file instanceof PostFileInterface) { - $this->addPostFile($file, null, null, false); - } elseif (is_string($file)) { - // Convert non-associative array keys into 'file' - if (is_numeric($key)) { - $key = 'file'; - } - $this->addPostFile($key, $file, null, false); - } else { - throw new RequestException('File must be a string or instance of PostFileInterface'); - } - } - - return $this; - } - - /** - * Determine what type of request should be sent based on post fields - */ - protected function processPostFields() - { - if (!$this->postFiles) { - $this->removeHeader('Expect')->setHeader('Content-Type', self::URL_ENCODED); - } else { - $this->setHeader('Content-Type', self::MULTIPART); - if ($this->expectCutoff !== false) { - $this->setHeader('Expect', '100-Continue'); - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequestInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequestInterface.php deleted file mode 100644 index 49ad4595..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequestInterface.php +++ /dev/null @@ -1,137 +0,0 @@ - filenames where filename can be a string or PostFileInterface - * - * @return self - */ - public function addPostFiles(array $files); - - /** - * Configure how redirects are handled for the request - * - * @param bool $strict Set to true to follow strict RFC compliance when redirecting POST requests. Most - * browsers with follow a 301-302 redirect for a POST request with a GET request. This is - * the default behavior of Guzzle. Enable strict redirects to redirect these responses - * with a POST rather than a GET request. - * @param int $maxRedirects Specify the maximum number of allowed redirects. Set to 0 to disable redirects. - * - * @return self - */ - public function configureRedirects($strict = false, $maxRedirects = 5); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header.php deleted file mode 100644 index 50597b2a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header.php +++ /dev/null @@ -1,182 +0,0 @@ -header = trim($header); - $this->glue = $glue; - - foreach ((array) $values as $value) { - foreach ((array) $value as $v) { - $this->values[] = $v; - } - } - } - - public function __toString() - { - return implode($this->glue . ' ', $this->toArray()); - } - - public function add($value) - { - $this->values[] = $value; - - return $this; - } - - public function getName() - { - return $this->header; - } - - public function setName($name) - { - $this->header = $name; - - return $this; - } - - public function setGlue($glue) - { - $this->glue = $glue; - - return $this; - } - - public function getGlue() - { - return $this->glue; - } - - /** - * Normalize the header to be a single header with an array of values. - * - * If any values of the header contains the glue string value (e.g. ","), then the value will be exploded into - * multiple entries in the header. - * - * @return self - */ - public function normalize() - { - $values = $this->toArray(); - - for ($i = 0, $total = count($values); $i < $total; $i++) { - if (strpos($values[$i], $this->glue) !== false) { - // Explode on glue when the glue is not inside of a comma - foreach (preg_split('/' . preg_quote($this->glue) . '(?=([^"]*"[^"]*")*[^"]*$)/', $values[$i]) as $v) { - $values[] = trim($v); - } - unset($values[$i]); - } - } - - $this->values = array_values($values); - - return $this; - } - - public function hasValue($searchValue) - { - return in_array($searchValue, $this->toArray()); - } - - public function removeValue($searchValue) - { - $this->values = array_values(array_filter($this->values, function ($value) use ($searchValue) { - return $value != $searchValue; - })); - - return $this; - } - - public function toArray() - { - return $this->values; - } - - public function count() - { - return count($this->toArray()); - } - - public function getIterator() - { - return new \ArrayIterator($this->toArray()); - } - - public function parseParams() - { - $params = $matches = array(); - $callback = array($this, 'trimHeader'); - - // Normalize the header into a single array and iterate over all values - foreach ($this->normalize()->toArray() as $val) { - $part = array(); - foreach (preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) as $kvp) { - if (!preg_match_all('/<[^>]+>|[^=]+/', $kvp, $matches)) { - continue; - } - $pieces = array_map($callback, $matches[0]); - $part[$pieces[0]] = isset($pieces[1]) ? $pieces[1] : ''; - } - if ($part) { - $params[] = $part; - } - } - - return $params; - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function hasExactHeader($header) - { - Version::warn(__METHOD__ . ' is deprecated'); - return $this->header == $header; - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function raw() - { - Version::warn(__METHOD__ . ' is deprecated. Use toArray()'); - return $this->toArray(); - } - - /** - * Trim a header by removing excess spaces and wrapping quotes - * - * @param $str - * - * @return string - */ - protected function trimHeader($str) - { - static $trimmed = "\"' \n\t"; - - return trim($str, $trimmed); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/CacheControl.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/CacheControl.php deleted file mode 100644 index 77789e51..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/CacheControl.php +++ /dev/null @@ -1,121 +0,0 @@ -directives = null; - } - - public function removeValue($searchValue) - { - parent::removeValue($searchValue); - $this->directives = null; - } - - /** - * Check if a specific cache control directive exists - * - * @param string $param Directive to retrieve - * - * @return bool - */ - public function hasDirective($param) - { - $directives = $this->getDirectives(); - - return isset($directives[$param]); - } - - /** - * Get a specific cache control directive - * - * @param string $param Directive to retrieve - * - * @return string|bool|null - */ - public function getDirective($param) - { - $directives = $this->getDirectives(); - - return isset($directives[$param]) ? $directives[$param] : null; - } - - /** - * Add a cache control directive - * - * @param string $param Directive to add - * @param string $value Value to set - * - * @return self - */ - public function addDirective($param, $value) - { - $directives = $this->getDirectives(); - $directives[$param] = $value; - $this->updateFromDirectives($directives); - - return $this; - } - - /** - * Remove a cache control directive by name - * - * @param string $param Directive to remove - * - * @return self - */ - public function removeDirective($param) - { - $directives = $this->getDirectives(); - unset($directives[$param]); - $this->updateFromDirectives($directives); - - return $this; - } - - /** - * Get an associative array of cache control directives - * - * @return array - */ - public function getDirectives() - { - if ($this->directives === null) { - $this->directives = array(); - foreach ($this->parseParams() as $collection) { - foreach ($collection as $key => $value) { - $this->directives[$key] = $value === '' ? true : $value; - } - } - } - - return $this->directives; - } - - /** - * Updates the header value based on the parsed directives - * - * @param array $directives Array of cache control directives - */ - protected function updateFromDirectives(array $directives) - { - $this->directives = $directives; - $this->values = array(); - - foreach ($directives as $key => $value) { - $this->values[] = $value === true ? $key : "{$key}={$value}"; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderCollection.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderCollection.php deleted file mode 100644 index 8c7f6aef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderCollection.php +++ /dev/null @@ -1,108 +0,0 @@ -headers = $headers; - } - - public function __clone() - { - foreach ($this->headers as &$header) { - $header = clone $header; - } - } - - /** - * Clears the header collection - */ - public function clear() - { - $this->headers = array(); - } - - /** - * Set a header on the collection - * - * @param HeaderInterface $header Header to add - * - * @return self - */ - public function add(HeaderInterface $header) - { - $this->headers[strtolower($header->getName())] = $header; - - return $this; - } - - /** - * Get an array of header objects - * - * @return array - */ - public function getAll() - { - return $this->headers; - } - - /** - * Alias of offsetGet - */ - public function get($key) - { - return $this->offsetGet($key); - } - - public function count() - { - return count($this->headers); - } - - public function offsetExists($offset) - { - return isset($this->headers[strtolower($offset)]); - } - - public function offsetGet($offset) - { - $l = strtolower($offset); - - return isset($this->headers[$l]) ? $this->headers[$l] : null; - } - - public function offsetSet($offset, $value) - { - $this->add($value); - } - - public function offsetUnset($offset) - { - unset($this->headers[strtolower($offset)]); - } - - public function getIterator() - { - return new \ArrayIterator($this->headers); - } - - public function toArray() - { - $result = array(); - foreach ($this->headers as $header) { - $result[$header->getName()] = $header->toArray(); - } - - return $result; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactory.php deleted file mode 100644 index 0273be52..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactory.php +++ /dev/null @@ -1,26 +0,0 @@ - 'Guzzle\Http\Message\Header\CacheControl', - 'link' => 'Guzzle\Http\Message\Header\Link', - ); - - public function createHeader($header, $value = null) - { - $lowercase = strtolower($header); - - return isset($this->mapping[$lowercase]) - ? new $this->mapping[$lowercase]($header, $value) - : new Header($header, $value); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactoryInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactoryInterface.php deleted file mode 100644 index 9457cf64..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactoryInterface.php +++ /dev/null @@ -1,19 +0,0 @@ -", "rel=\"{$rel}\""); - - foreach ($params as $k => $v) { - $values[] = "{$k}=\"{$v}\""; - } - - return $this->add(implode('; ', $values)); - } - - /** - * Check if a specific link exists for a given rel attribute - * - * @param string $rel rel value - * - * @return bool - */ - public function hasLink($rel) - { - return $this->getLink($rel) !== null; - } - - /** - * Get a specific link for a given rel attribute - * - * @param string $rel Rel value - * - * @return array|null - */ - public function getLink($rel) - { - foreach ($this->getLinks() as $link) { - if (isset($link['rel']) && $link['rel'] == $rel) { - return $link; - } - } - - return null; - } - - /** - * Get an associative array of links - * - * For example: - * Link: ; rel=front; type="image/jpeg", ; rel=back; type="image/jpeg" - * - * - * var_export($response->getLinks()); - * array( - * array( - * 'url' => 'http:/.../front.jpeg', - * 'rel' => 'back', - * 'type' => 'image/jpeg', - * ) - * ) - * - * - * @return array - */ - public function getLinks() - { - $links = $this->parseParams(); - - foreach ($links as &$link) { - $key = key($link); - unset($link[$key]); - $link['url'] = trim($key, '<> '); - } - - return $links; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php deleted file mode 100644 index 62bcd439..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php +++ /dev/null @@ -1,102 +0,0 @@ -fieldName = $fieldName; - $this->setFilename($filename); - $this->postname = $postname ? $postname : basename($filename); - $this->contentType = $contentType ?: $this->guessContentType(); - } - - public function setFieldName($name) - { - $this->fieldName = $name; - - return $this; - } - - public function getFieldName() - { - return $this->fieldName; - } - - public function setFilename($filename) - { - // Remove leading @ symbol - if (strpos($filename, '@') === 0) { - $filename = substr($filename, 1); - } - - if (!is_readable($filename)) { - throw new InvalidArgumentException("Unable to open {$filename} for reading"); - } - - $this->filename = $filename; - - return $this; - } - - public function setPostname($postname) - { - $this->postname = $postname; - - return $this; - } - - public function getFilename() - { - return $this->filename; - } - - public function getPostname() - { - return $this->postname; - } - - public function setContentType($type) - { - $this->contentType = $type; - - return $this; - } - - public function getContentType() - { - return $this->contentType; - } - - public function getCurlValue() - { - // PHP 5.5 introduced a CurlFile object that deprecates the old @filename syntax - // See: https://wiki.php.net/rfc/curl-file-upload - if (function_exists('curl_file_create')) { - return curl_file_create($this->filename, $this->contentType, $this->postname); - } - - // Use the old style if using an older version of PHP - $value = "@{$this->filename};filename=" . $this->postname; - if ($this->contentType) { - $value .= ';type=' . $this->contentType; - } - - return $value; - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function getCurlString() - { - Version::warn(__METHOD__ . ' is deprecated. Use getCurlValue()'); - return $this->getCurlValue(); - } - - /** - * Determine the Content-Type of the file - */ - protected function guessContentType() - { - return Mimetypes::getInstance()->fromFilename($this->filename) ?: 'application/octet-stream'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/PostFileInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/PostFileInterface.php deleted file mode 100644 index 7f0779d1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/PostFileInterface.php +++ /dev/null @@ -1,83 +0,0 @@ -method = strtoupper($method); - $this->curlOptions = new Collection(); - $this->setUrl($url); - - if ($headers) { - // Special handling for multi-value headers - foreach ($headers as $key => $value) { - // Deal with collisions with Host and Authorization - if ($key == 'host' || $key == 'Host') { - $this->setHeader($key, $value); - } elseif ($value instanceof HeaderInterface) { - $this->addHeader($key, $value); - } else { - foreach ((array) $value as $v) { - $this->addHeader($key, $v); - } - } - } - } - - $this->setState(self::STATE_NEW); - } - - public function __clone() - { - if ($this->eventDispatcher) { - $this->eventDispatcher = clone $this->eventDispatcher; - } - $this->curlOptions = clone $this->curlOptions; - $this->params = clone $this->params; - $this->url = clone $this->url; - $this->response = $this->responseBody = null; - $this->headers = clone $this->headers; - - $this->setState(RequestInterface::STATE_NEW); - $this->dispatch('request.clone', array('request' => $this)); - } - - /** - * Get the HTTP request as a string - * - * @return string - */ - public function __toString() - { - return $this->getRawHeaders() . "\r\n\r\n"; - } - - /** - * Default method that will throw exceptions if an unsuccessful response is received. - * - * @param Event $event Received - * @throws BadResponseException if the response is not successful - */ - public static function onRequestError(Event $event) - { - $e = BadResponseException::factory($event['request'], $event['response']); - $event['request']->setState(self::STATE_ERROR, array('exception' => $e) + $event->toArray()); - throw $e; - } - - public function setClient(ClientInterface $client) - { - $this->client = $client; - - return $this; - } - - public function getClient() - { - return $this->client; - } - - public function getRawHeaders() - { - $protocolVersion = $this->protocolVersion ?: '1.1'; - - return trim($this->method . ' ' . $this->getResource()) . ' ' - . strtoupper(str_replace('https', 'http', $this->url->getScheme())) - . '/' . $protocolVersion . "\r\n" . implode("\r\n", $this->getHeaderLines()); - } - - public function setUrl($url) - { - if ($url instanceof Url) { - $this->url = $url; - } else { - $this->url = Url::factory($url); - } - - // Update the port and host header - $this->setPort($this->url->getPort()); - - if ($this->url->getUsername() || $this->url->getPassword()) { - $this->setAuth($this->url->getUsername(), $this->url->getPassword()); - // Remove the auth info from the URL - $this->url->setUsername(null); - $this->url->setPassword(null); - } - - return $this; - } - - public function send() - { - if (!$this->client) { - throw new RuntimeException('A client must be set on the request'); - } - - return $this->client->send($this); - } - - public function getResponse() - { - return $this->response; - } - - public function getQuery($asString = false) - { - return $asString - ? (string) $this->url->getQuery() - : $this->url->getQuery(); - } - - public function getMethod() - { - return $this->method; - } - - public function getScheme() - { - return $this->url->getScheme(); - } - - public function setScheme($scheme) - { - $this->url->setScheme($scheme); - - return $this; - } - - public function getHost() - { - return $this->url->getHost(); - } - - public function setHost($host) - { - $this->url->setHost($host); - $this->setPort($this->url->getPort()); - - return $this; - } - - public function getProtocolVersion() - { - return $this->protocolVersion; - } - - public function setProtocolVersion($protocol) - { - $this->protocolVersion = $protocol; - - return $this; - } - - public function getPath() - { - return '/' . ltrim($this->url->getPath(), '/'); - } - - public function setPath($path) - { - $this->url->setPath($path); - - return $this; - } - - public function getPort() - { - return $this->url->getPort(); - } - - public function setPort($port) - { - $this->url->setPort($port); - - // Include the port in the Host header if it is not the default port for the scheme of the URL - $scheme = $this->url->getScheme(); - if ($port && (($scheme == 'http' && $port != 80) || ($scheme == 'https' && $port != 443))) { - $this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost() . ':' . $port); - } else { - $this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost()); - } - - return $this; - } - - public function getUsername() - { - return $this->username; - } - - public function getPassword() - { - return $this->password; - } - - public function setAuth($user, $password = '', $scheme = CURLAUTH_BASIC) - { - static $authMap = array( - 'basic' => CURLAUTH_BASIC, - 'digest' => CURLAUTH_DIGEST, - 'ntlm' => CURLAUTH_NTLM, - 'any' => CURLAUTH_ANY - ); - - // If we got false or null, disable authentication - if (!$user) { - $this->password = $this->username = null; - $this->removeHeader('Authorization'); - $this->getCurlOptions()->remove(CURLOPT_HTTPAUTH); - return $this; - } - - if (!is_numeric($scheme)) { - $scheme = strtolower($scheme); - if (!isset($authMap[$scheme])) { - throw new InvalidArgumentException($scheme . ' is not a valid authentication type'); - } - $scheme = $authMap[$scheme]; - } - - $this->username = $user; - $this->password = $password; - - // Bypass CURL when using basic auth to promote connection reuse - if ($scheme == CURLAUTH_BASIC) { - $this->getCurlOptions()->remove(CURLOPT_HTTPAUTH); - $this->setHeader('Authorization', 'Basic ' . base64_encode($this->username . ':' . $this->password)); - } else { - $this->getCurlOptions() - ->set(CURLOPT_HTTPAUTH, $scheme) - ->set(CURLOPT_USERPWD, $this->username . ':' . $this->password); - } - - return $this; - } - - public function getResource() - { - $resource = $this->getPath(); - if ($query = (string) $this->url->getQuery()) { - $resource .= '?' . $query; - } - - return $resource; - } - - public function getUrl($asObject = false) - { - return $asObject ? clone $this->url : (string) $this->url; - } - - public function getState() - { - return $this->state; - } - - public function setState($state, array $context = array()) - { - $oldState = $this->state; - $this->state = $state; - - switch ($state) { - case self::STATE_NEW: - $this->response = null; - break; - case self::STATE_TRANSFER: - if ($oldState !== $state) { - // Fix Content-Length and Transfer-Encoding collisions - if ($this->hasHeader('Transfer-Encoding') && $this->hasHeader('Content-Length')) { - $this->removeHeader('Transfer-Encoding'); - } - $this->dispatch('request.before_send', array('request' => $this)); - } - break; - case self::STATE_COMPLETE: - if ($oldState !== $state) { - $this->processResponse($context); - $this->responseBody = null; - } - break; - case self::STATE_ERROR: - if (isset($context['exception'])) { - $this->dispatch('request.exception', array( - 'request' => $this, - 'response' => isset($context['response']) ? $context['response'] : $this->response, - 'exception' => isset($context['exception']) ? $context['exception'] : null - )); - } - } - - return $this->state; - } - - public function getCurlOptions() - { - return $this->curlOptions; - } - - public function startResponse(Response $response) - { - $this->state = self::STATE_TRANSFER; - $response->setEffectiveUrl((string) $this->getUrl()); - $this->response = $response; - - return $this; - } - - public function setResponse(Response $response, $queued = false) - { - $response->setEffectiveUrl((string) $this->url); - - if ($queued) { - $ed = $this->getEventDispatcher(); - $ed->addListener('request.before_send', $f = function ($e) use ($response, &$f, $ed) { - $e['request']->setResponse($response); - $ed->removeListener('request.before_send', $f); - }, -9999); - } else { - $this->response = $response; - // If a specific response body is specified, then use it instead of the response's body - if ($this->responseBody && !$this->responseBody->getCustomData('default') && !$response->isRedirect()) { - $this->getResponseBody()->write((string) $this->response->getBody()); - } else { - $this->responseBody = $this->response->getBody(); - } - $this->setState(self::STATE_COMPLETE); - } - - return $this; - } - - public function setResponseBody($body) - { - // Attempt to open a file for writing if a string was passed - if (is_string($body)) { - // @codeCoverageIgnoreStart - if (!($body = fopen($body, 'w+'))) { - throw new InvalidArgumentException('Could not open ' . $body . ' for writing'); - } - // @codeCoverageIgnoreEnd - } - - $this->responseBody = EntityBody::factory($body); - - return $this; - } - - public function getResponseBody() - { - if ($this->responseBody === null) { - $this->responseBody = EntityBody::factory()->setCustomData('default', true); - } - - return $this->responseBody; - } - - /** - * Determine if the response body is repeatable (readable + seekable) - * - * @return bool - * @deprecated Use getResponseBody()->isSeekable() - * @codeCoverageIgnore - */ - public function isResponseBodyRepeatable() - { - Version::warn(__METHOD__ . ' is deprecated. Use $request->getResponseBody()->isRepeatable()'); - return !$this->responseBody ? true : $this->responseBody->isRepeatable(); - } - - public function getCookies() - { - if ($cookie = $this->getHeader('Cookie')) { - $data = ParserRegistry::getInstance()->getParser('cookie')->parseCookie($cookie); - return $data['cookies']; - } - - return array(); - } - - public function getCookie($name) - { - $cookies = $this->getCookies(); - - return isset($cookies[$name]) ? $cookies[$name] : null; - } - - public function addCookie($name, $value) - { - if (!$this->hasHeader('Cookie')) { - $this->setHeader('Cookie', "{$name}={$value}"); - } else { - $this->getHeader('Cookie')->add("{$name}={$value}"); - } - - // Always use semicolons to separate multiple cookie headers - $this->getHeader('Cookie')->setGlue(';'); - - return $this; - } - - public function removeCookie($name) - { - if ($cookie = $this->getHeader('Cookie')) { - foreach ($cookie as $cookieValue) { - if (strpos($cookieValue, $name . '=') === 0) { - $cookie->removeValue($cookieValue); - } - } - } - - return $this; - } - - public function setEventDispatcher(EventDispatcherInterface $eventDispatcher) - { - $this->eventDispatcher = $eventDispatcher; - $this->eventDispatcher->addListener('request.error', array(__CLASS__, 'onRequestError'), -255); - - return $this; - } - - public function getEventDispatcher() - { - if (!$this->eventDispatcher) { - $this->setEventDispatcher(new EventDispatcher()); - } - - return $this->eventDispatcher; - } - - public function dispatch($eventName, array $context = array()) - { - $context['request'] = $this; - - return $this->getEventDispatcher()->dispatch($eventName, new Event($context)); - } - - public function addSubscriber(EventSubscriberInterface $subscriber) - { - $this->getEventDispatcher()->addSubscriber($subscriber); - - return $this; - } - - /** - * Get an array containing the request and response for event notifications - * - * @return array - */ - protected function getEventArray() - { - return array( - 'request' => $this, - 'response' => $this->response - ); - } - - /** - * Process a received response - * - * @param array $context Contextual information - * @throws RequestException|BadResponseException on unsuccessful responses - */ - protected function processResponse(array $context = array()) - { - if (!$this->response) { - // If no response, then processResponse shouldn't have been called - $e = new RequestException('Error completing request'); - $e->setRequest($this); - throw $e; - } - - $this->state = self::STATE_COMPLETE; - - // A request was sent, but we don't know if we'll send more or if the final response will be successful - $this->dispatch('request.sent', $this->getEventArray() + $context); - - // Some response processors will remove the response or reset the state (example: ExponentialBackoffPlugin) - if ($this->state == RequestInterface::STATE_COMPLETE) { - - // The request completed, so the HTTP transaction is complete - $this->dispatch('request.complete', $this->getEventArray()); - - // If the response is bad, allow listeners to modify it or throw exceptions. You can change the response by - // modifying the Event object in your listeners or calling setResponse() on the request - if ($this->response->isError()) { - $event = new Event($this->getEventArray()); - $this->getEventDispatcher()->dispatch('request.error', $event); - // Allow events of request.error to quietly change the response - if ($event['response'] !== $this->response) { - $this->response = $event['response']; - } - } - - // If a successful response was received, dispatch an event - if ($this->response->isSuccessful()) { - $this->dispatch('request.success', $this->getEventArray()); - } - } - } - - /** - * @deprecated Use Guzzle\Plugin\Cache\DefaultCanCacheStrategy - * @codeCoverageIgnore - */ - public function canCache() - { - Version::warn(__METHOD__ . ' is deprecated. Use Guzzle\Plugin\Cache\DefaultCanCacheStrategy.'); - if (class_exists('Guzzle\Plugin\Cache\DefaultCanCacheStrategy')) { - $canCache = new \Guzzle\Plugin\Cache\DefaultCanCacheStrategy(); - return $canCache->canCacheRequest($this); - } else { - return false; - } - } - - /** - * @deprecated Use the history plugin (not emitting a warning as this is built-into the RedirectPlugin for now) - * @codeCoverageIgnore - */ - public function setIsRedirect($isRedirect) - { - $this->isRedirect = $isRedirect; - - return $this; - } - - /** - * @deprecated Use the history plugin - * @codeCoverageIgnore - */ - public function isRedirect() - { - Version::warn(__METHOD__ . ' is deprecated. Use the HistoryPlugin to track this.'); - return $this->isRedirect; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php deleted file mode 100644 index ba00a767..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php +++ /dev/null @@ -1,359 +0,0 @@ -methods = array_flip(get_class_methods(__CLASS__)); - } - - public function fromMessage($message) - { - $parsed = ParserRegistry::getInstance()->getParser('message')->parseRequest($message); - - if (!$parsed) { - return false; - } - - $request = $this->fromParts($parsed['method'], $parsed['request_url'], - $parsed['headers'], $parsed['body'], $parsed['protocol'], - $parsed['version']); - - // EntityEnclosingRequest adds an "Expect: 100-Continue" header when using a raw request body for PUT or POST - // requests. This factory method should accurately reflect the message, so here we are removing the Expect - // header if one was not supplied in the message. - if (!isset($parsed['headers']['Expect']) && !isset($parsed['headers']['expect'])) { - $request->removeHeader('Expect'); - } - - return $request; - } - - public function fromParts( - $method, - array $urlParts, - $headers = null, - $body = null, - $protocol = 'HTTP', - $protocolVersion = '1.1' - ) { - return $this->create($method, Url::buildUrl($urlParts), $headers, $body) - ->setProtocolVersion($protocolVersion); - } - - public function create($method, $url, $headers = null, $body = null, array $options = array()) - { - $method = strtoupper($method); - - if ($method == 'GET' || $method == 'HEAD' || $method == 'TRACE') { - // Handle non-entity-enclosing request methods - $request = new $this->requestClass($method, $url, $headers); - if ($body) { - // The body is where the response body will be stored - $type = gettype($body); - if ($type == 'string' || $type == 'resource' || $type == 'object') { - $request->setResponseBody($body); - } - } - } else { - // Create an entity enclosing request by default - $request = new $this->entityEnclosingRequestClass($method, $url, $headers); - if ($body || $body === '0') { - // Add POST fields and files to an entity enclosing request if an array is used - if (is_array($body) || $body instanceof Collection) { - // Normalize PHP style cURL uploads with a leading '@' symbol - foreach ($body as $key => $value) { - if (is_string($value) && substr($value, 0, 1) == '@') { - $request->addPostFile($key, $value); - unset($body[$key]); - } - } - // Add the fields if they are still present and not all files - $request->addPostFields($body); - } else { - // Add a raw entity body body to the request - $request->setBody($body, (string) $request->getHeader('Content-Type')); - if ((string) $request->getHeader('Transfer-Encoding') == 'chunked') { - $request->removeHeader('Content-Length'); - } - } - } - } - - if ($options) { - $this->applyOptions($request, $options); - } - - return $request; - } - - /** - * Clone a request while changing the method. Emulates the behavior of - * {@see Guzzle\Http\Message\Request::clone}, but can change the HTTP method. - * - * @param RequestInterface $request Request to clone - * @param string $method Method to set - * - * @return RequestInterface - */ - public function cloneRequestWithMethod(RequestInterface $request, $method) - { - // Create the request with the same client if possible - if ($request->getClient()) { - $cloned = $request->getClient()->createRequest($method, $request->getUrl(), $request->getHeaders()); - } else { - $cloned = $this->create($method, $request->getUrl(), $request->getHeaders()); - } - - $cloned->getCurlOptions()->replace($request->getCurlOptions()->toArray()); - $cloned->setEventDispatcher(clone $request->getEventDispatcher()); - // Ensure that that the Content-Length header is not copied if changing to GET or HEAD - if (!($cloned instanceof EntityEnclosingRequestInterface)) { - $cloned->removeHeader('Content-Length'); - } elseif ($request instanceof EntityEnclosingRequestInterface) { - $cloned->setBody($request->getBody()); - } - $cloned->getParams()->replace($request->getParams()->toArray()); - $cloned->dispatch('request.clone', array('request' => $cloned)); - - return $cloned; - } - - public function applyOptions(RequestInterface $request, array $options = array(), $flags = self::OPTIONS_NONE) - { - // Iterate over each key value pair and attempt to apply a config using function visitors - foreach ($options as $key => $value) { - $method = "visit_{$key}"; - if (isset($this->methods[$method])) { - $this->{$method}($request, $value, $flags); - } - } - } - - protected function visit_headers(RequestInterface $request, $value, $flags) - { - if (!is_array($value)) { - throw new InvalidArgumentException('headers value must be an array'); - } - - if ($flags & self::OPTIONS_AS_DEFAULTS) { - // Merge headers in but do not overwrite existing values - foreach ($value as $key => $header) { - if (!$request->hasHeader($key)) { - $request->setHeader($key, $header); - } - } - } else { - $request->addHeaders($value); - } - } - - protected function visit_body(RequestInterface $request, $value, $flags) - { - if ($request instanceof EntityEnclosingRequestInterface) { - $request->setBody($value); - } else { - throw new InvalidArgumentException('Attempting to set a body on a non-entity-enclosing request'); - } - } - - protected function visit_allow_redirects(RequestInterface $request, $value, $flags) - { - if ($value === false) { - $request->getParams()->set(RedirectPlugin::DISABLE, true); - } - } - - protected function visit_auth(RequestInterface $request, $value, $flags) - { - if (!is_array($value)) { - throw new InvalidArgumentException('auth value must be an array'); - } - - $request->setAuth($value[0], isset($value[1]) ? $value[1] : null, isset($value[2]) ? $value[2] : 'basic'); - } - - protected function visit_query(RequestInterface $request, $value, $flags) - { - if (!is_array($value)) { - throw new InvalidArgumentException('query value must be an array'); - } - - if ($flags & self::OPTIONS_AS_DEFAULTS) { - // Merge query string values in but do not overwrite existing values - $query = $request->getQuery(); - $query->overwriteWith(array_diff_key($value, $query->toArray())); - } else { - $request->getQuery()->overwriteWith($value); - } - } - - protected function visit_cookies(RequestInterface $request, $value, $flags) - { - if (!is_array($value)) { - throw new InvalidArgumentException('cookies value must be an array'); - } - - foreach ($value as $name => $v) { - $request->addCookie($name, $v); - } - } - - protected function visit_events(RequestInterface $request, $value, $flags) - { - if (!is_array($value)) { - throw new InvalidArgumentException('events value must be an array'); - } - - foreach ($value as $name => $method) { - if (is_array($method)) { - $request->getEventDispatcher()->addListener($name, $method[0], $method[1]); - } else { - $request->getEventDispatcher()->addListener($name, $method); - } - } - } - - protected function visit_plugins(RequestInterface $request, $value, $flags) - { - if (!is_array($value)) { - throw new InvalidArgumentException('plugins value must be an array'); - } - - foreach ($value as $plugin) { - $request->addSubscriber($plugin); - } - } - - protected function visit_exceptions(RequestInterface $request, $value, $flags) - { - if ($value === false || $value === 0) { - $dispatcher = $request->getEventDispatcher(); - foreach ($dispatcher->getListeners('request.error') as $listener) { - if (is_array($listener) && $listener[0] == 'Guzzle\Http\Message\Request' && $listener[1] = 'onRequestError') { - $dispatcher->removeListener('request.error', $listener); - break; - } - } - } - } - - protected function visit_save_to(RequestInterface $request, $value, $flags) - { - $request->setResponseBody($value); - } - - protected function visit_params(RequestInterface $request, $value, $flags) - { - if (!is_array($value)) { - throw new InvalidArgumentException('params value must be an array'); - } - - $request->getParams()->overwriteWith($value); - } - - protected function visit_timeout(RequestInterface $request, $value, $flags) - { - if (defined('CURLOPT_TIMEOUT_MS')) { - $request->getCurlOptions()->set(CURLOPT_TIMEOUT_MS, $value * 1000); - } else { - $request->getCurlOptions()->set(CURLOPT_TIMEOUT, $value); - } - } - - protected function visit_connect_timeout(RequestInterface $request, $value, $flags) - { - if (defined('CURLOPT_CONNECTTIMEOUT_MS')) { - $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT_MS, $value * 1000); - } else { - $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT, $value); - } - } - - protected function visit_debug(RequestInterface $request, $value, $flags) - { - if ($value) { - $request->getCurlOptions()->set(CURLOPT_VERBOSE, true); - } - } - - protected function visit_verify(RequestInterface $request, $value, $flags) - { - $curl = $request->getCurlOptions(); - if ($value === true || is_string($value)) { - $curl[CURLOPT_SSL_VERIFYHOST] = 2; - $curl[CURLOPT_SSL_VERIFYPEER] = true; - if ($value !== true) { - $curl[CURLOPT_CAINFO] = $value; - } - } elseif ($value === false) { - unset($curl[CURLOPT_CAINFO]); - $curl[CURLOPT_SSL_VERIFYHOST] = 0; - $curl[CURLOPT_SSL_VERIFYPEER] = false; - } - } - - protected function visit_proxy(RequestInterface $request, $value, $flags) - { - $request->getCurlOptions()->set(CURLOPT_PROXY, $value, $flags); - } - - protected function visit_cert(RequestInterface $request, $value, $flags) - { - if (is_array($value)) { - $request->getCurlOptions()->set(CURLOPT_SSLCERT, $value[0]); - $request->getCurlOptions()->set(CURLOPT_SSLCERTPASSWD, $value[1]); - } else { - $request->getCurlOptions()->set(CURLOPT_SSLCERT, $value); - } - } - - protected function visit_ssl_key(RequestInterface $request, $value, $flags) - { - if (is_array($value)) { - $request->getCurlOptions()->set(CURLOPT_SSLKEY, $value[0]); - $request->getCurlOptions()->set(CURLOPT_SSLKEYPASSWD, $value[1]); - } else { - $request->getCurlOptions()->set(CURLOPT_SSLKEY, $value); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php deleted file mode 100644 index 6088f10e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php +++ /dev/null @@ -1,105 +0,0 @@ - 'Continue', - 101 => 'Switching Protocols', - 102 => 'Processing', - 200 => 'OK', - 201 => 'Created', - 202 => 'Accepted', - 203 => 'Non-Authoritative Information', - 204 => 'No Content', - 205 => 'Reset Content', - 206 => 'Partial Content', - 207 => 'Multi-Status', - 208 => 'Already Reported', - 226 => 'IM Used', - 300 => 'Multiple Choices', - 301 => 'Moved Permanently', - 302 => 'Found', - 303 => 'See Other', - 304 => 'Not Modified', - 305 => 'Use Proxy', - 307 => 'Temporary Redirect', - 308 => 'Permanent Redirect', - 400 => 'Bad Request', - 401 => 'Unauthorized', - 402 => 'Payment Required', - 403 => 'Forbidden', - 404 => 'Not Found', - 405 => 'Method Not Allowed', - 406 => 'Not Acceptable', - 407 => 'Proxy Authentication Required', - 408 => 'Request Timeout', - 409 => 'Conflict', - 410 => 'Gone', - 411 => 'Length Required', - 412 => 'Precondition Failed', - 413 => 'Request Entity Too Large', - 414 => 'Request-URI Too Long', - 415 => 'Unsupported Media Type', - 416 => 'Requested Range Not Satisfiable', - 417 => 'Expectation Failed', - 422 => 'Unprocessable Entity', - 423 => 'Locked', - 424 => 'Failed Dependency', - 425 => 'Reserved for WebDAV advanced collections expired proposal', - 426 => 'Upgrade required', - 428 => 'Precondition Required', - 429 => 'Too Many Requests', - 431 => 'Request Header Fields Too Large', - 500 => 'Internal Server Error', - 501 => 'Not Implemented', - 502 => 'Bad Gateway', - 503 => 'Service Unavailable', - 504 => 'Gateway Timeout', - 505 => 'HTTP Version Not Supported', - 506 => 'Variant Also Negotiates (Experimental)', - 507 => 'Insufficient Storage', - 508 => 'Loop Detected', - 510 => 'Not Extended', - 511 => 'Network Authentication Required', - ); - - /** @var EntityBodyInterface The response body */ - protected $body; - - /** @var string The reason phrase of the response (human readable code) */ - protected $reasonPhrase; - - /** @var string The status code of the response */ - protected $statusCode; - - /** @var array Information about the request */ - protected $info = array(); - - /** @var string The effective URL that returned this response */ - protected $effectiveUrl; - - /** @var array Cacheable response codes (see RFC 2616:13.4) */ - protected static $cacheResponseCodes = array(200, 203, 206, 300, 301, 410); - - /** - * Create a new Response based on a raw response message - * - * @param string $message Response message - * - * @return self|bool Returns false on error - */ - public static function fromMessage($message) - { - $data = ParserRegistry::getInstance()->getParser('message')->parseResponse($message); - if (!$data) { - return false; - } - - $response = new static($data['code'], $data['headers'], $data['body']); - $response->setProtocol($data['protocol'], $data['version']) - ->setStatus($data['code'], $data['reason_phrase']); - - // Set the appropriate Content-Length if the one set is inaccurate (e.g. setting to X) - $contentLength = (string) $response->getHeader('Content-Length'); - $actualLength = strlen($data['body']); - if (strlen($data['body']) > 0 && $contentLength != $actualLength) { - $response->setHeader('Content-Length', $actualLength); - } - - return $response; - } - - /** - * Construct the response - * - * @param string $statusCode The response status code (e.g. 200, 404, etc) - * @param ToArrayInterface|array $headers The response headers - * @param string|resource|EntityBodyInterface $body The body of the response - * - * @throws BadResponseException if an invalid response code is given - */ - public function __construct($statusCode, $headers = null, $body = null) - { - parent::__construct(); - $this->setStatus($statusCode); - $this->body = EntityBody::factory($body !== null ? $body : ''); - - if ($headers) { - if (is_array($headers)) { - $this->setHeaders($headers); - } elseif ($headers instanceof ToArrayInterface) { - $this->setHeaders($headers->toArray()); - } else { - throw new BadResponseException('Invalid headers argument received'); - } - } - } - - /** - * @return string - */ - public function __toString() - { - return $this->getMessage(); - } - - public function serialize() - { - return json_encode(array( - 'status' => $this->statusCode, - 'body' => (string) $this->body, - 'headers' => $this->headers->toArray() - )); - } - - public function unserialize($serialize) - { - $data = json_decode($serialize, true); - $this->__construct($data['status'], $data['headers'], $data['body']); - } - - /** - * Get the response entity body - * - * @param bool $asString Set to TRUE to return a string of the body rather than a full body object - * - * @return EntityBodyInterface|string - */ - public function getBody($asString = false) - { - return $asString ? (string) $this->body : $this->body; - } - - /** - * Set the response entity body - * - * @param EntityBodyInterface|string $body Body to set - * - * @return self - */ - public function setBody($body) - { - $this->body = EntityBody::factory($body); - - return $this; - } - - /** - * Set the protocol and protocol version of the response - * - * @param string $protocol Response protocol - * @param string $version Protocol version - * - * @return self - */ - public function setProtocol($protocol, $version) - { - $this->protocol = $protocol; - $this->protocolVersion = $version; - - return $this; - } - - /** - * Get the protocol used for the response (e.g. HTTP) - * - * @return string - */ - public function getProtocol() - { - return $this->protocol; - } - - /** - * Get the HTTP protocol version - * - * @return string - */ - public function getProtocolVersion() - { - return $this->protocolVersion; - } - - /** - * Get a cURL transfer information - * - * @param string $key A single statistic to check - * - * @return array|string|null Returns all stats if no key is set, a single stat if a key is set, or null if a key - * is set and not found - * @link http://www.php.net/manual/en/function.curl-getinfo.php - */ - public function getInfo($key = null) - { - if ($key === null) { - return $this->info; - } elseif (array_key_exists($key, $this->info)) { - return $this->info[$key]; - } else { - return null; - } - } - - /** - * Set the transfer information - * - * @param array $info Array of cURL transfer stats - * - * @return self - */ - public function setInfo(array $info) - { - $this->info = $info; - - return $this; - } - - /** - * Set the response status - * - * @param int $statusCode Response status code to set - * @param string $reasonPhrase Response reason phrase - * - * @return self - * @throws BadResponseException when an invalid response code is received - */ - public function setStatus($statusCode, $reasonPhrase = '') - { - $this->statusCode = (int) $statusCode; - - if (!$reasonPhrase && isset(self::$statusTexts[$this->statusCode])) { - $this->reasonPhrase = self::$statusTexts[$this->statusCode]; - } else { - $this->reasonPhrase = $reasonPhrase; - } - - return $this; - } - - /** - * Get the response status code - * - * @return integer - */ - public function getStatusCode() - { - return $this->statusCode; - } - - /** - * Get the entire response as a string - * - * @return string - */ - public function getMessage() - { - $message = $this->getRawHeaders(); - - // Only include the body in the message if the size is < 2MB - $size = $this->body->getSize(); - if ($size < 2097152) { - $message .= (string) $this->body; - } - - return $message; - } - - /** - * Get the the raw message headers as a string - * - * @return string - */ - public function getRawHeaders() - { - $headers = 'HTTP/1.1 ' . $this->statusCode . ' ' . $this->reasonPhrase . "\r\n"; - $lines = $this->getHeaderLines(); - if (!empty($lines)) { - $headers .= implode("\r\n", $lines) . "\r\n"; - } - - return $headers . "\r\n"; - } - - /** - * Get the response reason phrase- a human readable version of the numeric - * status code - * - * @return string - */ - public function getReasonPhrase() - { - return $this->reasonPhrase; - } - - /** - * Get the Accept-Ranges HTTP header - * - * @return string Returns what partial content range types this server supports. - */ - public function getAcceptRanges() - { - return (string) $this->getHeader('Accept-Ranges'); - } - - /** - * Calculate the age of the response - * - * @return integer - */ - public function calculateAge() - { - $age = $this->getHeader('Age'); - - if ($age === null && $this->getDate()) { - $age = time() - strtotime($this->getDate()); - } - - return $age === null ? null : (int) (string) $age; - } - - /** - * Get the Age HTTP header - * - * @return integer|null Returns the age the object has been in a proxy cache in seconds. - */ - public function getAge() - { - return (string) $this->getHeader('Age'); - } - - /** - * Get the Allow HTTP header - * - * @return string|null Returns valid actions for a specified resource. To be used for a 405 Method not allowed. - */ - public function getAllow() - { - return (string) $this->getHeader('Allow'); - } - - /** - * Check if an HTTP method is allowed by checking the Allow response header - * - * @param string $method Method to check - * - * @return bool - */ - public function isMethodAllowed($method) - { - $allow = $this->getHeader('Allow'); - if ($allow) { - foreach (explode(',', $allow) as $allowable) { - if (!strcasecmp(trim($allowable), $method)) { - return true; - } - } - } - - return false; - } - - /** - * Get the Cache-Control HTTP header - * - * @return string - */ - public function getCacheControl() - { - return (string) $this->getHeader('Cache-Control'); - } - - /** - * Get the Connection HTTP header - * - * @return string - */ - public function getConnection() - { - return (string) $this->getHeader('Connection'); - } - - /** - * Get the Content-Encoding HTTP header - * - * @return string|null - */ - public function getContentEncoding() - { - return (string) $this->getHeader('Content-Encoding'); - } - - /** - * Get the Content-Language HTTP header - * - * @return string|null Returns the language the content is in. - */ - public function getContentLanguage() - { - return (string) $this->getHeader('Content-Language'); - } - - /** - * Get the Content-Length HTTP header - * - * @return integer Returns the length of the response body in bytes - */ - public function getContentLength() - { - return (int) (string) $this->getHeader('Content-Length'); - } - - /** - * Get the Content-Location HTTP header - * - * @return string|null Returns an alternate location for the returned data (e.g /index.htm) - */ - public function getContentLocation() - { - return (string) $this->getHeader('Content-Location'); - } - - /** - * Get the Content-Disposition HTTP header - * - * @return string|null Returns the Content-Disposition header - */ - public function getContentDisposition() - { - return (string) $this->getHeader('Content-Disposition'); - } - - /** - * Get the Content-MD5 HTTP header - * - * @return string|null Returns a Base64-encoded binary MD5 sum of the content of the response. - */ - public function getContentMd5() - { - return (string) $this->getHeader('Content-MD5'); - } - - /** - * Get the Content-Range HTTP header - * - * @return string Returns where in a full body message this partial message belongs (e.g. bytes 21010-47021/47022). - */ - public function getContentRange() - { - return (string) $this->getHeader('Content-Range'); - } - - /** - * Get the Content-Type HTTP header - * - * @return string Returns the mime type of this content. - */ - public function getContentType() - { - return (string) $this->getHeader('Content-Type'); - } - - /** - * Checks if the Content-Type is of a certain type. This is useful if the - * Content-Type header contains charset information and you need to know if - * the Content-Type matches a particular type. - * - * @param string $type Content type to check against - * - * @return bool - */ - public function isContentType($type) - { - return stripos($this->getHeader('Content-Type'), $type) !== false; - } - - /** - * Get the Date HTTP header - * - * @return string|null Returns the date and time that the message was sent. - */ - public function getDate() - { - return (string) $this->getHeader('Date'); - } - - /** - * Get the ETag HTTP header - * - * @return string|null Returns an identifier for a specific version of a resource, often a Message digest. - */ - public function getEtag() - { - return (string) $this->getHeader('ETag'); - } - - /** - * Get the Expires HTTP header - * - * @return string|null Returns the date/time after which the response is considered stale. - */ - public function getExpires() - { - return (string) $this->getHeader('Expires'); - } - - /** - * Get the Last-Modified HTTP header - * - * @return string|null Returns the last modified date for the requested object, in RFC 2822 format - * (e.g. Tue, 15 Nov 1994 12:45:26 GMT) - */ - public function getLastModified() - { - return (string) $this->getHeader('Last-Modified'); - } - - /** - * Get the Location HTTP header - * - * @return string|null Used in redirection, or when a new resource has been created. - */ - public function getLocation() - { - return (string) $this->getHeader('Location'); - } - - /** - * Get the Pragma HTTP header - * - * @return Header|null Returns the implementation-specific headers that may have various effects anywhere along - * the request-response chain. - */ - public function getPragma() - { - return (string) $this->getHeader('Pragma'); - } - - /** - * Get the Proxy-Authenticate HTTP header - * - * @return string|null Authentication to access the proxy (e.g. Basic) - */ - public function getProxyAuthenticate() - { - return (string) $this->getHeader('Proxy-Authenticate'); - } - - /** - * Get the Retry-After HTTP header - * - * @return int|null If an entity is temporarily unavailable, this instructs the client to try again after a - * specified period of time. - */ - public function getRetryAfter() - { - return (string) $this->getHeader('Retry-After'); - } - - /** - * Get the Server HTTP header - * - * @return string|null A name for the server - */ - public function getServer() - { - return (string) $this->getHeader('Server'); - } - - /** - * Get the Set-Cookie HTTP header - * - * @return string|null An HTTP cookie. - */ - public function getSetCookie() - { - return (string) $this->getHeader('Set-Cookie'); - } - - /** - * Get the Trailer HTTP header - * - * @return string|null The Trailer general field value indicates that the given set of header fields is present in - * the trailer of a message encoded with chunked transfer-coding. - */ - public function getTrailer() - { - return (string) $this->getHeader('Trailer'); - } - - /** - * Get the Transfer-Encoding HTTP header - * - * @return string|null The form of encoding used to safely transfer the entity to the user - */ - public function getTransferEncoding() - { - return (string) $this->getHeader('Transfer-Encoding'); - } - - /** - * Get the Vary HTTP header - * - * @return string|null Tells downstream proxies how to match future request headers to decide whether the cached - * response can be used rather than requesting a fresh one from the origin server. - */ - public function getVary() - { - return (string) $this->getHeader('Vary'); - } - - /** - * Get the Via HTTP header - * - * @return string|null Informs the client of proxies through which the response was sent. - */ - public function getVia() - { - return (string) $this->getHeader('Via'); - } - - /** - * Get the Warning HTTP header - * - * @return string|null A general warning about possible problems with the entity body - */ - public function getWarning() - { - return (string) $this->getHeader('Warning'); - } - - /** - * Get the WWW-Authenticate HTTP header - * - * @return string|null Indicates the authentication scheme that should be used to access the requested entity - */ - public function getWwwAuthenticate() - { - return (string) $this->getHeader('WWW-Authenticate'); - } - - /** - * Checks if HTTP Status code is a Client Error (4xx) - * - * @return bool - */ - public function isClientError() - { - return $this->statusCode >= 400 && $this->statusCode < 500; - } - - /** - * Checks if HTTP Status code is Server OR Client Error (4xx or 5xx) - * - * @return boolean - */ - public function isError() - { - return $this->isClientError() || $this->isServerError(); - } - - /** - * Checks if HTTP Status code is Information (1xx) - * - * @return bool - */ - public function isInformational() - { - return $this->statusCode < 200; - } - - /** - * Checks if HTTP Status code is a Redirect (3xx) - * - * @return bool - */ - public function isRedirect() - { - return $this->statusCode >= 300 && $this->statusCode < 400; - } - - /** - * Checks if HTTP Status code is Server Error (5xx) - * - * @return bool - */ - public function isServerError() - { - return $this->statusCode >= 500 && $this->statusCode < 600; - } - - /** - * Checks if HTTP Status code is Successful (2xx | 304) - * - * @return bool - */ - public function isSuccessful() - { - return ($this->statusCode >= 200 && $this->statusCode < 300) || $this->statusCode == 304; - } - - /** - * Check if the response can be cached based on the response headers - * - * @return bool Returns TRUE if the response can be cached or false if not - */ - public function canCache() - { - // Check if the response is cacheable based on the code - if (!in_array((int) $this->getStatusCode(), self::$cacheResponseCodes)) { - return false; - } - - // Make sure a valid body was returned and can be cached - if ((!$this->getBody()->isReadable() || !$this->getBody()->isSeekable()) - && ($this->getContentLength() > 0 || $this->getTransferEncoding() == 'chunked')) { - return false; - } - - // Never cache no-store resources (this is a private cache, so private - // can be cached) - if ($this->getHeader('Cache-Control') && $this->getHeader('Cache-Control')->hasDirective('no-store')) { - return false; - } - - return $this->isFresh() || $this->getFreshness() === null || $this->canValidate(); - } - - /** - * Gets the number of seconds from the current time in which this response is still considered fresh - * - * @return int|null Returns the number of seconds - */ - public function getMaxAge() - { - if ($header = $this->getHeader('Cache-Control')) { - // s-max-age, then max-age, then Expires - if ($age = $header->getDirective('s-maxage')) { - return $age; - } - if ($age = $header->getDirective('max-age')) { - return $age; - } - } - - if ($this->getHeader('Expires')) { - return strtotime($this->getExpires()) - time(); - } - - return null; - } - - /** - * Check if the response is considered fresh. - * - * A response is considered fresh when its age is less than or equal to the freshness lifetime (maximum age) of the - * response. - * - * @return bool|null - */ - public function isFresh() - { - $fresh = $this->getFreshness(); - - return $fresh === null ? null : $fresh >= 0; - } - - /** - * Check if the response can be validated against the origin server using a conditional GET request. - * - * @return bool - */ - public function canValidate() - { - return $this->getEtag() || $this->getLastModified(); - } - - /** - * Get the freshness of the response by returning the difference of the maximum lifetime of the response and the - * age of the response (max-age - age). - * - * Freshness values less than 0 mean that the response is no longer fresh and is ABS(freshness) seconds expired. - * Freshness values of greater than zero is the number of seconds until the response is no longer fresh. A NULL - * result means that no freshness information is available. - * - * @return int - */ - public function getFreshness() - { - $maxAge = $this->getMaxAge(); - $age = $this->calculateAge(); - - return $maxAge && $age ? ($maxAge - $age) : null; - } - - /** - * Parse the JSON response body and return an array - * - * @return array|string|int|bool|float - * @throws RuntimeException if the response body is not in JSON format - */ - public function json() - { - $data = json_decode((string) $this->body, true); - if (JSON_ERROR_NONE !== json_last_error()) { - throw new RuntimeException('Unable to parse response body into JSON: ' . json_last_error()); - } - - return $data === null ? array() : $data; - } - - /** - * Parse the XML response body and return a \SimpleXMLElement. - * - * In order to prevent XXE attacks, this method disables loading external - * entities. If you rely on external entities, then you must parse the - * XML response manually by accessing the response body directly. - * - * @return \SimpleXMLElement - * @throws RuntimeException if the response body is not in XML format - * @link http://websec.io/2012/08/27/Preventing-XXE-in-PHP.html - */ - public function xml() - { - $errorMessage = null; - $internalErrors = libxml_use_internal_errors(true); - $disableEntities = libxml_disable_entity_loader(true); - libxml_clear_errors(); - - try { - $xml = new \SimpleXMLElement((string) $this->body ?: '', LIBXML_NONET); - if ($error = libxml_get_last_error()) { - $errorMessage = $error->message; - } - } catch (\Exception $e) { - $errorMessage = $e->getMessage(); - } - - libxml_clear_errors(); - libxml_use_internal_errors($internalErrors); - libxml_disable_entity_loader($disableEntities); - - if ($errorMessage) { - throw new RuntimeException('Unable to parse response body into XML: ' . $errorMessage); - } - - return $xml; - } - - /** - * Get the redirect count of this response - * - * @return int - */ - public function getRedirectCount() - { - return (int) $this->params->get(RedirectPlugin::REDIRECT_COUNT); - } - - /** - * Set the effective URL that resulted in this response (e.g. the last redirect URL) - * - * @param string $url The effective URL - * - * @return self - */ - public function setEffectiveUrl($url) - { - $this->effectiveUrl = $url; - - return $this; - } - - /** - * Get the effective URL that resulted in this response (e.g. the last redirect URL) - * - * @return string - */ - public function getEffectiveUrl() - { - return $this->effectiveUrl; - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function getPreviousResponse() - { - Version::warn(__METHOD__ . ' is deprecated. Use the HistoryPlugin.'); - return null; - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function setRequest($request) - { - Version::warn(__METHOD__ . ' is deprecated'); - return $this; - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function getRequest() - { - Version::warn(__METHOD__ . ' is deprecated'); - return null; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Mimetypes.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Mimetypes.php deleted file mode 100644 index d71586a0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Mimetypes.php +++ /dev/null @@ -1,962 +0,0 @@ - 'text/vnd.in3d.3dml', - '3g2' => 'video/3gpp2', - '3gp' => 'video/3gpp', - '7z' => 'application/x-7z-compressed', - 'aab' => 'application/x-authorware-bin', - 'aac' => 'audio/x-aac', - 'aam' => 'application/x-authorware-map', - 'aas' => 'application/x-authorware-seg', - 'abw' => 'application/x-abiword', - 'ac' => 'application/pkix-attr-cert', - 'acc' => 'application/vnd.americandynamics.acc', - 'ace' => 'application/x-ace-compressed', - 'acu' => 'application/vnd.acucobol', - 'acutc' => 'application/vnd.acucorp', - 'adp' => 'audio/adpcm', - 'aep' => 'application/vnd.audiograph', - 'afm' => 'application/x-font-type1', - 'afp' => 'application/vnd.ibm.modcap', - 'ahead' => 'application/vnd.ahead.space', - 'ai' => 'application/postscript', - 'aif' => 'audio/x-aiff', - 'aifc' => 'audio/x-aiff', - 'aiff' => 'audio/x-aiff', - 'air' => 'application/vnd.adobe.air-application-installer-package+zip', - 'ait' => 'application/vnd.dvb.ait', - 'ami' => 'application/vnd.amiga.ami', - 'apk' => 'application/vnd.android.package-archive', - 'application' => 'application/x-ms-application', - 'apr' => 'application/vnd.lotus-approach', - 'asa' => 'text/plain', - 'asax' => 'application/octet-stream', - 'asc' => 'application/pgp-signature', - 'ascx' => 'text/plain', - 'asf' => 'video/x-ms-asf', - 'ashx' => 'text/plain', - 'asm' => 'text/x-asm', - 'asmx' => 'text/plain', - 'aso' => 'application/vnd.accpac.simply.aso', - 'asp' => 'text/plain', - 'aspx' => 'text/plain', - 'asx' => 'video/x-ms-asf', - 'atc' => 'application/vnd.acucorp', - 'atom' => 'application/atom+xml', - 'atomcat' => 'application/atomcat+xml', - 'atomsvc' => 'application/atomsvc+xml', - 'atx' => 'application/vnd.antix.game-component', - 'au' => 'audio/basic', - 'avi' => 'video/x-msvideo', - 'aw' => 'application/applixware', - 'axd' => 'text/plain', - 'azf' => 'application/vnd.airzip.filesecure.azf', - 'azs' => 'application/vnd.airzip.filesecure.azs', - 'azw' => 'application/vnd.amazon.ebook', - 'bat' => 'application/x-msdownload', - 'bcpio' => 'application/x-bcpio', - 'bdf' => 'application/x-font-bdf', - 'bdm' => 'application/vnd.syncml.dm+wbxml', - 'bed' => 'application/vnd.realvnc.bed', - 'bh2' => 'application/vnd.fujitsu.oasysprs', - 'bin' => 'application/octet-stream', - 'bmi' => 'application/vnd.bmi', - 'bmp' => 'image/bmp', - 'book' => 'application/vnd.framemaker', - 'box' => 'application/vnd.previewsystems.box', - 'boz' => 'application/x-bzip2', - 'bpk' => 'application/octet-stream', - 'btif' => 'image/prs.btif', - 'bz' => 'application/x-bzip', - 'bz2' => 'application/x-bzip2', - 'c' => 'text/x-c', - 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', - 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', - 'c4d' => 'application/vnd.clonk.c4group', - 'c4f' => 'application/vnd.clonk.c4group', - 'c4g' => 'application/vnd.clonk.c4group', - 'c4p' => 'application/vnd.clonk.c4group', - 'c4u' => 'application/vnd.clonk.c4group', - 'cab' => 'application/vnd.ms-cab-compressed', - 'car' => 'application/vnd.curl.car', - 'cat' => 'application/vnd.ms-pki.seccat', - 'cc' => 'text/x-c', - 'cct' => 'application/x-director', - 'ccxml' => 'application/ccxml+xml', - 'cdbcmsg' => 'application/vnd.contact.cmsg', - 'cdf' => 'application/x-netcdf', - 'cdkey' => 'application/vnd.mediastation.cdkey', - 'cdmia' => 'application/cdmi-capability', - 'cdmic' => 'application/cdmi-container', - 'cdmid' => 'application/cdmi-domain', - 'cdmio' => 'application/cdmi-object', - 'cdmiq' => 'application/cdmi-queue', - 'cdx' => 'chemical/x-cdx', - 'cdxml' => 'application/vnd.chemdraw+xml', - 'cdy' => 'application/vnd.cinderella', - 'cer' => 'application/pkix-cert', - 'cfc' => 'application/x-coldfusion', - 'cfm' => 'application/x-coldfusion', - 'cgm' => 'image/cgm', - 'chat' => 'application/x-chat', - 'chm' => 'application/vnd.ms-htmlhelp', - 'chrt' => 'application/vnd.kde.kchart', - 'cif' => 'chemical/x-cif', - 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', - 'cil' => 'application/vnd.ms-artgalry', - 'cla' => 'application/vnd.claymore', - 'class' => 'application/java-vm', - 'clkk' => 'application/vnd.crick.clicker.keyboard', - 'clkp' => 'application/vnd.crick.clicker.palette', - 'clkt' => 'application/vnd.crick.clicker.template', - 'clkw' => 'application/vnd.crick.clicker.wordbank', - 'clkx' => 'application/vnd.crick.clicker', - 'clp' => 'application/x-msclip', - 'cmc' => 'application/vnd.cosmocaller', - 'cmdf' => 'chemical/x-cmdf', - 'cml' => 'chemical/x-cml', - 'cmp' => 'application/vnd.yellowriver-custom-menu', - 'cmx' => 'image/x-cmx', - 'cod' => 'application/vnd.rim.cod', - 'com' => 'application/x-msdownload', - 'conf' => 'text/plain', - 'cpio' => 'application/x-cpio', - 'cpp' => 'text/x-c', - 'cpt' => 'application/mac-compactpro', - 'crd' => 'application/x-mscardfile', - 'crl' => 'application/pkix-crl', - 'crt' => 'application/x-x509-ca-cert', - 'cryptonote' => 'application/vnd.rig.cryptonote', - 'cs' => 'text/plain', - 'csh' => 'application/x-csh', - 'csml' => 'chemical/x-csml', - 'csp' => 'application/vnd.commonspace', - 'css' => 'text/css', - 'cst' => 'application/x-director', - 'csv' => 'text/csv', - 'cu' => 'application/cu-seeme', - 'curl' => 'text/vnd.curl', - 'cww' => 'application/prs.cww', - 'cxt' => 'application/x-director', - 'cxx' => 'text/x-c', - 'dae' => 'model/vnd.collada+xml', - 'daf' => 'application/vnd.mobius.daf', - 'dataless' => 'application/vnd.fdsn.seed', - 'davmount' => 'application/davmount+xml', - 'dcr' => 'application/x-director', - 'dcurl' => 'text/vnd.curl.dcurl', - 'dd2' => 'application/vnd.oma.dd2+xml', - 'ddd' => 'application/vnd.fujixerox.ddd', - 'deb' => 'application/x-debian-package', - 'def' => 'text/plain', - 'deploy' => 'application/octet-stream', - 'der' => 'application/x-x509-ca-cert', - 'dfac' => 'application/vnd.dreamfactory', - 'dic' => 'text/x-c', - 'dir' => 'application/x-director', - 'dis' => 'application/vnd.mobius.dis', - 'dist' => 'application/octet-stream', - 'distz' => 'application/octet-stream', - 'djv' => 'image/vnd.djvu', - 'djvu' => 'image/vnd.djvu', - 'dll' => 'application/x-msdownload', - 'dmg' => 'application/octet-stream', - 'dms' => 'application/octet-stream', - 'dna' => 'application/vnd.dna', - 'doc' => 'application/msword', - 'docm' => 'application/vnd.ms-word.document.macroenabled.12', - 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'dot' => 'application/msword', - 'dotm' => 'application/vnd.ms-word.template.macroenabled.12', - 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', - 'dp' => 'application/vnd.osgi.dp', - 'dpg' => 'application/vnd.dpgraph', - 'dra' => 'audio/vnd.dra', - 'dsc' => 'text/prs.lines.tag', - 'dssc' => 'application/dssc+der', - 'dtb' => 'application/x-dtbook+xml', - 'dtd' => 'application/xml-dtd', - 'dts' => 'audio/vnd.dts', - 'dtshd' => 'audio/vnd.dts.hd', - 'dump' => 'application/octet-stream', - 'dvi' => 'application/x-dvi', - 'dwf' => 'model/vnd.dwf', - 'dwg' => 'image/vnd.dwg', - 'dxf' => 'image/vnd.dxf', - 'dxp' => 'application/vnd.spotfire.dxp', - 'dxr' => 'application/x-director', - 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', - 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', - 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', - 'ecma' => 'application/ecmascript', - 'edm' => 'application/vnd.novadigm.edm', - 'edx' => 'application/vnd.novadigm.edx', - 'efif' => 'application/vnd.picsel', - 'ei6' => 'application/vnd.pg.osasli', - 'elc' => 'application/octet-stream', - 'eml' => 'message/rfc822', - 'emma' => 'application/emma+xml', - 'eol' => 'audio/vnd.digital-winds', - 'eot' => 'application/vnd.ms-fontobject', - 'eps' => 'application/postscript', - 'epub' => 'application/epub+zip', - 'es3' => 'application/vnd.eszigno3+xml', - 'esf' => 'application/vnd.epson.esf', - 'et3' => 'application/vnd.eszigno3+xml', - 'etx' => 'text/x-setext', - 'exe' => 'application/x-msdownload', - 'exi' => 'application/exi', - 'ext' => 'application/vnd.novadigm.ext', - 'ez' => 'application/andrew-inset', - 'ez2' => 'application/vnd.ezpix-album', - 'ez3' => 'application/vnd.ezpix-package', - 'f' => 'text/x-fortran', - 'f4v' => 'video/x-f4v', - 'f77' => 'text/x-fortran', - 'f90' => 'text/x-fortran', - 'fbs' => 'image/vnd.fastbidsheet', - 'fcs' => 'application/vnd.isac.fcs', - 'fdf' => 'application/vnd.fdf', - 'fe_launch' => 'application/vnd.denovo.fcselayout-link', - 'fg5' => 'application/vnd.fujitsu.oasysgp', - 'fgd' => 'application/x-director', - 'fh' => 'image/x-freehand', - 'fh4' => 'image/x-freehand', - 'fh5' => 'image/x-freehand', - 'fh7' => 'image/x-freehand', - 'fhc' => 'image/x-freehand', - 'fig' => 'application/x-xfig', - 'fli' => 'video/x-fli', - 'flo' => 'application/vnd.micrografx.flo', - 'flv' => 'video/x-flv', - 'flw' => 'application/vnd.kde.kivio', - 'flx' => 'text/vnd.fmi.flexstor', - 'fly' => 'text/vnd.fly', - 'fm' => 'application/vnd.framemaker', - 'fnc' => 'application/vnd.frogans.fnc', - 'for' => 'text/x-fortran', - 'fpx' => 'image/vnd.fpx', - 'frame' => 'application/vnd.framemaker', - 'fsc' => 'application/vnd.fsc.weblaunch', - 'fst' => 'image/vnd.fst', - 'ftc' => 'application/vnd.fluxtime.clip', - 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', - 'fvt' => 'video/vnd.fvt', - 'fxp' => 'application/vnd.adobe.fxp', - 'fxpl' => 'application/vnd.adobe.fxp', - 'fzs' => 'application/vnd.fuzzysheet', - 'g2w' => 'application/vnd.geoplan', - 'g3' => 'image/g3fax', - 'g3w' => 'application/vnd.geospace', - 'gac' => 'application/vnd.groove-account', - 'gdl' => 'model/vnd.gdl', - 'geo' => 'application/vnd.dynageo', - 'gex' => 'application/vnd.geometry-explorer', - 'ggb' => 'application/vnd.geogebra.file', - 'ggt' => 'application/vnd.geogebra.tool', - 'ghf' => 'application/vnd.groove-help', - 'gif' => 'image/gif', - 'gim' => 'application/vnd.groove-identity-message', - 'gmx' => 'application/vnd.gmx', - 'gnumeric' => 'application/x-gnumeric', - 'gph' => 'application/vnd.flographit', - 'gqf' => 'application/vnd.grafeq', - 'gqs' => 'application/vnd.grafeq', - 'gram' => 'application/srgs', - 'gre' => 'application/vnd.geometry-explorer', - 'grv' => 'application/vnd.groove-injector', - 'grxml' => 'application/srgs+xml', - 'gsf' => 'application/x-font-ghostscript', - 'gtar' => 'application/x-gtar', - 'gtm' => 'application/vnd.groove-tool-message', - 'gtw' => 'model/vnd.gtw', - 'gv' => 'text/vnd.graphviz', - 'gxt' => 'application/vnd.geonext', - 'h' => 'text/x-c', - 'h261' => 'video/h261', - 'h263' => 'video/h263', - 'h264' => 'video/h264', - 'hal' => 'application/vnd.hal+xml', - 'hbci' => 'application/vnd.hbci', - 'hdf' => 'application/x-hdf', - 'hh' => 'text/x-c', - 'hlp' => 'application/winhlp', - 'hpgl' => 'application/vnd.hp-hpgl', - 'hpid' => 'application/vnd.hp-hpid', - 'hps' => 'application/vnd.hp-hps', - 'hqx' => 'application/mac-binhex40', - 'hta' => 'application/octet-stream', - 'htc' => 'text/html', - 'htke' => 'application/vnd.kenameaapp', - 'htm' => 'text/html', - 'html' => 'text/html', - 'hvd' => 'application/vnd.yamaha.hv-dic', - 'hvp' => 'application/vnd.yamaha.hv-voice', - 'hvs' => 'application/vnd.yamaha.hv-script', - 'i2g' => 'application/vnd.intergeo', - 'icc' => 'application/vnd.iccprofile', - 'ice' => 'x-conference/x-cooltalk', - 'icm' => 'application/vnd.iccprofile', - 'ico' => 'image/x-icon', - 'ics' => 'text/calendar', - 'ief' => 'image/ief', - 'ifb' => 'text/calendar', - 'ifm' => 'application/vnd.shana.informed.formdata', - 'iges' => 'model/iges', - 'igl' => 'application/vnd.igloader', - 'igm' => 'application/vnd.insors.igm', - 'igs' => 'model/iges', - 'igx' => 'application/vnd.micrografx.igx', - 'iif' => 'application/vnd.shana.informed.interchange', - 'imp' => 'application/vnd.accpac.simply.imp', - 'ims' => 'application/vnd.ms-ims', - 'in' => 'text/plain', - 'ini' => 'text/plain', - 'ipfix' => 'application/ipfix', - 'ipk' => 'application/vnd.shana.informed.package', - 'irm' => 'application/vnd.ibm.rights-management', - 'irp' => 'application/vnd.irepository.package+xml', - 'iso' => 'application/octet-stream', - 'itp' => 'application/vnd.shana.informed.formtemplate', - 'ivp' => 'application/vnd.immervision-ivp', - 'ivu' => 'application/vnd.immervision-ivu', - 'jad' => 'text/vnd.sun.j2me.app-descriptor', - 'jam' => 'application/vnd.jam', - 'jar' => 'application/java-archive', - 'java' => 'text/x-java-source', - 'jisp' => 'application/vnd.jisp', - 'jlt' => 'application/vnd.hp-jlyt', - 'jnlp' => 'application/x-java-jnlp-file', - 'joda' => 'application/vnd.joost.joda-archive', - 'jpe' => 'image/jpeg', - 'jpeg' => 'image/jpeg', - 'jpg' => 'image/jpeg', - 'jpgm' => 'video/jpm', - 'jpgv' => 'video/jpeg', - 'jpm' => 'video/jpm', - 'js' => 'text/javascript', - 'json' => 'application/json', - 'kar' => 'audio/midi', - 'karbon' => 'application/vnd.kde.karbon', - 'kfo' => 'application/vnd.kde.kformula', - 'kia' => 'application/vnd.kidspiration', - 'kml' => 'application/vnd.google-earth.kml+xml', - 'kmz' => 'application/vnd.google-earth.kmz', - 'kne' => 'application/vnd.kinar', - 'knp' => 'application/vnd.kinar', - 'kon' => 'application/vnd.kde.kontour', - 'kpr' => 'application/vnd.kde.kpresenter', - 'kpt' => 'application/vnd.kde.kpresenter', - 'ksp' => 'application/vnd.kde.kspread', - 'ktr' => 'application/vnd.kahootz', - 'ktx' => 'image/ktx', - 'ktz' => 'application/vnd.kahootz', - 'kwd' => 'application/vnd.kde.kword', - 'kwt' => 'application/vnd.kde.kword', - 'lasxml' => 'application/vnd.las.las+xml', - 'latex' => 'application/x-latex', - 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', - 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', - 'les' => 'application/vnd.hhe.lesson-player', - 'lha' => 'application/octet-stream', - 'link66' => 'application/vnd.route66.link66+xml', - 'list' => 'text/plain', - 'list3820' => 'application/vnd.ibm.modcap', - 'listafp' => 'application/vnd.ibm.modcap', - 'log' => 'text/plain', - 'lostxml' => 'application/lost+xml', - 'lrf' => 'application/octet-stream', - 'lrm' => 'application/vnd.ms-lrm', - 'ltf' => 'application/vnd.frogans.ltf', - 'lvp' => 'audio/vnd.lucent.voice', - 'lwp' => 'application/vnd.lotus-wordpro', - 'lzh' => 'application/octet-stream', - 'm13' => 'application/x-msmediaview', - 'm14' => 'application/x-msmediaview', - 'm1v' => 'video/mpeg', - 'm21' => 'application/mp21', - 'm2a' => 'audio/mpeg', - 'm2v' => 'video/mpeg', - 'm3a' => 'audio/mpeg', - 'm3u' => 'audio/x-mpegurl', - 'm3u8' => 'application/vnd.apple.mpegurl', - 'm4a' => 'audio/mp4', - 'm4u' => 'video/vnd.mpegurl', - 'm4v' => 'video/mp4', - 'ma' => 'application/mathematica', - 'mads' => 'application/mads+xml', - 'mag' => 'application/vnd.ecowin.chart', - 'maker' => 'application/vnd.framemaker', - 'man' => 'text/troff', - 'mathml' => 'application/mathml+xml', - 'mb' => 'application/mathematica', - 'mbk' => 'application/vnd.mobius.mbk', - 'mbox' => 'application/mbox', - 'mc1' => 'application/vnd.medcalcdata', - 'mcd' => 'application/vnd.mcd', - 'mcurl' => 'text/vnd.curl.mcurl', - 'mdb' => 'application/x-msaccess', - 'mdi' => 'image/vnd.ms-modi', - 'me' => 'text/troff', - 'mesh' => 'model/mesh', - 'meta4' => 'application/metalink4+xml', - 'mets' => 'application/mets+xml', - 'mfm' => 'application/vnd.mfmp', - 'mgp' => 'application/vnd.osgeo.mapguide.package', - 'mgz' => 'application/vnd.proteus.magazine', - 'mid' => 'audio/midi', - 'midi' => 'audio/midi', - 'mif' => 'application/vnd.mif', - 'mime' => 'message/rfc822', - 'mj2' => 'video/mj2', - 'mjp2' => 'video/mj2', - 'mlp' => 'application/vnd.dolby.mlp', - 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', - 'mmf' => 'application/vnd.smaf', - 'mmr' => 'image/vnd.fujixerox.edmics-mmr', - 'mny' => 'application/x-msmoney', - 'mobi' => 'application/x-mobipocket-ebook', - 'mods' => 'application/mods+xml', - 'mov' => 'video/quicktime', - 'movie' => 'video/x-sgi-movie', - 'mp2' => 'audio/mpeg', - 'mp21' => 'application/mp21', - 'mp2a' => 'audio/mpeg', - 'mp3' => 'audio/mpeg', - 'mp4' => 'video/mp4', - 'mp4a' => 'audio/mp4', - 'mp4s' => 'application/mp4', - 'mp4v' => 'video/mp4', - 'mpc' => 'application/vnd.mophun.certificate', - 'mpe' => 'video/mpeg', - 'mpeg' => 'video/mpeg', - 'mpg' => 'video/mpeg', - 'mpg4' => 'video/mp4', - 'mpga' => 'audio/mpeg', - 'mpkg' => 'application/vnd.apple.installer+xml', - 'mpm' => 'application/vnd.blueice.multipass', - 'mpn' => 'application/vnd.mophun.application', - 'mpp' => 'application/vnd.ms-project', - 'mpt' => 'application/vnd.ms-project', - 'mpy' => 'application/vnd.ibm.minipay', - 'mqy' => 'application/vnd.mobius.mqy', - 'mrc' => 'application/marc', - 'mrcx' => 'application/marcxml+xml', - 'ms' => 'text/troff', - 'mscml' => 'application/mediaservercontrol+xml', - 'mseed' => 'application/vnd.fdsn.mseed', - 'mseq' => 'application/vnd.mseq', - 'msf' => 'application/vnd.epson.msf', - 'msh' => 'model/mesh', - 'msi' => 'application/x-msdownload', - 'msl' => 'application/vnd.mobius.msl', - 'msty' => 'application/vnd.muvee.style', - 'mts' => 'model/vnd.mts', - 'mus' => 'application/vnd.musician', - 'musicxml' => 'application/vnd.recordare.musicxml+xml', - 'mvb' => 'application/x-msmediaview', - 'mwf' => 'application/vnd.mfer', - 'mxf' => 'application/mxf', - 'mxl' => 'application/vnd.recordare.musicxml', - 'mxml' => 'application/xv+xml', - 'mxs' => 'application/vnd.triscape.mxs', - 'mxu' => 'video/vnd.mpegurl', - 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', - 'n3' => 'text/n3', - 'nb' => 'application/mathematica', - 'nbp' => 'application/vnd.wolfram.player', - 'nc' => 'application/x-netcdf', - 'ncx' => 'application/x-dtbncx+xml', - 'ngdat' => 'application/vnd.nokia.n-gage.data', - 'nlu' => 'application/vnd.neurolanguage.nlu', - 'nml' => 'application/vnd.enliven', - 'nnd' => 'application/vnd.noblenet-directory', - 'nns' => 'application/vnd.noblenet-sealer', - 'nnw' => 'application/vnd.noblenet-web', - 'npx' => 'image/vnd.net-fpx', - 'nsf' => 'application/vnd.lotus-notes', - 'oa2' => 'application/vnd.fujitsu.oasys2', - 'oa3' => 'application/vnd.fujitsu.oasys3', - 'oas' => 'application/vnd.fujitsu.oasys', - 'obd' => 'application/x-msbinder', - 'oda' => 'application/oda', - 'odb' => 'application/vnd.oasis.opendocument.database', - 'odc' => 'application/vnd.oasis.opendocument.chart', - 'odf' => 'application/vnd.oasis.opendocument.formula', - 'odft' => 'application/vnd.oasis.opendocument.formula-template', - 'odg' => 'application/vnd.oasis.opendocument.graphics', - 'odi' => 'application/vnd.oasis.opendocument.image', - 'odm' => 'application/vnd.oasis.opendocument.text-master', - 'odp' => 'application/vnd.oasis.opendocument.presentation', - 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', - 'odt' => 'application/vnd.oasis.opendocument.text', - 'oga' => 'audio/ogg', - 'ogg' => 'audio/ogg', - 'ogv' => 'video/ogg', - 'ogx' => 'application/ogg', - 'onepkg' => 'application/onenote', - 'onetmp' => 'application/onenote', - 'onetoc' => 'application/onenote', - 'onetoc2' => 'application/onenote', - 'opf' => 'application/oebps-package+xml', - 'oprc' => 'application/vnd.palm', - 'org' => 'application/vnd.lotus-organizer', - 'osf' => 'application/vnd.yamaha.openscoreformat', - 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', - 'otc' => 'application/vnd.oasis.opendocument.chart-template', - 'otf' => 'application/x-font-otf', - 'otg' => 'application/vnd.oasis.opendocument.graphics-template', - 'oth' => 'application/vnd.oasis.opendocument.text-web', - 'oti' => 'application/vnd.oasis.opendocument.image-template', - 'otp' => 'application/vnd.oasis.opendocument.presentation-template', - 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', - 'ott' => 'application/vnd.oasis.opendocument.text-template', - 'oxt' => 'application/vnd.openofficeorg.extension', - 'p' => 'text/x-pascal', - 'p10' => 'application/pkcs10', - 'p12' => 'application/x-pkcs12', - 'p7b' => 'application/x-pkcs7-certificates', - 'p7c' => 'application/pkcs7-mime', - 'p7m' => 'application/pkcs7-mime', - 'p7r' => 'application/x-pkcs7-certreqresp', - 'p7s' => 'application/pkcs7-signature', - 'p8' => 'application/pkcs8', - 'pas' => 'text/x-pascal', - 'paw' => 'application/vnd.pawaafile', - 'pbd' => 'application/vnd.powerbuilder6', - 'pbm' => 'image/x-portable-bitmap', - 'pcf' => 'application/x-font-pcf', - 'pcl' => 'application/vnd.hp-pcl', - 'pclxl' => 'application/vnd.hp-pclxl', - 'pct' => 'image/x-pict', - 'pcurl' => 'application/vnd.curl.pcurl', - 'pcx' => 'image/x-pcx', - 'pdb' => 'application/vnd.palm', - 'pdf' => 'application/pdf', - 'pfa' => 'application/x-font-type1', - 'pfb' => 'application/x-font-type1', - 'pfm' => 'application/x-font-type1', - 'pfr' => 'application/font-tdpfr', - 'pfx' => 'application/x-pkcs12', - 'pgm' => 'image/x-portable-graymap', - 'pgn' => 'application/x-chess-pgn', - 'pgp' => 'application/pgp-encrypted', - 'php' => 'text/x-php', - 'phps' => 'application/x-httpd-phps', - 'pic' => 'image/x-pict', - 'pkg' => 'application/octet-stream', - 'pki' => 'application/pkixcmp', - 'pkipath' => 'application/pkix-pkipath', - 'plb' => 'application/vnd.3gpp.pic-bw-large', - 'plc' => 'application/vnd.mobius.plc', - 'plf' => 'application/vnd.pocketlearn', - 'pls' => 'application/pls+xml', - 'pml' => 'application/vnd.ctc-posml', - 'png' => 'image/png', - 'pnm' => 'image/x-portable-anymap', - 'portpkg' => 'application/vnd.macports.portpkg', - 'pot' => 'application/vnd.ms-powerpoint', - 'potm' => 'application/vnd.ms-powerpoint.template.macroenabled.12', - 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', - 'ppam' => 'application/vnd.ms-powerpoint.addin.macroenabled.12', - 'ppd' => 'application/vnd.cups-ppd', - 'ppm' => 'image/x-portable-pixmap', - 'pps' => 'application/vnd.ms-powerpoint', - 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', - 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', - 'ppt' => 'application/vnd.ms-powerpoint', - 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroenabled.12', - 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'pqa' => 'application/vnd.palm', - 'prc' => 'application/x-mobipocket-ebook', - 'pre' => 'application/vnd.lotus-freelance', - 'prf' => 'application/pics-rules', - 'ps' => 'application/postscript', - 'psb' => 'application/vnd.3gpp.pic-bw-small', - 'psd' => 'image/vnd.adobe.photoshop', - 'psf' => 'application/x-font-linux-psf', - 'pskcxml' => 'application/pskc+xml', - 'ptid' => 'application/vnd.pvi.ptid1', - 'pub' => 'application/x-mspublisher', - 'pvb' => 'application/vnd.3gpp.pic-bw-var', - 'pwn' => 'application/vnd.3m.post-it-notes', - 'pya' => 'audio/vnd.ms-playready.media.pya', - 'pyv' => 'video/vnd.ms-playready.media.pyv', - 'qam' => 'application/vnd.epson.quickanime', - 'qbo' => 'application/vnd.intu.qbo', - 'qfx' => 'application/vnd.intu.qfx', - 'qps' => 'application/vnd.publishare-delta-tree', - 'qt' => 'video/quicktime', - 'qwd' => 'application/vnd.quark.quarkxpress', - 'qwt' => 'application/vnd.quark.quarkxpress', - 'qxb' => 'application/vnd.quark.quarkxpress', - 'qxd' => 'application/vnd.quark.quarkxpress', - 'qxl' => 'application/vnd.quark.quarkxpress', - 'qxt' => 'application/vnd.quark.quarkxpress', - 'ra' => 'audio/x-pn-realaudio', - 'ram' => 'audio/x-pn-realaudio', - 'rar' => 'application/x-rar-compressed', - 'ras' => 'image/x-cmu-raster', - 'rb' => 'text/plain', - 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', - 'rdf' => 'application/rdf+xml', - 'rdz' => 'application/vnd.data-vision.rdz', - 'rep' => 'application/vnd.businessobjects', - 'res' => 'application/x-dtbresource+xml', - 'resx' => 'text/xml', - 'rgb' => 'image/x-rgb', - 'rif' => 'application/reginfo+xml', - 'rip' => 'audio/vnd.rip', - 'rl' => 'application/resource-lists+xml', - 'rlc' => 'image/vnd.fujixerox.edmics-rlc', - 'rld' => 'application/resource-lists-diff+xml', - 'rm' => 'application/vnd.rn-realmedia', - 'rmi' => 'audio/midi', - 'rmp' => 'audio/x-pn-realaudio-plugin', - 'rms' => 'application/vnd.jcp.javame.midlet-rms', - 'rnc' => 'application/relax-ng-compact-syntax', - 'roff' => 'text/troff', - 'rp9' => 'application/vnd.cloanto.rp9', - 'rpss' => 'application/vnd.nokia.radio-presets', - 'rpst' => 'application/vnd.nokia.radio-preset', - 'rq' => 'application/sparql-query', - 'rs' => 'application/rls-services+xml', - 'rsd' => 'application/rsd+xml', - 'rss' => 'application/rss+xml', - 'rtf' => 'application/rtf', - 'rtx' => 'text/richtext', - 's' => 'text/x-asm', - 'saf' => 'application/vnd.yamaha.smaf-audio', - 'sbml' => 'application/sbml+xml', - 'sc' => 'application/vnd.ibm.secure-container', - 'scd' => 'application/x-msschedule', - 'scm' => 'application/vnd.lotus-screencam', - 'scq' => 'application/scvp-cv-request', - 'scs' => 'application/scvp-cv-response', - 'scurl' => 'text/vnd.curl.scurl', - 'sda' => 'application/vnd.stardivision.draw', - 'sdc' => 'application/vnd.stardivision.calc', - 'sdd' => 'application/vnd.stardivision.impress', - 'sdkd' => 'application/vnd.solent.sdkm+xml', - 'sdkm' => 'application/vnd.solent.sdkm+xml', - 'sdp' => 'application/sdp', - 'sdw' => 'application/vnd.stardivision.writer', - 'see' => 'application/vnd.seemail', - 'seed' => 'application/vnd.fdsn.seed', - 'sema' => 'application/vnd.sema', - 'semd' => 'application/vnd.semd', - 'semf' => 'application/vnd.semf', - 'ser' => 'application/java-serialized-object', - 'setpay' => 'application/set-payment-initiation', - 'setreg' => 'application/set-registration-initiation', - 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', - 'sfs' => 'application/vnd.spotfire.sfs', - 'sgl' => 'application/vnd.stardivision.writer-global', - 'sgm' => 'text/sgml', - 'sgml' => 'text/sgml', - 'sh' => 'application/x-sh', - 'shar' => 'application/x-shar', - 'shf' => 'application/shf+xml', - 'sig' => 'application/pgp-signature', - 'silo' => 'model/mesh', - 'sis' => 'application/vnd.symbian.install', - 'sisx' => 'application/vnd.symbian.install', - 'sit' => 'application/x-stuffit', - 'sitx' => 'application/x-stuffitx', - 'skd' => 'application/vnd.koan', - 'skm' => 'application/vnd.koan', - 'skp' => 'application/vnd.koan', - 'skt' => 'application/vnd.koan', - 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', - 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', - 'slt' => 'application/vnd.epson.salt', - 'sm' => 'application/vnd.stepmania.stepchart', - 'smf' => 'application/vnd.stardivision.math', - 'smi' => 'application/smil+xml', - 'smil' => 'application/smil+xml', - 'snd' => 'audio/basic', - 'snf' => 'application/x-font-snf', - 'so' => 'application/octet-stream', - 'spc' => 'application/x-pkcs7-certificates', - 'spf' => 'application/vnd.yamaha.smaf-phrase', - 'spl' => 'application/x-futuresplash', - 'spot' => 'text/vnd.in3d.spot', - 'spp' => 'application/scvp-vp-response', - 'spq' => 'application/scvp-vp-request', - 'spx' => 'audio/ogg', - 'src' => 'application/x-wais-source', - 'sru' => 'application/sru+xml', - 'srx' => 'application/sparql-results+xml', - 'sse' => 'application/vnd.kodak-descriptor', - 'ssf' => 'application/vnd.epson.ssf', - 'ssml' => 'application/ssml+xml', - 'st' => 'application/vnd.sailingtracker.track', - 'stc' => 'application/vnd.sun.xml.calc.template', - 'std' => 'application/vnd.sun.xml.draw.template', - 'stf' => 'application/vnd.wt.stf', - 'sti' => 'application/vnd.sun.xml.impress.template', - 'stk' => 'application/hyperstudio', - 'stl' => 'application/vnd.ms-pki.stl', - 'str' => 'application/vnd.pg.format', - 'stw' => 'application/vnd.sun.xml.writer.template', - 'sub' => 'image/vnd.dvb.subtitle', - 'sus' => 'application/vnd.sus-calendar', - 'susp' => 'application/vnd.sus-calendar', - 'sv4cpio' => 'application/x-sv4cpio', - 'sv4crc' => 'application/x-sv4crc', - 'svc' => 'application/vnd.dvb.service', - 'svd' => 'application/vnd.svd', - 'svg' => 'image/svg+xml', - 'svgz' => 'image/svg+xml', - 'swa' => 'application/x-director', - 'swf' => 'application/x-shockwave-flash', - 'swi' => 'application/vnd.aristanetworks.swi', - 'sxc' => 'application/vnd.sun.xml.calc', - 'sxd' => 'application/vnd.sun.xml.draw', - 'sxg' => 'application/vnd.sun.xml.writer.global', - 'sxi' => 'application/vnd.sun.xml.impress', - 'sxm' => 'application/vnd.sun.xml.math', - 'sxw' => 'application/vnd.sun.xml.writer', - 't' => 'text/troff', - 'tao' => 'application/vnd.tao.intent-module-archive', - 'tar' => 'application/x-tar', - 'tcap' => 'application/vnd.3gpp2.tcap', - 'tcl' => 'application/x-tcl', - 'teacher' => 'application/vnd.smart.teacher', - 'tei' => 'application/tei+xml', - 'teicorpus' => 'application/tei+xml', - 'tex' => 'application/x-tex', - 'texi' => 'application/x-texinfo', - 'texinfo' => 'application/x-texinfo', - 'text' => 'text/plain', - 'tfi' => 'application/thraud+xml', - 'tfm' => 'application/x-tex-tfm', - 'thmx' => 'application/vnd.ms-officetheme', - 'tif' => 'image/tiff', - 'tiff' => 'image/tiff', - 'tmo' => 'application/vnd.tmobile-livetv', - 'torrent' => 'application/x-bittorrent', - 'tpl' => 'application/vnd.groove-tool-template', - 'tpt' => 'application/vnd.trid.tpt', - 'tr' => 'text/troff', - 'tra' => 'application/vnd.trueapp', - 'trm' => 'application/x-msterminal', - 'tsd' => 'application/timestamped-data', - 'tsv' => 'text/tab-separated-values', - 'ttc' => 'application/x-font-ttf', - 'ttf' => 'application/x-font-ttf', - 'ttl' => 'text/turtle', - 'twd' => 'application/vnd.simtech-mindmapper', - 'twds' => 'application/vnd.simtech-mindmapper', - 'txd' => 'application/vnd.genomatix.tuxedo', - 'txf' => 'application/vnd.mobius.txf', - 'txt' => 'text/plain', - 'u32' => 'application/x-authorware-bin', - 'udeb' => 'application/x-debian-package', - 'ufd' => 'application/vnd.ufdl', - 'ufdl' => 'application/vnd.ufdl', - 'umj' => 'application/vnd.umajin', - 'unityweb' => 'application/vnd.unity', - 'uoml' => 'application/vnd.uoml+xml', - 'uri' => 'text/uri-list', - 'uris' => 'text/uri-list', - 'urls' => 'text/uri-list', - 'ustar' => 'application/x-ustar', - 'utz' => 'application/vnd.uiq.theme', - 'uu' => 'text/x-uuencode', - 'uva' => 'audio/vnd.dece.audio', - 'uvd' => 'application/vnd.dece.data', - 'uvf' => 'application/vnd.dece.data', - 'uvg' => 'image/vnd.dece.graphic', - 'uvh' => 'video/vnd.dece.hd', - 'uvi' => 'image/vnd.dece.graphic', - 'uvm' => 'video/vnd.dece.mobile', - 'uvp' => 'video/vnd.dece.pd', - 'uvs' => 'video/vnd.dece.sd', - 'uvt' => 'application/vnd.dece.ttml+xml', - 'uvu' => 'video/vnd.uvvu.mp4', - 'uvv' => 'video/vnd.dece.video', - 'uvva' => 'audio/vnd.dece.audio', - 'uvvd' => 'application/vnd.dece.data', - 'uvvf' => 'application/vnd.dece.data', - 'uvvg' => 'image/vnd.dece.graphic', - 'uvvh' => 'video/vnd.dece.hd', - 'uvvi' => 'image/vnd.dece.graphic', - 'uvvm' => 'video/vnd.dece.mobile', - 'uvvp' => 'video/vnd.dece.pd', - 'uvvs' => 'video/vnd.dece.sd', - 'uvvt' => 'application/vnd.dece.ttml+xml', - 'uvvu' => 'video/vnd.uvvu.mp4', - 'uvvv' => 'video/vnd.dece.video', - 'uvvx' => 'application/vnd.dece.unspecified', - 'uvx' => 'application/vnd.dece.unspecified', - 'vcd' => 'application/x-cdlink', - 'vcf' => 'text/x-vcard', - 'vcg' => 'application/vnd.groove-vcard', - 'vcs' => 'text/x-vcalendar', - 'vcx' => 'application/vnd.vcx', - 'vis' => 'application/vnd.visionary', - 'viv' => 'video/vnd.vivo', - 'vor' => 'application/vnd.stardivision.writer', - 'vox' => 'application/x-authorware-bin', - 'vrml' => 'model/vrml', - 'vsd' => 'application/vnd.visio', - 'vsf' => 'application/vnd.vsf', - 'vss' => 'application/vnd.visio', - 'vst' => 'application/vnd.visio', - 'vsw' => 'application/vnd.visio', - 'vtu' => 'model/vnd.vtu', - 'vxml' => 'application/voicexml+xml', - 'w3d' => 'application/x-director', - 'wad' => 'application/x-doom', - 'wav' => 'audio/x-wav', - 'wax' => 'audio/x-ms-wax', - 'wbmp' => 'image/vnd.wap.wbmp', - 'wbs' => 'application/vnd.criticaltools.wbs+xml', - 'wbxml' => 'application/vnd.wap.wbxml', - 'wcm' => 'application/vnd.ms-works', - 'wdb' => 'application/vnd.ms-works', - 'weba' => 'audio/webm', - 'webm' => 'video/webm', - 'webp' => 'image/webp', - 'wg' => 'application/vnd.pmi.widget', - 'wgt' => 'application/widget', - 'wks' => 'application/vnd.ms-works', - 'wm' => 'video/x-ms-wm', - 'wma' => 'audio/x-ms-wma', - 'wmd' => 'application/x-ms-wmd', - 'wmf' => 'application/x-msmetafile', - 'wml' => 'text/vnd.wap.wml', - 'wmlc' => 'application/vnd.wap.wmlc', - 'wmls' => 'text/vnd.wap.wmlscript', - 'wmlsc' => 'application/vnd.wap.wmlscriptc', - 'wmv' => 'video/x-ms-wmv', - 'wmx' => 'video/x-ms-wmx', - 'wmz' => 'application/x-ms-wmz', - 'woff' => 'application/x-font-woff', - 'wpd' => 'application/vnd.wordperfect', - 'wpl' => 'application/vnd.ms-wpl', - 'wps' => 'application/vnd.ms-works', - 'wqd' => 'application/vnd.wqd', - 'wri' => 'application/x-mswrite', - 'wrl' => 'model/vrml', - 'wsdl' => 'application/wsdl+xml', - 'wspolicy' => 'application/wspolicy+xml', - 'wtb' => 'application/vnd.webturbo', - 'wvx' => 'video/x-ms-wvx', - 'x32' => 'application/x-authorware-bin', - 'x3d' => 'application/vnd.hzn-3d-crossword', - 'xap' => 'application/x-silverlight-app', - 'xar' => 'application/vnd.xara', - 'xbap' => 'application/x-ms-xbap', - 'xbd' => 'application/vnd.fujixerox.docuworks.binder', - 'xbm' => 'image/x-xbitmap', - 'xdf' => 'application/xcap-diff+xml', - 'xdm' => 'application/vnd.syncml.dm+xml', - 'xdp' => 'application/vnd.adobe.xdp+xml', - 'xdssc' => 'application/dssc+xml', - 'xdw' => 'application/vnd.fujixerox.docuworks', - 'xenc' => 'application/xenc+xml', - 'xer' => 'application/patch-ops-error+xml', - 'xfdf' => 'application/vnd.adobe.xfdf', - 'xfdl' => 'application/vnd.xfdl', - 'xht' => 'application/xhtml+xml', - 'xhtml' => 'application/xhtml+xml', - 'xhvml' => 'application/xv+xml', - 'xif' => 'image/vnd.xiff', - 'xla' => 'application/vnd.ms-excel', - 'xlam' => 'application/vnd.ms-excel.addin.macroenabled.12', - 'xlc' => 'application/vnd.ms-excel', - 'xlm' => 'application/vnd.ms-excel', - 'xls' => 'application/vnd.ms-excel', - 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroenabled.12', - 'xlsm' => 'application/vnd.ms-excel.sheet.macroenabled.12', - 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'xlt' => 'application/vnd.ms-excel', - 'xltm' => 'application/vnd.ms-excel.template.macroenabled.12', - 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', - 'xlw' => 'application/vnd.ms-excel', - 'xml' => 'application/xml', - 'xo' => 'application/vnd.olpc-sugar', - 'xop' => 'application/xop+xml', - 'xpi' => 'application/x-xpinstall', - 'xpm' => 'image/x-xpixmap', - 'xpr' => 'application/vnd.is-xpr', - 'xps' => 'application/vnd.ms-xpsdocument', - 'xpw' => 'application/vnd.intercon.formnet', - 'xpx' => 'application/vnd.intercon.formnet', - 'xsl' => 'application/xml', - 'xslt' => 'application/xslt+xml', - 'xsm' => 'application/vnd.syncml+xml', - 'xspf' => 'application/xspf+xml', - 'xul' => 'application/vnd.mozilla.xul+xml', - 'xvm' => 'application/xv+xml', - 'xvml' => 'application/xv+xml', - 'xwd' => 'image/x-xwindowdump', - 'xyz' => 'chemical/x-xyz', - 'yaml' => 'text/yaml', - 'yang' => 'application/yang', - 'yin' => 'application/yin+xml', - 'yml' => 'text/yaml', - 'zaz' => 'application/vnd.zzazz.deck+xml', - 'zip' => 'application/zip', - 'zir' => 'application/vnd.zul', - 'zirz' => 'application/vnd.zul', - 'zmm' => 'application/vnd.handheld-entertainment+xml' - ); - - /** - * Get a singleton instance of the class - * - * @return self - * @codeCoverageIgnore - */ - public static function getInstance() - { - if (!self::$instance) { - self::$instance = new self(); - } - - return self::$instance; - } - - /** - * Get a mimetype value from a file extension - * - * @param string $extension File extension - * - * @return string|null - * - */ - public function fromExtension($extension) - { - $extension = strtolower($extension); - - return isset($this->mimetypes[$extension]) ? $this->mimetypes[$extension] : null; - } - - /** - * Get a mimetype from a filename - * - * @param string $filename Filename to generate a mimetype from - * - * @return string|null - */ - public function fromFilename($filename) - { - return $this->fromExtension(pathinfo($filename, PATHINFO_EXTENSION)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/CommaAggregator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/CommaAggregator.php deleted file mode 100644 index 4b4e49d0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/CommaAggregator.php +++ /dev/null @@ -1,20 +0,0 @@ -isUrlEncoding()) { - return array($query->encodeValue($key) => implode(',', array_map(array($query, 'encodeValue'), $value))); - } else { - return array($key => implode(',', $value)); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/DuplicateAggregator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/DuplicateAggregator.php deleted file mode 100644 index 1bf1730e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/DuplicateAggregator.php +++ /dev/null @@ -1,22 +0,0 @@ -isUrlEncoding()) { - return array($query->encodeValue($key) => array_map(array($query, 'encodeValue'), $value)); - } else { - return array($key => $value); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php deleted file mode 100644 index 133ea2bd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/PhpAggregator.php +++ /dev/null @@ -1,27 +0,0 @@ - $v) { - $k = "{$key}[{$k}]"; - if (is_array($v)) { - $ret = array_merge($ret, self::aggregate($k, $v, $query)); - } else { - $ret[$query->encodeValue($k)] = $query->encodeValue($v); - } - } - - return $ret; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/QueryAggregatorInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/QueryAggregatorInterface.php deleted file mode 100644 index 72bee620..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/QueryAggregatorInterface.php +++ /dev/null @@ -1,22 +0,0 @@ -add($key, $value); - $foundDuplicates = true; - } elseif ($paramIsPhpStyleArray) { - $q[$key] = array($value); - } else { - $q[$key] = $value; - } - } else { - // Uses false by default to represent keys with no trailing "=" sign. - $q->add($key, false); - } - } - - // Use the duplicate aggregator if duplicates were found and not using PHP style arrays - if ($foundDuplicates && !$foundPhpStyle) { - $q->setAggregator(new DuplicateAggregator()); - } - - return $q; - } - - /** - * Convert the query string parameters to a query string string - * - * @return string - * @throws RuntimeException - */ - public function __toString() - { - if (!$this->data) { - return ''; - } - - $queryList = array(); - foreach ($this->prepareData($this->data) as $name => $value) { - $queryList[] = $this->convertKvp($name, $value); - } - - return implode($this->fieldSeparator, $queryList); - } - - /** - * Get the query string field separator - * - * @return string - */ - public function getFieldSeparator() - { - return $this->fieldSeparator; - } - - /** - * Get the query string value separator - * - * @return string - */ - public function getValueSeparator() - { - return $this->valueSeparator; - } - - /** - * Returns the type of URL encoding used by the query string - * - * One of: false, "RFC 3986", or "application/x-www-form-urlencoded" - * - * @return bool|string - */ - public function getUrlEncoding() - { - return $this->urlEncode; - } - - /** - * Returns true or false if using URL encoding - * - * @return bool - */ - public function isUrlEncoding() - { - return $this->urlEncode !== false; - } - - /** - * Provide a function for combining multi-valued query string parameters into a single or multiple fields - * - * @param null|QueryAggregatorInterface $aggregator Pass in a QueryAggregatorInterface object to handle converting - * deeply nested query string variables into a flattened array. - * Pass null to use the default PHP style aggregator. For legacy - * reasons, this function accepts a callable that must accepts a - * $key, $value, and query object. - * @return self - * @see \Guzzle\Http\QueryString::aggregateUsingComma() - */ - public function setAggregator(QueryAggregatorInterface $aggregator = null) - { - // Use the default aggregator if none was set - if (!$aggregator) { - if (!self::$defaultAggregator) { - self::$defaultAggregator = new PhpAggregator(); - } - $aggregator = self::$defaultAggregator; - } - - $this->aggregator = $aggregator; - - return $this; - } - - /** - * Set whether or not field names and values should be rawurlencoded - * - * @param bool|string $encode Set to TRUE to use RFC 3986 encoding (rawurlencode), false to disable encoding, or - * form_urlencoding to use application/x-www-form-urlencoded encoding (urlencode) - * @return self - */ - public function useUrlEncoding($encode) - { - $this->urlEncode = ($encode === true) ? self::RFC_3986 : $encode; - - return $this; - } - - /** - * Set the query string separator - * - * @param string $separator The query string separator that will separate fields - * - * @return self - */ - public function setFieldSeparator($separator) - { - $this->fieldSeparator = $separator; - - return $this; - } - - /** - * Set the query string value separator - * - * @param string $separator The query string separator that will separate values from fields - * - * @return self - */ - public function setValueSeparator($separator) - { - $this->valueSeparator = $separator; - - return $this; - } - - /** - * Returns an array of url encoded field names and values - * - * @return array - */ - public function urlEncode() - { - return $this->prepareData($this->data); - } - - /** - * URL encodes a value based on the url encoding type of the query string object - * - * @param string $value Value to encode - * - * @return string - */ - public function encodeValue($value) - { - if ($this->urlEncode == self::RFC_3986) { - return rawurlencode($value); - } elseif ($this->urlEncode == self::FORM_URLENCODED) { - return urlencode($value); - } else { - return (string) $value; - } - } - - /** - * Url encode parameter data and convert nested query strings into a flattened hash. - * - * @param array $data The data to encode - * - * @return array Returns an array of encoded values and keys - */ - protected function prepareData(array $data) - { - // If no aggregator is present then set the default - if (!$this->aggregator) { - $this->setAggregator(null); - } - - $temp = array(); - foreach ($data as $key => $value) { - if ($value === false || $value === null) { - // False and null will not include the "=". Use an empty string to include the "=". - $temp[$this->encodeValue($key)] = $value; - } elseif (is_array($value)) { - $temp = array_merge($temp, $this->aggregator->aggregate($key, $value, $this)); - } else { - $temp[$this->encodeValue($key)] = $this->encodeValue($value); - } - } - - return $temp; - } - - /** - * Converts a key value pair that can contain strings, nulls, false, or arrays - * into a single string. - * - * @param string $name Name of the field - * @param mixed $value Value of the field - * @return string - */ - private function convertKvp($name, $value) - { - if ($value === self::BLANK || $value === null || $value === false) { - return $name; - } elseif (!is_array($value)) { - return $name . $this->valueSeparator . $value; - } - - $result = ''; - foreach ($value as $v) { - $result .= $this->convertKvp($name, $v) . $this->fieldSeparator; - } - - return rtrim($result, $this->fieldSeparator); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/ReadLimitEntityBody.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/ReadLimitEntityBody.php deleted file mode 100644 index ef282733..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/ReadLimitEntityBody.php +++ /dev/null @@ -1,122 +0,0 @@ -setLimit($limit)->setOffset($offset); - } - - /** - * Returns only a subset of the decorated entity body when cast as a string - * {@inheritdoc} - */ - public function __toString() - { - if (!$this->body->isReadable() || - (!$this->body->isSeekable() && $this->body->isConsumed()) - ) { - return ''; - } - - $originalPos = $this->body->ftell(); - $this->body->seek($this->offset); - $data = ''; - while (!$this->feof()) { - $data .= $this->read(1048576); - } - $this->body->seek($originalPos); - - return (string) $data ?: ''; - } - - public function isConsumed() - { - return $this->body->isConsumed() || - ($this->body->ftell() >= $this->offset + $this->limit); - } - - /** - * Returns the Content-Length of the limited subset of data - * {@inheritdoc} - */ - public function getContentLength() - { - $length = $this->body->getContentLength(); - - return $length === false - ? $this->limit - : min($this->limit, min($length, $this->offset + $this->limit) - $this->offset); - } - - /** - * Allow for a bounded seek on the read limited entity body - * {@inheritdoc} - */ - public function seek($offset, $whence = SEEK_SET) - { - return $whence === SEEK_SET - ? $this->body->seek(max($this->offset, min($this->offset + $this->limit, $offset))) - : false; - } - - /** - * Set the offset to start limiting from - * - * @param int $offset Offset to seek to and begin byte limiting from - * - * @return self - */ - public function setOffset($offset) - { - $this->body->seek($offset); - $this->offset = $offset; - - return $this; - } - - /** - * Set the limit of bytes that the decorator allows to be read from the stream - * - * @param int $limit Total number of bytes to allow to be read from the stream - * - * @return self - */ - public function setLimit($limit) - { - $this->limit = $limit; - - return $this; - } - - public function read($length) - { - // Check if the current position is less than the total allowed bytes + original offset - $remaining = ($this->offset + $this->limit) - $this->body->ftell(); - if ($remaining > 0) { - // Only return the amount of requested data, ensuring that the byte limit is not exceeded - return $this->body->read(min($remaining, $length)); - } else { - return false; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/RedirectPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/RedirectPlugin.php deleted file mode 100644 index 1a824b8b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/RedirectPlugin.php +++ /dev/null @@ -1,250 +0,0 @@ - array('onRequestSent', 100), - 'request.clone' => 'cleanupRequest', - 'request.before_send' => 'cleanupRequest' - ); - } - - /** - * Clean up the parameters of a request when it is cloned - * - * @param Event $event Event emitted - */ - public function cleanupRequest(Event $event) - { - $params = $event['request']->getParams(); - unset($params[self::REDIRECT_COUNT]); - unset($params[self::PARENT_REQUEST]); - } - - /** - * Called when a request receives a redirect response - * - * @param Event $event Event emitted - */ - public function onRequestSent(Event $event) - { - $response = $event['response']; - $request = $event['request']; - - // Only act on redirect requests with Location headers - if (!$response || $request->getParams()->get(self::DISABLE)) { - return; - } - - // Trace the original request based on parameter history - $original = $this->getOriginalRequest($request); - - // Terminating condition to set the effective response on the original request - if (!$response->isRedirect() || !$response->hasHeader('Location')) { - if ($request !== $original) { - // This is a terminating redirect response, so set it on the original request - $response->getParams()->set(self::REDIRECT_COUNT, $original->getParams()->get(self::REDIRECT_COUNT)); - $original->setResponse($response); - $response->setEffectiveUrl($request->getUrl()); - } - return; - } - - $this->sendRedirectRequest($original, $request, $response); - } - - /** - * Get the original request that initiated a series of redirects - * - * @param RequestInterface $request Request to get the original request from - * - * @return RequestInterface - */ - protected function getOriginalRequest(RequestInterface $request) - { - $original = $request; - // The number of redirects is held on the original request, so determine which request that is - while ($parent = $original->getParams()->get(self::PARENT_REQUEST)) { - $original = $parent; - } - - return $original; - } - - /** - * Create a redirect request for a specific request object - * - * Takes into account strict RFC compliant redirection (e.g. redirect POST with POST) vs doing what most clients do - * (e.g. redirect POST with GET). - * - * @param RequestInterface $request Request being redirected - * @param RequestInterface $original Original request - * @param int $statusCode Status code of the redirect - * @param string $location Location header of the redirect - * - * @return RequestInterface Returns a new redirect request - * @throws CouldNotRewindStreamException If the body needs to be rewound but cannot - */ - protected function createRedirectRequest( - RequestInterface $request, - $statusCode, - $location, - RequestInterface $original - ) { - $redirectRequest = null; - $strict = $original->getParams()->get(self::STRICT_REDIRECTS); - - // Switch method to GET for 303 redirects. 301 and 302 redirects also switch to GET unless we are forcing RFC - // compliance to emulate what most browsers do. NOTE: IE only switches methods on 301/302 when coming from a POST. - if ($request instanceof EntityEnclosingRequestInterface && ($statusCode == 303 || (!$strict && $statusCode <= 302))) { - $redirectRequest = RequestFactory::getInstance()->cloneRequestWithMethod($request, 'GET'); - } else { - $redirectRequest = clone $request; - } - - $redirectRequest->setIsRedirect(true); - // Always use the same response body when redirecting - $redirectRequest->setResponseBody($request->getResponseBody()); - - $location = Url::factory($location); - // If the location is not absolute, then combine it with the original URL - if (!$location->isAbsolute()) { - $originalUrl = $redirectRequest->getUrl(true); - // Remove query string parameters and just take what is present on the redirect Location header - $originalUrl->getQuery()->clear(); - $location = $originalUrl->combine((string) $location, true); - } - - $redirectRequest->setUrl($location); - - // Add the parent request to the request before it sends (make sure it's before the onRequestClone event too) - $redirectRequest->getEventDispatcher()->addListener( - 'request.before_send', - $func = function ($e) use (&$func, $request, $redirectRequest) { - $redirectRequest->getEventDispatcher()->removeListener('request.before_send', $func); - $e['request']->getParams()->set(RedirectPlugin::PARENT_REQUEST, $request); - } - ); - - // Rewind the entity body of the request if needed - if ($redirectRequest instanceof EntityEnclosingRequestInterface && $redirectRequest->getBody()) { - $body = $redirectRequest->getBody(); - // Only rewind the body if some of it has been read already, and throw an exception if the rewind fails - if ($body->ftell() && !$body->rewind()) { - throw new CouldNotRewindStreamException( - 'Unable to rewind the non-seekable entity body of the request after redirecting. cURL probably ' - . 'sent part of body before the redirect occurred. Try adding acustom rewind function using on the ' - . 'entity body of the request using setRewindFunction().' - ); - } - } - - return $redirectRequest; - } - - /** - * Prepare the request for redirection and enforce the maximum number of allowed redirects per client - * - * @param RequestInterface $original Original request - * @param RequestInterface $request Request to prepare and validate - * @param Response $response The current response - * - * @return RequestInterface - */ - protected function prepareRedirection(RequestInterface $original, RequestInterface $request, Response $response) - { - $params = $original->getParams(); - // This is a new redirect, so increment the redirect counter - $current = $params[self::REDIRECT_COUNT] + 1; - $params[self::REDIRECT_COUNT] = $current; - // Use a provided maximum value or default to a max redirect count of 5 - $max = isset($params[self::MAX_REDIRECTS]) ? $params[self::MAX_REDIRECTS] : $this->defaultMaxRedirects; - - // Throw an exception if the redirect count is exceeded - if ($current > $max) { - $this->throwTooManyRedirectsException($original, $max); - return false; - } else { - // Create a redirect request based on the redirect rules set on the request - return $this->createRedirectRequest( - $request, - $response->getStatusCode(), - trim($response->getLocation()), - $original - ); - } - } - - /** - * Send a redirect request and handle any errors - * - * @param RequestInterface $original The originating request - * @param RequestInterface $request The current request being redirected - * @param Response $response The response of the current request - * - * @throws BadResponseException|\Exception - */ - protected function sendRedirectRequest(RequestInterface $original, RequestInterface $request, Response $response) - { - // Validate and create a redirect request based on the original request and current response - if ($redirectRequest = $this->prepareRedirection($original, $request, $response)) { - try { - $redirectRequest->send(); - } catch (BadResponseException $e) { - $e->getResponse(); - if (!$e->getResponse()) { - throw $e; - } - } - } - } - - /** - * Throw a too many redirects exception for a request - * - * @param RequestInterface $original Request - * @param int $max Max allowed redirects - * - * @throws TooManyRedirectsException when too many redirects have been issued - */ - protected function throwTooManyRedirectsException(RequestInterface $original, $max) - { - $original->getEventDispatcher()->addListener( - 'request.complete', - $func = function ($e) use (&$func, $original, $max) { - $original->getEventDispatcher()->removeListener('request.complete', $func); - $str = "{$max} redirects were issued for this request:\n" . $e['request']->getRawHeaders(); - throw new TooManyRedirectsException($str); - } - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem deleted file mode 100644 index 18ce7038..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem +++ /dev/null @@ -1,3870 +0,0 @@ -## -## Bundle of CA Root Certificates -## -## Certificate data from Mozilla downloaded on: Wed Aug 13 21:49:32 2014 -## -## This is a bundle of X.509 certificates of public Certificate Authorities -## (CA). These were automatically extracted from Mozilla's root certificates -## file (certdata.txt). This file can be found in the mozilla source tree: -## http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt -## -## It contains the certificates in PEM format and therefore -## can be directly used with curl / libcurl / php_curl, or with -## an Apache+mod_ssl webserver for SSL client authentication. -## Just configure this file as the SSLCACertificateFile. -## -## Conversion done with mk-ca-bundle.pl verison 1.22. -## SHA1: bf2c15b3019e696660321d2227d942936dc50aa7 -## - - -GTE CyberTrust Global Root -========================== ------BEGIN CERTIFICATE----- -MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg -Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG -A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz -MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL -Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0 -IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u -sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql -HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID -AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW -M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF -NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ ------END CERTIFICATE----- - -Thawte Server CA -================ ------BEGIN CERTIFICATE----- -MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT -DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs -dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE -AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j -b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV -BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u -c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG -A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0 -ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl -/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7 -1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR -MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J -GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ -GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc= ------END CERTIFICATE----- - -Thawte Premium Server CA -======================== ------BEGIN CERTIFICATE----- -MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT -DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs -dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE -AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl -ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT -AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU -VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2 -aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ -cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2 -aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh -Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/ -qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm -SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf -8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t -UCemDaYj+bvLpgcUQg== ------END CERTIFICATE----- - -Equifax Secure CA -================= ------BEGIN CERTIFICATE----- -MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE -ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 -MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT -B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB -nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR -fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW -8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG -A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE -CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG -A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS -spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB -Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961 -zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB -BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95 -70+sB3c4 ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority -======================================================= ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx -FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow -XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz -IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 -f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol -hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA -TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah -WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf -Tqj/ZA1k ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority - G2 -============================================================ ------BEGIN CERTIFICATE----- -MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT -MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy -eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz -dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT -MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy -eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz -dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO -FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71 -lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB -MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT -1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD -Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9 ------END CERTIFICATE----- - -GlobalSign Root CA -================== ------BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx -GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds -b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV -BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD -VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa -DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc -THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb -Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP -c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX -gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF -AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj -Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG -j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH -hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC -X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== ------END CERTIFICATE----- - -GlobalSign Root CA - R2 -======================= ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv -YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh -bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT -aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln -bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 -ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp -s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN -S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL -TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C -ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i -YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN -BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp -9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu -01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 -9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 -TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== ------END CERTIFICATE----- - -ValiCert Class 1 VA -=================== ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp -b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh -bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy -MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 -d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg -UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 -LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi -GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm -DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG -lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX -icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP -Orf1LXLI ------END CERTIFICATE----- - -ValiCert Class 2 VA -=================== ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp -b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh -bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw -MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 -d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg -UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 -LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC -CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf -ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ -SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV -UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8 -W9ViH0Pd ------END CERTIFICATE----- - -RSA Root Certificate 1 -====================== ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp -b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh -bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw -MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 -d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg -UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 -LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td -3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H -BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs -3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF -V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r -on+jjBXu ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority - G3 -============================================================ ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy -dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 -EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc -cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw -EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj -055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA -ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f -j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 -xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa -t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== ------END CERTIFICATE----- - -Verisign Class 4 Public Primary Certification Authority - G3 -============================================================ ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy -dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS -tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM -8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW -Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX -Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA -j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt -mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm -fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd -RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG -UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== ------END CERTIFICATE----- - -Entrust.net Secure Server CA -============================ ------BEGIN CERTIFICATE----- -MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV -BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg -cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl -ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv -cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG -A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi -eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p -dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ -aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5 -gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw -ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw -CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l -dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF -bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu -dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw -NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow -HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA -BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN -Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9 -n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= ------END CERTIFICATE----- - -Entrust.net Premium 2048 Secure Server CA -========================================= ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u -ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp -bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV -BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx -NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 -d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl -MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u -ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL -Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr -hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW -nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi -VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ -KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy -T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf -zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT -J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e -nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= ------END CERTIFICATE----- - -Baltimore CyberTrust Root -========================= ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE -ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li -ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC -SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs -dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME -uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB -UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C -G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 -XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr -l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI -VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB -BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh -cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 -hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa -Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H -RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- - -Equifax Secure Global eBusiness CA -================================== ------BEGIN CERTIFICATE----- -MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT -RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp -bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx -HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds -b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV -PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN -qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn -hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j -BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs -MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN -I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY -NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV ------END CERTIFICATE----- - -Equifax Secure eBusiness CA 1 -============================= ------BEGIN CERTIFICATE----- -MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT -RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB -LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE -ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz -IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ -1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a -IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk -MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW -Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF -AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5 -lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+ -KpYrtWKmpj29f5JZzVoqgrI3eQ== ------END CERTIFICATE----- - -AddTrust Low-Value Services Root -================================ ------BEGIN CERTIFICATE----- -MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU -cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw -CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO -ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6 -54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr -oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1 -Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui -GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w -HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD -AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT -RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw -HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt -ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph -iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY -eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr -mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj -ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= ------END CERTIFICATE----- - -AddTrust External Root -====================== ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD -VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw -NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU -cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg -Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 -+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw -Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo -aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy -2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 -7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL -VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk -VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB -IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl -j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 -e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u -G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= ------END CERTIFICATE----- - -AddTrust Public Services Root -============================= ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU -cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ -BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l -dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu -nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i -d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG -Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw -HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G -A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux -FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G -A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4 -JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL -+YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao -GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9 -Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H -EufOX1362KqxMy3ZdvJOOjMMK7MtkAY= ------END CERTIFICATE----- - -AddTrust Qualified Certificates Root -==================================== ------BEGIN CERTIFICATE----- -MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU -cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx -CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ -IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx -64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3 -KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o -L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR -wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU -MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE -BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y -azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD -ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG -GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X -dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze -RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB -iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE= ------END CERTIFICATE----- - -Entrust Root Certification Authority -==================================== ------BEGIN CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV -BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw -b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG -A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 -MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu -MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu -Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v -dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz -A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww -Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 -j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN -rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw -DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 -MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH -hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM -Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa -v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS -W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 -tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 ------END CERTIFICATE----- - -RSA Security 2048 v3 -==================== ------BEGIN CERTIFICATE----- -MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK -ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy -MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb -BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7 -Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb -WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH -KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP -+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E -FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY -v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj -0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj -VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395 -nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA -pKnXwiJPZ9d37CAFYd4= ------END CERTIFICATE----- - -GeoTrust Global CA -================== ------BEGIN CERTIFICATE----- -MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK -Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw -MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j -LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo -BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet -8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc -T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU -vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk -DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q -zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 -d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 -mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p -XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm -Mw== ------END CERTIFICATE----- - -GeoTrust Global CA 2 -==================== ------BEGIN CERTIFICATE----- -MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN -R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw -MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j -LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/ -NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k -LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA -Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b -HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH -K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7 -srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh -ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL -OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC -x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF -H4z1Ir+rzoPz4iIprn2DQKi6bA== ------END CERTIFICATE----- - -GeoTrust Universal CA -===================== ------BEGIN CERTIFICATE----- -MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN -R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 -MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu -Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t -JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e -RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs -7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d -8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V -qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga -Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB -Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu -KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 -ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 -XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB -hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc -aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 -qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL -oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK -xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF -KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 -DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK -xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU -p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI -P/rmMuGNG2+k5o7Y+SlIis5z/iw= ------END CERTIFICATE----- - -GeoTrust Universal CA 2 -======================= ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN -R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 -MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg -SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 -DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 -j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q -JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a -QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 -WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP -20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn -ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC -SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG -8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 -+/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E -BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z -dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ -4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ -mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq -A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg -Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP -pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d -FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp -gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm -X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS ------END CERTIFICATE----- - -America Online Root Certification Authority 1 -============================================= ------BEGIN CERTIFICATE----- -MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT -QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG -A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg -T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG -v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z -DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh -sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP -8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T -AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z -o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf -GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF -VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft -3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g -Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds -sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 ------END CERTIFICATE----- - -America Online Root Certification Authority 2 -============================================= ------BEGIN CERTIFICATE----- -MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT -QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG -A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg -T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en -fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8 -f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO -qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN -RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0 -gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn -6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid -FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6 -Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj -B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op -aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE -AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY -T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p -+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg -JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy -zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO -ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh -1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf -GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff -Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP -cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk= ------END CERTIFICATE----- - -Visa eCommerce Root -=================== ------BEGIN CERTIFICATE----- -MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG -EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug -QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 -WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm -VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv -bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL -F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b -RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 -TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI -/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs -GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG -MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc -CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW -YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz -zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu -YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt -398znM/jra6O1I7mT1GvFpLgXPYHDw== ------END CERTIFICATE----- - -Certum Root CA -============== ------BEGIN CERTIFICATE----- -MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK -ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla -Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u -by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x -wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL -kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ -89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K -Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P -NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq -hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ -GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg -GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ -0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS -qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== ------END CERTIFICATE----- - -Comodo AAA Services root -======================== ------BEGIN CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS -R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg -TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw -MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl -c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV -BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG -C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs -i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW -Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH -Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK -Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f -BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl -cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz -LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm -7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z -8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C -12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== ------END CERTIFICATE----- - -Comodo Secure Services root -=========================== ------BEGIN CERTIFICATE----- -MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS -R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg -TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw -MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu -Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi -BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP -9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc -rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC -oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V -p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E -FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w -gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj -YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm -aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm -4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj -Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL -DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw -pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H -RR3B7Hzs/Sk= ------END CERTIFICATE----- - -Comodo Trusted Services root -============================ ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS -R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg -TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw -MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h -bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw -IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7 -3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y -/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6 -juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS -ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud -DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp -ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl -cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw -uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 -pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA -BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l -R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O -9y5Xt5hwXsjEeLBi ------END CERTIFICATE----- - -QuoVadis Root CA -================ ------BEGIN CERTIFICATE----- -MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE -ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 -eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz -MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp -cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD -EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk -J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL -F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL -YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen -AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w -PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y -ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 -MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj -YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs -ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh -Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW -Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu -BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw -FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 -tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo -fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul -LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x -gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi -5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi -5nrQNiOKSnQ2+Q== ------END CERTIFICATE----- - -QuoVadis Root CA 2 -================== ------BEGIN CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT -EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx -ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 -XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk -lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB -lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy -lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt -66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn -wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh -D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy -BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie -J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud -DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU -a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv -Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 -UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm -VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK -+JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW -IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 -WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X -f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II -4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 -VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u ------END CERTIFICATE----- - -QuoVadis Root CA 3 -================== ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -Security Communication Root CA -============================== ------BEGIN CERTIFICATE----- -MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP -U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw -HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP -U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw -8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM -DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX -5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd -DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 -JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw -DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g -0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a -mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ -s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ -6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi -FL39vmwLAw== ------END CERTIFICATE----- - -Sonera Class 2 Root CA -====================== ------BEGIN CERTIFICATE----- -MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG -U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw -NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh -IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 -/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT -dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG -f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P -tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH -nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT -XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt -0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI -cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph -Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx -EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH -llpwrN9M ------END CERTIFICATE----- - -Staat der Nederlanden Root CA -============================= ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE -ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g -Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w -HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh -bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt -vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P -jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca -C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth -vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6 -22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV -HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v -dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN -BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR -EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw -MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y -nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR -iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== ------END CERTIFICATE----- - -TDC Internet Root CA -==================== ------BEGIN CERTIFICATE----- -MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE -ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx -NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu -ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j -xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL -znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc -5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6 -otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI -AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM -VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM -MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC -AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe -UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G -CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m -gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+ -2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb -O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU -Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l ------END CERTIFICATE----- - -UTN DATACorp SGC Root CA -======================== ------BEGIN CERTIFICATE----- -MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE -BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl -IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ -BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa -MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w -HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy -dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys -raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo -wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA -9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv -33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud -DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9 -BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD -LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3 -DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft -Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0 -I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx -EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP -DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI ------END CERTIFICATE----- - -UTN USERFirst Hardware Root CA -============================== ------BEGIN CERTIFICATE----- -MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE -BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl -IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd -BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx -OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0 -eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz -ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI -wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd -tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8 -i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf -Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw -gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF -lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF -UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF -BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM -//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW -XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2 -lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn -iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67 -nfhmqA== ------END CERTIFICATE----- - -Camerfirma Chambers of Commerce Root -==================================== ------BEGIN CERTIFICATE----- -MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe -QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i -ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx -NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp -cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn -MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC -AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU -xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH -NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW -DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV -d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud -EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v -cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P -AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh -bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD -VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz -aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi -fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD -L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN -UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n -ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 -erfutGWaIZDgqtCYvDi1czyL+Nw= ------END CERTIFICATE----- - -Camerfirma Global Chambersign Root -================================== ------BEGIN CERTIFICATE----- -MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe -QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i -ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx -NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt -YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg -MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw -ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J -1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O -by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl -6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c -8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ -BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j -aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B -Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj -aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y -ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh -bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA -PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y -gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ -PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 -IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes -t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== ------END CERTIFICATE----- - -NetLock Notary (Class A) Root -============================= ------BEGIN CERTIFICATE----- -MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI -EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 -dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j -ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX -DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH -EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD -VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz -cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM -D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ -z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC -/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7 -tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6 -4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG -A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC -Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv -bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu -IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn -LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0 -ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz -IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh -IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu -b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh -bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg -Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp -bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5 -ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP -ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB -CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr -KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM -8CgHrTwXZoi1/baI ------END CERTIFICATE----- - -NetLock Business (Class B) Root -=============================== ------BEGIN CERTIFICATE----- -MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT -CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV -BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg -VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD -VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv -bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg -VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB -iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S -o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr -1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV -HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ -RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh -dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0 -ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv -c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg -YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh -c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz -Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA -bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl -IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2 -YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj -cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM -43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR -stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI ------END CERTIFICATE----- - -NetLock Express (Class C) Root -============================== ------BEGIN CERTIFICATE----- -MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT -CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV -BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD -KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ -BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 -dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j -ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB -jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z -W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63 -euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw -DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN -RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn -YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB -IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i -aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0 -ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs -ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo -dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y -emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k -IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ -UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg -YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2 -xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW -gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A== ------END CERTIFICATE----- - -XRamp Global CA Root -==================== ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE -BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj -dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx -HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg -U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu -IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx -foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE -zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs -AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry -xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap -oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC -AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc -/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n -nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz -8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= ------END CERTIFICATE----- - -Go Daddy Class 2 CA -=================== ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY -VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG -A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g -RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD -ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv -2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 -qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j -YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY -vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O -BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o -atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu -MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG -A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim -PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt -I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI -Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b -vZ8= ------END CERTIFICATE----- - -Starfield Class 2 CA -==================== ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc -U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo -MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG -A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG -SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY -bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ -JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm -epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN -F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF -MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f -hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo -bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g -QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs -afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM -PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD -KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 -QBFGmh95DmK/D5fs4C8fF5Q= ------END CERTIFICATE----- - -StartCom Certification Authority -================================ ------BEGIN CERTIFICATE----- -MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN -U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu -ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 -NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk -LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg -U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw -ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y -o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ -Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d -eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt -2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z -6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ -osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ -untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc -UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT -37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE -FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 -Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj -YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH -AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw -Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg -U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 -LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl -cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh -cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT -dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC -AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh -3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm -vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk -fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 -fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ -EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq -yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl -1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ -lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro -g14= ------END CERTIFICATE----- - -Taiwan GRCA -=========== ------BEGIN CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG -EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X -DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv -dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN -w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 -BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O -1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO -htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov -J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 -Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t -B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB -O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 -lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV -HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 -09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ -TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj -Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 -Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU -D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz -DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk -Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk -7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ -CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy -+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS ------END CERTIFICATE----- - -Swisscom Root CA 1 -================== ------BEGIN CERTIFICATE----- -MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG -EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy -dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4 -MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln -aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC -IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM -MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF -NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe -AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC -b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn -7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN -cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp -WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5 -haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY -MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw -HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j -BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9 -MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn -jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ -MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H -VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl -vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl -OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3 -1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq -nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy -x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW -NY6E0F/6MBr1mmz0DlP5OlvRHA== ------END CERTIFICATE----- - -DigiCert Assured ID Root CA -=========================== ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw -IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx -MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL -ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO -9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy -UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW -/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy -oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf -GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF -66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq -hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc -EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn -SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i -8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -DigiCert Global Root CA -======================= ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw -HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw -MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 -dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn -TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 -BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H -4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y -7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB -o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm -8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF -BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr -EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt -tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 -UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -DigiCert High Assurance EV Root CA -================================== ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw -KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw -MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ -MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu -Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t -Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS -OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 -MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ -NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe -h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB -Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY -JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ -V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp -myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK -mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K ------END CERTIFICATE----- - -Certplus Class 2 Primary CA -=========================== ------BEGIN CERTIFICATE----- -MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE -BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN -OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy -dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR -5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ -Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO -YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e -e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME -CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ -YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t -L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD -P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R -TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ -7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW -//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 -l7+ijrRU ------END CERTIFICATE----- - -DST Root CA X3 -============== ------BEGIN CERTIFICATE----- -MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK -ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X -DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 -cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT -rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 -UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy -xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d -utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T -AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ -MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug -dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE -GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw -RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS -fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ ------END CERTIFICATE----- - -DST ACES CA X6 -============== ------BEGIN CERTIFICATE----- -MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT -MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha -MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE -CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI -DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa -pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow -GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy -MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu -Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy -dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU -CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 -5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t -Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq -nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs -vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 -oKfN5XozNmr6mis= ------END CERTIFICATE----- - -TURKTRUST Certificate Services Provider Root 1 -============================================== ------BEGIN CERTIFICATE----- -MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF -bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP -MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0 -acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx -MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg -U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB -TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC -aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX -yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i -Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ -8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4 -W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME -BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46 -sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE -q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy -B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY -nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H ------END CERTIFICATE----- - -TURKTRUST Certificate Services Provider Root 2 -============================================== ------BEGIN CERTIFICATE----- -MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF -bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP -MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg -QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN -MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr -dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G -A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls -acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe -LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI -x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g -QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr -5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB -AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt -Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4 -Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+ -hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P -9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5 -UrbnBEI= ------END CERTIFICATE----- - -SwissSign Gold CA - G2 -====================== ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -SwissSign Silver CA - G2 -======================== ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -GeoTrust Primary Certification Authority -======================================== ------BEGIN CERTIFICATE----- -MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx -CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ -cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN -b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 -nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge -RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt -tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI -hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K -Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN -NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa -Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG -1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= ------END CERTIFICATE----- - -thawte Primary Root CA -====================== ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE -BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 -aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 -MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg -SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv -KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT -FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs -oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ -1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc -q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K -aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p -afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF -AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE -uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX -xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 -jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH -z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== ------END CERTIFICATE----- - -VeriSign Class 3 Public Primary Certification Authority - G5 -============================================================ ------BEGIN CERTIFICATE----- -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE -BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO -ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk -IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln -biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh -dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt -YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz -j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD -Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ -Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r -fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ -BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv -Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG -SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ -X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE -KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC -Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE -ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq ------END CERTIFICATE----- - -SecureTrust CA -============== ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy -dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe -BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX -OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t -DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH -GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b -01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH -ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj -aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ -KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu -SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf -mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ -nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -Secure Global CA -================ ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH -bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg -MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg -Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx -YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ -bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g -8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV -HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi -0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn -oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA -MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ -OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn -CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 -3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -COMODO Certification Authority -============================== ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE -BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG -A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 -dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb -MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD -T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH -+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww -xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV -4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA -1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI -rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k -b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC -AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP -OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc -IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN -+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== ------END CERTIFICATE----- - -Network Solutions Certificate Authority -======================================= ------BEGIN CERTIFICATE----- -MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG -EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr -IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx -MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu -MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx -jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT -aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT -crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc -/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB -AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv -bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA -A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q -4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ -GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv -wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD -ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey ------END CERTIFICATE----- - -WellsSecure Public Root Certificate Authority -============================================= ------BEGIN CERTIFICATE----- -MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM -F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw -NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN -MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl -bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD -VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1 -iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13 -i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8 -bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB -K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB -AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu -cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm -lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB -i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww -GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg -Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI -K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0 -bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj -qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es -E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ -tylv2G0xffX8oRAHh84vWdw+WNs= ------END CERTIFICATE----- - -COMODO ECC Certification Authority -================================== ------BEGIN CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC -R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE -ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix -GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo -b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X -4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni -wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG -FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA -U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= ------END CERTIFICATE----- - -IGC/A -===== ------BEGIN CERTIFICATE----- -MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD -VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE -Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy -MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI -EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT -STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2 -TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW -So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy -HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd -frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ -tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB -egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC -iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK -q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q -MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg -Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI -lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF -0mBWWg== ------END CERTIFICATE----- - -Security Communication EV RootCA1 -================================= ------BEGIN CERTIFICATE----- -MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc -U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh -dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE -BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl -Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO -/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX -WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z -ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4 -bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK -9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG -SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm -iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG -Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW -mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW -T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 ------END CERTIFICATE----- - -OISTE WISeKey Global Root GA CA -=============================== ------BEGIN CERTIFICATE----- -MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE -BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG -A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH -bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD -VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw -IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 -IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 -Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg -Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD -d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ -/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R -LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ -KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm -MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 -+vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa -hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY -okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= ------END CERTIFICATE----- - -Microsec e-Szigno Root CA -========================= ------BEGIN CERTIFICATE----- -MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE -BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL -EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0 -MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz -dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT -GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG -d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N -oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc -QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ -PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb -MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG -IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD -VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3 -LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A -dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn -AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA -4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg -AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA -egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6 -Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO -PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv -c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h -cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw -IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT -WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV -MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER -MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp -Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal -HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT -nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE -aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a -86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK -yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB -S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU= ------END CERTIFICATE----- - -Certigna -======== ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw -EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 -MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI -Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q -XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH -GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p -ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg -DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf -Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ -tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ -BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J -SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA -hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ -ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu -PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY -1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - -AC Ra\xC3\xADz Certic\xC3\xA1mara S.A. -====================================== ------BEGIN CERTIFICATE----- -MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT -AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg -LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w -HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+ -U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh -IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN -yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU -2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3 -4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP -2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm -8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf -HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa -Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK -5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b -czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE -AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g -ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF -BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug -cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf -AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX -EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v -/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3 -MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4 -3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk -eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f -/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h -RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU -Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ== ------END CERTIFICATE----- - -TC TrustCenter Class 2 CA II -============================ ------BEGIN CERTIFICATE----- -MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC -REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy -IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw -MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 -c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE -AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw -IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2 -xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ -Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u -SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB -7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 -Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU -cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i -SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u -TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G -dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ -KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj -TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP -JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk -vQ== ------END CERTIFICATE----- - -TC TrustCenter Class 3 CA II -============================ ------BEGIN CERTIFICATE----- -MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC -REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy -IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw -MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 -c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE -AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W -yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo -6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ -uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk -2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB -7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 -Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU -cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i -SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u -TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE -O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8 -yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9 -IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal -092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc -5A== ------END CERTIFICATE----- - -TC TrustCenter Universal CA I -============================= ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC -REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy -IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN -MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg -VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw -JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC -qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv -xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw -ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O -gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j -BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG -1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy -vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3 -ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT -ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a -7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY ------END CERTIFICATE----- - -Deutsche Telekom Root CA 2 -========================== ------BEGIN CERTIFICATE----- -MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT -RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG -A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 -MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G -A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS -b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 -bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI -KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY -AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK -Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV -jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV -HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr -E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy -zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 -rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G -dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU -Cm26OWMohpLzGITY+9HPBVZkVw== ------END CERTIFICATE----- - -ComSign Secured CA -================== ------BEGIN CERTIFICATE----- -MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE -AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w -NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD -QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs -49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH -7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB -kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1 -9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw -AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t -U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA -j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC -AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a -BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp -FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP -51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz -OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw== ------END CERTIFICATE----- - -Cybertrust Global Root -====================== ------BEGIN CERTIFICATE----- -MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li -ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 -MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD -ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -+Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW -0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL -AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin -89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT -8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 -MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G -A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO -lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi -5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 -hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T -X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW -WL1WMRJOEcgh4LMRkWXbtKaIOM5V ------END CERTIFICATE----- - -ePKI Root Certification Authority -================================= ------BEGIN CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG -EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg -Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx -MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq -MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs -IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi -lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv -qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX -12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O -WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ -ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao -lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ -vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi -Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi -MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 -1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq -KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV -xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP -NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r -GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE -xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx -gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy -sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD -BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= ------END CERTIFICATE----- - -T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3 -============================================================================================================================= ------BEGIN CERTIFICATE----- -MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH -DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q -aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry -b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV -BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg -S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4 -MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl -IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF -n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl -IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft -dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl -cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO -Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1 -xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR -6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL -hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd -BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4 -N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT -y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh -LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M -dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI= ------END CERTIFICATE----- - -Buypass Class 2 CA 1 -==================== ------BEGIN CERTIFICATE----- -MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU -QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2 -MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh -c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M -cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83 -0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4 -0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R -uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P -AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV -1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt -7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2 -fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w -wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho ------END CERTIFICATE----- - -Buypass Class 3 CA 1 -==================== ------BEGIN CERTIFICATE----- -MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU -QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1 -MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh -c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx -ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0 -n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia -AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c -1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P -AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7 -pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA -EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5 -htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj -el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915 ------END CERTIFICATE----- - -EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 -========================================================================== ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -certSIGN ROOT CA -================ ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD -VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa -Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE -CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I -JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH -rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 -ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD -0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 -AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B -Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB -AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 -SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 -x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt -vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz -TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - -CNNIC ROOT -========== ------BEGIN CERTIFICATE----- -MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE -ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw -OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD -o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz -VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT -VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or -czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK -y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC -wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S -lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5 -Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM -O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8 -BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2 -G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m -mxE= ------END CERTIFICATE----- - -ApplicationCA - Japanese Government -=================================== ------BEGIN CERTIFICATE----- -MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT -SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw -MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl -cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4 -fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN -wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE -jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu -nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU -WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV -BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD -vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs -o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g -/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD -io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW -dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL -rosot4LKGAfmt1t06SAZf7IbiVQ= ------END CERTIFICATE----- - -GeoTrust Primary Certification Authority - G3 -============================================= ------BEGIN CERTIFICATE----- -MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE -BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 -IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy -eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz -NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo -YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT -LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j -K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE -c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C -IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu -dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr -2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 -cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE -Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD -AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s -t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt ------END CERTIFICATE----- - -thawte Primary Root CA - G2 -=========================== ------BEGIN CERTIFICATE----- -MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC -VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu -IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg -Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV -MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG -b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt -IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS -LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 -8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU -mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN -G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K -rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== ------END CERTIFICATE----- - -thawte Primary Root CA - G3 -=========================== ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE -BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 -aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w -ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh -d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD -VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG -A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At -P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC -+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY -7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW -vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ -KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK -A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu -t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC -8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm -er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= ------END CERTIFICATE----- - -GeoTrust Primary Certification Authority - G2 -============================================= ------BEGIN CERTIFICATE----- -MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu -Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 -OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg -MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl -b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG -BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc -KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ -EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m -ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 -npaqBA+K ------END CERTIFICATE----- - -VeriSign Universal Root Certification Authority -=============================================== ------BEGIN CERTIFICATE----- -MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE -BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO -ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk -IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u -IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj -1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP -MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 -9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I -AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR -tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G -CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O -a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud -DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 -Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx -Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx -P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P -wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 -mJO37M2CYfE45k+XmCpajQ== ------END CERTIFICATE----- - -VeriSign Class 3 Public Primary Certification Authority - G4 -============================================================ ------BEGIN CERTIFICATE----- -MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC -VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 -b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz -ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU -cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo -b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 -Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz -rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw -HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u -Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD -A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx -AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== ------END CERTIFICATE----- - -NetLock Arany (Class Gold) Főtanúsítvány -============================================ ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G -A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 -dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB -cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx -MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO -ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv -biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 -c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu -0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw -/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk -H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw -fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 -neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW -qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta -YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna -NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu -dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= ------END CERTIFICATE----- - -Staat der Nederlanden Root CA - G2 -================================== ------BEGIN CERTIFICATE----- -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 -66+KAQ== ------END CERTIFICATE----- - -CA Disig -======== ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK -QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw -MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz -bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm -GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD -Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo -hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt -ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w -gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P -AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz -aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff -ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa -BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t -WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3 -mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/ -CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K -ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA -4Z7CRneC9VkGjCFMhwnN5ag= ------END CERTIFICATE----- - -Juur-SK -======= ------BEGIN CERTIFICATE----- -MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA -c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw -DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG -SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy -aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf -TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC -+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw -UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa -Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF -MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD -HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh -AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA -cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr -AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw -cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE -FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G -A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo -ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL -abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678 -IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh -Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2 -yyqcjg== ------END CERTIFICATE----- - -Hongkong Post Root CA 1 -======================= ------BEGIN CERTIFICATE----- -MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT -DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx -NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n -IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 -ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr -auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh -qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY -V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV -HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i -h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio -l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei -IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps -T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT -c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== ------END CERTIFICATE----- - -SecureSign RootCA11 -=================== ------BEGIN CERTIFICATE----- -MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi -SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS -b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw -KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 -cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL -TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO -wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq -g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP -O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA -bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX -t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh -OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r -bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ -Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 -y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 -lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= ------END CERTIFICATE----- - -ACEDICOM Root -============= ------BEGIN CERTIFICATE----- -MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD -T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4 -MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG -A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk -WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD -YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew -MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb -m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk -HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT -xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2 -3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9 -2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq -TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz -4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU -9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv -bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg -aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP -eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk -zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1 -ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI -KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq -nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE -I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp -MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o -tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA== ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority -======================================================= ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx -FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow -XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz -IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 -f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol -hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky -CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX -bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/ -D/xwzoiQ ------END CERTIFICATE----- - -Microsec e-Szigno Root CA 2009 -============================== ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER -MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv -c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE -BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt -U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA -fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG -0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA -pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm -1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC -AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf -QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE -FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o -lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX -I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 -yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi -LXpUq3DDfSJlgnCW ------END CERTIFICATE----- - -E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi -=================================================== ------BEGIN CERTIFICATE----- -MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG -EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz -ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3 -MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0 -cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u -aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY -8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y -jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI -JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk -9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD -AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG -SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d -F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq -D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4 -Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq -fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX ------END CERTIFICATE----- - -GlobalSign Root CA - R3 -======================= ------BEGIN CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv -YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh -bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT -aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln -bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt -iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ -0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 -rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl -OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 -xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE -FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 -lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 -EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E -bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 -YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r -kpeDMdmztcpHWD9f ------END CERTIFICATE----- - -Autoridad de Certificacion Firmaprofesional CIF A62634068 -========================================================= ------BEGIN CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA -BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 -MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw -QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB -NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD -Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P -B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY -7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH -ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI -plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX -MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX -LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK -bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU -vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud -EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH -DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp -cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA -bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx -ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx -51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk -R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP -T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f -Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl -osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR -crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR -saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD -KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi -6Et8Vcad+qMUu2WFbm5PEn4KPJ2V ------END CERTIFICATE----- - -Izenpe.com -========== ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -Chambers of Commerce Root - 2008 -================================ ------BEGIN CERTIFICATE----- -MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD -MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv -bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu -QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy -Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl -ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF -EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl -cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA -XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj -h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ -ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk -NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g -D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 -lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ -0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj -ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 -EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI -G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ -BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh -bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh -bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC -CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH -AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 -wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH -3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU -RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 -M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 -YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF -9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK -zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG -nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg -OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ ------END CERTIFICATE----- - -Global Chambersign Root - 2008 -============================== ------BEGIN CERTIFICATE----- -MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD -MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv -bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu -QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx -NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg -Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ -QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD -aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf -VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf -XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 -ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB -/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA -TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M -H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe -Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF -HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh -wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB -AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT -BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE -BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm -aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm -aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp -1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 -dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG -/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 -ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s -dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg -9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH -foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du -qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr -P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq -c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z -09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B ------END CERTIFICATE----- - -Go Daddy Root Certificate Authority - G2 -======================================== ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu -MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G -A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq -9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD -+qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd -fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl -NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 -BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac -vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r -5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV -N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 ------END CERTIFICATE----- - -Starfield Root Certificate Authority - G2 -========================================= ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s -b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 -eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw -DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg -VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB -dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv -W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs -bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk -N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf -ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU -JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol -TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx -4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw -F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ -c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 ------END CERTIFICATE----- - -Starfield Services Root Certificate Authority - G2 -================================================== ------BEGIN CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s -b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl -IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV -BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT -dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg -Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 -h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa -hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP -LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB -rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG -SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP -E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy -xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza -YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 ------END CERTIFICATE----- - -AffirmTrust Commercial -====================== ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw -MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly -bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb -DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV -C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 -BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww -MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV -HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG -hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi -qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv -0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh -sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -AffirmTrust Networking -====================== ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw -MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly -bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE -Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI -dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 -/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb -h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV -HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu -UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 -12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 -WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 -/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -AffirmTrust Premium -=================== ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy -OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy -dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn -BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV -5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs -+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd -GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R -p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI -S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 -6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 -/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo -+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv -MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC -6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S -L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK -+4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV -BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg -IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 -g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb -zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== ------END CERTIFICATE----- - -AffirmTrust Premium ECC -======================= ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV -BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx -MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U -cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ -N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW -BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK -BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X -57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM -eQ== ------END CERTIFICATE----- - -Certum Trusted Network CA -========================= ------BEGIN CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK -ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy -MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU -ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC -l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J -J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 -fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 -cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw -DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj -jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 -mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj -Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= ------END CERTIFICATE----- - -Certinomis - Autorité Racine -============================= ------BEGIN CERTIFICATE----- -MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK -Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg -LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG -A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw -JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa -wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly -Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw -2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N -jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q -c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC -lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb -xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g -530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna -4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ -KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x -WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva -R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 -nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B -CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv -JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE -qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b -WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE -wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ -vgt2Fl43N+bYdJeimUV5 ------END CERTIFICATE----- - -Root CA Generalitat Valenciana -============================== ------BEGIN CERTIFICATE----- -MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE -ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290 -IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3 -WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE -CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2 -F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B -ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ -D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte -JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB -AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n -dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB -ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl -AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA -YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy -AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA -aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt -AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA -YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu -AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA -OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0 -dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV -BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G -A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S -b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh -TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz -Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63 -NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH -iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt -+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= ------END CERTIFICATE----- - -A-Trust-nQual-03 -================ ------BEGIN CERTIFICATE----- -MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE -Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy -a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R -dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw -RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0 -ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1 -c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA -zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n -yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE -SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4 -iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V -cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV -eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40 -ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr -sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd -JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS -mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6 -ahq97BvIxYSazQ== ------END CERTIFICATE----- - -TWCA Root Certification Authority -================================= ------BEGIN CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ -VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG -EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB -IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx -QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC -oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP -4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r -y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG -9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC -mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW -QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY -T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny -Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== ------END CERTIFICATE----- - -Security Communication RootCA2 -============================== ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc -U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh -dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC -SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy -aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ -+T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R -3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV -spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K -EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 -QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB -CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj -u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk -3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q -tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 -mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 ------END CERTIFICATE----- - -EC-ACC -====== ------BEGIN CERTIFICATE----- -MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE -BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w -ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD -VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE -CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT -BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 -MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt -SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl -Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh -cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK -w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT -ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 -HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a -E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw -0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD -VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 -Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l -dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ -lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa -Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe -l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 -E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D -5EI= ------END CERTIFICATE----- - -Hellenic Academic and Research Institutions RootCA 2011 -======================================================= ------BEGIN CERTIFICATE----- -MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT -O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y -aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z -IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT -AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z -IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo -IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI -1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa -71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u -8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH -3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ -MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 -MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu -b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt -XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 -TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD -/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N -7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 ------END CERTIFICATE----- - -Actalis Authentication Root CA -============================== ------BEGIN CERTIFICATE----- -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM -BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE -AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky -MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz -IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 -IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ -wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa -by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 -zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f -YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 -oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l -EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 -hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 -EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 -jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY -iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI -WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 -JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx -K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ -Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC -4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo -2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz -lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem -OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 -vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== ------END CERTIFICATE----- - -Trustis FPS Root CA -=================== ------BEGIN CERTIFICATE----- -MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG -EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 -IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV -BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ -RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk -H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa -cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt -o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA -AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd -BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c -GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC -yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P -8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV -l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl -iB6XzCGcKQENZetX2fNXlrtIzYE= ------END CERTIFICATE----- - -StartCom Certification Authority -================================ ------BEGIN CERTIFICATE----- -MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN -U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu -ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 -NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk -LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg -U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw -ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y -o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ -Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d -eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt -2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z -6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ -osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ -untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc -UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT -37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD -VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ -Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0 -dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu -c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv -bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0 -aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t -L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG -cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5 -fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm -N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN -Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T -tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX -e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA -2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs -HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE -JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib -D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8= ------END CERTIFICATE----- - -StartCom Certification Authority G2 -=================================== ------BEGIN CERTIFICATE----- -MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN -U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE -ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O -o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG -4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi -Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul -Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs -O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H -vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L -nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS -FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa -z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ -KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K -2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk -J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+ -JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG -/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc -nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld -blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc -l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm -7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm -obp573PYtlNXLfbQ4ddI ------END CERTIFICATE----- - -Buypass Class 2 Root CA -======================= ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU -QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X -DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 -eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw -DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 -g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn -9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b -/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU -CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff -awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI -zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn -Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX -Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs -M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD -VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF -AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI -osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S -aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd -DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD -LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 -oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC -wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS -CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN -rJgWVqA= ------END CERTIFICATE----- - -Buypass Class 3 Root CA -======================= ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU -QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X -DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 -eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw -DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH -sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR -5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh -7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ -ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH -2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV -/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ -RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA -Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq -j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD -VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF -AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G -uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG -Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 -ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 -KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz -6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug -UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe -eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi -Cp/HuZc= ------END CERTIFICATE----- - -T-TeleSec GlobalRoot Class 3 -============================ ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM -IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU -cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx -MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz -dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD -ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK -9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU -NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF -iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W -0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr -AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb -fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT -ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h -P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== ------END CERTIFICATE----- - -EE Certification Centre Root CA -=============================== ------BEGIN CERTIFICATE----- -MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG -EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy -dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw -MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB -UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy -ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM -TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 -rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw -93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN -P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T -AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ -MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF -BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj -xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM -lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u -uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU -3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM -dcGWxZ0= ------END CERTIFICATE----- - -TURKTRUST Certificate Services Provider Root 2007 -================================================= ------BEGIN CERTIFICATE----- -MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF -bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP -MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg -QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X -DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl -a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN -BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp -bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N -YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv -KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya -KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT -rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC -AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s -Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I -aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO -Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb -BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK -poRq0Tl9 ------END CERTIFICATE----- - -D-TRUST Root Class 3 CA 2 2009 -============================== ------BEGIN CERTIFICATE----- -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK -DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe -Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE -LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD -ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA -BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv -KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z -p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC -AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ -4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y -eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw -MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G -PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw -OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm -2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV -dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph -X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= ------END CERTIFICATE----- - -D-TRUST Root Class 3 CA 2 EV 2009 -================================= ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK -DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw -OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK -DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw -OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS -egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh -zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T -7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 -sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 -11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv -cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v -ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El -MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp -b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh -c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ -PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX -ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA -NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv -w9y4AyHqnxbxLFS1 ------END CERTIFICATE----- - -PSCProcert -========== ------BEGIN CERTIFICATE----- -MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk -ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ -MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz -dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl -cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw -IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw -MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w -DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD -ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp -Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw -DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC -wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA -3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh -RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO -EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2 -0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH -0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU -td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw -Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp -r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/ -AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz -Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId -xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp -ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH -EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h -Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k -ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG -9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG -MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG -LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52 -ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy -YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v -Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o -dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq -T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN -g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q -uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1 -n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn -FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo -5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq -3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5 -poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y -eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km ------END CERTIFICATE----- - -China Internet Network Information Center EV Certificates Root -============================================================== ------BEGIN CERTIFICATE----- -MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV -BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D -aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg -Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG -A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM -PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl -cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y -jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV -98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H -klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23 -KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC -7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD -glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5 -0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM -7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws -ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0 -5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8= ------END CERTIFICATE----- - -Swisscom Root CA 2 -================== ------BEGIN CERTIFICATE----- -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 -5OfNeOI5wSsSnqaeG8XmDtkx2Q== ------END CERTIFICATE----- - -Swisscom Root EV CA 2 -===================== ------BEGIN CERTIFICATE----- -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 -l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc= ------END CERTIFICATE----- - -CA Disig Root R1 -================ ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw -EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp -ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx -EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp -c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy -3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8 -u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2 -m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk -CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa -YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6 -vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL -LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX -ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is -XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ -04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR -xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B -LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM -CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb -VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85 -YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS -ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix -lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N -UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ -a7+h89n07eLw4+1knj0vllJPgFOL ------END CERTIFICATE----- - -CA Disig Root R2 -================ ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw -EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp -ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx -EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp -c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC -w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia -xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 -A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S -GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV -g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa -5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE -koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A -Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i -Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u -Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM -tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV -sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je -dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 -1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx -mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 -utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 -sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg -UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV -7+ZtsH8tZ/3zbBt1RqPlShfppNcL ------END CERTIFICATE----- - -ACCVRAIZ1 -========= ------BEGIN CERTIFICATE----- -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB -SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 -MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH -UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM -jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 -RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD -aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ -0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG -WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 -8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR -5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J -9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK -Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw -Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu -Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM -Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA -QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh -AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA -YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj -AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA -IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk -aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 -dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 -MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI -hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E -R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN -YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 -nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ -TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 -sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg -Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd -3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p -EfbRD0tVNEYqi4Y7 ------END CERTIFICATE----- - -TWCA Global Root CA -=================== ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT -CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD -QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK -EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg -Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C -nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV -r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR -Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV -tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W -KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 -sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p -yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn -kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI -zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC -AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g -cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M -8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg -/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg -lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP -A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m -i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 -EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 -zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= ------END CERTIFICATE----- - -TeliaSonera Root CA v1 -====================== ------BEGIN CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE -CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 -MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW -VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ -6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA -3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k -B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn -Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH -oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 -F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ -oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 -gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc -TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB -AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW -DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm -zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW -pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV -G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc -c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT -JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 -qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 -Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems -WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= ------END CERTIFICATE----- - -E-Tugra Certification Authority -=============================== ------BEGIN CERTIFICATE----- -MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w -DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls -ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN -ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw -NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx -QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl -cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD -DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd -hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K -CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g -ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ -BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 -E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz -rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq -jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn -rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 -dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB -/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG -MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK -kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO -XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 -VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo -a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc -dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV -KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT -Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 -8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G -C7TbO6Orb1wdtn7os4I07QZcJA== ------END CERTIFICATE----- - -T-TeleSec GlobalRoot Class 2 -============================ ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM -IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU -cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx -MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz -dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD -ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ -SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F -vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 -2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV -WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy -YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 -r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf -vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR -3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== ------END CERTIFICATE----- - -Atos TrustedRoot 2011 -===================== ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU -cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 -MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG -A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV -hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr -54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ -DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 -HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR -z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R -l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ -bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB -CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h -k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh -TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 -61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G -3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed ------END CERTIFICATE----- - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/StaticClient.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/StaticClient.php deleted file mode 100644 index dbd4c184..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/StaticClient.php +++ /dev/null @@ -1,157 +0,0 @@ -createRequest($method, $url, null, null, $options); - - if (isset($options['stream'])) { - if ($options['stream'] instanceof StreamRequestFactoryInterface) { - return $options['stream']->fromRequest($request); - } elseif ($options['stream'] == true) { - $streamFactory = new PhpStreamRequestFactory(); - return $streamFactory->fromRequest($request); - } - } - - return $request->send(); - } - - /** - * Send a GET request - * - * @param string $url URL of the request - * @param array $options Array of request options - * - * @return \Guzzle\Http\Message\Response - * @see Guzzle::request for a list of available options - */ - public static function get($url, $options = array()) - { - return self::request('GET', $url, $options); - } - - /** - * Send a HEAD request - * - * @param string $url URL of the request - * @param array $options Array of request options - * - * @return \Guzzle\Http\Message\Response - * @see Guzzle::request for a list of available options - */ - public static function head($url, $options = array()) - { - return self::request('HEAD', $url, $options); - } - - /** - * Send a DELETE request - * - * @param string $url URL of the request - * @param array $options Array of request options - * - * @return \Guzzle\Http\Message\Response - * @see Guzzle::request for a list of available options - */ - public static function delete($url, $options = array()) - { - return self::request('DELETE', $url, $options); - } - - /** - * Send a POST request - * - * @param string $url URL of the request - * @param array $options Array of request options - * - * @return \Guzzle\Http\Message\Response - * @see Guzzle::request for a list of available options - */ - public static function post($url, $options = array()) - { - return self::request('POST', $url, $options); - } - - /** - * Send a PUT request - * - * @param string $url URL of the request - * @param array $options Array of request options - * - * @return \Guzzle\Http\Message\Response - * @see Guzzle::request for a list of available options - */ - public static function put($url, $options = array()) - { - return self::request('PUT', $url, $options); - } - - /** - * Send a PATCH request - * - * @param string $url URL of the request - * @param array $options Array of request options - * - * @return \Guzzle\Http\Message\Response - * @see Guzzle::request for a list of available options - */ - public static function patch($url, $options = array()) - { - return self::request('PATCH', $url, $options); - } - - /** - * Send an OPTIONS request - * - * @param string $url URL of the request - * @param array $options Array of request options - * - * @return \Guzzle\Http\Message\Response - * @see Guzzle::request for a list of available options - */ - public static function options($url, $options = array()) - { - return self::request('OPTIONS', $url, $options); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Url.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Url.php deleted file mode 100644 index 6a4e7724..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/Url.php +++ /dev/null @@ -1,554 +0,0 @@ - null, 'host' => null, 'path' => null, 'port' => null, 'query' => null, - 'user' => null, 'pass' => null, 'fragment' => null); - - if (false === ($parts = parse_url($url))) { - throw new InvalidArgumentException('Was unable to parse malformed url: ' . $url); - } - - $parts += $defaults; - - // Convert the query string into a QueryString object - if ($parts['query'] || 0 !== strlen($parts['query'])) { - $parts['query'] = QueryString::fromString($parts['query']); - } - - return new static($parts['scheme'], $parts['host'], $parts['user'], - $parts['pass'], $parts['port'], $parts['path'], $parts['query'], - $parts['fragment']); - } - - /** - * Build a URL from parse_url parts. The generated URL will be a relative URL if a scheme or host are not provided. - * - * @param array $parts Array of parse_url parts - * - * @return string - */ - public static function buildUrl(array $parts) - { - $url = $scheme = ''; - - if (isset($parts['scheme'])) { - $scheme = $parts['scheme']; - $url .= $scheme . ':'; - } - - if (isset($parts['host'])) { - $url .= '//'; - if (isset($parts['user'])) { - $url .= $parts['user']; - if (isset($parts['pass'])) { - $url .= ':' . $parts['pass']; - } - $url .= '@'; - } - - $url .= $parts['host']; - - // Only include the port if it is not the default port of the scheme - if (isset($parts['port']) - && !(($scheme == 'http' && $parts['port'] == 80) || ($scheme == 'https' && $parts['port'] == 443)) - ) { - $url .= ':' . $parts['port']; - } - } - - // Add the path component if present - if (isset($parts['path']) && 0 !== strlen($parts['path'])) { - // Always ensure that the path begins with '/' if set and something is before the path - if ($url && $parts['path'][0] != '/' && substr($url, -1) != '/') { - $url .= '/'; - } - $url .= $parts['path']; - } - - // Add the query string if present - if (isset($parts['query'])) { - $url .= '?' . $parts['query']; - } - - // Ensure that # is only added to the url if fragment contains anything. - if (isset($parts['fragment'])) { - $url .= '#' . $parts['fragment']; - } - - return $url; - } - - /** - * Create a new URL from URL parts - * - * @param string $scheme Scheme of the URL - * @param string $host Host of the URL - * @param string $username Username of the URL - * @param string $password Password of the URL - * @param int $port Port of the URL - * @param string $path Path of the URL - * @param QueryString|array|string $query Query string of the URL - * @param string $fragment Fragment of the URL - */ - public function __construct($scheme, $host, $username = null, $password = null, $port = null, $path = null, QueryString $query = null, $fragment = null) - { - $this->scheme = $scheme; - $this->host = $host; - $this->port = $port; - $this->username = $username; - $this->password = $password; - $this->fragment = $fragment; - if (!$query) { - $this->query = new QueryString(); - } else { - $this->setQuery($query); - } - $this->setPath($path); - } - - /** - * Clone the URL - */ - public function __clone() - { - $this->query = clone $this->query; - } - - /** - * Returns the URL as a URL string - * - * @return string - */ - public function __toString() - { - return self::buildUrl($this->getParts()); - } - - /** - * Get the parts of the URL as an array - * - * @return array - */ - public function getParts() - { - $query = (string) $this->query; - - return array( - 'scheme' => $this->scheme, - 'user' => $this->username, - 'pass' => $this->password, - 'host' => $this->host, - 'port' => $this->port, - 'path' => $this->getPath(), - 'query' => $query !== '' ? $query : null, - 'fragment' => $this->fragment, - ); - } - - /** - * Set the host of the request. - * - * @param string $host Host to set (e.g. www.yahoo.com, yahoo.com) - * - * @return Url - */ - public function setHost($host) - { - if (strpos($host, ':') === false) { - $this->host = $host; - } else { - list($host, $port) = explode(':', $host); - $this->host = $host; - $this->setPort($port); - } - - return $this; - } - - /** - * Get the host part of the URL - * - * @return string - */ - public function getHost() - { - return $this->host; - } - - /** - * Set the scheme part of the URL (http, https, ftp, etc) - * - * @param string $scheme Scheme to set - * - * @return Url - */ - public function setScheme($scheme) - { - if ($this->scheme == 'http' && $this->port == 80) { - $this->port = null; - } elseif ($this->scheme == 'https' && $this->port == 443) { - $this->port = null; - } - - $this->scheme = $scheme; - - return $this; - } - - /** - * Get the scheme part of the URL - * - * @return string - */ - public function getScheme() - { - return $this->scheme; - } - - /** - * Set the port part of the URL - * - * @param int $port Port to set - * - * @return Url - */ - public function setPort($port) - { - $this->port = $port; - - return $this; - } - - /** - * Get the port part of the URl. Will return the default port for a given scheme if no port has been set. - * - * @return int|null - */ - public function getPort() - { - if ($this->port) { - return $this->port; - } elseif ($this->scheme == 'http') { - return 80; - } elseif ($this->scheme == 'https') { - return 443; - } - - return null; - } - - /** - * Set the path part of the URL - * - * @param array|string $path Path string or array of path segments - * - * @return Url - */ - public function setPath($path) - { - static $pathReplace = array(' ' => '%20', '?' => '%3F'); - if (is_array($path)) { - $path = '/' . implode('/', $path); - } - - $this->path = strtr($path, $pathReplace); - - return $this; - } - - /** - * Normalize the URL so that double slashes and relative paths are removed - * - * @return Url - */ - public function normalizePath() - { - if (!$this->path || $this->path == '/' || $this->path == '*') { - return $this; - } - - $results = array(); - $segments = $this->getPathSegments(); - foreach ($segments as $segment) { - if ($segment == '..') { - array_pop($results); - } elseif ($segment != '.' && $segment != '') { - $results[] = $segment; - } - } - - // Combine the normalized parts and add the leading slash if needed - $this->path = ($this->path[0] == '/' ? '/' : '') . implode('/', $results); - - // Add the trailing slash if necessary - if ($this->path != '/' && end($segments) == '') { - $this->path .= '/'; - } - - return $this; - } - - /** - * Add a relative path to the currently set path. - * - * @param string $relativePath Relative path to add - * - * @return Url - */ - public function addPath($relativePath) - { - if ($relativePath != '/' && is_string($relativePath) && strlen($relativePath) > 0) { - // Add a leading slash if needed - if ($relativePath[0] != '/') { - $relativePath = '/' . $relativePath; - } - $this->setPath(str_replace('//', '/', $this->path . $relativePath)); - } - - return $this; - } - - /** - * Get the path part of the URL - * - * @return string - */ - public function getPath() - { - return $this->path; - } - - /** - * Get the path segments of the URL as an array - * - * @return array - */ - public function getPathSegments() - { - return array_slice(explode('/', $this->getPath()), 1); - } - - /** - * Set the password part of the URL - * - * @param string $password Password to set - * - * @return Url - */ - public function setPassword($password) - { - $this->password = $password; - - return $this; - } - - /** - * Get the password part of the URL - * - * @return null|string - */ - public function getPassword() - { - return $this->password; - } - - /** - * Set the username part of the URL - * - * @param string $username Username to set - * - * @return Url - */ - public function setUsername($username) - { - $this->username = $username; - - return $this; - } - - /** - * Get the username part of the URl - * - * @return null|string - */ - public function getUsername() - { - return $this->username; - } - - /** - * Get the query part of the URL as a QueryString object - * - * @return QueryString - */ - public function getQuery() - { - return $this->query; - } - - /** - * Set the query part of the URL - * - * @param QueryString|string|array $query Query to set - * - * @return Url - */ - public function setQuery($query) - { - if (is_string($query)) { - $output = null; - parse_str($query, $output); - $this->query = new QueryString($output); - } elseif (is_array($query)) { - $this->query = new QueryString($query); - } elseif ($query instanceof QueryString) { - $this->query = $query; - } - - return $this; - } - - /** - * Get the fragment part of the URL - * - * @return null|string - */ - public function getFragment() - { - return $this->fragment; - } - - /** - * Set the fragment part of the URL - * - * @param string $fragment Fragment to set - * - * @return Url - */ - public function setFragment($fragment) - { - $this->fragment = $fragment; - - return $this; - } - - /** - * Check if this is an absolute URL - * - * @return bool - */ - public function isAbsolute() - { - return $this->scheme && $this->host; - } - - /** - * Combine the URL with another URL. Follows the rules specific in RFC 3986 section 5.4. - * - * @param string $url Relative URL to combine with - * @param bool $strictRfc3986 Set to true to use strict RFC 3986 compliance when merging paths. When first - * released, Guzzle used an incorrect algorithm for combining relative URL paths. In - * order to not break users, we introduced this flag to allow the merging of URLs based - * on strict RFC 3986 section 5.4.1. This means that "http://a.com/foo/baz" merged with - * "bar" would become "http://a.com/foo/bar". When this value is set to false, it would - * become "http://a.com/foo/baz/bar". - * @return Url - * @throws InvalidArgumentException - * @link http://tools.ietf.org/html/rfc3986#section-5.4 - */ - public function combine($url, $strictRfc3986 = false) - { - $url = self::factory($url); - - // Use the more absolute URL as the base URL - if (!$this->isAbsolute() && $url->isAbsolute()) { - $url = $url->combine($this); - } - - // Passing a URL with a scheme overrides everything - if ($buffer = $url->getScheme()) { - $this->scheme = $buffer; - $this->host = $url->getHost(); - $this->port = $url->getPort(); - $this->username = $url->getUsername(); - $this->password = $url->getPassword(); - $this->path = $url->getPath(); - $this->query = $url->getQuery(); - $this->fragment = $url->getFragment(); - return $this; - } - - // Setting a host overrides the entire rest of the URL - if ($buffer = $url->getHost()) { - $this->host = $buffer; - $this->port = $url->getPort(); - $this->username = $url->getUsername(); - $this->password = $url->getPassword(); - $this->path = $url->getPath(); - $this->query = $url->getQuery(); - $this->fragment = $url->getFragment(); - return $this; - } - - $path = $url->getPath(); - $query = $url->getQuery(); - - if (!$path) { - if (count($query)) { - $this->addQuery($query, $strictRfc3986); - } - } else { - if ($path[0] == '/') { - $this->path = $path; - } elseif ($strictRfc3986) { - $this->path .= '/../' . $path; - } else { - $this->path .= '/' . $path; - } - $this->normalizePath(); - $this->addQuery($query, $strictRfc3986); - } - - $this->fragment = $url->getFragment(); - - return $this; - } - - private function addQuery(QueryString $new, $strictRfc386) - { - if (!$strictRfc386) { - $new->merge($this->query); - } - - $this->query = $new; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/composer.json deleted file mode 100644 index 9384a5bf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Http/composer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "guzzle/http", - "description": "HTTP libraries used by Guzzle", - "homepage": "http://guzzlephp.org/", - "keywords": ["http client", "http", "client", "Guzzle", "curl"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/common": "self.version", - "guzzle/parser": "self.version", - "guzzle/stream": "self.version" - }, - "suggest": { - "ext-curl": "*" - }, - "autoload": { - "psr-0": { "Guzzle\\Http": "" } - }, - "target-dir": "Guzzle/Http", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/Inflector.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/Inflector.php deleted file mode 100644 index c6997734..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/Inflector.php +++ /dev/null @@ -1,38 +0,0 @@ - array(), - 'camel' => array() - ); - - /** @var int Max entries per cache */ - protected $maxCacheSize; - - /** @var InflectorInterface Decorated inflector */ - protected $decoratedInflector; - - /** - * @param InflectorInterface $inflector Inflector being decorated - * @param int $maxCacheSize Maximum number of cached items to hold per cache - */ - public function __construct(InflectorInterface $inflector, $maxCacheSize = 500) - { - $this->decoratedInflector = $inflector; - $this->maxCacheSize = $maxCacheSize; - } - - public function snake($word) - { - if (!isset($this->cache['snake'][$word])) { - $this->pruneCache('snake'); - $this->cache['snake'][$word] = $this->decoratedInflector->snake($word); - } - - return $this->cache['snake'][$word]; - } - - /** - * Converts strings from snake_case to upper CamelCase - * - * @param string $word Value to convert into upper CamelCase - * - * @return string - */ - public function camel($word) - { - if (!isset($this->cache['camel'][$word])) { - $this->pruneCache('camel'); - $this->cache['camel'][$word] = $this->decoratedInflector->camel($word); - } - - return $this->cache['camel'][$word]; - } - - /** - * Prune one of the named caches by removing 20% of the cache if it is full - * - * @param string $cache Type of cache to prune - */ - protected function pruneCache($cache) - { - if (count($this->cache[$cache]) == $this->maxCacheSize) { - $this->cache[$cache] = array_slice($this->cache[$cache], $this->maxCacheSize * 0.2); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/PreComputedInflector.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/PreComputedInflector.php deleted file mode 100644 index db37e4fe..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/PreComputedInflector.php +++ /dev/null @@ -1,59 +0,0 @@ - array(), - 'camel' => array() - ); - - /** @var InflectorInterface Decorated inflector */ - protected $decoratedInflector; - - /** - * @param InflectorInterface $inflector Inflector being decorated - * @param array $snake Hash of pre-computed camel to snake - * @param array $camel Hash of pre-computed snake to camel - * @param bool $mirror Mirror snake and camel reflections - */ - public function __construct(InflectorInterface $inflector, array $snake = array(), array $camel = array(), $mirror = false) - { - if ($mirror) { - $camel = array_merge(array_flip($snake), $camel); - $snake = array_merge(array_flip($camel), $snake); - } - - $this->decoratedInflector = $inflector; - $this->mapping = array( - 'snake' => $snake, - 'camel' => $camel - ); - } - - public function snake($word) - { - return isset($this->mapping['snake'][$word]) - ? $this->mapping['snake'][$word] - : $this->decoratedInflector->snake($word); - } - - /** - * Converts strings from snake_case to upper CamelCase - * - * @param string $word Value to convert into upper CamelCase - * - * @return string - */ - public function camel($word) - { - return isset($this->mapping['camel'][$word]) - ? $this->mapping['camel'][$word] - : $this->decoratedInflector->camel($word); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/composer.json deleted file mode 100644 index 93f9e7b7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Inflection/composer.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "guzzle/inflection", - "description": "Guzzle inflection component", - "homepage": "http://guzzlephp.org/", - "keywords": ["inflection", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2" - }, - "autoload": { - "psr-0": { "Guzzle\\Inflection": "" } - }, - "target-dir": "Guzzle/Inflection", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/AppendIterator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/AppendIterator.php deleted file mode 100644 index 1b6bd7e5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/AppendIterator.php +++ /dev/null @@ -1,19 +0,0 @@ -getArrayIterator()->append($iterator); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/ChunkedIterator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/ChunkedIterator.php deleted file mode 100644 index d76cdd43..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/ChunkedIterator.php +++ /dev/null @@ -1,56 +0,0 @@ -chunkSize = $chunkSize; - } - - public function rewind() - { - parent::rewind(); - $this->next(); - } - - public function next() - { - $this->chunk = array(); - for ($i = 0; $i < $this->chunkSize && parent::valid(); $i++) { - $this->chunk[] = parent::current(); - parent::next(); - } - } - - public function current() - { - return $this->chunk; - } - - public function valid() - { - return (bool) $this->chunk; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/FilterIterator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/FilterIterator.php deleted file mode 100644 index b103367b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/FilterIterator.php +++ /dev/null @@ -1,36 +0,0 @@ -callback = $callback; - } - - public function accept() - { - return call_user_func($this->callback, $this->current()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/MapIterator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/MapIterator.php deleted file mode 100644 index 7e586bda..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/MapIterator.php +++ /dev/null @@ -1,34 +0,0 @@ -callback = $callback; - } - - public function current() - { - return call_user_func($this->callback, parent::current()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/MethodProxyIterator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/MethodProxyIterator.php deleted file mode 100644 index de4ab036..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/MethodProxyIterator.php +++ /dev/null @@ -1,27 +0,0 @@ -getInnerIterator(); - while ($i instanceof \OuterIterator) { - $i = $i->getInnerIterator(); - } - - return call_user_func_array(array($i, $name), $args); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/README.md deleted file mode 100644 index 8bb7e08e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/README.md +++ /dev/null @@ -1,25 +0,0 @@ -Guzzle Iterator -=============== - -Provides useful Iterators and Iterator decorators - -- ChunkedIterator: Pulls out chunks from an inner iterator and yields the chunks as arrays -- FilterIterator: Used when PHP 5.4's CallbackFilterIterator is not available -- MapIterator: Maps values before yielding -- MethodProxyIterator: Proxies missing method calls to the innermost iterator - -### Installing via Composer - -```bash -# Install Composer -curl -sS https://getcomposer.org/installer | php - -# Add Guzzle as a dependency -php composer.phar require guzzle/iterator:~3.0 -``` - -After installing, you need to require Composer's autoloader: - -```php -require 'vendor/autoload.php'; -``` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/composer.json deleted file mode 100644 index ee173798..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Iterator/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "guzzle/iterator", - "description": "Provides helpful iterators and iterator decorators", - "keywords": ["iterator", "guzzle"], - "homepage": "http://guzzlephp.org/", - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/common": ">=2.8.0" - }, - "autoload": { - "psr-0": { "Guzzle\\Iterator": "/" } - }, - "target-dir": "Guzzle/Iterator", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/AbstractLogAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/AbstractLogAdapter.php deleted file mode 100644 index 7f6271bc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/AbstractLogAdapter.php +++ /dev/null @@ -1,16 +0,0 @@ -log; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/ArrayLogAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/ArrayLogAdapter.php deleted file mode 100644 index a70fc8d4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/ArrayLogAdapter.php +++ /dev/null @@ -1,34 +0,0 @@ -logs[] = array('message' => $message, 'priority' => $priority, 'extras' => $extras); - } - - /** - * Get logged entries - * - * @return array - */ - public function getLogs() - { - return $this->logs; - } - - /** - * Clears logged entries - */ - public function clearLogs() - { - $this->logs = array(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/ClosureLogAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/ClosureLogAdapter.php deleted file mode 100644 index d4bb73f2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/ClosureLogAdapter.php +++ /dev/null @@ -1,23 +0,0 @@ -log = $logObject; - } - - public function log($message, $priority = LOG_INFO, $extras = array()) - { - call_user_func($this->log, $message, $priority, $extras); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/LogAdapterInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/LogAdapterInterface.php deleted file mode 100644 index d7ac4ea7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/LogAdapterInterface.php +++ /dev/null @@ -1,18 +0,0 @@ ->>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{curl_stderr}"; - const SHORT_FORMAT = '[{ts}] "{method} {resource} {protocol}/{version}" {code}'; - - /** - * @var string Template used to format log messages - */ - protected $template; - - /** - * @param string $template Log message template - */ - public function __construct($template = self::DEFAULT_FORMAT) - { - $this->template = $template ?: self::DEFAULT_FORMAT; - } - - /** - * Set the template to use for logging - * - * @param string $template Log message template - * - * @return self - */ - public function setTemplate($template) - { - $this->template = $template; - - return $this; - } - - /** - * Returns a formatted message - * - * @param RequestInterface $request Request that was sent - * @param Response $response Response that was received - * @param CurlHandle $handle Curl handle associated with the message - * @param array $customData Associative array of custom template data - * - * @return string - */ - public function format( - RequestInterface $request, - Response $response = null, - CurlHandle $handle = null, - array $customData = array() - ) { - $cache = $customData; - - return preg_replace_callback( - '/{\s*([A-Za-z_\-\.0-9]+)\s*}/', - function (array $matches) use ($request, $response, $handle, &$cache) { - - if (array_key_exists($matches[1], $cache)) { - return $cache[$matches[1]]; - } - - $result = ''; - switch ($matches[1]) { - case 'request': - $result = (string) $request; - break; - case 'response': - $result = (string) $response; - break; - case 'req_body': - $result = $request instanceof EntityEnclosingRequestInterface - ? (string) $request->getBody() : ''; - break; - case 'res_body': - $result = $response ? $response->getBody(true) : ''; - break; - case 'ts': - $result = gmdate('c'); - break; - case 'method': - $result = $request->getMethod(); - break; - case 'url': - $result = (string) $request->getUrl(); - break; - case 'resource': - $result = $request->getResource(); - break; - case 'protocol': - $result = 'HTTP'; - break; - case 'version': - $result = $request->getProtocolVersion(); - break; - case 'host': - $result = $request->getHost(); - break; - case 'hostname': - $result = gethostname(); - break; - case 'port': - $result = $request->getPort(); - break; - case 'code': - $result = $response ? $response->getStatusCode() : ''; - break; - case 'phrase': - $result = $response ? $response->getReasonPhrase() : ''; - break; - case 'connect_time': - $result = $handle && $handle->getInfo(CURLINFO_CONNECT_TIME) - ? $handle->getInfo(CURLINFO_CONNECT_TIME) - : ($response ? $response->getInfo('connect_time') : ''); - break; - case 'total_time': - $result = $handle && $handle->getInfo(CURLINFO_TOTAL_TIME) - ? $handle->getInfo(CURLINFO_TOTAL_TIME) - : ($response ? $response->getInfo('total_time') : ''); - break; - case 'curl_error': - $result = $handle ? $handle->getError() : ''; - break; - case 'curl_code': - $result = $handle ? $handle->getErrorNo() : ''; - break; - case 'curl_stderr': - $result = $handle ? $handle->getStderr() : ''; - break; - default: - if (strpos($matches[1], 'req_header_') === 0) { - $result = $request->getHeader(substr($matches[1], 11)); - } elseif ($response && strpos($matches[1], 'res_header_') === 0) { - $result = $response->getHeader(substr($matches[1], 11)); - } - } - - $cache[$matches[1]] = $result; - return $result; - }, - $this->template - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/MonologLogAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/MonologLogAdapter.php deleted file mode 100644 index 6afe7b62..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/MonologLogAdapter.php +++ /dev/null @@ -1,34 +0,0 @@ - Logger::DEBUG, - LOG_INFO => Logger::INFO, - LOG_WARNING => Logger::WARNING, - LOG_ERR => Logger::ERROR, - LOG_CRIT => Logger::CRITICAL, - LOG_ALERT => Logger::ALERT - ); - - public function __construct(Logger $logObject) - { - $this->log = $logObject; - } - - public function log($message, $priority = LOG_INFO, $extras = array()) - { - $this->log->addRecord(self::$mapping[$priority], $message, $extras); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/PsrLogAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/PsrLogAdapter.php deleted file mode 100644 index 38a2b600..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/PsrLogAdapter.php +++ /dev/null @@ -1,36 +0,0 @@ - LogLevel::DEBUG, - LOG_INFO => LogLevel::INFO, - LOG_WARNING => LogLevel::WARNING, - LOG_ERR => LogLevel::ERROR, - LOG_CRIT => LogLevel::CRITICAL, - LOG_ALERT => LogLevel::ALERT - ); - - public function __construct(LoggerInterface $logObject) - { - $this->log = $logObject; - } - - public function log($message, $priority = LOG_INFO, $extras = array()) - { - $this->log->log(self::$mapping[$priority], $message, $extras); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/Zf1LogAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/Zf1LogAdapter.php deleted file mode 100644 index 0ea8e3b1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/Zf1LogAdapter.php +++ /dev/null @@ -1,24 +0,0 @@ -log = $logObject; - Version::warn(__CLASS__ . ' is deprecated'); - } - - public function log($message, $priority = LOG_INFO, $extras = array()) - { - $this->log->log($message, $priority, $extras); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/Zf2LogAdapter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/Zf2LogAdapter.php deleted file mode 100644 index 863f6a1c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/Zf2LogAdapter.php +++ /dev/null @@ -1,21 +0,0 @@ -log = $logObject; - } - - public function log($message, $priority = LOG_INFO, $extras = array()) - { - $this->log->log($priority, $message, $extras); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/composer.json deleted file mode 100644 index a8213e8b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Log/composer.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "guzzle/log", - "description": "Guzzle log adapter component", - "homepage": "http://guzzlephp.org/", - "keywords": ["log", "adapter", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2" - }, - "autoload": { - "psr-0": { "Guzzle\\Log": "" } - }, - "suggest": { - "guzzle/http": "self.version" - }, - "target-dir": "Guzzle/Log", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParser.php deleted file mode 100644 index 4349eeb3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParser.php +++ /dev/null @@ -1,131 +0,0 @@ - 'Domain', - 'path' => 'Path', - 'max_age' => 'Max-Age', - 'expires' => 'Expires', - 'version' => 'Version', - 'secure' => 'Secure', - 'port' => 'Port', - 'discard' => 'Discard', - 'comment' => 'Comment', - 'comment_url' => 'Comment-Url', - 'http_only' => 'HttpOnly' - ); - - public function parseCookie($cookie, $host = null, $path = null, $decode = false) - { - // Explode the cookie string using a series of semicolons - $pieces = array_filter(array_map('trim', explode(';', $cookie))); - - // The name of the cookie (first kvp) must include an equal sign. - if (empty($pieces) || !strpos($pieces[0], '=')) { - return false; - } - - // Create the default return array - $data = array_merge(array_fill_keys(array_keys(self::$cookieParts), null), array( - 'cookies' => array(), - 'data' => array(), - 'path' => null, - 'http_only' => false, - 'discard' => false, - 'domain' => $host - )); - $foundNonCookies = 0; - - // Add the cookie pieces into the parsed data array - foreach ($pieces as $part) { - - $cookieParts = explode('=', $part, 2); - $key = trim($cookieParts[0]); - - if (count($cookieParts) == 1) { - // Can be a single value (e.g. secure, httpOnly) - $value = true; - } else { - // Be sure to strip wrapping quotes - $value = trim($cookieParts[1], " \n\r\t\0\x0B\""); - if ($decode) { - $value = urldecode($value); - } - } - - // Only check for non-cookies when cookies have been found - if (!empty($data['cookies'])) { - foreach (self::$cookieParts as $mapValue => $search) { - if (!strcasecmp($search, $key)) { - $data[$mapValue] = $mapValue == 'port' ? array_map('trim', explode(',', $value)) : $value; - $foundNonCookies++; - continue 2; - } - } - } - - // If cookies have not yet been retrieved, or this value was not found in the pieces array, treat it as a - // cookie. IF non-cookies have been parsed, then this isn't a cookie, it's cookie data. Cookies then data. - $data[$foundNonCookies ? 'data' : 'cookies'][$key] = $value; - } - - // Calculate the expires date - if (!$data['expires'] && $data['max_age']) { - $data['expires'] = time() + (int) $data['max_age']; - } - - // Check path attribute according RFC6265 http://tools.ietf.org/search/rfc6265#section-5.2.4 - // "If the attribute-value is empty or if the first character of the - // attribute-value is not %x2F ("/"): - // Let cookie-path be the default-path. - // Otherwise: - // Let cookie-path be the attribute-value." - if (!$data['path'] || substr($data['path'], 0, 1) !== '/') { - $data['path'] = $this->getDefaultPath($path); - } - - return $data; - } - - /** - * Get default cookie path according to RFC 6265 - * http://tools.ietf.org/search/rfc6265#section-5.1.4 Paths and Path-Match - * - * @param string $path Request uri-path - * - * @return string - */ - protected function getDefaultPath($path) { - // "The user agent MUST use an algorithm equivalent to the following algorithm - // to compute the default-path of a cookie:" - - // "2. If the uri-path is empty or if the first character of the uri-path is not - // a %x2F ("/") character, output %x2F ("/") and skip the remaining steps. - if (empty($path) || substr($path, 0, 1) !== '/') { - return '/'; - } - - // "3. If the uri-path contains no more than one %x2F ("/") character, output - // %x2F ("/") and skip the remaining step." - if ($path === "/") { - return $path; - } - - $rightSlashPos = strrpos($path, '/'); - if ($rightSlashPos === 0) { - return "/"; - } - - // "4. Output the characters of the uri-path from the first character up to, - // but not including, the right-most %x2F ("/")." - return substr($path, 0, $rightSlashPos); - - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParserInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParserInterface.php deleted file mode 100644 index d21ffe21..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParserInterface.php +++ /dev/null @@ -1,33 +0,0 @@ - $requestUrl, - 'scheme' => 'http' - ); - - // Check for the Host header - if (isset($parts['headers']['Host'])) { - $urlParts['host'] = $parts['headers']['Host']; - } elseif (isset($parts['headers']['host'])) { - $urlParts['host'] = $parts['headers']['host']; - } else { - $urlParts['host'] = null; - } - - if (false === strpos($urlParts['host'], ':')) { - $urlParts['port'] = ''; - } else { - $hostParts = explode(':', $urlParts['host']); - $urlParts['host'] = trim($hostParts[0]); - $urlParts['port'] = (int) trim($hostParts[1]); - if ($urlParts['port'] == 443) { - $urlParts['scheme'] = 'https'; - } - } - - // Check if a query is present - $path = $urlParts['path']; - $qpos = strpos($path, '?'); - if ($qpos) { - $urlParts['query'] = substr($path, $qpos + 1); - $urlParts['path'] = substr($path, 0, $qpos); - } else { - $urlParts['query'] = ''; - } - - return $urlParts; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParser.php deleted file mode 100644 index efc1aa32..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParser.php +++ /dev/null @@ -1,110 +0,0 @@ -parseMessage($message); - - // Parse the protocol and protocol version - if (isset($parts['start_line'][2])) { - $startParts = explode('/', $parts['start_line'][2]); - $protocol = strtoupper($startParts[0]); - $version = isset($startParts[1]) ? $startParts[1] : '1.1'; - } else { - $protocol = 'HTTP'; - $version = '1.1'; - } - - $parsed = array( - 'method' => strtoupper($parts['start_line'][0]), - 'protocol' => $protocol, - 'version' => $version, - 'headers' => $parts['headers'], - 'body' => $parts['body'] - ); - - $parsed['request_url'] = $this->getUrlPartsFromMessage(isset($parts['start_line'][1]) ? $parts['start_line'][1] : '' , $parsed); - - return $parsed; - } - - public function parseResponse($message) - { - if (!$message) { - return false; - } - - $parts = $this->parseMessage($message); - list($protocol, $version) = explode('/', trim($parts['start_line'][0])); - - return array( - 'protocol' => $protocol, - 'version' => $version, - 'code' => $parts['start_line'][1], - 'reason_phrase' => isset($parts['start_line'][2]) ? $parts['start_line'][2] : '', - 'headers' => $parts['headers'], - 'body' => $parts['body'] - ); - } - - /** - * Parse a message into parts - * - * @param string $message Message to parse - * - * @return array - */ - protected function parseMessage($message) - { - $startLine = null; - $headers = array(); - $body = ''; - - // Iterate over each line in the message, accounting for line endings - $lines = preg_split('/(\\r?\\n)/', $message, -1, PREG_SPLIT_DELIM_CAPTURE); - for ($i = 0, $totalLines = count($lines); $i < $totalLines; $i += 2) { - - $line = $lines[$i]; - - // If two line breaks were encountered, then this is the end of body - if (empty($line)) { - if ($i < $totalLines - 1) { - $body = implode('', array_slice($lines, $i + 2)); - } - break; - } - - // Parse message headers - if (!$startLine) { - $startLine = explode(' ', $line, 3); - } elseif (strpos($line, ':')) { - $parts = explode(':', $line, 2); - $key = trim($parts[0]); - $value = isset($parts[1]) ? trim($parts[1]) : ''; - if (!isset($headers[$key])) { - $headers[$key] = $value; - } elseif (!is_array($headers[$key])) { - $headers[$key] = array($headers[$key], $value); - } else { - $headers[$key][] = $value; - } - } - } - - return array( - 'start_line' => $startLine, - 'headers' => $headers, - 'body' => $body - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParserInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParserInterface.php deleted file mode 100644 index cc448088..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParserInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - $parts->requestMethod, - 'protocol' => 'HTTP', - 'version' => number_format($parts->httpVersion, 1), - 'headers' => $parts->headers, - 'body' => $parts->body - ); - - $parsed['request_url'] = $this->getUrlPartsFromMessage($parts->requestUrl, $parsed); - - return $parsed; - } - - public function parseResponse($message) - { - if (!$message) { - return false; - } - - $parts = http_parse_message($message); - - return array( - 'protocol' => 'HTTP', - 'version' => number_format($parts->httpVersion, 1), - 'code' => $parts->responseCode, - 'reason_phrase' => $parts->responseStatus, - 'headers' => $parts->headers, - 'body' => $parts->body - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/ParserRegistry.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/ParserRegistry.php deleted file mode 100644 index f8386831..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/ParserRegistry.php +++ /dev/null @@ -1,75 +0,0 @@ - 'Guzzle\\Parser\\Message\\MessageParser', - 'cookie' => 'Guzzle\\Parser\\Cookie\\CookieParser', - 'url' => 'Guzzle\\Parser\\Url\\UrlParser', - 'uri_template' => 'Guzzle\\Parser\\UriTemplate\\UriTemplate', - ); - - /** - * @return self - * @codeCoverageIgnore - */ - public static function getInstance() - { - if (!self::$instance) { - self::$instance = new static; - } - - return self::$instance; - } - - public function __construct() - { - // Use the PECL URI template parser if available - if (extension_loaded('uri_template')) { - $this->mapping['uri_template'] = 'Guzzle\\Parser\\UriTemplate\\PeclUriTemplate'; - } - } - - /** - * Get a parser by name from an instance - * - * @param string $name Name of the parser to retrieve - * - * @return mixed|null - */ - public function getParser($name) - { - if (!isset($this->instances[$name])) { - if (!isset($this->mapping[$name])) { - return null; - } - $class = $this->mapping[$name]; - $this->instances[$name] = new $class(); - } - - return $this->instances[$name]; - } - - /** - * Register a custom parser by name with the register - * - * @param string $name Name or handle of the parser to register - * @param mixed $parser Instantiated parser to register - */ - public function registerParser($name, $parser) - { - $this->instances[$name] = $parser; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/PeclUriTemplate.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/PeclUriTemplate.php deleted file mode 100644 index b0764e83..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/PeclUriTemplate.php +++ /dev/null @@ -1,26 +0,0 @@ - true, '#' => true, '.' => true, '/' => true, ';' => true, '?' => true, '&' => true - ); - - /** @var array Delimiters */ - private static $delims = array( - ':', '/', '?', '#', '[', ']', '@', '!', '$', '&', '\'', '(', ')', '*', '+', ',', ';', '=' - ); - - /** @var array Percent encoded delimiters */ - private static $delimsPct = array( - '%3A', '%2F', '%3F', '%23', '%5B', '%5D', '%40', '%21', '%24', '%26', '%27', '%28', '%29', '%2A', '%2B', '%2C', - '%3B', '%3D' - ); - - public function expand($template, array $variables) - { - if ($this->regex == self::DEFAULT_PATTERN && false === strpos($template, '{')) { - return $template; - } - - $this->template = $template; - $this->variables = $variables; - - return preg_replace_callback($this->regex, array($this, 'expandMatch'), $this->template); - } - - /** - * Set the regex patten used to expand URI templates - * - * @param string $regexPattern - */ - public function setRegex($regexPattern) - { - $this->regex = $regexPattern; - } - - /** - * Parse an expression into parts - * - * @param string $expression Expression to parse - * - * @return array Returns an associative array of parts - */ - private function parseExpression($expression) - { - // Check for URI operators - $operator = ''; - - if (isset(self::$operatorHash[$expression[0]])) { - $operator = $expression[0]; - $expression = substr($expression, 1); - } - - $values = explode(',', $expression); - foreach ($values as &$value) { - $value = trim($value); - $varspec = array(); - $substrPos = strpos($value, ':'); - if ($substrPos) { - $varspec['value'] = substr($value, 0, $substrPos); - $varspec['modifier'] = ':'; - $varspec['position'] = (int) substr($value, $substrPos + 1); - } elseif (substr($value, -1) == '*') { - $varspec['modifier'] = '*'; - $varspec['value'] = substr($value, 0, -1); - } else { - $varspec['value'] = (string) $value; - $varspec['modifier'] = ''; - } - $value = $varspec; - } - - return array( - 'operator' => $operator, - 'values' => $values - ); - } - - /** - * Process an expansion - * - * @param array $matches Matches met in the preg_replace_callback - * - * @return string Returns the replacement string - */ - private function expandMatch(array $matches) - { - static $rfc1738to3986 = array( - '+' => '%20', - '%7e' => '~' - ); - - $parsed = self::parseExpression($matches[1]); - $replacements = array(); - - $prefix = $parsed['operator']; - $joiner = $parsed['operator']; - $useQueryString = false; - if ($parsed['operator'] == '?') { - $joiner = '&'; - $useQueryString = true; - } elseif ($parsed['operator'] == '&') { - $useQueryString = true; - } elseif ($parsed['operator'] == '#') { - $joiner = ','; - } elseif ($parsed['operator'] == ';') { - $useQueryString = true; - } elseif ($parsed['operator'] == '' || $parsed['operator'] == '+') { - $joiner = ','; - $prefix = ''; - } - - foreach ($parsed['values'] as $value) { - - if (!array_key_exists($value['value'], $this->variables) || $this->variables[$value['value']] === null) { - continue; - } - - $variable = $this->variables[$value['value']]; - $actuallyUseQueryString = $useQueryString; - $expanded = ''; - - if (is_array($variable)) { - - $isAssoc = $this->isAssoc($variable); - $kvp = array(); - foreach ($variable as $key => $var) { - - if ($isAssoc) { - $key = rawurlencode($key); - $isNestedArray = is_array($var); - } else { - $isNestedArray = false; - } - - if (!$isNestedArray) { - $var = rawurlencode($var); - if ($parsed['operator'] == '+' || $parsed['operator'] == '#') { - $var = $this->decodeReserved($var); - } - } - - if ($value['modifier'] == '*') { - if ($isAssoc) { - if ($isNestedArray) { - // Nested arrays must allow for deeply nested structures - $var = strtr(http_build_query(array($key => $var)), $rfc1738to3986); - } else { - $var = $key . '=' . $var; - } - } elseif ($key > 0 && $actuallyUseQueryString) { - $var = $value['value'] . '=' . $var; - } - } - - $kvp[$key] = $var; - } - - if (empty($variable)) { - $actuallyUseQueryString = false; - } elseif ($value['modifier'] == '*') { - $expanded = implode($joiner, $kvp); - if ($isAssoc) { - // Don't prepend the value name when using the explode modifier with an associative array - $actuallyUseQueryString = false; - } - } else { - if ($isAssoc) { - // When an associative array is encountered and the explode modifier is not set, then the - // result must be a comma separated list of keys followed by their respective values. - foreach ($kvp as $k => &$v) { - $v = $k . ',' . $v; - } - } - $expanded = implode(',', $kvp); - } - - } else { - if ($value['modifier'] == ':') { - $variable = substr($variable, 0, $value['position']); - } - $expanded = rawurlencode($variable); - if ($parsed['operator'] == '+' || $parsed['operator'] == '#') { - $expanded = $this->decodeReserved($expanded); - } - } - - if ($actuallyUseQueryString) { - if (!$expanded && $joiner != '&') { - $expanded = $value['value']; - } else { - $expanded = $value['value'] . '=' . $expanded; - } - } - - $replacements[] = $expanded; - } - - $ret = implode($joiner, $replacements); - if ($ret && $prefix) { - return $prefix . $ret; - } - - return $ret; - } - - /** - * Determines if an array is associative - * - * @param array $array Array to check - * - * @return bool - */ - private function isAssoc(array $array) - { - return (bool) count(array_filter(array_keys($array), 'is_string')); - } - - /** - * Removes percent encoding on reserved characters (used with + and # modifiers) - * - * @param string $string String to fix - * - * @return string - */ - private function decodeReserved($string) - { - return str_replace(self::$delimsPct, self::$delims, $string); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/UriTemplateInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/UriTemplateInterface.php deleted file mode 100644 index c81d5154..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/UriTemplateInterface.php +++ /dev/null @@ -1,21 +0,0 @@ -utf8 = $utf8; - } - - public function parseUrl($url) - { - Version::warn(__CLASS__ . ' is deprecated. Just use parse_url()'); - - static $defaults = array('scheme' => null, 'host' => null, 'path' => null, 'port' => null, 'query' => null, - 'user' => null, 'pass' => null, 'fragment' => null); - - $parts = parse_url($url); - - // Need to handle query parsing specially for UTF-8 requirements - if ($this->utf8 && isset($parts['query'])) { - $queryPos = strpos($url, '?'); - if (isset($parts['fragment'])) { - $parts['query'] = substr($url, $queryPos + 1, strpos($url, '#') - $queryPos - 1); - } else { - $parts['query'] = substr($url, $queryPos + 1); - } - } - - return $parts + $defaults; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Url/UrlParserInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Url/UrlParserInterface.php deleted file mode 100644 index 89ac4b30..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Parser/Url/UrlParserInterface.php +++ /dev/null @@ -1,19 +0,0 @@ -=5.3.2" - }, - "autoload": { - "psr-0": { "Guzzle\\Parser": "" } - }, - "target-dir": "Guzzle/Parser", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/AsyncPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/AsyncPlugin.php deleted file mode 100644 index ae594187..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/AsyncPlugin.php +++ /dev/null @@ -1,84 +0,0 @@ - 'onBeforeSend', - 'request.exception' => 'onRequestTimeout', - 'request.sent' => 'onRequestSent', - 'curl.callback.progress' => 'onCurlProgress' - ); - } - - /** - * Event used to ensure that progress callback are emitted from the curl handle's request mediator. - * - * @param Event $event - */ - public function onBeforeSend(Event $event) - { - // Ensure that progress callbacks are dispatched - $event['request']->getCurlOptions()->set('progress', true); - } - - /** - * Event emitted when a curl progress function is called. When the amount of data uploaded == the amount of data to - * upload OR any bytes have been downloaded, then time the request out after 1ms because we're done with - * transmitting the request, and tell curl not download a body. - * - * @param Event $event - */ - public function onCurlProgress(Event $event) - { - if ($event['handle'] && - ($event['downloaded'] || (isset($event['uploaded']) && $event['upload_size'] === $event['uploaded'])) - ) { - // Timeout after 1ms - curl_setopt($event['handle'], CURLOPT_TIMEOUT_MS, 1); - // Even if the response is quick, tell curl not to download the body. - // - Note that we can only perform this shortcut if the request transmitted a body so as to ensure that the - // request method is not converted to a HEAD request before the request was sent via curl. - if ($event['uploaded']) { - curl_setopt($event['handle'], CURLOPT_NOBODY, true); - } - } - } - - /** - * Event emitted when a curl exception occurs. Ignore the exception and set a mock response. - * - * @param Event $event - */ - public function onRequestTimeout(Event $event) - { - if ($event['exception'] instanceof CurlException) { - $event['request']->setResponse(new Response(200, array( - 'X-Guzzle-Async' => 'Did not wait for the response' - ))); - } - } - - /** - * Event emitted when a request completes because it took less than 1ms. Add an X-Guzzle-Async header to notify the - * caller that there is no body in the message. - * - * @param Event $event - */ - public function onRequestSent(Event $event) - { - // Let the caller know this was meant to be async - $event['request']->getResponse()->setHeader('X-Guzzle-Async', 'Did not wait for the response'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/composer.json deleted file mode 100644 index dc3fc5bf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "guzzle/plugin-async", - "description": "Guzzle async request plugin", - "homepage": "http://guzzlephp.org/", - "keywords": ["plugin", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/http": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\Async": "" } - }, - "target-dir": "Guzzle/Plugin/Async", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractBackoffStrategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractBackoffStrategy.php deleted file mode 100644 index 0a859834..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractBackoffStrategy.php +++ /dev/null @@ -1,91 +0,0 @@ -next = $next; - } - - /** - * Get the next backoff strategy in the chain - * - * @return AbstractBackoffStrategy|null - */ - public function getNext() - { - return $this->next; - } - - public function getBackoffPeriod( - $retries, - RequestInterface $request, - Response $response = null, - HttpException $e = null - ) { - $delay = $this->getDelay($retries, $request, $response, $e); - if ($delay === false) { - // The strategy knows that this must not be retried - return false; - } elseif ($delay === null) { - // If the strategy is deferring a decision and the next strategy will not make a decision then return false - return !$this->next || !$this->next->makesDecision() - ? false - : $this->next->getBackoffPeriod($retries, $request, $response, $e); - } elseif ($delay === true) { - // if the strategy knows that it must retry but is deferring to the next to determine the delay - if (!$this->next) { - return 0; - } else { - $next = $this->next; - while ($next->makesDecision() && $next->getNext()) { - $next = $next->getNext(); - } - return !$next->makesDecision() ? $next->getBackoffPeriod($retries, $request, $response, $e) : 0; - } - } else { - return $delay; - } - } - - /** - * Check if the strategy does filtering and makes decisions on whether or not to retry. - * - * Strategies that return false will never retry if all of the previous strategies in a chain defer on a backoff - * decision. - * - * @return bool - */ - abstract public function makesDecision(); - - /** - * Implement the concrete strategy - * - * @param int $retries Number of retries of the request - * @param RequestInterface $request Request that was sent - * @param Response $response Response that was received. Note that there may not be a response - * @param HttpException $e Exception that was encountered if any - * - * @return bool|int|null Returns false to not retry or the number of seconds to delay between retries. Return true - * or null to defer to the next strategy if available, and if not, return 0. - */ - abstract protected function getDelay( - $retries, - RequestInterface $request, - Response $response = null, - HttpException $e = null - ); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php deleted file mode 100644 index 6ebee6c1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php +++ /dev/null @@ -1,40 +0,0 @@ -errorCodes = array_fill_keys($codes ?: static::$defaultErrorCodes, 1); - $this->next = $next; - } - - /** - * Get the default failure codes to retry - * - * @return array - */ - public static function getDefaultFailureCodes() - { - return static::$defaultErrorCodes; - } - - public function makesDecision() - { - return true; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffLogger.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffLogger.php deleted file mode 100644 index ec54c289..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffLogger.php +++ /dev/null @@ -1,76 +0,0 @@ -logger = $logger; - $this->formatter = $formatter ?: new MessageFormatter(self::DEFAULT_FORMAT); - } - - public static function getSubscribedEvents() - { - return array(BackoffPlugin::RETRY_EVENT => 'onRequestRetry'); - } - - /** - * Set the template to use for logging - * - * @param string $template Log message template - * - * @return self - */ - public function setTemplate($template) - { - $this->formatter->setTemplate($template); - - return $this; - } - - /** - * Called when a request is being retried - * - * @param Event $event Event emitted - */ - public function onRequestRetry(Event $event) - { - $this->logger->log($this->formatter->format( - $event['request'], - $event['response'], - $event['handle'], - array( - 'retries' => $event['retries'], - 'delay' => $event['delay'] - ) - )); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffPlugin.php deleted file mode 100644 index 99ace053..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffPlugin.php +++ /dev/null @@ -1,126 +0,0 @@ -strategy = $strategy; - } - - /** - * Retrieve a basic truncated exponential backoff plugin that will retry HTTP errors and cURL errors - * - * @param int $maxRetries Maximum number of retries - * @param array $httpCodes HTTP response codes to retry - * @param array $curlCodes cURL error codes to retry - * - * @return self - */ - public static function getExponentialBackoff( - $maxRetries = 3, - array $httpCodes = null, - array $curlCodes = null - ) { - return new self(new TruncatedBackoffStrategy($maxRetries, - new HttpBackoffStrategy($httpCodes, - new CurlBackoffStrategy($curlCodes, - new ExponentialBackoffStrategy() - ) - ) - )); - } - - public static function getAllEvents() - { - return array(self::RETRY_EVENT); - } - - public static function getSubscribedEvents() - { - return array( - 'request.sent' => 'onRequestSent', - 'request.exception' => 'onRequestSent', - CurlMultiInterface::POLLING_REQUEST => 'onRequestPoll' - ); - } - - /** - * Called when a request has been sent and isn't finished processing - * - * @param Event $event - */ - public function onRequestSent(Event $event) - { - $request = $event['request']; - $response = $event['response']; - $exception = $event['exception']; - - $params = $request->getParams(); - $retries = (int) $params->get(self::RETRY_PARAM); - $delay = $this->strategy->getBackoffPeriod($retries, $request, $response, $exception); - - if ($delay !== false) { - // Calculate how long to wait until the request should be retried - $params->set(self::RETRY_PARAM, ++$retries) - ->set(self::DELAY_PARAM, microtime(true) + $delay); - // Send the request again - $request->setState(RequestInterface::STATE_TRANSFER); - $this->dispatch(self::RETRY_EVENT, array( - 'request' => $request, - 'response' => $response, - 'handle' => ($exception && $exception instanceof CurlException) ? $exception->getCurlHandle() : null, - 'retries' => $retries, - 'delay' => $delay - )); - } - } - - /** - * Called when a request is polling in the curl multi object - * - * @param Event $event - */ - public function onRequestPoll(Event $event) - { - $request = $event['request']; - $delay = $request->getParams()->get(self::DELAY_PARAM); - - // If the duration of the delay has passed, retry the request using the pool - if (null !== $delay && microtime(true) >= $delay) { - // Remove the request from the pool and then add it back again. This is required for cURL to know that we - // want to retry sending the easy handle. - $request->getParams()->remove(self::DELAY_PARAM); - // Rewind the request body if possible - if ($request instanceof EntityEnclosingRequestInterface && $request->getBody()) { - $request->getBody()->seek(0); - } - $multi = $event['curl_multi']; - $multi->remove($request); - $multi->add($request); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffStrategyInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffStrategyInterface.php deleted file mode 100644 index 4e590dbe..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffStrategyInterface.php +++ /dev/null @@ -1,30 +0,0 @@ -callback = $callback; - $this->decision = (bool) $decision; - $this->next = $next; - } - - public function makesDecision() - { - return $this->decision; - } - - protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null) - { - return call_user_func($this->callback, $retries, $request, $response, $e); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ConstantBackoffStrategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ConstantBackoffStrategy.php deleted file mode 100644 index 061d2a40..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ConstantBackoffStrategy.php +++ /dev/null @@ -1,34 +0,0 @@ -delay = $delay; - } - - public function makesDecision() - { - return false; - } - - protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null) - { - return $this->delay; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/CurlBackoffStrategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/CurlBackoffStrategy.php deleted file mode 100644 index a584ed4a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/CurlBackoffStrategy.php +++ /dev/null @@ -1,28 +0,0 @@ -errorCodes[$e->getErrorNo()]) ? true : null; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ExponentialBackoffStrategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ExponentialBackoffStrategy.php deleted file mode 100644 index fb2912d5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ExponentialBackoffStrategy.php +++ /dev/null @@ -1,25 +0,0 @@ -isSuccessful()) { - return false; - } else { - return isset($this->errorCodes[$response->getStatusCode()]) ? true : null; - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/LinearBackoffStrategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/LinearBackoffStrategy.php deleted file mode 100644 index b35e8a49..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/LinearBackoffStrategy.php +++ /dev/null @@ -1,36 +0,0 @@ -step = $step; - } - - public function makesDecision() - { - return false; - } - - protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null) - { - return $retries * $this->step; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ReasonPhraseBackoffStrategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ReasonPhraseBackoffStrategy.php deleted file mode 100644 index 4fd73fed..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ReasonPhraseBackoffStrategy.php +++ /dev/null @@ -1,25 +0,0 @@ -errorCodes[$response->getReasonPhrase()]) ? true : null; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/TruncatedBackoffStrategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/TruncatedBackoffStrategy.php deleted file mode 100644 index 3608f358..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/TruncatedBackoffStrategy.php +++ /dev/null @@ -1,36 +0,0 @@ -max = $maxRetries; - $this->next = $next; - } - - public function makesDecision() - { - return true; - } - - protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null) - { - return $retries < $this->max ? null : false; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/composer.json deleted file mode 100644 index 91c122cb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "guzzle/plugin-backoff", - "description": "Guzzle backoff retry plugins", - "homepage": "http://guzzlephp.org/", - "keywords": ["plugin", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/http": "self.version", - "guzzle/log": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\Backoff": "" } - }, - "target-dir": "Guzzle/Plugin/Backoff", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheKeyProviderInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheKeyProviderInterface.php deleted file mode 100644 index 7790f884..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheKeyProviderInterface.php +++ /dev/null @@ -1,11 +0,0 @@ - new DefaultCacheStorage($options)); - } elseif ($options instanceof CacheStorageInterface) { - $options = array('storage' => $options); - } elseif ($options) { - $options = array('storage' => new DefaultCacheStorage(CacheAdapterFactory::fromCache($options))); - } elseif (!class_exists('Doctrine\Common\Cache\ArrayCache')) { - // @codeCoverageIgnoreStart - throw new InvalidArgumentException('No cache was provided and Doctrine is not installed'); - // @codeCoverageIgnoreEnd - } - } - - $this->autoPurge = isset($options['auto_purge']) ? $options['auto_purge'] : false; - - // Add a cache storage if a cache adapter was provided - $this->storage = isset($options['storage']) - ? $options['storage'] - : new DefaultCacheStorage(new DoctrineCacheAdapter(new ArrayCache())); - - if (!isset($options['can_cache'])) { - $this->canCache = new DefaultCanCacheStrategy(); - } else { - $this->canCache = is_callable($options['can_cache']) - ? new CallbackCanCacheStrategy($options['can_cache']) - : $options['can_cache']; - } - - // Use the provided revalidation strategy or the default - $this->revalidation = isset($options['revalidation']) - ? $options['revalidation'] - : new DefaultRevalidation($this->storage, $this->canCache); - } - - public static function getSubscribedEvents() - { - return array( - 'request.before_send' => array('onRequestBeforeSend', -255), - 'request.sent' => array('onRequestSent', 255), - 'request.error' => array('onRequestError', 0), - 'request.exception' => array('onRequestException', 0), - ); - } - - /** - * Check if a response in cache will satisfy the request before sending - * - * @param Event $event - */ - public function onRequestBeforeSend(Event $event) - { - $request = $event['request']; - $request->addHeader('Via', sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION)); - - if (!$this->canCache->canCacheRequest($request)) { - switch ($request->getMethod()) { - case 'PURGE': - $this->purge($request); - $request->setResponse(new Response(200, array(), 'purged')); - break; - case 'PUT': - case 'POST': - case 'DELETE': - case 'PATCH': - if ($this->autoPurge) { - $this->purge($request); - } - } - return; - } - - if ($response = $this->storage->fetch($request)) { - $params = $request->getParams(); - $params['cache.lookup'] = true; - $response->setHeader( - 'Age', - time() - strtotime($response->getDate() ? : $response->getLastModified() ?: 'now') - ); - // Validate that the response satisfies the request - if ($this->canResponseSatisfyRequest($request, $response)) { - if (!isset($params['cache.hit'])) { - $params['cache.hit'] = true; - } - $request->setResponse($response); - } - } - } - - /** - * If possible, store a response in cache after sending - * - * @param Event $event - */ - public function onRequestSent(Event $event) - { - $request = $event['request']; - $response = $event['response']; - - if ($request->getParams()->get('cache.hit') === null && - $this->canCache->canCacheRequest($request) && - $this->canCache->canCacheResponse($response) - ) { - $this->storage->cache($request, $response); - } - - $this->addResponseHeaders($request, $response); - } - - /** - * If possible, return a cache response on an error - * - * @param Event $event - */ - public function onRequestError(Event $event) - { - $request = $event['request']; - - if (!$this->canCache->canCacheRequest($request)) { - return; - } - - if ($response = $this->storage->fetch($request)) { - $response->setHeader( - 'Age', - time() - strtotime($response->getLastModified() ? : $response->getDate() ?: 'now') - ); - - if ($this->canResponseSatisfyFailedRequest($request, $response)) { - $request->getParams()->set('cache.hit', 'error'); - $this->addResponseHeaders($request, $response); - $event['response'] = $response; - $event->stopPropagation(); - } - } - } - - /** - * If possible, set a cache response on a cURL exception - * - * @param Event $event - * - * @return null - */ - public function onRequestException(Event $event) - { - if (!$event['exception'] instanceof CurlException) { - return; - } - - $request = $event['request']; - if (!$this->canCache->canCacheRequest($request)) { - return; - } - - if ($response = $this->storage->fetch($request)) { - $response->setHeader('Age', time() - strtotime($response->getDate() ? : 'now')); - if (!$this->canResponseSatisfyFailedRequest($request, $response)) { - return; - } - $request->getParams()->set('cache.hit', 'error'); - $request->setResponse($response); - $this->addResponseHeaders($request, $response); - $event->stopPropagation(); - } - } - - /** - * Check if a cache response satisfies a request's caching constraints - * - * @param RequestInterface $request Request to validate - * @param Response $response Response to validate - * - * @return bool - */ - public function canResponseSatisfyRequest(RequestInterface $request, Response $response) - { - $responseAge = $response->calculateAge(); - $reqc = $request->getHeader('Cache-Control'); - $resc = $response->getHeader('Cache-Control'); - - // Check the request's max-age header against the age of the response - if ($reqc && $reqc->hasDirective('max-age') && - $responseAge > $reqc->getDirective('max-age')) { - return false; - } - - // Check the response's max-age header - if ($response->isFresh() === false) { - $maxStale = $reqc ? $reqc->getDirective('max-stale') : null; - if (null !== $maxStale) { - if ($maxStale !== true && $response->getFreshness() < (-1 * $maxStale)) { - return false; - } - } elseif ($resc && $resc->hasDirective('max-age') - && $responseAge > $resc->getDirective('max-age') - ) { - return false; - } - } - - if ($this->revalidation->shouldRevalidate($request, $response)) { - try { - return $this->revalidation->revalidate($request, $response); - } catch (CurlException $e) { - $request->getParams()->set('cache.hit', 'error'); - return $this->canResponseSatisfyFailedRequest($request, $response); - } - } - - return true; - } - - /** - * Check if a cache response satisfies a failed request's caching constraints - * - * @param RequestInterface $request Request to validate - * @param Response $response Response to validate - * - * @return bool - */ - public function canResponseSatisfyFailedRequest(RequestInterface $request, Response $response) - { - $reqc = $request->getHeader('Cache-Control'); - $resc = $response->getHeader('Cache-Control'); - $requestStaleIfError = $reqc ? $reqc->getDirective('stale-if-error') : null; - $responseStaleIfError = $resc ? $resc->getDirective('stale-if-error') : null; - - if (!$requestStaleIfError && !$responseStaleIfError) { - return false; - } - - if (is_numeric($requestStaleIfError) && $response->getAge() - $response->getMaxAge() > $requestStaleIfError) { - return false; - } - - if (is_numeric($responseStaleIfError) && $response->getAge() - $response->getMaxAge() > $responseStaleIfError) { - return false; - } - - return true; - } - - /** - * Purge all cache entries for a given URL - * - * @param string $url URL to purge - */ - public function purge($url) - { - // BC compatibility with previous version that accepted a Request object - $url = $url instanceof RequestInterface ? $url->getUrl() : $url; - $this->storage->purge($url); - } - - /** - * Add the plugin's headers to a response - * - * @param RequestInterface $request Request - * @param Response $response Response to add headers to - */ - protected function addResponseHeaders(RequestInterface $request, Response $response) - { - $params = $request->getParams(); - $response->setHeader('Via', sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION)); - - $lookup = ($params['cache.lookup'] === true ? 'HIT' : 'MISS') . ' from GuzzleCache'; - if ($header = $response->getHeader('X-Cache-Lookup')) { - // Don't add duplicates - $values = $header->toArray(); - $values[] = $lookup; - $response->setHeader('X-Cache-Lookup', array_unique($values)); - } else { - $response->setHeader('X-Cache-Lookup', $lookup); - } - - if ($params['cache.hit'] === true) { - $xcache = 'HIT from GuzzleCache'; - } elseif ($params['cache.hit'] == 'error') { - $xcache = 'HIT_ERROR from GuzzleCache'; - } else { - $xcache = 'MISS from GuzzleCache'; - } - - if ($header = $response->getHeader('X-Cache')) { - // Don't add duplicates - $values = $header->toArray(); - $values[] = $xcache; - $response->setHeader('X-Cache', array_unique($values)); - } else { - $response->setHeader('X-Cache', $xcache); - } - - if ($response->isFresh() === false) { - $response->addHeader('Warning', sprintf('110 GuzzleCache/%s "Response is stale"', Version::VERSION)); - if ($params['cache.hit'] === 'error') { - $response->addHeader('Warning', sprintf('111 GuzzleCache/%s "Revalidation failed"', Version::VERSION)); - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheStorageInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheStorageInterface.php deleted file mode 100644 index f3d91545..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CacheStorageInterface.php +++ /dev/null @@ -1,43 +0,0 @@ -requestCallback = $requestCallback; - $this->responseCallback = $responseCallback; - } - - public function canCacheRequest(RequestInterface $request) - { - return $this->requestCallback - ? call_user_func($this->requestCallback, $request) - : parent::canCacheRequest($request); - } - - public function canCacheResponse(Response $response) - { - return $this->responseCallback - ? call_user_func($this->responseCallback, $response) - : parent::canCacheResponse($response); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CanCacheStrategyInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CanCacheStrategyInterface.php deleted file mode 100644 index 6e01a8e7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CanCacheStrategyInterface.php +++ /dev/null @@ -1,30 +0,0 @@ -getParams()->get(self::CACHE_KEY); - - if (!$key) { - - $cloned = clone $request; - $cloned->removeHeader('Cache-Control'); - - // Check to see how and if the key should be filtered - foreach (explode(';', $request->getParams()->get(self::CACHE_KEY_FILTER)) as $part) { - $pieces = array_map('trim', explode('=', $part)); - if (isset($pieces[1])) { - foreach (array_map('trim', explode(',', $pieces[1])) as $remove) { - if ($pieces[0] == 'header') { - $cloned->removeHeader($remove); - } elseif ($pieces[0] == 'query') { - $cloned->getQuery()->remove($remove); - } - } - } - } - - $raw = (string) $cloned; - $key = 'GZ' . md5($raw); - $request->getParams()->set(self::CACHE_KEY, $key)->set(self::CACHE_KEY_RAW, $raw); - } - - return $key; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCacheStorage.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCacheStorage.php deleted file mode 100644 index 26d7a8b2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCacheStorage.php +++ /dev/null @@ -1,266 +0,0 @@ -cache = CacheAdapterFactory::fromCache($cache); - $this->defaultTtl = $defaultTtl; - $this->keyPrefix = $keyPrefix; - } - - public function cache(RequestInterface $request, Response $response) - { - $currentTime = time(); - - $overrideTtl = $request->getParams()->get('cache.override_ttl'); - if ($overrideTtl) { - $ttl = $overrideTtl; - } else { - $maxAge = $response->getMaxAge(); - if ($maxAge !== null) { - $ttl = $maxAge; - } else { - $ttl = $this->defaultTtl; - } - } - - if ($cacheControl = $response->getHeader('Cache-Control')) { - $stale = $cacheControl->getDirective('stale-if-error'); - if ($stale === true) { - $ttl += $ttl; - } else if (is_numeric($stale)) { - $ttl += $stale; - } - } - - // Determine which manifest key should be used - $key = $this->getCacheKey($request); - $persistedRequest = $this->persistHeaders($request); - $entries = array(); - - if ($manifest = $this->cache->fetch($key)) { - // Determine which cache entries should still be in the cache - $vary = $response->getVary(); - foreach (unserialize($manifest) as $entry) { - // Check if the entry is expired - if ($entry[4] < $currentTime) { - continue; - } - $entry[1]['vary'] = isset($entry[1]['vary']) ? $entry[1]['vary'] : ''; - if ($vary != $entry[1]['vary'] || !$this->requestsMatch($vary, $entry[0], $persistedRequest)) { - $entries[] = $entry; - } - } - } - - // Persist the response body if needed - $bodyDigest = null; - if ($response->getBody() && $response->getBody()->getContentLength() > 0) { - $bodyDigest = $this->getBodyKey($request->getUrl(), $response->getBody()); - $this->cache->save($bodyDigest, (string) $response->getBody(), $ttl); - } - - array_unshift($entries, array( - $persistedRequest, - $this->persistHeaders($response), - $response->getStatusCode(), - $bodyDigest, - $currentTime + $ttl - )); - - $this->cache->save($key, serialize($entries)); - } - - public function delete(RequestInterface $request) - { - $key = $this->getCacheKey($request); - if ($entries = $this->cache->fetch($key)) { - // Delete each cached body - foreach (unserialize($entries) as $entry) { - if ($entry[3]) { - $this->cache->delete($entry[3]); - } - } - $this->cache->delete($key); - } - } - - public function purge($url) - { - foreach (array('GET', 'HEAD', 'POST', 'PUT', 'DELETE') as $method) { - $this->delete(new Request($method, $url)); - } - } - - public function fetch(RequestInterface $request) - { - $key = $this->getCacheKey($request); - if (!($entries = $this->cache->fetch($key))) { - return null; - } - - $match = null; - $headers = $this->persistHeaders($request); - $entries = unserialize($entries); - foreach ($entries as $index => $entry) { - if ($this->requestsMatch(isset($entry[1]['vary']) ? $entry[1]['vary'] : '', $headers, $entry[0])) { - $match = $entry; - break; - } - } - - if (!$match) { - return null; - } - - // Ensure that the response is not expired - $response = null; - if ($match[4] < time()) { - $response = -1; - } else { - $response = new Response($match[2], $match[1]); - if ($match[3]) { - if ($body = $this->cache->fetch($match[3])) { - $response->setBody($body); - } else { - // The response is not valid because the body was somehow deleted - $response = -1; - } - } - } - - if ($response === -1) { - // Remove the entry from the metadata and update the cache - unset($entries[$index]); - if ($entries) { - $this->cache->save($key, serialize($entries)); - } else { - $this->cache->delete($key); - } - return null; - } - - return $response; - } - - /** - * Hash a request URL into a string that returns cache metadata - * - * @param RequestInterface $request - * - * @return string - */ - protected function getCacheKey(RequestInterface $request) - { - // Allow cache.key_filter to trim down the URL cache key by removing generate query string values (e.g. auth) - if ($filter = $request->getParams()->get('cache.key_filter')) { - $url = $request->getUrl(true); - foreach (explode(',', $filter) as $remove) { - $url->getQuery()->remove(trim($remove)); - } - } else { - $url = $request->getUrl(); - } - - return $this->keyPrefix . md5($request->getMethod() . ' ' . $url); - } - - /** - * Create a cache key for a response's body - * - * @param string $url URL of the entry - * @param EntityBodyInterface $body Response body - * - * @return string - */ - protected function getBodyKey($url, EntityBodyInterface $body) - { - return $this->keyPrefix . md5($url) . $body->getContentMd5(); - } - - /** - * Determines whether two Request HTTP header sets are non-varying - * - * @param string $vary Response vary header - * @param array $r1 HTTP header array - * @param array $r2 HTTP header array - * - * @return bool - */ - private function requestsMatch($vary, $r1, $r2) - { - if ($vary) { - foreach (explode(',', $vary) as $header) { - $key = trim(strtolower($header)); - $v1 = isset($r1[$key]) ? $r1[$key] : null; - $v2 = isset($r2[$key]) ? $r2[$key] : null; - if ($v1 !== $v2) { - return false; - } - } - } - - return true; - } - - /** - * Creates an array of cacheable and normalized message headers - * - * @param MessageInterface $message - * - * @return array - */ - private function persistHeaders(MessageInterface $message) - { - // Headers are excluded from the caching (see RFC 2616:13.5.1) - static $noCache = array( - 'age' => true, - 'connection' => true, - 'keep-alive' => true, - 'proxy-authenticate' => true, - 'proxy-authorization' => true, - 'te' => true, - 'trailers' => true, - 'transfer-encoding' => true, - 'upgrade' => true, - 'set-cookie' => true, - 'set-cookie2' => true - ); - - // Clone the response to not destroy any necessary headers when caching - $headers = $message->getHeaders()->getAll(); - $headers = array_diff_key($headers, $noCache); - // Cast the headers to a string - $headers = array_map(function ($h) { return (string) $h; }, $headers); - - return $headers; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCanCacheStrategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCanCacheStrategy.php deleted file mode 100644 index 3ca1fbf1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCanCacheStrategy.php +++ /dev/null @@ -1,32 +0,0 @@ -getMethod() != RequestInterface::GET && $request->getMethod() != RequestInterface::HEAD) { - return false; - } - - // Never cache requests when using no-store - if ($request->hasHeader('Cache-Control') && $request->getHeader('Cache-Control')->hasDirective('no-store')) { - return false; - } - - return true; - } - - public function canCacheResponse(Response $response) - { - return $response->isSuccessful() && $response->canCache(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultRevalidation.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultRevalidation.php deleted file mode 100644 index af33234e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultRevalidation.php +++ /dev/null @@ -1,174 +0,0 @@ -storage = $cache; - $this->canCache = $canCache ?: new DefaultCanCacheStrategy(); - } - - public function revalidate(RequestInterface $request, Response $response) - { - try { - $revalidate = $this->createRevalidationRequest($request, $response); - $validateResponse = $revalidate->send(); - if ($validateResponse->getStatusCode() == 200) { - return $this->handle200Response($request, $validateResponse); - } elseif ($validateResponse->getStatusCode() == 304) { - return $this->handle304Response($request, $validateResponse, $response); - } - } catch (BadResponseException $e) { - $this->handleBadResponse($e); - } - - // Other exceptions encountered in the revalidation request are ignored - // in hopes that sending a request to the origin server will fix it - return false; - } - - public function shouldRevalidate(RequestInterface $request, Response $response) - { - if ($request->getMethod() != RequestInterface::GET) { - return false; - } - - $reqCache = $request->getHeader('Cache-Control'); - $resCache = $response->getHeader('Cache-Control'); - - $revalidate = $request->getHeader('Pragma') == 'no-cache' || - ($reqCache && ($reqCache->hasDirective('no-cache') || $reqCache->hasDirective('must-revalidate'))) || - ($resCache && ($resCache->hasDirective('no-cache') || $resCache->hasDirective('must-revalidate'))); - - // Use the strong ETag validator if available and the response contains no Cache-Control directive - if (!$revalidate && !$resCache && $response->hasHeader('ETag')) { - $revalidate = true; - } - - return $revalidate; - } - - /** - * Handles a bad response when attempting to revalidate - * - * @param BadResponseException $e Exception encountered - * - * @throws BadResponseException - */ - protected function handleBadResponse(BadResponseException $e) - { - // 404 errors mean the resource no longer exists, so remove from - // cache, and prevent an additional request by throwing the exception - if ($e->getResponse()->getStatusCode() == 404) { - $this->storage->delete($e->getRequest()); - throw $e; - } - } - - /** - * Creates a request to use for revalidation - * - * @param RequestInterface $request Request - * @param Response $response Response to revalidate - * - * @return RequestInterface returns a revalidation request - */ - protected function createRevalidationRequest(RequestInterface $request, Response $response) - { - $revalidate = clone $request; - $revalidate->removeHeader('Pragma')->removeHeader('Cache-Control'); - - if ($response->getLastModified()) { - $revalidate->setHeader('If-Modified-Since', $response->getLastModified()); - } - - if ($response->getEtag()) { - $revalidate->setHeader('If-None-Match', $response->getEtag()); - } - - // Remove any cache plugins that might be on the request to prevent infinite recursive revalidations - $dispatcher = $revalidate->getEventDispatcher(); - foreach ($dispatcher->getListeners() as $eventName => $listeners) { - foreach ($listeners as $listener) { - if (is_array($listener) && $listener[0] instanceof CachePlugin) { - $dispatcher->removeListener($eventName, $listener); - } - } - } - - return $revalidate; - } - - /** - * Handles a 200 response response from revalidating. The server does not support validation, so use this response. - * - * @param RequestInterface $request Request that was sent - * @param Response $validateResponse Response received - * - * @return bool Returns true if valid, false if invalid - */ - protected function handle200Response(RequestInterface $request, Response $validateResponse) - { - $request->setResponse($validateResponse); - if ($this->canCache->canCacheResponse($validateResponse)) { - $this->storage->cache($request, $validateResponse); - } - - return false; - } - - /** - * Handle a 304 response and ensure that it is still valid - * - * @param RequestInterface $request Request that was sent - * @param Response $validateResponse Response received - * @param Response $response Original cached response - * - * @return bool Returns true if valid, false if invalid - */ - protected function handle304Response(RequestInterface $request, Response $validateResponse, Response $response) - { - static $replaceHeaders = array('Date', 'Expires', 'Cache-Control', 'ETag', 'Last-Modified'); - - // Make sure that this response has the same ETag - if ($validateResponse->getEtag() != $response->getEtag()) { - return false; - } - - // Replace cached headers with any of these headers from the - // origin server that might be more up to date - $modified = false; - foreach ($replaceHeaders as $name) { - if ($validateResponse->hasHeader($name)) { - $modified = true; - $response->setHeader($name, $validateResponse->getHeader($name)); - } - } - - // Store the updated response in cache - if ($modified && $this->canCache->canCacheResponse($response)) { - $this->storage->cache($request, $response); - } - - return true; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DenyRevalidation.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DenyRevalidation.php deleted file mode 100644 index 88b86f3c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DenyRevalidation.php +++ /dev/null @@ -1,19 +0,0 @@ -=5.3.2", - "guzzle/http": "self.version", - "guzzle/cache": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\Cache": "" } - }, - "target-dir": "Guzzle/Plugin/Cache", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Cookie.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Cookie.php deleted file mode 100644 index 5218e5f0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Cookie.php +++ /dev/null @@ -1,538 +0,0 @@ - '', - 'value' => '', - 'domain' => '', - 'path' => '/', - 'expires' => null, - 'max_age' => 0, - 'comment' => null, - 'comment_url' => null, - 'port' => array(), - 'version' => null, - 'secure' => false, - 'discard' => false, - 'http_only' => false - ); - - $this->data = array_merge($defaults, $data); - // Extract the expires value and turn it into a UNIX timestamp if needed - if (!$this->getExpires() && $this->getMaxAge()) { - // Calculate the expires date - $this->setExpires(time() + (int) $this->getMaxAge()); - } elseif ($this->getExpires() && !is_numeric($this->getExpires())) { - $this->setExpires(strtotime($this->getExpires())); - } - } - - /** - * Get the cookie as an array - * - * @return array - */ - public function toArray() - { - return $this->data; - } - - /** - * Get the cookie name - * - * @return string - */ - public function getName() - { - return $this->data['name']; - } - - /** - * Set the cookie name - * - * @param string $name Cookie name - * - * @return Cookie - */ - public function setName($name) - { - return $this->setData('name', $name); - } - - /** - * Get the cookie value - * - * @return string - */ - public function getValue() - { - return $this->data['value']; - } - - /** - * Set the cookie value - * - * @param string $value Cookie value - * - * @return Cookie - */ - public function setValue($value) - { - return $this->setData('value', $value); - } - - /** - * Get the domain - * - * @return string|null - */ - public function getDomain() - { - return $this->data['domain']; - } - - /** - * Set the domain of the cookie - * - * @param string $domain - * - * @return Cookie - */ - public function setDomain($domain) - { - return $this->setData('domain', $domain); - } - - /** - * Get the path - * - * @return string - */ - public function getPath() - { - return $this->data['path']; - } - - /** - * Set the path of the cookie - * - * @param string $path Path of the cookie - * - * @return Cookie - */ - public function setPath($path) - { - return $this->setData('path', $path); - } - - /** - * Maximum lifetime of the cookie in seconds - * - * @return int|null - */ - public function getMaxAge() - { - return $this->data['max_age']; - } - - /** - * Set the max-age of the cookie - * - * @param int $maxAge Max age of the cookie in seconds - * - * @return Cookie - */ - public function setMaxAge($maxAge) - { - return $this->setData('max_age', $maxAge); - } - - /** - * The UNIX timestamp when the cookie expires - * - * @return mixed - */ - public function getExpires() - { - return $this->data['expires']; - } - - /** - * Set the unix timestamp for which the cookie will expire - * - * @param int $timestamp Unix timestamp - * - * @return Cookie - */ - public function setExpires($timestamp) - { - return $this->setData('expires', $timestamp); - } - - /** - * Version of the cookie specification. RFC 2965 is 1 - * - * @return mixed - */ - public function getVersion() - { - return $this->data['version']; - } - - /** - * Set the cookie version - * - * @param string|int $version Version to set - * - * @return Cookie - */ - public function setVersion($version) - { - return $this->setData('version', $version); - } - - /** - * Get whether or not this is a secure cookie - * - * @return null|bool - */ - public function getSecure() - { - return $this->data['secure']; - } - - /** - * Set whether or not the cookie is secure - * - * @param bool $secure Set to true or false if secure - * - * @return Cookie - */ - public function setSecure($secure) - { - return $this->setData('secure', (bool) $secure); - } - - /** - * Get whether or not this is a session cookie - * - * @return null|bool - */ - public function getDiscard() - { - return $this->data['discard']; - } - - /** - * Set whether or not this is a session cookie - * - * @param bool $discard Set to true or false if this is a session cookie - * - * @return Cookie - */ - public function setDiscard($discard) - { - return $this->setData('discard', $discard); - } - - /** - * Get the comment - * - * @return string|null - */ - public function getComment() - { - return $this->data['comment']; - } - - /** - * Set the comment of the cookie - * - * @param string $comment Cookie comment - * - * @return Cookie - */ - public function setComment($comment) - { - return $this->setData('comment', $comment); - } - - /** - * Get the comment URL of the cookie - * - * @return string|null - */ - public function getCommentUrl() - { - return $this->data['comment_url']; - } - - /** - * Set the comment URL of the cookie - * - * @param string $commentUrl Cookie comment URL for more information - * - * @return Cookie - */ - public function setCommentUrl($commentUrl) - { - return $this->setData('comment_url', $commentUrl); - } - - /** - * Get an array of acceptable ports this cookie can be used with - * - * @return array - */ - public function getPorts() - { - return $this->data['port']; - } - - /** - * Set a list of acceptable ports this cookie can be used with - * - * @param array $ports Array of acceptable ports - * - * @return Cookie - */ - public function setPorts(array $ports) - { - return $this->setData('port', $ports); - } - - /** - * Get whether or not this is an HTTP only cookie - * - * @return bool - */ - public function getHttpOnly() - { - return $this->data['http_only']; - } - - /** - * Set whether or not this is an HTTP only cookie - * - * @param bool $httpOnly Set to true or false if this is HTTP only - * - * @return Cookie - */ - public function setHttpOnly($httpOnly) - { - return $this->setData('http_only', $httpOnly); - } - - /** - * Get an array of extra cookie data - * - * @return array - */ - public function getAttributes() - { - return $this->data['data']; - } - - /** - * Get a specific data point from the extra cookie data - * - * @param string $name Name of the data point to retrieve - * - * @return null|string - */ - public function getAttribute($name) - { - return array_key_exists($name, $this->data['data']) ? $this->data['data'][$name] : null; - } - - /** - * Set a cookie data attribute - * - * @param string $name Name of the attribute to set - * @param string $value Value to set - * - * @return Cookie - */ - public function setAttribute($name, $value) - { - $this->data['data'][$name] = $value; - - return $this; - } - - /** - * Check if the cookie matches a path value - * - * @param string $path Path to check against - * - * @return bool - */ - public function matchesPath($path) - { - // RFC6265 http://tools.ietf.org/search/rfc6265#section-5.1.4 - // A request-path path-matches a given cookie-path if at least one of - // the following conditions holds: - - // o The cookie-path and the request-path are identical. - if ($path == $this->getPath()) { - return true; - } - - $pos = stripos($path, $this->getPath()); - if ($pos === 0) { - // o The cookie-path is a prefix of the request-path, and the last - // character of the cookie-path is %x2F ("/"). - if (substr($this->getPath(), -1, 1) === "/") { - return true; - } - - // o The cookie-path is a prefix of the request-path, and the first - // character of the request-path that is not included in the cookie- - // path is a %x2F ("/") character. - if (substr($path, strlen($this->getPath()), 1) === "/") { - return true; - } - } - - return false; - } - - /** - * Check if the cookie matches a domain value - * - * @param string $domain Domain to check against - * - * @return bool - */ - public function matchesDomain($domain) - { - // Remove the leading '.' as per spec in RFC 6265: http://tools.ietf.org/html/rfc6265#section-5.2.3 - $cookieDomain = ltrim($this->getDomain(), '.'); - - // Domain not set or exact match. - if (!$cookieDomain || !strcasecmp($domain, $cookieDomain)) { - return true; - } - - // Matching the subdomain according to RFC 6265: http://tools.ietf.org/html/rfc6265#section-5.1.3 - if (filter_var($domain, FILTER_VALIDATE_IP)) { - return false; - } - - return (bool) preg_match('/\.' . preg_quote($cookieDomain, '/') . '$/i', $domain); - } - - /** - * Check if the cookie is compatible with a specific port - * - * @param int $port Port to check - * - * @return bool - */ - public function matchesPort($port) - { - return count($this->getPorts()) == 0 || in_array($port, $this->getPorts()); - } - - /** - * Check if the cookie is expired - * - * @return bool - */ - public function isExpired() - { - return $this->getExpires() && time() > $this->getExpires(); - } - - /** - * Check if the cookie is valid according to RFC 6265 - * - * @return bool|string Returns true if valid or an error message if invalid - */ - public function validate() - { - // Names must not be empty, but can be 0 - $name = $this->getName(); - if (empty($name) && !is_numeric($name)) { - return 'The cookie name must not be empty'; - } - - // Check if any of the invalid characters are present in the cookie name - if (strpbrk($name, self::getInvalidCharacters()) !== false) { - return 'The cookie name must not contain invalid characters: ' . $name; - } - - // Value must not be empty, but can be 0 - $value = $this->getValue(); - if (empty($value) && !is_numeric($value)) { - return 'The cookie value must not be empty'; - } - - // Domains must not be empty, but can be 0 - // A "0" is not a valid internet domain, but may be used as server name in a private network - $domain = $this->getDomain(); - if (empty($domain) && !is_numeric($domain)) { - return 'The cookie domain must not be empty'; - } - - return true; - } - - /** - * Set a value and return the cookie object - * - * @param string $key Key to set - * @param string $value Value to set - * - * @return Cookie - */ - private function setData($key, $value) - { - $this->data[$key] = $value; - - return $this; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/ArrayCookieJar.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/ArrayCookieJar.php deleted file mode 100644 index 6b675039..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/ArrayCookieJar.php +++ /dev/null @@ -1,237 +0,0 @@ -strictMode = $strictMode; - } - - /** - * Enable or disable strict mode on the cookie jar - * - * @param bool $strictMode Set to true to throw exceptions when invalid cookies are added. False to ignore them. - * - * @return self - */ - public function setStrictMode($strictMode) - { - $this->strictMode = $strictMode; - } - - public function remove($domain = null, $path = null, $name = null) - { - $cookies = $this->all($domain, $path, $name, false, false); - $this->cookies = array_filter($this->cookies, function (Cookie $cookie) use ($cookies) { - return !in_array($cookie, $cookies, true); - }); - - return $this; - } - - public function removeTemporary() - { - $this->cookies = array_filter($this->cookies, function (Cookie $cookie) { - return !$cookie->getDiscard() && $cookie->getExpires(); - }); - - return $this; - } - - public function removeExpired() - { - $currentTime = time(); - $this->cookies = array_filter($this->cookies, function (Cookie $cookie) use ($currentTime) { - return !$cookie->getExpires() || $currentTime < $cookie->getExpires(); - }); - - return $this; - } - - public function all($domain = null, $path = null, $name = null, $skipDiscardable = false, $skipExpired = true) - { - return array_values(array_filter($this->cookies, function (Cookie $cookie) use ( - $domain, - $path, - $name, - $skipDiscardable, - $skipExpired - ) { - return false === (($name && $cookie->getName() != $name) || - ($skipExpired && $cookie->isExpired()) || - ($skipDiscardable && ($cookie->getDiscard() || !$cookie->getExpires())) || - ($path && !$cookie->matchesPath($path)) || - ($domain && !$cookie->matchesDomain($domain))); - })); - } - - public function add(Cookie $cookie) - { - // Only allow cookies with set and valid domain, name, value - $result = $cookie->validate(); - if ($result !== true) { - if ($this->strictMode) { - throw new InvalidCookieException($result); - } else { - $this->removeCookieIfEmpty($cookie); - return false; - } - } - - // Resolve conflicts with previously set cookies - foreach ($this->cookies as $i => $c) { - - // Two cookies are identical, when their path, domain, port and name are identical - if ($c->getPath() != $cookie->getPath() || - $c->getDomain() != $cookie->getDomain() || - $c->getPorts() != $cookie->getPorts() || - $c->getName() != $cookie->getName() - ) { - continue; - } - - // The previously set cookie is a discard cookie and this one is not so allow the new cookie to be set - if (!$cookie->getDiscard() && $c->getDiscard()) { - unset($this->cookies[$i]); - continue; - } - - // If the new cookie's expiration is further into the future, then replace the old cookie - if ($cookie->getExpires() > $c->getExpires()) { - unset($this->cookies[$i]); - continue; - } - - // If the value has changed, we better change it - if ($cookie->getValue() !== $c->getValue()) { - unset($this->cookies[$i]); - continue; - } - - // The cookie exists, so no need to continue - return false; - } - - $this->cookies[] = $cookie; - - return true; - } - - /** - * Serializes the cookie cookieJar - * - * @return string - */ - public function serialize() - { - // Only serialize long term cookies and unexpired cookies - return json_encode(array_map(function (Cookie $cookie) { - return $cookie->toArray(); - }, $this->all(null, null, null, true, true))); - } - - /** - * Unserializes the cookie cookieJar - */ - public function unserialize($data) - { - $data = json_decode($data, true); - if (empty($data)) { - $this->cookies = array(); - } else { - $this->cookies = array_map(function (array $cookie) { - return new Cookie($cookie); - }, $data); - } - } - - /** - * Returns the total number of stored cookies - * - * @return int - */ - public function count() - { - return count($this->cookies); - } - - /** - * Returns an iterator - * - * @return \ArrayIterator - */ - public function getIterator() - { - return new \ArrayIterator($this->cookies); - } - - public function addCookiesFromResponse(Response $response, RequestInterface $request = null) - { - if ($cookieHeader = $response->getHeader('Set-Cookie')) { - $parser = ParserRegistry::getInstance()->getParser('cookie'); - foreach ($cookieHeader as $cookie) { - if ($parsed = $request - ? $parser->parseCookie($cookie, $request->getHost(), $request->getPath()) - : $parser->parseCookie($cookie) - ) { - // Break up cookie v2 into multiple cookies - foreach ($parsed['cookies'] as $key => $value) { - $row = $parsed; - $row['name'] = $key; - $row['value'] = $value; - unset($row['cookies']); - $this->add(new Cookie($row)); - } - } - } - } - } - - public function getMatchingCookies(RequestInterface $request) - { - // Find cookies that match this request - $cookies = $this->all($request->getHost(), $request->getPath()); - // Remove ineligible cookies - foreach ($cookies as $index => $cookie) { - if (!$cookie->matchesPort($request->getPort()) || ($cookie->getSecure() && $request->getScheme() != 'https')) { - unset($cookies[$index]); - } - }; - - return $cookies; - } - - /** - * If a cookie already exists and the server asks to set it again with a null value, the - * cookie must be deleted. - * - * @param \Guzzle\Plugin\Cookie\Cookie $cookie - */ - private function removeCookieIfEmpty(Cookie $cookie) - { - $cookieValue = $cookie->getValue(); - if ($cookieValue === null || $cookieValue === '') { - $this->remove($cookie->getDomain(), $cookie->getPath(), $cookie->getName()); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/CookieJarInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/CookieJarInterface.php deleted file mode 100644 index 7faa7d21..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/CookieJarInterface.php +++ /dev/null @@ -1,85 +0,0 @@ -filename = $cookieFile; - $this->load(); - } - - /** - * Saves the file when shutting down - */ - public function __destruct() - { - $this->persist(); - } - - /** - * Save the contents of the data array to the file - * - * @throws RuntimeException if the file cannot be found or created - */ - protected function persist() - { - if (false === file_put_contents($this->filename, $this->serialize())) { - // @codeCoverageIgnoreStart - throw new RuntimeException('Unable to open file ' . $this->filename); - // @codeCoverageIgnoreEnd - } - } - - /** - * Load the contents of the json formatted file into the data array and discard any unsaved state - */ - protected function load() - { - $json = file_get_contents($this->filename); - if (false === $json) { - // @codeCoverageIgnoreStart - throw new RuntimeException('Unable to open file ' . $this->filename); - // @codeCoverageIgnoreEnd - } - - $this->unserialize($json); - $this->cookies = $this->cookies ?: array(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookiePlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookiePlugin.php deleted file mode 100644 index df3210ee..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookiePlugin.php +++ /dev/null @@ -1,70 +0,0 @@ -cookieJar = $cookieJar ?: new ArrayCookieJar(); - } - - public static function getSubscribedEvents() - { - return array( - 'request.before_send' => array('onRequestBeforeSend', 125), - 'request.sent' => array('onRequestSent', 125) - ); - } - - /** - * Get the cookie cookieJar - * - * @return CookieJarInterface - */ - public function getCookieJar() - { - return $this->cookieJar; - } - - /** - * Add cookies before a request is sent - * - * @param Event $event - */ - public function onRequestBeforeSend(Event $event) - { - $request = $event['request']; - if (!$request->getParams()->get('cookies.disable')) { - $request->removeHeader('Cookie'); - // Find cookies that match this request - foreach ($this->cookieJar->getMatchingCookies($request) as $cookie) { - $request->addCookie($cookie->getName(), $cookie->getValue()); - } - } - } - - /** - * Extract cookies from a sent request - * - * @param Event $event - */ - public function onRequestSent(Event $event) - { - $this->cookieJar->addCookiesFromResponse($event['response'], $event['request']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Exception/InvalidCookieException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Exception/InvalidCookieException.php deleted file mode 100644 index b1fa6fd8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Exception/InvalidCookieException.php +++ /dev/null @@ -1,7 +0,0 @@ -=5.3.2", - "guzzle/http": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\Cookie": "" } - }, - "target-dir": "Guzzle/Plugin/Cookie", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/CurlAuthPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/CurlAuthPlugin.php deleted file mode 100644 index 610e60ca..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/CurlAuthPlugin.php +++ /dev/null @@ -1,46 +0,0 @@ -getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest'); - */ -class CurlAuthPlugin implements EventSubscriberInterface -{ - private $username; - private $password; - private $scheme; - - /** - * @param string $username HTTP basic auth username - * @param string $password Password - * @param int $scheme Curl auth scheme - */ - public function __construct($username, $password, $scheme=CURLAUTH_BASIC) - { - Version::warn(__CLASS__ . " is deprecated. Use \$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');"); - $this->username = $username; - $this->password = $password; - $this->scheme = $scheme; - } - - public static function getSubscribedEvents() - { - return array('client.create_request' => array('onRequestCreate', 255)); - } - - /** - * Add basic auth - * - * @param Event $event - */ - public function onRequestCreate(Event $event) - { - $event['request']->setAuth($this->username, $this->password, $this->scheme); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/composer.json deleted file mode 100644 index edc8b24e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "guzzle/plugin-curlauth", - "description": "Guzzle cURL authorization plugin", - "homepage": "http://guzzlephp.org/", - "keywords": ["plugin", "curl", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/http": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\CurlAuth": "" } - }, - "target-dir": "Guzzle/Plugin/CurlAuth", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/ErrorResponseExceptionInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/ErrorResponseExceptionInterface.php deleted file mode 100644 index 5dce8bd6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/ErrorResponseExceptionInterface.php +++ /dev/null @@ -1,22 +0,0 @@ - array('onCommandBeforeSend', -1)); - } - - /** - * Adds a listener to requests before they sent from a command - * - * @param Event $event Event emitted - */ - public function onCommandBeforeSend(Event $event) - { - $command = $event['command']; - if ($operation = $command->getOperation()) { - if ($operation->getErrorResponses()) { - $request = $command->getRequest(); - $request->getEventDispatcher() - ->addListener('request.complete', $this->getErrorClosure($request, $command, $operation)); - } - } - } - - /** - * @param RequestInterface $request Request that received an error - * @param CommandInterface $command Command that created the request - * @param Operation $operation Operation that defines the request and errors - * - * @return \Closure Returns a closure - * @throws ErrorResponseException - */ - protected function getErrorClosure(RequestInterface $request, CommandInterface $command, Operation $operation) - { - return function (Event $event) use ($request, $command, $operation) { - $response = $event['response']; - foreach ($operation->getErrorResponses() as $error) { - if (!isset($error['class'])) { - continue; - } - if (isset($error['code']) && $response->getStatusCode() != $error['code']) { - continue; - } - if (isset($error['reason']) && $response->getReasonPhrase() != $error['reason']) { - continue; - } - $className = $error['class']; - $errorClassInterface = __NAMESPACE__ . '\\ErrorResponseExceptionInterface'; - if (!class_exists($className)) { - throw new ErrorResponseException("{$className} does not exist"); - } elseif (!(in_array($errorClassInterface, class_implements($className)))) { - throw new ErrorResponseException("{$className} must implement {$errorClassInterface}"); - } - throw $className::fromCommand($command, $response); - } - }; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/Exception/ErrorResponseException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/Exception/ErrorResponseException.php deleted file mode 100644 index 1d89e40e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/Exception/ErrorResponseException.php +++ /dev/null @@ -1,7 +0,0 @@ -=5.3.2", - "guzzle/service": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\ErrorResponse": "" } - }, - "target-dir": "Guzzle/Plugin/ErrorResponse", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/History/HistoryPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/History/HistoryPlugin.php deleted file mode 100644 index 7375e892..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/History/HistoryPlugin.php +++ /dev/null @@ -1,163 +0,0 @@ - array('onRequestSent', 9999)); - } - - /** - * Convert to a string that contains all request and response headers - * - * @return string - */ - public function __toString() - { - $lines = array(); - foreach ($this->transactions as $entry) { - $response = isset($entry['response']) ? $entry['response'] : ''; - $lines[] = '> ' . trim($entry['request']) . "\n\n< " . trim($response) . "\n"; - } - - return implode("\n", $lines); - } - - /** - * Add a request to the history - * - * @param RequestInterface $request Request to add - * @param Response $response Response of the request - * - * @return HistoryPlugin - */ - public function add(RequestInterface $request, Response $response = null) - { - if (!$response && $request->getResponse()) { - $response = $request->getResponse(); - } - - $this->transactions[] = array('request' => $request, 'response' => $response); - if (count($this->transactions) > $this->getlimit()) { - array_shift($this->transactions); - } - - return $this; - } - - /** - * Set the max number of requests to store - * - * @param int $limit Limit - * - * @return HistoryPlugin - */ - public function setLimit($limit) - { - $this->limit = (int) $limit; - - return $this; - } - - /** - * Get the request limit - * - * @return int - */ - public function getLimit() - { - return $this->limit; - } - - /** - * Get all of the raw transactions in the form of an array of associative arrays containing - * 'request' and 'response' keys. - * - * @return array - */ - public function getAll() - { - return $this->transactions; - } - - /** - * Get the requests in the history - * - * @return \ArrayIterator - */ - public function getIterator() - { - // Return an iterator just like the old iteration of the HistoryPlugin for BC compatibility (use getAll()) - return new \ArrayIterator(array_map(function ($entry) { - $entry['request']->getParams()->set('actual_response', $entry['response']); - return $entry['request']; - }, $this->transactions)); - } - - /** - * Get the number of requests in the history - * - * @return int - */ - public function count() - { - return count($this->transactions); - } - - /** - * Get the last request sent - * - * @return RequestInterface - */ - public function getLastRequest() - { - $last = end($this->transactions); - - return $last['request']; - } - - /** - * Get the last response in the history - * - * @return Response|null - */ - public function getLastResponse() - { - $last = end($this->transactions); - - return isset($last['response']) ? $last['response'] : null; - } - - /** - * Clears the history - * - * @return HistoryPlugin - */ - public function clear() - { - $this->transactions = array(); - - return $this; - } - - public function onRequestSent(Event $event) - { - $this->add($event['request'], $event['response']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/History/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/History/composer.json deleted file mode 100644 index ba0bf2c4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/History/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "guzzle/plugin-history", - "description": "Guzzle history plugin", - "homepage": "http://guzzlephp.org/", - "keywords": ["plugin", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/http": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\History": "" } - }, - "target-dir": "Guzzle/Plugin/History", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/LogPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/LogPlugin.php deleted file mode 100644 index cabdea85..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/LogPlugin.php +++ /dev/null @@ -1,161 +0,0 @@ -logAdapter = $logAdapter; - $this->formatter = $formatter instanceof MessageFormatter ? $formatter : new MessageFormatter($formatter); - $this->wireBodies = $wireBodies; - } - - /** - * Get a log plugin that outputs full request, response, and curl error information to stderr - * - * @param bool $wireBodies Set to false to disable request/response body output when they use are not repeatable - * @param resource $stream Stream to write to when logging. Defaults to STDERR when it is available - * - * @return self - */ - public static function getDebugPlugin($wireBodies = true, $stream = null) - { - if ($stream === null) { - if (defined('STDERR')) { - $stream = STDERR; - } else { - $stream = fopen('php://output', 'w'); - } - } - - return new self(new ClosureLogAdapter(function ($m) use ($stream) { - fwrite($stream, $m . PHP_EOL); - }), "# Request:\n{request}\n\n# Response:\n{response}\n\n# Errors: {curl_code} {curl_error}", $wireBodies); - } - - public static function getSubscribedEvents() - { - return array( - 'curl.callback.write' => array('onCurlWrite', 255), - 'curl.callback.read' => array('onCurlRead', 255), - 'request.before_send' => array('onRequestBeforeSend', 255), - 'request.sent' => array('onRequestSent', 255) - ); - } - - /** - * Event triggered when curl data is read from a request - * - * @param Event $event - */ - public function onCurlRead(Event $event) - { - // Stream the request body to the log if the body is not repeatable - if ($wire = $event['request']->getParams()->get('request_wire')) { - $wire->write($event['read']); - } - } - - /** - * Event triggered when curl data is written to a response - * - * @param Event $event - */ - public function onCurlWrite(Event $event) - { - // Stream the response body to the log if the body is not repeatable - if ($wire = $event['request']->getParams()->get('response_wire')) { - $wire->write($event['write']); - } - } - - /** - * Called before a request is sent - * - * @param Event $event - */ - public function onRequestBeforeSend(Event $event) - { - if ($this->wireBodies) { - $request = $event['request']; - // Ensure that curl IO events are emitted - $request->getCurlOptions()->set('emit_io', true); - // We need to make special handling for content wiring and non-repeatable streams. - if ($request instanceof EntityEnclosingRequestInterface && $request->getBody() - && (!$request->getBody()->isSeekable() || !$request->getBody()->isReadable()) - ) { - // The body of the request cannot be recalled so logging the body will require us to buffer it - $request->getParams()->set('request_wire', EntityBody::factory()); - } - if (!$request->getResponseBody()->isRepeatable()) { - // The body of the response cannot be recalled so logging the body will require us to buffer it - $request->getParams()->set('response_wire', EntityBody::factory()); - } - } - } - - /** - * Triggers the actual log write when a request completes - * - * @param Event $event - */ - public function onRequestSent(Event $event) - { - $request = $event['request']; - $response = $event['response']; - $handle = $event['handle']; - - if ($wire = $request->getParams()->get('request_wire')) { - $request = clone $request; - $request->setBody($wire); - } - - if ($wire = $request->getParams()->get('response_wire')) { - $response = clone $response; - $response->setBody($wire); - } - - // Send the log message to the adapter, adding a category and host - $priority = $response && $response->isError() ? LOG_ERR : LOG_DEBUG; - $message = $this->formatter->format($request, $response, $handle); - $this->logAdapter->log($message, $priority, array( - 'request' => $request, - 'response' => $response, - 'handle' => $handle - )); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/composer.json deleted file mode 100644 index 130e6da0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "guzzle/plugin-log", - "description": "Guzzle log plugin for over the wire logging", - "homepage": "http://guzzlephp.org/", - "keywords": ["plugin", "log", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/http": "self.version", - "guzzle/log": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\Log": "" } - }, - "target-dir": "Guzzle/Plugin/Log", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/CommandContentMd5Plugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/CommandContentMd5Plugin.php deleted file mode 100644 index 85124243..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/CommandContentMd5Plugin.php +++ /dev/null @@ -1,57 +0,0 @@ -contentMd5Param = $contentMd5Param; - $this->validateMd5Param = $validateMd5Param; - } - - public static function getSubscribedEvents() - { - return array('command.before_send' => array('onCommandBeforeSend', -255)); - } - - public function onCommandBeforeSend(Event $event) - { - $command = $event['command']; - $request = $command->getRequest(); - - // Only add an MD5 is there is a MD5 option on the operation and it has a payload - if ($request instanceof EntityEnclosingRequestInterface && $request->getBody() - && $command->getOperation()->hasParam($this->contentMd5Param)) { - // Check if an MD5 checksum value should be passed along to the request - if ($command[$this->contentMd5Param] === true) { - if (false !== ($md5 = $request->getBody()->getContentMd5(true, true))) { - $request->setHeader('Content-MD5', $md5); - } - } - } - - // Check if MD5 validation should be used with the response - if ($command[$this->validateMd5Param] === true) { - $request->addSubscriber(new Md5ValidatorPlugin(true, false)); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/Md5ValidatorPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/Md5ValidatorPlugin.php deleted file mode 100644 index 5d7a3785..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/Md5ValidatorPlugin.php +++ /dev/null @@ -1,88 +0,0 @@ -contentLengthCutoff = $contentLengthCutoff; - $this->contentEncoded = $contentEncoded; - } - - public static function getSubscribedEvents() - { - return array('request.complete' => array('onRequestComplete', 255)); - } - - /** - * {@inheritdoc} - * @throws UnexpectedValueException - */ - public function onRequestComplete(Event $event) - { - $response = $event['response']; - - if (!$contentMd5 = $response->getContentMd5()) { - return; - } - - $contentEncoding = $response->getContentEncoding(); - if ($contentEncoding && !$this->contentEncoded) { - return false; - } - - // Make sure that the size of the request is under the cutoff size - if ($this->contentLengthCutoff) { - $size = $response->getContentLength() ?: $response->getBody()->getSize(); - if (!$size || $size > $this->contentLengthCutoff) { - return; - } - } - - if (!$contentEncoding) { - $hash = $response->getBody()->getContentMd5(); - } elseif ($contentEncoding == 'gzip') { - $response->getBody()->compress('zlib.deflate'); - $hash = $response->getBody()->getContentMd5(); - $response->getBody()->uncompress(); - } elseif ($contentEncoding == 'compress') { - $response->getBody()->compress('bzip2.compress'); - $hash = $response->getBody()->getContentMd5(); - $response->getBody()->uncompress(); - } else { - return; - } - - if ($contentMd5 !== $hash) { - throw new UnexpectedValueException( - "The response entity body may have been modified over the wire. The Content-MD5 " - . "received ({$contentMd5}) did not match the calculated MD5 hash ({$hash})." - ); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/composer.json deleted file mode 100644 index 0602d060..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "guzzle/plugin-md5", - "description": "Guzzle MD5 plugins", - "homepage": "http://guzzlephp.org/", - "keywords": ["plugin", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/http": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\Md5": "" } - }, - "target-dir": "Guzzle/Plugin/Md5", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/MockPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/MockPlugin.php deleted file mode 100644 index 2440578c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/MockPlugin.php +++ /dev/null @@ -1,245 +0,0 @@ -readBodies = $readBodies; - $this->temporary = $temporary; - if ($items) { - foreach ($items as $item) { - if ($item instanceof \Exception) { - $this->addException($item); - } else { - $this->addResponse($item); - } - } - } - } - - public static function getSubscribedEvents() - { - // Use a number lower than the CachePlugin - return array('request.before_send' => array('onRequestBeforeSend', -999)); - } - - public static function getAllEvents() - { - return array('mock.request'); - } - - /** - * Get a mock response from a file - * - * @param string $path File to retrieve a mock response from - * - * @return Response - * @throws InvalidArgumentException if the file is not found - */ - public static function getMockFile($path) - { - if (!file_exists($path)) { - throw new InvalidArgumentException('Unable to open mock file: ' . $path); - } - - return Response::fromMessage(file_get_contents($path)); - } - - /** - * Set whether or not to consume the entity body of a request when a mock - * response is used - * - * @param bool $readBodies Set to true to read and consume entity bodies - * - * @return self - */ - public function readBodies($readBodies) - { - $this->readBodies = $readBodies; - - return $this; - } - - /** - * Returns the number of remaining mock responses - * - * @return int - */ - public function count() - { - return count($this->queue); - } - - /** - * Add a response to the end of the queue - * - * @param string|Response $response Response object or path to response file - * - * @return MockPlugin - * @throws InvalidArgumentException if a string or Response is not passed - */ - public function addResponse($response) - { - if (!($response instanceof Response)) { - if (!is_string($response)) { - throw new InvalidArgumentException('Invalid response'); - } - $response = self::getMockFile($response); - } - - $this->queue[] = $response; - - return $this; - } - - /** - * Add an exception to the end of the queue - * - * @param CurlException $e Exception to throw when the request is executed - * - * @return MockPlugin - */ - public function addException(CurlException $e) - { - $this->queue[] = $e; - - return $this; - } - - /** - * Clear the queue - * - * @return MockPlugin - */ - public function clearQueue() - { - $this->queue = array(); - - return $this; - } - - /** - * Returns an array of mock responses remaining in the queue - * - * @return array - */ - public function getQueue() - { - return $this->queue; - } - - /** - * Check if this is a temporary plugin - * - * @return bool - */ - public function isTemporary() - { - return $this->temporary; - } - - /** - * Get a response from the front of the list and add it to a request - * - * @param RequestInterface $request Request to mock - * - * @return self - * @throws CurlException When request.send is called and an exception is queued - */ - public function dequeue(RequestInterface $request) - { - $this->dispatch('mock.request', array('plugin' => $this, 'request' => $request)); - - $item = array_shift($this->queue); - if ($item instanceof Response) { - if ($this->readBodies && $request instanceof EntityEnclosingRequestInterface) { - $request->getEventDispatcher()->addListener('request.sent', $f = function (Event $event) use (&$f) { - while ($data = $event['request']->getBody()->read(8096)); - // Remove the listener after one-time use - $event['request']->getEventDispatcher()->removeListener('request.sent', $f); - }); - } - $request->setResponse($item); - } elseif ($item instanceof CurlException) { - // Emulates exceptions encountered while transferring requests - $item->setRequest($request); - $state = $request->setState(RequestInterface::STATE_ERROR, array('exception' => $item)); - // Only throw if the exception wasn't handled - if ($state == RequestInterface::STATE_ERROR) { - throw $item; - } - } - - return $this; - } - - /** - * Clear the array of received requests - */ - public function flush() - { - $this->received = array(); - } - - /** - * Get an array of requests that were mocked by this plugin - * - * @return array - */ - public function getReceivedRequests() - { - return $this->received; - } - - /** - * Called when a request is about to be sent - * - * @param Event $event - * @throws \OutOfBoundsException When queue is empty - */ - public function onRequestBeforeSend(Event $event) - { - if (!$this->queue) { - throw new \OutOfBoundsException('Mock queue is empty'); - } - - $request = $event['request']; - $this->received[] = $request; - // Detach the filter from the client so it's a one-time use - if ($this->temporary && count($this->queue) == 1 && $request->getClient()) { - $request->getClient()->getEventDispatcher()->removeSubscriber($this); - } - $this->dequeue($request); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/composer.json deleted file mode 100644 index f8201e31..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "guzzle/plugin-mock", - "description": "Guzzle Mock plugin", - "homepage": "http://guzzlephp.org/", - "keywords": ["mock", "plugin", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/http": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\Mock": "" } - }, - "target-dir": "Guzzle/Plugin/Mock", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/OauthPlugin.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/OauthPlugin.php deleted file mode 100644 index 95e0c3e4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/OauthPlugin.php +++ /dev/null @@ -1,306 +0,0 @@ -config = Collection::fromConfig($config, array( - 'version' => '1.0', - 'request_method' => self::REQUEST_METHOD_HEADER, - 'consumer_key' => 'anonymous', - 'consumer_secret' => 'anonymous', - 'signature_method' => 'HMAC-SHA1', - 'signature_callback' => function($stringToSign, $key) { - return hash_hmac('sha1', $stringToSign, $key, true); - } - ), array( - 'signature_method', 'signature_callback', 'version', - 'consumer_key', 'consumer_secret' - )); - } - - public static function getSubscribedEvents() - { - return array( - 'request.before_send' => array('onRequestBeforeSend', -1000) - ); - } - - /** - * Request before-send event handler - * - * @param Event $event Event received - * @return array - * @throws \InvalidArgumentException - */ - public function onRequestBeforeSend(Event $event) - { - $timestamp = $this->getTimestamp($event); - $request = $event['request']; - $nonce = $this->generateNonce($request); - $authorizationParams = $this->getOauthParams($timestamp, $nonce); - $authorizationParams['oauth_signature'] = $this->getSignature($request, $timestamp, $nonce); - - switch ($this->config['request_method']) { - case self::REQUEST_METHOD_HEADER: - $request->setHeader( - 'Authorization', - $this->buildAuthorizationHeader($authorizationParams) - ); - break; - case self::REQUEST_METHOD_QUERY: - foreach ($authorizationParams as $key => $value) { - $request->getQuery()->set($key, $value); - } - break; - default: - throw new \InvalidArgumentException(sprintf( - 'Invalid consumer method "%s"', - $this->config['request_method'] - )); - } - - return $authorizationParams; - } - - /** - * Builds the Authorization header for a request - * - * @param array $authorizationParams Associative array of authorization parameters - * - * @return string - */ - private function buildAuthorizationHeader($authorizationParams) - { - $authorizationString = 'OAuth '; - foreach ($authorizationParams as $key => $val) { - if ($val) { - $authorizationString .= $key . '="' . urlencode($val) . '", '; - } - } - - return substr($authorizationString, 0, -2); - } - - /** - * Calculate signature for request - * - * @param RequestInterface $request Request to generate a signature for - * @param integer $timestamp Timestamp to use for nonce - * @param string $nonce - * - * @return string - */ - public function getSignature(RequestInterface $request, $timestamp, $nonce) - { - $string = $this->getStringToSign($request, $timestamp, $nonce); - $key = urlencode($this->config['consumer_secret']) . '&' . urlencode($this->config['token_secret']); - - return base64_encode(call_user_func($this->config['signature_callback'], $string, $key)); - } - - /** - * Calculate string to sign - * - * @param RequestInterface $request Request to generate a signature for - * @param int $timestamp Timestamp to use for nonce - * @param string $nonce - * - * @return string - */ - public function getStringToSign(RequestInterface $request, $timestamp, $nonce) - { - $params = $this->getParamsToSign($request, $timestamp, $nonce); - - // Convert booleans to strings. - $params = $this->prepareParameters($params); - - // Build signing string from combined params - $parameterString = clone $request->getQuery(); - $parameterString->replace($params); - - $url = Url::factory($request->getUrl())->setQuery('')->setFragment(null); - - return strtoupper($request->getMethod()) . '&' - . rawurlencode($url) . '&' - . rawurlencode((string) $parameterString); - } - - /** - * Get the oauth parameters as named by the oauth spec - * - * @param $timestamp - * @param $nonce - * @return Collection - */ - protected function getOauthParams($timestamp, $nonce) - { - $params = new Collection(array( - 'oauth_consumer_key' => $this->config['consumer_key'], - 'oauth_nonce' => $nonce, - 'oauth_signature_method' => $this->config['signature_method'], - 'oauth_timestamp' => $timestamp, - )); - - // Optional parameters should not be set if they have not been set in the config as - // the parameter may be considered invalid by the Oauth service. - $optionalParams = array( - 'callback' => 'oauth_callback', - 'token' => 'oauth_token', - 'verifier' => 'oauth_verifier', - 'version' => 'oauth_version' - ); - - foreach ($optionalParams as $optionName => $oauthName) { - if (isset($this->config[$optionName]) == true) { - $params[$oauthName] = $this->config[$optionName]; - } - } - - return $params; - } - - /** - * Get all of the parameters required to sign a request including: - * * The oauth params - * * The request GET params - * * The params passed in the POST body (with a content-type of application/x-www-form-urlencoded) - * - * @param RequestInterface $request Request to generate a signature for - * @param integer $timestamp Timestamp to use for nonce - * @param string $nonce - * - * @return array - */ - public function getParamsToSign(RequestInterface $request, $timestamp, $nonce) - { - $params = $this->getOauthParams($timestamp, $nonce); - - // Add query string parameters - $params->merge($request->getQuery()); - - // Add POST fields to signing string if required - if ($this->shouldPostFieldsBeSigned($request)) - { - $params->merge($request->getPostFields()); - } - - // Sort params - $params = $params->toArray(); - uksort($params, 'strcmp'); - - return $params; - } - - /** - * Decide whether the post fields should be added to the base string that Oauth signs. - * This implementation is correct. Non-conformant APIs may require that this method be - * overwritten e.g. the Flickr API incorrectly adds the post fields when the Content-Type - * is 'application/x-www-form-urlencoded' - * - * @param $request - * @return bool Whether the post fields should be signed or not - */ - public function shouldPostFieldsBeSigned($request) - { - if (!$this->config->get('disable_post_params') && - $request instanceof EntityEnclosingRequestInterface && - false !== strpos($request->getHeader('Content-Type'), 'application/x-www-form-urlencoded')) - { - return true; - } - - return false; - } - - /** - * Returns a Nonce Based on the unique id and URL. This will allow for multiple requests in parallel with the same - * exact timestamp to use separate nonce's. - * - * @param RequestInterface $request Request to generate a nonce for - * - * @return string - */ - public function generateNonce(RequestInterface $request) - { - return sha1(uniqid('', true) . $request->getUrl()); - } - - /** - * Gets timestamp from event or create new timestamp - * - * @param Event $event Event containing contextual information - * - * @return int - */ - public function getTimestamp(Event $event) - { - return $event['timestamp'] ?: time(); - } - - /** - * Convert booleans to strings, removed unset parameters, and sorts the array - * - * @param array $data Data array - * - * @return array - */ - protected function prepareParameters($data) - { - ksort($data); - foreach ($data as $key => &$value) { - switch (gettype($value)) { - case 'NULL': - unset($data[$key]); - break; - case 'array': - $data[$key] = self::prepareParameters($value); - break; - case 'boolean': - $data[$key] = $value ? 'true' : 'false'; - break; - } - } - - return $data; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/composer.json deleted file mode 100644 index c9766ba1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "guzzle/plugin-oauth", - "description": "Guzzle OAuth plugin", - "homepage": "http://guzzlephp.org/", - "keywords": ["oauth", "plugin", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/http": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin\\Oauth": "" } - }, - "target-dir": "Guzzle/Plugin/Oauth", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/composer.json deleted file mode 100644 index 2bbe64cc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Plugin/composer.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "guzzle/plugin", - "description": "Guzzle plugin component containing all Guzzle HTTP plugins", - "homepage": "http://guzzlephp.org/", - "keywords": ["http", "client", "plugin", "extension", "guzzle"], - "license": "MIT", - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "require": { - "php": ">=5.3.2", - "guzzle/http": "self.version" - }, - "suggest": { - "guzzle/cache": "self.version", - "guzzle/log": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Plugin": "" } - }, - "target-dir": "Guzzle/Plugin", - "replace": { - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version" - }, - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/AbstractConfigLoader.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/AbstractConfigLoader.php deleted file mode 100644 index cd06f572..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/AbstractConfigLoader.php +++ /dev/null @@ -1,177 +0,0 @@ - 'JSON_ERROR_NONE - No errors', - JSON_ERROR_DEPTH => 'JSON_ERROR_DEPTH - Maximum stack depth exceeded', - JSON_ERROR_STATE_MISMATCH => 'JSON_ERROR_STATE_MISMATCH - Underflow or the modes mismatch', - JSON_ERROR_CTRL_CHAR => 'JSON_ERROR_CTRL_CHAR - Unexpected control character found', - JSON_ERROR_SYNTAX => 'JSON_ERROR_SYNTAX - Syntax error, malformed JSON', - JSON_ERROR_UTF8 => 'JSON_ERROR_UTF8 - Malformed UTF-8 characters, possibly incorrectly encoded' - ); - - public function load($config, array $options = array()) - { - // Reset the array of loaded files because this is a new config - $this->loadedFiles = array(); - - if (is_string($config)) { - $config = $this->loadFile($config); - } elseif (!is_array($config)) { - throw new InvalidArgumentException('Unknown type passed to configuration loader: ' . gettype($config)); - } else { - $this->mergeIncludes($config); - } - - return $this->build($config, $options); - } - - /** - * Add an include alias to the loader - * - * @param string $filename Filename to alias (e.g. _foo) - * @param string $alias Actual file to use (e.g. /path/to/foo.json) - * - * @return self - */ - public function addAlias($filename, $alias) - { - $this->aliases[$filename] = $alias; - - return $this; - } - - /** - * Remove an alias from the loader - * - * @param string $alias Alias to remove - * - * @return self - */ - public function removeAlias($alias) - { - unset($this->aliases[$alias]); - - return $this; - } - - /** - * Perform the parsing of a config file and create the end result - * - * @param array $config Configuration data - * @param array $options Options to use when building - * - * @return mixed - */ - protected abstract function build($config, array $options); - - /** - * Load a configuration file (can load JSON or PHP files that return an array when included) - * - * @param string $filename File to load - * - * @return array - * @throws InvalidArgumentException - * @throws RuntimeException when the JSON cannot be parsed - */ - protected function loadFile($filename) - { - if (isset($this->aliases[$filename])) { - $filename = $this->aliases[$filename]; - } - - switch (pathinfo($filename, PATHINFO_EXTENSION)) { - case 'js': - case 'json': - $level = error_reporting(0); - $json = file_get_contents($filename); - error_reporting($level); - - if ($json === false) { - $err = error_get_last(); - throw new InvalidArgumentException("Unable to open {$filename}: " . $err['message']); - } - - $config = json_decode($json, true); - // Throw an exception if there was an error loading the file - if ($error = json_last_error()) { - $message = isset(self::$jsonErrors[$error]) ? self::$jsonErrors[$error] : 'Unknown error'; - throw new RuntimeException("Error loading JSON data from {$filename}: ({$error}) - {$message}"); - } - break; - case 'php': - if (!is_readable($filename)) { - throw new InvalidArgumentException("Unable to open {$filename} for reading"); - } - $config = require $filename; - if (!is_array($config)) { - throw new InvalidArgumentException('PHP files must return an array of configuration data'); - } - break; - default: - throw new InvalidArgumentException('Unknown file extension: ' . $filename); - } - - // Keep track of this file being loaded to prevent infinite recursion - $this->loadedFiles[$filename] = true; - - // Merge include files into the configuration array - $this->mergeIncludes($config, dirname($filename)); - - return $config; - } - - /** - * Merges in all include files - * - * @param array $config Config data that contains includes - * @param string $basePath Base path to use when a relative path is encountered - * - * @return array Returns the merged and included data - */ - protected function mergeIncludes(&$config, $basePath = null) - { - if (!empty($config['includes'])) { - foreach ($config['includes'] as &$path) { - // Account for relative paths - if ($path[0] != DIRECTORY_SEPARATOR && !isset($this->aliases[$path]) && $basePath) { - $path = "{$basePath}/{$path}"; - } - // Don't load the same files more than once - if (!isset($this->loadedFiles[$path])) { - $this->loadedFiles[$path] = true; - $config = $this->mergeData($this->loadFile($path), $config); - } - } - } - } - - /** - * Default implementation for merging two arrays of data (uses array_merge_recursive) - * - * @param array $a Original data - * @param array $b Data to merge into the original and overwrite existing values - * - * @return array - */ - protected function mergeData(array $a, array $b) - { - return array_merge_recursive($a, $b); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilder.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilder.php deleted file mode 100644 index 38150db4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilder.php +++ /dev/null @@ -1,189 +0,0 @@ -load($config, $globalParameters); - } - - /** - * @param array $serviceBuilderConfig Service configuration settings: - * - name: Name of the service - * - class: Client class to instantiate using a factory method - * - params: array of key value pair configuration settings for the builder - */ - public function __construct(array $serviceBuilderConfig = array()) - { - $this->builderConfig = $serviceBuilderConfig; - } - - public static function getAllEvents() - { - return array('service_builder.create_client'); - } - - public function unserialize($serialized) - { - $this->builderConfig = json_decode($serialized, true); - } - - public function serialize() - { - return json_encode($this->builderConfig); - } - - /** - * Attach a plugin to every client created by the builder - * - * @param EventSubscriberInterface $plugin Plugin to attach to each client - * - * @return self - */ - public function addGlobalPlugin(EventSubscriberInterface $plugin) - { - $this->plugins[] = $plugin; - - return $this; - } - - /** - * Get data from the service builder without triggering the building of a service - * - * @param string $name Name of the service to retrieve - * - * @return array|null - */ - public function getData($name) - { - return isset($this->builderConfig[$name]) ? $this->builderConfig[$name] : null; - } - - public function get($name, $throwAway = false) - { - if (!isset($this->builderConfig[$name])) { - - // Check to see if arbitrary data is being referenced - if (isset($this->clients[$name])) { - return $this->clients[$name]; - } - - // Check aliases and return a match if found - foreach ($this->builderConfig as $actualName => $config) { - if (isset($config['alias']) && $config['alias'] == $name) { - return $this->get($actualName, $throwAway); - } - } - throw new ServiceNotFoundException('No service is registered as ' . $name); - } - - if (!$throwAway && isset($this->clients[$name])) { - return $this->clients[$name]; - } - - $builder =& $this->builderConfig[$name]; - - // Convert references to the actual client - foreach ($builder['params'] as &$v) { - if (is_string($v) && substr($v, 0, 1) == '{' && substr($v, -1) == '}') { - $v = $this->get(trim($v, '{} ')); - } - } - - // Get the configured parameters and merge in any parameters provided for throw-away clients - $config = $builder['params']; - if (is_array($throwAway)) { - $config = $throwAway + $config; - } - - $client = $builder['class']::factory($config); - - if (!$throwAway) { - $this->clients[$name] = $client; - } - - if ($client instanceof ClientInterface) { - foreach ($this->plugins as $plugin) { - $client->addSubscriber($plugin); - } - // Dispatch an event letting listeners know a client was created - $this->dispatch('service_builder.create_client', array('client' => $client)); - } - - return $client; - } - - public function set($key, $service) - { - if (is_array($service) && isset($service['class']) && isset($service['params'])) { - $this->builderConfig[$key] = $service; - } else { - $this->clients[$key] = $service; - } - - return $this; - } - - public function offsetSet($offset, $value) - { - $this->set($offset, $value); - } - - public function offsetUnset($offset) - { - unset($this->builderConfig[$offset]); - unset($this->clients[$offset]); - } - - public function offsetExists($offset) - { - return isset($this->builderConfig[$offset]) || isset($this->clients[$offset]); - } - - public function offsetGet($offset) - { - return $this->get($offset); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilderInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilderInterface.php deleted file mode 100644 index 4fc310a4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilderInterface.php +++ /dev/null @@ -1,40 +0,0 @@ - &$service) { - - $service['params'] = isset($service['params']) ? $service['params'] : array(); - - // Check if this client builder extends another client - if (!empty($service['extends'])) { - - // Make sure that the service it's extending has been defined - if (!isset($services[$service['extends']])) { - throw new ServiceNotFoundException( - "{$name} is trying to extend a non-existent service: {$service['extends']}" - ); - } - - $extended = &$services[$service['extends']]; - - // Use the correct class attribute - if (empty($service['class'])) { - $service['class'] = isset($extended['class']) ? $extended['class'] : ''; - } - if ($extendsParams = isset($extended['params']) ? $extended['params'] : false) { - $service['params'] = $service['params'] + $extendsParams; - } - } - - // Overwrite default values with global parameter values - if (!empty($options)) { - $service['params'] = $options + $service['params']; - } - - $service['class'] = isset($service['class']) ? $service['class'] : ''; - } - - return new $class($services); - } - - protected function mergeData(array $a, array $b) - { - $result = $b + $a; - - // Merge services using a recursive union of arrays - if (isset($a['services']) && $b['services']) { - - // Get a union of the services of the two arrays - $result['services'] = $b['services'] + $a['services']; - - // Merge each service in using a union of the two arrays - foreach ($result['services'] as $name => &$service) { - - // By default, services completely override a previously defined service unless it extends itself - if (isset($a['services'][$name]['extends']) - && isset($b['services'][$name]['extends']) - && $b['services'][$name]['extends'] == $name - ) { - $service += $a['services'][$name]; - // Use the `extends` attribute of the parent - $service['extends'] = $a['services'][$name]['extends']; - // Merge parameters using a union if both have parameters - if (isset($a['services'][$name]['params'])) { - $service['params'] += $a['services'][$name]['params']; - } - } - } - } - - return $result; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/CachingConfigLoader.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/CachingConfigLoader.php deleted file mode 100644 index 26f8360c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/CachingConfigLoader.php +++ /dev/null @@ -1,46 +0,0 @@ -loader = $loader; - $this->cache = $cache; - } - - public function load($config, array $options = array()) - { - if (!is_string($config)) { - $key = false; - } else { - $key = 'loader_' . crc32($config); - if ($result = $this->cache->fetch($key)) { - return $result; - } - } - - $result = $this->loader->load($config, $options); - if ($key) { - $this->cache->save($key, $result); - } - - return $result; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Client.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Client.php deleted file mode 100644 index 3e5f8e53..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Client.php +++ /dev/null @@ -1,297 +0,0 @@ -getCommand($method, isset($args[0]) ? $args[0] : array())->getResult(); - } - - public function getCommand($name, array $args = array()) - { - // Add global client options to the command - if ($options = $this->getConfig(self::COMMAND_PARAMS)) { - $args += $options; - } - - if (!($command = $this->getCommandFactory()->factory($name, $args))) { - throw new InvalidArgumentException("Command was not found matching {$name}"); - } - - $command->setClient($this); - $this->dispatch('client.command.create', array('client' => $this, 'command' => $command)); - - return $command; - } - - /** - * Set the command factory used to create commands by name - * - * @param CommandFactoryInterface $factory Command factory - * - * @return self - */ - public function setCommandFactory(CommandFactoryInterface $factory) - { - $this->commandFactory = $factory; - - return $this; - } - - /** - * Set the resource iterator factory associated with the client - * - * @param ResourceIteratorFactoryInterface $factory Resource iterator factory - * - * @return self - */ - public function setResourceIteratorFactory(ResourceIteratorFactoryInterface $factory) - { - $this->resourceIteratorFactory = $factory; - - return $this; - } - - public function getIterator($command, array $commandOptions = null, array $iteratorOptions = array()) - { - if (!($command instanceof CommandInterface)) { - $command = $this->getCommand($command, $commandOptions ?: array()); - } - - return $this->getResourceIteratorFactory()->build($command, $iteratorOptions); - } - - public function execute($command) - { - if ($command instanceof CommandInterface) { - $this->send($this->prepareCommand($command)); - $this->dispatch('command.after_send', array('command' => $command)); - return $command->getResult(); - } elseif (is_array($command) || $command instanceof \Traversable) { - return $this->executeMultiple($command); - } else { - throw new InvalidArgumentException('Command must be a command or array of commands'); - } - } - - public function setDescription(ServiceDescriptionInterface $service) - { - $this->serviceDescription = $service; - - if ($this->getCommandFactory() && $this->getCommandFactory() instanceof CompositeFactory) { - $this->commandFactory->add(new Command\Factory\ServiceDescriptionFactory($service)); - } - - // If a baseUrl was set on the description, then update the client - if ($baseUrl = $service->getBaseUrl()) { - $this->setBaseUrl($baseUrl); - } - - return $this; - } - - public function getDescription() - { - return $this->serviceDescription; - } - - /** - * Set the inflector used with the client - * - * @param InflectorInterface $inflector Inflection object - * - * @return self - */ - public function setInflector(InflectorInterface $inflector) - { - $this->inflector = $inflector; - - return $this; - } - - /** - * Get the inflector used with the client - * - * @return self - */ - public function getInflector() - { - if (!$this->inflector) { - $this->inflector = Inflector::getDefault(); - } - - return $this->inflector; - } - - /** - * Prepare a command for sending and get the RequestInterface object created by the command - * - * @param CommandInterface $command Command to prepare - * - * @return RequestInterface - */ - protected function prepareCommand(CommandInterface $command) - { - // Set the client and prepare the command - $request = $command->setClient($this)->prepare(); - // Set the state to new if the command was previously executed - $request->setState(RequestInterface::STATE_NEW); - $this->dispatch('command.before_send', array('command' => $command)); - - return $request; - } - - /** - * Execute multiple commands in parallel - * - * @param array|Traversable $commands Array of CommandInterface objects to execute - * - * @return array Returns an array of the executed commands - * @throws Exception\CommandTransferException - */ - protected function executeMultiple($commands) - { - $requests = array(); - $commandRequests = new \SplObjectStorage(); - - foreach ($commands as $command) { - $request = $this->prepareCommand($command); - $commandRequests[$request] = $command; - $requests[] = $request; - } - - try { - $this->send($requests); - foreach ($commands as $command) { - $this->dispatch('command.after_send', array('command' => $command)); - } - return $commands; - } catch (MultiTransferException $failureException) { - // Throw a CommandTransferException using the successful and failed commands - $e = CommandTransferException::fromMultiTransferException($failureException); - - // Remove failed requests from the successful requests array and add to the failures array - foreach ($failureException->getFailedRequests() as $request) { - if (isset($commandRequests[$request])) { - $e->addFailedCommand($commandRequests[$request]); - unset($commandRequests[$request]); - } - } - - // Always emit the command after_send events for successful commands - foreach ($commandRequests as $success) { - $e->addSuccessfulCommand($commandRequests[$success]); - $this->dispatch('command.after_send', array('command' => $commandRequests[$success])); - } - - throw $e; - } - } - - protected function getResourceIteratorFactory() - { - if (!$this->resourceIteratorFactory) { - // Build the default resource iterator factory if one is not set - $clientClass = get_class($this); - $prefix = substr($clientClass, 0, strrpos($clientClass, '\\')); - $this->resourceIteratorFactory = new ResourceIteratorClassFactory(array( - "{$prefix}\\Iterator", - "{$prefix}\\Model" - )); - } - - return $this->resourceIteratorFactory; - } - - /** - * Get the command factory associated with the client - * - * @return CommandFactoryInterface - */ - protected function getCommandFactory() - { - if (!$this->commandFactory) { - $this->commandFactory = CompositeFactory::getDefaultChain($this); - } - - return $this->commandFactory; - } - - /** - * @deprecated - * @codeCoverageIgnore - */ - public function enableMagicMethods($isEnabled) - { - Version::warn(__METHOD__ . ' is deprecated'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php deleted file mode 100644 index 814154f0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php +++ /dev/null @@ -1,68 +0,0 @@ -operation = $operation ?: $this->createOperation(); - foreach ($this->operation->getParams() as $name => $arg) { - $currentValue = $this[$name]; - $configValue = $arg->getValue($currentValue); - // If default or static values are set, then this should always be updated on the config object - if ($currentValue !== $configValue) { - $this[$name] = $configValue; - } - } - - $headers = $this[self::HEADERS_OPTION]; - if (!$headers instanceof Collection) { - $this[self::HEADERS_OPTION] = new Collection((array) $headers); - } - - // You can set a command.on_complete option in your parameters to set an onComplete callback - if ($onComplete = $this['command.on_complete']) { - unset($this['command.on_complete']); - $this->setOnComplete($onComplete); - } - - // Set the hidden additional parameters - if (!$this[self::HIDDEN_PARAMS]) { - $this[self::HIDDEN_PARAMS] = array( - self::HEADERS_OPTION, - self::RESPONSE_PROCESSING, - self::HIDDEN_PARAMS, - self::REQUEST_OPTIONS - ); - } - - $this->init(); - } - - /** - * Custom clone behavior - */ - public function __clone() - { - $this->request = null; - $this->result = null; - } - - /** - * Execute the command in the same manner as calling a function - * - * @return mixed Returns the result of {@see AbstractCommand::execute} - */ - public function __invoke() - { - return $this->execute(); - } - - public function getName() - { - return $this->operation->getName(); - } - - /** - * Get the API command information about the command - * - * @return OperationInterface - */ - public function getOperation() - { - return $this->operation; - } - - public function setOnComplete($callable) - { - if (!is_callable($callable)) { - throw new InvalidArgumentException('The onComplete function must be callable'); - } - - $this->onComplete = $callable; - - return $this; - } - - public function execute() - { - if (!$this->client) { - throw new CommandException('A client must be associated with the command before it can be executed.'); - } - - return $this->client->execute($this); - } - - public function getClient() - { - return $this->client; - } - - public function setClient(ClientInterface $client) - { - $this->client = $client; - - return $this; - } - - public function getRequest() - { - if (!$this->request) { - throw new CommandException('The command must be prepared before retrieving the request'); - } - - return $this->request; - } - - public function getResponse() - { - if (!$this->isExecuted()) { - $this->execute(); - } - - return $this->request->getResponse(); - } - - public function getResult() - { - if (!$this->isExecuted()) { - $this->execute(); - } - - if (null === $this->result) { - $this->process(); - // Call the onComplete method if one is set - if ($this->onComplete) { - call_user_func($this->onComplete, $this); - } - } - - return $this->result; - } - - public function setResult($result) - { - $this->result = $result; - - return $this; - } - - public function isPrepared() - { - return $this->request !== null; - } - - public function isExecuted() - { - return $this->request !== null && $this->request->getState() == 'complete'; - } - - public function prepare() - { - if (!$this->isPrepared()) { - if (!$this->client) { - throw new CommandException('A client must be associated with the command before it can be prepared.'); - } - - // If no response processing value was specified, then attempt to use the highest level of processing - if (!isset($this[self::RESPONSE_PROCESSING])) { - $this[self::RESPONSE_PROCESSING] = self::TYPE_MODEL; - } - - // Notify subscribers of the client that the command is being prepared - $this->client->dispatch('command.before_prepare', array('command' => $this)); - - // Fail on missing required arguments, and change parameters via filters - $this->validate(); - // Delegate to the subclass that implements the build method - $this->build(); - - // Add custom request headers set on the command - if ($headers = $this[self::HEADERS_OPTION]) { - foreach ($headers as $key => $value) { - $this->request->setHeader($key, $value); - } - } - - // Add any curl options to the request - if ($options = $this[Client::CURL_OPTIONS]) { - $this->request->getCurlOptions()->overwriteWith(CurlHandle::parseCurlConfig($options)); - } - - // Set a custom response body - if ($responseBody = $this[self::RESPONSE_BODY]) { - $this->request->setResponseBody($responseBody); - } - - $this->client->dispatch('command.after_prepare', array('command' => $this)); - } - - return $this->request; - } - - /** - * Set the validator used to validate and prepare command parameters and nested JSON schemas. If no validator is - * set, then the command will validate using the default {@see SchemaValidator}. - * - * @param ValidatorInterface $validator Validator used to prepare and validate properties against a JSON schema - * - * @return self - */ - public function setValidator(ValidatorInterface $validator) - { - $this->validator = $validator; - - return $this; - } - - public function getRequestHeaders() - { - return $this[self::HEADERS_OPTION]; - } - - /** - * Initialize the command (hook that can be implemented in subclasses) - */ - protected function init() {} - - /** - * Create the request object that will carry out the command - */ - abstract protected function build(); - - /** - * Hook used to create an operation for concrete commands that are not associated with a service description - * - * @return OperationInterface - */ - protected function createOperation() - { - return new Operation(array('name' => get_class($this))); - } - - /** - * Create the result of the command after the request has been completed. - * Override this method in subclasses to customize this behavior - */ - protected function process() - { - $this->result = $this[self::RESPONSE_PROCESSING] != self::TYPE_RAW - ? DefaultResponseParser::getInstance()->parse($this) - : $this->request->getResponse(); - } - - /** - * Validate and prepare the command based on the schema and rules defined by the command's Operation object - * - * @throws ValidationException when validation errors occur - */ - protected function validate() - { - // Do not perform request validation/transformation if it is disable - if ($this[self::DISABLE_VALIDATION]) { - return; - } - - $errors = array(); - $validator = $this->getValidator(); - foreach ($this->operation->getParams() as $name => $schema) { - $value = $this[$name]; - if (!$validator->validate($schema, $value)) { - $errors = array_merge($errors, $validator->getErrors()); - } elseif ($value !== $this[$name]) { - // Update the config value if it changed and no validation errors were encountered - $this->data[$name] = $value; - } - } - - // Validate additional parameters - $hidden = $this[self::HIDDEN_PARAMS]; - - if ($properties = $this->operation->getAdditionalParameters()) { - foreach ($this->toArray() as $name => $value) { - // It's only additional if it isn't defined in the schema - if (!$this->operation->hasParam($name) && !in_array($name, $hidden)) { - // Always set the name so that error messages are useful - $properties->setName($name); - if (!$validator->validate($properties, $value)) { - $errors = array_merge($errors, $validator->getErrors()); - } elseif ($value !== $this[$name]) { - $this->data[$name] = $value; - } - } - } - } - - if (!empty($errors)) { - $e = new ValidationException('Validation errors: ' . implode("\n", $errors)); - $e->setErrors($errors); - throw $e; - } - } - - /** - * Get the validator used to prepare and validate properties. If no validator has been set on the command, then - * the default {@see SchemaValidator} will be used. - * - * @return ValidatorInterface - */ - protected function getValidator() - { - if (!$this->validator) { - $this->validator = SchemaValidator::getInstance(); - } - - return $this->validator; - } - - /** - * Get array of any validation errors - * If no validator has been set then return false - */ - public function getValidationErrors() - { - if (!$this->validator) { - return false; - } - - return $this->validator->getErrors(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/ClosureCommand.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/ClosureCommand.php deleted file mode 100644 index cb6ac40c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/ClosureCommand.php +++ /dev/null @@ -1,41 +0,0 @@ -request = $closure($this, $this->operation); - - if (!$this->request || !$this->request instanceof RequestInterface) { - throw new UnexpectedValueException('Closure command did not return a RequestInterface object'); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/CommandInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/CommandInterface.php deleted file mode 100644 index fbb61d2f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/CommandInterface.php +++ /dev/null @@ -1,128 +0,0 @@ -stopPropagation(); - } - - /** - * Get the created object - * - * @return mixed - */ - public function getResult() - { - return $this['result']; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/DefaultRequestSerializer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/DefaultRequestSerializer.php deleted file mode 100644 index 2dc4acd3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/DefaultRequestSerializer.php +++ /dev/null @@ -1,169 +0,0 @@ -factory = $factory; - } - - /** - * Add a location visitor to the serializer - * - * @param string $location Location to associate with the visitor - * @param RequestVisitorInterface $visitor Visitor to attach - * - * @return self - */ - public function addVisitor($location, RequestVisitorInterface $visitor) - { - $this->factory->addRequestVisitor($location, $visitor); - - return $this; - } - - public function prepare(CommandInterface $command) - { - $request = $this->createRequest($command); - // Keep an array of visitors found in the operation - $foundVisitors = array(); - $operation = $command->getOperation(); - - // Add arguments to the request using the location attribute - foreach ($operation->getParams() as $name => $arg) { - /** @var $arg \Guzzle\Service\Description\Parameter */ - $location = $arg->getLocation(); - // Skip 'uri' locations because they've already been processed - if ($location && $location != 'uri') { - // Instantiate visitors as they are detected in the properties - if (!isset($foundVisitors[$location])) { - $foundVisitors[$location] = $this->factory->getRequestVisitor($location); - } - // Ensure that a value has been set for this parameter - $value = $command[$name]; - if ($value !== null) { - // Apply the parameter value with the location visitor - $foundVisitors[$location]->visit($command, $request, $arg, $value); - } - } - } - - // Serialize additional parameters - if ($additional = $operation->getAdditionalParameters()) { - if ($visitor = $this->prepareAdditionalParameters($operation, $command, $request, $additional)) { - $foundVisitors[$additional->getLocation()] = $visitor; - } - } - - // Call the after method on each visitor found in the operation - foreach ($foundVisitors as $visitor) { - $visitor->after($command, $request); - } - - return $request; - } - - /** - * Serialize additional parameters - * - * @param OperationInterface $operation Operation that owns the command - * @param CommandInterface $command Command to prepare - * @param RequestInterface $request Request to serialize - * @param Parameter $additional Additional parameters - * - * @return null|RequestVisitorInterface - */ - protected function prepareAdditionalParameters( - OperationInterface $operation, - CommandInterface $command, - RequestInterface $request, - Parameter $additional - ) { - if (!($location = $additional->getLocation())) { - return; - } - - $visitor = $this->factory->getRequestVisitor($location); - $hidden = $command[$command::HIDDEN_PARAMS]; - - foreach ($command->toArray() as $key => $value) { - // Ignore values that are null or built-in command options - if ($value !== null - && !in_array($key, $hidden) - && !$operation->hasParam($key) - ) { - $additional->setName($key); - $visitor->visit($command, $request, $additional, $value); - } - } - - return $visitor; - } - - /** - * Create a request for the command and operation - * - * @param CommandInterface $command Command to create a request for - * - * @return RequestInterface - */ - protected function createRequest(CommandInterface $command) - { - $operation = $command->getOperation(); - $client = $command->getClient(); - $options = $command[AbstractCommand::REQUEST_OPTIONS] ?: array(); - - // If the command does not specify a template, then assume the base URL of the client - if (!($uri = $operation->getUri())) { - return $client->createRequest($operation->getHttpMethod(), $client->getBaseUrl(), null, null, $options); - } - - // Get the path values and use the client config settings - $variables = array(); - foreach ($operation->getParams() as $name => $arg) { - if ($arg->getLocation() == 'uri') { - if (isset($command[$name])) { - $variables[$name] = $arg->filter($command[$name]); - if (!is_array($variables[$name])) { - $variables[$name] = (string) $variables[$name]; - } - } - } - } - - return $client->createRequest($operation->getHttpMethod(), array($uri, $variables), null, null, $options); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/DefaultResponseParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/DefaultResponseParser.php deleted file mode 100644 index 4fe38037..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/DefaultResponseParser.php +++ /dev/null @@ -1,55 +0,0 @@ -getRequest()->getResponse(); - - // Account for hard coded content-type values specified in service descriptions - if ($contentType = $command['command.expects']) { - $response->setHeader('Content-Type', $contentType); - } else { - $contentType = (string) $response->getHeader('Content-Type'); - } - - return $this->handleParsing($command, $response, $contentType); - } - - protected function handleParsing(CommandInterface $command, Response $response, $contentType) - { - $result = $response; - if ($result->getBody()) { - if (stripos($contentType, 'json') !== false) { - $result = $result->json(); - } elseif (stripos($contentType, 'xml') !== false) { - $result = $result->xml(); - } - } - - return $result; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/AliasFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/AliasFactory.php deleted file mode 100644 index 1c5ce074..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/AliasFactory.php +++ /dev/null @@ -1,39 +0,0 @@ -client = $client; - $this->aliases = $aliases; - } - - public function factory($name, array $args = array()) - { - if (isset($this->aliases[$name])) { - try { - return $this->client->getCommand($this->aliases[$name], $args); - } catch (InvalidArgumentException $e) { - return null; - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/CompositeFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/CompositeFactory.php deleted file mode 100644 index 8c46983d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/CompositeFactory.php +++ /dev/null @@ -1,154 +0,0 @@ -getDescription()) { - $factories[] = new ServiceDescriptionFactory($description); - } - $factories[] = new ConcreteClassFactory($client); - - return new self($factories); - } - - /** - * @param array $factories Array of command factories - */ - public function __construct(array $factories = array()) - { - $this->factories = $factories; - } - - /** - * Add a command factory to the chain - * - * @param FactoryInterface $factory Factory to add - * @param string|FactoryInterface $before Insert the new command factory before a command factory class or object - * matching a class name. - * @return CompositeFactory - */ - public function add(FactoryInterface $factory, $before = null) - { - $pos = null; - - if ($before) { - foreach ($this->factories as $i => $f) { - if ($before instanceof FactoryInterface) { - if ($f === $before) { - $pos = $i; - break; - } - } elseif (is_string($before)) { - if ($f instanceof $before) { - $pos = $i; - break; - } - } - } - } - - if ($pos === null) { - $this->factories[] = $factory; - } else { - array_splice($this->factories, $i, 0, array($factory)); - } - - return $this; - } - - /** - * Check if the chain contains a specific command factory - * - * @param FactoryInterface|string $factory Factory to check - * - * @return bool - */ - public function has($factory) - { - return (bool) $this->find($factory); - } - - /** - * Remove a specific command factory from the chain - * - * @param string|FactoryInterface $factory Factory to remove by name or instance - * - * @return CompositeFactory - */ - public function remove($factory = null) - { - if (!($factory instanceof FactoryInterface)) { - $factory = $this->find($factory); - } - - $this->factories = array_values(array_filter($this->factories, function($f) use ($factory) { - return $f !== $factory; - })); - - return $this; - } - - /** - * Get a command factory by class name - * - * @param string|FactoryInterface $factory Command factory class or instance - * - * @return null|FactoryInterface - */ - public function find($factory) - { - foreach ($this->factories as $f) { - if ($factory === $f || (is_string($factory) && $f instanceof $factory)) { - return $f; - } - } - } - - /** - * Create a command using the associated command factories - * - * @param string $name Name of the command - * @param array $args Command arguments - * - * @return CommandInterface - */ - public function factory($name, array $args = array()) - { - foreach ($this->factories as $factory) { - $command = $factory->factory($name, $args); - if ($command) { - return $command; - } - } - } - - public function count() - { - return count($this->factories); - } - - public function getIterator() - { - return new \ArrayIterator($this->factories); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ConcreteClassFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ConcreteClassFactory.php deleted file mode 100644 index 0e93deaa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ConcreteClassFactory.php +++ /dev/null @@ -1,47 +0,0 @@ -client = $client; - $this->inflector = $inflector ?: Inflector::getDefault(); - } - - public function factory($name, array $args = array()) - { - // Determine the class to instantiate based on the namespace of the current client and the default directory - $prefix = $this->client->getConfig('command.prefix'); - if (!$prefix) { - // The prefix can be specified in a factory method and is cached - $prefix = implode('\\', array_slice(explode('\\', get_class($this->client)), 0, -1)) . '\\Command\\'; - $this->client->getConfig()->set('command.prefix', $prefix); - } - - $class = $prefix . str_replace(' ', '\\', ucwords(str_replace('.', ' ', $this->inflector->camel($name)))); - - // Create the concrete command if it exists - if (class_exists($class)) { - return new $class($args); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/FactoryInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/FactoryInterface.php deleted file mode 100644 index 35c299d9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/FactoryInterface.php +++ /dev/null @@ -1,21 +0,0 @@ -map = $map; - } - - public function factory($name, array $args = array()) - { - if (isset($this->map[$name])) { - $class = $this->map[$name]; - - return new $class($args); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ServiceDescriptionFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ServiceDescriptionFactory.php deleted file mode 100644 index b943a5b5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ServiceDescriptionFactory.php +++ /dev/null @@ -1,71 +0,0 @@ -setServiceDescription($description); - $this->inflector = $inflector; - } - - /** - * Change the service description used with the factory - * - * @param ServiceDescriptionInterface $description Service description to use - * - * @return FactoryInterface - */ - public function setServiceDescription(ServiceDescriptionInterface $description) - { - $this->description = $description; - - return $this; - } - - /** - * Returns the service description - * - * @return ServiceDescriptionInterface - */ - public function getServiceDescription() - { - return $this->description; - } - - public function factory($name, array $args = array()) - { - $command = $this->description->getOperation($name); - - // If a command wasn't found, then try to uppercase the first letter and try again - if (!$command) { - $command = $this->description->getOperation(ucfirst($name)); - // If an inflector was passed, then attempt to get the command using snake_case inflection - if (!$command && $this->inflector) { - $command = $this->description->getOperation($this->inflector->snake($name)); - } - } - - if ($command) { - $class = $command->getClass(); - return new $class($args, $command, $this->description); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/AbstractRequestVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/AbstractRequestVisitor.php deleted file mode 100644 index adcfca1b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/AbstractRequestVisitor.php +++ /dev/null @@ -1,69 +0,0 @@ -resolveRecursively($value, $param) - : $param->filter($value); - } - - /** - * Map nested parameters into the location_key based parameters - * - * @param array $value Value to map - * @param Parameter $param Parameter that holds information about the current key - * - * @return array Returns the mapped array - */ - protected function resolveRecursively(array $value, Parameter $param) - { - foreach ($value as $name => &$v) { - switch ($param->getType()) { - case 'object': - if ($subParam = $param->getProperty($name)) { - $key = $subParam->getWireName(); - $value[$key] = $this->prepareValue($v, $subParam); - if ($name != $key) { - unset($value[$name]); - } - } elseif ($param->getAdditionalProperties() instanceof Parameter) { - $v = $this->prepareValue($v, $param->getAdditionalProperties()); - } - break; - case 'array': - if ($items = $param->getItems()) { - $v = $this->prepareValue($v, $items); - } - break; - } - } - - return $param->filter($value); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/BodyVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/BodyVisitor.php deleted file mode 100644 index 168d7806..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/BodyVisitor.php +++ /dev/null @@ -1,58 +0,0 @@ -filter($value); - $entityBody = EntityBody::factory($value); - $request->setBody($entityBody); - $this->addExpectHeader($request, $entityBody, $param->getData('expect_header')); - // Add the Content-Encoding header if one is set on the EntityBody - if ($encoding = $entityBody->getContentEncoding()) { - $request->setHeader('Content-Encoding', $encoding); - } - } - - /** - * Add the appropriate expect header to a request - * - * @param EntityEnclosingRequestInterface $request Request to update - * @param EntityBodyInterface $body Entity body of the request - * @param string|int $expect Expect header setting - */ - protected function addExpectHeader(EntityEnclosingRequestInterface $request, EntityBodyInterface $body, $expect) - { - // Allow the `expect` data parameter to be set to remove the Expect header from the request - if ($expect === false) { - $request->removeHeader('Expect'); - } elseif ($expect !== true) { - // Default to using a MB as the point in which to start using the expect header - $expect = $expect ?: 1048576; - // If the expect_header value is numeric then only add if the size is greater than the cutoff - if (is_numeric($expect) && $body->getSize()) { - if ($body->getSize() < $expect) { - $request->removeHeader('Expect'); - } else { - $request->setHeader('Expect', '100-Continue'); - } - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/HeaderVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/HeaderVisitor.php deleted file mode 100644 index 2a537542..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/HeaderVisitor.php +++ /dev/null @@ -1,44 +0,0 @@ -filter($value); - if ($param->getType() == 'object' && $param->getAdditionalProperties() instanceof Parameter) { - $this->addPrefixedHeaders($request, $param, $value); - } else { - $request->setHeader($param->getWireName(), $value); - } - } - - /** - * Add a prefixed array of headers to the request - * - * @param RequestInterface $request Request to update - * @param Parameter $param Parameter object - * @param array $value Header array to add - * - * @throws InvalidArgumentException - */ - protected function addPrefixedHeaders(RequestInterface $request, Parameter $param, $value) - { - if (!is_array($value)) { - throw new InvalidArgumentException('An array of mapped headers expected, but received a single value'); - } - $prefix = $param->getSentAs(); - foreach ($value as $headerName => $headerValue) { - $request->setHeader($prefix . $headerName, $headerValue); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/JsonVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/JsonVisitor.php deleted file mode 100644 index 757e1c52..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/JsonVisitor.php +++ /dev/null @@ -1,63 +0,0 @@ -data = new \SplObjectStorage(); - } - - /** - * Set the Content-Type header to add to the request if JSON is added to the body. This visitor does not add a - * Content-Type header unless you specify one here. - * - * @param string $header Header to set when JSON is added (e.g. application/json) - * - * @return self - */ - public function setContentTypeHeader($header = 'application/json') - { - $this->jsonContentType = $header; - - return $this; - } - - public function visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value) - { - if (isset($this->data[$command])) { - $json = $this->data[$command]; - } else { - $json = array(); - } - $json[$param->getWireName()] = $this->prepareValue($value, $param); - $this->data[$command] = $json; - } - - public function after(CommandInterface $command, RequestInterface $request) - { - if (isset($this->data[$command])) { - // Don't overwrite the Content-Type if one is set - if ($this->jsonContentType && !$request->hasHeader('Content-Type')) { - $request->setHeader('Content-Type', $this->jsonContentType); - } - - $request->setBody(json_encode($this->data[$command])); - unset($this->data[$command]); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFieldVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFieldVisitor.php deleted file mode 100644 index 975850b7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFieldVisitor.php +++ /dev/null @@ -1,18 +0,0 @@ -setPostField($param->getWireName(), $this->prepareValue($value, $param)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFileVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFileVisitor.php deleted file mode 100644 index 0853ebe6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFileVisitor.php +++ /dev/null @@ -1,24 +0,0 @@ -filter($value); - if ($value instanceof PostFileInterface) { - $request->addPostFile($value); - } else { - $request->addPostFile($param->getWireName(), $value); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/QueryVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/QueryVisitor.php deleted file mode 100644 index 315877aa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/QueryVisitor.php +++ /dev/null @@ -1,18 +0,0 @@ -getQuery()->set($param->getWireName(), $this->prepareValue($value, $param)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/RequestVisitorInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/RequestVisitorInterface.php deleted file mode 100644 index 14e0b2d2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/RequestVisitorInterface.php +++ /dev/null @@ -1,31 +0,0 @@ -setResponseBody($value); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/XmlVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/XmlVisitor.php deleted file mode 100644 index 5b714878..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/XmlVisitor.php +++ /dev/null @@ -1,252 +0,0 @@ -data = new \SplObjectStorage(); - } - - /** - * Change the content-type header that is added when XML is found - * - * @param string $header Header to set when XML is found - * - * @return self - */ - public function setContentTypeHeader($header) - { - $this->contentType = $header; - - return $this; - } - - public function visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value) - { - $xml = isset($this->data[$command]) - ? $this->data[$command] - : $this->createRootElement($param->getParent()); - $this->addXml($xml, $param, $value); - - $this->data[$command] = $xml; - } - - public function after(CommandInterface $command, RequestInterface $request) - { - $xml = null; - - // If data was found that needs to be serialized, then do so - if (isset($this->data[$command])) { - $xml = $this->finishDocument($this->data[$command]); - unset($this->data[$command]); - } else { - // Check if XML should always be sent for the command - $operation = $command->getOperation(); - if ($operation->getData('xmlAllowEmpty')) { - $xmlWriter = $this->createRootElement($operation); - $xml = $this->finishDocument($xmlWriter); - } - } - - if ($xml) { - // Don't overwrite the Content-Type if one is set - if ($this->contentType && !$request->hasHeader('Content-Type')) { - $request->setHeader('Content-Type', $this->contentType); - } - $request->setBody($xml); - } - } - - /** - * Create the root XML element to use with a request - * - * @param Operation $operation Operation object - * - * @return \XMLWriter - */ - protected function createRootElement(Operation $operation) - { - static $defaultRoot = array('name' => 'Request'); - // If no root element was specified, then just wrap the XML in 'Request' - $root = $operation->getData('xmlRoot') ?: $defaultRoot; - // Allow the XML declaration to be customized with xmlEncoding - $encoding = $operation->getData('xmlEncoding'); - - $xmlWriter = $this->startDocument($encoding); - - $xmlWriter->startElement($root['name']); - // Create the wrapping element with no namespaces if no namespaces were present - if (!empty($root['namespaces'])) { - // Create the wrapping element with an array of one or more namespaces - foreach ((array) $root['namespaces'] as $prefix => $uri) { - $nsLabel = 'xmlns'; - if (!is_numeric($prefix)) { - $nsLabel .= ':'.$prefix; - } - $xmlWriter->writeAttribute($nsLabel, $uri); - } - } - return $xmlWriter; - } - - /** - * Recursively build the XML body - * - * @param \XMLWriter $xmlWriter XML to modify - * @param Parameter $param API Parameter - * @param mixed $value Value to add - */ - protected function addXml(\XMLWriter $xmlWriter, Parameter $param, $value) - { - if ($value === null) { - return; - } - - $value = $param->filter($value); - $type = $param->getType(); - $name = $param->getWireName(); - $prefix = null; - $namespace = $param->getData('xmlNamespace'); - if (false !== strpos($name, ':')) { - list($prefix, $name) = explode(':', $name, 2); - } - - if ($type == 'object' || $type == 'array') { - if (!$param->getData('xmlFlattened')) { - $xmlWriter->startElementNS(null, $name, $namespace); - } - if ($param->getType() == 'array') { - $this->addXmlArray($xmlWriter, $param, $value); - } elseif ($param->getType() == 'object') { - $this->addXmlObject($xmlWriter, $param, $value); - } - if (!$param->getData('xmlFlattened')) { - $xmlWriter->endElement(); - } - return; - } - if ($param->getData('xmlAttribute')) { - $this->writeAttribute($xmlWriter, $prefix, $name, $namespace, $value); - } else { - $this->writeElement($xmlWriter, $prefix, $name, $namespace, $value); - } - } - - /** - * Write an attribute with namespace if used - * - * @param \XMLWriter $xmlWriter XMLWriter instance - * @param string $prefix Namespace prefix if any - * @param string $name Attribute name - * @param string $namespace The uri of the namespace - * @param string $value The attribute content - */ - protected function writeAttribute($xmlWriter, $prefix, $name, $namespace, $value) - { - if (empty($namespace)) { - $xmlWriter->writeAttribute($name, $value); - } else { - $xmlWriter->writeAttributeNS($prefix, $name, $namespace, $value); - } - } - - /** - * Write an element with namespace if used - * - * @param \XMLWriter $xmlWriter XML writer resource - * @param string $prefix Namespace prefix if any - * @param string $name Element name - * @param string $namespace The uri of the namespace - * @param string $value The element content - */ - protected function writeElement(\XMLWriter $xmlWriter, $prefix, $name, $namespace, $value) - { - $xmlWriter->startElementNS($prefix, $name, $namespace); - if (strpbrk($value, '<>&')) { - $xmlWriter->writeCData($value); - } else { - $xmlWriter->writeRaw($value); - } - $xmlWriter->endElement(); - } - - /** - * Create a new xml writer and start a document - * - * @param string $encoding document encoding - * - * @return \XMLWriter the writer resource - */ - protected function startDocument($encoding) - { - $xmlWriter = new \XMLWriter(); - $xmlWriter->openMemory(); - $xmlWriter->startDocument('1.0', $encoding); - - return $xmlWriter; - } - - /** - * End the document and return the output - * - * @param \XMLWriter $xmlWriter - * - * @return \string the writer resource - */ - protected function finishDocument($xmlWriter) - { - $xmlWriter->endDocument(); - - return $xmlWriter->outputMemory(); - } - - /** - * Add an array to the XML - */ - protected function addXmlArray(\XMLWriter $xmlWriter, Parameter $param, &$value) - { - if ($items = $param->getItems()) { - foreach ($value as $v) { - $this->addXml($xmlWriter, $items, $v); - } - } - } - - /** - * Add an object to the XML - */ - protected function addXmlObject(\XMLWriter $xmlWriter, Parameter $param, &$value) - { - $noAttributes = array(); - // add values which have attributes - foreach ($value as $name => $v) { - if ($property = $param->getProperty($name)) { - if ($property->getData('xmlAttribute')) { - $this->addXml($xmlWriter, $property, $v); - } else { - $noAttributes[] = array('value' => $v, 'property' => $property); - } - } - } - // now add values with no attributes - foreach ($noAttributes as $element) { - $this->addXml($xmlWriter, $element['property'], $element['value']); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/AbstractResponseVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/AbstractResponseVisitor.php deleted file mode 100644 index d87eeb94..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/AbstractResponseVisitor.php +++ /dev/null @@ -1,26 +0,0 @@ -getName()] = $param->filter($response->getBody()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/HeaderVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/HeaderVisitor.php deleted file mode 100644 index 0f8737cb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/HeaderVisitor.php +++ /dev/null @@ -1,50 +0,0 @@ -getType() == 'object' && $param->getAdditionalProperties() instanceof Parameter) { - $this->processPrefixedHeaders($response, $param, $value); - } else { - $value[$param->getName()] = $param->filter((string) $response->getHeader($param->getWireName())); - } - } - - /** - * Process a prefixed header array - * - * @param Response $response Response that contains the headers - * @param Parameter $param Parameter object - * @param array $value Value response array to modify - */ - protected function processPrefixedHeaders(Response $response, Parameter $param, &$value) - { - // Grab prefixed headers that should be placed into an array with the prefix stripped - if ($prefix = $param->getSentAs()) { - $container = $param->getName(); - $len = strlen($prefix); - // Find all matching headers and place them into the containing element - foreach ($response->getHeaders()->toArray() as $key => $header) { - if (stripos($key, $prefix) === 0) { - // Account for multi-value headers - $value[$container][substr($key, $len)] = count($header) == 1 ? end($header) : $header; - } - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/JsonVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/JsonVisitor.php deleted file mode 100644 index a609ebd8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/JsonVisitor.php +++ /dev/null @@ -1,93 +0,0 @@ -getResponse()->json(); - } - - public function visit( - CommandInterface $command, - Response $response, - Parameter $param, - &$value, - $context = null - ) { - $name = $param->getName(); - $key = $param->getWireName(); - if (isset($value[$key])) { - $this->recursiveProcess($param, $value[$key]); - if ($key != $name) { - $value[$name] = $value[$key]; - unset($value[$key]); - } - } - } - - /** - * Recursively process a parameter while applying filters - * - * @param Parameter $param API parameter being validated - * @param mixed $value Value to validate and process. The value may change during this process. - */ - protected function recursiveProcess(Parameter $param, &$value) - { - if ($value === null) { - return; - } - - if (is_array($value)) { - $type = $param->getType(); - if ($type == 'array') { - foreach ($value as &$item) { - $this->recursiveProcess($param->getItems(), $item); - } - } elseif ($type == 'object' && !isset($value[0])) { - // On the above line, we ensure that the array is associative and not numerically indexed - $knownProperties = array(); - if ($properties = $param->getProperties()) { - foreach ($properties as $property) { - $name = $property->getName(); - $key = $property->getWireName(); - $knownProperties[$name] = 1; - if (isset($value[$key])) { - $this->recursiveProcess($property, $value[$key]); - if ($key != $name) { - $value[$name] = $value[$key]; - unset($value[$key]); - } - } - } - } - - // Remove any unknown and potentially unsafe properties - if ($param->getAdditionalProperties() === false) { - $value = array_intersect_key($value, $knownProperties); - } elseif (($additional = $param->getAdditionalProperties()) !== true) { - // Validate and filter additional properties - foreach ($value as &$v) { - $this->recursiveProcess($additional, $v); - } - } - } - } - - $value = $param->filter($value); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ReasonPhraseVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ReasonPhraseVisitor.php deleted file mode 100644 index 1b10ebce..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ReasonPhraseVisitor.php +++ /dev/null @@ -1,23 +0,0 @@ -getName()] = $response->getReasonPhrase(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ResponseVisitorInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ResponseVisitorInterface.php deleted file mode 100644 index 033f40c3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ResponseVisitorInterface.php +++ /dev/null @@ -1,46 +0,0 @@ -getName()] = $response->getStatusCode(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/XmlVisitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/XmlVisitor.php deleted file mode 100644 index bb7124be..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/XmlVisitor.php +++ /dev/null @@ -1,151 +0,0 @@ -getResponse()->xml()), true); - } - - public function visit( - CommandInterface $command, - Response $response, - Parameter $param, - &$value, - $context = null - ) { - $sentAs = $param->getWireName(); - $name = $param->getName(); - if (isset($value[$sentAs])) { - $this->recursiveProcess($param, $value[$sentAs]); - if ($name != $sentAs) { - $value[$name] = $value[$sentAs]; - unset($value[$sentAs]); - } - } - } - - /** - * Recursively process a parameter while applying filters - * - * @param Parameter $param API parameter being processed - * @param mixed $value Value to validate and process. The value may change during this process. - */ - protected function recursiveProcess(Parameter $param, &$value) - { - $type = $param->getType(); - - if (!is_array($value)) { - if ($type == 'array') { - // Cast to an array if the value was a string, but should be an array - $this->recursiveProcess($param->getItems(), $value); - $value = array($value); - } - } elseif ($type == 'object') { - $this->processObject($param, $value); - } elseif ($type == 'array') { - $this->processArray($param, $value); - } elseif ($type == 'string' && gettype($value) == 'array') { - $value = ''; - } - - if ($value !== null) { - $value = $param->filter($value); - } - } - - /** - * Process an array - * - * @param Parameter $param API parameter being parsed - * @param mixed $value Value to process - */ - protected function processArray(Parameter $param, &$value) - { - // Convert the node if it was meant to be an array - if (!isset($value[0])) { - // Collections fo nodes are sometimes wrapped in an additional array. For example: - // 12 should become: - // array('Items' => array(array('a' => 1), array('a' => 2)) - // Some nodes are not wrapped. For example: 12 - // should become array('Foo' => array(array('a' => 1), array('a' => 2)) - if ($param->getItems() && isset($value[$param->getItems()->getWireName()])) { - // Account for the case of a collection wrapping wrapped nodes: Items => Item[] - $value = $value[$param->getItems()->getWireName()]; - // If the wrapped node only had one value, then make it an array of nodes - if (!isset($value[0]) || !is_array($value)) { - $value = array($value); - } - } elseif (!empty($value)) { - // Account for repeated nodes that must be an array: Foo => Baz, Foo => Baz, but only if the - // value is set and not empty - $value = array($value); - } - } - - foreach ($value as &$item) { - $this->recursiveProcess($param->getItems(), $item); - } - } - - /** - * Process an object - * - * @param Parameter $param API parameter being parsed - * @param mixed $value Value to process - */ - protected function processObject(Parameter $param, &$value) - { - // Ensure that the array is associative and not numerically indexed - if (!isset($value[0]) && ($properties = $param->getProperties())) { - $knownProperties = array(); - foreach ($properties as $property) { - $name = $property->getName(); - $sentAs = $property->getWireName(); - $knownProperties[$name] = 1; - if ($property->getData('xmlAttribute')) { - $this->processXmlAttribute($property, $value); - } elseif (isset($value[$sentAs])) { - $this->recursiveProcess($property, $value[$sentAs]); - if ($name != $sentAs) { - $value[$name] = $value[$sentAs]; - unset($value[$sentAs]); - } - } - } - - // Remove any unknown and potentially unsafe properties - if ($param->getAdditionalProperties() === false) { - $value = array_intersect_key($value, $knownProperties); - } - } - } - - /** - * Process an XML attribute property - * - * @param Parameter $property Property to process - * @param array $value Value to process and update - */ - protected function processXmlAttribute(Parameter $property, array &$value) - { - $sentAs = $property->getWireName(); - if (isset($value['@attributes'][$sentAs])) { - $value[$property->getName()] = $value['@attributes'][$sentAs]; - unset($value['@attributes'][$sentAs]); - if (empty($value['@attributes'])) { - unset($value['@attributes']); - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/VisitorFlyweight.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/VisitorFlyweight.php deleted file mode 100644 index 74cb6281..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/VisitorFlyweight.php +++ /dev/null @@ -1,138 +0,0 @@ - 'Guzzle\Service\Command\LocationVisitor\Request\BodyVisitor', - 'request.header' => 'Guzzle\Service\Command\LocationVisitor\Request\HeaderVisitor', - 'request.json' => 'Guzzle\Service\Command\LocationVisitor\Request\JsonVisitor', - 'request.postField' => 'Guzzle\Service\Command\LocationVisitor\Request\PostFieldVisitor', - 'request.postFile' => 'Guzzle\Service\Command\LocationVisitor\Request\PostFileVisitor', - 'request.query' => 'Guzzle\Service\Command\LocationVisitor\Request\QueryVisitor', - 'request.response_body' => 'Guzzle\Service\Command\LocationVisitor\Request\ResponseBodyVisitor', - 'request.responseBody' => 'Guzzle\Service\Command\LocationVisitor\Request\ResponseBodyVisitor', - 'request.xml' => 'Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor', - 'response.body' => 'Guzzle\Service\Command\LocationVisitor\Response\BodyVisitor', - 'response.header' => 'Guzzle\Service\Command\LocationVisitor\Response\HeaderVisitor', - 'response.json' => 'Guzzle\Service\Command\LocationVisitor\Response\JsonVisitor', - 'response.reasonPhrase' => 'Guzzle\Service\Command\LocationVisitor\Response\ReasonPhraseVisitor', - 'response.statusCode' => 'Guzzle\Service\Command\LocationVisitor\Response\StatusCodeVisitor', - 'response.xml' => 'Guzzle\Service\Command\LocationVisitor\Response\XmlVisitor' - ); - - /** @var array Array of mappings of location names to classes */ - protected $mappings; - - /** @var array Cache of instantiated visitors */ - protected $cache = array(); - - /** - * @return self - * @codeCoverageIgnore - */ - public static function getInstance() - { - if (!self::$instance) { - self::$instance = new self(); - } - - return self::$instance; - } - - /** - * @param array $mappings Array mapping request.name and response.name to location visitor classes. Leave null to - * use the default values. - */ - public function __construct(array $mappings = null) - { - $this->mappings = $mappings === null ? self::$defaultMappings : $mappings; - } - - /** - * Get an instance of a request visitor by location name - * - * @param string $visitor Visitor name - * - * @return RequestVisitorInterface - */ - public function getRequestVisitor($visitor) - { - return $this->getKey('request.' . $visitor); - } - - /** - * Get an instance of a response visitor by location name - * - * @param string $visitor Visitor name - * - * @return ResponseVisitorInterface - */ - public function getResponseVisitor($visitor) - { - return $this->getKey('response.' . $visitor); - } - - /** - * Add a response visitor to the factory by name - * - * @param string $name Name of the visitor - * @param RequestVisitorInterface $visitor Visitor to add - * - * @return self - */ - public function addRequestVisitor($name, RequestVisitorInterface $visitor) - { - $this->cache['request.' . $name] = $visitor; - - return $this; - } - - /** - * Add a response visitor to the factory by name - * - * @param string $name Name of the visitor - * @param ResponseVisitorInterface $visitor Visitor to add - * - * @return self - */ - public function addResponseVisitor($name, ResponseVisitorInterface $visitor) - { - $this->cache['response.' . $name] = $visitor; - - return $this; - } - - /** - * Get a visitor by key value name - * - * @param string $key Key name to retrieve - * - * @return mixed - * @throws InvalidArgumentException - */ - private function getKey($key) - { - if (!isset($this->cache[$key])) { - if (!isset($this->mappings[$key])) { - list($type, $name) = explode('.', $key); - throw new InvalidArgumentException("No {$type} visitor has been mapped for {$name}"); - } - $this->cache[$key] = new $this->mappings[$key]; - } - - return $this->cache[$key]; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationCommand.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationCommand.php deleted file mode 100644 index 0748b5af..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationCommand.php +++ /dev/null @@ -1,89 +0,0 @@ -responseParser = $parser; - - return $this; - } - - /** - * Set the request serializer used with the command - * - * @param RequestSerializerInterface $serializer Request serializer - * - * @return self - */ - public function setRequestSerializer(RequestSerializerInterface $serializer) - { - $this->requestSerializer = $serializer; - - return $this; - } - - /** - * Get the request serializer used with the command - * - * @return RequestSerializerInterface - */ - public function getRequestSerializer() - { - if (!$this->requestSerializer) { - // Use the default request serializer if none was found - $this->requestSerializer = DefaultRequestSerializer::getInstance(); - } - - return $this->requestSerializer; - } - - /** - * Get the response parser used for the operation - * - * @return ResponseParserInterface - */ - public function getResponseParser() - { - if (!$this->responseParser) { - // Use the default response parser if none was found - $this->responseParser = OperationResponseParser::getInstance(); - } - - return $this->responseParser; - } - - protected function build() - { - // Prepare and serialize the request - $this->request = $this->getRequestSerializer()->prepare($this); - } - - protected function process() - { - // Do not process the response if 'command.response_processing' is set to 'raw' - $this->result = $this[self::RESPONSE_PROCESSING] == self::TYPE_RAW - ? $this->request->getResponse() - : $this->getResponseParser()->parse($this); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationResponseParser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationResponseParser.php deleted file mode 100644 index ca00bc06..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationResponseParser.php +++ /dev/null @@ -1,195 +0,0 @@ -factory = $factory; - $this->schemaInModels = $schemaInModels; - } - - /** - * Add a location visitor to the command - * - * @param string $location Location to associate with the visitor - * @param ResponseVisitorInterface $visitor Visitor to attach - * - * @return self - */ - public function addVisitor($location, ResponseVisitorInterface $visitor) - { - $this->factory->addResponseVisitor($location, $visitor); - - return $this; - } - - protected function handleParsing(CommandInterface $command, Response $response, $contentType) - { - $operation = $command->getOperation(); - $type = $operation->getResponseType(); - $model = null; - - if ($type == OperationInterface::TYPE_MODEL) { - $model = $operation->getServiceDescription()->getModel($operation->getResponseClass()); - } elseif ($type == OperationInterface::TYPE_CLASS) { - return $this->parseClass($command); - } - - if (!$model) { - // Return basic processing if the responseType is not model or the model cannot be found - return parent::handleParsing($command, $response, $contentType); - } elseif ($command[AbstractCommand::RESPONSE_PROCESSING] != AbstractCommand::TYPE_MODEL) { - // Returns a model with no visiting if the command response processing is not model - return new Model(parent::handleParsing($command, $response, $contentType)); - } else { - // Only inject the schema into the model if "schemaInModel" is true - return new Model($this->visitResult($model, $command, $response), $this->schemaInModels ? $model : null); - } - } - - /** - * Parse a class object - * - * @param CommandInterface $command Command to parse into an object - * - * @return mixed - * @throws ResponseClassException - */ - protected function parseClass(CommandInterface $command) - { - // Emit the operation.parse_class event. If a listener injects a 'result' property, then that will be the result - $event = new CreateResponseClassEvent(array('command' => $command)); - $command->getClient()->getEventDispatcher()->dispatch('command.parse_response', $event); - if ($result = $event->getResult()) { - return $result; - } - - $className = $command->getOperation()->getResponseClass(); - if (!method_exists($className, 'fromCommand')) { - throw new ResponseClassException("{$className} must exist and implement a static fromCommand() method"); - } - - return $className::fromCommand($command); - } - - /** - * Perform transformations on the result array - * - * @param Parameter $model Model that defines the structure - * @param CommandInterface $command Command that performed the operation - * @param Response $response Response received - * - * @return array Returns the array of result data - */ - protected function visitResult(Parameter $model, CommandInterface $command, Response $response) - { - $foundVisitors = $result = $knownProps = array(); - $props = $model->getProperties(); - - foreach ($props as $schema) { - if ($location = $schema->getLocation()) { - // Trigger the before method on the first found visitor of this type - if (!isset($foundVisitors[$location])) { - $foundVisitors[$location] = $this->factory->getResponseVisitor($location); - $foundVisitors[$location]->before($command, $result); - } - } - } - - // Visit additional properties when it is an actual schema - if (($additional = $model->getAdditionalProperties()) instanceof Parameter) { - $this->visitAdditionalProperties($model, $command, $response, $additional, $result, $foundVisitors); - } - - // Apply the parameter value with the location visitor - foreach ($props as $schema) { - $knownProps[$schema->getName()] = 1; - if ($location = $schema->getLocation()) { - $foundVisitors[$location]->visit($command, $response, $schema, $result); - } - } - - // Remove any unknown and potentially unsafe top-level properties - if ($additional === false) { - $result = array_intersect_key($result, $knownProps); - } - - // Call the after() method of each found visitor - foreach ($foundVisitors as $visitor) { - $visitor->after($command); - } - - return $result; - } - - protected function visitAdditionalProperties( - Parameter $model, - CommandInterface $command, - Response $response, - Parameter $additional, - &$result, - array &$foundVisitors - ) { - // Only visit when a location is specified - if ($location = $additional->getLocation()) { - if (!isset($foundVisitors[$location])) { - $foundVisitors[$location] = $this->factory->getResponseVisitor($location); - $foundVisitors[$location]->before($command, $result); - } - // Only traverse if an array was parsed from the before() visitors - if (is_array($result)) { - // Find each additional property - foreach (array_keys($result) as $key) { - // Check if the model actually knows this property. If so, then it is not additional - if (!$model->getProperty($key)) { - // Set the name to the key so that we can parse it with each visitor - $additional->setName($key); - $foundVisitors[$location]->visit($command, $response, $additional, $result); - } - } - // Reset the additionalProperties name to null - $additional->setName(null); - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/RequestSerializerInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/RequestSerializerInterface.php deleted file mode 100644 index 60b9334d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Command/RequestSerializerInterface.php +++ /dev/null @@ -1,21 +0,0 @@ - true, 'httpMethod' => true, 'uri' => true, 'class' => true, 'responseClass' => true, - 'responseType' => true, 'responseNotes' => true, 'notes' => true, 'summary' => true, 'documentationUrl' => true, - 'deprecated' => true, 'data' => true, 'parameters' => true, 'additionalParameters' => true, - 'errorResponses' => true - ); - - /** @var array Parameters */ - protected $parameters = array(); - - /** @var Parameter Additional parameters schema */ - protected $additionalParameters; - - /** @var string Name of the command */ - protected $name; - - /** @var string HTTP method */ - protected $httpMethod; - - /** @var string This is a short summary of what the operation does */ - protected $summary; - - /** @var string A longer text field to explain the behavior of the operation. */ - protected $notes; - - /** @var string Reference URL providing more information about the operation */ - protected $documentationUrl; - - /** @var string HTTP URI of the command */ - protected $uri; - - /** @var string Class of the command object */ - protected $class; - - /** @var string This is what is returned from the method */ - protected $responseClass; - - /** @var string Type information about the response */ - protected $responseType; - - /** @var string Information about the response returned by the operation */ - protected $responseNotes; - - /** @var bool Whether or not the command is deprecated */ - protected $deprecated; - - /** @var array Array of errors that could occur when running the command */ - protected $errorResponses; - - /** @var ServiceDescriptionInterface */ - protected $description; - - /** @var array Extra operation information */ - protected $data; - - /** - * Builds an Operation object using an array of configuration data: - * - name: (string) Name of the command - * - httpMethod: (string) HTTP method of the operation - * - uri: (string) URI template that can create a relative or absolute URL - * - class: (string) Concrete class that implements this command - * - parameters: (array) Associative array of parameters for the command. {@see Parameter} for information. - * - summary: (string) This is a short summary of what the operation does - * - notes: (string) A longer text field to explain the behavior of the operation. - * - documentationUrl: (string) Reference URL providing more information about the operation - * - responseClass: (string) This is what is returned from the method. Can be a primitive, PSR-0 compliant - * class name, or model. - * - responseNotes: (string) Information about the response returned by the operation - * - responseType: (string) One of 'primitive', 'class', 'model', or 'documentation'. If not specified, this - * value will be automatically inferred based on whether or not there is a model matching the - * name, if a matching PSR-0 compliant class name is found, or set to 'primitive' by default. - * - deprecated: (bool) Set to true if this is a deprecated command - * - errorResponses: (array) Errors that could occur when executing the command. Array of hashes, each with a - * 'code' (the HTTP response code), 'reason' (response reason phrase or description of the - * error), and 'class' (a custom exception class that would be thrown if the error is - * encountered). - * - data: (array) Any extra data that might be used to help build or serialize the operation - * - additionalParameters: (null|array) Parameter schema to use when an option is passed to the operation that is - * not in the schema - * - * @param array $config Array of configuration data - * @param ServiceDescriptionInterface $description Service description used to resolve models if $ref tags are found - */ - public function __construct(array $config = array(), ServiceDescriptionInterface $description = null) - { - $this->description = $description; - - // Get the intersection of the available properties and properties set on the operation - foreach (array_intersect_key($config, self::$properties) as $key => $value) { - $this->{$key} = $value; - } - - $this->class = $this->class ?: self::DEFAULT_COMMAND_CLASS; - $this->deprecated = (bool) $this->deprecated; - $this->errorResponses = $this->errorResponses ?: array(); - $this->data = $this->data ?: array(); - - if (!$this->responseClass) { - $this->responseClass = 'array'; - $this->responseType = 'primitive'; - } elseif ($this->responseType) { - // Set the response type to perform validation - $this->setResponseType($this->responseType); - } else { - // A response class was set and no response type was set, so guess what the type is - $this->inferResponseType(); - } - - // Parameters need special handling when adding - if ($this->parameters) { - foreach ($this->parameters as $name => $param) { - if ($param instanceof Parameter) { - $param->setName($name)->setParent($this); - } elseif (is_array($param)) { - $param['name'] = $name; - $this->addParam(new Parameter($param, $this->description)); - } - } - } - - if ($this->additionalParameters) { - if ($this->additionalParameters instanceof Parameter) { - $this->additionalParameters->setParent($this); - } elseif (is_array($this->additionalParameters)) { - $this->setadditionalParameters(new Parameter($this->additionalParameters, $this->description)); - } - } - } - - public function toArray() - { - $result = array(); - // Grab valid properties and filter out values that weren't set - foreach (array_keys(self::$properties) as $check) { - if ($value = $this->{$check}) { - $result[$check] = $value; - } - } - // Remove the name property - unset($result['name']); - // Parameters need to be converted to arrays - $result['parameters'] = array(); - foreach ($this->parameters as $key => $param) { - $result['parameters'][$key] = $param->toArray(); - } - // Additional parameters need to be cast to an array - if ($this->additionalParameters instanceof Parameter) { - $result['additionalParameters'] = $this->additionalParameters->toArray(); - } - - return $result; - } - - public function getServiceDescription() - { - return $this->description; - } - - public function setServiceDescription(ServiceDescriptionInterface $description) - { - $this->description = $description; - - return $this; - } - - public function getParams() - { - return $this->parameters; - } - - public function getParamNames() - { - return array_keys($this->parameters); - } - - public function hasParam($name) - { - return isset($this->parameters[$name]); - } - - public function getParam($param) - { - return isset($this->parameters[$param]) ? $this->parameters[$param] : null; - } - - /** - * Add a parameter to the command - * - * @param Parameter $param Parameter to add - * - * @return self - */ - public function addParam(Parameter $param) - { - $this->parameters[$param->getName()] = $param; - $param->setParent($this); - - return $this; - } - - /** - * Remove a parameter from the command - * - * @param string $name Name of the parameter to remove - * - * @return self - */ - public function removeParam($name) - { - unset($this->parameters[$name]); - - return $this; - } - - public function getHttpMethod() - { - return $this->httpMethod; - } - - /** - * Set the HTTP method of the command - * - * @param string $httpMethod Method to set - * - * @return self - */ - public function setHttpMethod($httpMethod) - { - $this->httpMethod = $httpMethod; - - return $this; - } - - public function getClass() - { - return $this->class; - } - - /** - * Set the concrete class of the command - * - * @param string $className Concrete class name - * - * @return self - */ - public function setClass($className) - { - $this->class = $className; - - return $this; - } - - public function getName() - { - return $this->name; - } - - /** - * Set the name of the command - * - * @param string $name Name of the command - * - * @return self - */ - public function setName($name) - { - $this->name = $name; - - return $this; - } - - public function getSummary() - { - return $this->summary; - } - - /** - * Set a short summary of what the operation does - * - * @param string $summary Short summary of the operation - * - * @return self - */ - public function setSummary($summary) - { - $this->summary = $summary; - - return $this; - } - - public function getNotes() - { - return $this->notes; - } - - /** - * Set a longer text field to explain the behavior of the operation. - * - * @param string $notes Notes on the operation - * - * @return self - */ - public function setNotes($notes) - { - $this->notes = $notes; - - return $this; - } - - public function getDocumentationUrl() - { - return $this->documentationUrl; - } - - /** - * Set the URL pointing to additional documentation on the command - * - * @param string $docUrl Documentation URL - * - * @return self - */ - public function setDocumentationUrl($docUrl) - { - $this->documentationUrl = $docUrl; - - return $this; - } - - public function getResponseClass() - { - return $this->responseClass; - } - - /** - * Set what is returned from the method. Can be a primitive, class name, or model. For example: 'array', - * 'Guzzle\\Foo\\Baz', or 'MyModelName' (to reference a model by ID). - * - * @param string $responseClass Type of response - * - * @return self - */ - public function setResponseClass($responseClass) - { - $this->responseClass = $responseClass; - $this->inferResponseType(); - - return $this; - } - - public function getResponseType() - { - return $this->responseType; - } - - /** - * Set qualifying information about the responseClass. One of 'primitive', 'class', 'model', or 'documentation' - * - * @param string $responseType Response type information - * - * @return self - * @throws InvalidArgumentException - */ - public function setResponseType($responseType) - { - static $types = array( - self::TYPE_PRIMITIVE => true, - self::TYPE_CLASS => true, - self::TYPE_MODEL => true, - self::TYPE_DOCUMENTATION => true - ); - if (!isset($types[$responseType])) { - throw new InvalidArgumentException('responseType must be one of ' . implode(', ', array_keys($types))); - } - - $this->responseType = $responseType; - - return $this; - } - - public function getResponseNotes() - { - return $this->responseNotes; - } - - /** - * Set notes about the response of the operation - * - * @param string $notes Response notes - * - * @return self - */ - public function setResponseNotes($notes) - { - $this->responseNotes = $notes; - - return $this; - } - - public function getDeprecated() - { - return $this->deprecated; - } - - /** - * Set whether or not the command is deprecated - * - * @param bool $isDeprecated Set to true to mark as deprecated - * - * @return self - */ - public function setDeprecated($isDeprecated) - { - $this->deprecated = $isDeprecated; - - return $this; - } - - public function getUri() - { - return $this->uri; - } - - /** - * Set the URI template of the command - * - * @param string $uri URI template to set - * - * @return self - */ - public function setUri($uri) - { - $this->uri = $uri; - - return $this; - } - - public function getErrorResponses() - { - return $this->errorResponses; - } - - /** - * Add an error to the command - * - * @param string $code HTTP response code - * @param string $reason HTTP response reason phrase or information about the error - * @param string $class Exception class associated with the error - * - * @return self - */ - public function addErrorResponse($code, $reason, $class) - { - $this->errorResponses[] = array('code' => $code, 'reason' => $reason, 'class' => $class); - - return $this; - } - - /** - * Set all of the error responses of the operation - * - * @param array $errorResponses Hash of error name to a hash containing a code, reason, class - * - * @return self - */ - public function setErrorResponses(array $errorResponses) - { - $this->errorResponses = $errorResponses; - - return $this; - } - - public function getData($name) - { - return isset($this->data[$name]) ? $this->data[$name] : null; - } - - /** - * Set a particular data point on the operation - * - * @param string $name Name of the data value - * @param mixed $value Value to set - * - * @return self - */ - public function setData($name, $value) - { - $this->data[$name] = $value; - - return $this; - } - - /** - * Get the additionalParameters of the operation - * - * @return Parameter|null - */ - public function getAdditionalParameters() - { - return $this->additionalParameters; - } - - /** - * Set the additionalParameters of the operation - * - * @param Parameter|null $parameter Parameter to set - * - * @return self - */ - public function setAdditionalParameters($parameter) - { - if ($this->additionalParameters = $parameter) { - $this->additionalParameters->setParent($this); - } - - return $this; - } - - /** - * Infer the response type from the responseClass value - */ - protected function inferResponseType() - { - static $primitives = array('array' => 1, 'boolean' => 1, 'string' => 1, 'integer' => 1, '' => 1); - if (isset($primitives[$this->responseClass])) { - $this->responseType = self::TYPE_PRIMITIVE; - } elseif ($this->description && $this->description->hasModel($this->responseClass)) { - $this->responseType = self::TYPE_MODEL; - } else { - $this->responseType = self::TYPE_CLASS; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/OperationInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/OperationInterface.php deleted file mode 100644 index 4de41bd6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/OperationInterface.php +++ /dev/null @@ -1,159 +0,0 @@ -getModel($data['$ref'])) { - $data = $model->toArray() + $data; - } - } elseif (isset($data['extends'])) { - // If this parameter extends from another parameter then start with the actual data - // union in the parent's data (e.g. actual supersedes parent) - if ($extends = $description->getModel($data['extends'])) { - $data += $extends->toArray(); - } - } - } - - // Pull configuration data into the parameter - foreach ($data as $key => $value) { - $this->{$key} = $value; - } - - $this->serviceDescription = $description; - $this->required = (bool) $this->required; - $this->data = (array) $this->data; - - if ($this->filters) { - $this->setFilters((array) $this->filters); - } - - if ($this->type == 'object' && $this->additionalProperties === null) { - $this->additionalProperties = true; - } - } - - /** - * Convert the object to an array - * - * @return array - */ - public function toArray() - { - static $checks = array('required', 'description', 'static', 'type', 'format', 'instanceOf', 'location', 'sentAs', - 'pattern', 'minimum', 'maximum', 'minItems', 'maxItems', 'minLength', 'maxLength', 'data', 'enum', - 'filters'); - - $result = array(); - - // Anything that is in the `Items` attribute of an array *must* include it's name if available - if ($this->parent instanceof self && $this->parent->getType() == 'array' && isset($this->name)) { - $result['name'] = $this->name; - } - - foreach ($checks as $c) { - if ($value = $this->{$c}) { - $result[$c] = $value; - } - } - - if ($this->default !== null) { - $result['default'] = $this->default; - } - - if ($this->items !== null) { - $result['items'] = $this->getItems()->toArray(); - } - - if ($this->additionalProperties !== null) { - $result['additionalProperties'] = $this->getAdditionalProperties(); - if ($result['additionalProperties'] instanceof self) { - $result['additionalProperties'] = $result['additionalProperties']->toArray(); - } - } - - if ($this->type == 'object' && $this->properties) { - $result['properties'] = array(); - foreach ($this->getProperties() as $name => $property) { - $result['properties'][$name] = $property->toArray(); - } - } - - return $result; - } - - /** - * Get the default or static value of the command based on a value - * - * @param string $value Value that is currently set - * - * @return mixed Returns the value, a static value if one is present, or a default value - */ - public function getValue($value) - { - if ($this->static || ($this->default !== null && $value === null)) { - return $this->default; - } - - return $value; - } - - /** - * Run a value through the filters OR format attribute associated with the parameter - * - * @param mixed $value Value to filter - * - * @return mixed Returns the filtered value - */ - public function filter($value) - { - // Formats are applied exclusively and supersed filters - if ($this->format) { - return SchemaFormatter::format($this->format, $value); - } - - // Convert Boolean values - if ($this->type == 'boolean' && !is_bool($value)) { - $value = filter_var($value, FILTER_VALIDATE_BOOLEAN); - } - - // Apply filters to the value - if ($this->filters) { - foreach ($this->filters as $filter) { - if (is_array($filter)) { - // Convert complex filters that hold value place holders - foreach ($filter['args'] as &$data) { - if ($data == '@value') { - $data = $value; - } elseif ($data == '@api') { - $data = $this; - } - } - $value = call_user_func_array($filter['method'], $filter['args']); - } else { - $value = call_user_func($filter, $value); - } - } - } - - return $value; - } - - /** - * Get the name of the parameter - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Get the key of the parameter, where sentAs will supersede name if it is set - * - * @return string - */ - public function getWireName() - { - return $this->sentAs ?: $this->name; - } - - /** - * Set the name of the parameter - * - * @param string $name Name to set - * - * @return self - */ - public function setName($name) - { - $this->name = $name; - - return $this; - } - - /** - * Get the type(s) of the parameter - * - * @return string|array - */ - public function getType() - { - return $this->type; - } - - /** - * Set the type(s) of the parameter - * - * @param string|array $type Type of parameter or array of simple types used in a union - * - * @return self - */ - public function setType($type) - { - $this->type = $type; - - return $this; - } - - /** - * Get if the parameter is required - * - * @return bool - */ - public function getRequired() - { - return $this->required; - } - - /** - * Set if the parameter is required - * - * @param bool $isRequired Whether or not the parameter is required - * - * @return self - */ - public function setRequired($isRequired) - { - $this->required = (bool) $isRequired; - - return $this; - } - - /** - * Get the default value of the parameter - * - * @return string|null - */ - public function getDefault() - { - return $this->default; - } - - /** - * Set the default value of the parameter - * - * @param string|null $default Default value to set - * - * @return self - */ - public function setDefault($default) - { - $this->default = $default; - - return $this; - } - - /** - * Get the description of the parameter - * - * @return string|null - */ - public function getDescription() - { - return $this->description; - } - - /** - * Set the description of the parameter - * - * @param string $description Description - * - * @return self - */ - public function setDescription($description) - { - $this->description = $description; - - return $this; - } - - /** - * Get the minimum acceptable value for an integer - * - * @return int|null - */ - public function getMinimum() - { - return $this->minimum; - } - - /** - * Set the minimum acceptable value for an integer - * - * @param int|null $min Minimum - * - * @return self - */ - public function setMinimum($min) - { - $this->minimum = $min; - - return $this; - } - - /** - * Get the maximum acceptable value for an integer - * - * @return int|null - */ - public function getMaximum() - { - return $this->maximum; - } - - /** - * Set the maximum acceptable value for an integer - * - * @param int $max Maximum - * - * @return self - */ - public function setMaximum($max) - { - $this->maximum = $max; - - return $this; - } - - /** - * Get the minimum allowed length of a string value - * - * @return int - */ - public function getMinLength() - { - return $this->minLength; - } - - /** - * Set the minimum allowed length of a string value - * - * @param int|null $min Minimum - * - * @return self - */ - public function setMinLength($min) - { - $this->minLength = $min; - - return $this; - } - - /** - * Get the maximum allowed length of a string value - * - * @return int|null - */ - public function getMaxLength() - { - return $this->maxLength; - } - - /** - * Set the maximum allowed length of a string value - * - * @param int $max Maximum length - * - * @return self - */ - public function setMaxLength($max) - { - $this->maxLength = $max; - - return $this; - } - - /** - * Get the maximum allowed number of items in an array value - * - * @return int|null - */ - public function getMaxItems() - { - return $this->maxItems; - } - - /** - * Set the maximum allowed number of items in an array value - * - * @param int $max Maximum - * - * @return self - */ - public function setMaxItems($max) - { - $this->maxItems = $max; - - return $this; - } - - /** - * Get the minimum allowed number of items in an array value - * - * @return int - */ - public function getMinItems() - { - return $this->minItems; - } - - /** - * Set the minimum allowed number of items in an array value - * - * @param int|null $min Minimum - * - * @return self - */ - public function setMinItems($min) - { - $this->minItems = $min; - - return $this; - } - - /** - * Get the location of the parameter - * - * @return string|null - */ - public function getLocation() - { - return $this->location; - } - - /** - * Set the location of the parameter - * - * @param string|null $location Location of the parameter - * - * @return self - */ - public function setLocation($location) - { - $this->location = $location; - - return $this; - } - - /** - * Get the sentAs attribute of the parameter that used with locations to sentAs an attribute when it is being - * applied to a location. - * - * @return string|null - */ - public function getSentAs() - { - return $this->sentAs; - } - - /** - * Set the sentAs attribute - * - * @param string|null $name Name of the value as it is sent over the wire - * - * @return self - */ - public function setSentAs($name) - { - $this->sentAs = $name; - - return $this; - } - - /** - * Retrieve a known property from the parameter by name or a data property by name. When not specific name value - * is specified, all data properties will be returned. - * - * @param string|null $name Specify a particular property name to retrieve - * - * @return array|mixed|null - */ - public function getData($name = null) - { - if (!$name) { - return $this->data; - } - - if (isset($this->data[$name])) { - return $this->data[$name]; - } elseif (isset($this->{$name})) { - return $this->{$name}; - } - - return null; - } - - /** - * Set the extra data properties of the parameter or set a specific extra property - * - * @param string|array|null $nameOrData The name of a specific extra to set or an array of extras to set - * @param mixed|null $data When setting a specific extra property, specify the data to set for it - * - * @return self - */ - public function setData($nameOrData, $data = null) - { - if (is_array($nameOrData)) { - $this->data = $nameOrData; - } else { - $this->data[$nameOrData] = $data; - } - - return $this; - } - - /** - * Get whether or not the default value can be changed - * - * @return mixed|null - */ - public function getStatic() - { - return $this->static; - } - - /** - * Set to true if the default value cannot be changed - * - * @param bool $static True or false - * - * @return self - */ - public function setStatic($static) - { - $this->static = (bool) $static; - - return $this; - } - - /** - * Get an array of filters used by the parameter - * - * @return array - */ - public function getFilters() - { - return $this->filters ?: array(); - } - - /** - * Set the array of filters used by the parameter - * - * @param array $filters Array of functions to use as filters - * - * @return self - */ - public function setFilters(array $filters) - { - $this->filters = array(); - foreach ($filters as $filter) { - $this->addFilter($filter); - } - - return $this; - } - - /** - * Add a filter to the parameter - * - * @param string|array $filter Method to filter the value through - * - * @return self - * @throws InvalidArgumentException - */ - public function addFilter($filter) - { - if (is_array($filter)) { - if (!isset($filter['method'])) { - throw new InvalidArgumentException('A [method] value must be specified for each complex filter'); - } - } - - if (!$this->filters) { - $this->filters = array($filter); - } else { - $this->filters[] = $filter; - } - - return $this; - } - - /** - * Get the parent object (an {@see OperationInterface} or {@see Parameter} - * - * @return OperationInterface|Parameter|null - */ - public function getParent() - { - return $this->parent; - } - - /** - * Set the parent object of the parameter - * - * @param OperationInterface|Parameter|null $parent Parent container of the parameter - * - * @return self - */ - public function setParent($parent) - { - $this->parent = $parent; - - return $this; - } - - /** - * Get the properties of the parameter - * - * @return array - */ - public function getProperties() - { - if (!$this->propertiesCache) { - $this->propertiesCache = array(); - foreach (array_keys($this->properties) as $name) { - $this->propertiesCache[$name] = $this->getProperty($name); - } - } - - return $this->propertiesCache; - } - - /** - * Get a specific property from the parameter - * - * @param string $name Name of the property to retrieve - * - * @return null|Parameter - */ - public function getProperty($name) - { - if (!isset($this->properties[$name])) { - return null; - } - - if (!($this->properties[$name] instanceof self)) { - $this->properties[$name]['name'] = $name; - $this->properties[$name] = new static($this->properties[$name], $this->serviceDescription); - $this->properties[$name]->setParent($this); - } - - return $this->properties[$name]; - } - - /** - * Remove a property from the parameter - * - * @param string $name Name of the property to remove - * - * @return self - */ - public function removeProperty($name) - { - unset($this->properties[$name]); - $this->propertiesCache = null; - - return $this; - } - - /** - * Add a property to the parameter - * - * @param Parameter $property Properties to set - * - * @return self - */ - public function addProperty(Parameter $property) - { - $this->properties[$property->getName()] = $property; - $property->setParent($this); - $this->propertiesCache = null; - - return $this; - } - - /** - * Get the additionalProperties value of the parameter - * - * @return bool|Parameter|null - */ - public function getAdditionalProperties() - { - if (is_array($this->additionalProperties)) { - $this->additionalProperties = new static($this->additionalProperties, $this->serviceDescription); - $this->additionalProperties->setParent($this); - } - - return $this->additionalProperties; - } - - /** - * Set the additionalProperties value of the parameter - * - * @param bool|Parameter|null $additional Boolean to allow any, an Parameter to specify a schema, or false to disallow - * - * @return self - */ - public function setAdditionalProperties($additional) - { - $this->additionalProperties = $additional; - - return $this; - } - - /** - * Set the items data of the parameter - * - * @param Parameter|null $items Items to set - * - * @return self - */ - public function setItems(Parameter $items = null) - { - if ($this->items = $items) { - $this->items->setParent($this); - } - - return $this; - } - - /** - * Get the item data of the parameter - * - * @return Parameter|null - */ - public function getItems() - { - if (is_array($this->items)) { - $this->items = new static($this->items, $this->serviceDescription); - $this->items->setParent($this); - } - - return $this->items; - } - - /** - * Get the class that the parameter must implement - * - * @return null|string - */ - public function getInstanceOf() - { - return $this->instanceOf; - } - - /** - * Set the class that the parameter must be an instance of - * - * @param string|null $instanceOf Class or interface name - * - * @return self - */ - public function setInstanceOf($instanceOf) - { - $this->instanceOf = $instanceOf; - - return $this; - } - - /** - * Get the enum of strings that are valid for the parameter - * - * @return array|null - */ - public function getEnum() - { - return $this->enum; - } - - /** - * Set the enum of strings that are valid for the parameter - * - * @param array|null $enum Array of strings or null - * - * @return self - */ - public function setEnum(array $enum = null) - { - $this->enum = $enum; - - return $this; - } - - /** - * Get the regex pattern that must match a value when the value is a string - * - * @return string - */ - public function getPattern() - { - return $this->pattern; - } - - /** - * Set the regex pattern that must match a value when the value is a string - * - * @param string $pattern Regex pattern - * - * @return self - */ - public function setPattern($pattern) - { - $this->pattern = $pattern; - - return $this; - } - - /** - * Get the format attribute of the schema - * - * @return string - */ - public function getFormat() - { - return $this->format; - } - - /** - * Set the format attribute of the schema - * - * @param string $format Format to set (e.g. date, date-time, timestamp, time, date-time-http) - * - * @return self - */ - public function setFormat($format) - { - $this->format = $format; - - return $this; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/SchemaFormatter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/SchemaFormatter.php deleted file mode 100644 index 7f47fc9d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/SchemaFormatter.php +++ /dev/null @@ -1,156 +0,0 @@ -setTimezone(self::getUtcTimeZone())->format($format); - } - - throw new InvalidArgumentException('Date/Time values must be either a string, integer, or DateTime object'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/SchemaValidator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/SchemaValidator.php deleted file mode 100644 index b045422d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/SchemaValidator.php +++ /dev/null @@ -1,291 +0,0 @@ -castIntegerToStringType = $castIntegerToStringType; - } - - public function validate(Parameter $param, &$value) - { - $this->errors = array(); - $this->recursiveProcess($param, $value); - - if (empty($this->errors)) { - return true; - } else { - sort($this->errors); - return false; - } - } - - /** - * Get the errors encountered while validating - * - * @return array - */ - public function getErrors() - { - return $this->errors ?: array(); - } - - /** - * Recursively validate a parameter - * - * @param Parameter $param API parameter being validated - * @param mixed $value Value to validate and validate. The value may change during this validate. - * @param string $path Current validation path (used for error reporting) - * @param int $depth Current depth in the validation validate - * - * @return bool Returns true if valid, or false if invalid - */ - protected function recursiveProcess(Parameter $param, &$value, $path = '', $depth = 0) - { - // Update the value by adding default or static values - $value = $param->getValue($value); - - $required = $param->getRequired(); - // if the value is null and the parameter is not required or is static, then skip any further recursion - if ((null === $value && !$required) || $param->getStatic()) { - return true; - } - - $type = $param->getType(); - // Attempt to limit the number of times is_array is called by tracking if the value is an array - $valueIsArray = is_array($value); - // If a name is set then update the path so that validation messages are more helpful - if ($name = $param->getName()) { - $path .= "[{$name}]"; - } - - if ($type == 'object') { - - // Objects are either associative arrays, ToArrayInterface, or some other object - if ($param->getInstanceOf()) { - $instance = $param->getInstanceOf(); - if (!($value instanceof $instance)) { - $this->errors[] = "{$path} must be an instance of {$instance}"; - return false; - } - } - - // Determine whether or not this "value" has properties and should be traversed - $traverse = $temporaryValue = false; - - // Convert the value to an array - if (!$valueIsArray && $value instanceof ToArrayInterface) { - $value = $value->toArray(); - } - - if ($valueIsArray) { - // Ensure that the array is associative and not numerically indexed - if (isset($value[0])) { - $this->errors[] = "{$path} must be an array of properties. Got a numerically indexed array."; - return false; - } - $traverse = true; - } elseif ($value === null) { - // Attempt to let the contents be built up by default values if possible - $value = array(); - $temporaryValue = $valueIsArray = $traverse = true; - } - - if ($traverse) { - - if ($properties = $param->getProperties()) { - // if properties were found, the validate each property of the value - foreach ($properties as $property) { - $name = $property->getName(); - if (isset($value[$name])) { - $this->recursiveProcess($property, $value[$name], $path, $depth + 1); - } else { - $current = null; - $this->recursiveProcess($property, $current, $path, $depth + 1); - // Only set the value if it was populated with something - if (null !== $current) { - $value[$name] = $current; - } - } - } - } - - $additional = $param->getAdditionalProperties(); - if ($additional !== true) { - // If additional properties were found, then validate each against the additionalProperties attr. - $keys = array_keys($value); - // Determine the keys that were specified that were not listed in the properties of the schema - $diff = array_diff($keys, array_keys($properties)); - if (!empty($diff)) { - // Determine which keys are not in the properties - if ($additional instanceOf Parameter) { - foreach ($diff as $key) { - $this->recursiveProcess($additional, $value[$key], "{$path}[{$key}]", $depth); - } - } else { - // if additionalProperties is set to false and there are additionalProperties in the values, then fail - foreach ($diff as $prop) { - $this->errors[] = sprintf('%s[%s] is not an allowed property', $path, $prop); - } - } - } - } - - // A temporary value will be used to traverse elements that have no corresponding input value. - // This allows nested required parameters with default values to bubble up into the input. - // Here we check if we used a temp value and nothing bubbled up, then we need to remote the value. - if ($temporaryValue && empty($value)) { - $value = null; - $valueIsArray = false; - } - } - - } elseif ($type == 'array' && $valueIsArray && $param->getItems()) { - foreach ($value as $i => &$item) { - // Validate each item in an array against the items attribute of the schema - $this->recursiveProcess($param->getItems(), $item, $path . "[{$i}]", $depth + 1); - } - } - - // If the value is required and the type is not null, then there is an error if the value is not set - if ($required && $value === null && $type != 'null') { - $message = "{$path} is " . ($param->getType() ? ('a required ' . implode(' or ', (array) $param->getType())) : 'required'); - if ($param->getDescription()) { - $message .= ': ' . $param->getDescription(); - } - $this->errors[] = $message; - return false; - } - - // Validate that the type is correct. If the type is string but an integer was passed, the class can be - // instructed to cast the integer to a string to pass validation. This is the default behavior. - if ($type && (!$type = $this->determineType($type, $value))) { - if ($this->castIntegerToStringType && $param->getType() == 'string' && is_integer($value)) { - $value = (string) $value; - } else { - $this->errors[] = "{$path} must be of type " . implode(' or ', (array) $param->getType()); - } - } - - // Perform type specific validation for strings, arrays, and integers - if ($type == 'string') { - - // Strings can have enums which are a list of predefined values - if (($enum = $param->getEnum()) && !in_array($value, $enum)) { - $this->errors[] = "{$path} must be one of " . implode(' or ', array_map(function ($s) { - return '"' . addslashes($s) . '"'; - }, $enum)); - } - // Strings can have a regex pattern that the value must match - if (($pattern = $param->getPattern()) && !preg_match($pattern, $value)) { - $this->errors[] = "{$path} must match the following regular expression: {$pattern}"; - } - - $strLen = null; - if ($min = $param->getMinLength()) { - $strLen = strlen($value); - if ($strLen < $min) { - $this->errors[] = "{$path} length must be greater than or equal to {$min}"; - } - } - if ($max = $param->getMaxLength()) { - if (($strLen ?: strlen($value)) > $max) { - $this->errors[] = "{$path} length must be less than or equal to {$max}"; - } - } - - } elseif ($type == 'array') { - - $size = null; - if ($min = $param->getMinItems()) { - $size = count($value); - if ($size < $min) { - $this->errors[] = "{$path} must contain {$min} or more elements"; - } - } - if ($max = $param->getMaxItems()) { - if (($size ?: count($value)) > $max) { - $this->errors[] = "{$path} must contain {$max} or fewer elements"; - } - } - - } elseif ($type == 'integer' || $type == 'number' || $type == 'numeric') { - if (($min = $param->getMinimum()) && $value < $min) { - $this->errors[] = "{$path} must be greater than or equal to {$min}"; - } - if (($max = $param->getMaximum()) && $value > $max) { - $this->errors[] = "{$path} must be less than or equal to {$max}"; - } - } - - return empty($this->errors); - } - - /** - * From the allowable types, determine the type that the variable matches - * - * @param string $type Parameter type - * @param mixed $value Value to determine the type - * - * @return string|bool Returns the matching type on - */ - protected function determineType($type, $value) - { - foreach ((array) $type as $t) { - if ($t == 'string' && (is_string($value) || (is_object($value) && method_exists($value, '__toString')))) { - return 'string'; - } elseif ($t == 'object' && (is_array($value) || is_object($value))) { - return 'object'; - } elseif ($t == 'array' && is_array($value)) { - return 'array'; - } elseif ($t == 'integer' && is_integer($value)) { - return 'integer'; - } elseif ($t == 'boolean' && is_bool($value)) { - return 'boolean'; - } elseif ($t == 'number' && is_numeric($value)) { - return 'number'; - } elseif ($t == 'numeric' && is_numeric($value)) { - return 'numeric'; - } elseif ($t == 'null' && !$value) { - return 'null'; - } elseif ($t == 'any') { - return 'any'; - } - } - - return false; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescription.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescription.php deleted file mode 100644 index 286e65ee..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescription.php +++ /dev/null @@ -1,271 +0,0 @@ -load($config, $options); - } - - /** - * @param array $config Array of configuration data - */ - public function __construct(array $config = array()) - { - $this->fromArray($config); - } - - public function serialize() - { - return json_encode($this->toArray()); - } - - public function unserialize($json) - { - $this->operations = array(); - $this->fromArray(json_decode($json, true)); - } - - public function toArray() - { - $result = array( - 'name' => $this->name, - 'apiVersion' => $this->apiVersion, - 'baseUrl' => $this->baseUrl, - 'description' => $this->description - ) + $this->extraData; - $result['operations'] = array(); - foreach ($this->getOperations() as $name => $operation) { - $result['operations'][$operation->getName() ?: $name] = $operation->toArray(); - } - if (!empty($this->models)) { - $result['models'] = array(); - foreach ($this->models as $id => $model) { - $result['models'][$id] = $model instanceof Parameter ? $model->toArray(): $model; - } - } - - return array_filter($result); - } - - public function getBaseUrl() - { - return $this->baseUrl; - } - - /** - * Set the baseUrl of the description - * - * @param string $baseUrl Base URL of each operation - * - * @return self - */ - public function setBaseUrl($baseUrl) - { - $this->baseUrl = $baseUrl; - - return $this; - } - - public function getOperations() - { - foreach (array_keys($this->operations) as $name) { - $this->getOperation($name); - } - - return $this->operations; - } - - public function hasOperation($name) - { - return isset($this->operations[$name]); - } - - public function getOperation($name) - { - // Lazily retrieve and build operations - if (!isset($this->operations[$name])) { - return null; - } - - if (!($this->operations[$name] instanceof Operation)) { - $this->operations[$name] = new Operation($this->operations[$name], $this); - } - - return $this->operations[$name]; - } - - /** - * Add a operation to the service description - * - * @param OperationInterface $operation Operation to add - * - * @return self - */ - public function addOperation(OperationInterface $operation) - { - $this->operations[$operation->getName()] = $operation->setServiceDescription($this); - - return $this; - } - - public function getModel($id) - { - if (!isset($this->models[$id])) { - return null; - } - - if (!($this->models[$id] instanceof Parameter)) { - $this->models[$id] = new Parameter($this->models[$id] + array('name' => $id), $this); - } - - return $this->models[$id]; - } - - public function getModels() - { - // Ensure all models are converted into parameter objects - foreach (array_keys($this->models) as $id) { - $this->getModel($id); - } - - return $this->models; - } - - public function hasModel($id) - { - return isset($this->models[$id]); - } - - /** - * Add a model to the service description - * - * @param Parameter $model Model to add - * - * @return self - */ - public function addModel(Parameter $model) - { - $this->models[$model->getName()] = $model; - - return $this; - } - - public function getApiVersion() - { - return $this->apiVersion; - } - - public function getName() - { - return $this->name; - } - - public function getDescription() - { - return $this->description; - } - - public function getData($key) - { - return isset($this->extraData[$key]) ? $this->extraData[$key] : null; - } - - public function setData($key, $value) - { - $this->extraData[$key] = $value; - - return $this; - } - - /** - * Initialize the state from an array - * - * @param array $config Configuration data - * @throws InvalidArgumentException - */ - protected function fromArray(array $config) - { - // Keep a list of default keys used in service descriptions that is later used to determine extra data keys - static $defaultKeys = array('name', 'models', 'apiVersion', 'baseUrl', 'description'); - // Pull in the default configuration values - foreach ($defaultKeys as $key) { - if (isset($config[$key])) { - $this->{$key} = $config[$key]; - } - } - - // Account for the Swagger name for Guzzle's baseUrl - if (isset($config['basePath'])) { - $this->baseUrl = $config['basePath']; - } - - // Ensure that the models and operations properties are always arrays - $this->models = (array) $this->models; - $this->operations = (array) $this->operations; - - // We want to add operations differently than adding the other properties - $defaultKeys[] = 'operations'; - - // Create operations for each operation - if (isset($config['operations'])) { - foreach ($config['operations'] as $name => $operation) { - if (!($operation instanceof Operation) && !is_array($operation)) { - throw new InvalidArgumentException('Invalid operation in service description: ' - . gettype($operation)); - } - $this->operations[$name] = $operation; - } - } - - // Get all of the additional properties of the service description and store them in a data array - foreach (array_diff(array_keys($config), $defaultKeys) as $key) { - $this->extraData[$key] = $config[$key]; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescriptionInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescriptionInterface.php deleted file mode 100644 index 5983e586..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescriptionInterface.php +++ /dev/null @@ -1,106 +0,0 @@ - $op) { - $name = $op['name'] = isset($op['name']) ? $op['name'] : $name; - // Extend other operations - if (!empty($op['extends'])) { - $this->resolveExtension($name, $op, $operations); - } - $op['parameters'] = isset($op['parameters']) ? $op['parameters'] : array(); - $operations[$name] = $op; - } - } - - return new ServiceDescription(array( - 'apiVersion' => isset($config['apiVersion']) ? $config['apiVersion'] : null, - 'baseUrl' => isset($config['baseUrl']) ? $config['baseUrl'] : null, - 'description' => isset($config['description']) ? $config['description'] : null, - 'operations' => $operations, - 'models' => isset($config['models']) ? $config['models'] : null - ) + $config); - } - - /** - * @param string $name Name of the operation - * @param array $op Operation value array - * @param array $operations Currently loaded operations - * @throws DescriptionBuilderException when extending a non-existent operation - */ - protected function resolveExtension($name, array &$op, array &$operations) - { - $resolved = array(); - $original = empty($op['parameters']) ? false: $op['parameters']; - $hasClass = !empty($op['class']); - foreach ((array) $op['extends'] as $extendedCommand) { - if (empty($operations[$extendedCommand])) { - throw new DescriptionBuilderException("{$name} extends missing operation {$extendedCommand}"); - } - $toArray = $operations[$extendedCommand]; - $resolved = empty($resolved) - ? $toArray['parameters'] - : array_merge($resolved, $toArray['parameters']); - - $op = $op + $toArray; - if (!$hasClass && isset($toArray['class'])) { - $op['class'] = $toArray['class']; - } - } - $op['parameters'] = $original ? array_merge($resolved, $original) : $resolved; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ValidatorInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ValidatorInterface.php deleted file mode 100644 index 94ca77da..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Description/ValidatorInterface.php +++ /dev/null @@ -1,28 +0,0 @@ -getMessage(), $e->getCode(), $e->getPrevious()); - $ce->setSuccessfulRequests($e->getSuccessfulRequests()); - - $alreadyAddedExceptions = array(); - foreach ($e->getFailedRequests() as $request) { - if ($re = $e->getExceptionForFailedRequest($request)) { - $alreadyAddedExceptions[] = $re; - $ce->addFailedRequestWithException($request, $re); - } else { - $ce->addFailedRequest($request); - } - } - - // Add any exceptions that did not map to a request - if (count($alreadyAddedExceptions) < count($e)) { - foreach ($e as $ex) { - if (!in_array($ex, $alreadyAddedExceptions)) { - $ce->add($ex); - } - } - } - - return $ce; - } - - /** - * Get all of the commands in the transfer - * - * @return array - */ - public function getAllCommands() - { - return array_merge($this->successfulCommands, $this->failedCommands); - } - - /** - * Add to the array of successful commands - * - * @param CommandInterface $command Successful command - * - * @return self - */ - public function addSuccessfulCommand(CommandInterface $command) - { - $this->successfulCommands[] = $command; - - return $this; - } - - /** - * Add to the array of failed commands - * - * @param CommandInterface $command Failed command - * - * @return self - */ - public function addFailedCommand(CommandInterface $command) - { - $this->failedCommands[] = $command; - - return $this; - } - - /** - * Get an array of successful commands - * - * @return array - */ - public function getSuccessfulCommands() - { - return $this->successfulCommands; - } - - /** - * Get an array of failed commands - * - * @return array - */ - public function getFailedCommands() - { - return $this->failedCommands; - } - - /** - * Get the Exception that caused the given $command to fail - * - * @param CommandInterface $command Failed command - * - * @return \Exception|null - */ - public function getExceptionForFailedCommand(CommandInterface $command) - { - return $this->getExceptionForFailedRequest($command->getRequest()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/DescriptionBuilderException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/DescriptionBuilderException.php deleted file mode 100644 index 1407e568..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/DescriptionBuilderException.php +++ /dev/null @@ -1,7 +0,0 @@ -invalidCommands = $commands; - parent::__construct( - 'Encountered commands in a batch transfer that use inconsistent clients. The batching ' . - 'strategy you use with a command transfer must divide command batches by client.' - ); - } - - /** - * Get the invalid commands - * - * @return array - */ - public function getCommands() - { - return $this->invalidCommands; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/ResponseClassException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/ResponseClassException.php deleted file mode 100644 index d59ff218..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Exception/ResponseClassException.php +++ /dev/null @@ -1,9 +0,0 @@ -errors = $errors; - } - - /** - * Get any validation errors - * - * @return array - */ - public function getErrors() - { - return $this->errors; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/AbstractResourceIteratorFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/AbstractResourceIteratorFactory.php deleted file mode 100644 index 21140e77..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/AbstractResourceIteratorFactory.php +++ /dev/null @@ -1,37 +0,0 @@ -canBuild($command)) { - throw new InvalidArgumentException('Iterator was not found for ' . $command->getName()); - } - - $className = $this->getClassName($command); - - return new $className($command, $options); - } - - public function canBuild(CommandInterface $command) - { - return (bool) $this->getClassName($command); - } - - /** - * Get the name of the class to instantiate for the command - * - * @param CommandInterface $command Command that is associated with the iterator - * - * @return string - */ - abstract protected function getClassName(CommandInterface $command); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/CompositeResourceIteratorFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/CompositeResourceIteratorFactory.php deleted file mode 100644 index 2efc133c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/CompositeResourceIteratorFactory.php +++ /dev/null @@ -1,67 +0,0 @@ -factories = $factories; - } - - public function build(CommandInterface $command, array $options = array()) - { - if (!($factory = $this->getFactory($command))) { - throw new InvalidArgumentException('Iterator was not found for ' . $command->getName()); - } - - return $factory->build($command, $options); - } - - public function canBuild(CommandInterface $command) - { - return $this->getFactory($command) !== false; - } - - /** - * Add a factory to the composite factory - * - * @param ResourceIteratorFactoryInterface $factory Factory to add - * - * @return self - */ - public function addFactory(ResourceIteratorFactoryInterface $factory) - { - $this->factories[] = $factory; - - return $this; - } - - /** - * Get the factory that matches the command object - * - * @param CommandInterface $command Command retrieving the iterator for - * - * @return ResourceIteratorFactoryInterface|bool - */ - protected function getFactory(CommandInterface $command) - { - foreach ($this->factories as $factory) { - if ($factory->canBuild($command)) { - return $factory; - } - } - - return false; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/MapResourceIteratorFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/MapResourceIteratorFactory.php deleted file mode 100644 index c71ca9d8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/MapResourceIteratorFactory.php +++ /dev/null @@ -1,34 +0,0 @@ -map = $map; - } - - public function getClassName(CommandInterface $command) - { - $className = $command->getName(); - - if (isset($this->map[$className])) { - return $this->map[$className]; - } elseif (isset($this->map['*'])) { - // If a wildcard was added, then always use that - return $this->map['*']; - } - - return null; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/Model.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/Model.php deleted file mode 100644 index 2322434a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/Model.php +++ /dev/null @@ -1,64 +0,0 @@ -data = $data; - $this->structure = $structure; - } - - /** - * Get the structure of the model - * - * @return Parameter - */ - public function getStructure() - { - return $this->structure ?: new Parameter(); - } - - /** - * Provides debug information about the model object - * - * @return string - */ - public function __toString() - { - $output = 'Debug output of '; - if ($this->structure) { - $output .= $this->structure->getName() . ' '; - } - $output .= 'model'; - $output = str_repeat('=', strlen($output)) . "\n" . $output . "\n" . str_repeat('=', strlen($output)) . "\n\n"; - $output .= "Model data\n-----------\n\n"; - $output .= "This data can be retrieved from the model object using the get() method of the model " - . "(e.g. \$model->get(\$key)) or accessing the model like an associative array (e.g. \$model['key']).\n\n"; - $lines = array_slice(explode("\n", trim(print_r($this->toArray(), true))), 2, -1); - $output .= implode("\n", $lines); - - if ($this->structure) { - $output .= "\n\nModel structure\n---------------\n\n"; - $output .= "The following JSON document defines how the model was parsed from an HTTP response into the " - . "associative array structure you see above.\n\n"; - $output .= ' ' . json_encode($this->structure->toArray()) . "\n\n"; - } - - return $output . "\n"; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIterator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIterator.php deleted file mode 100644 index e1415243..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIterator.php +++ /dev/null @@ -1,254 +0,0 @@ -originalCommand = $command; - - // Parse options from the array of options - $this->data = $data; - $this->limit = array_key_exists('limit', $data) ? $data['limit'] : 0; - $this->pageSize = array_key_exists('page_size', $data) ? $data['page_size'] : false; - } - - /** - * Get all of the resources as an array (Warning: this could issue a large number of requests) - * - * @return array - */ - public function toArray() - { - return iterator_to_array($this, false); - } - - public function setLimit($limit) - { - $this->limit = $limit; - $this->resetState(); - - return $this; - } - - public function setPageSize($pageSize) - { - $this->pageSize = $pageSize; - $this->resetState(); - - return $this; - } - - /** - * Get an option from the iterator - * - * @param string $key Key of the option to retrieve - * - * @return mixed|null Returns NULL if not set or the value if set - */ - public function get($key) - { - return array_key_exists($key, $this->data) ? $this->data[$key] : null; - } - - /** - * Set an option on the iterator - * - * @param string $key Key of the option to set - * @param mixed $value Value to set for the option - * - * @return ResourceIterator - */ - public function set($key, $value) - { - $this->data[$key] = $value; - - return $this; - } - - public function current() - { - return $this->resources ? current($this->resources) : false; - } - - public function key() - { - return max(0, $this->iteratedCount - 1); - } - - public function count() - { - return $this->retrievedCount; - } - - /** - * Get the total number of requests sent - * - * @return int - */ - public function getRequestCount() - { - return $this->requestCount; - } - - /** - * Rewind the Iterator to the first element and send the original command - */ - public function rewind() - { - // Use the original command - $this->command = clone $this->originalCommand; - $this->resetState(); - $this->next(); - } - - public function valid() - { - return !$this->invalid && (!$this->resources || $this->current() || $this->nextToken) - && (!$this->limit || $this->iteratedCount < $this->limit + 1); - } - - public function next() - { - $this->iteratedCount++; - - // Check if a new set of resources needs to be retrieved - $sendRequest = false; - if (!$this->resources) { - $sendRequest = true; - } else { - // iterate over the internal array - $current = next($this->resources); - $sendRequest = $current === false && $this->nextToken && (!$this->limit || $this->iteratedCount < $this->limit + 1); - } - - if ($sendRequest) { - - $this->dispatch('resource_iterator.before_send', array( - 'iterator' => $this, - 'resources' => $this->resources - )); - - // Get a new command object from the original command - $this->command = clone $this->originalCommand; - // Send a request and retrieve the newly loaded resources - $this->resources = $this->sendRequest(); - $this->requestCount++; - - // If no resources were found, then the last request was not needed - // and iteration must stop - if (empty($this->resources)) { - $this->invalid = true; - } else { - // Add to the number of retrieved resources - $this->retrievedCount += count($this->resources); - // Ensure that we rewind to the beginning of the array - reset($this->resources); - } - - $this->dispatch('resource_iterator.after_send', array( - 'iterator' => $this, - 'resources' => $this->resources - )); - } - } - - /** - * Retrieve the NextToken that can be used in other iterators. - * - * @return string Returns a NextToken - */ - public function getNextToken() - { - return $this->nextToken; - } - - /** - * Returns the value that should be specified for the page size for a request that will maintain any hard limits, - * but still honor the specified pageSize if the number of items retrieved + pageSize < hard limit - * - * @return int Returns the page size of the next request. - */ - protected function calculatePageSize() - { - if ($this->limit && $this->iteratedCount + $this->pageSize > $this->limit) { - return 1 + ($this->limit - $this->iteratedCount); - } - - return (int) $this->pageSize; - } - - /** - * Reset the internal state of the iterator without triggering a rewind() - */ - protected function resetState() - { - $this->iteratedCount = 0; - $this->retrievedCount = 0; - $this->nextToken = false; - $this->resources = null; - $this->invalid = false; - } - - /** - * Send a request to retrieve the next page of results. Hook for subclasses to implement. - * - * @return array Returns the newly loaded resources - */ - abstract protected function sendRequest(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorApplyBatched.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorApplyBatched.php deleted file mode 100644 index 6aa36153..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorApplyBatched.php +++ /dev/null @@ -1,111 +0,0 @@ -iterator = $iterator; - $this->callback = $callback; - Version::warn(__CLASS__ . ' is deprecated'); - } - - /** - * Apply the callback to the contents of the resource iterator - * - * @param int $perBatch The number of records to group per batch transfer - * - * @return int Returns the number of iterated resources - */ - public function apply($perBatch = 50) - { - $this->iterated = $this->batches = $batches = 0; - $that = $this; - $it = $this->iterator; - $callback = $this->callback; - - $batch = BatchBuilder::factory() - ->createBatchesWith(new BatchSizeDivisor($perBatch)) - ->transferWith(new BatchClosureTransfer(function (array $batch) use ($that, $callback, &$batches, $it) { - $batches++; - $that->dispatch('iterator_batch.before_batch', array('iterator' => $it, 'batch' => $batch)); - call_user_func_array($callback, array($it, $batch)); - $that->dispatch('iterator_batch.after_batch', array('iterator' => $it, 'batch' => $batch)); - })) - ->autoFlushAt($perBatch) - ->build(); - - $this->dispatch('iterator_batch.created_batch', array('batch' => $batch)); - - foreach ($this->iterator as $resource) { - $this->iterated++; - $batch->add($resource); - } - - $batch->flush(); - $this->batches = $batches; - - return $this->iterated; - } - - /** - * Get the total number of batches sent - * - * @return int - */ - public function getBatchCount() - { - return $this->batches; - } - - /** - * Get the total number of iterated resources - * - * @return int - */ - public function getIteratedCount() - { - return $this->iterated; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorClassFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorClassFactory.php deleted file mode 100644 index 2fd99807..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorClassFactory.php +++ /dev/null @@ -1,60 +0,0 @@ - AbcFoo). - */ -class ResourceIteratorClassFactory extends AbstractResourceIteratorFactory -{ - /** @var array List of namespaces used to look for classes */ - protected $namespaces; - - /** @var InflectorInterface Inflector used to determine class names */ - protected $inflector; - - /** - * @param string|array $namespaces List of namespaces for iterator objects - * @param InflectorInterface $inflector Inflector used to resolve class names - */ - public function __construct($namespaces = array(), InflectorInterface $inflector = null) - { - $this->namespaces = (array) $namespaces; - $this->inflector = $inflector ?: Inflector::getDefault(); - } - - /** - * Registers a namespace to check for Iterators - * - * @param string $namespace Namespace which contains Iterator classes - * - * @return self - */ - public function registerNamespace($namespace) - { - array_unshift($this->namespaces, $namespace); - - return $this; - } - - protected function getClassName(CommandInterface $command) - { - $iteratorName = $this->inflector->camel($command->getName()) . 'Iterator'; - - // Determine the name of the class to load - foreach ($this->namespaces as $namespace) { - $potentialClassName = $namespace . '\\' . $iteratorName; - if (class_exists($potentialClassName)) { - return $potentialClassName; - } - } - - return false; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorFactoryInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorFactoryInterface.php deleted file mode 100644 index 8b4e8dbe..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorFactoryInterface.php +++ /dev/null @@ -1,30 +0,0 @@ -=5.3.2", - "guzzle/cache": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version" - }, - "autoload": { - "psr-0": { "Guzzle\\Service": "" } - }, - "target-dir": "Guzzle/Service", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/PhpStreamRequestFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/PhpStreamRequestFactory.php deleted file mode 100644 index d115fd89..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/PhpStreamRequestFactory.php +++ /dev/null @@ -1,284 +0,0 @@ -contextOptions = stream_context_get_options($context); - $this->context = $context; - } elseif (is_array($context) || !$context) { - $this->contextOptions = $context; - $this->createContext($params); - } elseif ($context) { - throw new InvalidArgumentException('$context must be an array or resource'); - } - - // Dispatch the before send event - $request->dispatch('request.before_send', array( - 'request' => $request, - 'context' => $this->context, - 'context_options' => $this->contextOptions - )); - - $this->setUrl($request); - $this->addDefaultContextOptions($request); - $this->addSslOptions($request); - $this->addBodyOptions($request); - $this->addProxyOptions($request); - - // Create the file handle but silence errors - return $this->createStream($params) - ->setCustomData('request', $request) - ->setCustomData('response_headers', $this->getLastResponseHeaders()); - } - - /** - * Set an option on the context and the internal options array - * - * @param string $wrapper Stream wrapper name of http - * @param string $name Context name - * @param mixed $value Context value - * @param bool $overwrite Set to true to overwrite an existing value - */ - protected function setContextValue($wrapper, $name, $value, $overwrite = false) - { - if (!isset($this->contextOptions[$wrapper])) { - $this->contextOptions[$wrapper] = array($name => $value); - } elseif (!$overwrite && isset($this->contextOptions[$wrapper][$name])) { - return; - } - $this->contextOptions[$wrapper][$name] = $value; - stream_context_set_option($this->context, $wrapper, $name, $value); - } - - /** - * Create a stream context - * - * @param array $params Parameter array - */ - protected function createContext(array $params) - { - $options = $this->contextOptions; - $this->context = $this->createResource(function () use ($params, $options) { - return stream_context_create($options, $params); - }); - } - - /** - * Get the last response headers received by the HTTP request - * - * @return array - */ - public function getLastResponseHeaders() - { - return $this->lastResponseHeaders; - } - - /** - * Adds the default context options to the stream context options - * - * @param RequestInterface $request Request - */ - protected function addDefaultContextOptions(RequestInterface $request) - { - $this->setContextValue('http', 'method', $request->getMethod()); - $headers = $request->getHeaderLines(); - - // "Connection: close" is required to get streams to work in HTTP 1.1 - if (!$request->hasHeader('Connection')) { - $headers[] = 'Connection: close'; - } - - $this->setContextValue('http', 'header', $headers); - $this->setContextValue('http', 'protocol_version', $request->getProtocolVersion()); - $this->setContextValue('http', 'ignore_errors', true); - } - - /** - * Set the URL to use with the factory - * - * @param RequestInterface $request Request that owns the URL - */ - protected function setUrl(RequestInterface $request) - { - $this->url = $request->getUrl(true); - - // Check for basic Auth username - if ($request->getUsername()) { - $this->url->setUsername($request->getUsername()); - } - - // Check for basic Auth password - if ($request->getPassword()) { - $this->url->setPassword($request->getPassword()); - } - } - - /** - * Add SSL options to the stream context - * - * @param RequestInterface $request Request - */ - protected function addSslOptions(RequestInterface $request) - { - if ($request->getCurlOptions()->get(CURLOPT_SSL_VERIFYPEER)) { - $this->setContextValue('ssl', 'verify_peer', true, true); - if ($cafile = $request->getCurlOptions()->get(CURLOPT_CAINFO)) { - $this->setContextValue('ssl', 'cafile', $cafile, true); - } - } else { - $this->setContextValue('ssl', 'verify_peer', false, true); - } - } - - /** - * Add body (content) specific options to the context options - * - * @param RequestInterface $request - */ - protected function addBodyOptions(RequestInterface $request) - { - // Add the content for the request if needed - if (!($request instanceof EntityEnclosingRequestInterface)) { - return; - } - - if (count($request->getPostFields())) { - $this->setContextValue('http', 'content', (string) $request->getPostFields(), true); - } elseif ($request->getBody()) { - $this->setContextValue('http', 'content', (string) $request->getBody(), true); - } - - // Always ensure a content-length header is sent - if (isset($this->contextOptions['http']['content'])) { - $headers = isset($this->contextOptions['http']['header']) ? $this->contextOptions['http']['header'] : array(); - $headers[] = 'Content-Length: ' . strlen($this->contextOptions['http']['content']); - $this->setContextValue('http', 'header', $headers, true); - } - } - - /** - * Add proxy parameters to the context if needed - * - * @param RequestInterface $request Request - */ - protected function addProxyOptions(RequestInterface $request) - { - if ($proxy = $request->getCurlOptions()->get(CURLOPT_PROXY)) { - $this->setContextValue('http', 'proxy', $proxy); - } - } - - /** - * Create the stream for the request with the context options - * - * @param array $params Parameters of the stream - * - * @return StreamInterface - */ - protected function createStream(array $params) - { - $http_response_header = null; - $url = $this->url; - $context = $this->context; - $fp = $this->createResource(function () use ($context, $url, &$http_response_header) { - return fopen((string) $url, 'r', false, $context); - }); - - // Determine the class to instantiate - $className = isset($params['stream_class']) ? $params['stream_class'] : __NAMESPACE__ . '\\Stream'; - - /** @var $stream StreamInterface */ - $stream = new $className($fp); - - // Track the response headers of the request - if (isset($http_response_header)) { - $this->lastResponseHeaders = $http_response_header; - $this->processResponseHeaders($stream); - } - - return $stream; - } - - /** - * Process response headers - * - * @param StreamInterface $stream - */ - protected function processResponseHeaders(StreamInterface $stream) - { - // Set the size on the stream if it was returned in the response - foreach ($this->lastResponseHeaders as $header) { - if ((stripos($header, 'Content-Length:')) === 0) { - $stream->setSize(trim(substr($header, 15))); - } - } - } - - /** - * Create a resource and check to ensure it was created successfully - * - * @param callable $callback Closure to invoke that must return a valid resource - * - * @return resource - * @throws RuntimeException on error - */ - protected function createResource($callback) - { - $errors = null; - set_error_handler(function ($_, $msg, $file, $line) use (&$errors) { - $errors[] = array( - 'message' => $msg, - 'file' => $file, - 'line' => $line - ); - return true; - }); - $resource = call_user_func($callback); - restore_error_handler(); - - if (!$resource) { - $message = 'Error creating resource. '; - foreach ($errors as $err) { - foreach ($err as $key => $value) { - $message .= "[$key] $value" . PHP_EOL; - } - } - throw new RuntimeException(trim($message)); - } - - return $resource; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/Stream.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/Stream.php deleted file mode 100644 index 12bed268..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/Stream.php +++ /dev/null @@ -1,289 +0,0 @@ - array( - 'r' => true, 'w+' => true, 'r+' => true, 'x+' => true, 'c+' => true, - 'rb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true, 'c+b' => true, - 'rt' => true, 'w+t' => true, 'r+t' => true, 'x+t' => true, 'c+t' => true, 'a+' => true - ), - 'write' => array( - 'w' => true, 'w+' => true, 'rw' => true, 'r+' => true, 'x+' => true, 'c+' => true, - 'wb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true, 'c+b' => true, - 'w+t' => true, 'r+t' => true, 'x+t' => true, 'c+t' => true, 'a' => true, 'a+' => true - ) - ); - - /** - * @param resource $stream Stream resource to wrap - * @param int $size Size of the stream in bytes. Only pass if the size cannot be obtained from the stream. - * - * @throws InvalidArgumentException if the stream is not a stream resource - */ - public function __construct($stream, $size = null) - { - $this->setStream($stream, $size); - } - - /** - * Closes the stream when the helper is destructed - */ - public function __destruct() - { - $this->close(); - } - - public function __toString() - { - if (!$this->isReadable() || (!$this->isSeekable() && $this->isConsumed())) { - return ''; - } - - $originalPos = $this->ftell(); - $body = stream_get_contents($this->stream, -1, 0); - $this->seek($originalPos); - - return $body; - } - - public function close() - { - if (is_resource($this->stream)) { - fclose($this->stream); - } - $this->cache[self::IS_READABLE] = false; - $this->cache[self::IS_WRITABLE] = false; - } - - /** - * Calculate a hash of a Stream - * - * @param StreamInterface $stream Stream to calculate the hash for - * @param string $algo Hash algorithm (e.g. md5, crc32, etc) - * @param bool $rawOutput Whether or not to use raw output - * - * @return bool|string Returns false on failure or a hash string on success - */ - public static function getHash(StreamInterface $stream, $algo, $rawOutput = false) - { - $pos = $stream->ftell(); - if (!$stream->seek(0)) { - return false; - } - - $ctx = hash_init($algo); - while (!$stream->feof()) { - hash_update($ctx, $stream->read(8192)); - } - - $out = hash_final($ctx, (bool) $rawOutput); - $stream->seek($pos); - - return $out; - } - - public function getMetaData($key = null) - { - $meta = stream_get_meta_data($this->stream); - - return !$key ? $meta : (array_key_exists($key, $meta) ? $meta[$key] : null); - } - - public function getStream() - { - return $this->stream; - } - - public function setStream($stream, $size = null) - { - if (!is_resource($stream)) { - throw new InvalidArgumentException('Stream must be a resource'); - } - - $this->size = $size; - $this->stream = $stream; - $this->rebuildCache(); - - return $this; - } - - public function detachStream() - { - $this->stream = null; - - return $this; - } - - public function getWrapper() - { - return $this->cache[self::WRAPPER_TYPE]; - } - - public function getWrapperData() - { - return $this->getMetaData('wrapper_data') ?: array(); - } - - public function getStreamType() - { - return $this->cache[self::STREAM_TYPE]; - } - - public function getUri() - { - return $this->cache['uri']; - } - - public function getSize() - { - if ($this->size !== null) { - return $this->size; - } - - // If the stream is a file based stream and local, then use fstat - clearstatcache(true, $this->cache['uri']); - $stats = fstat($this->stream); - if (isset($stats['size'])) { - $this->size = $stats['size']; - return $this->size; - } elseif ($this->cache[self::IS_READABLE] && $this->cache[self::SEEKABLE]) { - // Only get the size based on the content if the the stream is readable and seekable - $pos = $this->ftell(); - $this->size = strlen((string) $this); - $this->seek($pos); - return $this->size; - } - - return false; - } - - public function isReadable() - { - return $this->cache[self::IS_READABLE]; - } - - public function isRepeatable() - { - return $this->cache[self::IS_READABLE] && $this->cache[self::SEEKABLE]; - } - - public function isWritable() - { - return $this->cache[self::IS_WRITABLE]; - } - - public function isConsumed() - { - return feof($this->stream); - } - - public function feof() - { - return $this->isConsumed(); - } - - public function isLocal() - { - return $this->cache[self::IS_LOCAL]; - } - - public function isSeekable() - { - return $this->cache[self::SEEKABLE]; - } - - public function setSize($size) - { - $this->size = $size; - - return $this; - } - - public function seek($offset, $whence = SEEK_SET) - { - return $this->cache[self::SEEKABLE] ? fseek($this->stream, $offset, $whence) === 0 : false; - } - - public function read($length) - { - return fread($this->stream, $length); - } - - public function write($string) - { - // We can't know the size after writing anything - $this->size = null; - - return fwrite($this->stream, $string); - } - - public function ftell() - { - return ftell($this->stream); - } - - public function rewind() - { - return $this->seek(0); - } - - public function readLine($maxLength = null) - { - if (!$this->cache[self::IS_READABLE]) { - return false; - } else { - return $maxLength ? fgets($this->getStream(), $maxLength) : fgets($this->getStream()); - } - } - - public function setCustomData($key, $value) - { - $this->customData[$key] = $value; - - return $this; - } - - public function getCustomData($key) - { - return isset($this->customData[$key]) ? $this->customData[$key] : null; - } - - /** - * Reprocess stream metadata - */ - protected function rebuildCache() - { - $this->cache = stream_get_meta_data($this->stream); - $this->cache[self::IS_LOCAL] = stream_is_local($this->stream); - $this->cache[self::IS_READABLE] = isset(self::$readWriteHash['read'][$this->cache['mode']]); - $this->cache[self::IS_WRITABLE] = isset(self::$readWriteHash['write'][$this->cache['mode']]); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/StreamInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/StreamInterface.php deleted file mode 100644 index 6d7dc376..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/src/Guzzle/Stream/StreamInterface.php +++ /dev/null @@ -1,218 +0,0 @@ -=5.3.2", - "guzzle/common": "self.version" - }, - "suggest": { - "guzzle/http": "To convert Guzzle request objects to PHP streams" - }, - "autoload": { - "psr-0": { "Guzzle\\Stream": "" } - }, - "target-dir": "Guzzle/Stream", - "extra": { - "branch-alias": { - "dev-master": "3.7-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/AbstractBatchDecoratorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/AbstractBatchDecoratorTest.php deleted file mode 100644 index 951738d2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/AbstractBatchDecoratorTest.php +++ /dev/null @@ -1,33 +0,0 @@ -getMock('Guzzle\Batch\BatchTransferInterface'), - $this->getMock('Guzzle\Batch\BatchDivisorInterface') - ); - - $decoratorA = $this->getMockBuilder('Guzzle\Batch\AbstractBatchDecorator') - ->setConstructorArgs(array($batch)) - ->getMockForAbstractClass(); - - $decoratorB = $this->getMockBuilder('Guzzle\Batch\AbstractBatchDecorator') - ->setConstructorArgs(array($decoratorA)) - ->getMockForAbstractClass(); - - $decoratorA->add('foo'); - $this->assertFalse($decoratorB->isEmpty()); - $this->assertFalse($batch->isEmpty()); - $this->assertEquals(array($decoratorB, $decoratorA), $decoratorB->getDecorators()); - $this->assertEquals(array(), $decoratorB->flush()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchBuilderTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchBuilderTest.php deleted file mode 100644 index 4da09d30..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchBuilderTest.php +++ /dev/null @@ -1,86 +0,0 @@ -getMock('Guzzle\Batch\BatchTransferInterface'); - } - - private function getMockDivisor() - { - return $this->getMock('Guzzle\Batch\BatchDivisorInterface'); - } - - private function getMockBatchBuilder() - { - return BatchBuilder::factory() - ->transferWith($this->getMockTransfer()) - ->createBatchesWith($this->getMockDivisor()); - } - - public function testFactoryCreatesInstance() - { - $builder = BatchBuilder::factory(); - $this->assertInstanceOf('Guzzle\Batch\BatchBuilder', $builder); - } - - public function testAddsAutoFlush() - { - $batch = $this->getMockBatchBuilder()->autoFlushAt(10)->build(); - $this->assertInstanceOf('Guzzle\Batch\FlushingBatch', $batch); - } - - public function testAddsExceptionBuffering() - { - $batch = $this->getMockBatchBuilder()->bufferExceptions()->build(); - $this->assertInstanceOf('Guzzle\Batch\ExceptionBufferingBatch', $batch); - } - - public function testAddHistory() - { - $batch = $this->getMockBatchBuilder()->keepHistory()->build(); - $this->assertInstanceOf('Guzzle\Batch\HistoryBatch', $batch); - } - - public function testAddsNotify() - { - $batch = $this->getMockBatchBuilder()->notify(function() {})->build(); - $this->assertInstanceOf('Guzzle\Batch\NotifyingBatch', $batch); - } - - /** - * @expectedException Guzzle\Common\Exception\RuntimeException - */ - public function testTransferStrategyMustBeSet() - { - $batch = BatchBuilder::factory()->createBatchesWith($this->getMockDivisor())->build(); - } - - /** - * @expectedException Guzzle\Common\Exception\RuntimeException - */ - public function testDivisorStrategyMustBeSet() - { - $batch = BatchBuilder::factory()->transferWith($this->getMockTransfer())->build(); - } - - public function testTransfersRequests() - { - $batch = BatchBuilder::factory()->transferRequests(10)->build(); - $this->assertInstanceOf('Guzzle\Batch\BatchRequestTransfer', $this->readAttribute($batch, 'transferStrategy')); - } - - public function testTransfersCommands() - { - $batch = BatchBuilder::factory()->transferCommands(10)->build(); - $this->assertInstanceOf('Guzzle\Batch\BatchCommandTransfer', $this->readAttribute($batch, 'transferStrategy')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureDivisorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureDivisorTest.php deleted file mode 100644 index 753db7da..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureDivisorTest.php +++ /dev/null @@ -1,36 +0,0 @@ -createBatches($queue); - $this->assertEquals(array(array('foo'), array('baz')), $batches); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureTransferTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureTransferTest.php deleted file mode 100644 index 6ba7ae05..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchClosureTransferTest.php +++ /dev/null @@ -1,52 +0,0 @@ -itemsTransferred = null; - $itemsTransferred =& $this->itemsTransferred; - - $this->transferStrategy = new BatchClosureTransfer(function (array $batch) use (&$itemsTransferred) { - $itemsTransferred = $batch; - return; - }); - } - - public function testTransfersBatch() - { - $batchedItems = array('foo', 'bar', 'baz'); - $this->transferStrategy->transfer($batchedItems); - - $this->assertEquals($batchedItems, $this->itemsTransferred); - } - - public function testTransferBailsOnEmptyBatch() - { - $batchedItems = array(); - $this->transferStrategy->transfer($batchedItems); - - $this->assertNull($this->itemsTransferred); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testEnsuresCallableIsCallable() - { - $foo = new BatchClosureTransfer('uh oh!'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchCommandTransferTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchCommandTransferTest.php deleted file mode 100644 index a04efabb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchCommandTransferTest.php +++ /dev/null @@ -1,83 +0,0 @@ - $command) { - if ($i % 2) { - $command->setClient($client1); - } else { - $command->setClient($client2); - } - $queue[] = $command; - } - - $batch = new BatchCommandTransfer(2); - $this->assertEquals(array( - array($commands[0], $commands[2]), - array($commands[4]), - array($commands[1], $commands[3]) - ), $batch->createBatches($queue)); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testEnsuresAllItemsAreCommands() - { - $queue = new \SplQueue(); - $queue[] = 'foo'; - $batch = new BatchCommandTransfer(2); - $batch->createBatches($queue); - } - - public function testTransfersBatches() - { - $client = $this->getMockBuilder('Guzzle\Service\Client') - ->setMethods(array('send')) - ->getMock(); - $client->expects($this->once()) - ->method('send'); - $command = new Mc(); - $command->setClient($client); - $batch = new BatchCommandTransfer(2); - $batch->transfer(array($command)); - } - - public function testDoesNotTransfersEmptyBatches() - { - $batch = new BatchCommandTransfer(2); - $batch->transfer(array()); - } - - /** - * @expectedException Guzzle\Service\Exception\InconsistentClientTransferException - */ - public function testEnsuresAllCommandsUseTheSameClient() - { - $batch = new BatchCommandTransfer(2); - $client1 = new Client('http://www.example.com'); - $client2 = new Client('http://www.example.com'); - $command1 = new Mc(); - $command1->setClient($client1); - $command2 = new Mc(); - $command2->setClient($client2); - $batch->transfer(array($command1, $command2)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchRequestTransferTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchRequestTransferTest.php deleted file mode 100644 index dec7bd55..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchRequestTransferTest.php +++ /dev/null @@ -1,80 +0,0 @@ -setCurlMulti(new CurlMulti()); - - $client2 = new Client('http://www.example.com'); - $client2->setCurlMulti(new CurlMulti()); - - $request1 = $client1->get(); - $request2 = $client2->get(); - $request3 = $client1->get(); - $request4 = $client2->get(); - $request5 = $client1->get(); - - $queue = new \SplQueue(); - $queue[] = $request1; - $queue[] = $request2; - $queue[] = $request3; - $queue[] = $request4; - $queue[] = $request5; - - $batch = new BatchRequestTransfer(2); - $this->assertEquals(array( - array($request1, $request3), - array($request3), - array($request2, $request4) - ), $batch->createBatches($queue)); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - */ - public function testEnsuresAllItemsAreRequests() - { - $queue = new \SplQueue(); - $queue[] = 'foo'; - $batch = new BatchRequestTransfer(2); - $batch->createBatches($queue); - } - - public function testTransfersBatches() - { - $client = new Client('http://127.0.0.1:123'); - $request = $client->get(); - // For some reason... PHP unit clones the request, which emits a request.clone event. This causes the - // 'sorted' property of the event dispatcher to contain an array in the cloned request that is not present in - // the original. - $request->dispatch('request.clone'); - - $multi = $this->getMock('Guzzle\Http\Curl\CurlMultiInterface'); - $client->setCurlMulti($multi); - $multi->expects($this->once()) - ->method('add') - ->with($request); - $multi->expects($this->once()) - ->method('send'); - - $batch = new BatchRequestTransfer(2); - $batch->transfer(array($request)); - } - - public function testDoesNotTransfersEmptyBatches() - { - $batch = new BatchRequestTransfer(2); - $batch->transfer(array()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchSizeDivisorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchSizeDivisorTest.php deleted file mode 100644 index 5542228f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchSizeDivisorTest.php +++ /dev/null @@ -1,24 +0,0 @@ -assertEquals(3, $d->getSize()); - $d->setSize(2); - $batches = $d->createBatches($queue); - $this->assertEquals(array(array('foo', 'baz'), array('bar')), $batches); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchTest.php deleted file mode 100644 index 296f57ae..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/BatchTest.php +++ /dev/null @@ -1,91 +0,0 @@ -getMock('Guzzle\Batch\BatchTransferInterface'); - } - - private function getMockDivisor() - { - return $this->getMock('Guzzle\Batch\BatchDivisorInterface'); - } - - public function testAddsItemsToQueue() - { - $batch = new Batch($this->getMockTransfer(), $this->getMockDivisor()); - $this->assertSame($batch, $batch->add('foo')); - $this->assertEquals(1, count($batch)); - } - - public function testFlushReturnsItems() - { - $transfer = $this->getMockTransfer(); - $transfer->expects($this->exactly(2)) - ->method('transfer'); - - $divisor = $this->getMockDivisor(); - $divisor->expects($this->once()) - ->method('createBatches') - ->will($this->returnValue(array(array('foo', 'baz'), array('bar')))); - - $batch = new Batch($transfer, $divisor); - - $batch->add('foo')->add('baz')->add('bar'); - $items = $batch->flush(); - - $this->assertEquals(array('foo', 'baz', 'bar'), $items); - } - - public function testThrowsExceptionContainingTheFailedBatch() - { - $called = 0; - $originalException = new \Exception('Foo!'); - - $transfer = $this->getMockTransfer(); - $transfer->expects($this->exactly(2)) - ->method('transfer') - ->will($this->returnCallback(function () use (&$called, $originalException) { - if (++$called == 2) { - throw $originalException; - } - })); - - $divisor = $this->getMockDivisor(); - $batch = new Batch($transfer, $divisor); - - // PHPunit clones objects before passing them to a callback. - // Horrible hack to get around this! - $queue = $this->readAttribute($batch, 'queue'); - - $divisor->expects($this->once()) - ->method('createBatches') - ->will($this->returnCallback(function ($batch) use ($queue) { - foreach ($queue as $item) { - $items[] = $item; - } - return array_chunk($items, 2); - })); - - $batch->add('foo')->add('baz')->add('bar')->add('bee')->add('boo'); - $this->assertFalse($batch->isEmpty()); - - try { - $items = $batch->flush(); - $this->fail('Expected exception'); - } catch (BatchTransferException $e) { - $this->assertEquals($originalException, $e->getPrevious()); - $this->assertEquals(array('bar', 'bee'), array_values($e->getBatch())); - $this->assertEquals(1, count($batch)); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/ExceptionBufferingBatchTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/ExceptionBufferingBatchTest.php deleted file mode 100644 index fd810b11..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/ExceptionBufferingBatchTest.php +++ /dev/null @@ -1,45 +0,0 @@ -getMockBuilder('Guzzle\Batch\BatchTransferInterface') - ->setMethods(array('transfer')) - ->getMock(); - - $d = new BatchSizeDivisor(1); - $batch = new Batch($t, $d); - - $called = 0; - $t->expects($this->exactly(3)) - ->method('transfer') - ->will($this->returnCallback(function ($batch) use (&$called) { - if (++$called === 2) { - throw new \Exception('Foo'); - } - })); - - $decorator = new ExceptionBufferingBatch($batch); - $decorator->add('foo')->add('baz')->add('bar'); - $result = $decorator->flush(); - - $e = $decorator->getExceptions(); - $this->assertEquals(1, count($e)); - $this->assertEquals(array('baz'), $e[0]->getBatch()); - - $decorator->clearExceptions(); - $this->assertEquals(0, count($decorator->getExceptions())); - - $this->assertEquals(array('foo', 'bar'), $result); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/FlushingBatchTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/FlushingBatchTest.php deleted file mode 100644 index 9b37a485..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/FlushingBatchTest.php +++ /dev/null @@ -1,40 +0,0 @@ -getMock('Guzzle\Batch\BatchTransferInterface', array('transfer')); - $d = $this->getMock('Guzzle\Batch\BatchDivisorInterface', array('createBatches')); - - $batch = new Batch($t, $d); - $queue = $this->readAttribute($batch, 'queue'); - - $d->expects($this->exactly(2)) - ->method('createBatches') - ->will($this->returnCallback(function () use ($queue) { - $items = array(); - foreach ($queue as $item) { - $items[] = $item; - } - return array($items); - })); - - $t->expects($this->exactly(2)) - ->method('transfer'); - - $flush = new FlushingBatch($batch, 3); - $this->assertEquals(3, $flush->getThreshold()); - $flush->setThreshold(2); - $flush->add('foo')->add('baz')->add('bar')->add('bee')->add('boo'); - $this->assertEquals(1, count($flush)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/HistoryBatchTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/HistoryBatchTest.php deleted file mode 100644 index 60d6f951..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/HistoryBatchTest.php +++ /dev/null @@ -1,26 +0,0 @@ -getMock('Guzzle\Batch\BatchTransferInterface'), - $this->getMock('Guzzle\Batch\BatchDivisorInterface') - ); - - $history = new HistoryBatch($batch); - $history->add('foo')->add('baz'); - $this->assertEquals(array('foo', 'baz'), $history->getHistory()); - $history->clearHistory(); - $this->assertEquals(array(), $history->getHistory()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/NotifyingBatchTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/NotifyingBatchTest.php deleted file mode 100644 index 69a89007..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Batch/NotifyingBatchTest.php +++ /dev/null @@ -1,45 +0,0 @@ -getMock('Guzzle\Batch\Batch', array('flush'), array( - $this->getMock('Guzzle\Batch\BatchTransferInterface'), - $this->getMock('Guzzle\Batch\BatchDivisorInterface') - )); - - $batch->expects($this->once()) - ->method('flush') - ->will($this->returnValue(array('foo', 'baz'))); - - $data = array(); - $decorator = new NotifyingBatch($batch, function ($batch) use (&$data) { - $data[] = $batch; - }); - - $decorator->add('foo')->add('baz'); - $decorator->flush(); - $this->assertEquals(array(array('foo', 'baz')), $data); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testEnsuresCallableIsValid() - { - $batch = new Batch( - $this->getMock('Guzzle\Batch\BatchTransferInterface'), - $this->getMock('Guzzle\Batch\BatchDivisorInterface') - ); - $decorator = new NotifyingBatch($batch, 'foo'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterFactoryTest.php deleted file mode 100644 index c4140a91..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterFactoryTest.php +++ /dev/null @@ -1,64 +0,0 @@ -cache = new ArrayCache(); - $this->adapter = new DoctrineCacheAdapter($this->cache); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testEnsuresConfigIsObject() - { - CacheAdapterFactory::fromCache(array()); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testEnsuresKnownType() - { - CacheAdapterFactory::fromCache(new \stdClass()); - } - - public function cacheProvider() - { - return array( - array(new DoctrineCacheAdapter(new ArrayCache()), 'Guzzle\Cache\DoctrineCacheAdapter'), - array(new ArrayCache(), 'Guzzle\Cache\DoctrineCacheAdapter'), - array(StorageFactory::factory(array('adapter' => 'memory')), 'Guzzle\Cache\Zf2CacheAdapter'), - ); - } - - /** - * @dataProvider cacheProvider - */ - public function testCreatesNullCacheAdapterByDefault($cache, $type) - { - $adapter = CacheAdapterFactory::fromCache($cache); - $this->assertInstanceOf($type, $adapter); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterTest.php deleted file mode 100644 index 3e30dddc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/CacheAdapterTest.php +++ /dev/null @@ -1,68 +0,0 @@ -cache = new ArrayCache(); - $this->adapter = new DoctrineCacheAdapter($this->cache); - } - - /** - * Cleans up the environment after running a test. - */ - protected function tearDown() - { - $this->adapter = null; - $this->cache = null; - parent::tearDown(); - } - - public function testGetCacheObject() - { - $this->assertEquals($this->cache, $this->adapter->getCacheObject()); - } - - public function testSave() - { - $this->assertTrue($this->adapter->save('test', 'data', 1000)); - } - - public function testFetch() - { - $this->assertTrue($this->adapter->save('test', 'data', 1000)); - $this->assertEquals('data', $this->adapter->fetch('test')); - } - - public function testContains() - { - $this->assertTrue($this->adapter->save('test', 'data', 1000)); - $this->assertTrue($this->adapter->contains('test')); - } - - public function testDelete() - { - $this->assertTrue($this->adapter->save('test', 'data', 1000)); - $this->assertTrue($this->adapter->delete('test')); - $this->assertFalse($this->adapter->contains('test')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/ClosureCacheAdapterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/ClosureCacheAdapterTest.php deleted file mode 100644 index 12de65b5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/ClosureCacheAdapterTest.php +++ /dev/null @@ -1,94 +0,0 @@ -callables = array( - 'contains' => function($id, $options = array()) use ($that) { - return array_key_exists($id, $that->data); - }, - 'delete' => function($id, $options = array()) use ($that) { - unset($that->data[$id]); - return true; - }, - 'fetch' => function($id, $options = array()) use ($that) { - return array_key_exists($id, $that->data) ? $that->data[$id] : null; - }, - 'save' => function($id, $data, $lifeTime, $options = array()) use ($that) { - $that->data[$id] = $data; - return true; - } - ); - - $this->adapter = new ClosureCacheAdapter($this->callables); - } - - /** - * Cleans up the environment after running a test. - */ - protected function tearDown() - { - $this->cache = null; - $this->callables = null; - parent::tearDown(); - } - - /** - * @expectedException InvalidArgumentException - */ - public function testEnsuresCallablesArePresent() - { - $callables = $this->callables; - unset($callables['delete']); - $cache = new ClosureCacheAdapter($callables); - } - - public function testAllCallablesMustBePresent() - { - $cache = new ClosureCacheAdapter($this->callables); - } - - public function testCachesDataUsingCallables() - { - $this->assertTrue($this->adapter->save('test', 'data', 1000)); - $this->assertEquals('data', $this->adapter->fetch('test')); - } - - public function testChecksIfCacheContainsKeys() - { - $this->adapter->save('test', 'data', 1000); - $this->assertTrue($this->adapter->contains('test')); - $this->assertFalse($this->adapter->contains('foo')); - } - - public function testDeletesFromCacheByKey() - { - $this->adapter->save('test', 'data', 1000); - $this->assertTrue($this->adapter->contains('test')); - $this->adapter->delete('test'); - $this->assertFalse($this->adapter->contains('test')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/NullCacheAdapterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/NullCacheAdapterTest.php deleted file mode 100644 index e05df3f7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/NullCacheAdapterTest.php +++ /dev/null @@ -1,20 +0,0 @@ -assertEquals(false, $c->contains('foo')); - $this->assertEquals(true, $c->delete('foo')); - $this->assertEquals(false, $c->fetch('foo')); - $this->assertEquals(true, $c->save('foo', 'bar')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/Zf2CacheAdapterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/Zf2CacheAdapterTest.php deleted file mode 100644 index 9077c12d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Cache/Zf2CacheAdapterTest.php +++ /dev/null @@ -1,58 +0,0 @@ -cache = StorageFactory::factory(array( - 'adapter' => 'memory' - )); - $this->adapter = new Zf2CacheAdapter($this->cache); - } - - /** - * Cleans up the environment after running a test. - */ - protected function tearDown() - { - $this->adapter = null; - $this->cache = null; - parent::tearDown(); - } - - public function testCachesDataUsingCallables() - { - $this->assertTrue($this->adapter->save('test', 'data', 1000)); - $this->assertEquals('data', $this->adapter->fetch('test')); - } - - public function testChecksIfCacheContainsKeys() - { - $this->adapter->save('test', 'data', 1000); - $this->assertTrue($this->adapter->contains('test')); - $this->assertFalse($this->adapter->contains('foo')); - } - - public function testDeletesFromCacheByKey() - { - $this->adapter->save('test', 'data', 1000); - $this->assertTrue($this->adapter->contains('test')); - $this->adapter->delete('test'); - $this->assertFalse($this->adapter->contains('test')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/AbstractHasDispatcherTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/AbstractHasDispatcherTest.php deleted file mode 100644 index 19d12e6f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/AbstractHasDispatcherTest.php +++ /dev/null @@ -1,63 +0,0 @@ -assertEquals(array(), AbstractHasDispatcher::getAllEvents()); - } - - public function testAllowsDispatcherToBeInjected() - { - $d = new EventDispatcher(); - $mock = $this->getMockForAbstractClass('Guzzle\Common\AbstractHasDispatcher'); - $this->assertSame($mock, $mock->setEventDispatcher($d)); - $this->assertSame($d, $mock->getEventDispatcher()); - } - - public function testCreatesDefaultEventDispatcherIfNeeded() - { - $mock = $this->getMockForAbstractClass('Guzzle\Common\AbstractHasDispatcher'); - $this->assertInstanceOf('Symfony\Component\EventDispatcher\EventDispatcher', $mock->getEventDispatcher()); - } - - public function testHelperDispatchesEvents() - { - $data = array(); - $mock = $this->getMockForAbstractClass('Guzzle\Common\AbstractHasDispatcher'); - $mock->getEventDispatcher()->addListener('test', function(Event $e) use (&$data) { - $data = $e->getIterator()->getArrayCopy(); - }); - $mock->dispatch('test', array( - 'param' => 'abc' - )); - $this->assertEquals(array( - 'param' => 'abc', - ), $data); - } - - public function testHelperAttachesSubscribers() - { - $mock = $this->getMockForAbstractClass('Guzzle\Common\AbstractHasDispatcher'); - $subscriber = $this->getMockForAbstractClass('Symfony\Component\EventDispatcher\EventSubscriberInterface'); - - $dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher') - ->setMethods(array('addSubscriber')) - ->getMock(); - - $dispatcher->expects($this->once()) - ->method('addSubscriber'); - - $mock->setEventDispatcher($dispatcher); - $mock->addSubscriber($subscriber); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/CollectionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/CollectionTest.php deleted file mode 100644 index 0648a02b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/CollectionTest.php +++ /dev/null @@ -1,529 +0,0 @@ -coll = new Collection(); - } - - public function testConstructorCanBeCalledWithNoParams() - { - $this->coll = new Collection(); - $p = $this->coll->getAll(); - $this->assertEmpty($p, '-> Collection must be empty when no data is passed'); - } - - public function testConstructorCanBeCalledWithParams() - { - $testData = array( - 'test' => 'value', - 'test_2' => 'value2' - ); - $this->coll = new Collection($testData); - $this->assertEquals($this->coll->getAll(), $testData, '-> getAll() must return the data passed in the constructor'); - $this->assertEquals($this->coll->getAll(), $this->coll->toArray()); - } - - public function testImplementsIteratorAggregate() - { - $this->coll->set('key', 'value'); - $this->assertInstanceOf('ArrayIterator', $this->coll->getIterator()); - $this->assertEquals(1, count($this->coll)); - $total = 0; - foreach ($this->coll as $key => $value) { - $this->assertEquals('key', $key); - $this->assertEquals('value', $value); - $total++; - } - $this->assertEquals(1, $total); - } - - public function testCanAddValuesToExistingKeysByUsingArray() - { - $this->coll->add('test', 'value1'); - $this->assertEquals($this->coll->getAll(), array('test' => 'value1')); - $this->coll->add('test', 'value2'); - $this->assertEquals($this->coll->getAll(), array('test' => array('value1', 'value2'))); - $this->coll->add('test', 'value3'); - $this->assertEquals($this->coll->getAll(), array('test' => array('value1', 'value2', 'value3'))); - } - - public function testHandlesMergingInDisparateDataSources() - { - $params = array( - 'test' => 'value1', - 'test2' => 'value2', - 'test3' => array('value3', 'value4') - ); - $this->coll->merge($params); - $this->assertEquals($this->coll->getAll(), $params); - - // Pass the same object to itself - $this->assertEquals($this->coll->merge($this->coll), $this->coll); - } - - public function testCanClearAllDataOrSpecificKeys() - { - $this->coll->merge(array( - 'test' => 'value1', - 'test2' => 'value2' - )); - - // Clear a specific parameter by name - $this->coll->remove('test'); - - $this->assertEquals($this->coll->getAll(), array( - 'test2' => 'value2' - )); - - // Clear all parameters - $this->coll->clear(); - - $this->assertEquals($this->coll->getAll(), array()); - } - - public function testGetsValuesByKey() - { - $this->assertNull($this->coll->get('test')); - $this->coll->add('test', 'value'); - $this->assertEquals('value', $this->coll->get('test')); - $this->coll->set('test2', 'v2'); - $this->coll->set('test3', 'v3'); - $this->assertEquals(array( - 'test' => 'value', - 'test2' => 'v2' - ), $this->coll->getAll(array('test', 'test2'))); - } - - public function testProvidesKeys() - { - $this->assertEquals(array(), $this->coll->getKeys()); - $this->coll->merge(array( - 'test1' => 'value1', - 'test2' => 'value2' - )); - $this->assertEquals(array('test1', 'test2'), $this->coll->getKeys()); - // Returns the cached array previously returned - $this->assertEquals(array('test1', 'test2'), $this->coll->getKeys()); - $this->coll->remove('test1'); - $this->assertEquals(array('test2'), $this->coll->getKeys()); - $this->coll->add('test3', 'value3'); - $this->assertEquals(array('test2', 'test3'), $this->coll->getKeys()); - } - - public function testChecksIfHasKey() - { - $this->assertFalse($this->coll->hasKey('test')); - $this->coll->add('test', 'value'); - $this->assertEquals(true, $this->coll->hasKey('test')); - $this->coll->add('test2', 'value2'); - $this->assertEquals(true, $this->coll->hasKey('test')); - $this->assertEquals(true, $this->coll->hasKey('test2')); - $this->assertFalse($this->coll->hasKey('testing')); - $this->assertEquals(false, $this->coll->hasKey('AB-C', 'junk')); - } - - public function testChecksIfHasValue() - { - $this->assertFalse($this->coll->hasValue('value')); - $this->coll->add('test', 'value'); - $this->assertEquals('test', $this->coll->hasValue('value')); - $this->coll->add('test2', 'value2'); - $this->assertEquals('test', $this->coll->hasValue('value')); - $this->assertEquals('test2', $this->coll->hasValue('value2')); - $this->assertFalse($this->coll->hasValue('val')); - } - - public function testCanGetAllValuesByArray() - { - $this->coll->add('foo', 'bar'); - $this->coll->add('tEsT', 'value'); - $this->coll->add('tesTing', 'v2'); - $this->coll->add('key', 'v3'); - $this->assertNull($this->coll->get('test')); - $this->assertEquals(array( - 'foo' => 'bar', - 'tEsT' => 'value', - 'tesTing' => 'v2' - ), $this->coll->getAll(array( - 'foo', 'tesTing', 'tEsT' - ))); - } - - public function testImplementsCount() - { - $data = new Collection(); - $this->assertEquals(0, $data->count()); - $data->add('key', 'value'); - $this->assertEquals(1, count($data)); - $data->add('key', 'value2'); - $this->assertEquals(1, count($data)); - $data->add('key_2', 'value3'); - $this->assertEquals(2, count($data)); - } - - public function testAddParamsByMerging() - { - $params = array( - 'test' => 'value1', - 'test2' => 'value2', - 'test3' => array('value3', 'value4') - ); - - // Add some parameters - $this->coll->merge($params); - - // Add more parameters by merging them in - $this->coll->merge(array( - 'test' => 'another', - 'different_key' => 'new value' - )); - - $this->assertEquals(array( - 'test' => array('value1', 'another'), - 'test2' => 'value2', - 'test3' => array('value3', 'value4'), - 'different_key' => 'new value' - ), $this->coll->getAll()); - } - - public function testAllowsFunctionalFilter() - { - $this->coll->merge(array( - 'fruit' => 'apple', - 'number' => 'ten', - 'prepositions' => array('about', 'above', 'across', 'after'), - 'same_number' => 'ten' - )); - - $filtered = $this->coll->filter(function($key, $value) { - return $value == 'ten'; - }); - - $this->assertNotEquals($filtered, $this->coll); - - $this->assertEquals(array( - 'number' => 'ten', - 'same_number' => 'ten' - ), $filtered->getAll()); - } - - public function testAllowsFunctionalMapping() - { - $this->coll->merge(array( - 'number_1' => 1, - 'number_2' => 2, - 'number_3' => 3 - )); - - $mapped = $this->coll->map(function($key, $value) { - return $value * $value; - }); - - $this->assertNotEquals($mapped, $this->coll); - - $this->assertEquals(array( - 'number_1' => 1, - 'number_2' => 4, - 'number_3' => 9 - ), $mapped->getAll()); - } - - public function testImplementsArrayAccess() - { - $this->coll->merge(array( - 'k1' => 'v1', - 'k2' => 'v2' - )); - - $this->assertTrue($this->coll->offsetExists('k1')); - $this->assertFalse($this->coll->offsetExists('Krull')); - - $this->coll->offsetSet('k3', 'v3'); - $this->assertEquals('v3', $this->coll->offsetGet('k3')); - $this->assertEquals('v3', $this->coll->get('k3')); - - $this->coll->offsetUnset('k1'); - $this->assertFalse($this->coll->offsetExists('k1')); - } - - public function testUsesStaticWhenCreatingNew() - { - $qs = new QueryString(array( - 'a' => 'b', - 'c' => 'd' - )); - - $this->assertInstanceOf('Guzzle\\Http\\QueryString', $qs->map(function($a, $b) {})); - $this->assertInstanceOf('Guzzle\\Common\\Collection', $qs->map(function($a, $b) {}, array(), false)); - - $this->assertInstanceOf('Guzzle\\Http\\QueryString', $qs->filter(function($a, $b) {})); - $this->assertInstanceOf('Guzzle\\Common\\Collection', $qs->filter(function($a, $b) {}, false)); - } - - public function testCanReplaceAllData() - { - $this->assertSame($this->coll, $this->coll->replace(array( - 'a' => '123' - ))); - - $this->assertEquals(array( - 'a' => '123' - ), $this->coll->getAll()); - } - - public function dataProvider() - { - return array( - array('this_is_a_test', '{a}_is_a_{b}', array( - 'a' => 'this', - 'b' => 'test' - )), - array('this_is_a_test', '{abc}_is_a_{0}', array( - 'abc' => 'this', - 0 => 'test' - )), - array('this_is_a_test', '{abc}_is_a_{0}', array( - 'abc' => 'this', - 0 => 'test' - )), - array('this_is_a_test', 'this_is_a_test', array( - 'abc' => 'this' - )), - array('{abc}_is_{not_found}a_{0}', '{abc}_is_{not_found}a_{0}', array()) - ); - } - - /** - * @dataProvider dataProvider - */ - public function testInjectsConfigData($output, $input, $config) - { - $collection = new Collection($config); - $this->assertEquals($output, $collection->inject($input)); - } - - public function testCanSearchByKey() - { - $collection = new Collection(array( - 'foo' => 'bar', - 'BaZ' => 'pho' - )); - - $this->assertEquals('foo', $collection->keySearch('FOO')); - $this->assertEquals('BaZ', $collection->keySearch('baz')); - $this->assertEquals(false, $collection->keySearch('Bar')); - } - - public function testPreparesFromConfig() - { - $c = Collection::fromConfig(array( - 'a' => '123', - 'base_url' => 'http://www.test.com/' - ), array( - 'a' => 'xyz', - 'b' => 'lol' - ), array('a')); - - $this->assertInstanceOf('Guzzle\Common\Collection', $c); - $this->assertEquals(array( - 'a' => '123', - 'b' => 'lol', - 'base_url' => 'http://www.test.com/' - ), $c->getAll()); - - try { - $c = Collection::fromConfig(array(), array(), array('a')); - $this->fail('Exception not throw when missing config'); - } catch (InvalidArgumentException $e) { - } - } - - function falseyDataProvider() - { - return array( - array(false, false), - array(null, null), - array('', ''), - array(array(), array()), - array(0, 0), - ); - } - - /** - * @dataProvider falseyDataProvider - */ - public function testReturnsCorrectData($a, $b) - { - $c = new Collection(array('value' => $a)); - $this->assertSame($b, $c->get('value')); - } - - public function testRetrievesNestedKeysUsingPath() - { - $data = array( - 'foo' => 'bar', - 'baz' => array( - 'mesa' => array( - 'jar' => 'jar' - ) - ) - ); - $collection = new Collection($data); - $this->assertEquals('bar', $collection->getPath('foo')); - $this->assertEquals('jar', $collection->getPath('baz/mesa/jar')); - $this->assertNull($collection->getPath('wewewf')); - $this->assertNull($collection->getPath('baz/mesa/jar/jar')); - } - - public function testFalseyKeysStillDescend() - { - $collection = new Collection(array( - '0' => array( - 'a' => 'jar' - ), - 1 => 'other' - )); - $this->assertEquals('jar', $collection->getPath('0/a')); - $this->assertEquals('other', $collection->getPath('1')); - } - - public function getPathProvider() - { - $data = array( - 'foo' => 'bar', - 'baz' => array( - 'mesa' => array( - 'jar' => 'jar', - 'array' => array('a', 'b', 'c') - ), - 'bar' => array( - 'baz' => 'bam', - 'array' => array('d', 'e', 'f') - ) - ), - 'bam' => array( - array('foo' => 1), - array('foo' => 2), - array('array' => array('h', 'i')) - ) - ); - $c = new Collection($data); - - return array( - // Simple path selectors - array($c, 'foo', 'bar'), - array($c, 'baz', $data['baz']), - array($c, 'bam', $data['bam']), - array($c, 'baz/mesa', $data['baz']['mesa']), - array($c, 'baz/mesa/jar', 'jar'), - // Merge everything two levels under baz - array($c, 'baz/*', array( - 'jar' => 'jar', - 'array' => array_merge($data['baz']['mesa']['array'], $data['baz']['bar']['array']), - 'baz' => 'bam' - )), - // Does not barf on missing keys - array($c, 'fefwfw', null), - // Does not barf when a wildcard does not resolve correctly - array($c, '*/*/*/*/*/wefwfe', array()), - // Allows custom separator - array($c, '*|mesa', $data['baz']['mesa'], '|'), - // Merge all 'array' keys two levels under baz (the trailing * does not hurt the results) - array($c, 'baz/*/array/*', array_merge($data['baz']['mesa']['array'], $data['baz']['bar']['array'])), - // Merge all 'array' keys two levels under baz - array($c, 'baz/*/array', array_merge($data['baz']['mesa']['array'], $data['baz']['bar']['array'])), - array($c, 'baz/mesa/array', $data['baz']['mesa']['array']), - // Having a trailing * does not hurt the results - array($c, 'baz/mesa/array/*', $data['baz']['mesa']['array']), - // Merge of anything one level deep - array($c, '*', array_merge(array('bar'), $data['baz'], $data['bam'])), - // Funky merge of anything two levels deep - array($c, '*/*', array( - 'jar' => 'jar', - 'array' => array('a', 'b', 'c', 'd', 'e', 'f', 'h', 'i'), - 'baz' => 'bam', - 'foo' => array(1, 2) - )), - // Funky merge of all 'array' keys that are two levels deep - array($c, '*/*/array', array('a', 'b', 'c', 'd', 'e', 'f', 'h', 'i')) - ); - } - - /** - * @dataProvider getPathProvider - */ - public function testGetPath(Collection $c, $path, $expected, $separator = '/') - { - $this->assertEquals($expected, $c->getPath($path, $separator)); - } - - public function testOverridesSettings() - { - $c = new Collection(array('foo' => 1, 'baz' => 2, 'bar' => 3)); - $c->overwriteWith(array('foo' => 10, 'bar' => 300)); - $this->assertEquals(array('foo' => 10, 'baz' => 2, 'bar' => 300), $c->getAll()); - } - - public function testOverwriteWithCollection() - { - $c = new Collection(array('foo' => 1, 'baz' => 2, 'bar' => 3)); - $b = new Collection(array('foo' => 10, 'bar' => 300)); - $c->overwriteWith($b); - $this->assertEquals(array('foo' => 10, 'baz' => 2, 'bar' => 300), $c->getAll()); - } - - public function testOverwriteWithTraversable() - { - $c = new Collection(array('foo' => 1, 'baz' => 2, 'bar' => 3)); - $b = new Collection(array('foo' => 10, 'bar' => 300)); - $c->overwriteWith($b->getIterator()); - $this->assertEquals(array('foo' => 10, 'baz' => 2, 'bar' => 300), $c->getAll()); - } - - public function testCanSetNestedPathValueThatDoesNotExist() - { - $c = new Collection(array()); - $c->setPath('foo/bar/baz/123', 'hi'); - $this->assertEquals('hi', $c['foo']['bar']['baz']['123']); - } - - public function testCanSetNestedPathValueThatExists() - { - $c = new Collection(array('foo' => array('bar' => 'test'))); - $c->setPath('foo/bar', 'hi'); - $this->assertEquals('hi', $c['foo']['bar']); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - */ - public function testVerifiesNestedPathIsValidAtExactLevel() - { - $c = new Collection(array('foo' => 'bar')); - $c->setPath('foo/bar', 'hi'); - $this->assertEquals('hi', $c['foo']['bar']); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - */ - public function testVerifiesThatNestedPathIsValidAtAnyLevel() - { - $c = new Collection(array('foo' => 'bar')); - $c->setPath('foo/bar/baz', 'test'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/EventTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/EventTest.php deleted file mode 100644 index 5484e144..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/EventTest.php +++ /dev/null @@ -1,62 +0,0 @@ - '123', - 'other' => '456', - 'event' => 'test.notify' - )); - } - - public function testAllowsParameterInjection() - { - $event = new Event(array( - 'test' => '123' - )); - $this->assertEquals('123', $event['test']); - } - - public function testImplementsArrayAccess() - { - $event = $this->getEvent(); - $this->assertEquals('123', $event['test']); - $this->assertNull($event['foobar']); - - $this->assertTrue($event->offsetExists('test')); - $this->assertFalse($event->offsetExists('foobar')); - - unset($event['test']); - $this->assertFalse($event->offsetExists('test')); - - $event['test'] = 'new'; - $this->assertEquals('new', $event['test']); - } - - public function testImplementsIteratorAggregate() - { - $event = $this->getEvent(); - $this->assertInstanceOf('ArrayIterator', $event->getIterator()); - } - - public function testConvertsToArray() - { - $this->assertEquals(array( - 'test' => '123', - 'other' => '456', - 'event' => 'test.notify' - ), $this->getEvent()->toArray()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/BatchTransferExceptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/BatchTransferExceptionTest.php deleted file mode 100644 index c72a2a63..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/BatchTransferExceptionTest.php +++ /dev/null @@ -1,21 +0,0 @@ -getMock('Guzzle\Batch\BatchTransferInterface'); - $d = $this->getMock('Guzzle\Batch\BatchDivisorInterface'); - $transferException = new BatchTransferException(array('foo'), array(1, 2), $e, $t, $d); - $this->assertEquals(array('foo'), $transferException->getBatch()); - $this->assertSame($t, $transferException->getTransferStrategy()); - $this->assertSame($d, $transferException->getDivisorStrategy()); - $this->assertSame($e, $transferException->getPrevious()); - $this->assertEquals(array(1, 2), $transferException->getTransferredItems()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php deleted file mode 100644 index 2aecf2a0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php +++ /dev/null @@ -1,66 +0,0 @@ -getExceptions(); - $e->add($exceptions[0]); - $e->add($exceptions[1]); - $this->assertContains("(Exception) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $e->getMessage()); - $this->assertContains(" Test\n\n #0 ./", $e->getMessage()); - $this->assertSame($exceptions[0], $e->getFirst()); - } - - public function testCanSetExceptions() - { - $ex = new \Exception('foo'); - $e = new ExceptionCollection(); - $e->setExceptions(array($ex)); - $this->assertSame($ex, $e->getFirst()); - } - - public function testActsAsArray() - { - $e = new ExceptionCollection(); - $exceptions = $this->getExceptions(); - $e->add($exceptions[0]); - $e->add($exceptions[1]); - $this->assertEquals(2, count($e)); - $this->assertEquals($exceptions, $e->getIterator()->getArrayCopy()); - } - - public function testCanAddSelf() - { - $e1 = new ExceptionCollection(); - $e1->add(new \Exception("Test")); - $e2 = new ExceptionCollection('Meta description!'); - $e2->add(new \Exception("Test 2")); - $e3 = new ExceptionCollection(); - $e3->add(new \Exception('Baz')); - $e2->add($e3); - $e1->add($e2); - $message = $e1->getMessage(); - $this->assertContains("(Exception) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $message); - $this->assertContains("\n Test\n\n #0 ", $message); - $this->assertContains("\n\n(Guzzle\\Common\\Exception\\ExceptionCollection) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $message); - $this->assertContains("\n\n Meta description!\n\n", $message); - $this->assertContains(" (Exception) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $message); - $this->assertContains("\n Test 2\n\n #0 ", $message); - $this->assertContains(" (Exception) ./tests/Guzzle/Tests/Common/Exception/ExceptionCollectionTest.php line ", $message); - $this->assertContains(" Baz\n\n #0", $message); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/VersionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/VersionTest.php deleted file mode 100644 index c3a81d1e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Common/VersionTest.php +++ /dev/null @@ -1,27 +0,0 @@ -isRunning()) { - self::$server->flush(); - } else { - self::$server->start(); - } - } - - return self::$server; - } - - /** - * Set the service builder to use for tests - * - * @param ServiceBuilderInterface $builder Service builder - */ - public static function setServiceBuilder(ServiceBuilderInterface $builder) - { - self::$serviceBuilder = $builder; - } - - /** - * Get a service builder object that can be used throughout the service tests - * - * @return ServiceBuilder - */ - public static function getServiceBuilder() - { - if (!self::$serviceBuilder) { - throw new RuntimeException('No service builder has been set via setServiceBuilder()'); - } - - return self::$serviceBuilder; - } - - /** - * Check if an event dispatcher has a subscriber - * - * @param HasDispatcherInterface $dispatcher - * @param EventSubscriberInterface $subscriber - * - * @return bool - */ - protected function hasSubscriber(HasDispatcherInterface $dispatcher, EventSubscriberInterface $subscriber) - { - $class = get_class($subscriber); - $all = array_keys(call_user_func(array($class, 'getSubscribedEvents'))); - - foreach ($all as $i => $event) { - foreach ($dispatcher->getEventDispatcher()->getListeners($event) as $e) { - if ($e[0] === $subscriber) { - unset($all[$i]); - break; - } - } - } - - return count($all) == 0; - } - - /** - * Get a wildcard observer for an event dispatcher - * - * @param HasDispatcherInterface $hasDispatcher - * - * @return MockObserver - */ - public function getWildcardObserver(HasDispatcherInterface $hasDispatcher) - { - $class = get_class($hasDispatcher); - $o = new MockObserver(); - $events = call_user_func(array($class, 'getAllEvents')); - foreach ($events as $event) { - $hasDispatcher->getEventDispatcher()->addListener($event, array($o, 'update')); - } - - return $o; - } - - /** - * Set the mock response base path - * - * @param string $path Path to mock response folder - * - * @return GuzzleTestCase - */ - public static function setMockBasePath($path) - { - self::$mockBasePath = $path; - } - - /** - * Mark a request as being mocked - * - * @param RequestInterface $request - * - * @return self - */ - public function addMockedRequest(RequestInterface $request) - { - $this->requests[] = $request; - - return $this; - } - - /** - * Get all of the mocked requests - * - * @return array - */ - public function getMockedRequests() - { - return $this->requests; - } - - /** - * Get a mock response for a client by mock file name - * - * @param string $path Relative path to the mock response file - * - * @return Response - */ - public function getMockResponse($path) - { - return $path instanceof Response - ? $path - : MockPlugin::getMockFile(self::$mockBasePath . DIRECTORY_SEPARATOR . $path); - } - - /** - * Set a mock response from a mock file on the next client request. - * - * This method assumes that mock response files are located under the - * Command/Mock/ directory of the Service being tested - * (e.g. Unfuddle/Command/Mock/). A mock response is added to the next - * request sent by the client. - * - * @param Client $client Client object to modify - * @param string $paths Path to files within the Mock folder of the service - * - * @return MockPlugin returns the created mock plugin - */ - public function setMockResponse(Client $client, $paths) - { - $this->requests = array(); - $that = $this; - $mock = new MockPlugin(null, true); - $client->getEventDispatcher()->removeSubscriber($mock); - $mock->getEventDispatcher()->addListener('mock.request', function(Event $event) use ($that) { - $that->addMockedRequest($event['request']); - }); - - if ($paths instanceof Response) { - // A single response instance has been specified, create an array with that instance - // as the only element for the following loop to work as expected - $paths = array($paths); - } - - foreach ((array) $paths as $path) { - $mock->addResponse($this->getMockResponse($path)); - } - - $client->getEventDispatcher()->addSubscriber($mock); - - return $mock; - } - - /** - * Compare HTTP headers and use special markup to filter values - * A header prefixed with '!' means it must not exist - * A header prefixed with '_' means it must be ignored - * A header value of '*' means anything after the * will be ignored - * - * @param array $filteredHeaders Array of special headers - * @param array $actualHeaders Array of headers to check against - * - * @return array|bool Returns an array of the differences or FALSE if none - */ - public function compareHeaders($filteredHeaders, $actualHeaders) - { - $comparison = new HeaderComparison(); - - return $comparison->compare($filteredHeaders, $actualHeaders); - } - - /** - * Case insensitive assertContains - * - * @param string $needle Search string - * @param string $haystack Search this - * @param string $message Optional failure message - */ - public function assertContainsIns($needle, $haystack, $message = null) - { - $this->assertContains(strtolower($needle), strtolower($haystack), $message); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/AbstractEntityBodyDecoratorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/AbstractEntityBodyDecoratorTest.php deleted file mode 100644 index 20feaa87..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/AbstractEntityBodyDecoratorTest.php +++ /dev/null @@ -1,34 +0,0 @@ -getMockForAbstractClass('Guzzle\Http\AbstractEntityBodyDecorator', array($e)); - - $this->assertSame($e->getStream(), $mock->getStream()); - $this->assertSame($e->getContentLength(), $mock->getContentLength()); - $this->assertSame($e->getSize(), $mock->getSize()); - $this->assertSame($e->getContentMd5(), $mock->getContentMd5()); - $this->assertSame($e->getContentType(), $mock->getContentType()); - $this->assertSame($e->__toString(), $mock->__toString()); - $this->assertSame($e->getUri(), $mock->getUri()); - $this->assertSame($e->getStreamType(), $mock->getStreamType()); - $this->assertSame($e->getWrapper(), $mock->getWrapper()); - $this->assertSame($e->getWrapperData(), $mock->getWrapperData()); - $this->assertSame($e->isReadable(), $mock->isReadable()); - $this->assertSame($e->isWritable(), $mock->isWritable()); - $this->assertSame($e->isConsumed(), $mock->isConsumed()); - $this->assertSame($e->isLocal(), $mock->isLocal()); - $this->assertSame($e->isSeekable(), $mock->isSeekable()); - $this->assertSame($e->getContentEncoding(), $mock->getContentEncoding()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/CachingEntityBodyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/CachingEntityBodyTest.php deleted file mode 100644 index e6e6cdbf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/CachingEntityBodyTest.php +++ /dev/null @@ -1,249 +0,0 @@ -decorated = EntityBody::factory('testing'); - $this->body = new CachingEntityBody($this->decorated); - } - - public function testUsesRemoteSizeIfPossible() - { - $body = EntityBody::factory('test'); - $caching = new CachingEntityBody($body); - $this->assertEquals(4, $caching->getSize()); - $this->assertEquals(4, $caching->getContentLength()); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - * @expectedExceptionMessage does not support custom stream rewind - */ - public function testDoesNotAllowRewindFunction() - { - $this->body->setRewindFunction(true); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - * @expectedExceptionMessage Cannot seek to byte 10 - */ - public function testCannotSeekPastWhatHasBeenRead() - { - $this->body->seek(10); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - * @expectedExceptionMessage supports only SEEK_SET and SEEK_CUR - */ - public function testCannotUseSeekEnd() - { - $this->body->seek(2, SEEK_END); - } - - public function testChangingUnderlyingStreamUpdatesSizeAndStream() - { - $size = filesize(__FILE__); - $s = fopen(__FILE__, 'r'); - $this->body->setStream($s, $size); - $this->assertEquals($size, $this->body->getSize()); - $this->assertEquals($size, $this->decorated->getSize()); - $this->assertSame($s, $this->body->getStream()); - $this->assertSame($s, $this->decorated->getStream()); - } - - public function testRewindUsesSeek() - { - $a = EntityBody::factory('foo'); - $d = $this->getMockBuilder('Guzzle\Http\CachingEntityBody') - ->setMethods(array('seek')) - ->setConstructorArgs(array($a)) - ->getMock(); - $d->expects($this->once()) - ->method('seek') - ->with(0) - ->will($this->returnValue(true)); - $d->rewind(); - } - - public function testCanSeekToReadBytes() - { - $this->assertEquals('te', $this->body->read(2)); - $this->body->seek(0); - $this->assertEquals('test', $this->body->read(4)); - $this->assertEquals(4, $this->body->ftell()); - $this->body->seek(2); - $this->assertEquals(2, $this->body->ftell()); - $this->body->seek(2, SEEK_CUR); - $this->assertEquals(4, $this->body->ftell()); - $this->assertEquals('ing', $this->body->read(3)); - } - - public function testWritesToBufferStream() - { - $this->body->read(2); - $this->body->write('hi'); - $this->body->rewind(); - $this->assertEquals('tehiing', (string) $this->body); - } - - public function testReadLinesFromBothStreams() - { - $this->body->seek($this->body->ftell()); - $this->body->write("test\n123\nhello\n1234567890\n"); - $this->body->rewind(); - $this->assertEquals("test\n", $this->body->readLine(7)); - $this->assertEquals("123\n", $this->body->readLine(7)); - $this->assertEquals("hello\n", $this->body->readLine(7)); - $this->assertEquals("123456", $this->body->readLine(7)); - $this->assertEquals("7890\n", $this->body->readLine(7)); - // We overwrote the decorated stream, so no more data - $this->assertEquals('', $this->body->readLine(7)); - } - - public function testSkipsOverwrittenBytes() - { - $decorated = EntityBody::factory( - implode("\n", array_map(function ($n) { - return str_pad($n, 4, '0', STR_PAD_LEFT); - }, range(0, 25))) - ); - - $body = new CachingEntityBody($decorated); - - $this->assertEquals("0000\n", $body->readLine()); - $this->assertEquals("0001\n", $body->readLine()); - // Write over part of the body yet to be read, so skip some bytes - $this->assertEquals(5, $body->write("TEST\n")); - $this->assertEquals(5, $this->readAttribute($body, 'skipReadBytes')); - // Read, which skips bytes, then reads - $this->assertEquals("0003\n", $body->readLine()); - $this->assertEquals(0, $this->readAttribute($body, 'skipReadBytes')); - $this->assertEquals("0004\n", $body->readLine()); - $this->assertEquals("0005\n", $body->readLine()); - - // Overwrite part of the cached body (so don't skip any bytes) - $body->seek(5); - $this->assertEquals(5, $body->write("ABCD\n")); - $this->assertEquals(0, $this->readAttribute($body, 'skipReadBytes')); - $this->assertEquals("TEST\n", $body->readLine()); - $this->assertEquals("0003\n", $body->readLine()); - $this->assertEquals("0004\n", $body->readLine()); - $this->assertEquals("0005\n", $body->readLine()); - $this->assertEquals("0006\n", $body->readLine()); - $this->assertEquals(5, $body->write("1234\n")); - $this->assertEquals(5, $this->readAttribute($body, 'skipReadBytes')); - - // Seek to 0 and ensure the overwritten bit is replaced - $body->rewind(); - $this->assertEquals("0000\nABCD\nTEST\n0003\n0004\n0005\n0006\n1234\n0008\n0009\n", $body->read(50)); - - // Ensure that casting it to a string does not include the bit that was overwritten - $this->assertContains("0000\nABCD\nTEST\n0003\n0004\n0005\n0006\n1234\n0008\n0009\n", (string) $body); - } - - public function testWrapsContentType() - { - $a = $this->getMockBuilder('Guzzle\Http\EntityBody') - ->setMethods(array('getContentType')) - ->setConstructorArgs(array(fopen(__FILE__, 'r'))) - ->getMock(); - $a->expects($this->once()) - ->method('getContentType') - ->will($this->returnValue('foo')); - $d = new CachingEntityBody($a); - $this->assertEquals('foo', $d->getContentType()); - } - - public function testWrapsContentEncoding() - { - $a = $this->getMockBuilder('Guzzle\Http\EntityBody') - ->setMethods(array('getContentEncoding')) - ->setConstructorArgs(array(fopen(__FILE__, 'r'))) - ->getMock(); - $a->expects($this->once()) - ->method('getContentEncoding') - ->will($this->returnValue('foo')); - $d = new CachingEntityBody($a); - $this->assertEquals('foo', $d->getContentEncoding()); - } - - public function testWrapsMetadata() - { - $a = $this->getMockBuilder('Guzzle\Http\EntityBody') - ->setMethods(array('getMetadata', 'getWrapper', 'getWrapperData', 'getStreamType', 'getUri')) - ->setConstructorArgs(array(fopen(__FILE__, 'r'))) - ->getMock(); - - $a->expects($this->once()) - ->method('getMetadata') - ->will($this->returnValue(array())); - // Called twice for getWrapper and getWrapperData - $a->expects($this->exactly(1)) - ->method('getWrapper') - ->will($this->returnValue('wrapper')); - $a->expects($this->once()) - ->method('getWrapperData') - ->will($this->returnValue(array())); - $a->expects($this->once()) - ->method('getStreamType') - ->will($this->returnValue('baz')); - $a->expects($this->once()) - ->method('getUri') - ->will($this->returnValue('path/to/foo')); - - $d = new CachingEntityBody($a); - $this->assertEquals(array(), $d->getMetaData()); - $this->assertEquals('wrapper', $d->getWrapper()); - $this->assertEquals(array(), $d->getWrapperData()); - $this->assertEquals('baz', $d->getStreamType()); - $this->assertEquals('path/to/foo', $d->getUri()); - } - - public function testWrapsCustomData() - { - $a = $this->getMockBuilder('Guzzle\Http\EntityBody') - ->setMethods(array('getCustomData', 'setCustomData')) - ->setConstructorArgs(array(fopen(__FILE__, 'r'))) - ->getMock(); - - $a->expects($this->exactly(1)) - ->method('getCustomData') - ->with('foo') - ->will($this->returnValue('bar')); - - $a->expects($this->exactly(1)) - ->method('setCustomData') - ->with('foo', 'bar') - ->will($this->returnSelf()); - - $d = new CachingEntityBody($a); - $this->assertSame($d, $d->setCustomData('foo', 'bar')); - $this->assertEquals('bar', $d->getCustomData('foo')); - } - - public function testClosesBothStreams() - { - $s = fopen('php://temp', 'r'); - $a = EntityBody::factory($s); - $d = new CachingEntityBody($a); - $d->close(); - $this->assertFalse(is_resource($s)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ClientTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ClientTest.php deleted file mode 100644 index 4a91a18f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ClientTest.php +++ /dev/null @@ -1,601 +0,0 @@ -assertEquals('http://www.google.com/', $client->getBaseUrl()); - $this->assertSame($client, $client->setConfig(array( - 'test' => '123' - ))); - $this->assertEquals(array('test' => '123'), $client->getConfig()->getAll()); - $this->assertEquals('123', $client->getConfig('test')); - $this->assertSame($client, $client->setBaseUrl('http://www.test.com/{test}')); - $this->assertEquals('http://www.test.com/123', $client->getBaseUrl()); - $this->assertEquals('http://www.test.com/{test}', $client->getBaseUrl(false)); - - try { - $client->setConfig(false); - } catch (\InvalidArgumentException $e) { - } - } - - public function testDescribesEvents() - { - $this->assertEquals(array('client.create_request'), Client::getAllEvents()); - } - - public function testConstructorCanAcceptConfig() - { - $client = new Client('http://www.test.com/', array( - 'data' => '123' - )); - $this->assertEquals('123', $client->getConfig('data')); - } - - public function testCanUseCollectionAsConfig() - { - $client = new Client('http://www.google.com/'); - $client->setConfig(new Collection(array( - 'api' => 'v1', - 'key' => 'value', - 'base_url' => 'http://www.google.com/' - ))); - $this->assertEquals('v1', $client->getConfig('api')); - } - - public function testExpandsUriTemplatesUsingConfig() - { - $client = new Client('http://www.google.com/'); - $client->setConfig(array('api' => 'v1', 'key' => 'value', 'foo' => 'bar')); - $ref = new \ReflectionMethod($client, 'expandTemplate'); - $ref->setAccessible(true); - $this->assertEquals('Testing...api/v1/key/value', $ref->invoke($client, 'Testing...api/{api}/key/{key}')); - } - - public function testClientAttachersObserversToRequests() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - - $client = new Client($this->getServer()->getUrl()); - $logPlugin = $this->getLogPlugin(); - $client->getEventDispatcher()->addSubscriber($logPlugin); - - // Get a request from the client and ensure the the observer was - // attached to the new request - $request = $client->createRequest(); - $this->assertTrue($this->hasSubscriber($request, $logPlugin)); - } - - public function testClientReturnsValidBaseUrls() - { - $client = new Client('http://www.{foo}.{data}/', array( - 'data' => '123', - 'foo' => 'bar' - )); - $this->assertEquals('http://www.bar.123/', $client->getBaseUrl()); - $client->setBaseUrl('http://www.google.com/'); - $this->assertEquals('http://www.google.com/', $client->getBaseUrl()); - } - - public function testClientAddsCurlOptionsToRequests() - { - $client = new Client('http://www.test.com/', array( - 'api' => 'v1', - // Adds the option using the curl values - 'curl.options' => array( - 'CURLOPT_HTTPAUTH' => 'CURLAUTH_DIGEST', - 'abc' => 'foo', - 'blacklist' => 'abc', - 'debug' => true - ) - )); - - $request = $client->createRequest(); - $options = $request->getCurlOptions(); - $this->assertEquals(CURLAUTH_DIGEST, $options->get(CURLOPT_HTTPAUTH)); - $this->assertEquals('foo', $options->get('abc')); - $this->assertEquals('abc', $options->get('blacklist')); - } - - public function testClientAllowsFineGrainedSslControlButIsSecureByDefault() - { - $client = new Client('https://www.secure.com/'); - - // secure by default - $request = $client->createRequest(); - $options = $request->getCurlOptions(); - $this->assertTrue($options->get(CURLOPT_SSL_VERIFYPEER)); - - // set a capath if you prefer - $client = new Client('https://www.secure.com/'); - $client->setSslVerification(__DIR__); - $request = $client->createRequest(); - $options = $request->getCurlOptions(); - $this->assertSame(__DIR__, $options->get(CURLOPT_CAPATH)); - } - - public function testConfigSettingsControlSslConfiguration() - { - // Use the default ca certs on the system - $client = new Client('https://www.secure.com/', array('ssl.certificate_authority' => 'system')); - $this->assertNull($client->getConfig('curl.options')); - // Can set the cacert value as well - $client = new Client('https://www.secure.com/', array('ssl.certificate_authority' => false)); - $options = $client->getConfig('curl.options'); - $this->assertArrayNotHasKey(CURLOPT_CAINFO, $options); - $this->assertSame(false, $options[CURLOPT_SSL_VERIFYPEER]); - $this->assertSame(0, $options[CURLOPT_SSL_VERIFYHOST]); - } - - public function testClientAllowsUnsafeOperationIfRequested() - { - // be really unsafe if you insist - $client = new Client('https://www.secure.com/', array( - 'api' => 'v1' - )); - - $client->setSslVerification(false); - $request = $client->createRequest(); - $options = $request->getCurlOptions(); - $this->assertFalse($options->get(CURLOPT_SSL_VERIFYPEER)); - $this->assertNull($options->get(CURLOPT_CAINFO)); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - */ - public function testThrowsExceptionForInvalidCertificate() - { - $client = new Client('https://www.secure.com/'); - $client->setSslVerification('/path/to/missing/file'); - } - - public function testClientAllowsSettingSpecificSslCaInfo() - { - // set a file other than the provided cacert.pem - $client = new Client('https://www.secure.com/', array( - 'api' => 'v1' - )); - - $client->setSslVerification(__FILE__); - $request = $client->createRequest(); - $options = $request->getCurlOptions(); - $this->assertSame(__FILE__, $options->get(CURLOPT_CAINFO)); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testClientPreventsInadvertentInsecureVerifyHostSetting() - { - // set a file other than the provided cacert.pem - $client = new Client('https://www.secure.com/', array( - 'api' => 'v1' - )); - $client->setSslVerification(__FILE__, true, true); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testClientPreventsInvalidVerifyPeerSetting() - { - // set a file other than the provided cacert.pem - $client = new Client('https://www.secure.com/', array( - 'api' => 'v1' - )); - $client->setSslVerification(__FILE__, 'yes'); - } - - public function testClientAddsParamsToRequests() - { - Version::$emitWarnings = false; - $client = new Client('http://www.example.com', array( - 'api' => 'v1', - 'request.params' => array( - 'foo' => 'bar', - 'baz' => 'jar' - ) - )); - $request = $client->createRequest(); - $this->assertEquals('bar', $request->getParams()->get('foo')); - $this->assertEquals('jar', $request->getParams()->get('baz')); - Version::$emitWarnings = true; - } - - public function urlProvider() - { - $u = $this->getServer()->getUrl() . 'base/'; - $u2 = $this->getServer()->getUrl() . 'base?z=1'; - return array( - array($u, '', $u), - array($u, 'relative/path/to/resource', $u . 'relative/path/to/resource'), - array($u, 'relative/path/to/resource?a=b&c=d', $u . 'relative/path/to/resource?a=b&c=d'), - array($u, '/absolute/path/to/resource', $this->getServer()->getUrl() . 'absolute/path/to/resource'), - array($u, '/absolute/path/to/resource?a=b&c=d', $this->getServer()->getUrl() . 'absolute/path/to/resource?a=b&c=d'), - array($u2, '/absolute/path/to/resource?a=b&c=d', $this->getServer()->getUrl() . 'absolute/path/to/resource?a=b&c=d&z=1'), - array($u2, 'relative/path/to/resource', $this->getServer()->getUrl() . 'base/relative/path/to/resource?z=1'), - array($u2, 'relative/path/to/resource?another=query', $this->getServer()->getUrl() . 'base/relative/path/to/resource?another=query&z=1') - ); - } - - /** - * @dataProvider urlProvider - */ - public function testBuildsRelativeUrls($baseUrl, $url, $result) - { - $client = new Client($baseUrl); - $this->assertEquals($result, $client->get($url)->getUrl()); - } - - public function testAllowsConfigsToBeChangedAndInjectedInBaseUrl() - { - $client = new Client('http://{a}/{b}'); - $this->assertEquals('http:///', $client->getBaseUrl()); - $this->assertEquals('http://{a}/{b}', $client->getBaseUrl(false)); - $client->setConfig(array( - 'a' => 'test.com', - 'b' => 'index.html' - )); - $this->assertEquals('http://test.com/index.html', $client->getBaseUrl()); - } - - public function testCreatesRequestsWithDefaultValues() - { - $client = new Client($this->getServer()->getUrl() . 'base'); - - // Create a GET request - $request = $client->createRequest(); - $this->assertEquals('GET', $request->getMethod()); - $this->assertEquals($client->getBaseUrl(), $request->getUrl()); - - // Create a DELETE request - $request = $client->createRequest('DELETE'); - $this->assertEquals('DELETE', $request->getMethod()); - $this->assertEquals($client->getBaseUrl(), $request->getUrl()); - - // Create a HEAD request with custom headers - $request = $client->createRequest('HEAD', 'http://www.test.com/'); - $this->assertEquals('HEAD', $request->getMethod()); - $this->assertEquals('http://www.test.com/', $request->getUrl()); - - // Create a PUT request - $request = $client->createRequest('PUT'); - $this->assertEquals('PUT', $request->getMethod()); - - // Create a PUT request with injected config - $client->getConfig()->set('a', 1)->set('b', 2); - $request = $client->createRequest('PUT', '/path/{a}?q={b}'); - $this->assertEquals($request->getUrl(), $this->getServer()->getUrl() . 'path/1?q=2'); - } - - public function testClientHasHelperMethodsForCreatingRequests() - { - $url = $this->getServer()->getUrl(); - $client = new Client($url . 'base'); - $this->assertEquals('GET', $client->get()->getMethod()); - $this->assertEquals('PUT', $client->put()->getMethod()); - $this->assertEquals('POST', $client->post()->getMethod()); - $this->assertEquals('HEAD', $client->head()->getMethod()); - $this->assertEquals('DELETE', $client->delete()->getMethod()); - $this->assertEquals('OPTIONS', $client->options()->getMethod()); - $this->assertEquals('PATCH', $client->patch()->getMethod()); - $this->assertEquals($url . 'base/abc', $client->get('abc')->getUrl()); - $this->assertEquals($url . 'zxy', $client->put('/zxy')->getUrl()); - $this->assertEquals($url . 'zxy?a=b', $client->post('/zxy?a=b')->getUrl()); - $this->assertEquals($url . 'base?a=b', $client->head('?a=b')->getUrl()); - $this->assertEquals($url . 'base?a=b', $client->delete('/base?a=b')->getUrl()); - } - - public function testClientInjectsConfigsIntoUrls() - { - $client = new Client('http://www.test.com/api/v1', array( - 'test' => '123' - )); - $request = $client->get('relative/{test}'); - $this->assertEquals('http://www.test.com/api/v1/relative/123', $request->getUrl()); - } - - public function testAllowsEmptyBaseUrl() - { - $client = new Client(); - $request = $client->get('http://www.google.com/'); - $this->assertEquals('http://www.google.com/', $request->getUrl()); - $request->setResponse(new Response(200), true); - $request->send(); - } - - public function testAllowsCustomCurlMultiObjects() - { - $mock = $this->getMock('Guzzle\\Http\\Curl\\CurlMulti', array('add', 'send')); - $mock->expects($this->once()) - ->method('add') - ->will($this->returnSelf()); - $mock->expects($this->once()) - ->method('send') - ->will($this->returnSelf()); - - $client = new Client(); - $client->setCurlMulti($mock); - - $request = $client->get(); - $request->setResponse(new Response(200), true); - $client->send($request); - } - - public function testClientSendsMultipleRequests() - { - $client = new Client($this->getServer()->getUrl()); - $mock = new MockPlugin(); - - $responses = array( - new Response(200), - new Response(201), - new Response(202) - ); - - $mock->addResponse($responses[0]); - $mock->addResponse($responses[1]); - $mock->addResponse($responses[2]); - - $client->getEventDispatcher()->addSubscriber($mock); - - $requests = array( - $client->get(), - $client->head(), - $client->put('/', null, 'test') - ); - - $this->assertEquals(array( - $responses[0], - $responses[1], - $responses[2] - ), $client->send($requests)); - } - - public function testClientSendsSingleRequest() - { - $client = new Client($this->getServer()->getUrl()); - $mock = new MockPlugin(); - $response = new Response(200); - $mock->addResponse($response); - $client->getEventDispatcher()->addSubscriber($mock); - $this->assertEquals($response, $client->send($client->get())); - } - - /** - * @expectedException \Guzzle\Http\Exception\BadResponseException - */ - public function testClientThrowsExceptionForSingleRequest() - { - $client = new Client($this->getServer()->getUrl()); - $mock = new MockPlugin(); - $response = new Response(404); - $mock->addResponse($response); - $client->getEventDispatcher()->addSubscriber($mock); - $client->send($client->get()); - } - - /** - * @expectedException \Guzzle\Common\Exception\ExceptionCollection - */ - public function testClientThrowsExceptionForMultipleRequests() - { - $client = new Client($this->getServer()->getUrl()); - $mock = new MockPlugin(); - $mock->addResponse(new Response(200)); - $mock->addResponse(new Response(404)); - $client->getEventDispatcher()->addSubscriber($mock); - $client->send(array($client->get(), $client->head())); - } - - public function testQueryStringsAreNotDoubleEncoded() - { - $client = new Client('http://test.com', array( - 'path' => array('foo', 'bar'), - 'query' => 'hi there', - 'data' => array( - 'test' => 'a&b' - ) - )); - - $request = $client->get('{/path*}{?query,data*}'); - $this->assertEquals('http://test.com/foo/bar?query=hi%20there&test=a%26b', $request->getUrl()); - $this->assertEquals('hi there', $request->getQuery()->get('query')); - $this->assertEquals('a&b', $request->getQuery()->get('test')); - } - - public function testQueryStringsAreNotDoubleEncodedUsingAbsolutePaths() - { - $client = new Client('http://test.com', array( - 'path' => array('foo', 'bar'), - 'query' => 'hi there', - )); - $request = $client->get('http://test.com{?query}'); - $this->assertEquals('http://test.com?query=hi%20there', $request->getUrl()); - $this->assertEquals('hi there', $request->getQuery()->get('query')); - } - - public function testAllowsUriTemplateInjection() - { - $client = new Client('http://test.com'); - $ref = new \ReflectionMethod($client, 'getUriTemplate'); - $ref->setAccessible(true); - $a = $ref->invoke($client); - $this->assertSame($a, $ref->invoke($client)); - $client->setUriTemplate(new UriTemplate()); - $this->assertNotSame($a, $ref->invoke($client)); - } - - public function testAllowsCustomVariablesWhenExpandingTemplates() - { - $client = new Client('http://test.com', array('test' => 'hi')); - $ref = new \ReflectionMethod($client, 'expandTemplate'); - $ref->setAccessible(true); - $uri = $ref->invoke($client, 'http://{test}{?query*}', array('query' => array('han' => 'solo'))); - $this->assertEquals('http://hi?han=solo', $uri); - } - - public function testUriArrayAllowsCustomTemplateVariables() - { - $client = new Client(); - $vars = array( - 'var' => 'hi' - ); - $this->assertEquals('/hi', (string) $client->createRequest('GET', array('/{var}', $vars))->getUrl()); - $this->assertEquals('/hi', (string) $client->get(array('/{var}', $vars))->getUrl()); - $this->assertEquals('/hi', (string) $client->put(array('/{var}', $vars))->getUrl()); - $this->assertEquals('/hi', (string) $client->post(array('/{var}', $vars))->getUrl()); - $this->assertEquals('/hi', (string) $client->head(array('/{var}', $vars))->getUrl()); - $this->assertEquals('/hi', (string) $client->options(array('/{var}', $vars))->getUrl()); - } - - public function testAllowsDefaultHeaders() - { - Version::$emitWarnings = false; - $default = array('X-Test' => 'Hi!'); - $other = array('X-Other' => 'Foo'); - - $client = new Client(); - $client->setDefaultHeaders($default); - $this->assertEquals($default, $client->getDefaultHeaders()->getAll()); - $client->setDefaultHeaders(new Collection($default)); - $this->assertEquals($default, $client->getDefaultHeaders()->getAll()); - - $request = $client->createRequest('GET', null, $other); - $this->assertEquals('Hi!', $request->getHeader('X-Test')); - $this->assertEquals('Foo', $request->getHeader('X-Other')); - - $request = $client->createRequest('GET', null, new Collection($other)); - $this->assertEquals('Hi!', $request->getHeader('X-Test')); - $this->assertEquals('Foo', $request->getHeader('X-Other')); - - $request = $client->createRequest('GET'); - $this->assertEquals('Hi!', $request->getHeader('X-Test')); - Version::$emitWarnings = true; - } - - public function testDontReuseCurlMulti() - { - $client1 = new Client(); - $client2 = new Client(); - $this->assertNotSame($client1->getCurlMulti(), $client2->getCurlMulti()); - } - - public function testGetDefaultUserAgent() - { - $client = new Client(); - $agent = $this->readAttribute($client, 'userAgent'); - $version = curl_version(); - $testAgent = sprintf('Guzzle/%s curl/%s PHP/%s', Version::VERSION, $version['version'], PHP_VERSION); - $this->assertEquals($agent, $testAgent); - - $client->setUserAgent('foo'); - $this->assertEquals('foo', $this->readAttribute($client, 'userAgent')); - } - - public function testOverwritesUserAgent() - { - $client = new Client(); - $request = $client->createRequest('GET', 'http://www.foo.com', array('User-agent' => 'foo')); - $this->assertEquals('foo', (string) $request->getHeader('User-Agent')); - } - - public function testUsesDefaultUserAgent() - { - $client = new Client(); - $request = $client->createRequest('GET', 'http://www.foo.com'); - $this->assertContains('Guzzle/', (string) $request->getHeader('User-Agent')); - } - - public function testCanSetDefaultRequestOptions() - { - $client = new Client(); - $client->getConfig()->set('request.options', array( - 'query' => array('test' => '123', 'other' => 'abc'), - 'headers' => array('Foo' => 'Bar', 'Baz' => 'Bam') - )); - $request = $client->createRequest('GET', 'http://www.foo.com?test=hello', array('Foo' => 'Test')); - // Explicit options on a request should overrule default options - $this->assertEquals('Test', (string) $request->getHeader('Foo')); - $this->assertEquals('hello', $request->getQuery()->get('test')); - // Default options should still be set - $this->assertEquals('abc', $request->getQuery()->get('other')); - $this->assertEquals('Bam', (string) $request->getHeader('Baz')); - } - - public function testCanSetSetOptionsOnRequests() - { - $client = new Client(); - $request = $client->createRequest('GET', 'http://www.foo.com?test=hello', array('Foo' => 'Test'), null, array( - 'cookies' => array('michael' => 'test') - )); - $this->assertEquals('test', $request->getCookie('michael')); - } - - public function testHasDefaultOptionsHelperMethods() - { - $client = new Client(); - // With path - $client->setDefaultOption('headers/foo', 'bar'); - $this->assertEquals('bar', $client->getDefaultOption('headers/foo')); - // With simple key - $client->setDefaultOption('allow_redirects', false); - $this->assertFalse($client->getDefaultOption('allow_redirects')); - - $this->assertEquals(array( - 'headers' => array('foo' => 'bar'), - 'allow_redirects' => false - ), $client->getConfig('request.options')); - - $request = $client->get('/'); - $this->assertEquals('bar', $request->getHeader('foo')); - } - - public function testHeadCanUseOptions() - { - $client = new Client(); - $head = $client->head('http://www.foo.com', array(), array('query' => array('foo' => 'bar'))); - $this->assertEquals('bar', $head->getQuery()->get('foo')); - } - - public function testCanSetRelativeUrlStartingWithHttp() - { - $client = new Client('http://www.foo.com'); - $this->assertEquals( - 'http://www.foo.com/httpfoo', - $client->createRequest('GET', 'httpfoo')->getUrl() - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlHandleTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlHandleTest.php deleted file mode 100644 index 5bf28de3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlHandleTest.php +++ /dev/null @@ -1,947 +0,0 @@ -getEventDispatcher()->addListener('request.sent', function (Event $e) use ($that) { - $that->requestHandle = $e['handle']; - }); - - return $request; - } - - public function setUp() - { - $this->requestHandle = null; - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testConstructorExpectsCurlResource() - { - $h = new CurlHandle(false, array()); - } - - public function testConstructorExpectsProperOptions() - { - $h = curl_init($this->getServer()->getUrl()); - try { - $ha = new CurlHandle($h, false); - $this->fail('Expected InvalidArgumentException'); - } catch (\InvalidArgumentException $e) { - } - - $ha = new CurlHandle($h, array( - CURLOPT_URL => $this->getServer()->getUrl() - )); - $this->assertEquals($this->getServer()->getUrl(), $ha->getOptions()->get(CURLOPT_URL)); - - $ha = new CurlHandle($h, new Collection(array( - CURLOPT_URL => $this->getServer()->getUrl() - ))); - $this->assertEquals($this->getServer()->getUrl(), $ha->getOptions()->get(CURLOPT_URL)); - } - - public function testConstructorInitializesObject() - { - $handle = curl_init($this->getServer()->getUrl()); - $h = new CurlHandle($handle, array( - CURLOPT_URL => $this->getServer()->getUrl() - )); - $this->assertSame($handle, $h->getHandle()); - $this->assertInstanceOf('Guzzle\\Http\\Url', $h->getUrl()); - $this->assertEquals($this->getServer()->getUrl(), (string) $h->getUrl()); - $this->assertEquals($this->getServer()->getUrl(), $h->getOptions()->get(CURLOPT_URL)); - } - - public function testStoresStdErr() - { - $request = RequestFactory::getInstance()->create('GET', 'http://test.com'); - $request->getCurlOptions()->set('debug', true); - $h = CurlHandle::factory($request); - $this->assertEquals($h->getStderr(true), $h->getOptions()->get(CURLOPT_STDERR)); - $this->assertInternalType('resource', $h->getStderr(true)); - $this->assertInternalType('string', $h->getStderr(false)); - $r = $h->getStderr(true); - fwrite($r, 'test'); - $this->assertEquals('test', $h->getStderr(false)); - } - - public function testStoresCurlErrorNumber() - { - $h = new CurlHandle(curl_init('http://test.com'), array(CURLOPT_URL => 'http://test.com')); - $this->assertEquals(CURLE_OK, $h->getErrorNo()); - $h->setErrorNo(CURLE_OPERATION_TIMEOUTED); - $this->assertEquals(CURLE_OPERATION_TIMEOUTED, $h->getErrorNo()); - } - - public function testAccountsForMissingStdErr() - { - $handle = curl_init('http://www.test.com/'); - $h = new CurlHandle($handle, array( - CURLOPT_URL => 'http://www.test.com/' - )); - $this->assertNull($h->getStderr(false)); - } - - public function testDeterminesIfResourceIsAvailable() - { - $handle = curl_init($this->getServer()->getUrl()); - $h = new CurlHandle($handle, array()); - $this->assertTrue($h->isAvailable()); - - // Mess it up by closing the handle - curl_close($handle); - $this->assertFalse($h->isAvailable()); - - // Mess it up by unsetting the handle - $handle = null; - $this->assertFalse($h->isAvailable()); - } - - public function testWrapsErrorsAndInfo() - { - if (!defined('CURLOPT_TIMEOUT_MS')) { - $this->markTestSkipped('Update curl'); - } - - $settings = array( - CURLOPT_PORT => 123, - CURLOPT_CONNECTTIMEOUT_MS => 1, - CURLOPT_TIMEOUT_MS => 1 - ); - - $handle = curl_init($this->getServer()->getUrl()); - curl_setopt_array($handle, $settings); - $h = new CurlHandle($handle, $settings); - @curl_exec($handle); - - $errors = array( - "couldn't connect to host", - 'timeout was reached', - 'connection time-out', - 'connect() timed out!', - 'failed connect to 127.0.0.1:123; connection refused', - 'failed to connect to 127.0.0.1 port 123: connection refused' - ); - $this->assertTrue(in_array(strtolower($h->getError()), $errors), $h->getError() . ' was not the error'); - - $this->assertTrue($h->getErrorNo() > 0); - - $this->assertEquals($this->getServer()->getUrl(), $h->getInfo(CURLINFO_EFFECTIVE_URL)); - $this->assertInternalType('array', $h->getInfo()); - - curl_close($handle); - $this->assertEquals(null, $h->getInfo('url')); - } - - public function testGetInfoWithoutDebugMode() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $client = new Client($this->getServer()->getUrl()); - $request = $client->get($this->getServer()->getUrl()); - $response = $request->send(); - - $info = $response->getInfo(); - $this->assertFalse(empty($info)); - $this->assertEquals($this->getServer()->getUrl(), $info['url']); - } - - public function testWrapsCurlOptions() - { - $handle = curl_init($this->getServer()->getUrl()); - $h = new CurlHandle($handle, array( - CURLOPT_AUTOREFERER => true, - CURLOPT_BUFFERSIZE => 1024 - )); - - $this->assertEquals(true, $h->getOptions()->get(CURLOPT_AUTOREFERER)); - $this->assertEquals(1024, $h->getOptions()->get(CURLOPT_BUFFERSIZE)); - } - - /** - * Data provider for factory tests - * - * @return array - */ - public function dataProvider() - { - $testFile = __DIR__ . '/../../../../../phpunit.xml.dist'; - - $postBody = new QueryString(array('file' => '@' . $testFile)); - $qs = new QueryString(array( - 'x' => 'y', - 'z' => 'a' - )); - - $client = new Client(); - $userAgent = $client->getDefaultUserAgent(); - $auth = base64_encode('michael:123'); - $testFileSize = filesize($testFile); - - $tests = array( - // Send a regular GET - array('GET', 'http://www.google.com/', null, null, array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_HTTPHEADER => array('Accept:', 'Host: www.google.com', 'User-Agent: ' . $userAgent), - )), - // Test that custom request methods can be used - array('TRACE', 'http://www.google.com/', null, null, array( - CURLOPT_CUSTOMREQUEST => 'TRACE' - )), - // Send a GET using a port - array('GET', 'http://127.0.0.1:8080', null, null, array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_PORT => 8080, - CURLOPT_HTTPHEADER => array('Accept:', 'Host: 127.0.0.1:8080', 'User-Agent: ' . $userAgent), - )), - // Send a HEAD request - array('HEAD', 'http://www.google.com/', null, null, array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_HTTPHEADER => array('Accept:', 'Host: www.google.com', 'User-Agent: ' . $userAgent), - CURLOPT_NOBODY => 1 - )), - // Send a GET using basic auth - array('GET', 'https://michael:123@127.0.0.1/index.html?q=2', null, null, array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_HTTPHEADER => array( - 'Accept:', - 'Host: 127.0.0.1', - 'Authorization: Basic ' . $auth, - 'User-Agent: ' . $userAgent - ), - CURLOPT_PORT => 443 - )), - // Send a GET request with custom headers - array('GET', 'http://127.0.0.1:8124/', array( - 'x-test-data' => 'Guzzle' - ), null, array( - CURLOPT_PORT => 8124, - CURLOPT_HTTPHEADER => array( - 'Accept:', - 'Host: 127.0.0.1:8124', - 'x-test-data: Guzzle', - 'User-Agent: ' . $userAgent - ) - ), array( - 'Host' => '*', - 'User-Agent' => '*', - 'x-test-data' => 'Guzzle' - )), - // Send a POST using a query string - array('POST', 'http://127.0.0.1:8124/post.php', null, $qs, array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_POSTFIELDS => 'x=y&z=a', - CURLOPT_HTTPHEADER => array ( - 'Expect:', - 'Accept:', - 'Host: 127.0.0.1:8124', - 'Content-Type: application/x-www-form-urlencoded; charset=utf-8', - 'User-Agent: ' . $userAgent - ) - ), array( - 'Host' => '*', - 'User-Agent' => '*', - 'Content-Length' => '7', - '!Expect' => null, - 'Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8', - '!Transfer-Encoding' => null - )), - // Send a PUT using raw data - array('PUT', 'http://127.0.0.1:8124/put.php', null, EntityBody::factory(fopen($testFile, 'r+')), array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_READFUNCTION => 'callback', - CURLOPT_INFILESIZE => filesize($testFile), - CURLOPT_HTTPHEADER => array ( - 'Expect:', - 'Accept:', - 'Host: 127.0.0.1:8124', - 'User-Agent: ' . $userAgent - ) - ), array( - 'Host' => '*', - 'User-Agent' => '*', - '!Expect' => null, - 'Content-Length' => $testFileSize, - '!Transfer-Encoding' => null - )), - // Send a POST request using an array of fields - array('POST', 'http://127.0.0.1:8124/post.php', null, array( - 'x' => 'y', - 'a' => 'b' - ), array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_POST => 1, - CURLOPT_POSTFIELDS => 'x=y&a=b', - CURLOPT_HTTPHEADER => array ( - 'Expect:', - 'Accept:', - 'Host: 127.0.0.1:8124', - 'Content-Type: application/x-www-form-urlencoded; charset=utf-8', - 'User-Agent: ' . $userAgent - ) - ), array( - 'Host' => '*', - 'User-Agent' => '*', - 'Content-Length' => '7', - '!Expect' => null, - 'Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8', - '!Transfer-Encoding' => null - )), - // Send a POST request with raw POST data and a custom content-type - array('POST', 'http://127.0.0.1:8124/post.php', array( - 'Content-Type' => 'application/json' - ), '{"hi":"there"}', array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_CUSTOMREQUEST => 'POST', - CURLOPT_UPLOAD => true, - CURLOPT_INFILESIZE => 14, - CURLOPT_HTTPHEADER => array ( - 'Expect:', - 'Accept:', - 'Host: 127.0.0.1:8124', - 'Content-Type: application/json', - 'User-Agent: ' . $userAgent - ), - ), array( - 'Host' => '*', - 'User-Agent' => '*', - 'Content-Type' => 'application/json', - '!Expect' => null, - 'Content-Length' => '14', - '!Transfer-Encoding' => null - )), - // Send a POST request with raw POST data, a custom content-type, and use chunked encoding - array('POST', 'http://127.0.0.1:8124/post.php', array( - 'Content-Type' => 'application/json', - 'Transfer-Encoding' => 'chunked' - ), '{"hi":"there"}', array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_CUSTOMREQUEST => 'POST', - CURLOPT_UPLOAD => true, - CURLOPT_HTTPHEADER => array ( - 'Expect:', - 'Accept:', - 'Host: 127.0.0.1:8124', - 'Transfer-Encoding: chunked', - 'Content-Type: application/json', - 'User-Agent: ' . $userAgent - ), - ), array( - 'Host' => '*', - 'User-Agent' => '*', - 'Content-Type' => 'application/json', - '!Expect' => null, - 'Transfer-Encoding' => 'chunked', - '!Content-Length' => '' - )), - // Send a POST request with no body - array('POST', 'http://127.0.0.1:8124/post.php', null, '', array( - CURLOPT_CUSTOMREQUEST => 'POST', - CURLOPT_HTTPHEADER => array ( - 'Expect:', - 'Accept:', - 'Host: 127.0.0.1:8124', - 'User-Agent: ' . $userAgent - ) - ), array( - 'Host' => '*', - 'User-Agent' => '*', - 'Content-Length' => '0', - '!Transfer-Encoding' => null - )), - // Send a POST request with empty post fields - array('POST', 'http://127.0.0.1:8124/post.php', null, array(), array( - CURLOPT_CUSTOMREQUEST => 'POST', - CURLOPT_HTTPHEADER => array ( - 'Expect:', - 'Accept:', - 'Host: 127.0.0.1:8124', - 'User-Agent: ' . $userAgent - ) - ), array( - 'Host' => '*', - 'User-Agent' => '*', - 'Content-Length' => '0', - '!Transfer-Encoding' => null - )), - // Send a PATCH request - array('PATCH', 'http://127.0.0.1:8124/patch.php', null, 'body', array( - CURLOPT_INFILESIZE => 4, - CURLOPT_HTTPHEADER => array ( - 'Expect:', - 'Accept:', - 'Host: 127.0.0.1:8124', - 'User-Agent: ' . $userAgent - ) - )), - // Send a DELETE request with a body - array('DELETE', 'http://127.0.0.1:8124/delete.php', null, 'body', array( - CURLOPT_CUSTOMREQUEST => 'DELETE', - CURLOPT_INFILESIZE => 4, - CURLOPT_HTTPHEADER => array ( - 'Expect:', - 'Accept:', - 'Host: 127.0.0.1:8124', - 'User-Agent: ' . $userAgent - ) - ), array( - 'Host' => '*', - 'User-Agent' => '*', - 'Content-Length' => '4', - '!Expect' => null, - '!Transfer-Encoding' => null - )), - - /** - * Send a request with empty path and a fragment - the fragment must be - * stripped out before sending it to curl - * - * @issue 453 - * @link https://github.com/guzzle/guzzle/issues/453 - */ - array('GET', 'http://www.google.com#head', null, null, array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_HTTPHEADER => array('Accept:', 'Host: www.google.com', 'User-Agent: ' . $userAgent), - )), - ); - - $postTest = array('POST', 'http://127.0.0.1:8124/post.php', null, $postBody, array( - CURLOPT_RETURNTRANSFER => 0, - CURLOPT_HEADER => 0, - CURLOPT_CONNECTTIMEOUT => 150, - CURLOPT_WRITEFUNCTION => 'callback', - CURLOPT_HEADERFUNCTION => 'callback', - CURLOPT_POST => 1, - CURLOPT_POSTFIELDS => array( - 'file' => '@' . $testFile . ';filename=phpunit.xml.dist;type=application/octet-stream' - ), - CURLOPT_HTTPHEADER => array ( - 'Accept:', - 'Host: 127.0.0.1:8124', - 'Content-Type: multipart/form-data', - 'Expect: 100-Continue', - 'User-Agent: ' . $userAgent - ) - ), array( - 'Host' => '*', - 'User-Agent' => '*', - 'Content-Length' => '*', - 'Expect' => '100-Continue', - 'Content-Type' => 'multipart/form-data; boundary=*', - '!Transfer-Encoding' => null - )); - - if (version_compare(phpversion(), '5.5.0', '>=')) { - $postTest[4][CURLOPT_POSTFIELDS] = array( - 'file' => new \CurlFile($testFile, 'application/octet-stream', 'phpunit.xml.dist') - ); - } - - $tests[] = $postTest; - - return $tests; - } - - /** - * @dataProvider dataProvider - */ - public function testFactoryCreatesCurlBasedOnRequest($method, $url, $headers, $body, $options, $expectedHeaders = null) - { - $client = new Client(); - $request = $client->createRequest($method, $url, $headers, $body); - $request->getCurlOptions()->set('debug', true); - - $originalRequest = clone $request; - $curlTest = clone $request; - $handle = CurlHandle::factory($curlTest); - - $this->assertInstanceOf('Guzzle\\Http\\Curl\\CurlHandle', $handle); - $o = $handle->getOptions()->getAll(); - - // Headers are case-insensitive - if (isset($o[CURLOPT_HTTPHEADER])) { - $o[CURLOPT_HTTPHEADER] = array_map('strtolower', $o[CURLOPT_HTTPHEADER]); - } - if (isset($options[CURLOPT_HTTPHEADER])) { - $options[CURLOPT_HTTPHEADER] = array_map('strtolower', $options[CURLOPT_HTTPHEADER]); - } - - $check = 0; - foreach ($options as $key => $value) { - $check++; - $this->assertArrayHasKey($key, $o, '-> Check number ' . $check); - if ($key != CURLOPT_HTTPHEADER && $key != CURLOPT_POSTFIELDS && (is_array($o[$key])) || $o[$key] instanceof \Closure) { - $this->assertEquals('callback', $value, '-> Check number ' . $check); - } else { - $this->assertTrue($value == $o[$key], '-> Check number ' . $check . ' - ' . var_export($value, true) . ' != ' . var_export($o[$key], true)); - } - } - - // If we are testing the actual sent headers - if ($expectedHeaders) { - - // Send the request to the test server - $client = new Client($this->getServer()->getUrl()); - $request->setClient($client); - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $request->send(); - - // Get the request that was sent and create a request that we expected - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals($method, $requests[0]->getMethod()); - - $test = $this->compareHeaders($expectedHeaders, $requests[0]->getHeaders()); - $this->assertFalse($test, $test . "\nSent: \n" . $request . "\n\n" . $requests[0]); - - // Ensure only one Content-Length header is sent - if ($request->getHeader('Content-Length')) { - $this->assertEquals((string) $request->getHeader('Content-Length'), (string) $requests[0]->getHeader('Content-Length')); - } - } - } - - public function testFactoryUsesSpecifiedProtocol() - { - $request = RequestFactory::getInstance()->create('GET', 'http://127.0.0.1:8124/'); - $request->setProtocolVersion('1.1'); - $handle = CurlHandle::factory($request); - $options = $handle->getOptions(); - $this->assertEquals(CURL_HTTP_VERSION_1_1, $options[CURLOPT_HTTP_VERSION]); - } - - public function testUploadsPutData() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi"); - - $client = new Client($this->getServer()->getUrl()); - $request = $client->put('/'); - $request->getCurlOptions()->set('debug', true); - $request->setBody(EntityBody::factory('test'), 'text/plain', false); - $request->getCurlOptions()->set('progress', true); - - $o = $this->getWildcardObserver($request); - $request->send(); - - // Make sure that the events were dispatched - $this->assertTrue($o->has('curl.callback.progress')); - - // Ensure that the request was received exactly as intended - $r = $this->getServer()->getReceivedRequests(true); - $this->assertFalse($r[0]->hasHeader('Transfer-Encoding')); - $this->assertEquals(4, (string) $r[0]->getHeader('Content-Length')); - $sent = strtolower($r[0]); - $this->assertContains('put / http/1.1', $sent); - $this->assertContains('host: 127.0.0.1', $sent); - $this->assertContains('user-agent:', $sent); - $this->assertContains('content-type: text/plain', $sent); - } - - public function testUploadsPutDataUsingChunkedEncodingWhenLengthCannotBeDetermined() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi" - )); - $client = new Client($this->getServer()->getUrl()); - $request = $client->put('/'); - $request->setBody(EntityBody::factory(fopen($this->getServer()->getUrl(), 'r')), 'text/plain'); - $request->send(); - - $r = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('chunked', $r[1]->getHeader('Transfer-Encoding')); - $this->assertFalse($r[1]->hasHeader('Content-Length')); - } - - public function testUploadsPutDataUsingChunkedEncodingWhenForced() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi"); - - $client = new Client($this->getServer()->getUrl()); - $request = $client->put('/', array('Transfer-Encoding' => 'chunked'), 'hi!'); - $request->send(); - - $r = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('chunked', $r[0]->getHeader('Transfer-Encoding')); - $this->assertFalse($r[0]->hasHeader('Content-Length')); - $this->assertEquals('hi!', $r[0]->getBody(true)); - } - - public function testSendsPostRequestsWithFields() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi"); - - $request = RequestFactory::getInstance()->create('POST', $this->getServer()->getUrl()); - $request->getCurlOptions()->set('debug', true); - $request->setClient(new Client()); - $request->addPostFields(array( - 'a' => 'b', - 'c' => 'ay! ~This is a test, isn\'t it?' - )); - $request->send(); - - // Make sure that the request was sent correctly - $r = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('a=b&c=ay%21%20~This%20is%20a%20test%2C%20isn%27t%20it%3F', (string) $r[0]->getBody()); - $this->assertFalse($r[0]->hasHeader('Transfer-Encoding')); - $this->assertEquals(56, (string) $r[0]->getHeader('Content-Length')); - $sent = strtolower($r[0]); - $this->assertContains('post / http/1.1', $sent); - $this->assertContains('content-type: application/x-www-form-urlencoded; charset=utf-8', $sent); - } - - public function testSendsPostRequestsWithFiles() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi"); - - $request = RequestFactory::getInstance()->create('POST', $this->getServer()->getUrl()); - $request->getCurlOptions()->set('debug', true); - $request->setClient(new Client()); - $request->addPostFiles(array( - 'foo' => __FILE__, - )); - $request->addPostFields(array( - 'bar' => 'baz', - 'arr' => array('a' => 1, 'b' => 2), - )); - $this->updateForHandle($request); - $request->send(); - - // Ensure the CURLOPT_POSTFIELDS option was set properly - $options = $this->requestHandle->getOptions()->getAll(); - if (version_compare(phpversion(), '5.5.0', '<')) { - $this->assertContains('@' . __FILE__ . ';filename=CurlHandleTest.php;type=text/x-', $options[CURLOPT_POSTFIELDS]['foo']); - } else{ - $this->assertInstanceOf('CURLFile', $options[CURLOPT_POSTFIELDS]['foo']); - } - $this->assertEquals('baz', $options[CURLOPT_POSTFIELDS]['bar']); - $this->assertEquals('1', $options[CURLOPT_POSTFIELDS]['arr[a]']); - $this->assertEquals('2', $options[CURLOPT_POSTFIELDS]['arr[b]']); - // Ensure that a Content-Length header was sent by cURL - $this->assertTrue($request->hasHeader('Content-Length')); - } - - public function testCurlConfigurationOptionsAreSet() - { - $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl()); - $request->setClient(new Client('http://www.example.com')); - $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT, 99); - $request->getCurlOptions()->set('curl.fake_opt', 99); - $request->getCurlOptions()->set(CURLOPT_PORT, 8181); - $handle = CurlHandle::factory($request); - $this->assertEquals(99, $handle->getOptions()->get(CURLOPT_CONNECTTIMEOUT)); - $this->assertEquals(8181, $handle->getOptions()->get(CURLOPT_PORT)); - $this->assertNull($handle->getOptions()->get('curl.fake_opt')); - $this->assertNull($handle->getOptions()->get('fake_opt')); - } - - public function testEnsuresRequestsHaveResponsesWhenUpdatingFromTransfer() - { - $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl()); - $handle = CurlHandle::factory($request); - $handle->updateRequestFromTransfer($request); - } - - public function testCanSendBodyAsString() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $client = new Client($this->getServer()->getUrl()); - $request = $client->put('/', null, 'foo'); - $request->getCurlOptions()->set('body_as_string', true); - $request->send(); - $requests = $this->getServer()->getReceivedRequests(false); - $this->assertContains('PUT /', $requests[0]); - $this->assertContains("\nfoo", $requests[0]); - $this->assertContains('content-length: 3', $requests[0]); - $this->assertNotContains('content-type', $requests[0]); - } - - public function testCanSendPostBodyAsString() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $client = new Client($this->getServer()->getUrl()); - $request = $client->post('/', null, 'foo'); - $request->getCurlOptions()->set('body_as_string', true); - $request->send(); - $requests = $this->getServer()->getReceivedRequests(false); - $this->assertContains('POST /', $requests[0]); - $this->assertContains("\nfoo", $requests[0]); - $this->assertContains('content-length: 3', $requests[0]); - $this->assertNotContains('content-type', $requests[0]); - } - - public function testAllowsWireTransferInfoToBeEnabled() - { - $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl()); - $request->getCurlOptions()->set('debug', true); - $handle = CurlHandle::factory($request); - $this->assertNotNull($handle->getOptions()->get(CURLOPT_STDERR)); - $this->assertNotNull($handle->getOptions()->get(CURLOPT_VERBOSE)); - } - - public function testAddsCustomCurlOptions() - { - $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl()); - $request->getCurlOptions()->set(CURLOPT_TIMEOUT, 200); - $handle = CurlHandle::factory($request); - $this->assertEquals(200, $handle->getOptions()->get(CURLOPT_TIMEOUT)); - } - - public function testSendsPostUploadsWithContentDispositionHeaders() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\n\r\nContent-Length: 0\r\n\r\n"); - - $fileToUpload = dirname(dirname(__DIR__)) . DIRECTORY_SEPARATOR . 'TestData' . DIRECTORY_SEPARATOR . 'test_service.json'; - - $client = new Client($this->getServer()->getUrl()); - $request = $client->post(); - $request->addPostFile('foo', $fileToUpload, 'application/json'); - $request->addPostFile('foo', __FILE__); - - $request->send(); - $requests = $this->getServer()->getReceivedRequests(true); - $body = (string) $requests[0]->getBody(); - - $this->assertContains('Content-Disposition: form-data; name="foo[0]"; filename="', $body); - $this->assertContains('Content-Type: application/json', $body); - $this->assertContains('Content-Type: text/x-', $body); - $this->assertContains('Content-Disposition: form-data; name="foo[1]"; filename="', $body); - } - - public function requestMethodProvider() - { - return array(array('POST'), array('PUT'), array('PATCH')); - } - - /** - * @dataProvider requestMethodProvider - */ - public function testSendsRequestsWithNoBodyUsingContentLengthZero($method) - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $client = new Client($this->getServer()->getUrl()); - $client->createRequest($method)->send(); - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertFalse($requests[0]->hasHeader('Transfer-Encoding')); - $this->assertTrue($requests[0]->hasHeader('Content-Length')); - $this->assertEquals('0', (string) $requests[0]->getHeader('Content-Length')); - } - - /** - * @dataProvider provideCurlConfig - */ - public function testParseCurlConfigConvertsStringKeysToConstantKeys($options, $expected) - { - $actual = CurlHandle::parseCurlConfig($options); - $this->assertEquals($expected, $actual); - } - - /** - * Data provider for curl configurations - * - * @return array - */ - public function provideCurlConfig() - { - return array( - // Conversion of option name to constant value - array( - array( - 'CURLOPT_PORT' => 10, - 'CURLOPT_TIMEOUT' => 99 - ), - array( - CURLOPT_PORT => 10, - CURLOPT_TIMEOUT => 99 - ) - ), - // Keeps non constant options - array( - array('debug' => true), - array('debug' => true) - ), - // Conversion of constant names to constant values - array( - array('debug' => 'CURLPROXY_HTTP'), - array('debug' => CURLPROXY_HTTP) - ) - ); - } - - public function testSeeksToBeginningOfStreamWhenSending() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n" - )); - - $client = new Client($this->getServer()->getUrl()); - $request = $client->put('/', null, 'test'); - $request->send(); - $request->send(); - - $received = $this->getServer()->getReceivedRequests(true); - $this->assertEquals(2, count($received)); - $this->assertEquals('test', (string) $received[0]->getBody()); - $this->assertEquals('test', (string) $received[1]->getBody()); - } - - public function testAllowsCurloptEncodingToBeSet() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - - $client = new Client($this->getServer()->getUrl()); - $request = $client->get('/', null); - $request->getCurlOptions()->set(CURLOPT_ENCODING, ''); - $this->updateForHandle($request); - $request->send(); - $options = $this->requestHandle->getOptions()->getAll(); - $this->assertSame('', $options[CURLOPT_ENCODING]); - $received = $this->getServer()->getReceivedRequests(false); - $this->assertContainsIns('accept: */*', $received[0]); - $this->assertContainsIns('accept-encoding: ', $received[0]); - } - - public function testSendsExpectHeaderWhenSizeIsGreaterThanCutoff() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $client = new Client($this->getServer()->getUrl()); - $request = $client->put('/', null, 'test'); - // Start sending the expect header to 2 bytes - $this->updateForHandle($request); - $request->setExpectHeaderCutoff(2)->send(); - $options = $this->requestHandle->getOptions()->getAll(); - $this->assertContains('Expect: 100-Continue', $options[CURLOPT_HTTPHEADER]); - $received = $this->getServer()->getReceivedRequests(false); - $this->assertContainsIns('expect: 100-continue', $received[0]); - } - - public function testSetsCurloptEncodingWhenAcceptEncodingHeaderIsSet() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata"); - $client = new Client($this->getServer()->getUrl()); - $request = $client->get('/', array( - 'Accept' => 'application/json', - 'Accept-Encoding' => 'gzip, deflate', - )); - $this->updateForHandle($request); - $request->send(); - $options = $this->requestHandle->getOptions()->getAll(); - $this->assertSame('gzip, deflate', $options[CURLOPT_ENCODING]); - $received = $this->getServer()->getReceivedRequests(false); - $this->assertContainsIns('accept: application/json', $received[0]); - $this->assertContainsIns('accept-encoding: gzip, deflate', $received[0]); - } - - public function testSendsPostFieldsForNonPostRequests() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\n\r\nContent-Length: 0\r\n\r\n"); - - $client = new Client(); - $request = $client->put($this->getServer()->getUrl(), null, array( - 'foo' => 'baz', - 'baz' => 'bar' - )); - - $request->send(); - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('PUT', $requests[0]->getMethod()); - $this->assertEquals( - 'application/x-www-form-urlencoded; charset=utf-8', - (string) $requests[0]->getHeader('Content-Type') - ); - $this->assertEquals(15, (string) $requests[0]->getHeader('Content-Length')); - $this->assertEquals('foo=baz&baz=bar', (string) $requests[0]->getBody()); - } - - public function testSendsPostFilesForNonPostRequests() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\n\r\nContent-Length: 0\r\n\r\n"); - - $client = new Client(); - $request = $client->put($this->getServer()->getUrl(), null, array( - 'foo' => '@' . __FILE__ - )); - - $request->send(); - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('PUT', $requests[0]->getMethod()); - $this->assertContains('multipart/form-data', (string) $requests[0]->getHeader('Content-Type')); - $this->assertContains('testSendsPostFilesForNonPostRequests', (string) $requests[0]->getBody()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiProxyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiProxyTest.php deleted file mode 100644 index e04141c5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiProxyTest.php +++ /dev/null @@ -1,110 +0,0 @@ -multi = new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT); - } - - public function tearDown() - { - unset($this->multi); - } - - public function testConstructorSetsMaxHandles() - { - $m = new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT); - $this->assertEquals(self::MAX_HANDLES, $this->readAttribute($m, 'maxHandles')); - } - - public function testConstructorSetsSelectTimeout() - { - $m = new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT); - $this->assertEquals(self::SELECT_TIMEOUT, $this->readAttribute($m, 'selectTimeout')); - } - - public function testAddingRequestsAddsToQueue() - { - $r = new Request('GET', 'http://www.foo.com'); - $this->assertSame($this->multi, $this->multi->add($r)); - $this->assertEquals(1, count($this->multi)); - $this->assertEquals(array($r), $this->multi->all()); - - $this->assertTrue($this->multi->remove($r)); - $this->assertFalse($this->multi->remove($r)); - $this->assertEquals(0, count($this->multi)); - } - - public function testResetClearsState() - { - $r = new Request('GET', 'http://www.foo.com'); - $this->multi->add($r); - $this->multi->reset(); - $this->assertEquals(0, count($this->multi)); - } - - public function testSendWillSendQueuedRequestsFirst() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n" - )); - $client = new Client($this->getServer()->getUrl()); - $events = array(); - $client->getCurlMulti()->getEventDispatcher()->addListener( - CurlMultiProxy::ADD_REQUEST, - function ($e) use (&$events) { - $events[] = $e; - } - ); - $request = $client->get(); - $request->getEventDispatcher()->addListener('request.complete', function () use ($client) { - $client->get('/foo')->send(); - }); - $request->send(); - $received = $this->getServer()->getReceivedRequests(true); - $this->assertEquals(2, count($received)); - $this->assertEquals($this->getServer()->getUrl(), $received[0]->getUrl()); - $this->assertEquals($this->getServer()->getUrl() . 'foo', $received[1]->getUrl()); - $this->assertEquals(2, count($events)); - } - - public function testTrimsDownMaxHandleCount() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n" - )); - $client = new Client($this->getServer()->getUrl()); - $client->setCurlMulti(new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT)); - $request = $client->get(); - $request->send(); - $this->assertEquals(200, $request->getResponse()->getStatusCode()); - $handles = $this->readAttribute($client->getCurlMulti(), 'handles'); - $this->assertEquals(2, count($handles)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiTest.php deleted file mode 100644 index 1272281f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlMultiTest.php +++ /dev/null @@ -1,455 +0,0 @@ -multi = new MockMulti(); - } - - public function tearDown() - { - unset($this->multi); - } - - public function testConstructorCreateMultiHandle() - { - $this->assertInternalType('resource', $this->multi->getHandle()); - $this->assertEquals('curl_multi', get_resource_type($this->multi->getHandle())); - } - - public function testDestructorClosesMultiHandle() - { - $handle = $this->multi->getHandle(); - $this->multi->__destruct(); - $this->assertFalse(is_resource($handle)); - } - - public function testRequestsCanBeAddedAndCounted() - { - $multi = new CurlMulti(); - $request1 = new Request('GET', 'http://www.google.com/'); - $multi->add($request1); - $this->assertEquals(array($request1), $multi->all()); - $request2 = new Request('POST', 'http://www.google.com/'); - $multi->add($request2); - $this->assertEquals(array($request1, $request2), $multi->all()); - $this->assertEquals(2, count($multi)); - } - - public function testRequestsCanBeRemoved() - { - $request1 = new Request('GET', 'http://www.google.com/'); - $this->multi->add($request1); - $request2 = new Request('PUT', 'http://www.google.com/'); - $this->multi->add($request2); - $this->assertEquals(array($request1, $request2), $this->multi->all()); - $this->assertTrue($this->multi->remove($request1)); - $this->assertFalse($this->multi->remove($request1)); - $this->assertEquals(array($request2), $this->multi->all()); - } - - public function testsResetRemovesRequestsAndResetsState() - { - $this->multi->add(new Request('GET', 'http://www.google.com/')); - $this->multi->reset(); - $this->assertEquals(array(), $this->multi->all()); - } - - public function testSendsRequestsThroughCurl() - { - $this->getServer()->enqueue(array( - "HTTP/1.1 204 No content\r\n" . - "Content-Length: 0\r\n" . - "Server: Jetty(6.1.3)\r\n\r\n", - "HTTP/1.1 200 OK\r\n" . - "Content-Type: text/html; charset=utf-8\r\n" . - "Content-Length: 4\r\n" . - "Server: Jetty(6.1.3)\r\n\r\n" . - "data" - )); - - $request1 = new Request('GET', $this->getServer()->getUrl()); - $request2 = new Request('GET', $this->getServer()->getUrl()); - $this->multi->add($request1); - $this->multi->add($request2); - $this->multi->send(); - - $response1 = $request1->getResponse(); - $response2 = $request2->getResponse(); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response1); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response2); - - $this->assertTrue($response1->getBody(true) == 'data' || $response2->getBody(true) == 'data'); - $this->assertTrue($response1->getBody(true) == '' || $response2->getBody(true) == ''); - $this->assertTrue($response1->getStatusCode() == '204' || $response2->getStatusCode() == '204'); - $this->assertNotEquals((string) $response1, (string) $response2); - } - - public function testSendsThroughCurlAndAggregatesRequestExceptions() - { - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\n" . - "Content-Type: text/html; charset=utf-8\r\n" . - "Content-Length: 4\r\n" . - "Server: Jetty(6.1.3)\r\n" . - "\r\n" . - "data", - "HTTP/1.1 204 No content\r\n" . - "Content-Length: 0\r\n" . - "Server: Jetty(6.1.3)\r\n" . - "\r\n", - "HTTP/1.1 404 Not Found\r\n" . - "Content-Length: 0\r\n" . - "\r\n" - )); - - $request1 = new Request('GET', $this->getServer()->getUrl()); - $request2 = new Request('HEAD', $this->getServer()->getUrl()); - $request3 = new Request('GET', $this->getServer()->getUrl()); - $this->multi->add($request1); - $this->multi->add($request2); - $this->multi->add($request3); - - try { - $this->multi->send(); - $this->fail('MultiTransferException not thrown when aggregating request exceptions'); - } catch (MultiTransferException $e) { - - $this->assertTrue($e->containsRequest($request1)); - $this->assertTrue($e->containsRequest($request2)); - $this->assertTrue($e->containsRequest($request3)); - $this->assertInstanceOf('ArrayIterator', $e->getIterator()); - $this->assertEquals(1, count($e)); - $exceptions = $e->getIterator(); - - $response1 = $request1->getResponse(); - $response2 = $request2->getResponse(); - $response3 = $request3->getResponse(); - - $this->assertNotEquals((string) $response1, (string) $response2); - $this->assertNotEquals((string) $response3, (string) $response1); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response1); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response2); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response3); - - $failed = $exceptions[0]->getResponse(); - $this->assertEquals(404, $failed->getStatusCode()); - $this->assertEquals(1, count($e)); - - // Test the IteratorAggregate functionality - foreach ($e as $except) { - $this->assertEquals($failed, $except->getResponse()); - } - - $this->assertEquals(1, count($e->getFailedRequests())); - $this->assertEquals(2, count($e->getSuccessfulRequests())); - $this->assertEquals(3, count($e->getAllRequests())); - } - } - - public function testCurlErrorsAreCaught() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - try { - $request = RequestFactory::getInstance()->create('GET', 'http://127.0.0.1:9876/'); - $request->setClient(new Client()); - $request->getCurlOptions()->set(CURLOPT_FRESH_CONNECT, true); - $request->getCurlOptions()->set(CURLOPT_FORBID_REUSE, true); - $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT_MS, 5); - $request->send(); - $this->fail('CurlException not thrown'); - } catch (CurlException $e) { - $m = $e->getMessage(); - $this->assertContains('[curl] ', $m); - $this->assertContains('[url] http://127.0.0.1:9876/', $m); - $this->assertInternalType('array', $e->getCurlInfo()); - } - } - - public function testRemovesQueuedRequests() - { - $request = RequestFactory::getInstance()->create('GET', 'http://127.0.0.1:9876/'); - $r = new Response(200); - $request->setClient(new Client()); - $request->setResponse($r, true); - $this->multi->add($request); - $this->multi->send(); - $this->assertSame($r, $request->getResponse()); - } - - public function testRemovesQueuedRequestsAddedInTransit() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n")); - $client = new Client($this->getServer()->getUrl()); - $r = $client->get(); - $r->getEventDispatcher()->addListener('request.receive.status_line', function (Event $event) use ($client) { - // Create a request using a queued response - $request = $client->get()->setResponse(new Response(200), true); - $request->send(); - }); - $r->send(); - $this->assertEquals(1, count($this->getServer()->getReceivedRequests(false))); - } - - public function testCatchesExceptionsBeforeSendingSingleRequest() - { - $client = new Client($this->getServer()->getUrl()); - $multi = new CurlMulti(); - $client->setCurlMulti($multi); - $request = $client->get(); - $request->getEventDispatcher()->addListener('request.before_send', function() { - throw new \RuntimeException('Testing!'); - }); - try { - $request->send(); - $this->fail('Did not throw'); - } catch (\RuntimeException $e) { - // Ensure it was removed - $this->assertEquals(0, count($multi)); - } - } - - /** - * @expectedException \Guzzle\Common\Exception\ExceptionCollection - * @expectedExceptionMessage Thrown before sending! - */ - public function testCatchesExceptionsBeforeSendingMultipleRequests() - { - $client = new Client($this->getServer()->getUrl()); - $request = $client->get(); - $request->getEventDispatcher()->addListener('request.before_send', function() { - throw new \RuntimeException('Thrown before sending!'); - }); - $client->send(array($request)); - } - - public function testCatchesExceptionsWhenRemovingQueuedRequests() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $client = new Client($this->getServer()->getUrl()); - $r = $client->get(); - $r->getEventDispatcher()->addListener('request.sent', function() use ($client) { - // Create a request using a queued response - $client->get()->setResponse(new Response(404), true)->send(); - }); - try { - $r->send(); - $this->fail('Did not throw'); - } catch (BadResponseException $e) { - $this->assertCount(0, $client->getCurlMulti()); - } - } - - public function testCatchesExceptionsWhenRemovingQueuedRequestsBeforeSending() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $client = new Client($this->getServer()->getUrl()); - $r = $client->get(); - $r->getEventDispatcher()->addListener('request.before_send', function() use ($client) { - // Create a request using a queued response - $client->get()->setResponse(new Response(404), true)->send(); - }); - try { - $r->send(); - $this->fail('Did not throw'); - } catch (BadResponseException $e) { - $this->assertCount(0, $client->getCurlMulti()); - } - } - - /** - * @expectedException \RuntimeException - * @expectedExceptionMessage test - */ - public function testDoesNotCatchRandomExceptionsThrownDuringPerform() - { - $client = new Client($this->getServer()->getUrl()); - $multi = $this->getMock('Guzzle\\Http\\Curl\\CurlMulti', array('perform')); - $multi->expects($this->once()) - ->method('perform') - ->will($this->throwException(new \RuntimeException('test'))); - $multi->add($client->get()); - $multi->send(); - } - - public function testDoesNotSendRequestsDecliningToBeSent() - { - if (!defined('CURLOPT_TIMEOUT_MS')) { - $this->markTestSkipped('Update curl'); - } - - // Create a client that is bound to fail connecting - $client = new Client('http://127.0.0.1:123', array( - 'curl.CURLOPT_PORT' => 123, - 'curl.CURLOPT_CONNECTTIMEOUT_MS' => 1, - )); - - $request = $client->get(); - $multi = new CurlMulti(); - $multi->add($request); - - // Listen for request exceptions, and when they occur, first change the - // state of the request back to transferring, and then just allow it to - // exception out - $request->getEventDispatcher()->addListener('request.exception', function(Event $event) use ($multi) { - $retries = $event['request']->getParams()->get('retries'); - // Allow the first failure to retry - if ($retries == 0) { - $event['request']->setState('transfer'); - $event['request']->getParams()->set('retries', 1); - // Remove the request to try again - $multi->remove($event['request']); - $multi->add($event['request']); - } - }); - - try { - $multi->send(); - $this->fail('Did not throw an exception at all!?!'); - } catch (\Exception $e) { - $this->assertEquals(1, $request->getParams()->get('retries')); - } - } - - public function testDoesNotThrowExceptionsWhenRequestsRecoverWithRetry() - { - $this->getServer()->flush(); - $client = new Client($this->getServer()->getUrl()); - $request = $client->get(); - $request->getEventDispatcher()->addListener('request.before_send', function(Event $event) { - $event['request']->setResponse(new Response(200)); - }); - - $multi = new CurlMulti(); - $multi->add($request); - $multi->send(); - $this->assertEquals(0, count($this->getServer()->getReceivedRequests(false))); - } - - public function testDoesNotThrowExceptionsWhenRequestsRecoverWithSuccess() - { - // Attempt a port that 99.9% is not listening - $client = new Client('http://127.0.0.1:123'); - $request = $client->get(); - // Ensure it times out quickly if needed - $request->getCurlOptions()->set(CURLOPT_TIMEOUT_MS, 1)->set(CURLOPT_CONNECTTIMEOUT_MS, 1); - - $request->getEventDispatcher()->addListener('request.exception', function(Event $event) use (&$count) { - $event['request']->setResponse(new Response(200)); - }); - - $multi = new CurlMulti(); - $multi->add($request); - $multi->send(); - - // Ensure that the exception was caught, and the response was set manually - $this->assertEquals(200, $request->getResponse()->getStatusCode()); - } - - public function testHardResetReopensMultiHandle() - { - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n" - )); - - $stream = fopen('php://temp', 'w+'); - $client = new Client($this->getServer()->getUrl()); - $client->getConfig()->set('curl.CURLOPT_VERBOSE', true)->set('curl.CURLOPT_STDERR', $stream); - - $request = $client->get(); - $multi = new CurlMulti(); - $multi->add($request); - $multi->send(); - $multi->reset(true); - $multi->add($request); - $multi->send(); - - rewind($stream); - $this->assertNotContains('Re-using existing connection', stream_get_contents($stream)); - } - - public function testThrowsMeaningfulExceptionsForCurlMultiErrors() - { - $multi = new CurlMulti(); - - // Set the state of the multi object to sending to trigger the exception - $reflector = new \ReflectionMethod('Guzzle\Http\Curl\CurlMulti', 'checkCurlResult'); - $reflector->setAccessible(true); - - // Successful - $reflector->invoke($multi, 0); - - // Known error - try { - $reflector->invoke($multi, CURLM_BAD_HANDLE); - $this->fail('Expected an exception here'); - } catch (CurlException $e) { - $this->assertContains('The passed-in handle is not a valid CURLM handle.', $e->getMessage()); - $this->assertContains('CURLM_BAD_HANDLE', $e->getMessage()); - $this->assertContains(strval(CURLM_BAD_HANDLE), $e->getMessage()); - } - - // Unknown error - try { - $reflector->invoke($multi, 255); - $this->fail('Expected an exception here'); - } catch (CurlException $e) { - $this->assertEquals('Unexpected cURL error: 255', $e->getMessage()); - } - } - - public function testRequestBeforeSendIncludesContentLengthHeaderIfEmptyBody() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $request = new Request('PUT', $this->getServer()->getUrl()); - $that = $this; - $request->getEventDispatcher()->addListener('request.before_send', function ($event) use ($that) { - $that->assertEquals(0, $event['request']->getHeader('Content-Length')); - }); - $this->multi->add($request); - $this->multi->send(); - } - - public function testRemovesConflictingTransferEncodingHeader() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n" - )); - $client = new Client($this->getServer()->getUrl()); - $request = $client->put('/', null, fopen($this->getServer()->getUrl(), 'r')); - $request->setHeader('Content-Length', 4); - $request->send(); - $received = $this->getServer()->getReceivedRequests(true); - $this->assertFalse($received[1]->hasHeader('Transfer-Encoding')); - $this->assertEquals(4, (string) $received[1]->getHeader('Content-Length')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlVersionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlVersionTest.php deleted file mode 100644 index c7b5ee6e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/CurlVersionTest.php +++ /dev/null @@ -1,39 +0,0 @@ -getProperty('version'); - $refProperty->setAccessible(true); - $refProperty->setValue($instance, array()); - - $this->assertEquals($info, $instance->getAll()); - $this->assertEquals($info, $instance->getAll()); - - $this->assertEquals($info['version'], $instance->get('version')); - $this->assertFalse($instance->get('foo')); - } - - public function testIsSingleton() - { - $refObject = new \ReflectionClass('Guzzle\Http\Curl\CurlVersion'); - $refProperty = $refObject->getProperty('instance'); - $refProperty->setAccessible(true); - $refProperty->setValue(null, null); - - $this->assertInstanceOf('Guzzle\Http\Curl\CurlVersion', CurlVersion::getInstance()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/RequestMediatorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/RequestMediatorTest.php deleted file mode 100644 index c69e0c90..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Curl/RequestMediatorTest.php +++ /dev/null @@ -1,67 +0,0 @@ -events[] = $event; - } - - public function testEmitsEvents() - { - $request = new EntityEnclosingRequest('PUT', 'http://www.example.com'); - $request->setBody('foo'); - $request->setResponse(new Response(200)); - - // Ensure that IO events are emitted - $request->getCurlOptions()->set('emit_io', true); - - // Attach listeners for each event type - $request->getEventDispatcher()->addListener('curl.callback.progress', array($this, 'event')); - $request->getEventDispatcher()->addListener('curl.callback.read', array($this, 'event')); - $request->getEventDispatcher()->addListener('curl.callback.write', array($this, 'event')); - - $mediator = new RequestMediator($request, true); - - $mediator->progress('a', 'b', 'c', 'd'); - $this->assertEquals(1, count($this->events)); - $this->assertEquals('curl.callback.progress', $this->events[0]->getName()); - - $this->assertEquals(3, $mediator->writeResponseBody('foo', 'bar')); - $this->assertEquals(2, count($this->events)); - $this->assertEquals('curl.callback.write', $this->events[1]->getName()); - $this->assertEquals('bar', $this->events[1]['write']); - $this->assertSame($request, $this->events[1]['request']); - - $this->assertEquals('foo', $mediator->readRequestBody('a', 'b', 3)); - $this->assertEquals(3, count($this->events)); - $this->assertEquals('curl.callback.read', $this->events[2]->getName()); - $this->assertEquals('foo', $this->events[2]['read']); - $this->assertSame($request, $this->events[2]['request']); - } - - public function testDoesNotUseRequestResponseBodyWhenNotCustom() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 307 Foo\r\nLocation: /foo\r\nContent-Length: 2\r\n\r\nHI", - "HTTP/1.1 301 Foo\r\nLocation: /foo\r\nContent-Length: 2\r\n\r\nFI", - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest", - )); - $client = new Client($this->getServer()->getUrl()); - $response = $client->get()->send(); - $this->assertEquals('test', $response->getBody(true)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/EntityBodyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/EntityBodyTest.php deleted file mode 100644 index 124a44da..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/EntityBodyTest.php +++ /dev/null @@ -1,182 +0,0 @@ -assertEquals('data', (string) $body); - $this->assertEquals(4, $body->getContentLength()); - $this->assertEquals('PHP', $body->getWrapper()); - $this->assertEquals('TEMP', $body->getStreamType()); - - $handle = fopen(__DIR__ . '/../../../../phpunit.xml.dist', 'r'); - if (!$handle) { - $this->fail('Could not open test file'); - } - $body = EntityBody::factory($handle); - $this->assertEquals(__DIR__ . '/../../../../phpunit.xml.dist', $body->getUri()); - $this->assertTrue($body->isLocal()); - $this->assertEquals(__DIR__ . '/../../../../phpunit.xml.dist', $body->getUri()); - $this->assertEquals(filesize(__DIR__ . '/../../../../phpunit.xml.dist'), $body->getContentLength()); - - // make sure that a body will return as the same object - $this->assertTrue($body === EntityBody::factory($body)); - } - - public function testFactoryCreatesTempStreamByDefault() - { - $body = EntityBody::factory(''); - $this->assertEquals('PHP', $body->getWrapper()); - $this->assertEquals('TEMP', $body->getStreamType()); - $body = EntityBody::factory(); - $this->assertEquals('PHP', $body->getWrapper()); - $this->assertEquals('TEMP', $body->getStreamType()); - } - - public function testFactoryCanCreateFromObject() - { - $body = EntityBody::factory(new QueryString(array('foo' => 'bar'))); - $this->assertEquals('foo=bar', (string) $body); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - */ - public function testFactoryEnsuresObjectsHaveToStringMethod() - { - EntityBody::factory(new \stdClass('a')); - } - - public function testHandlesCompression() - { - $body = EntityBody::factory('testing 123...testing 123'); - $this->assertFalse($body->getContentEncoding(), '-> getContentEncoding() must initially return FALSE'); - $size = $body->getContentLength(); - $body->compress(); - $this->assertEquals('gzip', $body->getContentEncoding(), '-> getContentEncoding() must return the correct encoding after compressing'); - $this->assertEquals(gzdeflate('testing 123...testing 123'), (string) $body); - $this->assertTrue($body->getContentLength() < $size); - $this->assertTrue($body->uncompress()); - $this->assertEquals('testing 123...testing 123', (string) $body); - $this->assertFalse($body->getContentEncoding(), '-> getContentEncoding() must reset to FALSE'); - - if (in_array('bzip2.*', stream_get_filters())) { - $this->assertTrue($body->compress('bzip2.compress')); - $this->assertEquals('compress', $body->getContentEncoding(), '-> compress() must set \'compress\' as the Content-Encoding'); - } - - $this->assertFalse($body->compress('non-existent'), '-> compress() must return false when a non-existent stream filter is used'); - - // Release the body - unset($body); - - // Use gzip compression on the initial content. This will include a - // gzip header which will need to be stripped when deflating the stream - $body = EntityBody::factory(gzencode('test')); - $this->assertSame($body, $body->setStreamFilterContentEncoding('zlib.deflate')); - $this->assertTrue($body->uncompress('zlib.inflate')); - $this->assertEquals('test', (string) $body); - unset($body); - - // Test using a very long string - $largeString = ''; - for ($i = 0; $i < 25000; $i++) { - $largeString .= chr(rand(33, 126)); - } - $body = EntityBody::factory($largeString); - $this->assertEquals($largeString, (string) $body); - $this->assertTrue($body->compress()); - $this->assertNotEquals($largeString, (string) $body); - $compressed = (string) $body; - $this->assertTrue($body->uncompress()); - $this->assertEquals($largeString, (string) $body); - $this->assertEquals($compressed, gzdeflate($largeString)); - - $body = EntityBody::factory(fopen(__DIR__ . '/../TestData/compress_test', 'w')); - $this->assertFalse($body->compress()); - unset($body); - - unlink(__DIR__ . '/../TestData/compress_test'); - } - - public function testDeterminesContentType() - { - // Test using a string/temp stream - $body = EntityBody::factory('testing 123...testing 123'); - $this->assertNull($body->getContentType()); - - // Use a local file - $body = EntityBody::factory(fopen(__FILE__, 'r')); - $this->assertContains('text/x-', $body->getContentType()); - } - - public function testCreatesMd5Checksum() - { - $body = EntityBody::factory('testing 123...testing 123'); - $this->assertEquals(md5('testing 123...testing 123'), $body->getContentMd5()); - - $server = $this->getServer()->enqueue( - "HTTP/1.1 200 OK" . "\r\n" . - "Content-Length: 3" . "\r\n\r\n" . - "abc" - ); - - $body = EntityBody::factory(fopen($this->getServer()->getUrl(), 'r')); - $this->assertFalse($body->getContentMd5()); - } - - public function testSeeksToOriginalPosAfterMd5() - { - $body = EntityBody::factory('testing 123'); - $body->seek(4); - $this->assertEquals(md5('testing 123'), $body->getContentMd5()); - $this->assertEquals(4, $body->ftell()); - $this->assertEquals('ing 123', $body->read(1000)); - } - - public function testGetTypeFormBodyFactoring() - { - $body = EntityBody::factory(array('key1' => 'val1', 'key2' => 'val2')); - $this->assertEquals('key1=val1&key2=val2', (string) $body); - } - - public function testAllowsCustomRewind() - { - $body = EntityBody::factory('foo'); - $rewound = false; - $body->setRewindFunction(function ($body) use (&$rewound) { - $rewound = true; - return $body->seek(0); - }); - $body->seek(2); - $this->assertTrue($body->rewind()); - $this->assertTrue($rewound); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - */ - public function testCustomRewindFunctionMustBeCallable() - { - $body = EntityBody::factory(); - $body->setRewindFunction('foo'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/CurlExceptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/CurlExceptionTest.php deleted file mode 100644 index df3e4b79..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/CurlExceptionTest.php +++ /dev/null @@ -1,27 +0,0 @@ -assertNull($e->getError()); - $this->assertNull($e->getErrorNo()); - $this->assertSame($e, $e->setError('test', 12)); - $this->assertEquals('test', $e->getError()); - $this->assertEquals(12, $e->getErrorNo()); - - $handle = new CurlHandle(curl_init(), array()); - $e->setCurlHandle($handle); - $this->assertSame($handle, $e->getCurlHandle()); - $handle->close(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/ExceptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/ExceptionTest.php deleted file mode 100644 index 12cfd369..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/ExceptionTest.php +++ /dev/null @@ -1,66 +0,0 @@ -setRequest($request); - $this->assertEquals($request, $e->getRequest()); - } - - /** - * @covers Guzzle\Http\Exception\BadResponseException - */ - public function testBadResponseException() - { - $e = new BadResponseException('Message'); - $response = new Response(200); - $e->setResponse($response); - $this->assertEquals($response, $e->getResponse()); - } - - /** - * @covers Guzzle\Http\Exception\BadResponseException::factory - */ - public function testCreatesGenericErrorExceptionOnError() - { - $request = new Request('GET', 'http://www.example.com'); - $response = new Response(307); - $e = BadResponseException::factory($request, $response); - $this->assertInstanceOf('Guzzle\Http\Exception\BadResponseException', $e); - } - - /** - * @covers Guzzle\Http\Exception\BadResponseException::factory - */ - public function testCreatesClientErrorExceptionOnClientError() - { - $request = new Request('GET', 'http://www.example.com'); - $response = new Response(404); - $e = BadResponseException::factory($request, $response); - $this->assertInstanceOf('Guzzle\Http\Exception\ClientErrorResponseException', $e); - } - - /** - * @covers Guzzle\Http\Exception\BadResponseException::factory - */ - public function testCreatesServerErrorExceptionOnServerError() - { - $request = new Request('GET', 'http://www.example.com'); - $response = new Response(503); - $e = BadResponseException::factory($request, $response); - $this->assertInstanceOf('Guzzle\Http\Exception\ServerErrorResponseException', $e); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/MultiTransferExceptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/MultiTransferExceptionTest.php deleted file mode 100644 index fa4ec262..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Exception/MultiTransferExceptionTest.php +++ /dev/null @@ -1,51 +0,0 @@ -addSuccessfulRequest($r1); - $e->addFailedRequest($r2); - $this->assertEquals(array($r1), $e->getSuccessfulRequests()); - $this->assertEquals(array($r2), $e->getSuccessfulRequests()); - $this->assertEquals(array($r1, $r2), $e->getAllRequests()); - $this->assertTrue($e->containsRequest($r1)); - $this->assertTrue($e->containsRequest($r2)); - $this->assertFalse($e->containsRequest(new Request('POST', '/foo'))); - } - - public function testCanSetRequests() - { - $s = array($r1 = new Request('GET', 'http://www.foo.com')); - $f = array($r2 = new Request('GET', 'http://www.foo.com')); - $e = new MultiTransferException(); - $e->setSuccessfulRequests($s); - $e->setFailedRequests($f); - $this->assertEquals(array($r1), $e->getSuccessfulRequests()); - $this->assertEquals(array($r2), $e->getSuccessfulRequests()); - } - - public function testAssociatesExceptionsWithRequests() - { - $r1 = new Request('GET', 'http://www.foo.com'); - $re1 = new \Exception('foo'); - $re2 = new \Exception('bar'); - $e = new MultiTransferException(); - $e->add($re2); - $e->addFailedRequestWithException($r1, $re1); - $this->assertSame($re1, $e->getExceptionForFailedRequest($r1)); - $this->assertNull($e->getExceptionForFailedRequest(new Request('POST', '/foo'))); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/IoEmittingEntityBodyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/IoEmittingEntityBodyTest.php deleted file mode 100644 index cd6355f3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/IoEmittingEntityBodyTest.php +++ /dev/null @@ -1,47 +0,0 @@ -decorated = EntityBody::factory('hello'); - $this->body = new IoEmittingEntityBody($this->decorated); - } - - public function testEmitsReadEvents() - { - $e = null; - $this->body->getEventDispatcher()->addListener('body.read', function ($event) use (&$e) { - $e = $event; - }); - $this->assertEquals('hel', $this->body->read(3)); - $this->assertEquals('hel', $e['read']); - $this->assertEquals(3, $e['length']); - $this->assertSame($this->body, $e['body']); - } - - public function testEmitsWriteEvents() - { - $e = null; - $this->body->getEventDispatcher()->addListener('body.write', function ($event) use (&$e) { - $e = $event; - }); - $this->body->seek(0, SEEK_END); - $this->assertEquals(5, $this->body->write('there')); - $this->assertEquals('there', $e['write']); - $this->assertEquals(5, $e['result']); - $this->assertSame($this->body, $e['body']); - $this->assertEquals('hellothere', (string) $this->body); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/AbstractMessageTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/AbstractMessageTest.php deleted file mode 100644 index 9447d8c5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/AbstractMessageTest.php +++ /dev/null @@ -1,136 +0,0 @@ -mock = $this->getMockForAbstractClass('Guzzle\Http\Message\AbstractMessage'); - } - - public function tearDown() - { - $this->mock = $this->request = null; - } - - public function testGetParams() - { - $request = new Request('GET', 'http://example.com'); - $this->assertInstanceOf('Guzzle\\Common\\Collection', $request->getParams()); - } - - public function testAddHeaders() - { - $this->mock->setHeader('A', 'B'); - - $this->assertEquals($this->mock, $this->mock->addHeaders(array( - 'X-Data' => '123' - ))); - - $this->assertTrue($this->mock->hasHeader('X-Data') !== false); - $this->assertTrue($this->mock->hasHeader('A') !== false); - } - - public function testAllowsHeaderToSetAsHeader() - { - $h = new Header('A', 'B'); - $this->mock->setHeader('A', $h); - $this->assertSame($h, $this->mock->getHeader('A')); - } - - public function testGetHeader() - { - $this->mock->setHeader('Test', '123'); - $this->assertEquals('123', $this->mock->getHeader('Test')); - } - - public function testGetHeaders() - { - $this->assertSame($this->mock, $this->mock->setHeaders(array('a' => 'b', 'c' => 'd'))); - $h = $this->mock->getHeaders(); - $this->assertArrayHasKey('a', $h->toArray()); - $this->assertArrayHasKey('c', $h->toArray()); - $this->assertInstanceOf('Guzzle\Http\Message\Header\HeaderInterface', $h->get('a')); - $this->assertInstanceOf('Guzzle\Http\Message\Header\HeaderInterface', $h->get('c')); - } - - public function testGetHeaderLinesUsesGlue() - { - $this->mock->setHeaders(array('a' => 'b', 'c' => 'd')); - $this->mock->addHeader('a', 'e'); - $this->mock->getHeader('a')->setGlue('!'); - $this->assertEquals(array( - 'a: b! e', - 'c: d' - ), $this->mock->getHeaderLines()); - } - - public function testHasHeader() - { - $this->assertFalse($this->mock->hasHeader('Foo')); - $this->mock->setHeader('Foo', 'Bar'); - $this->assertEquals(true, $this->mock->hasHeader('Foo')); - $this->mock->setHeader('foo', 'yoo'); - $this->assertEquals(true, $this->mock->hasHeader('Foo')); - $this->assertEquals(true, $this->mock->hasHeader('foo')); - $this->assertEquals(false, $this->mock->hasHeader('bar')); - } - - public function testRemoveHeader() - { - $this->mock->setHeader('Foo', 'Bar'); - $this->assertEquals(true, $this->mock->hasHeader('Foo')); - $this->mock->removeHeader('Foo'); - $this->assertFalse($this->mock->hasHeader('Foo')); - } - - public function testReturnsNullWhenHeaderIsNotFound() - { - $this->assertNull($this->mock->getHeader('foo')); - } - - public function testAddingHeadersPreservesOriginalHeaderCase() - { - $this->mock->addHeaders(array( - 'test' => '123', - 'Test' => 'abc' - )); - $this->mock->addHeader('test', '456'); - $this->mock->addHeader('test', '789'); - - $header = $this->mock->getHeader('test'); - $this->assertContains('123', $header->toArray()); - $this->assertContains('456', $header->toArray()); - $this->assertContains('789', $header->toArray()); - $this->assertContains('abc', $header->toArray()); - } - - public function testCanStoreEmptyHeaders() - { - $this->mock->setHeader('Content-Length', 0); - $this->assertTrue($this->mock->hasHeader('Content-Length')); - $this->assertEquals(0, (string) $this->mock->getHeader('Content-Length')); - } - - public function testCanSetCustomHeaderFactory() - { - $f = new Header\HeaderFactory(); - $this->mock->setHeaderFactory($f); - $this->assertSame($f, $this->readAttribute($this->mock, 'headerFactory')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/EntityEnclosingRequestTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/EntityEnclosingRequestTest.php deleted file mode 100644 index 191b0222..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/EntityEnclosingRequestTest.php +++ /dev/null @@ -1,434 +0,0 @@ -client = new Client(); - } - - public function tearDown() - { - $this->client = null; - } - - public function testConstructorConfiguresRequest() - { - $request = new EntityEnclosingRequest('PUT', 'http://test.com', array( - 'X-Test' => '123' - )); - $request->setBody('Test'); - $this->assertEquals('123', $request->getHeader('X-Test')); - $this->assertNull($request->getHeader('Expect')); - } - - public function testCanSetBodyWithoutOverridingContentType() - { - $request = new EntityEnclosingRequest('PUT', 'http://test.com', array('Content-Type' => 'foooooo')); - $request->setBody('{"a":"b"}'); - $this->assertEquals('foooooo', $request->getHeader('Content-Type')); - } - - public function testRequestIncludesBodyInMessage() - { - - $request = RequestFactory::getInstance()->create('PUT', 'http://www.guzzle-project.com/', null, 'data'); - $this->assertEquals("PUT / HTTP/1.1\r\n" - . "Host: www.guzzle-project.com\r\n" - . "Content-Length: 4\r\n\r\n" - . "data", (string) $request); - } - - public function testRequestIncludesPostBodyInMessageOnlyWhenNoPostFiles() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/', null, array( - 'foo' => 'bar' - )); - $this->assertEquals("POST / HTTP/1.1\r\n" - . "Host: www.guzzle-project.com\r\n" - . "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n\r\n" - . "foo=bar", (string) $request); - - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/', null, array( - 'foo' => '@' . __FILE__ - )); - $this->assertEquals("POST / HTTP/1.1\r\n" - . "Host: www.guzzle-project.com\r\n" - . "Content-Type: multipart/form-data\r\n" - . "Expect: 100-Continue\r\n\r\n", (string) $request); - } - - public function testAddsPostFieldsAndSetsContentLength() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/', null, array( - 'data' => '123' - )); - $this->assertEquals("POST / HTTP/1.1\r\n" - . "Host: www.guzzle-project.com\r\n" - . "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n\r\n" - . "data=123", (string) $request); - } - - public function testAddsPostFilesAndSetsContentType() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.test.com/') - ->addPostFiles(array( - 'file' => __FILE__ - ))->addPostFields(array( - 'a' => 'b' - )); - $message = (string) $request; - $this->assertEquals('multipart/form-data', $request->getHeader('Content-Type')); - $this->assertEquals('100-Continue', $request->getHeader('Expect')); - } - - public function testRequestBodyContainsPostFiles() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.test.com/'); - $request->addPostFields(array( - 'test' => '123' - )); - $this->assertContains("\r\n\r\ntest=123", (string) $request); - } - - public function testRequestBodyAddsContentLength() - { - $request = RequestFactory::getInstance()->create('PUT', 'http://www.test.com/'); - $request->setBody(EntityBody::factory('test')); - $this->assertEquals(4, (string) $request->getHeader('Content-Length')); - $this->assertFalse($request->hasHeader('Transfer-Encoding')); - } - - public function testRequestBodyDoesNotUseContentLengthWhenChunked() - { - $request = RequestFactory::getInstance()->create('PUT', 'http://www.test.com/', array( - 'Transfer-Encoding' => 'chunked' - ), 'test'); - $this->assertNull($request->getHeader('Content-Length')); - $this->assertTrue($request->hasHeader('Transfer-Encoding')); - } - - public function testRequestHasMutableBody() - { - $request = RequestFactory::getInstance()->create('PUT', 'http://www.guzzle-project.com/', null, 'data'); - $body = $request->getBody(); - $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $body); - $this->assertSame($body, $request->getBody()); - - $newBody = EntityBody::factory('foobar'); - $request->setBody($newBody); - $this->assertEquals('foobar', (string) $request->getBody()); - $this->assertSame($newBody, $request->getBody()); - } - - public function testSetPostFields() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/'); - $this->assertInstanceOf('Guzzle\\Http\\QueryString', $request->getPostFields()); - - $fields = new QueryString(array( - 'a' => 'b' - )); - $request->addPostFields($fields); - $this->assertEquals($fields->getAll(), $request->getPostFields()->getAll()); - $this->assertEquals(array(), $request->getPostFiles()); - } - - public function testSetPostFiles() - { - $request = RequestFactory::getInstance()->create('POST', $this->getServer()->getUrl()) - ->setClient(new Client()) - ->addPostFiles(array(__FILE__)) - ->addPostFields(array( - 'test' => 'abc' - )); - - $request->getCurlOptions()->set('debug', true); - - $this->assertEquals(array( - 'test' => 'abc' - ), $request->getPostFields()->getAll()); - - $files = $request->getPostFiles(); - $post = $files['file'][0]; - $this->assertEquals('file', $post->getFieldName()); - $this->assertContains('text/x-', $post->getContentType()); - $this->assertEquals(__FILE__, $post->getFilename()); - - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $request->send(); - - $this->assertNotNull($request->getHeader('Content-Length')); - $this->assertContains('multipart/form-data; boundary=', (string) $request->getHeader('Content-Type'), '-> cURL must add the boundary'); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testSetPostFilesThrowsExceptionWhenFileIsNotFound() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/') - ->addPostFiles(array( - 'file' => 'filenotfound.ini' - )); - } - - /** - * @expectedException Guzzle\Http\Exception\RequestException - */ - public function testThrowsExceptionWhenNonStringsAreAddedToPost() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/') - ->addPostFile('foo', new \stdClass()); - } - - public function testAllowsContentTypeInPostUploads() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/') - ->addPostFile('foo', __FILE__, 'text/plain'); - - $this->assertEquals(array( - new PostFile('foo', __FILE__, 'text/plain') - ), $request->getPostFile('foo')); - } - - public function testGuessesContentTypeOfPostUpload() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/') - ->addPostFile('foo', __FILE__); - $file = $request->getPostFile('foo'); - $this->assertContains('text/x-', $file[0]->getContentType()); - } - - public function testAllowsContentDispositionFieldsInPostUploadsWhenSettingInBulk() - { - $postFile = new PostFile('foo', __FILE__, 'text/x-php'); - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/') - ->addPostFiles(array('foo' => $postFile)); - - $this->assertEquals(array($postFile), $request->getPostFile('foo')); - } - - public function testPostRequestsUseApplicationXwwwForUrlEncodedForArrays() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/'); - $request->setPostField('a', 'b'); - $this->assertContains("\r\n\r\na=b", (string) $request); - $this->assertEquals('application/x-www-form-urlencoded; charset=utf-8', $request->getHeader('Content-Type')); - } - - public function testProcessMethodAddsContentType() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/'); - $request->setPostField('a', 'b'); - $this->assertEquals('application/x-www-form-urlencoded; charset=utf-8', $request->getHeader('Content-Type')); - } - - public function testPostRequestsUseMultipartFormDataWithFiles() - { - $request = RequestFactory::getInstance()->create('POST', 'http://www.guzzle-project.com/'); - $request->addPostFiles(array('file' => __FILE__)); - $this->assertEquals('multipart/form-data', $request->getHeader('Content-Type')); - } - - public function testCanSendMultipleRequestsUsingASingleRequestObject() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 201 Created\r\nContent-Length: 0\r\n\r\n", - )); - - // Send the first request - $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl()) - ->setBody('test') - ->setClient(new Client()); - $request->send(); - $this->assertEquals(200, $request->getResponse()->getStatusCode()); - - // Send the second request - $request->setBody('abcdefg', 'application/json', false); - $request->send(); - $this->assertEquals(201, $request->getResponse()->getStatusCode()); - - // Ensure that the same request was sent twice with different bodies - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals(2, count($requests)); - $this->assertEquals(4, (string) $requests[0]->getHeader('Content-Length')); - $this->assertEquals(7, (string) $requests[1]->getHeader('Content-Length')); - } - - public function testRemovingPostFieldRebuildsPostFields() - { - $request = new EntityEnclosingRequest('POST', 'http://test.com'); - $request->setPostField('test', 'value'); - $request->removePostField('test'); - $this->assertNull($request->getPostField('test')); - } - - public function testUsesChunkedTransferWhenBodyLengthCannotBeDetermined() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $request = new EntityEnclosingRequest('PUT', 'http://test.com/'); - $request->setBody(fopen($this->getServer()->getUrl(), 'r')); - $this->assertEquals('chunked', $request->getHeader('Transfer-Encoding')); - $this->assertFalse($request->hasHeader('Content-Length')); - } - - /** - * @expectedException \Guzzle\Http\Exception\RequestException - */ - public function testThrowsExceptionWhenContentLengthCannotBeDeterminedAndUsingHttp1() - { - $request = new EntityEnclosingRequest('PUT', 'http://test.com/'); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $request->setProtocolVersion('1.0'); - $request->setBody(fopen($this->getServer()->getUrl(), 'r')); - } - - public function testAllowsNestedPostData() - { - $request = new EntityEnclosingRequest('POST', 'http://test.com/'); - $request->addPostFields(array( - 'a' => array('b', 'c') - )); - $this->assertEquals(array( - 'a' => array('b', 'c') - ), $request->getPostFields()->getAll()); - } - - public function testAllowsEmptyFields() - { - $request = new EntityEnclosingRequest('POST', 'http://test.com/'); - $request->addPostFields(array( - 'a' => '' - )); - $this->assertEquals(array( - 'a' => '' - ), $request->getPostFields()->getAll()); - } - - /** - * @expectedException \Guzzle\Http\Exception\RequestException - */ - public function testFailsOnInvalidFiles() - { - $request = new EntityEnclosingRequest('POST', 'http://test.com/'); - $request->addPostFiles(array( - 'a' => new \stdClass() - )); - } - - public function testHandlesEmptyStrings() - { - $request = new EntityEnclosingRequest('POST', 'http://test.com/'); - $request->addPostFields(array( - 'a' => '', - 'b' => null, - 'c' => 'Foo' - )); - $this->assertEquals(array( - 'a' => '', - 'b' => null, - 'c' => 'Foo' - ), $request->getPostFields()->getAll()); - } - - public function testHoldsPostFiles() - { - $request = new EntityEnclosingRequest('POST', 'http://test.com/'); - $request->addPostFile('foo', __FILE__); - $request->addPostFile(new PostFile('foo', __FILE__)); - - $this->assertArrayHasKey('foo', $request->getPostFiles()); - $foo = $request->getPostFile('foo'); - $this->assertEquals(2, count($foo)); - $this->assertEquals(__FILE__, $foo[0]->getFilename()); - $this->assertEquals(__FILE__, $foo[1]->getFilename()); - - $request->removePostFile('foo'); - $this->assertEquals(array(), $request->getPostFiles()); - } - - public function testAllowsAtPrefixWhenAddingPostFiles() - { - $request = new EntityEnclosingRequest('POST', 'http://test.com/'); - $request->addPostFiles(array( - 'foo' => '@' . __FILE__ - )); - $foo = $request->getPostFile('foo'); - $this->assertEquals(__FILE__, $foo[0]->getFilename()); - } - - public function testSetStateToTransferWithEmptyBodySetsContentLengthToZero() - { - $request = new EntityEnclosingRequest('POST', 'http://test.com/'); - $request->setState($request::STATE_TRANSFER); - $this->assertEquals('0', (string) $request->getHeader('Content-Length')); - } - - public function testSettingExpectHeaderCutoffChangesRequest() - { - $request = new EntityEnclosingRequest('PUT', 'http://test.com/'); - $request->setHeader('Expect', '100-Continue'); - $request->setExpectHeaderCutoff(false); - $this->assertNull($request->getHeader('Expect')); - // There is not body, so remove the expect header - $request->setHeader('Expect', '100-Continue'); - $request->setExpectHeaderCutoff(10); - $this->assertNull($request->getHeader('Expect')); - // The size is less than the cutoff - $request->setBody('foo'); - $this->assertNull($request->getHeader('Expect')); - // The size is greater than the cutoff - $request->setBody('foobazbarbamboo'); - $this->assertNotNull($request->getHeader('Expect')); - } - - public function testStrictRedirectsCanBeSpecifiedOnEntityEnclosingRequests() - { - $request = new EntityEnclosingRequest('PUT', 'http://test.com/'); - $request->configureRedirects(true); - $this->assertTrue($request->getParams()->get(RedirectPlugin::STRICT_REDIRECTS)); - } - - public function testCanDisableRedirects() - { - $request = new EntityEnclosingRequest('PUT', 'http://test.com/'); - $request->configureRedirects(false, false); - $this->assertTrue($request->getParams()->get(RedirectPlugin::DISABLE)); - } - - public function testSetsContentTypeWhenSettingBodyByGuessingFromEntityBody() - { - $request = new EntityEnclosingRequest('PUT', 'http://test.com/foo'); - $request->setBody(EntityBody::factory(fopen(__FILE__, 'r'))); - $this->assertEquals('text/x-php', (string) $request->getHeader('Content-Type')); - } - - public function testDoesNotCloneBody() - { - $request = new EntityEnclosingRequest('PUT', 'http://test.com/foo'); - $request->setBody('test'); - $newRequest = clone $request; - $newRequest->setBody('foo'); - $this->assertInternalType('string', (string) $request->getBody()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/HeaderFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/HeaderFactoryTest.php deleted file mode 100644 index 62ca5559..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/HeaderFactoryTest.php +++ /dev/null @@ -1,29 +0,0 @@ -createHeader('Foo', 'Bar'); - $this->assertInstanceOf('Guzzle\Http\Message\Header', $h); - $this->assertEquals('Foo', $h->getName()); - $this->assertEquals('Bar', (string) $h); - } - - public function testCreatesSpecificHeaders() - { - $f = new HeaderFactory(); - $h = $f->createHeader('Link', '; rel="test"'); - $this->assertInstanceOf('Guzzle\Http\Message\Header\Link', $h); - $this->assertEquals('Link', $h->getName()); - $this->assertEquals('; rel="test"', (string) $h); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/LinkTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/LinkTest.php deleted file mode 100644 index c834d101..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/Header/LinkTest.php +++ /dev/null @@ -1,63 +0,0 @@ -; rel=front; type="image/jpeg", ; rel=back; type="image/jpeg", ; rel=side; type="image/jpeg"'); - $links = $link->getLinks(); - $this->assertEquals(array( - array( - 'rel' => 'front', - 'type' => 'image/jpeg', - 'url' => 'http:/.../front.jpeg', - ), - array( - 'rel' => 'back', - 'type' => 'image/jpeg', - 'url' => 'http://.../back.jpeg', - ), - array( - 'rel' => 'side', - 'type' => 'image/jpeg', - 'url' => 'http://.../side.jpeg?test=1' - ) - ), $links); - - $this->assertEquals(array( - 'rel' => 'back', - 'type' => 'image/jpeg', - 'url' => 'http://.../back.jpeg', - ), $link->getLink('back')); - - $this->assertTrue($link->hasLink('front')); - $this->assertFalse($link->hasLink('foo')); - } - - public function testCanAddLink() - { - $link = new Link('Link', '; rel=a; type="image/jpeg"'); - $link->addLink('http://test.com', 'test', array('foo' => 'bar')); - $this->assertEquals( - '; rel=a; type="image/jpeg", ; rel="test"; foo="bar"', - (string) $link - ); - } - - public function testCanParseLinksWithCommas() - { - $link = new Link('Link', '; rel="previous"; title="start, index"'); - $this->assertEquals(array( - array( - 'rel' => 'previous', - 'title' => 'start, index', - 'url' => 'http://example.com/TheBook/chapter1', - ) - ), $link->getLinks()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparison.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparison.php deleted file mode 100644 index a3f511bf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparison.php +++ /dev/null @@ -1,135 +0,0 @@ -toArray(); - } - - foreach ($filteredHeaders as $k => $v) { - if ($k[0] == '_') { - // This header should be ignored - $ignore[] = str_replace('_', '', $k); - } elseif ($k[0] == '!') { - // This header must not be present - $absent[] = str_replace('!', '', $k); - } else { - $expected[$k] = $v; - } - } - - return $this->compareArray($expected, $actualHeaders, $ignore, $absent); - } - - /** - * Check if an array of HTTP headers matches another array of HTTP headers while taking * into account as a wildcard - * - * @param array $expected Expected HTTP headers (allows wildcard values) - * @param array|Collection $actual Actual HTTP header array - * @param array $ignore Headers to ignore from the comparison - * @param array $absent Array of headers that must not be present - * - * @return array|bool Returns an array of the differences or FALSE if none - */ - public function compareArray(array $expected, $actual, array $ignore = array(), array $absent = array()) - { - $differences = array(); - - // Add information about headers that were present but weren't supposed to be - foreach ($absent as $header) { - if ($this->hasKey($header, $actual)) { - $differences["++ {$header}"] = $actual[$header]; - unset($actual[$header]); - } - } - - // Check if expected headers are missing - foreach ($expected as $header => $value) { - if (!$this->hasKey($header, $actual)) { - $differences["- {$header}"] = $value; - } - } - - // Flip the ignore array so it works with the case insensitive helper - $ignore = array_flip($ignore); - // Allow case-insensitive comparisons in wildcards - $expected = array_change_key_case($expected); - - // Compare the expected and actual HTTP headers in no particular order - foreach ($actual as $key => $value) { - - // If this is to be ignored, the skip it - if ($this->hasKey($key, $ignore)) { - continue; - } - - // If the header was not expected - if (!$this->hasKey($key, $expected)) { - $differences["+ {$key}"] = $value; - continue; - } - - // Check values and take wildcards into account - $lkey = strtolower($key); - $pos = is_string($expected[$lkey]) ? strpos($expected[$lkey], '*') : false; - - foreach ((array) $actual[$key] as $v) { - if (($pos === false && $v != $expected[$lkey]) || $pos > 0 && substr($v, 0, $pos) != substr($expected[$lkey], 0, $pos)) { - $differences[$key] = "{$value} != {$expected[$lkey]}"; - } - } - } - - return empty($differences) ? false : $differences; - } - - /** - * Case insensitive check if an array have a key - * - * @param string $key Key to check - * @param array $array Array to check - * - * @return bool - */ - protected function hasKey($key, $array) - { - if ($array instanceof Collection) { - $keys = $array->getKeys(); - } else { - $keys = array_keys($array); - } - - foreach ($keys as $k) { - if (!strcasecmp($k, $key)) { - return true; - } - } - - return false; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparisonTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparisonTest.php deleted file mode 100644 index 86c4fe86..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderComparisonTest.php +++ /dev/null @@ -1,115 +0,0 @@ - 'Foo' - ), array( - 'Content-Length' => 'Foo' - ), false), - - // Missing header - array(array( - 'X-Foo' => 'Bar' - ), array(), array( - '- X-Foo' => 'Bar' - )), - - // Extra headers is present - array(array( - 'X-Foo' => 'Bar' - ), array( - 'X-Foo' => 'Bar', - 'X-Baz' => 'Jar' - ), array( - '+ X-Baz' => 'Jar' - )), - - // Header is present but must be absent - array(array( - '!X-Foo' => '*' - ), array( - 'X-Foo' => 'Bar' - ), array( - '++ X-Foo' => 'Bar' - )), - - // Different values - array(array( - 'X-Foo' => 'Bar' - ), array( - 'X-Foo' => 'Baz' - ), array( - 'X-Foo' => 'Baz != Bar' - )), - - // Wildcard search passes - array(array( - 'X-Foo' => '*' - ), array( - 'X-Foo' => 'Bar' - ), false), - - // Wildcard search fails - array(array( - 'X-Foo' => '*' - ), array(), array( - '- X-Foo' => '*' - )), - - // Ignore extra header if present - array(array( - 'X-Foo' => '*', - '_X-Bar' => '*', - ), array( - 'X-Foo' => 'Baz', - 'X-Bar' => 'Jar' - ), false), - - // Ignore extra header if present and is not - array(array( - 'X-Foo' => '*', - '_X-Bar' => '*', - ), array( - 'X-Foo' => 'Baz' - ), false), - - // Case insensitive - array(array( - 'X-Foo' => '*', - '_X-Bar' => '*', - ), array( - 'x-foo' => 'Baz', - 'x-BAR' => 'baz' - ), false), - - // Case insensitive with collection - array(array( - 'X-Foo' => '*', - '_X-Bar' => '*', - ), new Collection(array( - 'x-foo' => 'Baz', - 'x-BAR' => 'baz' - )), false), - ); - } - - /** - * @dataProvider filterProvider - */ - public function testComparesHeaders($filters, $headers, $result) - { - $compare = new HeaderComparison(); - $this->assertEquals($result, $compare->compare($filters, $headers)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderTest.php deleted file mode 100644 index c7502349..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/HeaderTest.php +++ /dev/null @@ -1,162 +0,0 @@ - array('foo', 'Foo'), - 'Zoo' => 'bar', - ); - - public function testStoresHeaderName() - { - $i = new Header('Zoo', $this->test); - $this->assertEquals('Zoo', $i->getName()); - } - - public function testConvertsToString() - { - $i = new Header('Zoo', $this->test); - $this->assertEquals('foo, Foo, bar', (string) $i); - $i->setGlue(';'); - $this->assertEquals('foo; Foo; bar', (string) $i); - } - - public function testNormalizesGluedHeaders() - { - $h = new Header('Zoo', array('foo, Faz', 'bar')); - $result = $h->normalize(true)->toArray(); - natsort($result); - $this->assertEquals(array('bar', 'foo', 'Faz'), $result); - } - - public function testCanSearchForValues() - { - $h = new Header('Zoo', $this->test); - $this->assertTrue($h->hasValue('foo')); - $this->assertTrue($h->hasValue('Foo')); - $this->assertTrue($h->hasValue('bar')); - $this->assertFalse($h->hasValue('moo')); - $this->assertFalse($h->hasValue('FoO')); - } - - public function testIsCountable() - { - $h = new Header('Zoo', $this->test); - $this->assertEquals(3, count($h)); - } - - public function testCanBeIterated() - { - $h = new Header('Zoo', $this->test); - $results = array(); - foreach ($h as $key => $value) { - $results[$key] = $value; - } - $this->assertEquals(array( - 'foo', 'Foo', 'bar' - ), $results); - } - - public function testAllowsFalseyValues() - { - // Allows 0 - $h = new Header('Foo', 0, ';'); - $this->assertEquals('0', (string) $h); - $this->assertEquals(1, count($h)); - $this->assertEquals(';', $h->getGlue()); - - // Does not add a null header by default - $h = new Header('Foo'); - $this->assertEquals('', (string) $h); - $this->assertEquals(0, count($h)); - - // Allows null array for a single null header - $h = new Header('Foo', array(null)); - $this->assertEquals('', (string) $h); - - // Allows empty string - $h = new Header('Foo', ''); - $this->assertEquals('', (string) $h); - $this->assertEquals(1, count($h)); - $this->assertEquals(1, count($h->normalize()->toArray())); - } - - public function testCanRemoveValues() - { - $h = new Header('Foo', array('Foo', 'baz', 'bar')); - $h->removeValue('bar'); - $this->assertTrue($h->hasValue('Foo')); - $this->assertFalse($h->hasValue('bar')); - $this->assertTrue($h->hasValue('baz')); - } - - public function testAllowsArrayInConstructor() - { - $h = new Header('Foo', array('Testing', '123', 'Foo=baz')); - $this->assertEquals(array('Testing', '123', 'Foo=baz'), $h->toArray()); - } - - public function parseParamsProvider() - { - $res1 = array( - array( - '' => '', - 'rel' => 'front', - 'type' => 'image/jpeg', - ), - array( - '' => '', - 'rel' => 'back', - 'type' => 'image/jpeg', - ), - ); - - return array( - array( - '; rel="front"; type="image/jpeg", ; rel=back; type="image/jpeg"', - $res1 - ), - array( - '; rel="front"; type="image/jpeg",; rel=back; type="image/jpeg"', - $res1 - ), - array( - 'foo="baz"; bar=123, boo, test="123", foobar="foo;bar"', - array( - array('foo' => 'baz', 'bar' => '123'), - array('boo' => ''), - array('test' => '123'), - array('foobar' => 'foo;bar') - ) - ), - array( - '; rel="side"; type="image/jpeg",; rel=side; type="image/jpeg"', - array( - array('' => '', 'rel' => 'side', 'type' => 'image/jpeg'), - array('' => '', 'rel' => 'side', 'type' => 'image/jpeg') - ) - ), - array( - '', - array() - ) - ); - } - - /** - * @dataProvider parseParamsProvider - */ - public function testParseParams($header, $result) - { - $response = new Response(200, array('Link' => $header)); - $this->assertEquals($result, $response->getHeader('Link')->parseParams()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/PostFileTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/PostFileTest.php deleted file mode 100644 index be048cb9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/PostFileTest.php +++ /dev/null @@ -1,88 +0,0 @@ -assertEquals('foo', $file->getFieldName()); - $this->assertEquals(__FILE__, $file->getFilename()); - $this->assertEquals('boo', $file->getPostName()); - $this->assertEquals('x-foo', $file->getContentType()); - } - - public function testRemovesLeadingAtSymbolFromPath() - { - $file = new PostFile('foo', '@' . __FILE__); - $this->assertEquals(__FILE__, $file->getFilename()); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testEnsuresFileIsReadable() - { - $file = new PostFile('foo', '/foo/baz/bar'); - } - - public function testCanChangeContentType() - { - $file = new PostFile('foo', '@' . __FILE__); - $file->setContentType('Boo'); - $this->assertEquals('Boo', $file->getContentType()); - } - - public function testCanChangeFieldName() - { - $file = new PostFile('foo', '@' . __FILE__); - $file->setFieldName('Boo'); - $this->assertEquals('Boo', $file->getFieldName()); - } - - public function testReturnsCurlValueString() - { - $file = new PostFile('foo', __FILE__); - if (version_compare(phpversion(), '5.5.0', '<')) { - $this->assertContains('@' . __FILE__ . ';filename=PostFileTest.php;type=text/x-', $file->getCurlValue()); - } else { - $c = $file->getCurlValue(); - $this->assertEquals(__FILE__, $c->getFilename()); - $this->assertEquals('PostFileTest.php', $c->getPostFilename()); - $this->assertContains('text/x-', $c->getMimeType()); - } - } - - public function testReturnsCurlValueStringAndPostname() - { - $file = new PostFile('foo', __FILE__, null, 'NewPostFileTest.php'); - if (version_compare(phpversion(), '5.5.0', '<')) { - $this->assertContains('@' . __FILE__ . ';filename=NewPostFileTest.php;type=text/x-', $file->getCurlValue()); - } else { - $c = $file->getCurlValue(); - $this->assertEquals(__FILE__, $c->getFilename()); - $this->assertEquals('NewPostFileTest.php', $c->getPostFilename()); - $this->assertContains('text/x-', $c->getMimeType()); - } - } - - public function testContentDispositionFilePathIsStripped() - { - $this->getServer()->flush(); - $client = new Client($this->getServer()->getUrl()); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $request = $client->post()->addPostFile('file', __FILE__); - $request->send(); - $requests = $this->getServer()->getReceivedRequests(false); - $this->assertContains('POST / HTTP/1.1', $requests[0]); - $this->assertContains('Content-Disposition: form-data; name="file"; filename="PostFileTest.php"', $requests[0]); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestFactoryTest.php deleted file mode 100644 index 80b8d541..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestFactoryTest.php +++ /dev/null @@ -1,616 +0,0 @@ -assertSame($factory, RequestFactory::getInstance()); - } - - public function testCreatesNewGetRequests() - { - $request = RequestFactory::getInstance()->create('GET', 'http://www.google.com/'); - $this->assertInstanceOf('Guzzle\\Http\\Message\\MessageInterface', $request); - $this->assertInstanceOf('Guzzle\\Http\\Message\\RequestInterface', $request); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Request', $request); - $this->assertEquals('GET', $request->getMethod()); - $this->assertEquals('http', $request->getScheme()); - $this->assertEquals('http://www.google.com/', $request->getUrl()); - $this->assertEquals('www.google.com', $request->getHost()); - $this->assertEquals('/', $request->getPath()); - $this->assertEquals('/', $request->getResource()); - - // Create a GET request with a custom receiving body - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $b = EntityBody::factory(); - $request = RequestFactory::getInstance()->create('GET', $this->getServer()->getUrl(), null, $b); - $request->setClient(new Client()); - $response = $request->send(); - $this->assertSame($b, $response->getBody()); - } - - public function testCreatesPutRequests() - { - // Test using a string - $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, 'Data'); - $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request); - $this->assertEquals('PUT', $request->getMethod()); - $this->assertEquals('http', $request->getScheme()); - $this->assertEquals('http://www.google.com/path?q=1&v=2', $request->getUrl()); - $this->assertEquals('www.google.com', $request->getHost()); - $this->assertEquals('/path', $request->getPath()); - $this->assertEquals('/path?q=1&v=2', $request->getResource()); - $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $request->getBody()); - $this->assertEquals('Data', (string) $request->getBody()); - unset($request); - - // Test using an EntityBody - $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, EntityBody::factory('Data')); - $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request); - $this->assertEquals('Data', (string) $request->getBody()); - - // Test using a resource - $resource = fopen('php://temp', 'w+'); - fwrite($resource, 'Data'); - $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, $resource); - $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request); - $this->assertEquals('Data', (string) $request->getBody()); - - // Test using an object that can be cast as a string - $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, Url::factory('http://www.example.com/')); - $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request); - $this->assertEquals('http://www.example.com/', (string) $request->getBody()); - } - - public function testCreatesHeadAndDeleteRequests() - { - $request = RequestFactory::getInstance()->create('DELETE', 'http://www.test.com/'); - $this->assertEquals('DELETE', $request->getMethod()); - $request = RequestFactory::getInstance()->create('HEAD', 'http://www.test.com/'); - $this->assertEquals('HEAD', $request->getMethod()); - } - - public function testCreatesOptionsRequests() - { - $request = RequestFactory::getInstance()->create('OPTIONS', 'http://www.example.com/'); - $this->assertEquals('OPTIONS', $request->getMethod()); - $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request); - } - - public function testCreatesNewPutRequestWithBody() - { - $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', null, 'Data'); - $this->assertEquals('Data', (string) $request->getBody()); - } - - public function testCreatesNewPostRequestWithFields() - { - // Use an array - $request = RequestFactory::getInstance()->create('POST', 'http://www.google.com/path?q=1&v=2', null, array( - 'a' => 'b' - )); - $this->assertEquals(array('a' => 'b'), $request->getPostFields()->getAll()); - unset($request); - - // Use a collection - $request = RequestFactory::getInstance()->create('POST', 'http://www.google.com/path?q=1&v=2', null, new Collection(array( - 'a' => 'b' - ))); - $this->assertEquals(array('a' => 'b'), $request->getPostFields()->getAll()); - - // Use a QueryString - $request = RequestFactory::getInstance()->create('POST', 'http://www.google.com/path?q=1&v=2', null, new QueryString(array( - 'a' => 'b' - ))); - $this->assertEquals(array('a' => 'b'), $request->getPostFields()->getAll()); - - $request = RequestFactory::getInstance()->create('POST', 'http://www.test.com/', null, array( - 'a' => 'b', - 'file' => '@' . __FILE__ - )); - - $this->assertEquals(array( - 'a' => 'b' - ), $request->getPostFields()->getAll()); - - $files = $request->getPostFiles(); - $this->assertInstanceOf('Guzzle\Http\Message\PostFile', $files['file'][0]); - } - - public function testCreatesFromParts() - { - $parts = parse_url('http://michael:123@www.google.com:8080/path?q=1&v=2'); - - $request = RequestFactory::getInstance()->fromParts('PUT', $parts, null, 'Data'); - $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request); - $this->assertEquals('PUT', $request->getMethod()); - $this->assertEquals('http', $request->getScheme()); - $this->assertEquals('http://www.google.com:8080/path?q=1&v=2', $request->getUrl()); - $this->assertEquals('www.google.com', $request->getHost()); - $this->assertEquals('www.google.com:8080', $request->getHeader('Host')); - $this->assertEquals('/path', $request->getPath()); - $this->assertEquals('/path?q=1&v=2', $request->getResource()); - $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $request->getBody()); - $this->assertEquals('Data', (string) $request->getBody()); - $this->assertEquals('michael', $request->getUsername()); - $this->assertEquals('123', $request->getPassword()); - $this->assertEquals('8080', $request->getPort()); - $this->assertEquals(array( - 'scheme' => 'http', - 'host' => 'www.google.com', - 'port' => 8080, - 'path' => '/path', - 'query' => 'q=1&v=2', - ), parse_url($request->getUrl())); - } - - public function testCreatesFromMessage() - { - $auth = base64_encode('michael:123'); - $message = "PUT /path?q=1&v=2 HTTP/1.1\r\nHost: www.google.com:8080\r\nContent-Length: 4\r\nAuthorization: Basic {$auth}\r\n\r\nData"; - $request = RequestFactory::getInstance()->fromMessage($message); - $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request); - $this->assertEquals('PUT', $request->getMethod()); - $this->assertEquals('http', $request->getScheme()); - $this->assertEquals('http://www.google.com:8080/path?q=1&v=2', $request->getUrl()); - $this->assertEquals('www.google.com', $request->getHost()); - $this->assertEquals('www.google.com:8080', $request->getHeader('Host')); - $this->assertEquals('/path', $request->getPath()); - $this->assertEquals('/path?q=1&v=2', $request->getResource()); - $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $request->getBody()); - $this->assertEquals('Data', (string) $request->getBody()); - $this->assertEquals("Basic {$auth}", (string) $request->getHeader('Authorization')); - $this->assertEquals('8080', $request->getPort()); - - // Test passing a blank message returns false - $this->assertFalse($request = RequestFactory::getInstance()->fromMessage('')); - - // Test passing a url with no port - $message = "PUT /path?q=1&v=2 HTTP/1.1\r\nHost: www.google.com\r\nContent-Length: 4\r\nAuthorization: Basic {$auth}\r\n\r\nData"; - $request = RequestFactory::getInstance()->fromMessage($message); - $this->assertInstanceOf('Guzzle\\Http\\Message\\EntityEnclosingRequest', $request); - $this->assertEquals('PUT', $request->getMethod()); - $this->assertEquals('http', $request->getScheme()); - $this->assertEquals('http://www.google.com/path?q=1&v=2', $request->getUrl()); - $this->assertEquals('www.google.com', $request->getHost()); - $this->assertEquals('/path', $request->getPath()); - $this->assertEquals('/path?q=1&v=2', $request->getResource()); - $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $request->getBody()); - $this->assertEquals('Data', (string) $request->getBody()); - $this->assertEquals("Basic {$auth}", (string) $request->getHeader('Authorization')); - $this->assertEquals(80, $request->getPort()); - } - - public function testCreatesNewTraceRequest() - { - $request = RequestFactory::getInstance()->create('TRACE', 'http://www.google.com/'); - $this->assertFalse($request instanceof \Guzzle\Http\Message\EntityEnclosingRequest); - $this->assertEquals('TRACE', $request->getMethod()); - } - - public function testCreatesProperTransferEncodingRequests() - { - $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/', array( - 'Transfer-Encoding' => 'chunked' - ), 'hello'); - $this->assertEquals('chunked', $request->getHeader('Transfer-Encoding')); - $this->assertFalse($request->hasHeader('Content-Length')); - } - - public function testProperlyDealsWithDuplicateHeaders() - { - $parser = new MessageParser(); - - $message = "POST / http/1.1\r\n" - . "DATE:Mon, 09 Sep 2011 23:36:00 GMT\r\n" - . "host:host.foo.com\r\n" - . "ZOO:abc\r\n" - . "ZOO:123\r\n" - . "ZOO:HI\r\n" - . "zoo:456\r\n\r\n"; - - $parts = $parser->parseRequest($message); - $this->assertEquals(array ( - 'DATE' => 'Mon, 09 Sep 2011 23:36:00 GMT', - 'host' => 'host.foo.com', - 'ZOO' => array('abc', '123', 'HI'), - 'zoo' => '456', - ), $parts['headers']); - - $request = RequestFactory::getInstance()->fromMessage($message); - - $this->assertEquals(array( - 'abc', '123', 'HI', '456' - ), $request->getHeader('zoo')->toArray()); - } - - public function testCreatesHttpMessagesWithBodiesAndNormalizesLineEndings() - { - $message = "POST / http/1.1\r\n" - . "Content-Type:application/x-www-form-urlencoded; charset=utf8\r\n" - . "Date:Mon, 09 Sep 2011 23:36:00 GMT\r\n" - . "Host:host.foo.com\r\n\r\n" - . "foo=bar"; - - $request = RequestFactory::getInstance()->fromMessage($message); - $this->assertEquals('application/x-www-form-urlencoded; charset=utf8', (string) $request->getHeader('Content-Type')); - $this->assertEquals('foo=bar', (string) $request->getBody()); - - $message = "POST / http/1.1\n" - . "Content-Type:application/x-www-form-urlencoded; charset=utf8\n" - . "Date:Mon, 09 Sep 2011 23:36:00 GMT\n" - . "Host:host.foo.com\n\n" - . "foo=bar"; - $request = RequestFactory::getInstance()->fromMessage($message); - $this->assertEquals('foo=bar', (string) $request->getBody()); - - $message = "PUT / HTTP/1.1\r\nContent-Length: 0\r\n\r\n"; - $request = RequestFactory::getInstance()->fromMessage($message); - $this->assertTrue($request->hasHeader('Content-Length')); - $this->assertEquals(0, (string) $request->getHeader('Content-Length')); - } - - public function testBugPathIncorrectlyHandled() - { - $message = "POST /foo\r\n\r\nBODY"; - $request = RequestFactory::getInstance()->fromMessage($message); - $this->assertSame('POST', $request->getMethod()); - $this->assertSame('/foo', $request->getPath()); - $this->assertSame('BODY', (string) $request->getBody()); - } - - public function testHandlesChunkedTransferEncoding() - { - $request = RequestFactory::getInstance()->create('PUT', 'http://www.foo.com/', array( - 'Transfer-Encoding' => 'chunked' - ), 'Test'); - $this->assertFalse($request->hasHeader('Content-Length')); - $this->assertEquals('chunked', $request->getHeader('Transfer-Encoding')); - - $request = RequestFactory::getInstance()->create('POST', 'http://www.foo.com/', array( - 'transfer-encoding' => 'chunked' - ), array( - 'foo' => 'bar' - )); - - $this->assertFalse($request->hasHeader('Content-Length')); - $this->assertEquals('chunked', $request->getHeader('Transfer-Encoding')); - } - - public function testClonesRequestsWithMethodWithoutClient() - { - $f = RequestFactory::getInstance(); - $request = $f->create('GET', 'http://www.test.com', array('X-Foo' => 'Bar')); - $request->getParams()->replace(array('test' => '123')); - $request->getCurlOptions()->set('foo', 'bar'); - $cloned = $f->cloneRequestWithMethod($request, 'PUT'); - $this->assertEquals('PUT', $cloned->getMethod()); - $this->assertEquals('Bar', (string) $cloned->getHeader('X-Foo')); - $this->assertEquals('http://www.test.com', $cloned->getUrl()); - // Ensure params are cloned and cleaned up - $this->assertEquals(1, count($cloned->getParams()->getAll())); - $this->assertEquals('123', $cloned->getParams()->get('test')); - // Ensure curl options are cloned - $this->assertEquals('bar', $cloned->getCurlOptions()->get('foo')); - // Ensure event dispatcher is cloned - $this->assertNotSame($request->getEventDispatcher(), $cloned->getEventDispatcher()); - } - - public function testClonesRequestsWithMethodWithClient() - { - $f = RequestFactory::getInstance(); - $client = new Client(); - $request = $client->put('http://www.test.com', array('Content-Length' => 4), 'test'); - $cloned = $f->cloneRequestWithMethod($request, 'GET'); - $this->assertEquals('GET', $cloned->getMethod()); - $this->assertNull($cloned->getHeader('Content-Length')); - $this->assertEquals('http://www.test.com', $cloned->getUrl()); - $this->assertSame($request->getClient(), $cloned->getClient()); - } - - public function testClonesRequestsWithMethodWithClientWithEntityEnclosingChange() - { - $f = RequestFactory::getInstance(); - $client = new Client(); - $request = $client->put('http://www.test.com', array('Content-Length' => 4), 'test'); - $cloned = $f->cloneRequestWithMethod($request, 'POST'); - $this->assertEquals('POST', $cloned->getMethod()); - $this->assertEquals('test', (string) $cloned->getBody()); - } - - public function testCanDisableRedirects() - { - $this->getServer()->enqueue(array( - "HTTP/1.1 307\r\nLocation: " . $this->getServer()->getUrl() . "\r\nContent-Length: 0\r\n\r\n" - )); - $client = new Client($this->getServer()->getUrl()); - $response = $client->get('/', array(), array('allow_redirects' => false))->send(); - $this->assertEquals(307, $response->getStatusCode()); - } - - public function testCanAddCookies() - { - $client = new Client($this->getServer()->getUrl()); - $request = $client->get('/', array(), array('cookies' => array('Foo' => 'Bar'))); - $this->assertEquals('Bar', $request->getCookie('Foo')); - } - - public function testCanAddQueryString() - { - $request = RequestFactory::getInstance()->create('GET', 'http://foo.com', array(), null, array( - 'query' => array('Foo' => 'Bar') - )); - $this->assertEquals('Bar', $request->getQuery()->get('Foo')); - } - - public function testCanSetDefaultQueryString() - { - $request = new Request('GET', 'http://www.foo.com?test=abc'); - RequestFactory::getInstance()->applyOptions($request, array( - 'query' => array('test' => '123', 'other' => 't123') - ), RequestFactory::OPTIONS_AS_DEFAULTS); - $this->assertEquals('abc', $request->getQuery()->get('test')); - $this->assertEquals('t123', $request->getQuery()->get('other')); - } - - public function testCanAddBasicAuth() - { - $request = RequestFactory::getInstance()->create('GET', 'http://foo.com', array(), null, array( - 'auth' => array('michael', 'test') - )); - $this->assertEquals('michael', $request->getUsername()); - $this->assertEquals('test', $request->getPassword()); - } - - public function testCanAddDigestAuth() - { - $request = RequestFactory::getInstance()->create('GET', 'http://foo.com', array(), null, array( - 'auth' => array('michael', 'test', 'digest') - )); - $this->assertEquals(CURLAUTH_DIGEST, $request->getCurlOptions()->get(CURLOPT_HTTPAUTH)); - $this->assertEquals('michael', $request->getUsername()); - $this->assertEquals('test', $request->getPassword()); - } - - public function testCanAddEvents() - { - $foo = null; - $client = new Client(); - $client->addSubscriber(new MockPlugin(array(new Response(200)))); - $request = $client->get($this->getServer()->getUrl(), array(), array( - 'events' => array( - 'request.before_send' => function () use (&$foo) { $foo = true; } - ) - )); - $request->send(); - $this->assertTrue($foo); - } - - public function testCanAddEventsWithPriority() - { - $foo = null; - $client = new Client(); - $client->addSubscriber(new MockPlugin(array(new Response(200)))); - $request = $client->get($this->getServer()->getUrl(), array(), array( - 'events' => array( - 'request.before_send' => array(function () use (&$foo) { $foo = true; }, 100) - ) - )); - $request->send(); - $this->assertTrue($foo); - } - - public function testCanAddPlugins() - { - $mock = new MockPlugin(array( - new Response(200), - new Response(200) - )); - $client = new Client(); - $client->addSubscriber($mock); - $request = $client->get('/', array(), array( - 'plugins' => array($mock) - )); - $request->send(); - } - - public function testCanDisableExceptions() - { - $client = new Client(); - $request = $client->get('/', array(), array( - 'plugins' => array(new MockPlugin(array(new Response(500)))), - 'exceptions' => false - )); - $this->assertEquals(500, $request->send()->getStatusCode()); - } - - public function testCanDisableExceptionsWithErrorListener() - { - $client = new Client(); - $client->getEventDispatcher()->addListener('request.error', function () {}); - $request = $client->get('/', array(), array( - 'plugins' => array(new MockPlugin(array(new Response(500)))), - 'exceptions' => false - )); - $this->assertEquals(500, $request->send()->getStatusCode()); - } - - public function testCanChangeSaveToLocation() - { - $r = EntityBody::factory(); - $client = new Client(); - $request = $client->get('/', array(), array( - 'plugins' => array(new MockPlugin(array(new Response(200, array(), 'testing')))), - 'save_to' => $r - )); - $request->send(); - $this->assertEquals('testing', (string) $r); - } - - public function testCanSetProxy() - { - $client = new Client(); - $request = $client->get('/', array(), array('proxy' => '192.168.16.121')); - $this->assertEquals('192.168.16.121', $request->getCurlOptions()->get(CURLOPT_PROXY)); - } - - public function testCanSetHeadersOption() - { - $client = new Client(); - $request = $client->get('/', array(), array('headers' => array('Foo' => 'Bar'))); - $this->assertEquals('Bar', (string) $request->getHeader('Foo')); - } - - public function testCanSetDefaultHeadersOptions() - { - $request = new Request('GET', 'http://www.foo.com', array('Foo' => 'Bar')); - RequestFactory::getInstance()->applyOptions($request, array( - 'headers' => array('Foo' => 'Baz', 'Bam' => 't123') - ), RequestFactory::OPTIONS_AS_DEFAULTS); - $this->assertEquals('Bar', (string) $request->getHeader('Foo')); - $this->assertEquals('t123', (string) $request->getHeader('Bam')); - } - - public function testCanSetBodyOption() - { - $client = new Client(); - $request = $client->put('/', array(), null, array('body' => 'test')); - $this->assertEquals('test', (string) $request->getBody()); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testValidatesBodyOption() - { - $client = new Client(); - $client->get('/', array(), array('body' => 'test')); - } - - public function testCanSetTimeoutOption() - { - $client = new Client(); - $request = $client->get('/', array(), array('timeout' => 1.5)); - $this->assertEquals(1500, $request->getCurlOptions()->get(CURLOPT_TIMEOUT_MS)); - } - - public function testCanSetConnectTimeoutOption() - { - $client = new Client(); - $request = $client->get('/', array(), array('connect_timeout' => 1.5)); - $this->assertEquals(1500, $request->getCurlOptions()->get(CURLOPT_CONNECTTIMEOUT_MS)); - } - - public function testCanSetDebug() - { - $client = new Client(); - $request = $client->get('/', array(), array('debug' => true)); - $this->assertTrue($request->getCurlOptions()->get(CURLOPT_VERBOSE)); - } - - public function testCanSetVerifyToOff() - { - $client = new Client(); - $request = $client->get('/', array(), array('verify' => false)); - $this->assertNull($request->getCurlOptions()->get(CURLOPT_CAINFO)); - $this->assertSame(0, $request->getCurlOptions()->get(CURLOPT_SSL_VERIFYHOST)); - $this->assertFalse($request->getCurlOptions()->get(CURLOPT_SSL_VERIFYPEER)); - } - - public function testCanSetVerifyToOn() - { - $client = new Client(); - $request = $client->get('/', array(), array('verify' => true)); - $this->assertNotNull($request->getCurlOptions()->get(CURLOPT_CAINFO)); - $this->assertSame(2, $request->getCurlOptions()->get(CURLOPT_SSL_VERIFYHOST)); - $this->assertTrue($request->getCurlOptions()->get(CURLOPT_SSL_VERIFYPEER)); - } - - public function testCanSetVerifyToPath() - { - $client = new Client(); - $request = $client->get('/', array(), array('verify' => '/foo.pem')); - $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_CAINFO)); - $this->assertSame(2, $request->getCurlOptions()->get(CURLOPT_SSL_VERIFYHOST)); - $this->assertTrue($request->getCurlOptions()->get(CURLOPT_SSL_VERIFYPEER)); - } - - public function inputValidation() - { - return array_map(function ($option) { return array($option); }, array( - 'headers', 'query', 'cookies', 'auth', 'events', 'plugins', 'params' - )); - } - - /** - * @dataProvider inputValidation - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - */ - public function testValidatesInput($option) - { - $client = new Client(); - $client->get('/', array(), array($option => 'foo')); - } - - public function testCanAddRequestParams() - { - $client = new Client(); - $request = $client->put('/', array(), null, array('params' => array('foo' => 'test'))); - $this->assertEquals('test', $request->getParams()->get('foo')); - } - - public function testCanAddSslKey() - { - $client = new Client(); - $request = $client->get('/', array(), array('ssl_key' => '/foo.pem')); - $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_SSLKEY)); - } - - public function testCanAddSslKeyPassword() - { - $client = new Client(); - $request = $client->get('/', array(), array('ssl_key' => array('/foo.pem', 'bar'))); - $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_SSLKEY)); - $this->assertEquals('bar', $request->getCurlOptions()->get(CURLOPT_SSLKEYPASSWD)); - } - - public function testCanAddSslCert() - { - $client = new Client(); - $request = $client->get('/', array(), array('cert' => '/foo.pem')); - $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_SSLCERT)); - } - - public function testCanAddSslCertPassword() - { - $client = new Client(); - $request = $client->get('/', array(), array('cert' => array('/foo.pem', 'bar'))); - $this->assertEquals('/foo.pem', $request->getCurlOptions()->get(CURLOPT_SSLCERT)); - $this->assertEquals('bar', $request->getCurlOptions()->get(CURLOPT_SSLCERTPASSWD)); - } - - public function testCreatesBodyWithoutZeroString() - { - $request = RequestFactory::getInstance()->create('PUT', 'http://test.com', array(), '0'); - $this->assertSame('0', (string) $request->getBody()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestTest.php deleted file mode 100644 index 5bf62482..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/RequestTest.php +++ /dev/null @@ -1,639 +0,0 @@ -client = new Client($this->getServer()->getUrl()); - $this->request = $this->client->get(); - } - - public function tearDown() - { - unset($this->request); - unset($this->client); - } - - public function testConstructorBuildsRequestWithArrayHeaders() - { - // Test passing an array of headers - $request = new Request('GET', 'http://www.guzzle-project.com/', array( - 'foo' => 'bar' - )); - - $this->assertEquals('GET', $request->getMethod()); - $this->assertEquals('http://www.guzzle-project.com/', $request->getUrl()); - $this->assertEquals('bar', $request->getHeader('foo')); - } - - public function testDescribesEvents() - { - $this->assertInternalType('array', Request::getAllEvents()); - } - - public function testConstructorBuildsRequestWithCollectionHeaders() - { - $request = new Request('GET', 'http://www.guzzle-project.com/', new Collection(array( - 'foo' => 'bar' - ))); - $this->assertEquals('bar', $request->getHeader('foo')); - } - - public function testConstructorBuildsRequestWithNoHeaders() - { - $request = new Request('GET', 'http://www.guzzle-project.com/', null); - $this->assertFalse($request->hasHeader('foo')); - } - - public function testConstructorHandlesNonBasicAuth() - { - $request = new Request('GET', 'http://www.guzzle-project.com/', array( - 'Authorization' => 'Foo bar' - )); - $this->assertNull($request->getUserName()); - $this->assertNull($request->getPassword()); - $this->assertEquals('Foo bar', (string) $request->getHeader('Authorization')); - } - - public function testRequestsCanBeConvertedToRawMessageStrings() - { - $auth = base64_encode('michael:123'); - $message = "PUT /path?q=1&v=2 HTTP/1.1\r\n" - . "Host: www.google.com\r\n" - . "Authorization: Basic {$auth}\r\n" - . "Content-Length: 4\r\n\r\nData"; - - $request = RequestFactory::getInstance()->create('PUT', 'http://www.google.com/path?q=1&v=2', array( - 'Authorization' => 'Basic ' . $auth - ), 'Data'); - - $this->assertEquals($message, $request->__toString()); - } - - /** - * Add authorization after the fact and see that it was put in the message - */ - public function testRequestStringsIncludeAuth() - { - $auth = base64_encode('michael:123'); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $request = RequestFactory::getInstance()->create('PUT', $this->getServer()->getUrl(), null, 'Data') - ->setClient($this->client) - ->setAuth('michael', '123', CURLAUTH_BASIC); - $request->send(); - - $this->assertContains('Authorization: Basic ' . $auth, (string) $request); - } - - public function testGetEventDispatcher() - { - $d = $this->request->getEventDispatcher(); - $this->assertInstanceOf('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface', $d); - $this->assertEquals($d, $this->request->getEventDispatcher()); - } - - public function testRequestsManageClients() - { - $request = new Request('GET', 'http://test.com'); - $this->assertNull($request->getClient()); - $request->setClient($this->client); - $this->assertSame($this->client, $request->getClient()); - } - - /** - * @expectedException \RuntimeException - * @expectedExceptionMessage A client must be set on the request - */ - public function testRequestsRequireClients() - { - $request = new Request('GET', 'http://test.com'); - $request->send(); - } - - public function testSend() - { - $response = new Response(200, array( - 'Content-Length' => 3 - ), 'abc'); - $this->request->setResponse($response, true); - $r = $this->request->send(); - - $this->assertSame($response, $r); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $this->request->getResponse()); - $this->assertSame($r, $this->request->getResponse()); - $this->assertEquals('complete', $this->request->getState()); - } - - public function testGetResponse() - { - $this->assertNull($this->request->getResponse()); - $response = new Response(200, array('Content-Length' => 3), 'abc'); - - $this->request->setResponse($response); - $this->assertEquals($response, $this->request->getResponse()); - - $client = new Client('http://www.google.com'); - $request = $client->get('http://www.google.com/'); - $request->setResponse($response, true); - $request->send(); - $requestResponse = $request->getResponse(); - $this->assertSame($response, $requestResponse); - - // Try again, making sure it's still the same response - $this->assertSame($requestResponse, $request->getResponse()); - - $response = new Response(204); - $request = $client->get(); - $request->setResponse($response, true); - $request->send(); - $requestResponse = $request->getResponse(); - $this->assertSame($response, $requestResponse); - $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $response->getBody()); - } - - public function testRequestThrowsExceptionOnBadResponse() - { - try { - $this->request->setResponse(new Response(404, array('Content-Length' => 3), 'abc'), true); - $this->request->send(); - $this->fail('Expected exception not thrown'); - } catch (BadResponseException $e) { - $this->assertInstanceOf('Guzzle\\Http\\Message\\RequestInterface', $e->getRequest()); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $e->getResponse()); - $this->assertContains('Client error response', $e->getMessage()); - } - } - - public function testManagesQuery() - { - $this->assertInstanceOf('Guzzle\\Http\\QueryString', $this->request->getQuery()); - $this->request->getQuery()->set('test', '123'); - $this->assertEquals('test=123', $this->request->getQuery(true)); - } - - public function testRequestHasMethod() - { - $this->assertEquals('GET', $this->request->getMethod()); - } - - public function testRequestHasScheme() - { - $this->assertEquals('http', $this->request->getScheme()); - $this->assertEquals($this->request, $this->request->setScheme('https')); - $this->assertEquals('https', $this->request->getScheme()); - } - - public function testRequestHasHost() - { - $this->assertEquals('127.0.0.1', $this->request->getHost()); - $this->assertEquals('127.0.0.1:8124', (string) $this->request->getHeader('Host')); - - $this->assertSame($this->request, $this->request->setHost('www2.google.com')); - $this->assertEquals('www2.google.com', $this->request->getHost()); - $this->assertEquals('www2.google.com:8124', (string) $this->request->getHeader('Host')); - - $this->assertSame($this->request, $this->request->setHost('www.test.com:8081')); - $this->assertEquals('www.test.com', $this->request->getHost()); - $this->assertEquals(8081, $this->request->getPort()); - } - - public function testRequestHasProtocol() - { - $this->assertEquals('1.1', $this->request->getProtocolVersion()); - $this->assertEquals($this->request, $this->request->setProtocolVersion('1.1')); - $this->assertEquals('1.1', $this->request->getProtocolVersion()); - $this->assertEquals($this->request, $this->request->setProtocolVersion('1.0')); - $this->assertEquals('1.0', $this->request->getProtocolVersion()); - } - - public function testRequestHasPath() - { - $this->assertEquals('/', $this->request->getPath()); - $this->assertEquals($this->request, $this->request->setPath('/index.html')); - $this->assertEquals('/index.html', $this->request->getPath()); - $this->assertEquals($this->request, $this->request->setPath('index.html')); - $this->assertEquals('/index.html', $this->request->getPath()); - } - - public function testPermitsFalsyComponents() - { - $request = new Request('GET', 'http://0/0?0'); - $this->assertSame('0', $request->getHost()); - $this->assertSame('/0', $request->getPath()); - $this->assertSame('0', $request->getQuery(true)); - - $request = new Request('GET', '0'); - $this->assertEquals('/0', $request->getPath()); - } - - public function testRequestHasPort() - { - $this->assertEquals(8124, $this->request->getPort()); - $this->assertEquals('127.0.0.1:8124', $this->request->getHeader('Host')); - - $this->assertEquals($this->request, $this->request->setPort('8080')); - $this->assertEquals('8080', $this->request->getPort()); - $this->assertEquals('127.0.0.1:8080', $this->request->getHeader('Host')); - - $this->request->setPort(80); - $this->assertEquals('127.0.0.1', $this->request->getHeader('Host')); - } - - public function testRequestHandlesAuthorization() - { - // Uninitialized auth - $this->assertEquals(null, $this->request->getUsername()); - $this->assertEquals(null, $this->request->getPassword()); - - // Set an auth - $this->assertSame($this->request, $this->request->setAuth('michael', '123')); - $this->assertEquals('michael', $this->request->getUsername()); - $this->assertEquals('123', $this->request->getPassword()); - - // Set an auth with blank password - $this->assertSame($this->request, $this->request->setAuth('michael', '')); - $this->assertEquals('michael', $this->request->getUsername()); - $this->assertEquals('', $this->request->getPassword()); - - // Remove the auth - $this->request->setAuth(false); - $this->assertEquals(null, $this->request->getUsername()); - $this->assertEquals(null, $this->request->getPassword()); - - // Make sure that the cURL based auth works too - $request = new Request('GET', $this->getServer()->getUrl()); - $request->setAuth('michael', 'password', CURLAUTH_DIGEST); - $this->assertEquals('michael:password', $request->getCurlOptions()->get(CURLOPT_USERPWD)); - $this->assertEquals(CURLAUTH_DIGEST, $request->getCurlOptions()->get(CURLOPT_HTTPAUTH)); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - */ - public function testValidatesAuth() - { - $this->request->setAuth('foo', 'bar', 'bam'); - } - - public function testGetResourceUri() - { - $this->assertEquals('/', $this->request->getResource()); - $this->request->setPath('/index.html'); - $this->assertEquals('/index.html', $this->request->getResource()); - $this->request->getQuery()->add('v', '1'); - $this->assertEquals('/index.html?v=1', $this->request->getResource()); - } - - public function testRequestHasMutableUrl() - { - $url = 'http://www.test.com:8081/path?q=123#fragment'; - $u = Url::factory($url); - $this->assertSame($this->request, $this->request->setUrl($url)); - $this->assertEquals($url, $this->request->getUrl()); - - $this->assertSame($this->request, $this->request->setUrl($u)); - $this->assertEquals($url, $this->request->getUrl()); - } - - public function testRequestHasState() - { - $this->assertEquals(RequestInterface::STATE_NEW, $this->request->getState()); - $this->request->setState(RequestInterface::STATE_TRANSFER); - $this->assertEquals(RequestInterface::STATE_TRANSFER, $this->request->getState()); - } - - public function testSetManualResponse() - { - $response = new Response(200, array( - 'Date' => 'Sat, 16 Oct 2010 17:27:14 GMT', - 'Expires' => '-1', - 'Cache-Control' => 'private, max-age=0', - 'Content-Type' => 'text/html; charset=ISO-8859-1', - ), 'response body'); - - $this->assertSame($this->request, $this->request->setResponse($response), '-> setResponse() must use a fluent interface'); - $this->assertEquals('complete', $this->request->getState(), '-> setResponse() must change the state of the request to complete'); - $this->assertSame($response, $this->request->getResponse(), '-> setResponse() must set the exact same response that was passed in to it'); - } - - public function testRequestCanHaveManuallySetResponseBody() - { - $file = __DIR__ . '/../../TestData/temp.out'; - if (file_exists($file)) { - unlink($file); - } - - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata"); - $request = RequestFactory::getInstance()->create('GET', $this->getServer()->getUrl()); - $request->setClient($this->client); - $entityBody = EntityBody::factory(fopen($file, 'w+')); - $request->setResponseBody($entityBody); - $response = $request->send(); - $this->assertSame($entityBody, $response->getBody()); - - $this->assertTrue(file_exists($file)); - $this->assertEquals('data', file_get_contents($file)); - unlink($file); - - $this->assertEquals('data', $response->getBody(true)); - } - - public function testHoldsCookies() - { - $this->assertNull($this->request->getCookie('test')); - - // Set a cookie - $this->assertSame($this->request, $this->request->addCookie('test', 'abc')); - $this->assertEquals('abc', $this->request->getCookie('test')); - - // Multiple cookies by setting the Cookie header - $this->request->setHeader('Cookie', '__utma=1.638370270.1344367610.1374365610.1944450276.2; __utmz=1.1346368610.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); hl=de; PHPSESSID=ak93pqashi5uubuoq8fjv60897'); - $this->assertEquals('1.638370270.1344367610.1374365610.1944450276.2', $this->request->getCookie('__utma')); - $this->assertEquals('1.1346368610.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)', $this->request->getCookie('__utmz')); - $this->assertEquals('de', $this->request->getCookie('hl')); - $this->assertEquals('ak93pqashi5uubuoq8fjv60897', $this->request->getCookie('PHPSESSID')); - - // Unset the cookies by setting the Cookie header to null - $this->request->setHeader('Cookie', null); - $this->assertNull($this->request->getCookie('test')); - $this->request->removeHeader('Cookie'); - - // Set and remove a cookie - $this->assertSame($this->request, $this->request->addCookie('test', 'abc')); - $this->assertEquals('abc', $this->request->getCookie('test')); - $this->assertSame($this->request, $this->request->removeCookie('test')); - $this->assertNull($this->request->getCookie('test')); - - // Remove the cookie header - $this->assertSame($this->request, $this->request->addCookie('test', 'abc')); - $this->request->removeHeader('Cookie'); - $this->assertEquals('', (string) $this->request->getHeader('Cookie')); - - // Remove a cookie value - $this->request->addCookie('foo', 'bar')->addCookie('baz', 'boo'); - $this->request->removeCookie('foo'); - $this->assertEquals(array( - 'baz' => 'boo' - ), $this->request->getCookies()); - - $this->request->addCookie('foo', 'bar'); - $this->assertEquals('baz=boo; foo=bar', (string) $this->request->getHeader('Cookie')); - } - - /** - * @expectedException \Guzzle\Http\Exception\RequestException - * @expectedExceptionMessage Error completing request - */ - public function testRequestThrowsExceptionWhenSetToCompleteWithNoResponse() - { - $this->request->setState(RequestInterface::STATE_COMPLETE); - } - - public function testClonedRequestsUseNewInternalState() - { - $p = new AsyncPlugin(); - $this->request->getEventDispatcher()->addSubscriber($p); - $h = $this->request->getHeader('Host'); - - $r = clone $this->request; - $this->assertEquals(RequestInterface::STATE_NEW, $r->getState()); - $this->assertNotSame($r->getQuery(), $this->request->getQuery()); - $this->assertNotSame($r->getCurlOptions(), $this->request->getCurlOptions()); - $this->assertNotSame($r->getEventDispatcher(), $this->request->getEventDispatcher()); - $this->assertEquals($r->getHeaders(), $this->request->getHeaders()); - $this->assertNotSame($h, $r->getHeader('Host')); - $this->assertNotSame($r->getParams(), $this->request->getParams()); - $this->assertTrue($this->request->getEventDispatcher()->hasListeners('request.sent')); - } - - public function testRecognizesBasicAuthCredentialsInUrls() - { - $this->request->setUrl('http://michael:test@test.com/'); - $this->assertEquals('michael', $this->request->getUsername()); - $this->assertEquals('test', $this->request->getPassword()); - } - - public function testRequestCanBeSentUsingCurl() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\nExpires: Thu, 01 Dec 1994 16:00:00 GMT\r\nConnection: close\r\n\r\ndata", - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\nExpires: Thu, 01 Dec 1994 16:00:00 GMT\r\nConnection: close\r\n\r\ndata", - "HTTP/1.1 404 Not Found\r\nContent-Encoding: application/xml\r\nContent-Length: 48\r\n\r\nFile not found" - )); - - $request = RequestFactory::getInstance()->create('GET', $this->getServer()->getUrl()); - $request->setClient($this->client); - $response = $request->send(); - - $this->assertEquals('data', $response->getBody(true)); - $this->assertEquals(200, (int) $response->getStatusCode()); - $this->assertEquals('OK', $response->getReasonPhrase()); - $this->assertEquals(4, $response->getContentLength()); - $this->assertEquals('Thu, 01 Dec 1994 16:00:00 GMT', $response->getExpires()); - - // Test that the same handle can be sent twice without setting state to new - $response2 = $request->send(); - $this->assertNotSame($response, $response2); - - try { - $request = RequestFactory::getInstance()->create('GET', $this->getServer()->getUrl() . 'index.html'); - $request->setClient($this->client); - $response = $request->send(); - $this->fail('Request did not receive a 404 response'); - } catch (BadResponseException $e) { - } - - $requests = $this->getServer()->getReceivedRequests(true); - $messages = $this->getServer()->getReceivedRequests(false); - $port = $this->getServer()->getPort(); - - $userAgent = $this->client->getDefaultUserAgent(); - - $this->assertEquals('127.0.0.1:' . $port, $requests[0]->getHeader('Host')); - $this->assertEquals('127.0.0.1:' . $port, $requests[1]->getHeader('Host')); - $this->assertEquals('127.0.0.1:' . $port, $requests[2]->getHeader('Host')); - - $this->assertEquals('/', $requests[0]->getPath()); - $this->assertEquals('/', $requests[1]->getPath()); - $this->assertEquals('/index.html', $requests[2]->getPath()); - - $parts = explode("\r\n", $messages[0]); - $this->assertEquals('GET / HTTP/1.1', $parts[0]); - - $parts = explode("\r\n", $messages[1]); - $this->assertEquals('GET / HTTP/1.1', $parts[0]); - - $parts = explode("\r\n", $messages[2]); - $this->assertEquals('GET /index.html HTTP/1.1', $parts[0]); - } - - public function testThrowsExceptionsWhenUnsuccessfulResponseIsReceivedByDefault() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 404 Not found\r\nContent-Length: 0\r\n\r\n"); - - try { - $request = $this->client->get('/index.html'); - $response = $request->send(); - $this->fail('Request did not receive a 404 response'); - } catch (BadResponseException $e) { - $this->assertContains('Client error response', $e->getMessage()); - $this->assertContains('[status code] 404', $e->getMessage()); - $this->assertContains('[reason phrase] Not found', $e->getMessage()); - } - } - - public function testCanShortCircuitErrorHandling() - { - $request = $this->request; - $response = new Response(404); - $request->setResponse($response, true); - $out = ''; - $that = $this; - $request->getEventDispatcher()->addListener('request.error', function($event) use (&$out, $that) { - $out .= $event['request'] . "\n" . $event['response'] . "\n"; - $event->stopPropagation(); - }); - $request->send(); - $this->assertContains((string) $request, $out); - $this->assertContains((string) $request->getResponse(), $out); - $this->assertSame($response, $request->getResponse()); - } - - public function testCanOverrideUnsuccessfulResponses() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 404 NOT FOUND\r\n" . - "Content-Length: 0\r\n" . - "\r\n", - "HTTP/1.1 200 OK\r\n" . - "Content-Length: 0\r\n" . - "\r\n" - )); - - $newResponse = null; - - $request = $this->request; - $request->getEventDispatcher()->addListener('request.error', function($event) use (&$newResponse) { - if ($event['response']->getStatusCode() == 404) { - $newRequest = clone $event['request']; - $newResponse = $newRequest->send(); - // Override the original response and bypass additional response processing - $event['response'] = $newResponse; - // Call $event['request']->setResponse($newResponse); to re-apply events - $event->stopPropagation(); - } - }); - - $request->send(); - - $this->assertEquals(200, $request->getResponse()->getStatusCode()); - $this->assertSame($newResponse, $request->getResponse()); - $this->assertEquals(2, count($this->getServer()->getReceivedRequests())); - } - - public function testCanRetrieveUrlObject() - { - $request = new Request('GET', 'http://www.example.com/foo?abc=d'); - $this->assertInstanceOf('Guzzle\Http\Url', $request->getUrl(true)); - $this->assertEquals('http://www.example.com/foo?abc=d', $request->getUrl()); - $this->assertEquals('http://www.example.com/foo?abc=d', (string) $request->getUrl(true)); - } - - public function testUnresolvedRedirectsReturnResponse() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 303 SEE OTHER\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Foo\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n" - )); - $request = $this->request; - $this->assertEquals(303, $request->send()->getStatusCode()); - $request->getParams()->set(RedirectPlugin::DISABLE, true); - $this->assertEquals(301, $request->send()->getStatusCode()); - } - - public function testCanSendCustomRequests() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $request = $this->client->createRequest('PROPFIND', $this->getServer()->getUrl(), array( - 'Content-Type' => 'text/plain' - ), 'foo'); - $response = $request->send(); - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('PROPFIND', $requests[0]->getMethod()); - $this->assertEquals(3, (string) $requests[0]->getHeader('Content-Length')); - $this->assertEquals('foo', (string) $requests[0]->getBody()); - } - - /** - * @expectedException \PHPUnit_Framework_Error_Warning - */ - public function testEnsuresFileCanBeCreated() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest"); - $this->client->get('/')->setResponseBody('/wefwefefefefwewefwe/wefwefwefefwe/wefwefewfw.txt')->send(); - } - - public function testAllowsFilenameForDownloadingContent() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest"); - $name = sys_get_temp_dir() . '/foo.txt'; - $this->client->get('/')->setResponseBody($name)->send(); - $this->assertEquals('test', file_get_contents($name)); - unlink($name); - } - - public function testUsesCustomResponseBodyWhenItIsCustom() - { - $en = EntityBody::factory(); - $request = $this->client->get(); - $request->setResponseBody($en); - $request->setResponse(new Response(200, array(), 'foo')); - $this->assertEquals('foo', (string) $en); - } - - public function testCanChangePortThroughScheme() - { - $request = new Request('GET', 'http://foo.com'); - $request->setScheme('https'); - $this->assertEquals('https://foo.com', (string) $request->getUrl()); - $this->assertEquals('foo.com', $request->getHost()); - $request->setScheme('http'); - $this->assertEquals('http://foo.com', (string) $request->getUrl()); - $this->assertEquals('foo.com', $request->getHost()); - $request->setPort(null); - $this->assertEquals('http://foo.com', (string) $request->getUrl()); - $this->assertEquals('foo.com', $request->getHost()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/ResponseTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/ResponseTest.php deleted file mode 100644 index 08b4df87..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Message/ResponseTest.php +++ /dev/null @@ -1,677 +0,0 @@ -response = new Response(200, new Collection(array( - 'Accept-Ranges' => 'bytes', - 'Age' => '12', - 'Allow' => 'GET, HEAD', - 'Cache-Control' => 'no-cache', - 'Content-Encoding' => 'gzip', - 'Content-Language' => 'da', - 'Content-Length' => '348', - 'Content-Location' => '/index.htm', - 'Content-Disposition' => 'attachment; filename=fname.ext', - 'Content-MD5' => 'Q2hlY2sgSW50ZWdyaXR5IQ==', - 'Content-Range' => 'bytes 21010-47021/47022', - 'Content-Type' => 'text/html; charset=utf-8', - 'Date' => 'Tue, 15 Nov 1994 08:12:31 GMT', - 'ETag' => '737060cd8c284d8af7ad3082f209582d', - 'Expires' => 'Thu, 01 Dec 1994 16:00:00 GMT', - 'Last-Modified' => 'Tue, 15 Nov 1994 12:45:26 GMT', - 'Location' => 'http://www.w3.org/pub/WWW/People.html', - 'Pragma' => 'no-cache', - 'Proxy-Authenticate' => 'Basic', - 'Retry-After' => '120', - 'Server' => 'Apache/1.3.27 (Unix) (Red-Hat/Linux)', - 'Set-Cookie' => 'UserID=JohnDoe; Max-Age=3600; Version=1', - 'Trailer' => 'Max-Forwards', - 'Transfer-Encoding' => 'chunked', - 'Vary' => '*', - 'Via' => '1.0 fred, 1.1 nowhere.com (Apache/1.1)', - 'Warning' => '199 Miscellaneous warning', - 'WWW-Authenticate' => 'Basic' - )), 'body'); - } - - public function tearDown() - { - unset($this->response); - } - - public function testConstructor() - { - $params = new Collection(); - $body = EntityBody::factory(''); - $response = new Response(200, $params, $body); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals($body, $response->getBody()); - $this->assertEquals('OK', $response->getReasonPhrase()); - $this->assertEquals("HTTP/1.1 200 OK\r\n\r\n", $response->getRawHeaders()); - - // Make sure Content-Length is set automatically - $response = new Response(200, $params); - $this->assertEquals("HTTP/1.1 200 OK\r\n\r\n", $response->getRawHeaders()); - - // Pass bodies to the response - $response = new Response(200, null, 'data'); - $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $response->getBody()); - $response = new Response(200, null, EntityBody::factory('data')); - $this->assertInstanceOf('Guzzle\\Http\\EntityBody', $response->getBody()); - $this->assertEquals('data', $response->getBody(true)); - $response = new Response(200, null, '0'); - $this->assertSame('0', $response->getBody(true), 'getBody(true) should return "0" if response body is "0".'); - - // Make sure the proper exception is thrown - try { - //$response = new Response(200, null, array('foo' => 'bar')); - //$this->fail('Response did not throw exception when passing invalid body'); - } catch (HttpException $e) { - } - - // Ensure custom codes can be set - $response = new Response(2); - $this->assertEquals(2, $response->getStatusCode()); - $this->assertEquals('', $response->getReasonPhrase()); - - // Make sure the proper exception is thrown when sending invalid headers - try { - $response = new Response(200, 'adidas'); - $this->fail('Response did not throw exception when passing invalid $headers'); - } catch (BadResponseException $e) { - } - } - - public function test__toString() - { - $response = new Response(200); - $this->assertEquals("HTTP/1.1 200 OK\r\n\r\n", (string) $response); - - // Add another header - $response = new Response(200, array( - 'X-Test' => 'Guzzle' - )); - $this->assertEquals("HTTP/1.1 200 OK\r\nX-Test: Guzzle\r\n\r\n", (string) $response); - - $response = new Response(200, array( - 'Content-Length' => 4 - ), 'test'); - $this->assertEquals("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest", (string) $response); - } - - public function testFactory() - { - $response = Response::fromMessage("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest"); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals('OK', $response->getReasonPhrase()); - $this->assertEquals(4, (string) $response->getContentLength()); - $this->assertEquals('test', $response->getBody(true)); - - // Make sure that automatic Content-Length works - $response = Response::fromMessage("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest"); - $this->assertEquals(4, (string) $response->getContentLength()); - $this->assertEquals('test', $response->getBody(true)); - } - - public function testFactoryCanCreateHeadResponses() - { - $response = Response::fromMessage("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\n"); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals('OK', $response->getReasonPhrase()); - $this->assertEquals(4, (string) $response->getContentLength()); - $this->assertEquals('', $response->getBody(true)); - } - - public function testFactoryRequiresMessage() - { - $this->assertFalse(Response::fromMessage('')); - } - - public function testGetBody() - { - $body = EntityBody::factory(''); - $response = new Response(403, new Collection(), $body); - $this->assertEquals($body, $response->getBody()); - $response->setBody('foo'); - $this->assertEquals('foo', $response->getBody(true)); - } - - public function testManagesStatusCode() - { - $response = new Response(403); - $this->assertEquals(403, $response->getStatusCode()); - } - - public function testGetMessage() - { - $response = new Response(200, new Collection(array( - 'Content-Length' => 4 - )), 'body'); - - $this->assertEquals("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\nbody", $response->getMessage()); - } - - public function testGetRawHeaders() - { - $response = new Response(200, new Collection(array( - 'Keep-Alive' => 155, - 'User-Agent' => 'Guzzle', - 'Content-Length' => 4 - )), 'body'); - - $this->assertEquals("HTTP/1.1 200 OK\r\nKeep-Alive: 155\r\nUser-Agent: Guzzle\r\nContent-Length: 4\r\n\r\n", $response->getRawHeaders()); - } - - public function testHandlesStatusAndStatusCodes() - { - $response = new Response(200, new Collection(), 'body'); - $this->assertEquals('OK', $response->getReasonPhrase()); - - $this->assertSame($response, $response->setStatus(204)); - $this->assertEquals('No Content', $response->getReasonPhrase()); - $this->assertEquals(204, $response->getStatusCode()); - - $this->assertSame($response, $response->setStatus(204, 'Testing!')); - $this->assertEquals('Testing!', $response->getReasonPhrase()); - $this->assertEquals(204, $response->getStatusCode()); - - $response->setStatus(2000); - $this->assertEquals(2000, $response->getStatusCode()); - $this->assertEquals('', $response->getReasonPhrase()); - - $response->setStatus(200, 'Foo'); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals('Foo', $response->getReasonPhrase()); - } - - public function testIsClientError() - { - $response = new Response(403); - $this->assertTrue($response->isClientError()); - $response = new Response(200); - $this->assertFalse($response->isClientError()); - } - - public function testIsError() - { - $response = new Response(403); - $this->assertTrue($response->isError()); - $response = new Response(200); - $this->assertFalse($response->isError()); - $response = new Response(500); - $this->assertTrue($response->isError()); - } - - public function testIsInformational() - { - $response = new Response(100); - $this->assertTrue($response->isInformational()); - $response = new Response(200); - $this->assertFalse($response->isInformational()); - } - - public function testIsRedirect() - { - $response = new Response(301); - $this->assertTrue($response->isRedirect()); - $response = new Response(200); - $this->assertFalse($response->isRedirect()); - } - - public function testIsServerError() - { - $response = new Response(500); - $this->assertTrue($response->isServerError()); - $response = new Response(400); - $this->assertFalse($response->isServerError()); - } - - public function testIsSuccessful() - { - $response = new Response(200); - $this->assertTrue($response->isSuccessful()); - $response = new Response(403); - $this->assertFalse($response->isSuccessful()); - } - - public function testGetAcceptRanges() - { - $this->assertEquals('bytes', $this->response->getAcceptRanges()); - } - - public function testCalculatesAge() - { - $this->assertEquals(12, $this->response->calculateAge()); - - $this->response->removeHeader('Age'); - $this->response->removeHeader('Date'); - $this->assertNull($this->response->calculateAge()); - - $this->response->setHeader('Date', gmdate(ClientInterface::HTTP_DATE, strtotime('-1 minute'))); - // If the test runs slowly, still pass with a +5 second allowance - $this->assertTrue($this->response->getAge() - 60 <= 5); - } - - public function testGetAllow() - { - $this->assertEquals('GET, HEAD', $this->response->getAllow()); - } - - public function testGetCacheControl() - { - $this->assertEquals('no-cache', $this->response->getCacheControl()); - } - - public function testGetContentEncoding() - { - $this->assertEquals('gzip', $this->response->getContentEncoding()); - } - - public function testGetContentLanguage() - { - $this->assertEquals('da', $this->response->getContentLanguage()); - } - - public function testGetContentLength() - { - $this->assertEquals('348', $this->response->getContentLength()); - } - - public function testGetContentLocation() - { - $this->assertEquals('/index.htm', $this->response->getContentLocation()); - } - - public function testGetContentDisposition() - { - $this->assertEquals('attachment; filename=fname.ext', $this->response->getContentDisposition()); - } - - public function testGetContentMd5() - { - $this->assertEquals('Q2hlY2sgSW50ZWdyaXR5IQ==', $this->response->getContentMd5()); - } - - public function testGetContentRange() - { - $this->assertEquals('bytes 21010-47021/47022', $this->response->getContentRange()); - } - - public function testGetContentType() - { - $this->assertEquals('text/html; charset=utf-8', $this->response->getContentType()); - } - - public function testGetDate() - { - $this->assertEquals('Tue, 15 Nov 1994 08:12:31 GMT', $this->response->getDate()); - } - - public function testGetEtag() - { - $this->assertEquals('737060cd8c284d8af7ad3082f209582d', $this->response->getEtag()); - } - - public function testGetExpires() - { - $this->assertEquals('Thu, 01 Dec 1994 16:00:00 GMT', $this->response->getExpires()); - } - - public function testGetLastModified() - { - $this->assertEquals('Tue, 15 Nov 1994 12:45:26 GMT', $this->response->getLastModified()); - } - - public function testGetLocation() - { - $this->assertEquals('http://www.w3.org/pub/WWW/People.html', $this->response->getLocation()); - } - - public function testGetPragma() - { - $this->assertEquals('no-cache', $this->response->getPragma()); - } - - public function testGetProxyAuthenticate() - { - $this->assertEquals('Basic', $this->response->getProxyAuthenticate()); - } - - public function testGetServer() - { - $this->assertEquals('Apache/1.3.27 (Unix) (Red-Hat/Linux)', $this->response->getServer()); - } - - public function testGetSetCookie() - { - $this->assertEquals('UserID=JohnDoe; Max-Age=3600; Version=1', $this->response->getSetCookie()); - } - - public function testGetMultipleSetCookie() - { - $this->response->addHeader('Set-Cookie', 'UserID=Mike; Max-Age=200'); - $this->assertEquals(array( - 'UserID=JohnDoe; Max-Age=3600; Version=1', - 'UserID=Mike; Max-Age=200', - ), $this->response->getHeader('Set-Cookie')->toArray()); - } - - public function testGetSetCookieNormalizesHeaders() - { - $this->response->addHeaders(array( - 'Set-Cooke' => 'boo', - 'set-cookie' => 'foo' - )); - - $this->assertEquals(array( - 'UserID=JohnDoe; Max-Age=3600; Version=1', - 'foo' - ), $this->response->getHeader('Set-Cookie')->toArray()); - - $this->response->addHeaders(array( - 'set-cookie' => 'fubu' - )); - $this->assertEquals( - array('UserID=JohnDoe; Max-Age=3600; Version=1', 'foo', 'fubu'), - $this->response->getHeader('Set-Cookie')->toArray() - ); - } - - public function testGetTrailer() - { - $this->assertEquals('Max-Forwards', $this->response->getTrailer()); - } - - public function testGetTransferEncoding() - { - $this->assertEquals('chunked', $this->response->getTransferEncoding()); - } - - public function testGetVary() - { - $this->assertEquals('*', $this->response->getVary()); - } - - public function testReturnsViaHeader() - { - $this->assertEquals('1.0 fred, 1.1 nowhere.com (Apache/1.1)', $this->response->getVia()); - } - public function testGetWarning() - { - $this->assertEquals('199 Miscellaneous warning', $this->response->getWarning()); - } - - public function testReturnsWwwAuthenticateHeader() - { - $this->assertEquals('Basic', $this->response->getWwwAuthenticate()); - } - - public function testReturnsConnectionHeader() - { - $this->assertEquals(null, $this->response->getConnection()); - $this->response->setHeader('Connection', 'close'); - $this->assertEquals('close', $this->response->getConnection()); - } - - public function testReturnsHeaders() - { - $this->assertEquals('Basic', $this->response->getHeader('WWW-Authenticate', null, true)); - $this->assertEquals('chunked', $this->response->getHeader('Transfer-Encoding', null, false)); - } - - public function testHasTransferInfo() - { - $stats = array ( - 'url' => 'http://www.google.com/', - 'content_type' => 'text/html; charset=ISO-8859-1', - 'http_code' => 200, - 'header_size' => 606, - 'request_size' => 53, - 'filetime' => -1, - 'ssl_verify_result' => 0, - 'redirect_count' => 0, - 'total_time' => 0.093284, - 'namelookup_time' => 0.001349, - 'connect_time' => 0.01635, - 'pretransfer_time' => 0.016358, - 'size_upload' => 0, - 'size_download' => 10330, - 'speed_download' => 110737, - 'speed_upload' => 0, - 'download_content_length' => -1, - 'upload_content_length' => 0, - 'starttransfer_time' => 0.07066, - 'redirect_time' => 0, - ); - - // Uninitialized state - $this->assertNull($this->response->getInfo('url')); - $this->assertEquals(array(), $this->response->getInfo()); - - // Set the stats - $this->response->setInfo($stats); - $this->assertEquals($stats, $this->response->getInfo()); - $this->assertEquals(606, $this->response->getInfo('header_size')); - $this->assertNull($this->response->getInfo('does_not_exist')); - } - - /** - * @return Response - */ - private function getResponse($code, array $headers = null, EntityBody $body = null) - { - return new Response($code, $headers, $body); - } - - public function testDeterminesIfItCanBeCached() - { - $this->assertTrue($this->getResponse(200)->canCache()); - $this->assertTrue($this->getResponse(410)->canCache()); - $this->assertFalse($this->getResponse(404)->canCache()); - $this->assertTrue($this->getResponse(200, array( - 'Cache-Control' => 'public' - ))->canCache()); - - // This has the no-store directive - $this->assertFalse($this->getResponse(200, array( - 'Cache-Control' => 'private, no-store' - ))->canCache()); - - // The body cannot be read, so it cannot be cached - $tmp = tempnam('/tmp', 'not-readable'); - $resource = fopen($tmp, 'w'); - $this->assertFalse($this->getResponse(200, array( - 'Transfer-Encoding' => 'chunked' - ), EntityBody::factory($resource, 10))->canCache()); - unlink($tmp); - - // The body is 0 length, cannot be read, so it can be cached - $tmp = tempnam('/tmp', 'not-readable'); - $resource = fopen($tmp, 'w'); - $this->assertTrue($this->getResponse(200, array(array( - 'Content-Length' => 0 - )), EntityBody::factory($resource, 0))->canCache()); - unlink($tmp); - } - - public function testDeterminesResponseMaxAge() - { - $this->assertEquals(null, $this->getResponse(200)->getMaxAge()); - - // Uses the response's s-maxage - $this->assertEquals(140, $this->getResponse(200, array( - 'Cache-Control' => 's-maxage=140' - ))->getMaxAge()); - - // Uses the response's max-age - $this->assertEquals(120, $this->getResponse(200, array( - 'Cache-Control' => 'max-age=120' - ))->getMaxAge()); - - // Uses the response's max-age - $this->assertEquals(120, $this->getResponse(200, array( - 'Cache-Control' => 'max-age=120', - 'Expires' => gmdate(ClientInterface::HTTP_DATE, strtotime('+1 day')) - ))->getMaxAge()); - - // Uses the Expires date - $this->assertGreaterThanOrEqual(82400, $this->getResponse(200, array( - 'Expires' => gmdate(ClientInterface::HTTP_DATE, strtotime('+1 day')) - ))->getMaxAge()); - - // Uses the Expires date - $this->assertGreaterThanOrEqual(82400, $this->getResponse(200, array( - 'Expires' => gmdate(ClientInterface::HTTP_DATE, strtotime('+1 day')) - ))->getMaxAge()); - } - - public function testDeterminesIfItCanValidate() - { - $response = new Response(200); - $this->assertFalse($response->canValidate()); - $response->setHeader('ETag', '123'); - $this->assertTrue($response->canValidate()); - $response->removeHeader('ETag'); - $this->assertFalse($response->canValidate()); - $response->setHeader('Last-Modified', '123'); - $this->assertTrue($response->canValidate()); - } - - public function testCalculatesFreshness() - { - $response = new Response(200); - $this->assertNull($response->isFresh()); - $this->assertNull($response->getFreshness()); - - $response->setHeader('Cache-Control', 'max-age=120'); - $response->setHeader('Age', 100); - $this->assertEquals(20, $response->getFreshness()); - $this->assertTrue($response->isFresh()); - - $response->setHeader('Age', 120); - $this->assertEquals(0, $response->getFreshness()); - $this->assertTrue($response->isFresh()); - - $response->setHeader('Age', 150); - $this->assertEquals(-30, $response->getFreshness()); - $this->assertFalse($response->isFresh()); - } - - public function testHandlesProtocols() - { - $this->assertSame($this->response, $this->response->setProtocol('HTTP', '1.0')); - $this->assertEquals('HTTP', $this->response->getProtocol()); - $this->assertEquals('1.0', $this->response->getProtocolVersion()); - } - - public function testComparesContentType() - { - $response = new Response(200, array( - 'Content-Type' => 'text/html; charset=ISO-8859-4' - )); - - $this->assertTrue($response->isContentType('text/html')); - $this->assertTrue($response->isContentType('TExT/html')); - $this->assertTrue($response->isContentType('charset=ISO-8859-4')); - $this->assertFalse($response->isContentType('application/xml')); - } - - public function testResponseDeterminesIfMethodIsAllowedBaseOnAllowHeader() - { - $response = new Response(200, array( - 'Allow' => 'OPTIONS, POST, deletE,GET' - )); - - $this->assertTrue($response->isMethodAllowed('get')); - $this->assertTrue($response->isMethodAllowed('GET')); - $this->assertTrue($response->isMethodAllowed('options')); - $this->assertTrue($response->isMethodAllowed('post')); - $this->assertTrue($response->isMethodAllowed('Delete')); - $this->assertFalse($response->isMethodAllowed('put')); - $this->assertFalse($response->isMethodAllowed('PUT')); - - $response = new Response(200); - $this->assertFalse($response->isMethodAllowed('get')); - } - - public function testParsesJsonResponses() - { - $response = new Response(200, array(), '{"foo": "bar"}'); - $this->assertEquals(array('foo' => 'bar'), $response->json()); - // Return array when null is a service response - $response = new Response(200); - $this->assertEquals(array(), $response->json()); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - * @expectedExceptionMessage Unable to parse response body into JSON: 4 - */ - public function testThrowsExceptionWhenFailsToParseJsonResponse() - { - $response = new Response(200, array(), '{"foo": "'); - $response->json(); - } - - public function testParsesXmlResponses() - { - $response = new Response(200, array(), 'bar'); - $this->assertEquals('bar', (string) $response->xml()->foo); - // Always return a SimpleXMLElement from the xml method - $response = new Response(200); - $this->assertEmpty((string) $response->xml()->foo); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - * @expectedExceptionMessage Unable to parse response body into XML: String could not be parsed as XML - */ - public function testThrowsExceptionWhenFailsToParseXmlResponse() - { - $response = new Response(200, array(), 'xml(); - } - - public function testResponseIsSerializable() - { - $response = new Response(200, array('Foo' => 'bar'), 'test'); - $r = unserialize(serialize($response)); - $this->assertEquals(200, $r->getStatusCode()); - $this->assertEquals('bar', (string) $r->getHeader('Foo')); - $this->assertEquals('test', (string) $r->getBody()); - } - - public function testPreventsComplexExternalEntities() - { - $xml = ']>&test;'; - $response = new Response(200, array(), $xml); - - $oldCwd = getcwd(); - chdir(__DIR__); - try { - $xml = $response->xml(); - chdir($oldCwd); - $this->markTestIncomplete('Did not throw the expected exception! XML resolved as: ' . $xml->asXML()); - } catch (\Exception $e) { - chdir($oldCwd); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/MimetypesTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/MimetypesTest.php deleted file mode 100644 index 72284534..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/MimetypesTest.php +++ /dev/null @@ -1,31 +0,0 @@ -assertEquals('text/x-php', Mimetypes::getInstance()->fromExtension('php')); - } - - public function testGetsFromFilename() - { - $this->assertEquals('text/x-php', Mimetypes::getInstance()->fromFilename(__FILE__)); - } - - public function testGetsFromCaseInsensitiveFilename() - { - $this->assertEquals('text/x-php', Mimetypes::getInstance()->fromFilename(strtoupper(__FILE__))); - } - - public function testReturnsNullWhenNoMatchFound() - { - $this->assertNull(Mimetypes::getInstance()->fromExtension('foobar')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/CommaAggregatorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/CommaAggregatorTest.php deleted file mode 100644 index 549d3edd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/CommaAggregatorTest.php +++ /dev/null @@ -1,30 +0,0 @@ -aggregate($key, $value, $query); - $this->assertEquals(array('test%20123' => 'foo%20123,baz,bar'), $result); - } - - public function testEncodes() - { - $query = new QueryString(); - $query->useUrlEncoding(false); - $a = new Ag(); - $key = 'test 123'; - $value = array('foo 123', 'baz', 'bar'); - $result = $a->aggregate($key, $value, $query); - $this->assertEquals(array('test 123' => 'foo 123,baz,bar'), $result); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/DuplicateAggregatorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/DuplicateAggregatorTest.php deleted file mode 100644 index 6a4d9d95..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/DuplicateAggregatorTest.php +++ /dev/null @@ -1,30 +0,0 @@ -aggregate($key, $value, $query); - $this->assertEquals(array('facet%201' => array('size%20a', 'width%20b')), $result); - } - - public function testEncodes() - { - $query = new QueryString(); - $query->useUrlEncoding(false); - $a = new Ag(); - $key = 'facet 1'; - $value = array('size a', 'width b'); - $result = $a->aggregate($key, $value, $query); - $this->assertEquals(array('facet 1' => array('size a', 'width b')), $result); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/PhpAggregatorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/PhpAggregatorTest.php deleted file mode 100644 index 1e7f0c27..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryAggregator/PhpAggregatorTest.php +++ /dev/null @@ -1,32 +0,0 @@ -useUrlEncoding(false); - $a = new Ag(); - $key = 't'; - $value = array( - 'v1' => 'a', - 'v2' => 'b', - 'v3' => array( - 'v4' => 'c', - 'v5' => 'd', - ) - ); - $result = $a->aggregate($key, $value, $query); - $this->assertEquals(array( - 't[v1]' => 'a', - 't[v2]' => 'b', - 't[v3][v4]' => 'c', - 't[v3][v5]' => 'd', - ), $result); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryStringTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryStringTest.php deleted file mode 100644 index 948db442..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/QueryStringTest.php +++ /dev/null @@ -1,233 +0,0 @@ -q = new QueryString(); - } - - public function testGetFieldSeparator() - { - $this->assertEquals('&', $this->q->getFieldSeparator()); - } - - public function testGetValueSeparator() - { - $this->assertEquals('=', $this->q->getValueSeparator()); - } - - public function testIsUrlEncoding() - { - $this->assertEquals('RFC 3986', $this->q->getUrlEncoding()); - $this->assertTrue($this->q->isUrlEncoding()); - $this->assertEquals('foo%20bar', $this->q->encodeValue('foo bar')); - - $this->q->useUrlEncoding(QueryString::FORM_URLENCODED); - $this->assertTrue($this->q->isUrlEncoding()); - $this->assertEquals(QueryString::FORM_URLENCODED, $this->q->getUrlEncoding()); - $this->assertEquals('foo+bar', $this->q->encodeValue('foo bar')); - - $this->assertSame($this->q, $this->q->useUrlEncoding(false)); - $this->assertFalse($this->q->isUrlEncoding()); - $this->assertFalse($this->q->isUrlEncoding()); - } - - public function testSetFieldSeparator() - { - $this->assertEquals($this->q, $this->q->setFieldSeparator('/')); - $this->assertEquals('/', $this->q->getFieldSeparator()); - } - - public function testSetValueSeparator() - { - $this->assertEquals($this->q, $this->q->setValueSeparator('/')); - $this->assertEquals('/', $this->q->getValueSeparator()); - } - - public function testUrlEncode() - { - $params = array( - 'test' => 'value', - 'test 2' => 'this is a test?', - 'test3' => array('v1', 'v2', 'v3'), - 'ሴ' => 'bar' - ); - $encoded = array( - 'test' => 'value', - 'test%202' => rawurlencode('this is a test?'), - 'test3%5B0%5D' => 'v1', - 'test3%5B1%5D' => 'v2', - 'test3%5B2%5D' => 'v3', - '%E1%88%B4' => 'bar' - ); - $this->q->replace($params); - $this->assertEquals($encoded, $this->q->urlEncode()); - - // Disable encoding - $testData = array('test 2' => 'this is a test'); - $this->q->replace($testData); - $this->q->useUrlEncoding(false); - $this->assertEquals($testData, $this->q->urlEncode()); - } - - public function testToString() - { - // Check with no parameters - $this->assertEquals('', $this->q->__toString()); - - $params = array( - 'test' => 'value', - 'test 2' => 'this is a test?', - 'test3' => array('v1', 'v2', 'v3'), - 'test4' => null, - ); - $this->q->replace($params); - $this->assertEquals('test=value&test%202=this%20is%20a%20test%3F&test3%5B0%5D=v1&test3%5B1%5D=v2&test3%5B2%5D=v3&test4', $this->q->__toString()); - $this->q->useUrlEncoding(false); - $this->assertEquals('test=value&test 2=this is a test?&test3[0]=v1&test3[1]=v2&test3[2]=v3&test4', $this->q->__toString()); - - // Use an alternative aggregator - $this->q->setAggregator(new CommaAggregator()); - $this->assertEquals('test=value&test 2=this is a test?&test3=v1,v2,v3&test4', $this->q->__toString()); - } - - public function testAllowsMultipleValuesPerKey() - { - $q = new QueryString(); - $q->add('facet', 'size'); - $q->add('facet', 'width'); - $q->add('facet.field', 'foo'); - // Use the duplicate aggregator - $q->setAggregator(new DuplicateAggregator()); - $this->assertEquals('facet=size&facet=width&facet.field=foo', $q->__toString()); - } - - public function testAllowsNestedQueryData() - { - $this->q->replace(array( - 'test' => 'value', - 't' => array( - 'v1' => 'a', - 'v2' => 'b', - 'v3' => array( - 'v4' => 'c', - 'v5' => 'd', - ) - ) - )); - - $this->q->useUrlEncoding(false); - $this->assertEquals('test=value&t[v1]=a&t[v2]=b&t[v3][v4]=c&t[v3][v5]=d', $this->q->__toString()); - } - - public function parseQueryProvider() - { - return array( - // Ensure that multiple query string values are allowed per value - array('q=a&q=b', array('q' => array('a', 'b'))), - // Ensure that PHP array style query string values are parsed - array('q[]=a&q[]=b', array('q' => array('a', 'b'))), - // Ensure that a single PHP array style query string value is parsed into an array - array('q[]=a', array('q' => array('a'))), - // Ensure that decimals are allowed in query strings - array('q.a=a&q.b=b', array( - 'q.a' => 'a', - 'q.b' => 'b' - )), - // Ensure that query string values are percent decoded - array('q%20a=a%20b', array('q a' => 'a b')), - // Ensure null values can be added - array('q&a', array('q' => false, 'a' => false)), - ); - } - - /** - * @dataProvider parseQueryProvider - */ - public function testParsesQueryStrings($query, $data) - { - $query = QueryString::fromString($query); - $this->assertEquals($data, $query->getAll()); - } - - public function testProperlyDealsWithDuplicateQueryStringValues() - { - $query = QueryString::fromString('foo=a&foo=b&?µ=c'); - $this->assertEquals(array('a', 'b'), $query->get('foo')); - $this->assertEquals('c', $query->get('?µ')); - } - - public function testAllowsBlankQueryStringValues() - { - $query = QueryString::fromString('foo'); - $this->assertEquals('foo', (string) $query); - $query->set('foo', QueryString::BLANK); - $this->assertEquals('foo', (string) $query); - } - - public function testAllowsFalsyQueryStringValues() - { - $query = QueryString::fromString('0'); - $this->assertEquals('0', (string) $query); - $query->set('0', QueryString::BLANK); - $this->assertSame('0', (string) $query); - } - - public function testFromStringIgnoresQuestionMark() - { - $query = QueryString::fromString('foo=baz&bar=boo'); - $this->assertEquals('foo=baz&bar=boo', (string) $query); - } - - public function testConvertsPlusSymbolsToSpaces() - { - $query = QueryString::fromString('var=foo+bar'); - $this->assertEquals('foo bar', $query->get('var')); - } - - public function testFromStringDoesntMangleZeroes() - { - $query = QueryString::fromString('var=0'); - $this->assertSame('0', $query->get('var')); - } - - public function testAllowsZeroValues() - { - $query = new QueryString(array( - 'foo' => 0, - 'baz' => '0', - 'bar' => null, - 'boo' => false, - 'bam' => '' - )); - $this->assertEquals('foo=0&baz=0&bar&boo&bam=', (string) $query); - } - - public function testFromStringDoesntStripTrailingEquals() - { - $query = QueryString::fromString('data=mF0b3IiLCJUZWFtIERldiJdfX0='); - $this->assertEquals('mF0b3IiLCJUZWFtIERldiJdfX0=', $query->get('data')); - } - - public function testGuessesIfDuplicateAggregatorShouldBeUsed() - { - $query = QueryString::fromString('test=a&test=b'); - $this->assertEquals('test=a&test=b', (string) $query); - } - - public function testGuessesIfDuplicateAggregatorShouldBeUsedAndChecksForPhpStyle() - { - $query = QueryString::fromString('test[]=a&test[]=b'); - $this->assertEquals('test%5B0%5D=a&test%5B1%5D=b', (string) $query); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ReadLimitEntityBodyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ReadLimitEntityBodyTest.php deleted file mode 100644 index 6bb3fed1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/ReadLimitEntityBodyTest.php +++ /dev/null @@ -1,81 +0,0 @@ -decorated = EntityBody::factory(fopen(__FILE__, 'r')); - $this->body = new ReadLimitEntityBody($this->decorated, 10, 3); - } - - public function testReturnsSubsetWhenCastToString() - { - $body = EntityBody::factory('foo_baz_bar'); - $limited = new ReadLimitEntityBody($body, 3, 4); - $this->assertEquals('baz', (string) $limited); - } - - public function testReturnsSubsetOfEmptyBodyWhenCastToString() - { - $body = EntityBody::factory(''); - $limited = new ReadLimitEntityBody($body, 0, 10); - $this->assertEquals('', (string) $limited); - } - - public function testSeeksWhenConstructed() - { - $this->assertEquals(3, $this->body->ftell()); - } - - public function testAllowsBoundedSeek() - { - $this->body->seek(100); - $this->assertEquals(13, $this->body->ftell()); - $this->body->seek(0); - $this->assertEquals(3, $this->body->ftell()); - $this->assertEquals(false, $this->body->seek(1000, SEEK_END)); - } - - public function testReadsOnlySubsetOfData() - { - $data = $this->body->read(100); - $this->assertEquals(10, strlen($data)); - $this->assertFalse($this->body->read(1000)); - - $this->body->setOffset(10); - $newData = $this->body->read(100); - $this->assertEquals(10, strlen($newData)); - $this->assertNotSame($data, $newData); - } - - public function testClaimsConsumedWhenReadLimitIsReached() - { - $this->assertFalse($this->body->isConsumed()); - $this->body->read(1000); - $this->assertTrue($this->body->isConsumed()); - } - - public function testContentLengthIsBounded() - { - $this->assertEquals(10, $this->body->getContentLength()); - } - - public function testContentMd5IsBasedOnSubsection() - { - $this->assertNotSame($this->body->getContentMd5(), $this->decorated->getContentMd5()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/RedirectPluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/RedirectPluginTest.php deleted file mode 100755 index 886236dd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/RedirectPluginTest.php +++ /dev/null @@ -1,277 +0,0 @@ -getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect1\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect2\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - )); - - // Create a client that uses the default redirect behavior - $client = new Client($this->getServer()->getUrl()); - $history = new HistoryPlugin(); - $client->addSubscriber($history); - - $request = $client->get('/foo'); - $response = $request->send(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains('/redirect2', $response->getEffectiveUrl()); - - // Ensure that two requests were sent - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('/foo', $requests[0]->getResource()); - $this->assertEquals('GET', $requests[0]->getMethod()); - $this->assertEquals('/redirect1', $requests[1]->getResource()); - $this->assertEquals('GET', $requests[1]->getMethod()); - $this->assertEquals('/redirect2', $requests[2]->getResource()); - $this->assertEquals('GET', $requests[2]->getMethod()); - - // Ensure that the redirect count was incremented - $this->assertEquals(2, $request->getParams()->get(RedirectPlugin::REDIRECT_COUNT)); - $this->assertCount(3, $history); - $requestHistory = $history->getAll(); - - $this->assertEquals(301, $requestHistory[0]['response']->getStatusCode()); - $this->assertEquals('/redirect1', (string) $requestHistory[0]['response']->getHeader('Location')); - $this->assertEquals(301, $requestHistory[1]['response']->getStatusCode()); - $this->assertEquals('/redirect2', (string) $requestHistory[1]['response']->getHeader('Location')); - $this->assertEquals(200, $requestHistory[2]['response']->getStatusCode()); - } - - public function testCanLimitNumberOfRedirects() - { - // Flush the server and queue up a redirect followed by a successful response - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect1\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect2\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect3\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect4\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect5\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect6\r\nContent-Length: 0\r\n\r\n" - )); - - try { - $client = new Client($this->getServer()->getUrl()); - $client->get('/foo')->send(); - $this->fail('Did not throw expected exception'); - } catch (TooManyRedirectsException $e) { - $this->assertContains( - "5 redirects were issued for this request:\nGET /foo HTTP/1.1\r\n", - $e->getMessage() - ); - } - } - - public function testDefaultBehaviorIsToRedirectWithGetForEntityEnclosingRequests() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - )); - - $client = new Client($this->getServer()->getUrl()); - $client->post('/foo', array('X-Baz' => 'bar'), 'testing')->send(); - - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('POST', $requests[0]->getMethod()); - $this->assertEquals('GET', $requests[1]->getMethod()); - $this->assertEquals('bar', (string) $requests[1]->getHeader('X-Baz')); - $this->assertEquals('GET', $requests[2]->getMethod()); - } - - public function testCanRedirectWithStrictRfcCompliance() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - )); - - $client = new Client($this->getServer()->getUrl()); - $request = $client->post('/foo', array('X-Baz' => 'bar'), 'testing'); - $request->getParams()->set(RedirectPlugin::STRICT_REDIRECTS, true); - $request->send(); - - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('POST', $requests[0]->getMethod()); - $this->assertEquals('POST', $requests[1]->getMethod()); - $this->assertEquals('bar', (string) $requests[1]->getHeader('X-Baz')); - $this->assertEquals('POST', $requests[2]->getMethod()); - } - - public function testRedirect303WithGet() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 303 Moved Permanently\r\nLocation: /redirect\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - )); - - $client = new Client($this->getServer()->getUrl()); - $request = $client->post('/foo'); - $request->send(); - - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('POST', $requests[0]->getMethod()); - $this->assertEquals('GET', $requests[1]->getMethod()); - } - - public function testRedirect303WithGetWithStrictRfcCompliance() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 303 Moved Permanently\r\nLocation: /redirect\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - )); - - $client = new Client($this->getServer()->getUrl()); - $request = $client->post('/foo'); - $request->getParams()->set(RedirectPlugin::STRICT_REDIRECTS, true); - $request->send(); - - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('POST', $requests[0]->getMethod()); - $this->assertEquals('GET', $requests[1]->getMethod()); - } - - public function testRewindsStreamWhenRedirectingIfNeeded() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - )); - - $client = new Client($this->getServer()->getUrl()); - $request = $client->put(); - $request->configureRedirects(true); - $body = EntityBody::factory('foo'); - $body->read(1); - $request->setBody($body); - $request->send(); - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('foo', (string) $requests[0]->getBody()); - } - - /** - * @expectedException \Guzzle\Http\Exception\CouldNotRewindStreamException - */ - public function testThrowsExceptionWhenStreamCannotBeRewound() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect\r\nContent-Length: 0\r\n\r\n" - )); - - $client = new Client($this->getServer()->getUrl()); - $request = $client->put(); - $request->configureRedirects(true); - $body = EntityBody::factory(fopen($this->getServer()->getUrl(), 'r')); - $body->read(1); - $request->setBody($body)->send(); - } - - public function testRedirectsCanBeDisabledPerRequest() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array("HTTP/1.1 301 Foo\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n")); - $client = new Client($this->getServer()->getUrl()); - $request = $client->put(); - $request->configureRedirects(false, 0); - $this->assertEquals(301, $request->send()->getStatusCode()); - } - - public function testCanRedirectWithNoLeadingSlashAndQuery() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 301 Moved Permanently\r\nLocation: redirect?foo=bar\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - )); - $client = new Client($this->getServer()->getUrl()); - $request = $client->get('?foo=bar'); - $request->send(); - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals($this->getServer()->getUrl() . '?foo=bar', $requests[0]->getUrl()); - $this->assertEquals($this->getServer()->getUrl() . 'redirect?foo=bar', $requests[1]->getUrl()); - // Ensure that the history on the actual request is correct - $this->assertEquals($this->getServer()->getUrl() . '?foo=bar', $request->getUrl()); - } - - public function testRedirectWithStrictRfc386Compliance() - { - // Flush the server and queue up a redirect followed by a successful response - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 301 Moved Permanently\r\nLocation: redirect\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n" - )); - $client = new Client($this->getServer()->getUrl()); - $request = $client->get('/foo'); - $request->send(); - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('/redirect', $requests[1]->getResource()); - } - - public function testResetsHistoryEachSend() - { - // Flush the server and queue up a redirect followed by a successful response - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect1\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect2\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n" - )); - - // Create a client that uses the default redirect behavior - $client = new Client($this->getServer()->getUrl()); - $history = new HistoryPlugin(); - $client->addSubscriber($history); - - $request = $client->get('/foo'); - $response = $request->send(); - $this->assertEquals(3, count($history)); - $this->assertTrue($request->getParams()->hasKey('redirect.count')); - $this->assertContains('/redirect2', $response->getEffectiveUrl()); - - $request->send(); - $this->assertFalse($request->getParams()->hasKey('redirect.count')); - } - - public function testHandlesRedirectsWithSpacesProperly() - { - // Flush the server and queue up a redirect followed by a successful response - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 301 Moved Permanently\r\nLocation: /redirect 1\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n" - )); - $client = new Client($this->getServer()->getUrl()); - $request = $client->get('/foo'); - $request->send(); - $reqs = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('/redirect%201', $reqs[1]->getResource()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Server.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Server.php deleted file mode 100644 index 94eb59a4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/Server.php +++ /dev/null @@ -1,191 +0,0 @@ -port = $port ?: self::DEFAULT_PORT; - $this->client = new Client($this->getUrl()); - register_shutdown_function(array($this, 'stop')); - } - - /** - * Flush the received requests from the server - * @throws RuntimeException - */ - public function flush() - { - $this->client->delete('guzzle-server/requests')->send(); - } - - /** - * Queue an array of responses or a single response on the server. - * - * Any currently queued responses will be overwritten. Subsequent requests - * on the server will return queued responses in FIFO order. - * - * @param array|Response $responses A single or array of Responses to queue - * @throws BadResponseException - */ - public function enqueue($responses) - { - $data = array(); - foreach ((array) $responses as $response) { - - // Create the response object from a string - if (is_string($response)) { - $response = Response::fromMessage($response); - } elseif (!($response instanceof Response)) { - throw new BadResponseException('Responses must be strings or implement Response'); - } - - $data[] = array( - 'statusCode' => $response->getStatusCode(), - 'reasonPhrase' => $response->getReasonPhrase(), - 'headers' => $response->getHeaders()->toArray(), - 'body' => $response->getBody(true) - ); - } - - $request = $this->client->put('guzzle-server/responses', null, json_encode($data)); - $request->send(); - } - - /** - * Check if the server is running - * - * @return bool - */ - public function isRunning() - { - if ($this->running) { - return true; - } - - try { - $this->client->get('guzzle-server/perf', array(), array('timeout' => 5))->send(); - $this->running = true; - return true; - } catch (\Exception $e) { - return false; - } - } - - /** - * Get the URL to the server - * - * @return string - */ - public function getUrl() - { - return 'http://127.0.0.1:' . $this->getPort() . '/'; - } - - /** - * Get the port that the server is listening on - * - * @return int - */ - public function getPort() - { - return $this->port; - } - - /** - * Get all of the received requests - * - * @param bool $hydrate Set to TRUE to turn the messages into - * actual {@see RequestInterface} objects. If $hydrate is FALSE, - * requests will be returned as strings. - * - * @return array - * @throws RuntimeException - */ - public function getReceivedRequests($hydrate = false) - { - $response = $this->client->get('guzzle-server/requests')->send(); - $data = array_filter(explode(self::REQUEST_DELIMITER, $response->getBody(true))); - if ($hydrate) { - $data = array_map(function($message) { - return RequestFactory::getInstance()->fromMessage($message); - }, $data); - } - - return $data; - } - - /** - * Start running the node.js server in the background - */ - public function start() - { - if (!$this->isRunning()) { - exec('node ' . __DIR__ . \DIRECTORY_SEPARATOR - . 'server.js ' . $this->port - . ' >> /tmp/server.log 2>&1 &'); - // Wait at most 5 seconds for the server the setup before - // proceeding. - $start = time(); - while (!$this->isRunning() && time() - $start < 5); - if (!$this->running) { - throw new RuntimeException( - 'Unable to contact server.js. Have you installed node.js v0.5.0+? node must be in your path.' - ); - } - } - } - - /** - * Stop running the node.js server - */ - public function stop() - { - if (!$this->isRunning()) { - return false; - } - - $this->running = false; - $this->client->delete('guzzle-server')->send(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/StaticClientTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/StaticClientTest.php deleted file mode 100644 index 091314bb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/StaticClientTest.php +++ /dev/null @@ -1,67 +0,0 @@ -assertTrue(class_exists('FooBazBar')); - $this->assertSame($client, $this->readAttribute('Guzzle\Http\StaticClient', 'client')); - } - - public function requestProvider() - { - return array_map( - function ($m) { return array($m); }, - array('GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS') - ); - } - - /** - * @dataProvider requestProvider - */ - public function testSendsRequests($method) - { - $mock = new MockPlugin(array(new Response(200))); - call_user_func('Guzzle\Http\StaticClient::' . $method, 'http://foo.com', array( - 'plugins' => array($mock) - )); - $requests = $mock->getReceivedRequests(); - $this->assertCount(1, $requests); - $this->assertEquals($method, $requests[0]->getMethod()); - } - - public function testCanCreateStreamsUsingDefaultFactory() - { - $this->getServer()->enqueue(array("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest")); - $stream = StaticClient::get($this->getServer()->getUrl(), array('stream' => true)); - $this->assertInstanceOf('Guzzle\Stream\StreamInterface', $stream); - $this->assertEquals('test', (string) $stream); - } - - public function testCanCreateStreamsUsingCustomFactory() - { - $stream = $this->getMockBuilder('Guzzle\Stream\StreamRequestFactoryInterface') - ->setMethods(array('fromRequest')) - ->getMockForAbstractClass(); - $resource = new Stream(fopen('php://temp', 'r+')); - $stream->expects($this->once()) - ->method('fromRequest') - ->will($this->returnValue($resource)); - $this->getServer()->enqueue(array("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest")); - $result = StaticClient::get($this->getServer()->getUrl(), array('stream' => $stream)); - $this->assertSame($resource, $result); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/UrlTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/UrlTest.php deleted file mode 100644 index 28f26718..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/UrlTest.php +++ /dev/null @@ -1,303 +0,0 @@ -assertEquals('', (string) $url); - } - - public function testPortIsDeterminedFromScheme() - { - $this->assertEquals(80, Url::factory('http://www.test.com/')->getPort()); - $this->assertEquals(443, Url::factory('https://www.test.com/')->getPort()); - $this->assertEquals(null, Url::factory('ftp://www.test.com/')->getPort()); - $this->assertEquals(8192, Url::factory('http://www.test.com:8192/')->getPort()); - } - - public function testCloneCreatesNewInternalObjects() - { - $u1 = Url::factory('http://www.test.com/'); - $u2 = clone $u1; - $this->assertNotSame($u1->getQuery(), $u2->getQuery()); - } - - public function testValidatesUrlPartsInFactory() - { - $url = Url::factory('/index.php'); - $this->assertEquals('/index.php', (string) $url); - $this->assertFalse($url->isAbsolute()); - - $url = 'http://michael:test@test.com:80/path/123?q=abc#test'; - $u = Url::factory($url); - $this->assertEquals('http://michael:test@test.com/path/123?q=abc#test', (string) $u); - $this->assertTrue($u->isAbsolute()); - } - - public function testAllowsFalsyUrlParts() - { - $url = Url::factory('http://0:50/0?0#0'); - $this->assertSame('0', $url->getHost()); - $this->assertEquals(50, $url->getPort()); - $this->assertSame('/0', $url->getPath()); - $this->assertEquals('0', (string) $url->getQuery()); - $this->assertSame('0', $url->getFragment()); - $this->assertEquals('http://0:50/0?0#0', (string) $url); - - $url = Url::factory(''); - $this->assertSame('', (string) $url); - - $url = Url::factory('0'); - $this->assertSame('0', (string) $url); - } - - public function testBuildsRelativeUrlsWithFalsyParts() - { - $url = Url::buildUrl(array( - 'host' => '0', - 'path' => '0', - )); - - $this->assertSame('//0/0', $url); - - $url = Url::buildUrl(array( - 'path' => '0', - )); - $this->assertSame('0', $url); - } - - public function testUrlStoresParts() - { - $url = Url::factory('http://test:pass@www.test.com:8081/path/path2/?a=1&b=2#fragment'); - $this->assertEquals('http', $url->getScheme()); - $this->assertEquals('test', $url->getUsername()); - $this->assertEquals('pass', $url->getPassword()); - $this->assertEquals('www.test.com', $url->getHost()); - $this->assertEquals(8081, $url->getPort()); - $this->assertEquals('/path/path2/', $url->getPath()); - $this->assertEquals('fragment', $url->getFragment()); - $this->assertEquals('a=1&b=2', (string) $url->getQuery()); - - $this->assertEquals(array( - 'fragment' => 'fragment', - 'host' => 'www.test.com', - 'pass' => 'pass', - 'path' => '/path/path2/', - 'port' => 8081, - 'query' => 'a=1&b=2', - 'scheme' => 'http', - 'user' => 'test' - ), $url->getParts()); - } - - public function testHandlesPathsCorrectly() - { - $url = Url::factory('http://www.test.com'); - $this->assertEquals('', $url->getPath()); - $url->setPath('test'); - $this->assertEquals('test', $url->getPath()); - - $url->setPath('/test/123/abc'); - $this->assertEquals(array('test', '123', 'abc'), $url->getPathSegments()); - - $parts = parse_url('http://www.test.com/test'); - $parts['path'] = ''; - $this->assertEquals('http://www.test.com', Url::buildUrl($parts)); - $parts['path'] = 'test'; - $this->assertEquals('http://www.test.com/test', Url::buildUrl($parts)); - } - - public function testAddsQueryStringIfPresent() - { - $this->assertEquals('?foo=bar', Url::buildUrl(array( - 'query' => 'foo=bar' - ))); - } - - public function testAddsToPath() - { - // Does nothing here - $this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath(false)); - $this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath(null)); - $this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath(array())); - $this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath(new \stdClass())); - $this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath('')); - $this->assertEquals('http://e.com/base?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath('/')); - $this->assertEquals('http://e.com/baz/foo', (string) Url::factory('http://e.com/baz/')->addPath('foo')); - $this->assertEquals('http://e.com/base/relative?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath('relative')); - $this->assertEquals('http://e.com/base/relative?a=1', (string) Url::factory('http://e.com/base?a=1')->addPath('/relative')); - $this->assertEquals('http://e.com/base/0', (string) Url::factory('http://e.com/base')->addPath('0')); - $this->assertEquals('http://e.com/base/0/1', (string) Url::factory('http://e.com/base')->addPath('0')->addPath('1')); - } - - /** - * URL combination data provider - * - * @return array - */ - public function urlCombineDataProvider() - { - return array( - array('http://www.example.com/', 'http://www.example.com/', 'http://www.example.com/'), - array('http://www.example.com/path', '/absolute', 'http://www.example.com/absolute'), - array('http://www.example.com/path', '/absolute?q=2', 'http://www.example.com/absolute?q=2'), - array('http://www.example.com/path', 'more', 'http://www.example.com/path/more'), - array('http://www.example.com/path', 'more?q=1', 'http://www.example.com/path/more?q=1'), - array('http://www.example.com/', '?q=1', 'http://www.example.com/?q=1'), - array('http://www.example.com/path', 'http://test.com', 'http://test.com'), - array('http://www.example.com:8080/path', 'http://test.com', 'http://test.com'), - array('http://www.example.com:8080/path', '?q=2#abc', 'http://www.example.com:8080/path?q=2#abc'), - array('http://u:a@www.example.com/path', 'test', 'http://u:a@www.example.com/path/test'), - array('http://www.example.com/path', 'http://u:a@www.example.com/', 'http://u:a@www.example.com/'), - array('/path?q=2', 'http://www.test.com/', 'http://www.test.com/path?q=2'), - array('http://api.flickr.com/services/', 'http://www.flickr.com/services/oauth/access_token', 'http://www.flickr.com/services/oauth/access_token'), - array('http://www.example.com/?foo=bar', 'some/path', 'http://www.example.com/some/path?foo=bar'), - array('http://www.example.com/?foo=bar', 'some/path?boo=moo', 'http://www.example.com/some/path?boo=moo&foo=bar'), - array('http://www.example.com/some/', 'path?foo=bar&foo=baz', 'http://www.example.com/some/path?foo=bar&foo=baz'), - ); - } - - /** - * @dataProvider urlCombineDataProvider - */ - public function testCombinesUrls($a, $b, $c) - { - $this->assertEquals($c, (string) Url::factory($a)->combine($b)); - } - - public function testHasGettersAndSetters() - { - $url = Url::factory('http://www.test.com/'); - $this->assertEquals('example.com', $url->setHost('example.com')->getHost()); - $this->assertEquals('8080', $url->setPort(8080)->getPort()); - $this->assertEquals('/foo/bar', $url->setPath(array('foo', 'bar'))->getPath()); - $this->assertEquals('a', $url->setPassword('a')->getPassword()); - $this->assertEquals('b', $url->setUsername('b')->getUsername()); - $this->assertEquals('abc', $url->setFragment('abc')->getFragment()); - $this->assertEquals('https', $url->setScheme('https')->getScheme()); - $this->assertEquals('a=123', (string) $url->setQuery('a=123')->getQuery()); - $this->assertEquals('https://b:a@example.com:8080/foo/bar?a=123#abc', (string) $url); - $this->assertEquals('b=boo', (string) $url->setQuery(new QueryString(array( - 'b' => 'boo' - )))->getQuery()); - $this->assertEquals('https://b:a@example.com:8080/foo/bar?b=boo#abc', (string) $url); - } - - public function testSetQueryAcceptsArray() - { - $url = Url::factory('http://www.test.com'); - $url->setQuery(array('a' => 'b')); - $this->assertEquals('http://www.test.com?a=b', (string) $url); - } - - public function urlProvider() - { - return array( - array('/foo/..', '/'), - array('//foo//..', '/'), - array('/foo/../..', '/'), - array('/foo/../.', '/'), - array('/./foo/..', '/'), - array('/./foo', '/foo'), - array('/./foo/', '/foo/'), - array('/./foo/bar/baz/pho/../..', '/foo/bar'), - array('*', '*'), - array('/foo', '/foo'), - array('/abc/123/../foo/', '/abc/foo/'), - array('/a/b/c/./../../g', '/a/g'), - array('/b/c/./../../g', '/g'), - array('/b/c/./../../g', '/g'), - array('/c/./../../g', '/g'), - array('/./../../g', '/g'), - ); - } - - /** - * @dataProvider urlProvider - */ - public function testNormalizesPaths($path, $result) - { - $url = Url::factory('http://www.example.com/'); - $url->setPath($path)->normalizePath(); - $this->assertEquals($result, $url->getPath()); - } - - public function testSettingHostWithPortModifiesPort() - { - $url = Url::factory('http://www.example.com'); - $url->setHost('foo:8983'); - $this->assertEquals('foo', $url->getHost()); - $this->assertEquals(8983, $url->getPort()); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - */ - public function testValidatesUrlCanBeParsed() - { - Url::factory('foo:////'); - } - - public function testConvertsSpecialCharsInPathWhenCastingToString() - { - $url = Url::factory('http://foo.com/baz bar?a=b'); - $url->addPath('?'); - $this->assertEquals('http://foo.com/baz%20bar/%3F?a=b', (string) $url); - } - - /** - * @link http://tools.ietf.org/html/rfc3986#section-5.4.1 - */ - public function rfc3986UrlProvider() - { - $result = array( - array('g', 'http://a/b/c/g'), - array('./g', 'http://a/b/c/g'), - array('g/', 'http://a/b/c/g/'), - array('/g', 'http://a/g'), - array('?y', 'http://a/b/c/d;p?y'), - array('g?y', 'http://a/b/c/g?y'), - array('#s', 'http://a/b/c/d;p?q#s'), - array('g#s', 'http://a/b/c/g#s'), - array('g?y#s', 'http://a/b/c/g?y#s'), - array(';x', 'http://a/b/c/;x'), - array('g;x', 'http://a/b/c/g;x'), - array('g;x?y#s', 'http://a/b/c/g;x?y#s'), - array('', 'http://a/b/c/d;p?q'), - array('.', 'http://a/b/c'), - array('./', 'http://a/b/c/'), - array('..', 'http://a/b'), - array('../', 'http://a/b/'), - array('../g', 'http://a/b/g'), - array('../..', 'http://a/'), - array('../../', 'http://a/'), - array('../../g', 'http://a/g') - ); - - // This support was added in PHP 5.4.7: https://bugs.php.net/bug.php?id=62844 - if (version_compare(PHP_VERSION, '5.4.7', '>=')) { - $result[] = array('//g', 'http://g'); - } - - return $result; - } - - /** - * @dataProvider rfc3986UrlProvider - */ - public function testCombinesUrlsUsingRfc3986($relative, $result) - { - $a = Url::factory('http://a/b/c/d;p?q'); - $b = Url::factory($relative); - $this->assertEquals($result, trim((string) $a->combine($b, true), '=')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/server.js b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/server.js deleted file mode 100644 index 4156f1aa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Http/server.js +++ /dev/null @@ -1,146 +0,0 @@ -/** - * Guzzle node.js test server to return queued responses to HTTP requests and - * expose a RESTful API for enqueueing responses and retrieving the requests - * that have been received. - * - * - Delete all requests that have been received: - * DELETE /guzzle-server/requests - * Host: 127.0.0.1:8124 - * - * - Enqueue responses - * PUT /guzzle-server/responses - * Host: 127.0.0.1:8124 - * - * [{ "statusCode": 200, "reasonPhrase": "OK", "headers": {}, "body": "" }] - * - * - Get the received requests - * GET /guzzle-server/requests - * Host: 127.0.0.1:8124 - * - * - Shutdown the server - * DELETE /guzzle-server - * Host: 127.0.0.1:8124 - * - * @package Guzzle PHP - * @license See the LICENSE file that was distributed with this source code. - */ - -var http = require("http"); - -/** - * Guzzle node.js server - * @class - */ -var GuzzleServer = function(port, log) { - - this.port = port; - this.log = log; - this.responses = []; - this.requests = []; - var that = this; - - var controlRequest = function(request, req, res) { - if (req.url == '/guzzle-server/perf') { - res.writeHead(200, "OK", {"Content-Length": 16}); - res.end("Body of response"); - } else if (req.method == "DELETE") { - if (req.url == "/guzzle-server/requests") { - // Clear the received requests - that.requests = []; - res.writeHead(200, "OK", { "Content-Length": 0 }); - res.end(); - if (this.log) { - console.log("Flushing requests"); - } - } else if (req.url == "/guzzle-server") { - // Shutdown the server - res.writeHead(200, "OK", { "Content-Length": 0, "Connection": "close" }); - res.end(); - if (this.log) { - console.log("Shutting down"); - } - that.server.close(); - } - } else if (req.method == "GET") { - if (req.url === "/guzzle-server/requests") { - // Get received requests - var data = that.requests.join("\n----[request]\n"); - res.writeHead(200, "OK", { "Content-Length": data.length }); - res.end(data); - if (that.log) { - console.log("Sending receiving requests"); - } - } - } else if (req.method == "PUT") { - if (req.url == "/guzzle-server/responses") { - if (that.log) { - console.log("Adding responses..."); - } - // Received response to queue - var data = request.split("\r\n\r\n")[1]; - if (!data) { - if (that.log) { - console.log("No response data was provided"); - } - res.writeHead(400, "NO RESPONSES IN REQUEST", { "Content-Length": 0 }); - } else { - that.responses = eval("(" + data + ")"); - if (that.log) { - console.log(that.responses); - } - res.writeHead(200, "OK", { "Content-Length": 0 }); - } - res.end(); - } - } - }; - - var receivedRequest = function(request, req, res) { - if (req.url.indexOf("/guzzle-server") === 0) { - controlRequest(request, req, res); - } else if (req.url.indexOf("/guzzle-server") == -1 && !that.responses.length) { - res.writeHead(500); - res.end("No responses in queue"); - } else { - var response = that.responses.shift(); - res.writeHead(response.statusCode, response.reasonPhrase, response.headers); - res.end(response.body); - that.requests.push(request); - } - }; - - this.start = function() { - - that.server = http.createServer(function(req, res) { - - var request = req.method + " " + req.url + " HTTP/" + req.httpVersion + "\r\n"; - for (var i in req.headers) { - request += i + ": " + req.headers[i] + "\r\n"; - } - request += "\r\n"; - - // Receive each chunk of the request body - req.addListener("data", function(chunk) { - request += chunk; - }); - - // Called when the request completes - req.addListener("end", function() { - receivedRequest(request, req, res); - }); - }); - that.server.listen(port, "127.0.0.1"); - - if (this.log) { - console.log("Server running at http://127.0.0.1:8124/"); - } - }; -}; - -// Get the port from the arguments -port = process.argv.length >= 3 ? process.argv[2] : 8124; -log = process.argv.length >= 4 ? process.argv[3] : false; - -// Start the server -server = new GuzzleServer(port, log); -server.start(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/InflectorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/InflectorTest.php deleted file mode 100644 index 990c0af6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/InflectorTest.php +++ /dev/null @@ -1,37 +0,0 @@ -assertSame(Inflector::getDefault(), Inflector::getDefault()); - } - - public function testSnake() - { - $this->assertEquals('camel_case', Inflector::getDefault()->snake('camelCase')); - $this->assertEquals('camel_case', Inflector::getDefault()->snake('CamelCase')); - $this->assertEquals('camel_case_words', Inflector::getDefault()->snake('CamelCaseWords')); - $this->assertEquals('camel_case_words', Inflector::getDefault()->snake('CamelCase_words')); - $this->assertEquals('test', Inflector::getDefault()->snake('test')); - $this->assertEquals('test', Inflector::getDefault()->snake('test')); - $this->assertEquals('expect100_continue', Inflector::getDefault()->snake('Expect100Continue')); - } - - public function testCamel() - { - $this->assertEquals('CamelCase', Inflector::getDefault()->camel('camel_case')); - $this->assertEquals('CamelCaseWords', Inflector::getDefault()->camel('camel_case_words')); - $this->assertEquals('Test', Inflector::getDefault()->camel('test')); - $this->assertEquals('Expect100Continue', ucfirst(Inflector::getDefault()->camel('expect100_continue'))); - // Get from cache - $this->assertEquals('Test', Inflector::getDefault()->camel('test', false)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/MemoizingInflectorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/MemoizingInflectorTest.php deleted file mode 100644 index f00b7fad..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/MemoizingInflectorTest.php +++ /dev/null @@ -1,46 +0,0 @@ -getMock('Guzzle\Inflection\Inflector', array('snake', 'camel')); - $mock->expects($this->once())->method('snake')->will($this->returnValue('foo_bar')); - $mock->expects($this->once())->method('camel')->will($this->returnValue('FooBar')); - - $inflector = new MemoizingInflector($mock); - $this->assertEquals('foo_bar', $inflector->snake('FooBar')); - $this->assertEquals('foo_bar', $inflector->snake('FooBar')); - $this->assertEquals('FooBar', $inflector->camel('foo_bar')); - $this->assertEquals('FooBar', $inflector->camel('foo_bar')); - } - - public function testProtectsAgainstCacheOverflow() - { - $inflector = new MemoizingInflector(new Inflector(), 10); - for ($i = 1; $i < 11; $i++) { - $inflector->camel('foo_' . $i); - $inflector->snake('Foo' . $i); - } - - $cache = $this->readAttribute($inflector, 'cache'); - $this->assertEquals(10, count($cache['snake'])); - $this->assertEquals(10, count($cache['camel'])); - - $inflector->camel('baz!'); - $inflector->snake('baz!'); - - // Now ensure that 20% of the cache was removed (2), then the item was added - $cache = $this->readAttribute($inflector, 'cache'); - $this->assertEquals(9, count($cache['snake'])); - $this->assertEquals(9, count($cache['camel'])); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/PreComputedInflectorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/PreComputedInflectorTest.php deleted file mode 100644 index ff2654cf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Inflection/PreComputedInflectorTest.php +++ /dev/null @@ -1,45 +0,0 @@ -getMock('Guzzle\Inflection\Inflector', array('snake', 'camel')); - $mock->expects($this->once())->method('snake')->with('Test')->will($this->returnValue('test')); - $mock->expects($this->once())->method('camel')->with('Test')->will($this->returnValue('Test')); - $inflector = new PreComputedInflector($mock, array('FooBar' => 'foo_bar'), array('foo_bar' => 'FooBar')); - $this->assertEquals('FooBar', $inflector->camel('foo_bar')); - $this->assertEquals('foo_bar', $inflector->snake('FooBar')); - $this->assertEquals('Test', $inflector->camel('Test')); - $this->assertEquals('test', $inflector->snake('Test')); - } - - public function testMirrorsPrecomputedValues() - { - $mock = $this->getMock('Guzzle\Inflection\Inflector', array('snake', 'camel')); - $mock->expects($this->never())->method('snake'); - $mock->expects($this->never())->method('camel'); - $inflector = new PreComputedInflector($mock, array('Zeep' => 'zeep'), array(), true); - $this->assertEquals('Zeep', $inflector->camel('zeep')); - $this->assertEquals('zeep', $inflector->snake('Zeep')); - } - - public function testMirrorsPrecomputedValuesByMerging() - { - $mock = $this->getMock('Guzzle\Inflection\Inflector', array('snake', 'camel')); - $mock->expects($this->never())->method('snake'); - $mock->expects($this->never())->method('camel'); - $inflector = new PreComputedInflector($mock, array('Zeep' => 'zeep'), array('foo' => 'Foo'), true); - $this->assertEquals('Zeep', $inflector->camel('zeep')); - $this->assertEquals('zeep', $inflector->snake('Zeep')); - $this->assertEquals('Foo', $inflector->camel('foo')); - $this->assertEquals('foo', $inflector->snake('Foo')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/AppendIteratorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/AppendIteratorTest.php deleted file mode 100644 index 8d6ae845..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/AppendIteratorTest.php +++ /dev/null @@ -1,29 +0,0 @@ - 1, - 'b' => 2 - )); - $b = new \ArrayIterator(array()); - $c = new \ArrayIterator(array( - 'c' => 3, - 'd' => 4 - )); - $i = new AppendIterator(); - $i->append($a); - $i->append($b); - $i->append($c); - $this->assertEquals(array(1, 2, 3, 4), iterator_to_array($i, false)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/ChunkedIteratorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/ChunkedIteratorTest.php deleted file mode 100644 index ec4c1294..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/ChunkedIteratorTest.php +++ /dev/null @@ -1,52 +0,0 @@ -assertEquals(11, count($chunks)); - foreach ($chunks as $j => $chunk) { - $this->assertEquals(range($j * 10, min(100, $j * 10 + 9)), $chunk); - } - } - - public function testChunksIteratorWithOddValues() - { - $chunked = new ChunkedIterator(new \ArrayIterator(array(1, 2, 3, 4, 5)), 2); - $chunks = iterator_to_array($chunked, false); - $this->assertEquals(3, count($chunks)); - $this->assertEquals(array(1, 2), $chunks[0]); - $this->assertEquals(array(3, 4), $chunks[1]); - $this->assertEquals(array(5), $chunks[2]); - } - - public function testMustNotTerminateWithTraversable() - { - $traversable = simplexml_load_string('')->foo; - $chunked = new ChunkedIterator($traversable, 2); - $actual = iterator_to_array($chunked, false); - $this->assertCount(2, $actual); - } - - public function testSizeOfZeroMakesIteratorInvalid() { - $chunked = new ChunkedIterator(new \ArrayIterator(range(1, 5)), 0); - $chunked->rewind(); - $this->assertFalse($chunked->valid()); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testSizeLowerZeroThrowsException() { - new ChunkedIterator(new \ArrayIterator(range(1, 5)), -1); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/FilterIteratorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/FilterIteratorTest.php deleted file mode 100644 index 73b4f698..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/FilterIteratorTest.php +++ /dev/null @@ -1,28 +0,0 @@ -assertEquals(range(1, 99, 2), iterator_to_array($i, false)); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testValidatesCallable() - { - $i = new FilterIterator(new \ArrayIterator(), new \stdClass()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MapIteratorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MapIteratorTest.php deleted file mode 100644 index 4de4a6bc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MapIteratorTest.php +++ /dev/null @@ -1,28 +0,0 @@ -assertEquals(range(0, 1000, 10), iterator_to_array($i, false)); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testValidatesCallable() - { - $i = new MapIterator(new \ArrayIterator(), new \stdClass()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MethodProxyIteratorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MethodProxyIteratorTest.php deleted file mode 100644 index 5bcf06fb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Iterator/MethodProxyIteratorTest.php +++ /dev/null @@ -1,28 +0,0 @@ -append('a'); - $proxy->append('b'); - $this->assertEquals(array('a', 'b'), $i->getArrayCopy()); - $this->assertEquals(array('a', 'b'), $proxy->getArrayCopy()); - } - - public function testUsesInnerIterator() - { - $i = new MethodProxyIterator(new ChunkedIterator(new \ArrayIterator(array(1, 2, 3, 4, 5)), 2)); - $this->assertEquals(3, count(iterator_to_array($i, false))); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/ArrayLogAdapterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/ArrayLogAdapterTest.php deleted file mode 100644 index a66882f6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/ArrayLogAdapterTest.php +++ /dev/null @@ -1,23 +0,0 @@ -log('test', \LOG_NOTICE, '127.0.0.1'); - $this->assertEquals(array(array('message' => 'test', 'priority' => \LOG_NOTICE, 'extras' => '127.0.0.1')), $adapter->getLogs()); - } - - public function testClearLog() - { - $adapter = new ArrayLogAdapter(); - $adapter->log('test', \LOG_NOTICE, '127.0.0.1'); - $adapter->clearLogs(); - $this->assertEquals(array(), $adapter->getLogs()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/ClosureLogAdapterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/ClosureLogAdapterTest.php deleted file mode 100644 index 0177dc07..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/ClosureLogAdapterTest.php +++ /dev/null @@ -1,30 +0,0 @@ -adapter = new ClosureLogAdapter(function($message, $priority, $extras = null) use ($that, &$modified) { - $modified = array($message, $priority, $extras); - }); - $this->adapter->log('test', LOG_NOTICE, '127.0.0.1'); - $this->assertEquals(array('test', LOG_NOTICE, '127.0.0.1'), $modified); - } - - /** - * @expectedException InvalidArgumentException - */ - public function testThrowsExceptionWhenNotCallable() - { - $this->adapter = new ClosureLogAdapter(123); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/MessageFormatterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/MessageFormatterTest.php deleted file mode 100644 index 3ff4b073..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/MessageFormatterTest.php +++ /dev/null @@ -1,143 +0,0 @@ -request = new EntityEnclosingRequest('POST', 'http://foo.com?q=test', array( - 'X-Foo' => 'bar', - 'Authorization' => 'Baz' - )); - $this->request->setBody(EntityBody::factory('Hello')); - - $this->response = new Response(200, array( - 'X-Test' => 'Abc' - ), 'Foo'); - - $this->handle = $this->getMockBuilder('Guzzle\Http\Curl\CurlHandle') - ->disableOriginalConstructor() - ->setMethods(array('getError', 'getErrorNo', 'getStderr', 'getInfo')) - ->getMock(); - - $this->handle->expects($this->any()) - ->method('getError') - ->will($this->returnValue('e')); - - $this->handle->expects($this->any()) - ->method('getErrorNo') - ->will($this->returnValue('123')); - - $this->handle->expects($this->any()) - ->method('getStderr') - ->will($this->returnValue('testing')); - - $this->handle->expects($this->any()) - ->method('getInfo') - ->will($this->returnValueMap(array( - array(CURLINFO_CONNECT_TIME, '123'), - array(CURLINFO_TOTAL_TIME, '456') - ))); - } - - public function logProvider() - { - return array( - // Uses the cache for the second time - array('{method} - {method}', 'POST - POST'), - array('{url}', 'http://foo.com?q=test'), - array('{port}', '80'), - array('{resource}', '/?q=test'), - array('{host}', 'foo.com'), - array('{hostname}', gethostname()), - array('{protocol}/{version}', 'HTTP/1.1'), - array('{code} {phrase}', '200 OK'), - array('{req_header_Foo}', ''), - array('{req_header_X-Foo}', 'bar'), - array('{req_header_Authorization}', 'Baz'), - array('{res_header_foo}', ''), - array('{res_header_X-Test}', 'Abc'), - array('{req_body}', 'Hello'), - array('{res_body}', 'Foo'), - array('{curl_stderr}', 'testing'), - array('{curl_error}', 'e'), - array('{curl_code}', '123'), - array('{connect_time}', '123'), - array('{total_time}', '456') - ); - } - - /** - * @dataProvider logProvider - */ - public function testFormatsMessages($template, $output) - { - $formatter = new MessageFormatter($template); - $this->assertEquals($output, $formatter->format($this->request, $this->response, $this->handle)); - } - - public function testFormatsRequestsAndResponses() - { - $formatter = new MessageFormatter(); - $formatter->setTemplate('{request}{response}'); - $this->assertEquals($this->request . $this->response, $formatter->format($this->request, $this->response)); - } - - public function testAddsTimestamp() - { - $formatter = new MessageFormatter('{ts}'); - $this->assertNotEmpty($formatter->format($this->request, $this->response)); - } - - public function testUsesResponseWhenNoHandleAndGettingCurlInformation() - { - $formatter = new MessageFormatter('{connect_time}/{total_time}'); - $response = $this->getMockBuilder('Guzzle\Http\Message\Response') - ->setConstructorArgs(array(200)) - ->setMethods(array('getInfo')) - ->getMock(); - $response->expects($this->exactly(2)) - ->method('getInfo') - ->will($this->returnValueMap(array( - array('connect_time', '1'), - array('total_time', '2'), - ))); - $this->assertEquals('1/2', $formatter->format($this->request, $response)); - } - - public function testUsesEmptyStringWhenNoHandleAndNoResponse() - { - $formatter = new MessageFormatter('{connect_time}/{total_time}'); - $this->assertEquals('/', $formatter->format($this->request)); - } - - public function testInjectsTotalTime() - { - $out = ''; - $formatter = new MessageFormatter('{connect_time}/{total_time}'); - $adapter = new ClosureLogAdapter(function ($m) use (&$out) { $out .= $m; }); - $log = new LogPlugin($adapter, $formatter); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nHI"); - $client = new Client($this->getServer()->getUrl()); - $client->addSubscriber($log); - $client->get('/')->send(); - $this->assertNotEquals('/', $out); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/PsrLogAdapterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/PsrLogAdapterTest.php deleted file mode 100644 index 7b72dd6a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/PsrLogAdapterTest.php +++ /dev/null @@ -1,25 +0,0 @@ -pushHandler($handler); - $adapter = new PsrLogAdapter($log); - $adapter->log('test!', LOG_INFO); - $this->assertTrue($handler->hasInfoRecords()); - $this->assertSame($log, $adapter->getLogObject()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/Zf2LogAdapterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/Zf2LogAdapterTest.php deleted file mode 100644 index 1b612836..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Log/Zf2LogAdapterTest.php +++ /dev/null @@ -1,51 +0,0 @@ -stream = fopen('php://temp', 'r+'); - $this->log = new Logger(); - $this->log->addWriter(new Stream($this->stream)); - $this->adapter = new Zf2LogAdapter($this->log); - - } - - public function testLogsMessagesToAdaptedObject() - { - // Test without a priority - $this->adapter->log('Zend_Test!', \LOG_NOTICE); - rewind($this->stream); - $contents = stream_get_contents($this->stream); - $this->assertEquals(1, substr_count($contents, 'Zend_Test!')); - - // Test with a priority - $this->adapter->log('Zend_Test!', \LOG_ALERT); - rewind($this->stream); - $contents = stream_get_contents($this->stream); - $this->assertEquals(2, substr_count($contents, 'Zend_Test!')); - } - - public function testExposesAdaptedLogObject() - { - $this->assertEquals($this->log, $this->adapter->getLogObject()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/CustomResponseModel.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/CustomResponseModel.php deleted file mode 100644 index 3fb6527b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/CustomResponseModel.php +++ /dev/null @@ -1,21 +0,0 @@ -command = $command; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/ErrorResponseMock.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/ErrorResponseMock.php deleted file mode 100644 index aabb15f9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/ErrorResponseMock.php +++ /dev/null @@ -1,25 +0,0 @@ -command = $command; - $this->response = $response; - $this->message = 'Error from ' . $response; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/ExceptionMock.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/ExceptionMock.php deleted file mode 100644 index 97a19748..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/ExceptionMock.php +++ /dev/null @@ -1,11 +0,0 @@ -multiHandle; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php deleted file mode 100644 index 11e22eb4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php +++ /dev/null @@ -1,65 +0,0 @@ -events as $event) { - if ($event->getName() == $eventName) { - return true; - } - } - - return false; - } - - public function getLastEvent() - { - return end($this->events); - } - - public function count() - { - return count($this->events); - } - - public function getGrouped() - { - $events = array(); - foreach ($this->events as $event) { - if (!isset($events[$event->getName()])) { - $events[$event->getName()] = array(); - } - $events[$event->getName()][] = $event; - } - - return $events; - } - - public function getData($event, $key, $occurrence = 0) - { - $grouped = $this->getGrouped(); - if (isset($grouped[$event])) { - return $grouped[$event][$occurrence][$key]; - } - - return null; - } - - public function update(Event $event) - { - $this->events[] = $event; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockSubject.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockSubject.php deleted file mode 100644 index e011959b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockSubject.php +++ /dev/null @@ -1,7 +0,0 @@ - 'allseeing-i.com', - 'path' => '/', - 'data' => array( - 'PHPSESSID' => '6c951590e7a9359bcedde25cda73e43c' - ), - 'max_age' => NULL, - 'expires' => 'Sat, 26-Jul-2008 17:00:42 GMT', - 'version' => NULL, - 'secure' => NULL, - 'discard' => NULL, - 'port' => NULL, - 'cookies' => array( - 'ASIHTTPRequestTestCookie' => 'This+is+the+value' - ), - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - array('', false), - array('foo', false), - // Test setting a blank value for a cookie - array(array( - 'foo=', 'foo =', 'foo =;', 'foo= ;', 'foo =', 'foo= '), - array( - 'cookies' => array( - 'foo' => '' - ), - 'data' => array(), - 'discard' => null, - 'domain' => null, - 'expires' => null, - 'max_age' => null, - 'path' => '/', - 'port' => null, - 'secure' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - // Test setting a value and removing quotes - array(array( - 'foo=1', 'foo =1', 'foo =1;', 'foo=1 ;', 'foo =1', 'foo= 1', 'foo = 1 ;', 'foo="1"', 'foo="1";', 'foo= "1";'), - array( - 'cookies' => array( - 'foo' => '1' - ), - 'data' => array(), - 'discard' => null, - 'domain' => null, - 'expires' => null, - 'max_age' => null, - 'path' => '/', - 'port' => null, - 'secure' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - // Test setting multiple values - array(array( - 'foo=1; bar=2;', 'foo =1; bar = "2"', 'foo=1; bar=2'), - array( - 'cookies' => array( - 'foo' => '1', - 'bar' => '2', - ), - 'data' => array(), - 'discard' => null, - 'domain' => null, - 'expires' => null, - 'max_age' => null, - 'path' => '/', - 'port' => null, - 'secure' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - // Tests getting the domain and path from a reference request - array(array( - 'foo=1; port="80,8081"; httponly', 'foo=1; port="80,8081"; domain=www.test.com; HttpOnly;', 'foo=1; ; domain=www.test.com; path=/path; port="80,8081"; HttpOnly;'), - array( - 'cookies' => array( - 'foo' => 1 - ), - 'data' => array(), - 'discard' => null, - 'domain' => 'www.test.com', - 'expires' => null, - 'max_age' => null, - 'path' => '/path', - 'port' => array('80', '8081'), - 'secure' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => true - ), - 'http://www.test.com/path/' - ), - // Some of the following tests are based on http://framework.zend.com/svn/framework/standard/trunk/tests/Zend/Http/CookieTest.php - array( - 'justacookie=foo; domain=example.com', - array( - 'cookies' => array( - 'justacookie' => 'foo' - ), - 'domain' => 'example.com', - 'data' => array(), - 'discard' => null, - 'expires' => null, - 'max_age' => null, - 'path' => '/', - 'port' => null, - 'secure' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - array( - 'expires=tomorrow; secure; path=/Space Out/; expires=Tue, 21-Nov-2006 08:33:44 GMT; domain=.example.com', - array( - 'cookies' => array( - 'expires' => 'tomorrow' - ), - 'domain' => '.example.com', - 'path' => '/Space Out/', - 'expires' => 'Tue, 21-Nov-2006 08:33:44 GMT', - 'data' => array(), - 'discard' => null, - 'port' => null, - 'secure' => true, - 'version' => null, - 'max_age' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - array( - 'domain=unittests; expires=Tue, 21-Nov-2006 08:33:44 GMT; domain=example.com; path=/some value/', - array( - 'cookies' => array( - 'domain' => 'unittests' - ), - 'domain' => 'example.com', - 'path' => '/some value/', - 'expires' => 'Tue, 21-Nov-2006 08:33:44 GMT', - 'secure' => false, - 'data' => array(), - 'discard' => null, - 'max_age' => null, - 'port' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - array( - 'path=indexAction; path=/; domain=.foo.com; expires=Tue, 21-Nov-2006 08:33:44 GMT', - array( - 'cookies' => array( - 'path' => 'indexAction' - ), - 'domain' => '.foo.com', - 'path' => '/', - 'expires' => 'Tue, 21-Nov-2006 08:33:44 GMT', - 'secure' => false, - 'data' => array(), - 'discard' => null, - 'max_age' => null, - 'port' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - array( - 'secure=sha1; secure; SECURE; domain=some.really.deep.domain.com; version=1; Max-Age=86400', - array( - 'cookies' => array( - 'secure' => 'sha1' - ), - 'domain' => 'some.really.deep.domain.com', - 'path' => '/', - 'secure' => true, - 'data' => array(), - 'discard' => null, - 'expires' => time() + 86400, - 'max_age' => 86400, - 'port' => null, - 'version' => 1, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - array( - 'PHPSESSID=123456789+abcd%2Cef; secure; discard; domain=.localdomain; path=/foo/baz; expires=Tue, 21-Nov-2006 08:33:44 GMT;', - array( - 'cookies' => array( - 'PHPSESSID' => '123456789+abcd%2Cef' - ), - 'domain' => '.localdomain', - 'path' => '/foo/baz', - 'expires' => 'Tue, 21-Nov-2006 08:33:44 GMT', - 'secure' => true, - 'data' => array(), - 'discard' => true, - 'max_age' => null, - 'port' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ) - ), - // rfc6265#section-5.1.4 - array( - 'cookie=value', - array( - 'cookies' => array( - 'cookie' => 'value' - ), - 'domain' => 'example.com', - 'data' => array(), - 'discard' => null, - 'expires' => null, - 'max_age' => null, - 'path' => '/some/path', - 'port' => null, - 'secure' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ), - 'http://example.com/some/path/test.html' - ), - array( - 'empty=path', - array( - 'cookies' => array( - 'empty' => 'path' - ), - 'domain' => 'example.com', - 'data' => array(), - 'discard' => null, - 'expires' => null, - 'max_age' => null, - 'path' => '/', - 'port' => null, - 'secure' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ), - 'http://example.com/test.html' - ), - array( - 'baz=qux', - array( - 'cookies' => array( - 'baz' => 'qux' - ), - 'domain' => 'example.com', - 'data' => array(), - 'discard' => null, - 'expires' => null, - 'max_age' => null, - 'path' => '/', - 'port' => null, - 'secure' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ), - 'http://example.com?query=here' - ), - array( - 'test=noSlashPath; path=someString', - array( - 'cookies' => array( - 'test' => 'noSlashPath' - ), - 'domain' => 'example.com', - 'data' => array(), - 'discard' => null, - 'expires' => null, - 'max_age' => null, - 'path' => '/real/path', - 'port' => null, - 'secure' => null, - 'version' => null, - 'comment' => null, - 'comment_url' => null, - 'http_only' => false - ), - 'http://example.com/real/path/' - ), - ); - } - - /** - * @dataProvider cookieParserDataProvider - */ - public function testParseCookie($cookie, $parsed, $url = null) - { - $c = $this->cookieParserClass; - $parser = new $c(); - - $request = null; - if ($url) { - $url = Url::factory($url); - $host = $url->getHost(); - $path = $url->getPath(); - } else { - $host = ''; - $path = ''; - } - - foreach ((array) $cookie as $c) { - $p = $parser->parseCookie($c, $host, $path); - - // Remove expires values from the assertion if they are relatively equal by allowing a 5 minute difference - if ($p['expires'] != $parsed['expires']) { - if (abs($p['expires'] - $parsed['expires']) < 300) { - unset($p['expires']); - unset($parsed['expires']); - } - } - - if (is_array($parsed)) { - foreach ($parsed as $key => $value) { - $this->assertEquals($parsed[$key], $p[$key], 'Comparing ' . $key . ' ' . var_export($value, true) . ' : ' . var_export($parsed, true) . ' | ' . var_export($p, true)); - } - - foreach ($p as $key => $value) { - $this->assertEquals($p[$key], $parsed[$key], 'Comparing ' . $key . ' ' . var_export($value, true) . ' : ' . var_export($parsed, true) . ' | ' . var_export($p, true)); - } - } else { - $this->assertEquals($parsed, $p); - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Cookie/CookieParserTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Cookie/CookieParserTest.php deleted file mode 100644 index 75d336fa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Cookie/CookieParserTest.php +++ /dev/null @@ -1,22 +0,0 @@ -parseCookie('foo=baz+bar', null, null, true); - $this->assertEquals(array( - 'foo' => 'baz bar' - ), $result['cookies']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserProvider.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserProvider.php deleted file mode 100644 index da58bb46..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserProvider.php +++ /dev/null @@ -1,225 +0,0 @@ - 'GET', - 'protocol' => 'HTTP', - 'version' => '1.1', - 'request_url' => array( - 'scheme' => 'http', - 'host' => '', - 'port' => '', - 'path' => '/', - 'query' => '' - ), - 'headers' => array(), - 'body' => '' - )), - // Path and query string, multiple header values per header and case sensitive storage - array("HEAD /path?query=foo HTTP/1.0\r\nHost: example.com\r\nX-Foo: foo\r\nx-foo: Bar\r\nX-Foo: foo\r\nX-Foo: Baz\r\n\r\n", array( - 'method' => 'HEAD', - 'protocol' => 'HTTP', - 'version' => '1.0', - 'request_url' => array( - 'scheme' => 'http', - 'host' => 'example.com', - 'port' => '', - 'path' => '/path', - 'query' => 'query=foo' - ), - 'headers' => array( - 'Host' => 'example.com', - 'X-Foo' => array('foo', 'foo', 'Baz'), - 'x-foo' => 'Bar' - ), - 'body' => '' - )), - // Includes a body - array("PUT / HTTP/1.0\r\nhost: example.com:443\r\nContent-Length: 4\r\n\r\ntest", array( - 'method' => 'PUT', - 'protocol' => 'HTTP', - 'version' => '1.0', - 'request_url' => array( - 'scheme' => 'https', - 'host' => 'example.com', - 'port' => '443', - 'path' => '/', - 'query' => '' - ), - 'headers' => array( - 'host' => 'example.com:443', - 'Content-Length' => '4' - ), - 'body' => 'test' - )), - // Includes Authorization headers - array("GET / HTTP/1.1\r\nHost: example.com:8080\r\nAuthorization: Basic {$auth}\r\n\r\n", array( - 'method' => 'GET', - 'protocol' => 'HTTP', - 'version' => '1.1', - 'request_url' => array( - 'scheme' => 'http', - 'host' => 'example.com', - 'port' => '8080', - 'path' => '/', - 'query' => '' - ), - 'headers' => array( - 'Host' => 'example.com:8080', - 'Authorization' => "Basic {$auth}" - ), - 'body' => '' - )), - // Include authorization header - array("GET / HTTP/1.1\r\nHost: example.com:8080\r\nauthorization: Basic {$auth}\r\n\r\n", array( - 'method' => 'GET', - 'protocol' => 'HTTP', - 'version' => '1.1', - 'request_url' => array( - 'scheme' => 'http', - 'host' => 'example.com', - 'port' => '8080', - 'path' => '/', - 'query' => '' - ), - 'headers' => array( - 'Host' => 'example.com:8080', - 'authorization' => "Basic {$auth}" - ), - 'body' => '' - )), - ); - } - - public function responseProvider() - { - return array( - // Empty request - array('', false), - - array("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n", array( - 'protocol' => 'HTTP', - 'version' => '1.1', - 'code' => '200', - 'reason_phrase' => 'OK', - 'headers' => array( - 'Content-Length' => 0 - ), - 'body' => '' - )), - array("HTTP/1.0 400 Bad Request\r\nContent-Length: 0\r\n\r\n", array( - 'protocol' => 'HTTP', - 'version' => '1.0', - 'code' => '400', - 'reason_phrase' => 'Bad Request', - 'headers' => array( - 'Content-Length' => 0 - ), - 'body' => '' - )), - array("HTTP/1.0 100 Continue\r\n\r\n", array( - 'protocol' => 'HTTP', - 'version' => '1.0', - 'code' => '100', - 'reason_phrase' => 'Continue', - 'headers' => array(), - 'body' => '' - )), - array("HTTP/1.1 204 No Content\r\nX-Foo: foo\r\nx-foo: Bar\r\nX-Foo: foo\r\n\r\n", array( - 'protocol' => 'HTTP', - 'version' => '1.1', - 'code' => '204', - 'reason_phrase' => 'No Content', - 'headers' => array( - 'X-Foo' => array('foo', 'foo'), - 'x-foo' => 'Bar' - ), - 'body' => '' - )), - array("HTTP/1.1 200 Ok that is great!\r\nContent-Length: 4\r\n\r\nTest", array( - 'protocol' => 'HTTP', - 'version' => '1.1', - 'code' => '200', - 'reason_phrase' => 'Ok that is great!', - 'headers' => array( - 'Content-Length' => 4 - ), - 'body' => 'Test' - )), - ); - } - - public function compareRequestResults($result, $expected) - { - if (!$result) { - $this->assertFalse($expected); - return; - } - - $this->assertEquals($result['method'], $expected['method']); - $this->assertEquals($result['protocol'], $expected['protocol']); - $this->assertEquals($result['version'], $expected['version']); - $this->assertEquals($result['request_url'], $expected['request_url']); - $this->assertEquals($result['body'], $expected['body']); - $this->compareHttpHeaders($result['headers'], $expected['headers']); - } - - public function compareResponseResults($result, $expected) - { - if (!$result) { - $this->assertFalse($expected); - return; - } - - $this->assertEquals($result['protocol'], $expected['protocol']); - $this->assertEquals($result['version'], $expected['version']); - $this->assertEquals($result['code'], $expected['code']); - $this->assertEquals($result['reason_phrase'], $expected['reason_phrase']); - $this->assertEquals($result['body'], $expected['body']); - $this->compareHttpHeaders($result['headers'], $expected['headers']); - } - - protected function normalizeHeaders($headers) - { - $normalized = array(); - foreach ($headers as $key => $value) { - $key = strtolower($key); - if (!isset($normalized[$key])) { - $normalized[$key] = $value; - } elseif (!is_array($normalized[$key])) { - $normalized[$key] = array($value); - } else { - $normalized[$key][] = $value; - } - } - - foreach ($normalized as $key => &$value) { - if (is_array($value)) { - sort($value); - } - } - - return $normalized; - } - - public function compareHttpHeaders($result, $expected) - { - // Aggregate all headers case-insensitively - $result = $this->normalizeHeaders($result); - $expected = $this->normalizeHeaders($expected); - $this->assertEquals($result, $expected); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserTest.php deleted file mode 100644 index 2f522289..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/MessageParserTest.php +++ /dev/null @@ -1,58 +0,0 @@ -compareRequestResults($parts, $parser->parseRequest($message)); - } - - /** - * @dataProvider responseProvider - */ - public function testParsesResponses($message, $parts) - { - $parser = new MessageParser(); - $this->compareResponseResults($parts, $parser->parseResponse($message)); - } - - public function testParsesRequestsWithMissingProtocol() - { - $parser = new MessageParser(); - $parts = $parser->parseRequest("GET /\r\nHost: Foo.com\r\n\r\n"); - $this->assertEquals('GET', $parts['method']); - $this->assertEquals('HTTP', $parts['protocol']); - $this->assertEquals('1.1', $parts['version']); - } - - public function testParsesRequestsWithMissingVersion() - { - $parser = new MessageParser(); - $parts = $parser->parseRequest("GET / HTTP\r\nHost: Foo.com\r\n\r\n"); - $this->assertEquals('GET', $parts['method']); - $this->assertEquals('HTTP', $parts['protocol']); - $this->assertEquals('1.1', $parts['version']); - } - - public function testParsesResponsesWithMissingReasonPhrase() - { - $parser = new MessageParser(); - $parts = $parser->parseResponse("HTTP/1.1 200\r\n\r\n"); - $this->assertEquals('200', $parts['code']); - $this->assertEquals('', $parts['reason_phrase']); - $this->assertEquals('HTTP', $parts['protocol']); - $this->assertEquals('1.1', $parts['version']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/PeclHttpMessageParserTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/PeclHttpMessageParserTest.php deleted file mode 100644 index 6706e206..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/Message/PeclHttpMessageParserTest.php +++ /dev/null @@ -1,36 +0,0 @@ -markTestSkipped('pecl_http is not available.'); - } - } - - /** - * @dataProvider requestProvider - */ - public function testParsesRequests($message, $parts) - { - $parser = new PeclHttpMessageParser(); - $this->compareRequestResults($parts, $parser->parseRequest($message)); - } - - /** - * @dataProvider responseProvider - */ - public function testParsesResponses($message, $parts) - { - $parser = new PeclHttpMessageParser(); - $this->compareResponseResults($parts, $parser->parseResponse($message)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/ParserRegistryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/ParserRegistryTest.php deleted file mode 100644 index 7675efb9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/ParserRegistryTest.php +++ /dev/null @@ -1,33 +0,0 @@ -registerParser('foo', $c); - $this->assertSame($c, $r->getParser('foo')); - } - - public function testReturnsNullWhenNotFound() - { - $r = new ParserRegistry(); - $this->assertNull($r->getParser('FOO')); - } - - public function testReturnsLazyLoadedDefault() - { - $r = new ParserRegistry(); - $c = $r->getParser('cookie'); - $this->assertInstanceOf('Guzzle\Parser\Cookie\CookieParser', $c); - $this->assertSame($c, $r->getParser('cookie')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/AbstractUriTemplateTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/AbstractUriTemplateTest.php deleted file mode 100644 index a05fc2e4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/AbstractUriTemplateTest.php +++ /dev/null @@ -1,113 +0,0 @@ - 'value', - 'hello' => 'Hello World!', - 'empty' => '', - 'path' => '/foo/bar', - 'x' => '1024', - 'y' => '768', - 'null' => null, - 'list' => array('red', 'green', 'blue'), - 'keys' => array( - "semi" => ';', - "dot" => '.', - "comma" => ',' - ), - 'empty_keys' => array(), - ); - - return array_map(function($t) use ($params) { - $t[] = $params; - return $t; - }, array( - array('foo', 'foo'), - array('{var}', 'value'), - array('{hello}', 'Hello%20World%21'), - array('{+var}', 'value'), - array('{+hello}', 'Hello%20World!'), - array('{+path}/here', '/foo/bar/here'), - array('here?ref={+path}', 'here?ref=/foo/bar'), - array('X{#var}', 'X#value'), - array('X{#hello}', 'X#Hello%20World!'), - array('map?{x,y}', 'map?1024,768'), - array('{x,hello,y}', '1024,Hello%20World%21,768'), - array('{+x,hello,y}', '1024,Hello%20World!,768'), - array('{+path,x}/here', '/foo/bar,1024/here'), - array('{#x,hello,y}', '#1024,Hello%20World!,768'), - array('{#path,x}/here', '#/foo/bar,1024/here'), - array('X{.var}', 'X.value'), - array('X{.x,y}', 'X.1024.768'), - array('{/var}', '/value'), - array('{/var,x}/here', '/value/1024/here'), - array('{;x,y}', ';x=1024;y=768'), - array('{;x,y,empty}', ';x=1024;y=768;empty'), - array('{?x,y}', '?x=1024&y=768'), - array('{?x,y,empty}', '?x=1024&y=768&empty='), - array('?fixed=yes{&x}', '?fixed=yes&x=1024'), - array('{&x,y,empty}', '&x=1024&y=768&empty='), - array('{var:3}', 'val'), - array('{var:30}', 'value'), - array('{list}', 'red,green,blue'), - array('{list*}', 'red,green,blue'), - array('{keys}', 'semi,%3B,dot,.,comma,%2C'), - array('{keys*}', 'semi=%3B,dot=.,comma=%2C'), - array('{+path:6}/here', '/foo/b/here'), - array('{+list}', 'red,green,blue'), - array('{+list*}', 'red,green,blue'), - array('{+keys}', 'semi,;,dot,.,comma,,'), - array('{+keys*}', 'semi=;,dot=.,comma=,'), - array('{#path:6}/here', '#/foo/b/here'), - array('{#list}', '#red,green,blue'), - array('{#list*}', '#red,green,blue'), - array('{#keys}', '#semi,;,dot,.,comma,,'), - array('{#keys*}', '#semi=;,dot=.,comma=,'), - array('X{.var:3}', 'X.val'), - array('X{.list}', 'X.red,green,blue'), - array('X{.list*}', 'X.red.green.blue'), - array('X{.keys}', 'X.semi,%3B,dot,.,comma,%2C'), - array('X{.keys*}', 'X.semi=%3B.dot=..comma=%2C'), - array('{/var:1,var}', '/v/value'), - array('{/list}', '/red,green,blue'), - array('{/list*}', '/red/green/blue'), - array('{/list*,path:4}', '/red/green/blue/%2Ffoo'), - array('{/keys}', '/semi,%3B,dot,.,comma,%2C'), - array('{/keys*}', '/semi=%3B/dot=./comma=%2C'), - array('{;hello:5}', ';hello=Hello'), - array('{;list}', ';list=red,green,blue'), - array('{;list*}', ';list=red;list=green;list=blue'), - array('{;keys}', ';keys=semi,%3B,dot,.,comma,%2C'), - array('{;keys*}', ';semi=%3B;dot=.;comma=%2C'), - array('{?var:3}', '?var=val'), - array('{?list}', '?list=red,green,blue'), - array('{?list*}', '?list=red&list=green&list=blue'), - array('{?keys}', '?keys=semi,%3B,dot,.,comma,%2C'), - array('{?keys*}', '?semi=%3B&dot=.&comma=%2C'), - array('{&var:3}', '&var=val'), - array('{&list}', '&list=red,green,blue'), - array('{&list*}', '&list=red&list=green&list=blue'), - array('{&keys}', '&keys=semi,%3B,dot,.,comma,%2C'), - array('{&keys*}', '&semi=%3B&dot=.&comma=%2C'), - array('{.null}', ''), - array('{.null,var}', '.value'), - array('X{.empty_keys*}', 'X'), - array('X{.empty_keys}', 'X'), - // Test that missing expansions are skipped - array('test{&missing*}', 'test'), - // Test that multiple expansions can be set - array('http://{var}/{var:2}{?keys*}', 'http://value/va?semi=%3B&dot=.&comma=%2C'), - // Test more complex query string stuff - array('http://www.test.com{+path}{?var,keys*}', 'http://www.test.com/foo/bar?var=value&semi=%3B&dot=.&comma=%2C') - )); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/PeclUriTemplateTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/PeclUriTemplateTest.php deleted file mode 100644 index 633c5d53..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/PeclUriTemplateTest.php +++ /dev/null @@ -1,27 +0,0 @@ -markTestSkipped('uri_template PECL extension must be installed to test PeclUriTemplate'); - } - } - - /** - * @dataProvider templateProvider - */ - public function testExpandsUriTemplates($template, $expansion, $params) - { - $uri = new PeclUriTemplate($template); - $this->assertEquals($expansion, $uri->expand($template, $params)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/UriTemplateTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/UriTemplateTest.php deleted file mode 100644 index 5130d6f4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Parser/UriTemplate/UriTemplateTest.php +++ /dev/null @@ -1,106 +0,0 @@ -assertEquals($expansion, $uri->expand($template, $params)); - } - - public function expressionProvider() - { - return array( - array( - '{+var*}', array( - 'operator' => '+', - 'values' => array( - array('value' => 'var', 'modifier' => '*') - ) - ), - ), - array( - '{?keys,var,val}', array( - 'operator' => '?', - 'values' => array( - array('value' => 'keys', 'modifier' => ''), - array('value' => 'var', 'modifier' => ''), - array('value' => 'val', 'modifier' => '') - ) - ), - ), - array( - '{+x,hello,y}', array( - 'operator' => '+', - 'values' => array( - array('value' => 'x', 'modifier' => ''), - array('value' => 'hello', 'modifier' => ''), - array('value' => 'y', 'modifier' => '') - ) - ) - ) - ); - } - - /** - * @dataProvider expressionProvider - */ - public function testParsesExpressions($exp, $data) - { - $template = new UriTemplate($exp); - - // Access the config object - $class = new \ReflectionClass($template); - $method = $class->getMethod('parseExpression'); - $method->setAccessible(true); - - $exp = substr($exp, 1, -1); - $this->assertEquals($data, $method->invokeArgs($template, array($exp))); - } - - /** - * @ticket https://github.com/guzzle/guzzle/issues/90 - */ - public function testAllowsNestedArrayExpansion() - { - $template = new UriTemplate(); - - $result = $template->expand('http://example.com{+path}{/segments}{?query,data*,foo*}', array( - 'path' => '/foo/bar', - 'segments' => array('one', 'two'), - 'query' => 'test', - 'data' => array( - 'more' => array('fun', 'ice cream') - ), - 'foo' => array( - 'baz' => array( - 'bar' => 'fizz', - 'test' => 'buzz' - ), - 'bam' => 'boo' - ) - )); - - $this->assertEquals('http://example.com/foo/bar/one,two?query=test&more%5B0%5D=fun&more%5B1%5D=ice%20cream&baz%5Bbar%5D=fizz&baz%5Btest%5D=buzz&bam=boo', $result); - } - - /** - * @ticket https://github.com/guzzle/guzzle/issues/426 - */ - public function testSetRegex() - { - $template = new UriTemplate(); - $template->setRegex('/\<\$(.+)\>/'); - $this->assertSame('/foo', $template->expand('/<$a>', array('a' => 'foo'))); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Async/AsyncPluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Async/AsyncPluginTest.php deleted file mode 100644 index 16990a5a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Async/AsyncPluginTest.php +++ /dev/null @@ -1,93 +0,0 @@ -assertArrayHasKey('request.before_send', $events); - $this->assertArrayHasKey('request.exception', $events); - $this->assertArrayHasKey('curl.callback.progress', $events); - } - - public function testEnablesProgressCallbacks() - { - $p = new AsyncPlugin(); - $request = RequestFactory::getInstance()->create('PUT', 'http://www.example.com'); - $event = new Event(array( - 'request' => $request - )); - $p->onBeforeSend($event); - $this->assertEquals(true, $request->getCurlOptions()->get('progress')); - } - - public function testAddsTimesOutAfterSending() - { - $p = new AsyncPlugin(); - $request = RequestFactory::getInstance()->create('PUT', 'http://www.example.com'); - $handle = CurlHandle::factory($request); - $event = new Event(array( - 'request' => $request, - 'handle' => $handle->getHandle(), - 'uploaded' => 10, - 'upload_size' => 10, - 'downloaded' => 0 - )); - $p->onCurlProgress($event); - } - - public function testEnsuresRequestIsSet() - { - $p = new AsyncPlugin(); - $event = new Event(array( - 'uploaded' => 10, - 'upload_size' => 10, - 'downloaded' => 0 - )); - $p->onCurlProgress($event); - } - - public function testMasksCurlExceptions() - { - $p = new AsyncPlugin(); - $request = RequestFactory::getInstance()->create('PUT', 'http://www.example.com'); - $e = new CurlException('Error'); - $event = new Event(array( - 'request' => $request, - 'exception' => $e - )); - $p->onRequestTimeout($event); - $this->assertEquals(RequestInterface::STATE_COMPLETE, $request->getState()); - $this->assertEquals(200, $request->getResponse()->getStatusCode()); - $this->assertTrue($request->getResponse()->hasHeader('X-Guzzle-Async')); - } - - public function testEnsuresIntegration() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 204 FOO\r\nContent-Length: 4\r\n\r\ntest"); - $client = new Client($this->getServer()->getUrl()); - $request = $client->post('/', null, array( - 'foo' => 'bar' - )); - $request->getEventDispatcher()->addSubscriber(new AsyncPlugin()); - $request->send(); - $this->assertEquals('', $request->getResponse()->getBody(true)); - $this->assertTrue($request->getResponse()->hasHeader('X-Guzzle-Async')); - $received = $this->getServer()->getReceivedRequests(true); - $this->assertEquals('POST', $received[0]->getMethod()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/AbstractBackoffStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/AbstractBackoffStrategyTest.php deleted file mode 100644 index 72af2630..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/AbstractBackoffStrategyTest.php +++ /dev/null @@ -1,86 +0,0 @@ -getMockBuilder('Guzzle\Plugin\Backoff\AbstractBackoffStrategy') - ->setMethods(array('getDelay', 'makesDecision')) - ->getMockForAbstractClass(); - } - - public function testReturnsZeroWhenNoNextAndGotNull() - { - $request = new Request('GET', 'http://www.foo.com'); - $mock = $this->getMockStrategy(); - $mock->expects($this->atLeastOnce())->method('getDelay')->will($this->returnValue(null)); - $this->assertEquals(0, $mock->getBackoffPeriod(0, $request)); - } - - public function testReturnsFalse() - { - $request = new Request('GET', 'http://www.foo.com'); - $mock = $this->getMockStrategy(); - $mock->expects($this->atLeastOnce())->method('getDelay')->will($this->returnValue(false)); - $this->assertEquals(false, $mock->getBackoffPeriod(0, $request)); - } - - public function testReturnsNextValueWhenNullOrTrue() - { - $request = new Request('GET', 'http://www.foo.com'); - $mock = $this->getMockStrategy(); - $mock->expects($this->atLeastOnce())->method('getDelay')->will($this->returnValue(null)); - $mock->expects($this->any())->method('makesDecision')->will($this->returnValue(false)); - - $mock2 = $this->getMockStrategy(); - $mock2->expects($this->atLeastOnce())->method('getDelay')->will($this->returnValue(10)); - $mock2->expects($this->atLeastOnce())->method('makesDecision')->will($this->returnValue(true)); - $mock->setNext($mock2); - - $this->assertEquals(10, $mock->getBackoffPeriod(0, $request)); - } - - public function testReturnsFalseWhenNullAndNoNext() - { - $request = new Request('GET', 'http://www.foo.com'); - $s = new TruncatedBackoffStrategy(2); - $this->assertFalse($s->getBackoffPeriod(0, $request)); - } - - public function testHasNext() - { - $a = new TruncatedBackoffStrategy(2); - $b = new TruncatedBackoffStrategy(2); - $a->setNext($b); - $this->assertSame($b, $a->getNext()); - } - - public function testSkipsOtherDecisionsInChainWhenOneReturnsTrue() - { - $a = new CallbackBackoffStrategy(function () { return null; }, true); - $b = new CallbackBackoffStrategy(function () { return true; }, true); - $c = new CallbackBackoffStrategy(function () { return null; }, true); - $d = new CallbackBackoffStrategy(function () { return 10; }, false); - $a->setNext($b); - $b->setNext($c); - $c->setNext($d); - $this->assertEquals(10, $a->getBackoffPeriod(2, new Request('GET', 'http://www.foo.com'))); - } - - public function testReturnsZeroWhenDecisionMakerReturnsTrueButNoFurtherStrategiesAreInTheChain() - { - $a = new CallbackBackoffStrategy(function () { return null; }, true); - $b = new CallbackBackoffStrategy(function () { return true; }, true); - $a->setNext($b); - $this->assertSame(0, $a->getBackoffPeriod(2, new Request('GET', 'http://www.foo.com'))); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffLoggerTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffLoggerTest.php deleted file mode 100644 index a64dd826..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffLoggerTest.php +++ /dev/null @@ -1,110 +0,0 @@ -message = ''; - } - - public function testHasEventList() - { - $this->assertEquals(1, count(BackoffLogger::getSubscribedEvents())); - } - - public function testLogsEvents() - { - list($logPlugin, $request, $response) = $this->getMocks(); - - $response = $this->getMockBuilder('Guzzle\Http\Message\Response') - ->setConstructorArgs(array(503)) - ->setMethods(array('getInfo')) - ->getMock(); - - $response->expects($this->any()) - ->method('getInfo') - ->will($this->returnValue(2)); - - $handle = $this->getMockHandle(); - - $event = new Event(array( - 'request' => $request, - 'response' => $response, - 'retries' => 1, - 'delay' => 3, - 'handle' => $handle - )); - - $logPlugin->onRequestRetry($event); - $this->assertContains( - '] PUT http://www.example.com - 503 Service Unavailable - Retries: 1, Delay: 3, Time: 2, 2, cURL: 30 Foo', - $this->message - ); - } - - public function testCanSetTemplate() - { - $l = new BackoffLogger(new ClosureLogAdapter(function () {})); - $l->setTemplate('foo'); - $t = $this->readAttribute($l, 'formatter'); - $this->assertEquals('foo', $this->readAttribute($t, 'template')); - } - - /** - * @return array - */ - protected function getMocks() - { - $that = $this; - $logger = new ClosureLogAdapter(function ($message) use ($that) { - $that->message .= $message . "\n"; - }); - $logPlugin = new BackoffLogger($logger); - $response = new Response(503); - $request = RequestFactory::getInstance()->create('PUT', 'http://www.example.com', array( - 'Content-Length' => 3, - 'Foo' => 'Bar' - )); - - return array($logPlugin, $request, $response); - } - - /** - * @return CurlHandle - */ - protected function getMockHandle() - { - $handle = $this->getMockBuilder('Guzzle\Http\Curl\CurlHandle') - ->disableOriginalConstructor() - ->setMethods(array('getError', 'getErrorNo', 'getInfo')) - ->getMock(); - - $handle->expects($this->once()) - ->method('getError') - ->will($this->returnValue('Foo')); - - $handle->expects($this->once()) - ->method('getErrorNo') - ->will($this->returnValue(30)); - - $handle->expects($this->any()) - ->method('getInfo') - ->will($this->returnValue(2)); - - return $handle; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffPluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffPluginTest.php deleted file mode 100644 index 496e49eb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/BackoffPluginTest.php +++ /dev/null @@ -1,297 +0,0 @@ -retried = false; - } - - public static function getSubscribedEvents() - { - return array(BackoffPlugin::RETRY_EVENT => 'onRequestRetry'); - } - - public function onRequestRetry(Event $event) - { - $this->retried = $event; - } - - public function testHasEventList() - { - $this->assertEquals(1, count(BackoffPlugin::getAllEvents())); - } - - public function testCreatesDefaultExponentialBackoffPlugin() - { - $plugin = BackoffPlugin::getExponentialBackoff(3, array(204), array(10)); - $this->assertInstanceOf('Guzzle\Plugin\Backoff\BackoffPlugin', $plugin); - $strategy = $this->readAttribute($plugin, 'strategy'); - $this->assertInstanceOf('Guzzle\Plugin\Backoff\TruncatedBackoffStrategy', $strategy); - $this->assertEquals(3, $this->readAttribute($strategy, 'max')); - $strategy = $this->readAttribute($strategy, 'next'); - $this->assertInstanceOf('Guzzle\Plugin\Backoff\HttpBackoffStrategy', $strategy); - $this->assertEquals(array(204 => true), $this->readAttribute($strategy, 'errorCodes')); - $strategy = $this->readAttribute($strategy, 'next'); - $this->assertInstanceOf('Guzzle\Plugin\Backoff\CurlBackoffStrategy', $strategy); - $this->assertEquals(array(10 => true), $this->readAttribute($strategy, 'errorCodes')); - $strategy = $this->readAttribute($strategy, 'next'); - $this->assertInstanceOf('Guzzle\Plugin\Backoff\ExponentialBackoffStrategy', $strategy); - } - - public function testDoesNotRetryUnlessStrategyReturnsNumber() - { - $request = new Request('GET', 'http://www.example.com'); - $request->setState('transfer'); - - $mock = $this->getMockBuilder('Guzzle\Plugin\Backoff\BackoffStrategyInterface') - ->setMethods(array('getBackoffPeriod')) - ->getMockForAbstractClass(); - - $mock->expects($this->once()) - ->method('getBackoffPeriod') - ->will($this->returnValue(false)); - - $plugin = new BackoffPlugin($mock); - $plugin->addSubscriber($this); - $plugin->onRequestSent(new Event(array('request' => $request))); - $this->assertFalse($this->retried); - } - - public function testUpdatesRequestForRetry() - { - $request = new Request('GET', 'http://www.example.com'); - $request->setState('transfer'); - $response = new Response(500); - $handle = $this->getMockBuilder('Guzzle\Http\Curl\CurlHandle')->disableOriginalConstructor()->getMock(); - $e = new CurlException(); - $e->setCurlHandle($handle); - - $plugin = new BackoffPlugin(new ConstantBackoffStrategy(10)); - $plugin->addSubscriber($this); - - $event = new Event(array( - 'request' => $request, - 'response' => $response, - 'exception' => $e - )); - - $plugin->onRequestSent($event); - $this->assertEquals(array( - 'request' => $request, - 'response' => $response, - 'handle' => $handle, - 'retries' => 1, - 'delay' => 10 - ), $this->readAttribute($this->retried, 'context')); - - $plugin->onRequestSent($event); - $this->assertEquals(array( - 'request' => $request, - 'response' => $response, - 'handle' => $handle, - 'retries' => 2, - 'delay' => 10 - ), $this->readAttribute($this->retried, 'context')); - } - - public function testDoesNothingWhenNotRetryingAndPollingRequest() - { - $request = new Request('GET', 'http://www.foo.com'); - $plugin = new BackoffPlugin(new ConstantBackoffStrategy(10)); - $plugin->onRequestPoll(new Event(array('request' => $request))); - } - - public function testRetriesRequests() - { - // Create a script to return several 500 and 503 response codes - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata" - )); - - $plugin = new BackoffPlugin( - new TruncatedBackoffStrategy(3, - new HttpBackoffStrategy(null, - new CurlBackoffStrategy(null, - new ConstantBackoffStrategy(0.05) - ) - ) - ) - ); - - $client = new Client($this->getServer()->getUrl()); - $client->getEventDispatcher()->addSubscriber($plugin); - $request = $client->get(); - $request->send(); - - // Make sure it eventually completed successfully - $this->assertEquals(200, $request->getResponse()->getStatusCode()); - $this->assertEquals('data', $request->getResponse()->getBody(true)); - - // Check that three requests were made to retry this request - $this->assertEquals(3, count($this->getServer()->getReceivedRequests(false))); - $this->assertEquals(2, $request->getParams()->get(BackoffPlugin::RETRY_PARAM)); - } - - /** - * @expectedException \Guzzle\Http\Exception\ServerErrorResponseException - */ - public function testFailsOnTruncation() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n" - )); - - $plugin = new BackoffPlugin( - new TruncatedBackoffStrategy(2, - new HttpBackoffStrategy(null, - new ConstantBackoffStrategy(0.05) - ) - ) - ); - - $client = new Client($this->getServer()->getUrl()); - $client->addSubscriber($plugin); - $client->get()->send(); - } - - public function testRetriesRequestsWhenInParallel() - { - // Create a script to return several 500 and 503 response codes - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata", - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata", - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata", - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata", - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata" - )); - - $plugin = new BackoffPlugin( - new HttpBackoffStrategy(null, - new TruncatedBackoffStrategy(3, - new CurlBackoffStrategy(null, - new ConstantBackoffStrategy(0.1) - ) - ) - ) - ); - $client = new Client($this->getServer()->getUrl()); - $client->getEventDispatcher()->addSubscriber($plugin); - $requests = array(); - for ($i = 0; $i < 5; $i++) { - $requests[] = $client->get(); - } - $client->send($requests); - - $this->assertEquals(15, count($this->getServer()->getReceivedRequests(false))); - } - - /** - * @covers Guzzle\Plugin\Backoff\BackoffPlugin - * @covers Guzzle\Http\Curl\CurlMulti - */ - public function testRetriesPooledRequestsUsingDelayAndPollingEvent() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ndata" - )); - // Need to sleep for some time ensure that the polling works correctly in the observer - $plugin = new BackoffPlugin(new HttpBackoffStrategy(null, - new TruncatedBackoffStrategy(1, - new ConstantBackoffStrategy(0.5)))); - - $client = new Client($this->getServer()->getUrl()); - $client->getEventDispatcher()->addSubscriber($plugin); - $request = $client->get(); - $request->send(); - // Make sure it eventually completed successfully - $this->assertEquals('data', $request->getResponse()->getBody(true)); - // Check that two requests were made to retry this request - $this->assertEquals(2, count($this->getServer()->getReceivedRequests(false))); - } - - public function testSeeksToBeginningOfRequestBodyWhenRetrying() - { - // Create a request with a body - $request = new EntityEnclosingRequest('PUT', 'http://www.example.com'); - $request->setBody('abc'); - // Set the retry time to be something that will be retried always - $request->getParams()->set(BackoffPlugin::DELAY_PARAM, 2); - // Seek to the end of the stream - $request->getBody()->seek(3); - $this->assertEquals('', $request->getBody()->read(1)); - // Create a plugin that does not delay when retrying - $plugin = new BackoffPlugin(new ConstantBackoffStrategy(0)); - $plugin->onRequestPoll($this->getMockEvent($request)); - // Ensure that the stream was seeked to 0 - $this->assertEquals('a', $request->getBody()->read(1)); - } - - public function testDoesNotSeekOnRequestsWithNoBodyWhenRetrying() - { - // Create a request with a body - $request = new EntityEnclosingRequest('PUT', 'http://www.example.com'); - $request->getParams()->set(BackoffPlugin::DELAY_PARAM, 2); - $plugin = new BackoffPlugin(new ConstantBackoffStrategy(0)); - $plugin->onRequestPoll($this->getMockEvent($request)); - } - - protected function getMockEvent(RequestInterface $request) - { - // Create a mock curl multi object - $multi = $this->getMockBuilder('Guzzle\Http\Curl\CurlMulti') - ->setMethods(array('remove', 'add')) - ->getMock(); - - // Create an event that is expected for the Poll event - $event = new Event(array( - 'request' => $request, - 'curl_multi' => $multi - )); - $event->setName(CurlMultiInterface::POLLING_REQUEST); - - return $event; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CallbackBackoffStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CallbackBackoffStrategyTest.php deleted file mode 100644 index c0ce10d5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CallbackBackoffStrategyTest.php +++ /dev/null @@ -1,31 +0,0 @@ -getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $strategy = new CallbackBackoffStrategy(function () { return 10; }, true); - $this->assertTrue($strategy->makesDecision()); - $this->assertEquals(10, $strategy->getBackoffPeriod(0, $request)); - // Ensure it chains correctly when null is returned - $strategy = new CallbackBackoffStrategy(function () { return null; }, false); - $this->assertFalse($strategy->makesDecision()); - $this->assertFalse($strategy->getBackoffPeriod(0, $request)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ConstantBackoffStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ConstantBackoffStrategyTest.php deleted file mode 100644 index 703eb4a2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ConstantBackoffStrategyTest.php +++ /dev/null @@ -1,20 +0,0 @@ -assertFalse($strategy->makesDecision()); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $this->assertEquals(3.5, $strategy->getBackoffPeriod(0, $request)); - $this->assertEquals(3.5, $strategy->getBackoffPeriod(1, $request)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CurlBackoffStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CurlBackoffStrategyTest.php deleted file mode 100644 index 0a5c3e28..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/CurlBackoffStrategyTest.php +++ /dev/null @@ -1,36 +0,0 @@ -assertNotEmpty(CurlBackoffStrategy::getDefaultFailureCodes()); - $strategy = new CurlBackoffStrategy(); - $this->assertTrue($strategy->makesDecision()); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $e = new CurlException(); - $e->setError('foo', CURLE_BAD_CALLING_ORDER); - $this->assertEquals(false, $strategy->getBackoffPeriod(0, $request, null, $e)); - - foreach (CurlBackoffStrategy::getDefaultFailureCodes() as $code) { - $this->assertEquals(0, $strategy->getBackoffPeriod(0, $request, null, $e->setError('foo', $code))); - } - } - - public function testIgnoresNonErrors() - { - $strategy = new CurlBackoffStrategy(); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $this->assertEquals(false, $strategy->getBackoffPeriod(0, $request, new Response(200))); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ExponentialBackoffStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ExponentialBackoffStrategyTest.php deleted file mode 100644 index 09965bcb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ExponentialBackoffStrategyTest.php +++ /dev/null @@ -1,23 +0,0 @@ -assertFalse($strategy->makesDecision()); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $this->assertEquals(1, $strategy->getBackoffPeriod(0, $request)); - $this->assertEquals(2, $strategy->getBackoffPeriod(1, $request)); - $this->assertEquals(4, $strategy->getBackoffPeriod(2, $request)); - $this->assertEquals(8, $strategy->getBackoffPeriod(3, $request)); - $this->assertEquals(16, $strategy->getBackoffPeriod(4, $request)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/HttpBackoffStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/HttpBackoffStrategyTest.php deleted file mode 100644 index ae68a4eb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/HttpBackoffStrategyTest.php +++ /dev/null @@ -1,47 +0,0 @@ -assertNotEmpty(HttpBackoffStrategy::getDefaultFailureCodes()); - $strategy = new HttpBackoffStrategy(); - $this->assertTrue($strategy->makesDecision()); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - - $response = new Response(200); - $this->assertEquals(false, $strategy->getBackoffPeriod(0, $request, $response)); - $response->setStatus(400); - $this->assertEquals(false, $strategy->getBackoffPeriod(0, $request, $response)); - - foreach (HttpBackoffStrategy::getDefaultFailureCodes() as $code) { - $this->assertEquals(0, $strategy->getBackoffPeriod(0, $request, $response->setStatus($code))); - } - } - - public function testAllowsCustomCodes() - { - $strategy = new HttpBackoffStrategy(array(204)); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $response = new Response(204); - $this->assertEquals(0, $strategy->getBackoffPeriod(0, $request, $response)); - $response->setStatus(500); - $this->assertEquals(false, $strategy->getBackoffPeriod(0, $request, $response)); - } - - public function testIgnoresNonErrors() - { - $strategy = new HttpBackoffStrategy(); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $this->assertEquals(false, $strategy->getBackoffPeriod(0, $request)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/LinearBackoffStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/LinearBackoffStrategyTest.php deleted file mode 100644 index b4ce8e4a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/LinearBackoffStrategyTest.php +++ /dev/null @@ -1,21 +0,0 @@ -assertFalse($strategy->makesDecision()); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $this->assertEquals(0, $strategy->getBackoffPeriod(0, $request)); - $this->assertEquals(5, $strategy->getBackoffPeriod(1, $request)); - $this->assertEquals(10, $strategy->getBackoffPeriod(2, $request)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ReasonPhraseBackoffStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ReasonPhraseBackoffStrategyTest.php deleted file mode 100644 index dea5a687..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/ReasonPhraseBackoffStrategyTest.php +++ /dev/null @@ -1,32 +0,0 @@ -assertEmpty(ReasonPhraseBackoffStrategy::getDefaultFailureCodes()); - $strategy = new ReasonPhraseBackoffStrategy(array('Foo', 'Internal Server Error')); - $this->assertTrue($strategy->makesDecision()); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $response = new Response(200); - $this->assertEquals(false, $strategy->getBackoffPeriod(0, $request, $response)); - $response->setStatus(200, 'Foo'); - $this->assertEquals(0, $strategy->getBackoffPeriod(0, $request, $response)); - } - - public function testIgnoresNonErrors() - { - $strategy = new ReasonPhraseBackoffStrategy(); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $this->assertEquals(false, $strategy->getBackoffPeriod(0, $request)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/TruncatedBackoffStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/TruncatedBackoffStrategyTest.php deleted file mode 100644 index 5590dfb1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Backoff/TruncatedBackoffStrategyTest.php +++ /dev/null @@ -1,30 +0,0 @@ -assertTrue($strategy->makesDecision()); - $request = $this->getMock('Guzzle\Http\Message\Request', array(), array(), '', false); - $this->assertFalse($strategy->getBackoffPeriod(0, $request)); - $this->assertFalse($strategy->getBackoffPeriod(1, $request)); - $this->assertFalse($strategy->getBackoffPeriod(2, $request)); - - $response = new Response(500); - $strategy->setNext(new HttpBackoffStrategy(null, new ConstantBackoffStrategy(10))); - $this->assertEquals(10, $strategy->getBackoffPeriod(0, $request, $response)); - $this->assertEquals(10, $strategy->getBackoffPeriod(1, $request, $response)); - $this->assertFalse($strategy->getBackoffPeriod(2, $request, $response)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CachePluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CachePluginTest.php deleted file mode 100644 index 69da60a9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CachePluginTest.php +++ /dev/null @@ -1,441 +0,0 @@ -assertInstanceOf('Guzzle\Plugin\Cache\CacheStorageInterface', $this->readAttribute($plugin, 'storage')); - } - - public function testAddsDefaultCollaborators() - { - $this->assertNotEmpty(CachePlugin::getSubscribedEvents()); - $plugin = new CachePlugin(array( - 'storage' => $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface')->getMockForAbstractClass() - )); - $this->assertInstanceOf('Guzzle\Plugin\Cache\CacheStorageInterface', $this->readAttribute($plugin, 'storage')); - $this->assertInstanceOf( - 'Guzzle\Plugin\Cache\CanCacheStrategyInterface', - $this->readAttribute($plugin, 'canCache') - ); - $this->assertInstanceOf( - 'Guzzle\Plugin\Cache\RevalidationInterface', - $this->readAttribute($plugin, 'revalidation') - ); - } - - public function testAddsCallbackCollaborators() - { - $this->assertNotEmpty(CachePlugin::getSubscribedEvents()); - $plugin = new CachePlugin(array('can_cache' => function () {})); - $this->assertInstanceOf( - 'Guzzle\Plugin\Cache\CallbackCanCacheStrategy', - $this->readAttribute($plugin, 'canCache') - ); - } - - public function testCanPassCacheAsOnlyArgumentToConstructor() - { - $p = new CachePlugin(new DoctrineCacheAdapter(new ArrayCache())); - $p = new CachePlugin(new DefaultCacheStorage(new DoctrineCacheAdapter(new ArrayCache()))); - } - - public function testUsesCreatedCacheStorage() - { - $plugin = new CachePlugin(array( - 'adapter' => $this->getMockBuilder('Guzzle\Cache\CacheAdapterInterface')->getMockForAbstractClass() - )); - $this->assertInstanceOf('Guzzle\Plugin\Cache\CacheStorageInterface', $this->readAttribute($plugin, 'storage')); - } - - public function testUsesProvidedOptions() - { - $can = $this->getMockBuilder('Guzzle\Plugin\Cache\CanCacheStrategyInterface')->getMockForAbstractClass(); - $revalidate = $this->getMockBuilder('Guzzle\Plugin\Cache\RevalidationInterface')->getMockForAbstractClass(); - $plugin = new CachePlugin(array( - 'storage' => $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface')->getMockForAbstractClass(), - 'can_cache' => $can, - 'revalidation' => $revalidate - )); - $this->assertSame($can, $this->readAttribute($plugin, 'canCache')); - $this->assertSame($revalidate, $this->readAttribute($plugin, 'revalidation')); - } - - public function satisfyProvider() - { - $req1 = new Request('GET', 'http://foo.com', array('Cache-Control' => 'no-cache')); - - return array( - // The response is too old to satisfy the request - array(new Request('GET', 'http://foo.com', array('Cache-Control' => 'max-age=20')), new Response(200, array('Age' => 100)), false, false), - // The response cannot satisfy the request because it is stale - array(new Request('GET', 'http://foo.com'), new Response(200, array('Cache-Control' => 'max-age=10', 'Age' => 100)), false, false), - // Allows the expired response to satisfy the request because of the max-stale - array(new Request('GET', 'http://foo.com', array('Cache-Control' => 'max-stale=15')), new Response(200, array('Cache-Control' => 'max-age=90', 'Age' => 100)), true, false), - // Max stale is > than the allowed staleness - array(new Request('GET', 'http://foo.com', array('Cache-Control' => 'max-stale=5')), new Response(200, array('Cache-Control' => 'max-age=90', 'Age' => 100)), false, false), - // Performs cache revalidation - array($req1, new Response(200), true, true), - // Performs revalidation due to ETag on the response and no cache-control on the request - array(new Request('GET', 'http://foo.com'), new Response(200, array( - 'ETag' => 'ABC', - 'Expires' => date('c', strtotime('+1 year')) - )), true, true), - ); - } - - /** - * @dataProvider satisfyProvider - */ - public function testChecksIfResponseCanSatisfyRequest($request, $response, $can, $revalidates) - { - $didRevalidate = false; - $storage = $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface')->getMockForAbstractClass(); - $revalidate = $this->getMockBuilder('Guzzle\Plugin\Cache\DefaultRevalidation') - ->setMethods(array('revalidate')) - ->setConstructorArgs(array($storage)) - ->getMockForAbstractClass(); - - $revalidate->expects($this->any()) - ->method('revalidate') - ->will($this->returnCallback(function () use (&$didRevalidate) { - $didRevalidate = true; - return true; - })); - - $plugin = new CachePlugin(array( - 'storage' => $storage, - 'revalidation' => $revalidate - )); - - $this->assertEquals($can, $plugin->canResponseSatisfyRequest($request, $response)); - $this->assertEquals($didRevalidate, $revalidates); - } - - public function satisfyFailedProvider() - { - return array( - // Neither has stale-if-error - array(new Request('GET', 'http://foo.com', array()), new Response(200, array('Age' => 100)), false), - // Request has stale-if-error - array(new Request('GET', 'http://foo.com', array('Cache-Control' => 'stale-if-error')), new Response(200, array('Age' => 100, 'Cache-Control' => 'max-age=50')), true), - // Request has valid stale-if-error - array(new Request('GET', 'http://foo.com', array('Cache-Control' => 'stale-if-error=50')), new Response(200, array('Age' => 100, 'Cache-Control' => 'max-age=50')), true), - // Request has expired stale-if-error - array(new Request('GET', 'http://foo.com', array('Cache-Control' => 'stale-if-error=20')), new Response(200, array('Age' => 100, 'Cache-Control' => 'max-age=50')), false), - // Response has permanent stale-if-error - array(new Request('GET', 'http://foo.com', array()), new Response(200, array('Age' => 100, 'Cache-Control' => 'max-age=50, stale-if-error', )), true), - // Response has valid stale-if-error - array(new Request('GET', 'http://foo.com', array()), new Response(200, array('Age' => 100, 'Cache-Control' => 'max-age=50, stale-if-error=50')), true), - // Response has expired stale-if-error - array(new Request('GET', 'http://foo.com', array()), new Response(200, array('Age' => 100, 'Cache-Control' => 'max-age=50, stale-if-error=20')), false), - // Request has valid stale-if-error but response does not - array(new Request('GET', 'http://foo.com', array('Cache-Control' => 'stale-if-error=50')), new Response(200, array('Age' => 100, 'Cache-Control' => 'max-age=50, stale-if-error=20')), false), - // Response has valid stale-if-error but request does not - array(new Request('GET', 'http://foo.com', array('Cache-Control' => 'stale-if-error=20')), new Response(200, array('Age' => 100, 'Cache-Control' => 'max-age=50, stale-if-error=50')), false), - ); - } - - /** - * @dataProvider satisfyFailedProvider - */ - public function testChecksIfResponseCanSatisfyFailedRequest($request, $response, $can) - { - $plugin = new CachePlugin(); - - $this->assertEquals($can, $plugin->canResponseSatisfyFailedRequest($request, $response)); - } - - public function testDoesNothingWhenRequestIsNotCacheable() - { - $storage = $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface') - ->setMethods(array('fetch')) - ->getMockForAbstractClass(); - $storage->expects($this->never())->method('fetch'); - - $plugin = new CachePlugin(array( - 'storage' => $storage, - 'can_cache' => new CallbackCanCacheStrategy(function () { return false; }) - )); - - $plugin->onRequestBeforeSend(new Event(array( - 'request' => new Request('GET', 'http://foo.com') - ))); - } - - public function satisfiableProvider() - { - $date = new \DateTime('-10 seconds'); - - return array( - // Fresh response - array(new Response(200, array(), 'foo')), - // Stale response - array(new Response(200, array('Date' => $date->format('c'), 'Cache-Control' => 'max-age=5'), 'foo')) - ); - } - - /** - * @dataProvider satisfiableProvider - */ - public function testInjectsSatisfiableResponses($response) - { - $storage = $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface') - ->setMethods(array('fetch')) - ->getMockForAbstractClass(); - - $storage->expects($this->once())->method('fetch')->will($this->returnValue($response)); - $plugin = new CachePlugin(array('storage' => $storage)); - $request = new Request('GET', 'http://foo.com', array('Cache-Control' => 'max-stale')); - $plugin->onRequestBeforeSend(new Event(array('request' => $request))); - $plugin->onRequestSent(new Event(array('request' => $request, 'response' => $request->getResponse()))); - $this->assertEquals($response->getStatusCode(), $request->getResponse()->getStatusCode()); - $this->assertEquals((string) $response->getBody(), (string) $request->getResponse()->getBody()); - $this->assertTrue($request->getResponse()->hasHeader('Age')); - if ($request->getResponse()->isFresh() === false) { - $this->assertContains('110', (string) $request->getResponse()->getHeader('Warning')); - } - $this->assertSame( - sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION), - (string) $request->getHeader('Via') - ); - $this->assertSame( - sprintf('%s GuzzleCache/%s',$request->getProtocolVersion(), Version::VERSION), - (string) $request->getResponse()->getHeader('Via') - ); - $this->assertTrue($request->getParams()->get('cache.lookup')); - $this->assertTrue($request->getParams()->get('cache.hit')); - $this->assertTrue($request->getResponse()->hasHeader('X-Cache-Lookup')); - $this->assertTrue($request->getResponse()->hasHeader('X-Cache')); - $this->assertEquals('HIT from GuzzleCache', (string) $request->getResponse()->getHeader('X-Cache')); - $this->assertEquals('HIT from GuzzleCache', (string) $request->getResponse()->getHeader('X-Cache-Lookup')); - } - - public function satisfiableOnErrorProvider() - { - $date = new \DateTime('-10 seconds'); - return array( - array( - new Response(200, array( - 'Date' => $date->format('c'), - 'Cache-Control' => 'max-age=5, stale-if-error' - ), 'foo'), - ) - ); - } - - /** - * @dataProvider satisfiableOnErrorProvider - */ - public function testInjectsSatisfiableResponsesOnError($cacheResponse) - { - $storage = $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface') - ->setMethods(array('fetch')) - ->getMockForAbstractClass(); - $storage->expects($this->exactly(2))->method('fetch')->will($this->returnValue($cacheResponse)); - $plugin = new CachePlugin(array('storage' => $storage)); - $request = new Request('GET', 'http://foo.com', array('Cache-Control' => 'max-stale')); - $plugin->onRequestBeforeSend(new Event(array('request' => $request))); - $plugin->onRequestError( - $event = new Event(array( - 'request' => $request, - 'response' => $request->getResponse(), - )) - ); - $response = $event['response']; - $this->assertEquals($cacheResponse->getStatusCode(), $response->getStatusCode()); - $this->assertEquals((string) $cacheResponse->getBody(), (string) $response->getBody()); - $this->assertTrue($response->hasHeader('Age')); - if ($response->isFresh() === false) { - $this->assertContains('110', (string) $response->getHeader('Warning')); - } - $this->assertSame(sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION), (string) $request->getHeader('Via')); - $this->assertSame(sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION), (string) $response->getHeader('Via')); - $this->assertTrue($request->getParams()->get('cache.lookup')); - $this->assertSame('error', $request->getParams()->get('cache.hit')); - $this->assertTrue($response->hasHeader('X-Cache-Lookup')); - $this->assertTrue($response->hasHeader('X-Cache')); - $this->assertEquals('HIT from GuzzleCache', (string) $response->getHeader('X-Cache-Lookup')); - $this->assertEquals('HIT_ERROR from GuzzleCache', (string) $response->getHeader('X-Cache')); - } - - /** - * @dataProvider satisfiableOnErrorProvider - */ - public function testInjectsSatisfiableResponsesOnException($cacheResponse) - { - $storage = $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface') - ->setMethods(array('fetch')) - ->getMockForAbstractClass(); - $storage->expects($this->exactly(2))->method('fetch')->will($this->returnValue($cacheResponse)); - $plugin = new CachePlugin(array('storage' => $storage)); - $request = new Request('GET', 'http://foo.com', array('Cache-Control' => 'max-stale')); - $plugin->onRequestBeforeSend(new Event(array( - 'request' => $request - ))); - $plugin->onRequestException( - new Event(array( - 'request' => $request, - 'response' => $request->getResponse(), - 'exception' => $this->getMock('Guzzle\Http\Exception\CurlException'), - )) - ); - $plugin->onRequestSent( - new Event(array( - 'request' => $request, - 'response' => $response = $request->getResponse(), - )) - ); - $this->assertEquals($cacheResponse->getStatusCode(), $response->getStatusCode()); - $this->assertEquals((string) $cacheResponse->getBody(), (string) $response->getBody()); - $this->assertTrue($response->hasHeader('Age')); - if ($response->isFresh() === false) { - $this->assertContains('110', (string) $response->getHeader('Warning')); - } - $this->assertSame(sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION), (string) $request->getHeader('Via')); - $this->assertSame(sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION), (string) $response->getHeader('Via')); - $this->assertTrue($request->getParams()->get('cache.lookup')); - $this->assertSame('error', $request->getParams()->get('cache.hit')); - $this->assertTrue($response->hasHeader('X-Cache-Lookup')); - $this->assertTrue($response->hasHeader('X-Cache')); - $this->assertEquals('HIT from GuzzleCache', (string) $response->getHeader('X-Cache-Lookup')); - $this->assertEquals('HIT_ERROR from GuzzleCache', (string) $response->getHeader('X-Cache')); - } - - public function unsatisfiableOnErrorProvider() - { - $date = new \DateTime('-10 seconds'); - - return array( - // no-store on request - array( - false, - array('Cache-Control' => 'no-store'), - new Response(200, array('Date' => $date->format('D, d M Y H:i:s T'), 'Cache-Control' => 'max-age=5, stale-if-error'), 'foo'), - ), - // request expired - array( - true, - array('Cache-Control' => 'stale-if-error=4'), - new Response(200, array('Date' => $date->format('D, d M Y H:i:s T'), 'Cache-Control' => 'max-age=5, stale-if-error'), 'foo'), - ), - // response expired - array( - true, - array('Cache-Control' => 'stale-if-error'), - new Response(200, array('Date' => $date->format('D, d M Y H:i:s T'), 'Cache-Control' => 'max-age=5, stale-if-error=4'), 'foo'), - ), - ); - } - - /** - * @dataProvider unsatisfiableOnErrorProvider - */ - public function testDoesNotInjectUnsatisfiableResponsesOnError($requestCanCache, $requestHeaders, $cacheResponse) - { - $storage = $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface') - ->setMethods(array('fetch')) - ->getMockForAbstractClass(); - $storage->expects($this->exactly($requestCanCache ? 2 : 0))->method('fetch')->will($this->returnValue($cacheResponse)); - $plugin = new CachePlugin(array('storage' => $storage)); - $request = new Request('GET', 'http://foo.com', $requestHeaders); - $plugin->onRequestBeforeSend(new Event(array( - 'request' => $request - ))); - $plugin->onRequestError( - $event = new Event(array( - 'request' => $request, - 'response' => $response = $request->getResponse(), - )) - ); - - $this->assertSame($response, $event['response']); - } - - /** - * @dataProvider unsatisfiableOnErrorProvider - */ - public function testDoesNotInjectUnsatisfiableResponsesOnException($requestCanCache, $requestHeaders, $responseParts) - { - $storage = $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface') - ->setMethods(array('fetch')) - ->getMockForAbstractClass(); - $storage->expects($this->exactly($requestCanCache ? 2 : 0))->method('fetch')->will($this->returnValue($responseParts)); - $plugin = new CachePlugin(array('storage' => $storage)); - $request = new Request('GET', 'http://foo.com', $requestHeaders); - $plugin->onRequestBeforeSend(new Event(array( - 'request' => $request - ))); - $plugin->onRequestException( - $event = new Event(array( - 'request' => $request, - 'response' => $response = $request->getResponse(), - 'exception' => $this->getMock('Guzzle\Http\Exception\CurlException'), - )) - ); - - $this->assertSame($response, $request->getResponse()); - } - - public function testCachesResponsesWhenCacheable() - { - $cache = new ArrayCache(); - $plugin = new CachePlugin($cache); - - $request = new Request('GET', 'http://foo.com'); - $response = new Response(200, array(), 'Foo'); - $plugin->onRequestBeforeSend(new Event(array( - 'request' => $request - ))); - $plugin->onRequestSent(new Event(array( - 'request' => $request, - 'response' => $response - ))); - $data = $this->readAttribute($cache, 'data'); - $this->assertNotEmpty($data); - } - - public function testPurgesRequests() - { - $storage = $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface') - ->setMethods(array('purge')) - ->getMockForAbstractClass(); - $storage->expects($this->atLeastOnce())->method('purge'); - $plugin = new CachePlugin(array('storage' => $storage)); - $request = new Request('GET', 'http://foo.com', array('X-Foo' => 'Bar')); - $plugin->purge($request); - } - - public function testAutoPurgesRequests() - { - $storage = $this->getMockBuilder('Guzzle\Plugin\Cache\CacheStorageInterface') - ->setMethods(array('purge')) - ->getMockForAbstractClass(); - $storage->expects($this->atLeastOnce())->method('purge'); - $plugin = new CachePlugin(array('storage' => $storage, 'auto_purge' => true)); - $client = new Client(); - $request = $client->put('http://foo.com', array('X-Foo' => 'Bar')); - $request->addSubscriber($plugin); - $request->setResponse(new Response(200), true); - $request->send(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CallbackCanCacheStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CallbackCanCacheStrategyTest.php deleted file mode 100644 index f3d9bafe..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/CallbackCanCacheStrategyTest.php +++ /dev/null @@ -1,72 +0,0 @@ -assertTrue($c->canCacheRequest(new Request('DELETE', 'http://www.foo.com'))); - } - - /** - * The following is a bit of an integration test to ensure that the CachePlugin honors a - * custom can cache strategy. - */ - public function testIntegrationWithCachePlugin() - { - $c = new CallbackCanCacheStrategy( - function ($request) { return true; }, - function ($response) { return true; } - ); - - // Make a request and response that have no business being cached - $request = new Request('DELETE', 'http://www.foo.com'); - $response = Response::fromMessage( - "HTTP/1.1 200 OK\r\n" - . "Expires: Mon, 26 Jul 1997 05:00:00 GMT\r\n" - . "Last-Modified: Wed, 09 Jan 2013 08:48:53 GMT\r\n" - . "Content-Length: 2\r\n" - . "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\n\r\n" - . "hi" - ); - - $this->assertTrue($c->canCacheRequest($request)); - $this->assertTrue($c->canCacheResponse($response)); - - $s = $this->getMockBuilder('Guzzle\Plugin\Cache\DefaultCacheStorage') - ->setConstructorArgs(array(new DoctrineCacheAdapter(new ArrayCache()))) - ->setMethods(array('fetch')) - ->getMockForAbstractClass(); - - $s->expects($this->once()) - ->method('fetch') - ->will($this->returnValue($response)); - - $plugin = new CachePlugin(array('can_cache' => $c, 'storage' => $s)); - $plugin->onRequestBeforeSend(new Event(array('request' => $request))); - - $this->assertEquals(200, $request->getResponse()->getStatusCode()); - $this->assertEquals('hi', $request->getResponse()->getBody(true)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCacheStorageTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCacheStorageTest.php deleted file mode 100644 index 701a0155..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCacheStorageTest.php +++ /dev/null @@ -1,193 +0,0 @@ - 'application/json')); - $response = new Response(200, array( - 'Content-Type' => 'application/json', - 'Connection' => 'close', - 'X-Foo' => 'Bar', - 'Vary' => 'Accept' - ), 'test'); - $s->cache($request, $response); - $data = $this->readAttribute($a, 'data'); - - return array( - 'cache' => $a, - 'adapter' => $c, - 'storage' => $s, - 'request' => $request, - 'response' => $response, - 'serialized' => end($data) - ); - } - - public function testReturnsNullForCacheMiss() - { - $cache = $this->getCache(); - $this->assertNull($cache['storage']->fetch(new Request('GET', 'http://test.com'))); - } - - public function testCachesRequests() - { - $cache = $this->getCache(); - $foundRequest = $foundBody = $bodyKey = false; - foreach ($this->readAttribute($cache['cache'], 'data') as $key => $v) { - if (strpos($v, 'foo.com')) { - $foundRequest = true; - $data = unserialize($v); - $bodyKey = $data[0][3]; - $this->assertInternalType('integer', $data[0][4]); - $this->assertFalse(isset($data[0][0]['connection'])); - $this->assertEquals('foo.com', $data[0][0]['host']); - } elseif ($v == 'test') { - $foundBody = $key; - } - } - $this->assertContains($bodyKey, $foundBody); - $this->assertTrue($foundRequest); - } - - public function testFetchesResponse() - { - $cache = $this->getCache(); - $response = $cache['storage']->fetch($cache['request']); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertFalse($response->hasHeader('Connection')); - $this->assertEquals('Bar', (string) $response->getHeader('X-Foo')); - $this->assertEquals('test', (string) $response->getBody()); - $this->assertTrue(in_array($cache['serialized'], $this->readAttribute($cache['cache'], 'data'))); - } - - public function testDeletesRequestItemsAndBody() - { - $cache = $this->getCache(); - $cache['storage']->delete($cache['request']); - $this->assertFalse(in_array('test', $this->readAttribute($cache['cache'], 'data'))); - $this->assertFalse(in_array($cache['serialized'], $this->readAttribute($cache['cache'], 'data'))); - } - - public function testCachesMultipleRequestsWithVary() - { - $cache = $this->getCache(); - $cache['request']->setHeader('Accept', 'application/xml'); - $response = $cache['response']->setHeader('Content-Type', 'application/xml'); - $response->setBody('123'); - $cache['storage']->cache($cache['request'], $response); - $data = $this->readAttribute($cache['cache'], 'data'); - foreach ($data as $v) { - if (strpos($v, 'foo.com')) { - $u = unserialize($v); - $this->assertEquals(2, count($u)); - $this->assertEquals($u[0][0]['accept'], 'application/xml'); - $this->assertEquals($u[0][1]['content-type'], 'application/xml'); - $this->assertEquals($u[1][0]['accept'], 'application/json'); - $this->assertEquals($u[1][1]['content-type'], 'application/json'); - $this->assertNotSame($u[0][3], $u[1][3]); - break; - } - } - } - - public function testPurgeRemovesAllMethodCaches() - { - $cache = $this->getCache(); - foreach (array('HEAD', 'POST', 'PUT', 'DELETE') as $method) { - $request = RequestFactory::getInstance()->cloneRequestWithMethod($cache['request'], $method); - $cache['storage']->cache($request, $cache['response']); - } - $cache['storage']->purge('http://foo.com'); - $this->assertFalse(in_array('test', $this->readAttribute($cache['cache'], 'data'))); - $this->assertFalse(in_array($cache['serialized'], $this->readAttribute($cache['cache'], 'data'))); - $this->assertEquals( - array('DoctrineNamespaceCacheKey[]'), - array_keys($this->readAttribute($cache['cache'], 'data')) - ); - } - - public function testRemovesExpiredResponses() - { - $cache = $this->getCache(); - $request = new Request('GET', 'http://xyz.com'); - $response = new Response(200, array('Age' => 1000, 'Cache-Control' => 'max-age=-10000')); - $cache['storage']->cache($request, $response); - $this->assertNull($cache['storage']->fetch($request)); - $data = $this->readAttribute($cache['cache'], 'data'); - $this->assertFalse(in_array('xyz.com', $data)); - $this->assertTrue(in_array($cache['serialized'], $data)); - } - - public function testUsesVaryToDetermineResult() - { - $cache = $this->getCache(); - $this->assertInstanceOf('Guzzle\Http\Message\Response', $cache['storage']->fetch($cache['request'])); - $request = new Request('GET', 'http://foo.com', array('Accept' => 'application/xml')); - $this->assertNull($cache['storage']->fetch($request)); - } - - public function testEnsuresResponseIsStillPresent() - { - $cache = $this->getCache(); - $data = $this->readAttribute($cache['cache'], 'data'); - $key = array_search('test', $data); - $cache['cache']->delete(substr($key, 1, -4)); - $this->assertNull($cache['storage']->fetch($cache['request'])); - } - - public function staleProvider() - { - return array( - array( - new Request('GET', 'http://foo.com', array('Accept' => 'foo')), - new Response(200, array('Cache-Control' => 'stale-if-error=100', 'Vary' => 'Accept')) - ), - array( - new Request('GET', 'http://foo.com', array('Accept' => 'foo')), - new Response(200, array('Cache-Control' => 'stale-if-error', 'Vary' => 'Accept')) - ) - ); - } - - /** - * @dataProvider staleProvider - */ - public function testUsesStaleTimeDirectiveForTtd($request, $response) - { - $cache = $this->getCache(); - $cache['storage']->cache($request, $response); - $data = $this->readAttribute($cache['cache'], 'data'); - foreach ($data as $v) { - if (strpos($v, 'foo.com')) { - $u = unserialize($v); - $this->assertGreaterThan($u[1][4], $u[0][4]); - break; - } - } - } - - public function testCanFilterCacheKeys() - { - $cache = $this->getCache(); - $cache['request']->getQuery()->set('auth', 'foo'); - $this->assertNull($cache['storage']->fetch($cache['request'])); - $cache['request']->getParams()->set('cache.key_filter', 'auth'); - $this->assertNotNull($cache['storage']->fetch($cache['request'])); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCanCacheStrategyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCanCacheStrategyTest.php deleted file mode 100644 index de4d182a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultCanCacheStrategyTest.php +++ /dev/null @@ -1,40 +0,0 @@ -assertTrue($strategy->canCacheRequest($request)); - } - - public function testDoesNotCacheNoStore() - { - $strategy = new DefaultCanCacheStrategy(); - $request = new Request('GET', 'http://foo.com', array('cache-control' => 'no-store')); - $this->assertFalse($strategy->canCacheRequest($request)); - } - - public function testCanCacheResponse() - { - $response = $this->getMockBuilder('Guzzle\Http\Message\Response') - ->setMethods(array('canCache')) - ->setConstructorArgs(array(200)) - ->getMock(); - $response->expects($this->once()) - ->method('canCache') - ->will($this->returnValue(true)); - $strategy = new DefaultCanCacheStrategy(); - $this->assertTrue($strategy->canCacheResponse($response)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultRevalidationTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultRevalidationTest.php deleted file mode 100644 index 0699cb26..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DefaultRevalidationTest.php +++ /dev/null @@ -1,248 +0,0 @@ -getHttpDate('-100 hours') . "\r\nContent-Length: 4\r\n\r\nData", - "HTTP/1.1 304 NOT MODIFIED\r\nCache-Control: max-age=2000000\r\nContent-Length: 0\r\n\r\n", - ), - // Forces revalidation that overwrites what is in cache - array( - false, - "\r\n", - "HTTP/1.1 200 OK\r\nCache-Control: must-revalidate, no-cache\r\nDate: " . $this->getHttpDate('-10 hours') . "\r\nContent-Length: 4\r\n\r\nData", - "HTTP/1.1 200 OK\r\nContent-Length: 5\r\n\r\nDatas", - "HTTP/1.1 200 OK\r\nContent-Length: 5\r\nDate: " . $this->getHttpDate('now') . "\r\n\r\nDatas" - ), - // Throws an exception during revalidation - array( - false, - "\r\n", - "HTTP/1.1 200 OK\r\nCache-Control: no-cache\r\nDate: " . $this->getHttpDate('-3 hours') . "\r\n\r\nData", - "HTTP/1.1 500 INTERNAL SERVER ERROR\r\nContent-Length: 0\r\n\r\n" - ), - // ETag mismatch - array( - false, - "\r\n", - "HTTP/1.1 200 OK\r\nCache-Control: no-cache\r\nETag: \"123\"\r\nDate: " . $this->getHttpDate('-10 hours') . "\r\n\r\nData", - "HTTP/1.1 304 NOT MODIFIED\r\nETag: \"123456\"\r\n\r\n", - ), - ); - } - - /** - * @dataProvider cacheRevalidationDataProvider - */ - public function testRevalidatesResponsesAgainstOriginServer($can, $request, $response, $validate = null, $result = null) - { - // Send some responses to the test server for cache validation - $server = $this->getServer(); - $server->flush(); - - if ($validate) { - $server->enqueue($validate); - } - - $request = RequestFactory::getInstance()->fromMessage("GET / HTTP/1.1\r\nHost: 127.0.0.1:" . $server->getPort() . "\r\n" . $request); - $response = Response::fromMessage($response); - $request->setClient(new Client()); - - $plugin = new CachePlugin(new DoctrineCacheAdapter(new ArrayCache())); - $this->assertEquals( - $can, - $plugin->canResponseSatisfyRequest($request, $response), - '-> ' . $request . "\n" . $response - ); - - if ($result) { - $result = Response::fromMessage($result); - $result->removeHeader('Date'); - $request->getResponse()->removeHeader('Date'); - $request->getResponse()->removeHeader('Connection'); - // Get rid of dates - $this->assertEquals((string) $result, (string) $request->getResponse()); - } - - if ($validate) { - $this->assertEquals(1, count($server->getReceivedRequests())); - } - } - - public function testHandles404RevalidationResponses() - { - $request = new Request('GET', 'http://foo.com'); - $request->setClient(new Client()); - $badResponse = new Response(404, array(), 'Oh no!'); - $badRequest = clone $request; - $badRequest->setResponse($badResponse, true); - $response = new Response(200, array(), 'foo'); - - // Seed the cache - $s = new DefaultCacheStorage(new DoctrineCacheAdapter(new ArrayCache())); - $s->cache($request, $response); - $this->assertNotNull($s->fetch($request)); - - $rev = $this->getMockBuilder('Guzzle\Plugin\Cache\DefaultRevalidation') - ->setConstructorArgs(array($s)) - ->setMethods(array('createRevalidationRequest')) - ->getMock(); - - $rev->expects($this->once()) - ->method('createRevalidationRequest') - ->will($this->returnValue($badRequest)); - - try { - $rev->revalidate($request, $response); - $this->fail('Should have thrown an exception'); - } catch (BadResponseException $e) { - $this->assertSame($badResponse, $e->getResponse()); - $this->assertNull($s->fetch($request)); - } - } - - public function testCanRevalidateWithPlugin() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\n" . - "Date: Mon, 12 Nov 2012 03:06:37 GMT\r\n" . - "Cache-Control: private, s-maxage=0, max-age=0, must-revalidate\r\n" . - "Last-Modified: Mon, 12 Nov 2012 02:53:38 GMT\r\n" . - "Content-Length: 2\r\n\r\nhi", - "HTTP/1.0 304 Not Modified\r\n" . - "Date: Mon, 12 Nov 2012 03:06:38 GMT\r\n" . - "Content-Type: text/html; charset=UTF-8\r\n" . - "Last-Modified: Mon, 12 Nov 2012 02:53:38 GMT\r\n" . - "Age: 6302\r\n\r\n", - "HTTP/1.0 304 Not Modified\r\n" . - "Date: Mon, 12 Nov 2012 03:06:38 GMT\r\n" . - "Content-Type: text/html; charset=UTF-8\r\n" . - "Last-Modified: Mon, 12 Nov 2012 02:53:38 GMT\r\n" . - "Age: 6302\r\n\r\n", - )); - $client = new Client($this->getServer()->getUrl()); - $client->addSubscriber(new CachePlugin()); - $this->assertEquals(200, $client->get()->send()->getStatusCode()); - $this->assertEquals(200, $client->get()->send()->getStatusCode()); - $this->assertEquals(200, $client->get()->send()->getStatusCode()); - $this->assertEquals(3, count($this->getServer()->getReceivedRequests())); - } - - public function testCanHandleRevalidationFailures() - { - $client = new Client($this->getServer()->getUrl()); - $lm = gmdate('c', time() - 60); - $mock = new MockPlugin(array( - new Response(200, array( - 'Date' => $lm, - 'Cache-Control' => 'max-age=100, must-revalidate, stale-if-error=9999', - 'Last-Modified' => $lm, - 'Content-Length' => 2 - ), 'hi'), - new CurlException('Bleh'), - new CurlException('Bleh') - )); - $client->addSubscriber(new CachePlugin()); - $client->addSubscriber($mock); - $client->get()->send(); - $response = $client->get()->send(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertEquals('hi', $response->getBody(true)); - $this->assertEquals(3, count($mock->getReceivedRequests())); - $this->assertEquals(0, count($mock->getQueue())); - } - - public function testCanHandleStaleIfErrorWhenRevalidating() - { - $lm = gmdate('c', time() - 60); - $mock = new MockPlugin(array( - new Response(200, array( - 'Date' => $lm, - 'Cache-Control' => 'must-revalidate, max-age=0, stale-if-error=1200', - 'Last-Modified' => $lm, - 'Content-Length' => 2 - ), 'hi'), - new CurlException('Oh no!'), - new CurlException('Oh no!') - )); - $cache = new CachePlugin(); - $client = new Client('http://www.example.com'); - $client->addSubscriber($cache); - $client->addSubscriber($mock); - $this->assertEquals(200, $client->get()->send()->getStatusCode()); - $response = $client->get()->send(); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertCount(0, $mock); - $this->assertEquals('HIT from GuzzleCache', (string) $response->getHeader('X-Cache-Lookup')); - $this->assertEquals('HIT_ERROR from GuzzleCache', (string) $response->getHeader('X-Cache')); - } - - /** - * @group issue-437 - */ - public function testDoesNotTouchClosureListeners() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\n" . - "Date: Mon, 12 Nov 2012 03:06:37 GMT\r\n" . - "Cache-Control: private, s-maxage=0, max-age=0, must-revalidate\r\n" . - "Last-Modified: Mon, 12 Nov 2012 02:53:38 GMT\r\n" . - "Content-Length: 2\r\n\r\nhi", - "HTTP/1.0 304 Not Modified\r\n" . - "Date: Mon, 12 Nov 2012 03:06:38 GMT\r\n" . - "Content-Type: text/html; charset=UTF-8\r\n" . - "Last-Modified: Mon, 12 Nov 2012 02:53:38 GMT\r\n" . - "Age: 6302\r\n\r\n", - "HTTP/1.0 304 Not Modified\r\n" . - "Date: Mon, 12 Nov 2012 03:06:38 GMT\r\n" . - "Content-Type: text/html; charset=UTF-8\r\n" . - "Last-Modified: Mon, 12 Nov 2012 02:53:38 GMT\r\n" . - "Age: 6302\r\n\r\n", - )); - $client = new Client($this->getServer()->getUrl()); - $client->addSubscriber(new CachePlugin()); - $client->getEventDispatcher()->addListener('command.after_send', function(){}); - $this->assertEquals(200, $client->get()->send()->getStatusCode()); - $this->assertEquals(200, $client->get()->send()->getStatusCode()); - $this->assertEquals(200, $client->get()->send()->getStatusCode()); - } - -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DenyRevalidationTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DenyRevalidationTest.php deleted file mode 100644 index 9af80f25..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/DenyRevalidationTest.php +++ /dev/null @@ -1,19 +0,0 @@ -assertFalse($deny->revalidate(new Request('GET', 'http://foo.com'), new Response(200))); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/SkipRevalidationTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/SkipRevalidationTest.php deleted file mode 100644 index 4bcc04bf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cache/SkipRevalidationTest.php +++ /dev/null @@ -1,19 +0,0 @@ -assertTrue($skip->revalidate(new Request('GET', 'http://foo.com'), new Response(200))); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/ArrayCookieJarTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/ArrayCookieJarTest.php deleted file mode 100644 index 5d0f668a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/ArrayCookieJarTest.php +++ /dev/null @@ -1,385 +0,0 @@ -jar = new ArrayCookieJar(); - } - - protected function getTestCookies() - { - return array( - new Cookie(array('name' => 'foo', 'value' => 'bar', 'domain' => 'foo.com', 'path' => '/', 'discard' => true)), - new Cookie(array('name' => 'test', 'value' => '123', 'domain' => 'baz.com', 'path' => '/foo', 'expires' => 2)), - new Cookie(array('name' => 'you', 'value' => '123', 'domain' => 'bar.com', 'path' => '/boo', 'expires' => time() + 1000)) - ); - } - - /** - * Provides test data for cookie cookieJar retrieval - */ - public function getCookiesDataProvider() - { - return array( - array(array('foo', 'baz', 'test', 'muppet', 'googoo'), '', '', '', false), - array(array('foo', 'baz', 'muppet', 'googoo'), '', '', '', true), - array(array('googoo'), 'www.example.com', '', '', false), - array(array('muppet', 'googoo'), 'test.y.example.com', '', '', false), - array(array('foo', 'baz'), 'example.com', '', '', false), - array(array('muppet'), 'x.y.example.com', '/acme/', '', false), - array(array('muppet'), 'x.y.example.com', '/acme/test/', '', false), - array(array('googoo'), 'x.y.example.com', '/test/acme/test/', '', false), - array(array('foo', 'baz'), 'example.com', '', '', false), - array(array('baz'), 'example.com', '', 'baz', false), - ); - } - - public function testStoresAndRetrievesCookies() - { - $cookies = $this->getTestCookies(); - foreach ($cookies as $cookie) { - $this->assertTrue($this->jar->add($cookie)); - } - - $this->assertEquals(3, count($this->jar)); - $this->assertEquals(3, count($this->jar->getIterator())); - $this->assertEquals($cookies, $this->jar->all(null, null, null, false, false)); - } - - public function testRemovesExpiredCookies() - { - $cookies = $this->getTestCookies(); - foreach ($this->getTestCookies() as $cookie) { - $this->jar->add($cookie); - } - $this->jar->removeExpired(); - $this->assertEquals(array($cookies[0], $cookies[2]), $this->jar->all()); - } - - public function testRemovesTemporaryCookies() - { - $cookies = $this->getTestCookies(); - foreach ($this->getTestCookies() as $cookie) { - $this->jar->add($cookie); - } - $this->jar->removeTemporary(); - $this->assertEquals(array($cookies[2]), $this->jar->all()); - } - - public function testIsSerializable() - { - $this->assertEquals('[]', $this->jar->serialize()); - $this->jar->unserialize('[]'); - $this->assertEquals(array(), $this->jar->all()); - - $cookies = $this->getTestCookies(); - foreach ($this->getTestCookies() as $cookie) { - $this->jar->add($cookie); - } - - // Remove discard and expired cookies - $serialized = $this->jar->serialize(); - $data = json_decode($serialized, true); - $this->assertEquals(1, count($data)); - - $a = new ArrayCookieJar(); - $a->unserialize($serialized); - $this->assertEquals(1, count($a)); - } - - public function testRemovesSelectively() - { - $cookies = $this->getTestCookies(); - foreach ($this->getTestCookies() as $cookie) { - $this->jar->add($cookie); - } - - // Remove foo.com cookies - $this->jar->remove('foo.com'); - $this->assertEquals(2, count($this->jar)); - // Try again, removing no further cookies - $this->jar->remove('foo.com'); - $this->assertEquals(2, count($this->jar)); - - // Remove bar.com cookies with path of /boo - $this->jar->remove('bar.com', '/boo'); - $this->assertEquals(1, count($this->jar)); - - // Remove cookie by name - $this->jar->remove(null, null, 'test'); - $this->assertEquals(0, count($this->jar)); - } - - public function testDoesNotAddIncompleteCookies() - { - $this->assertEquals(false, $this->jar->add(new Cookie())); - $this->assertFalse($this->jar->add(new Cookie(array( - 'name' => 'foo' - )))); - $this->assertFalse($this->jar->add(new Cookie(array( - 'name' => false - )))); - $this->assertFalse($this->jar->add(new Cookie(array( - 'name' => true - )))); - $this->assertFalse($this->jar->add(new Cookie(array( - 'name' => 'foo', - 'domain' => 'foo.com' - )))); - } - - public function testDoesAddValidCookies() - { - $this->assertTrue($this->jar->add(new Cookie(array( - 'name' => 'foo', - 'domain' => 'foo.com', - 'value' => 0 - )))); - $this->assertTrue($this->jar->add(new Cookie(array( - 'name' => 'foo', - 'domain' => 'foo.com', - 'value' => 0.0 - )))); - $this->assertTrue($this->jar->add(new Cookie(array( - 'name' => 'foo', - 'domain' => 'foo.com', - 'value' => '0' - )))); - } - - public function testOverwritesCookiesThatAreOlderOrDiscardable() - { - $t = time() + 1000; - $data = array( - 'name' => 'foo', - 'value' => 'bar', - 'domain' => '.example.com', - 'path' => '/', - 'max_age' => '86400', - 'port' => array(80, 8080), - 'version' => '1', - 'secure' => true, - 'discard' => true, - 'expires' => $t - ); - - // Make sure that the discard cookie is overridden with the non-discard - $this->assertTrue($this->jar->add(new Cookie($data))); - - unset($data['discard']); - $this->assertTrue($this->jar->add(new Cookie($data))); - $this->assertEquals(1, count($this->jar)); - - $c = $this->jar->all(); - $this->assertEquals(false, $c[0]->getDiscard()); - - // Make sure it doesn't duplicate the cookie - $this->jar->add(new Cookie($data)); - $this->assertEquals(1, count($this->jar)); - - // Make sure the more future-ful expiration date supersede the other - $data['expires'] = time() + 2000; - $this->assertTrue($this->jar->add(new Cookie($data))); - $this->assertEquals(1, count($this->jar)); - $c = $this->jar->all(); - $this->assertNotEquals($t, $c[0]->getExpires()); - } - - public function testOverwritesCookiesThatHaveChanged() - { - $t = time() + 1000; - $data = array( - 'name' => 'foo', - 'value' => 'bar', - 'domain' => '.example.com', - 'path' => '/', - 'max_age' => '86400', - 'port' => array(80, 8080), - 'version' => '1', - 'secure' => true, - 'discard' => true, - 'expires' => $t - ); - - // Make sure that the discard cookie is overridden with the non-discard - $this->assertTrue($this->jar->add(new Cookie($data))); - - $data['value'] = 'boo'; - $this->assertTrue($this->jar->add(new Cookie($data))); - $this->assertEquals(1, count($this->jar)); - - // Changing the value plus a parameter also must overwrite the existing one - $data['value'] = 'zoo'; - $data['secure'] = false; - $this->assertTrue($this->jar->add(new Cookie($data))); - $this->assertEquals(1, count($this->jar)); - - $c = $this->jar->all(); - $this->assertEquals('zoo', $c[0]->getValue()); - } - - public function testAddsCookiesFromResponseWithNoRequest() - { - $response = new Response(200, array( - 'Set-Cookie' => array( - "fpc=d=.Hm.yh4.1XmJWjJfs4orLQzKzPImxklQoxXSHOZATHUSEFciRueW_7704iYUtsXNEXq0M92Px2glMdWypmJ7HIQl6XIUvrZimWjQ3vIdeuRbI.FNQMAfcxu_XN1zSx7l.AcPdKL6guHc2V7hIQFhnjRW0rxm2oHY1P4bGQxFNz7f.tHm12ZD3DbdMDiDy7TBXsuP4DM-&v=2; expires=Fri, 02-Mar-2019 02:17:40 GMT; path=/; domain=127.0.0.1", - "FPCK3=AgBNbvoQAGpGEABZLRAAbFsQAF1tEABkDhAAeO0=; expires=Sat, 02-Apr-2019 02:17:40 GMT; path=/; domain=127.0.0.1", - "CH=deleted; expires=Wed, 03-Mar-2010 02:17:39 GMT; path=/; domain=127.0.0.1", - "CH=AgBNbvoQAAEcEAApuhAAMJcQADQvEAAvGxAALe0QAD6uEAATwhAAC1AQAC8t; expires=Sat, 02-Apr-2019 02:17:40 GMT; path=/; domain=127.0.0.1" - ) - )); - - $this->jar->addCookiesFromResponse($response); - $this->assertEquals(3, count($this->jar)); - $this->assertEquals(1, count($this->jar->all(null, null, 'fpc'))); - $this->assertEquals(1, count($this->jar->all(null, null, 'FPCK3'))); - $this->assertEquals(1, count($this->jar->all(null, null, 'CH'))); - } - - public function testAddsCookiesFromResponseWithRequest() - { - $response = new Response(200, array( - 'Set-Cookie' => "fpc=d=.Hm.yh4.1XmJWjJfs4orLQzKzPImxklQoxXSHOZATHUSEFciRueW_7704iYUtsXNEXq0M92Px2glMdWypmJ7HIQl6XIUvrZimWjQ3vIdeuRbI.FNQMAfcxu_XN1zSx7l.AcPdKL6guHc2V7hIQFhnjRW0rxm2oHY1P4bGQxFNz7f.tHm12ZD3DbdMDiDy7TBXsuP4DM-&v=2; expires=Fri, 02-Mar-2019 02:17:40 GMT;" - )); - $request = new Request('GET', 'http://www.example.com'); - $this->jar->addCookiesFromResponse($response, $request); - $this->assertEquals(1, count($this->jar)); - } - - public function getMatchingCookiesDataProvider() - { - return array( - array('https://example.com', array(0)), - array('http://example.com', array()), - array('https://example.com:8912', array()), - array('https://foo.example.com', array(0)), - array('http://foo.example.com/test/acme/', array(4)) - ); - } - - /** - * @dataProvider getMatchingCookiesDataProvider - */ - public function testReturnsCookiesMatchingRequests($url, $cookies) - { - $bag = array( - new Cookie(array( - 'name' => 'foo', - 'value' => 'bar', - 'domain' => 'example.com', - 'path' => '/', - 'max_age' => '86400', - 'port' => array(443, 8080), - 'version' => '1', - 'secure' => true - )), - new Cookie(array( - 'name' => 'baz', - 'value' => 'foobar', - 'domain' => 'example.com', - 'path' => '/', - 'max_age' => '86400', - 'port' => array(80, 8080), - 'version' => '1', - 'secure' => true - )), - new Cookie(array( - 'name' => 'test', - 'value' => '123', - 'domain' => 'www.foobar.com', - 'path' => '/path/', - 'discard' => true - )), - new Cookie(array( - 'name' => 'muppet', - 'value' => 'cookie_monster', - 'domain' => '.y.example.com', - 'path' => '/acme/', - 'comment' => 'Comment goes here...', - 'expires' => time() + 86400 - )), - new Cookie(array( - 'name' => 'googoo', - 'value' => 'gaga', - 'domain' => '.example.com', - 'path' => '/test/acme/', - 'max_age' => 1500, - 'version' => 2 - )) - ); - - foreach ($bag as $cookie) { - $this->jar->add($cookie); - } - - $request = new Request('GET', $url); - $results = $this->jar->getMatchingCookies($request); - $this->assertEquals(count($cookies), count($results)); - foreach ($cookies as $i) { - $this->assertContains($bag[$i], $results); - } - } - - /** - * @expectedException \Guzzle\Plugin\Cookie\Exception\InvalidCookieException - * @expectedExceptionMessage The cookie name must not contain invalid characters: abc:@123 - */ - public function testThrowsExceptionWithStrictMode() - { - $a = new ArrayCookieJar(); - $a->setStrictMode(true); - $a->add(new Cookie(array( - 'name' => 'abc:@123', - 'value' => 'foo', - 'domain' => 'bar' - ))); - } - - public function testRemoveExistingCookieIfEmpty() - { - // Add a cookie that should not be affected - $a = new Cookie(array( - 'name' => 'foo', - 'value' => 'nope', - 'domain' => 'foo.com', - 'path' => '/abc' - )); - $this->jar->add($a); - - $data = array( - 'name' => 'foo', - 'value' => 'bar', - 'domain' => 'foo.com', - 'path' => '/' - ); - - $b = new Cookie($data); - $this->assertTrue($this->jar->add($b)); - $this->assertEquals(2, count($this->jar)); - - // Try to re-set the same cookie with no value: assert that cookie is not added - $data['value'] = null; - $this->assertFalse($this->jar->add(new Cookie($data))); - // assert that original cookie has been deleted - $cookies = $this->jar->all('foo.com'); - $this->assertTrue(in_array($a, $cookies, true)); - $this->assertFalse(in_array($b, $cookies, true)); - $this->assertEquals(1, count($this->jar)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/FileCookieJarTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/FileCookieJarTest.php deleted file mode 100644 index ac9471fd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieJar/FileCookieJarTest.php +++ /dev/null @@ -1,63 +0,0 @@ -file = tempnam('/tmp', 'file-cookies'); - } - - public function testLoadsFromFileFile() - { - $jar = new FileCookieJar($this->file); - $this->assertEquals(array(), $jar->all()); - unlink($this->file); - } - - public function testPersistsToFileFile() - { - $jar = new FileCookieJar($this->file); - $jar->add(new Cookie(array( - 'name' => 'foo', - 'value' => 'bar', - 'domain' => 'foo.com', - 'expires' => time() + 1000 - ))); - $jar->add(new Cookie(array( - 'name' => 'baz', - 'value' => 'bar', - 'domain' => 'foo.com', - 'expires' => time() + 1000 - ))); - $jar->add(new Cookie(array( - 'name' => 'boo', - 'value' => 'bar', - 'domain' => 'foo.com', - ))); - - $this->assertEquals(3, count($jar)); - unset($jar); - - // Make sure it wrote to the file - $contents = file_get_contents($this->file); - $this->assertNotEmpty($contents); - - // Load the cookieJar from the file - $jar = new FileCookieJar($this->file); - - // Weeds out temporary and session cookies - $this->assertEquals(2, count($jar)); - unset($jar); - unlink($this->file); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookiePluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookiePluginTest.php deleted file mode 100644 index f8c175cc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookiePluginTest.php +++ /dev/null @@ -1,134 +0,0 @@ -getMockBuilder('Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar') - ->setMethods(array('addCookiesFromResponse')) - ->getMock(); - - $mock->expects($this->exactly(1)) - ->method('addCookiesFromResponse') - ->with($response); - - $plugin = new CookiePlugin($mock); - $plugin->onRequestSent(new Event(array( - 'response' => $response - ))); - } - - public function testAddsCookiesToRequests() - { - $cookie = new Cookie(array( - 'name' => 'foo', - 'value' => 'bar' - )); - - $mock = $this->getMockBuilder('Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar') - ->setMethods(array('getMatchingCookies')) - ->getMock(); - - $mock->expects($this->once()) - ->method('getMatchingCookies') - ->will($this->returnValue(array($cookie))); - - $plugin = new CookiePlugin($mock); - - $client = new Client(); - $client->getEventDispatcher()->addSubscriber($plugin); - - $request = $client->get('http://www.example.com'); - $plugin->onRequestBeforeSend(new Event(array( - 'request' => $request - ))); - - $this->assertEquals('bar', $request->getCookie('foo')); - } - - public function testCookiesAreExtractedFromRedirectResponses() - { - $plugin = new CookiePlugin(new ArrayCookieJar()); - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 302 Moved Temporarily\r\n" . - "Set-Cookie: test=583551; expires=Wednesday, 23-Mar-2050 19:49:45 GMT; path=/\r\n" . - "Location: /redirect\r\n\r\n", - "HTTP/1.1 200 OK\r\n" . - "Content-Length: 0\r\n\r\n", - "HTTP/1.1 200 OK\r\n" . - "Content-Length: 0\r\n\r\n" - )); - - $client = new Client($this->getServer()->getUrl()); - $client->getEventDispatcher()->addSubscriber($plugin); - - $client->get()->send(); - $request = $client->get(); - $request->send(); - $this->assertEquals('test=583551', $request->getHeader('Cookie')); - - $requests = $this->getServer()->getReceivedRequests(true); - // Confirm subsequent requests have the cookie. - $this->assertEquals('test=583551', $requests[2]->getHeader('Cookie')); - // Confirm the redirected request has the cookie. - $this->assertEquals('test=583551', $requests[1]->getHeader('Cookie')); - } - - public function testCookiesAreNotAddedWhenParamIsSet() - { - $jar = new ArrayCookieJar(); - $plugin = new CookiePlugin($jar); - - $jar->add(new Cookie(array( - 'domain' => 'example.com', - 'path' => '/', - 'name' => 'test', - 'value' => 'hi', - 'expires' => time() + 3600 - ))); - - $client = new Client('http://example.com'); - $client->getEventDispatcher()->addSubscriber($plugin); - - // Ensure that it is normally added - $request = $client->get(); - $request->setResponse(new Response(200), true); - $request->send(); - $this->assertEquals('hi', $request->getCookie('test')); - - // Now ensure that it is not added - $request = $client->get(); - $request->getParams()->set('cookies.disable', true); - $request->setResponse(new Response(200), true); - $request->send(); - $this->assertNull($request->getCookie('test')); - } - - public function testProvidesCookieJar() - { - $jar = new ArrayCookieJar(); - $plugin = new CookiePlugin($jar); - $this->assertSame($jar, $plugin->getCookieJar()); - } - - public function testEscapesCookieDomains() - { - $cookie = new Cookie(array('domain' => '/foo/^$[A-Z]+/')); - $this->assertFalse($cookie->matchesDomain('foo')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieTest.php deleted file mode 100644 index 9fb0b431..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Cookie/CookieTest.php +++ /dev/null @@ -1,223 +0,0 @@ -assertEquals('/', $cookie->getPath()); - $this->assertEquals(array(), $cookie->getPorts()); - } - - public function testConvertsDateTimeMaxAgeToUnixTimestamp() - { - $cookie = new Cookie(array( - 'expires' => 'November 20, 1984' - )); - $this->assertTrue(is_numeric($cookie->getExpires())); - } - - public function testAddsExpiresBasedOnMaxAge() - { - $t = time(); - $cookie = new Cookie(array( - 'max_age' => 100 - )); - $this->assertEquals($t + 100, $cookie->getExpires()); - } - - public function testHoldsValues() - { - $t = time(); - $data = array( - 'name' => 'foo', - 'value' => 'baz', - 'path' => '/bar', - 'domain' => 'baz.com', - 'expires' => $t, - 'max_age' => 100, - 'comment' => 'Hi', - 'comment_url' => 'foo.com', - 'port' => array(1, 2), - 'version' => 2, - 'secure' => true, - 'discard' => true, - 'http_only' => true, - 'data' => array( - 'foo' => 'baz', - 'bar' => 'bam' - ) - ); - - $cookie = new Cookie($data); - $this->assertEquals($data, $cookie->toArray()); - - $this->assertEquals('foo', $cookie->getName()); - $this->assertEquals('baz', $cookie->getValue()); - $this->assertEquals('baz.com', $cookie->getDomain()); - $this->assertEquals('/bar', $cookie->getPath()); - $this->assertEquals($t, $cookie->getExpires()); - $this->assertEquals(100, $cookie->getMaxAge()); - $this->assertEquals('Hi', $cookie->getComment()); - $this->assertEquals('foo.com', $cookie->getCommentUrl()); - $this->assertEquals(array(1, 2), $cookie->getPorts()); - $this->assertEquals(2, $cookie->getVersion()); - $this->assertTrue($cookie->getSecure()); - $this->assertTrue($cookie->getDiscard()); - $this->assertTrue($cookie->getHttpOnly()); - $this->assertEquals('baz', $cookie->getAttribute('foo')); - $this->assertEquals('bam', $cookie->getAttribute('bar')); - $this->assertEquals(array( - 'foo' => 'baz', - 'bar' => 'bam' - ), $cookie->getAttributes()); - - $cookie->setName('a') - ->setValue('b') - ->setPath('c') - ->setDomain('bar.com') - ->setExpires(10) - ->setMaxAge(200) - ->setComment('e') - ->setCommentUrl('f') - ->setPorts(array(80)) - ->setVersion(3) - ->setSecure(false) - ->setHttpOnly(false) - ->setDiscard(false) - ->setAttribute('snoop', 'dog'); - - $this->assertEquals('a', $cookie->getName()); - $this->assertEquals('b', $cookie->getValue()); - $this->assertEquals('c', $cookie->getPath()); - $this->assertEquals('bar.com', $cookie->getDomain()); - $this->assertEquals(10, $cookie->getExpires()); - $this->assertEquals(200, $cookie->getMaxAge()); - $this->assertEquals('e', $cookie->getComment()); - $this->assertEquals('f', $cookie->getCommentUrl()); - $this->assertEquals(array(80), $cookie->getPorts()); - $this->assertEquals(3, $cookie->getVersion()); - $this->assertFalse($cookie->getSecure()); - $this->assertFalse($cookie->getDiscard()); - $this->assertFalse($cookie->getHttpOnly()); - $this->assertEquals('dog', $cookie->getAttribute('snoop')); - } - - public function testDeterminesIfExpired() - { - $c = new Cookie(); - $c->setExpires(10); - $this->assertTrue($c->isExpired()); - $c->setExpires(time() + 10000); - $this->assertFalse($c->isExpired()); - } - - public function testMatchesPorts() - { - $cookie = new Cookie(); - // Always matches when nothing is set - $this->assertTrue($cookie->matchesPort(2)); - - $cookie->setPorts(array(1, 2)); - $this->assertTrue($cookie->matchesPort(2)); - $this->assertFalse($cookie->matchesPort(100)); - } - - public function testMatchesDomain() - { - $cookie = new Cookie(); - $this->assertTrue($cookie->matchesDomain('baz.com')); - - $cookie->setDomain('baz.com'); - $this->assertTrue($cookie->matchesDomain('baz.com')); - $this->assertFalse($cookie->matchesDomain('bar.com')); - - $cookie->setDomain('.baz.com'); - $this->assertTrue($cookie->matchesDomain('.baz.com')); - $this->assertTrue($cookie->matchesDomain('foo.baz.com')); - $this->assertFalse($cookie->matchesDomain('baz.bar.com')); - $this->assertTrue($cookie->matchesDomain('baz.com')); - - $cookie->setDomain('.127.0.0.1'); - $this->assertTrue($cookie->matchesDomain('127.0.0.1')); - - $cookie->setDomain('127.0.0.1'); - $this->assertTrue($cookie->matchesDomain('127.0.0.1')); - - $cookie->setDomain('.com.'); - $this->assertFalse($cookie->matchesDomain('baz.com')); - - $cookie->setDomain('.local'); - $this->assertTrue($cookie->matchesDomain('example.local')); - } - - public function testMatchesPath() - { - $cookie = new Cookie(); - $this->assertTrue($cookie->matchesPath('/foo')); - - $cookie->setPath('/foo'); - - // o The cookie-path and the request-path are identical. - $this->assertTrue($cookie->matchesPath('/foo')); - $this->assertFalse($cookie->matchesPath('/bar')); - - // o The cookie-path is a prefix of the request-path, and the first - // character of the request-path that is not included in the cookie- - // path is a %x2F ("/") character. - $this->assertTrue($cookie->matchesPath('/foo/bar')); - $this->assertFalse($cookie->matchesPath('/fooBar')); - - // o The cookie-path is a prefix of the request-path, and the last - // character of the cookie-path is %x2F ("/"). - $cookie->setPath('/foo/'); - $this->assertTrue($cookie->matchesPath('/foo/bar')); - $this->assertFalse($cookie->matchesPath('/fooBaz')); - $this->assertFalse($cookie->matchesPath('/foo')); - - } - - public function cookieValidateProvider() - { - return array( - array('foo', 'baz', 'bar', true), - array('0', '0', '0', true), - array('', 'baz', 'bar', 'The cookie name must not be empty'), - array('foo', '', 'bar', 'The cookie value must not be empty'), - array('foo', 'baz', '', 'The cookie domain must not be empty'), - array('foo\\', 'baz', '0', 'The cookie name must not contain invalid characters: foo\\'), - ); - } - - /** - * @dataProvider cookieValidateProvider - */ - public function testValidatesCookies($name, $value, $domain, $result) - { - $cookie = new Cookie(array( - 'name' => $name, - 'value' => $value, - 'domain' => $domain - )); - $this->assertSame($result, $cookie->validate()); - } - - public function testCreatesInvalidCharacterString() - { - $m = new \ReflectionMethod('Guzzle\Plugin\Cookie\Cookie', 'getInvalidCharacters'); - $m->setAccessible(true); - $p = new \ReflectionProperty('Guzzle\Plugin\Cookie\Cookie', 'invalidCharString'); - $p->setAccessible(true); - $p->setValue(''); - // Expects a string containing 51 invalid characters - $this->assertEquals(51, strlen($m->invoke($m))); - $this->assertContains('@', $m->invoke($m)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/CurlAuth/CurlAuthPluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/CurlAuth/CurlAuthPluginTest.php deleted file mode 100644 index 2a4b49eb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/CurlAuth/CurlAuthPluginTest.php +++ /dev/null @@ -1,39 +0,0 @@ -getEventDispatcher()->addSubscriber($plugin); - $request = $client->get('/'); - $this->assertEquals('michael', $request->getUsername()); - $this->assertEquals('test', $request->getPassword()); - Version::$emitWarnings = true; - } - - public function testAddsDigestAuthentication() - { - Version::$emitWarnings = false; - $plugin = new CurlAuthPlugin('julian', 'test', CURLAUTH_DIGEST); - $client = new Client('http://www.test.com/'); - $client->getEventDispatcher()->addSubscriber($plugin); - $request = $client->get('/'); - $this->assertEquals('julian', $request->getUsername()); - $this->assertEquals('test', $request->getPassword()); - $this->assertEquals('julian:test', $request->getCurlOptions()->get(CURLOPT_USERPWD)); - $this->assertEquals(CURLAUTH_DIGEST, $request->getCurlOptions()->get(CURLOPT_HTTPAUTH)); - Version::$emitWarnings = true; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/ErrorResponse/ErrorResponsePluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/ErrorResponse/ErrorResponsePluginTest.php deleted file mode 100644 index 6f94186b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/ErrorResponse/ErrorResponsePluginTest.php +++ /dev/null @@ -1,137 +0,0 @@ -flush(); - } - - public function setUp() - { - $mockError = 'Guzzle\Tests\Mock\ErrorResponseMock'; - $description = ServiceDescription::factory(array( - 'operations' => array( - 'works' => array( - 'httpMethod' => 'GET', - 'errorResponses' => array( - array('code' => 500, 'class' => $mockError), - array('code' => 503, 'reason' => 'foo', 'class' => $mockError), - array('code' => 200, 'reason' => 'Error!', 'class' => $mockError) - ) - ), - 'bad_class' => array( - 'httpMethod' => 'GET', - 'errorResponses' => array( - array('code' => 500, 'class' => 'Does\\Not\\Exist') - ) - ), - 'does_not_implement' => array( - 'httpMethod' => 'GET', - 'errorResponses' => array( - array('code' => 500, 'class' => __CLASS__) - ) - ), - 'no_errors' => array('httpMethod' => 'GET'), - 'no_class' => array( - 'httpMethod' => 'GET', - 'errorResponses' => array( - array('code' => 500) - ) - ), - ) - )); - $this->client = new Client($this->getServer()->getUrl()); - $this->client->setDescription($description); - } - - /** - * @expectedException \Guzzle\Http\Exception\ServerErrorResponseException - */ - public function testSkipsWhenErrorResponsesIsNotSet() - { - $this->getServer()->enqueue("HTTP/1.1 500 Foo\r\nContent-Length: 0\r\n\r\n"); - $this->client->addSubscriber(new ErrorResponsePlugin()); - $this->client->getCommand('no_errors')->execute(); - } - - public function testSkipsWhenErrorResponsesIsNotSetAndAllowsSuccess() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $this->client->addSubscriber(new ErrorResponsePlugin()); - $this->client->getCommand('no_errors')->execute(); - } - - /** - * @expectedException \Guzzle\Plugin\ErrorResponse\Exception\ErrorResponseException - * @expectedExceptionMessage Does\Not\Exist does not exist - */ - public function testEnsuresErrorResponseExists() - { - $this->getServer()->enqueue("HTTP/1.1 500 Foo\r\nContent-Length: 0\r\n\r\n"); - $this->client->addSubscriber(new ErrorResponsePlugin()); - $this->client->getCommand('bad_class')->execute(); - } - - /** - * @expectedException \Guzzle\Plugin\ErrorResponse\Exception\ErrorResponseException - * @expectedExceptionMessage must implement Guzzle\Plugin\ErrorResponse\ErrorResponseExceptionInterface - */ - public function testEnsuresErrorResponseImplementsInterface() - { - $this->getServer()->enqueue("HTTP/1.1 500 Foo\r\nContent-Length: 0\r\n\r\n"); - $this->client->addSubscriber(new ErrorResponsePlugin()); - $this->client->getCommand('does_not_implement')->execute(); - } - - public function testThrowsSpecificErrorResponseOnMatch() - { - try { - $this->getServer()->enqueue("HTTP/1.1 500 Foo\r\nContent-Length: 0\r\n\r\n"); - $this->client->addSubscriber(new ErrorResponsePlugin()); - $command = $this->client->getCommand('works'); - $command->execute(); - $this->fail('Exception not thrown'); - } catch (ErrorResponseMock $e) { - $this->assertSame($command, $e->command); - $this->assertEquals(500, $e->response->getStatusCode()); - } - } - - /** - * @expectedException \Guzzle\Tests\Mock\ErrorResponseMock - */ - public function testThrowsWhenCodeAndPhraseMatch() - { - $this->getServer()->enqueue("HTTP/1.1 200 Error!\r\nContent-Length: 0\r\n\r\n"); - $this->client->addSubscriber(new ErrorResponsePlugin()); - $this->client->getCommand('works')->execute(); - } - - public function testSkipsWhenReasonDoesNotMatch() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $this->client->addSubscriber(new ErrorResponsePlugin()); - $this->client->getCommand('works')->execute(); - } - - public function testSkipsWhenNoClassIsSet() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $this->client->addSubscriber(new ErrorResponsePlugin()); - $this->client->getCommand('no_class')->execute(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/History/HistoryPluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/History/HistoryPluginTest.php deleted file mode 100644 index 41aa673f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/History/HistoryPluginTest.php +++ /dev/null @@ -1,140 +0,0 @@ -get(); - $requests[$i]->setResponse(new Response(200), true); - $requests[$i]->send(); - $h->add($requests[$i]); - } - - return $requests; - } - - public function testDescribesSubscribedEvents() - { - $this->assertInternalType('array', HistoryPlugin::getSubscribedEvents()); - } - - public function testMaintainsLimitValue() - { - $h = new HistoryPlugin(); - $this->assertSame($h, $h->setLimit(10)); - $this->assertEquals(10, $h->getLimit()); - } - - public function testAddsRequests() - { - $h = new HistoryPlugin(); - $requests = $this->addRequests($h, 1); - $this->assertEquals(1, count($h)); - $i = $h->getIterator(); - $this->assertEquals(1, count($i)); - $this->assertEquals($requests[0], $i[0]); - } - - /** - * @depends testAddsRequests - */ - public function testMaintainsLimit() - { - $h = new HistoryPlugin(); - $h->setLimit(2); - $requests = $this->addRequests($h, 3); - $this->assertEquals(2, count($h)); - $i = 0; - foreach ($h as $request) { - if ($i > 0) { - $this->assertSame($requests[$i], $request); - } - } - } - - public function testReturnsLastRequest() - { - $h = new HistoryPlugin(); - $requests = $this->addRequests($h, 5); - $this->assertSame(end($requests), $h->getLastRequest()); - } - - public function testReturnsLastResponse() - { - $h = new HistoryPlugin(); - $requests = $this->addRequests($h, 5); - $this->assertSame(end($requests)->getResponse(), $h->getLastResponse()); - } - - public function testClearsHistory() - { - $h = new HistoryPlugin(); - $requests = $this->addRequests($h, 5); - $this->assertEquals(5, count($h)); - $h->clear(); - $this->assertEquals(0, count($h)); - } - - /** - * @depends testAddsRequests - */ - public function testUpdatesAddRequests() - { - $h = new HistoryPlugin(); - $client = new Client('http://127.0.0.1/'); - $client->getEventDispatcher()->addSubscriber($h); - - $request = $client->get(); - $request->setResponse(new Response(200), true); - $request->send(); - - $this->assertSame($request, $h->getLastRequest()); - } - - public function testCanCastToString() - { - $client = new Client('http://127.0.0.1/'); - $h = new HistoryPlugin(); - $client->getEventDispatcher()->addSubscriber($h); - - $mock = new MockPlugin(array( - new Response(301, array('Location' => '/redirect1', 'Content-Length' => 0)), - new Response(307, array('Location' => '/redirect2', 'Content-Length' => 0)), - new Response(200, array('Content-Length' => '2'), 'HI') - )); - - $client->getEventDispatcher()->addSubscriber($mock); - $request = $client->get(); - $request->send(); - $this->assertEquals(3, count($h)); - $this->assertEquals(3, count($mock->getReceivedRequests())); - - $h = str_replace("\r", '', $h); - $this->assertContains("> GET / HTTP/1.1\nHost: 127.0.0.1\nUser-Agent:", $h); - $this->assertContains("< HTTP/1.1 301 Moved Permanently\nLocation: /redirect1", $h); - $this->assertContains("< HTTP/1.1 307 Temporary Redirect\nLocation: /redirect2", $h); - $this->assertContains("< HTTP/1.1 200 OK\nContent-Length: 2\n\nHI", $h); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Log/LogPluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Log/LogPluginTest.php deleted file mode 100644 index ad663a53..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Log/LogPluginTest.php +++ /dev/null @@ -1,95 +0,0 @@ -adapter = new ClosureLogAdapter(function ($message) { - echo $message; - }); - } - - public function testIgnoresCurlEventsWhenNotWiringBodies() - { - $p = new LogPlugin($this->adapter); - $this->assertNotEmpty($p->getSubscribedEvents()); - $event = new Event(array('request' => new Request('GET', 'http://foo.com'))); - $p->onCurlRead($event); - $p->onCurlWrite($event); - $p->onRequestBeforeSend($event); - } - - public function testLogsWhenComplete() - { - $output = ''; - $p = new LogPlugin(new ClosureLogAdapter(function ($message) use (&$output) { - $output = $message; - }), '{method} {resource} | {code} {res_body}'); - - $p->onRequestSent(new Event(array( - 'request' => new Request('GET', 'http://foo.com'), - 'response' => new Response(200, array(), 'Foo') - ))); - - $this->assertEquals('GET / | 200 Foo', $output); - } - - public function testWiresBodiesWhenNeeded() - { - $client = new Client($this->getServer()->getUrl()); - $plugin = new LogPlugin($this->adapter, '{req_body} | {res_body}', true); - $client->getEventDispatcher()->addSubscriber($plugin); - $request = $client->put(); - - // Send the response from the dummy server as the request body - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\nsend"); - $stream = fopen($this->getServer()->getUrl(), 'r'); - $request->setBody(EntityBody::factory($stream, 4)); - - $tmpFile = tempnam(sys_get_temp_dir(), 'non_repeatable'); - $request->setResponseBody(EntityBody::factory(fopen($tmpFile, 'w'))); - - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 8\r\n\r\nresponse"); - - ob_start(); - $request->send(); - $message = ob_get_clean(); - - unlink($tmpFile); - $this->assertContains("send", $message); - $this->assertContains("response", $message); - } - - public function testHasHelpfulStaticFactoryMethod() - { - $s = fopen('php://temp', 'r+'); - $client = new Client(); - $client->addSubscriber(LogPlugin::getDebugPlugin(true, $s)); - $request = $client->put('http://foo.com', array('Content-Type' => 'Foo'), 'Bar'); - $request->setresponse(new Response(200), true); - $request->send(); - rewind($s); - $contents = stream_get_contents($s); - $this->assertContains('# Request:', $contents); - $this->assertContainsIns('PUT / HTTP/1.1', $contents); - $this->assertContains('# Response:', $contents); - $this->assertContainsIns('HTTP/1.1 200 OK', $contents); - $this->assertContains('# Errors:', $contents); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/CommandContentMd5PluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/CommandContentMd5PluginTest.php deleted file mode 100644 index 4bd41111..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/CommandContentMd5PluginTest.php +++ /dev/null @@ -1,97 +0,0 @@ - array( - 'test' => array( - 'httpMethod' => 'PUT', - 'parameters' => array( - 'ContentMD5' => array(), - 'Body' => array( - 'location' => 'body' - ) - ) - ) - ) - )); - - $client = new Client(); - $client->setDescription($description); - - return $client; - } - - public function testHasEvents() - { - $this->assertNotEmpty(CommandContentMd5Plugin::getSubscribedEvents()); - } - - public function testValidatesMd5WhenParamExists() - { - $client = $this->getClient(); - $command = $client->getCommand('test', array( - 'Body' => 'Foo', - 'ContentMD5' => true - )); - $event = new Event(array('command' => $command)); - $request = $command->prepare(); - $plugin = new CommandContentMd5Plugin(); - $plugin->onCommandBeforeSend($event); - $this->assertEquals('E1bGfXrRY42Ba/uCLdLCXQ==', (string) $request->getHeader('Content-MD5')); - } - - public function testDoesNothingWhenNoPayloadExists() - { - $client = $this->getClient(); - $client->getDescription()->getOperation('test')->setHttpMethod('GET'); - $command = $client->getCommand('test'); - $event = new Event(array('command' => $command)); - $request = $command->prepare(); - $plugin = new CommandContentMd5Plugin(); - $plugin->onCommandBeforeSend($event); - $this->assertNull($request->getHeader('Content-MD5')); - } - - public function testAddsValidationToResponsesOfContentMd5() - { - $client = $this->getClient(); - $client->getDescription()->getOperation('test')->setHttpMethod('GET'); - $command = $client->getCommand('test', array( - 'ValidateMD5' => true - )); - $event = new Event(array('command' => $command)); - $request = $command->prepare(); - $plugin = new CommandContentMd5Plugin(); - $plugin->onCommandBeforeSend($event); - $listeners = $request->getEventDispatcher()->getListeners('request.complete'); - $this->assertNotEmpty($listeners); - } - - public function testIgnoresValidationWhenDisabled() - { - $client = $this->getClient(); - $client->getDescription()->getOperation('test')->setHttpMethod('GET'); - $command = $client->getCommand('test', array( - 'ValidateMD5' => false - )); - $event = new Event(array('command' => $command)); - $request = $command->prepare(); - $plugin = new CommandContentMd5Plugin(); - $plugin->onCommandBeforeSend($event); - $listeners = $request->getEventDispatcher()->getListeners('request.complete'); - $this->assertEmpty($listeners); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/Md5ValidatorPluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/Md5ValidatorPluginTest.php deleted file mode 100644 index 482e92b2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Md5/Md5ValidatorPluginTest.php +++ /dev/null @@ -1,120 +0,0 @@ -create('GET', 'http://www.test.com/'); - $request->getEventDispatcher()->addSubscriber($plugin); - - $body = 'abc'; - $hash = md5($body); - $response = new Response(200, array( - 'Content-MD5' => $hash, - 'Content-Length' => 3 - ), 'abc'); - - $request->dispatch('request.complete', array( - 'response' => $response - )); - - // Try again with no Content-MD5 - $response->removeHeader('Content-MD5'); - $request->dispatch('request.complete', array( - 'response' => $response - )); - } - - /** - * @expectedException UnexpectedValueException - */ - public function testThrowsExceptionOnInvalidMd5() - { - $plugin = new Md5ValidatorPlugin(); - $request = RequestFactory::getInstance()->create('GET', 'http://www.test.com/'); - $request->getEventDispatcher()->addSubscriber($plugin); - - $request->dispatch('request.complete', array( - 'response' => new Response(200, array( - 'Content-MD5' => 'foobar', - 'Content-Length' => 3 - ), 'abc') - )); - } - - public function testSkipsWhenContentLengthIsTooLarge() - { - $plugin = new Md5ValidatorPlugin(false, 1); - $request = RequestFactory::getInstance()->create('GET', 'http://www.test.com/'); - $request->getEventDispatcher()->addSubscriber($plugin); - - $request->dispatch('request.complete', array( - 'response' => new Response(200, array( - 'Content-MD5' => 'foobar', - 'Content-Length' => 3 - ), 'abc') - )); - } - - public function testProperlyValidatesWhenUsingContentEncoding() - { - $plugin = new Md5ValidatorPlugin(true); - $request = RequestFactory::getInstance()->create('GET', 'http://www.test.com/'); - $request->getEventDispatcher()->addSubscriber($plugin); - - // Content-MD5 is the MD5 hash of the canonical content after all - // content-encoding has been applied. Because cURL will automatically - // decompress entity bodies, we need to re-compress it to calculate. - $body = EntityBody::factory('abc'); - $body->compress(); - $hash = $body->getContentMd5(); - $body->uncompress(); - - $response = new Response(200, array( - 'Content-MD5' => $hash, - 'Content-Encoding' => 'gzip' - ), 'abc'); - $request->dispatch('request.complete', array( - 'response' => $response - )); - $this->assertEquals('abc', $response->getBody(true)); - - // Try again with an unknown encoding - $response = new Response(200, array( - 'Content-MD5' => $hash, - 'Content-Encoding' => 'foobar' - ), 'abc'); - $request->dispatch('request.complete', array( - 'response' => $response - )); - - // Try again with compress - $body->compress('bzip2.compress'); - $response = new Response(200, array( - 'Content-MD5' => $body->getContentMd5(), - 'Content-Encoding' => 'compress' - ), 'abc'); - $request->dispatch('request.complete', array( - 'response' => $response - )); - - // Try again with encoding and disabled content-encoding checks - $request->getEventDispatcher()->removeSubscriber($plugin); - $plugin = new Md5ValidatorPlugin(false); - $request->getEventDispatcher()->addSubscriber($plugin); - $request->dispatch('request.complete', array( - 'response' => $response - )); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Mock/MockPluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Mock/MockPluginTest.php deleted file mode 100644 index 3af8fefc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Mock/MockPluginTest.php +++ /dev/null @@ -1,199 +0,0 @@ -assertInternalType('array', MockPlugin::getSubscribedEvents()); - } - - public function testDescribesEvents() - { - $this->assertInternalType('array', MockPlugin::getAllEvents()); - } - - public function testCanBeTemporary() - { - $plugin = new MockPlugin(); - $this->assertFalse($plugin->isTemporary()); - $plugin = new MockPlugin(null, true); - $this->assertTrue($plugin->isTemporary()); - } - - public function testIsCountable() - { - $plugin = new MockPlugin(); - $plugin->addResponse(Response::fromMessage("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n")); - $this->assertEquals(1, count($plugin)); - } - - /** - * @depends testIsCountable - */ - public function testCanClearQueue() - { - $plugin = new MockPlugin(); - $plugin->addResponse(Response::fromMessage("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n")); - $plugin->clearQueue(); - $this->assertEquals(0, count($plugin)); - } - - public function testCanInspectQueue() - { - $plugin = new MockPlugin(); - $this->assertInternalType('array', $plugin->getQueue()); - $plugin->addResponse(Response::fromMessage("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n")); - $queue = $plugin->getQueue(); - $this->assertInternalType('array', $queue); - $this->assertEquals(1, count($queue)); - } - - public function testRetrievesResponsesFromFiles() - { - $response = MockPlugin::getMockFile(__DIR__ . '/../../TestData/mock_response'); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $response); - $this->assertEquals(200, $response->getStatusCode()); - } - - /** - * @expectedException InvalidArgumentException - */ - public function testThrowsExceptionWhenResponseFileIsNotFound() - { - MockPlugin::getMockFile('missing/filename'); - } - - /** - * @expectedException InvalidArgumentException - */ - public function testInvalidResponsesThrowAnException() - { - $p = new MockPlugin(); - $p->addResponse($this); - } - - public function testAddsResponseObjectsToQueue() - { - $p = new MockPlugin(); - $response = Response::fromMessage("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $p->addResponse($response); - $this->assertEquals(array($response), $p->getQueue()); - } - - public function testAddsResponseFilesToQueue() - { - $p = new MockPlugin(); - $p->addResponse(__DIR__ . '/../../TestData/mock_response'); - $this->assertEquals(1, count($p)); - } - - /** - * @depends testAddsResponseFilesToQueue - */ - public function testAddsMockResponseToRequestFromClient() - { - $p = new MockPlugin(); - $response = MockPlugin::getMockFile(__DIR__ . '/../../TestData/mock_response'); - $p->addResponse($response); - - $client = new Client('http://127.0.0.1:123/'); - $client->getEventDispatcher()->addSubscriber($p, 9999); - $request = $client->get(); - $request->send(); - - $this->assertSame($response, $request->getResponse()); - $this->assertEquals(0, count($p)); - } - - /** - * @depends testAddsResponseFilesToQueue - * @expectedException \OutOfBoundsException - */ - public function testUpdateThrowsExceptionWhenEmpty() - { - $p = new MockPlugin(); - $p->onRequestBeforeSend(new Event()); - } - - /** - * @depends testAddsMockResponseToRequestFromClient - */ - public function testDetachesTemporaryWhenEmpty() - { - $p = new MockPlugin(null, true); - $p->addResponse(MockPlugin::getMockFile(__DIR__ . '/../../TestData/mock_response')); - $client = new Client('http://127.0.0.1:123/'); - $client->getEventDispatcher()->addSubscriber($p, 9999); - $request = $client->get(); - $request->send(); - - $this->assertFalse($this->hasSubscriber($client, $p)); - } - - public function testLoadsResponsesFromConstructor() - { - $p = new MockPlugin(array(new Response(200))); - $this->assertEquals(1, $p->count()); - } - - public function testStoresMockedRequests() - { - $p = new MockPlugin(array(new Response(200), new Response(200))); - $client = new Client('http://127.0.0.1:123/'); - $client->getEventDispatcher()->addSubscriber($p, 9999); - - $request1 = $client->get(); - $request1->send(); - $this->assertEquals(array($request1), $p->getReceivedRequests()); - - $request2 = $client->get(); - $request2->send(); - $this->assertEquals(array($request1, $request2), $p->getReceivedRequests()); - - $p->flush(); - $this->assertEquals(array(), $p->getReceivedRequests()); - } - - public function testReadsBodiesFromMockedRequests() - { - $p = new MockPlugin(array(new Response(200))); - $p->readBodies(true); - $client = new Client('http://127.0.0.1:123/'); - $client->getEventDispatcher()->addSubscriber($p, 9999); - - $body = EntityBody::factory('foo'); - $request = $client->put(); - $request->setBody($body); - $request->send(); - $this->assertEquals(3, $body->ftell()); - } - - public function testCanMockBadRequestExceptions() - { - $client = new Client('http://127.0.0.1:123/'); - $ex = new CurlException('Foo'); - $mock = new MockPlugin(array($ex)); - $client->addSubscriber($mock); - $request = $client->get('foo'); - - try { - $request->send(); - $this->fail('Did not dequeue an exception'); - } catch (CurlException $e) { - $this->assertSame($e, $ex); - $this->assertSame($request, $ex->getRequest()); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Oauth/OauthPluginTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Oauth/OauthPluginTest.php deleted file mode 100644 index 3892fb62..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Plugin/Oauth/OauthPluginTest.php +++ /dev/null @@ -1,345 +0,0 @@ - 'foo', - 'consumer_secret' => 'bar', - 'token' => 'count', - 'token_secret' => 'dracula' - ); - - protected function getRequest() - { - return RequestFactory::getInstance()->create('POST', 'http://www.test.com/path?a=b&c=d', null, array( - 'e' => 'f' - )); - } - - public function testSubscribesToEvents() - { - $events = OauthPlugin::getSubscribedEvents(); - $this->assertArrayHasKey('request.before_send', $events); - } - - public function testAcceptsConfigurationData() - { - $p = new OauthPlugin($this->config); - - // Access the config object - $class = new \ReflectionClass($p); - $property = $class->getProperty('config'); - $property->setAccessible(true); - $config = $property->getValue($p); - - $this->assertEquals('foo', $config['consumer_key']); - $this->assertEquals('bar', $config['consumer_secret']); - $this->assertEquals('count', $config['token']); - $this->assertEquals('dracula', $config['token_secret']); - $this->assertEquals('1.0', $config['version']); - $this->assertEquals('HMAC-SHA1', $config['signature_method']); - $this->assertEquals('header', $config['request_method']); - } - - public function testCreatesStringToSignFromPostRequest() - { - $p = new OauthPlugin($this->config); - $request = $this->getRequest(); - $signString = $p->getStringToSign($request, self::TIMESTAMP, self::NONCE); - - $this->assertContains('&e=f', rawurldecode($signString)); - - $expectedSignString = - // Method and URL - 'POST&http%3A%2F%2Fwww.test.com%2Fpath' . - // Sorted parameters from query string and body - '&a%3Db%26c%3Dd%26e%3Df%26oauth_consumer_key%3Dfoo' . - '%26oauth_nonce%3De7aa11195ca58349bec8b5ebe351d3497eb9e603%26' . - 'oauth_signature_method%3DHMAC-SHA1' . - '%26oauth_timestamp%3D' . self::TIMESTAMP . '%26oauth_token%3Dcount%26oauth_version%3D1.0'; - - $this->assertEquals($expectedSignString, $signString); - } - - public function testCreatesStringToSignIgnoringPostFields() - { - $config = $this->config; - $config['disable_post_params'] = true; - $p = new OauthPlugin($config); - $request = $this->getRequest(); - $sts = rawurldecode($p->getStringToSign($request, self::TIMESTAMP, self::NONCE)); - $this->assertNotContains('&e=f', $sts); - } - - public function testCreatesStringToSignFromPostRequestWithCustomContentType() - { - $p = new OauthPlugin($this->config); - $request = $this->getRequest(); - $request->setHeader('Content-Type', 'Foo'); - $this->assertEquals( - // Method and URL - 'POST&http%3A%2F%2Fwww.test.com%2Fpath' . - // Sorted parameters from query string and body - '&a%3Db%26c%3Dd%26oauth_consumer_key%3Dfoo' . - '%26oauth_nonce%3D'. self::NONCE .'%26' . - 'oauth_signature_method%3DHMAC-SHA1' . - '%26oauth_timestamp%3D' . self::TIMESTAMP . '%26oauth_token%3Dcount%26oauth_version%3D1.0', - $p->getStringToSign($request, self::TIMESTAMP, self::NONCE) - ); - } - - /** - * @depends testCreatesStringToSignFromPostRequest - */ - public function testConvertsBooleansToStrings() - { - $p = new OauthPlugin($this->config); - $request = $this->getRequest(); - $request->getQuery()->set('a', true); - $request->getQuery()->set('c', false); - $this->assertContains('&a%3Dtrue%26c%3Dfalse', $p->getStringToSign($request, self::TIMESTAMP, self::NONCE)); - } - - public function testCreatesStringToSignFromPostRequestWithNullValues() - { - $config = array( - 'consumer_key' => 'foo', - 'consumer_secret' => 'bar', - 'token' => null, - 'token_secret' => 'dracula' - ); - - $p = new OauthPlugin($config); - $request = $this->getRequest(); - $signString = $p->getStringToSign($request, self::TIMESTAMP, self::NONCE); - - $this->assertContains('&e=f', rawurldecode($signString)); - - $expectedSignString = // Method and URL - 'POST&http%3A%2F%2Fwww.test.com%2Fpath' . - // Sorted parameters from query string and body - '&a%3Db%26c%3Dd%26e%3Df%26oauth_consumer_key%3Dfoo' . - '%26oauth_nonce%3De7aa11195ca58349bec8b5ebe351d3497eb9e603%26' . - 'oauth_signature_method%3DHMAC-SHA1' . - '%26oauth_timestamp%3D' . self::TIMESTAMP . '%26oauth_version%3D1.0'; - - $this->assertEquals($expectedSignString, $signString); - } - - /** - * @depends testCreatesStringToSignFromPostRequest - */ - public function testMultiDimensionalArray() - { - $p = new OauthPlugin($this->config); - $request = $this->getRequest(); - $request->getQuery()->set('a', array('b' => array('e' => 'f', 'c' => 'd'))); - $this->assertContains('a%255Bb%255D%255Bc%255D%3Dd%26a%255Bb%255D%255Be%255D%3Df%26c%3Dd%26e%3Df%26', $p->getStringToSign($request, self::TIMESTAMP, self::NONCE)); - } - - /** - * @depends testMultiDimensionalArray - */ - public function testMultiDimensionalArrayWithNonDefaultQueryAggregator() - { - $p = new OauthPlugin($this->config); - $request = $this->getRequest(); - $aggregator = new CommaAggregator(); - $query = $request->getQuery()->setAggregator($aggregator) - ->set('g', array('h', 'i', 'j')) - ->set('k', array('l')) - ->set('m', array('n', 'o')); - $this->assertContains('a%3Db%26c%3Dd%26e%3Df%26g%3Dh%2Ci%2Cj%26k%3Dl%26m%3Dn%2Co', $p->getStringToSign($request, self::TIMESTAMP, self::NONCE)); - } - - /** - * @depends testCreatesStringToSignFromPostRequest - */ - public function testSignsStrings() - { - $p = new OauthPlugin(array_merge($this->config, array( - 'signature_callback' => function($string, $key) { - return "_{$string}|{$key}_"; - } - ))); - $request = $this->getRequest(); - $sig = $p->getSignature($request, self::TIMESTAMP, self::NONCE); - $this->assertEquals( - '_POST&http%3A%2F%2Fwww.test.com%2Fpath&a%3Db%26c%3Dd%26e%3Df%26oauth_consumer_key%3Dfoo' . - '%26oauth_nonce%3D'. self::NONCE .'%26oauth_signature_method%3DHMAC-SHA1' . - '%26oauth_timestamp%3D' . self::TIMESTAMP . '%26oauth_token%3Dcount%26oauth_version%3D1.0|' . - 'bar&dracula_', - base64_decode($sig) - ); - } - - /** - * Test that the Oauth is signed correctly and that extra strings haven't been added - * to the authorization header. - */ - public function testSignsOauthRequests() - { - $p = new OauthPlugin($this->config); - $event = new Event(array( - 'request' => $this->getRequest(), - 'timestamp' => self::TIMESTAMP - )); - $params = $p->onRequestBeforeSend($event); - - $this->assertTrue($event['request']->hasHeader('Authorization')); - - $authorizationHeader = (string)$event['request']->getHeader('Authorization'); - - $this->assertStringStartsWith('OAuth ', $authorizationHeader); - - $stringsToCheck = array( - 'oauth_consumer_key="foo"', - 'oauth_nonce="'.urlencode($params['oauth_nonce']).'"', - 'oauth_signature="'.urlencode($params['oauth_signature']).'"', - 'oauth_signature_method="HMAC-SHA1"', - 'oauth_timestamp="' . self::TIMESTAMP . '"', - 'oauth_token="count"', - 'oauth_version="1.0"', - ); - - $totalLength = strlen('OAuth '); - - //Separator is not used before first parameter. - $separator = ''; - - foreach ($stringsToCheck as $stringToCheck) { - $this->assertContains($stringToCheck, $authorizationHeader); - $totalLength += strlen($separator); - $totalLength += strlen($stringToCheck); - $separator = ', '; - } - - // Technically this test is not universally valid. It would be allowable to have extra \n characters - // in the Authorization header. However Guzzle does not do this, so we just perform a simple check - // on length to validate the Authorization header is composed of only the strings above. - $this->assertEquals($totalLength, strlen($authorizationHeader), 'Authorization has extra characters i.e. contains extra elements compared to stringsToCheck.'); - } - - public function testSignsOauthQueryStringRequest() - { - $config = array_merge( - $this->config, - array('request_method' => OauthPlugin::REQUEST_METHOD_QUERY) - ); - - $p = new OauthPlugin($config); - $event = new Event(array( - 'request' => $this->getRequest(), - 'timestamp' => self::TIMESTAMP - )); - $params = $p->onRequestBeforeSend($event); - - $this->assertFalse($event['request']->hasHeader('Authorization')); - - $stringsToCheck = array( - 'a=b', - 'c=d', - 'oauth_consumer_key=foo', - 'oauth_nonce='.urlencode($params['oauth_nonce']), - 'oauth_signature='.urlencode($params['oauth_signature']), - 'oauth_signature_method=HMAC-SHA1', - 'oauth_timestamp='.self::TIMESTAMP, - 'oauth_token=count', - 'oauth_version=1.0', - ); - - $queryString = (string) $event['request']->getQuery(); - - $totalLength = strlen('?'); - - //Separator is not used before first parameter. - $separator = ''; - - foreach ($stringsToCheck as $stringToCheck) { - $this->assertContains($stringToCheck, $queryString); - $totalLength += strlen($separator); - $totalLength += strlen($stringToCheck); - $separator = '&'; - } - - // Removes the last query string separator '&' - $totalLength -= 1; - - $this->assertEquals($totalLength, strlen($queryString), 'Query string has extra characters i.e. contains extra elements compared to stringsToCheck.'); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testInvalidArgumentExceptionOnMethodError() - { - $config = array_merge( - $this->config, - array('request_method' => 'FakeMethod') - ); - - $p = new OauthPlugin($config); - $event = new Event(array( - 'request' => $this->getRequest(), - 'timestamp' => self::TIMESTAMP - )); - - $p->onRequestBeforeSend($event); - } - - public function testDoesNotAddFalseyValuesToAuthorization() - { - unset($this->config['token']); - $p = new OauthPlugin($this->config); - $event = new Event(array('request' => $this->getRequest(), 'timestamp' => self::TIMESTAMP)); - $p->onRequestBeforeSend($event); - $this->assertTrue($event['request']->hasHeader('Authorization')); - $this->assertNotContains('oauth_token=', (string) $event['request']->getHeader('Authorization')); - } - - public function testOptionalOauthParametersAreNotAutomaticallyAdded() - { - // The only required Oauth parameters are the consumer key and secret. That is enough credentials - // for signing oauth requests. - $config = array( - 'consumer_key' => 'foo', - 'consumer_secret' => 'bar', - ); - - $plugin = new OauthPlugin($config); - $event = new Event(array( - 'request' => $this->getRequest(), - 'timestamp' => self::TIMESTAMP - )); - - $timestamp = $plugin->getTimestamp($event); - $request = $event['request']; - $nonce = $plugin->generateNonce($request); - - $paramsToSign = $plugin->getParamsToSign($request, $timestamp, $nonce); - - $optionalParams = array( - 'callback' => 'oauth_callback', - 'token' => 'oauth_token', - 'verifier' => 'oauth_verifier', - 'token_secret' => 'token_secret' - ); - - foreach ($optionalParams as $optionName => $oauthName) { - $this->assertArrayNotHasKey($oauthName, $paramsToSign, "Optional Oauth param '$oauthName' was not set via config variable '$optionName', but it is listed in getParamsToSign()."); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/AbstractConfigLoaderTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/AbstractConfigLoaderTest.php deleted file mode 100644 index 8b42fb83..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/AbstractConfigLoaderTest.php +++ /dev/null @@ -1,149 +0,0 @@ -loader = $this->getMockBuilder('Guzzle\Service\AbstractConfigLoader') - ->setMethods(array('build')) - ->getMockForAbstractClass(); - } - - public function tearDown() - { - foreach ($this->cleanup as $file) { - unlink($file); - } - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - */ - public function testOnlyLoadsSupportedTypes() - { - $this->loader->load(new \stdClass()); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - * @expectedExceptionMessage Unable to open fooooooo.json - */ - public function testFileMustBeReadable() - { - $this->loader->load('fooooooo.json'); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - * @expectedExceptionMessage Unknown file extension - */ - public function testMustBeSupportedExtension() - { - $this->loader->load(dirname(__DIR__) . '/TestData/FileBody.txt'); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - * @expectedExceptionMessage Error loading JSON data from - */ - public function testJsonMustBeValue() - { - $filename = tempnam(sys_get_temp_dir(), 'json') . '.json'; - file_put_contents($filename, '{/{./{}foo'); - $this->cleanup[] = $filename; - $this->loader->load($filename); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - * @expectedExceptionMessage PHP files must return an array - */ - public function testPhpFilesMustReturnAnArray() - { - $filename = tempnam(sys_get_temp_dir(), 'php') . '.php'; - file_put_contents($filename, 'cleanup[] = $filename; - $this->loader->load($filename); - } - - public function testLoadsPhpFileIncludes() - { - $filename = tempnam(sys_get_temp_dir(), 'php') . '.php'; - file_put_contents($filename, ' "bar");'); - $this->cleanup[] = $filename; - $this->loader->expects($this->exactly(1))->method('build')->will($this->returnArgument(0)); - $config = $this->loader->load($filename); - $this->assertEquals(array('foo' => 'bar'), $config); - } - - public function testCanCreateFromJson() - { - $file = dirname(__DIR__) . '/TestData/services/json1.json'; - // The build method will just return the config data - $this->loader->expects($this->exactly(1))->method('build')->will($this->returnArgument(0)); - $data = $this->loader->load($file); - // Ensure that the config files were merged using the includes directives - $this->assertArrayHasKey('includes', $data); - $this->assertArrayHasKey('services', $data); - $this->assertInternalType('array', $data['services']['foo']); - $this->assertInternalType('array', $data['services']['abstract']); - $this->assertInternalType('array', $data['services']['mock']); - $this->assertEquals('bar', $data['services']['foo']['params']['baz']); - } - - public function testUsesAliases() - { - $file = dirname(__DIR__) . '/TestData/services/json1.json'; - $this->loader->addAlias('foo', $file); - // The build method will just return the config data - $this->loader->expects($this->exactly(1))->method('build')->will($this->returnArgument(0)); - $data = $this->loader->load('foo'); - $this->assertEquals('bar', $data['services']['foo']['params']['baz']); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - * @expectedExceptionMessage Unable to open foo.json - */ - public function testCanRemoveAliases() - { - $file = dirname(__DIR__) . '/TestData/services/json1.json'; - $this->loader->addAlias('foo.json', $file); - $this->loader->removeAlias('foo.json'); - $this->loader->load('foo.json'); - } - - public function testCanLoadArraysWithIncludes() - { - $file = dirname(__DIR__) . '/TestData/services/json1.json'; - $config = array('includes' => array($file)); - // The build method will just return the config data - $this->loader->expects($this->exactly(1))->method('build')->will($this->returnArgument(0)); - $data = $this->loader->load($config); - $this->assertEquals('bar', $data['services']['foo']['params']['baz']); - } - - public function testDoesNotEnterInfiniteLoop() - { - $prefix = $file = dirname(__DIR__) . '/TestData/description'; - $this->loader->load("{$prefix}/baz.json"); - $this->assertCount(4, $this->readAttribute($this->loader, 'loadedFiles')); - // Ensure that the internal list of loaded files is reset - $this->loader->load("{$prefix}/../test_service2.json"); - $this->assertCount(1, $this->readAttribute($this->loader, 'loadedFiles')); - // Ensure that previously loaded files will be reloaded when starting fresh - $this->loader->load("{$prefix}/baz.json"); - $this->assertCount(4, $this->readAttribute($this->loader, 'loadedFiles')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderLoaderTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderLoaderTest.php deleted file mode 100644 index f63070e3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderLoaderTest.php +++ /dev/null @@ -1,177 +0,0 @@ - array( - 'abstract' => array( - 'params' => array( - 'access_key' => 'xyz', - 'secret' => 'abc', - ), - ), - 'foo' => array( - 'extends' => 'abstract', - 'params' => array( - 'baz' => 'bar', - ), - ), - 'mock' => array( - 'extends' => 'abstract', - 'params' => array( - 'username' => 'foo', - 'password' => 'baz', - 'subdomain' => 'bar', - ) - ) - ) - ); - - $builder = $arrayFactory->load($data); - - // Ensure that services were parsed - $this->assertTrue(isset($builder['mock'])); - $this->assertTrue(isset($builder['abstract'])); - $this->assertTrue(isset($builder['foo'])); - $this->assertFalse(isset($builder['jimmy'])); - } - - /** - * @expectedException Guzzle\Service\Exception\ServiceNotFoundException - * @expectedExceptionMessage foo is trying to extend a non-existent service: abstract - */ - public function testThrowsExceptionWhenExtendingNonExistentService() - { - $arrayFactory = new ServiceBuilderLoader(); - - $data = array( - 'services' => array( - 'foo' => array( - 'extends' => 'abstract' - ) - ) - ); - - $builder = $arrayFactory->load($data); - } - - public function testAllowsGlobalParameterOverrides() - { - $arrayFactory = new ServiceBuilderLoader(); - - $data = array( - 'services' => array( - 'foo' => array( - 'params' => array( - 'foo' => 'baz', - 'bar' => 'boo' - ) - ) - ) - ); - - $builder = $arrayFactory->load($data, array( - 'bar' => 'jar', - 'far' => 'car' - )); - - $compiled = json_decode($builder->serialize(), true); - $this->assertEquals(array( - 'foo' => 'baz', - 'bar' => 'jar', - 'far' => 'car' - ), $compiled['foo']['params']); - } - - public function tstDoesNotErrorOnCircularReferences() - { - $arrayFactory = new ServiceBuilderLoader(); - $arrayFactory->load(array( - 'services' => array( - 'too' => array('extends' => 'ball'), - 'ball' => array('extends' => 'too'), - ) - )); - } - - public function configProvider() - { - $foo = array( - 'extends' => 'bar', - 'class' => 'stdClass', - 'params' => array('a' => 'test', 'b' => '456') - ); - - return array( - array( - // Does not extend the existing `foo` service but overwrites it - array( - 'services' => array( - 'foo' => $foo, - 'bar' => array('params' => array('baz' => '123')) - ) - ), - array( - 'services' => array( - 'foo' => array('class' => 'Baz') - ) - ), - array( - 'services' => array( - 'foo' => array('class' => 'Baz'), - 'bar' => array('params' => array('baz' => '123')) - ) - ) - ), - array( - // Extends the existing `foo` service - array( - 'services' => array( - 'foo' => $foo, - 'bar' => array('params' => array('baz' => '123')) - ) - ), - array( - 'services' => array( - 'foo' => array( - 'extends' => 'foo', - 'params' => array('b' => '123', 'c' => 'def') - ) - ) - ), - array( - 'services' => array( - 'foo' => array( - 'extends' => 'bar', - 'class' => 'stdClass', - 'params' => array('a' => 'test', 'b' => '123', 'c' => 'def') - ), - 'bar' => array('params' => array('baz' => '123')) - ) - ) - ) - ); - } - - /** - * @dataProvider configProvider - */ - public function testCombinesConfigs($a, $b, $c) - { - $l = new ServiceBuilderLoader(); - $m = new \ReflectionMethod($l, 'mergeData'); - $m->setAccessible(true); - $this->assertEquals($c, $m->invoke($l, $a, $b)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderTest.php deleted file mode 100644 index e1b3a1d4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Builder/ServiceBuilderTest.php +++ /dev/null @@ -1,317 +0,0 @@ - array( - 'class' => 'Guzzle\Tests\Service\Mock\MockClient', - 'params' => array( - 'username' => 'michael', - 'password' => 'testing123', - 'subdomain' => 'michael', - ), - ), - 'billy.mock' => array( - 'alias' => 'Hello!', - 'class' => 'Guzzle\Tests\Service\Mock\MockClient', - 'params' => array( - 'username' => 'billy', - 'password' => 'passw0rd', - 'subdomain' => 'billy', - ), - ), - 'billy.testing' => array( - 'extends' => 'billy.mock', - 'params' => array( - 'subdomain' => 'test.billy', - ), - ), - 'missing_params' => array( - 'extends' => 'billy.mock' - ) - ); - - public function testAllowsSerialization() - { - $builder = ServiceBuilder::factory($this->arrayData); - $cached = unserialize(serialize($builder)); - $this->assertEquals($cached, $builder); - } - - public function testDelegatesFactoryMethodToAbstractFactory() - { - $builder = ServiceBuilder::factory($this->arrayData); - $c = $builder->get('michael.mock'); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\MockClient', $c); - } - - /** - * @expectedException Guzzle\Service\Exception\ServiceNotFoundException - * @expectedExceptionMessage No service is registered as foobar - */ - public function testThrowsExceptionWhenGettingInvalidClient() - { - ServiceBuilder::factory($this->arrayData)->get('foobar'); - } - - public function testStoresClientCopy() - { - $builder = ServiceBuilder::factory($this->arrayData); - $client = $builder->get('michael.mock'); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\MockClient', $client); - $this->assertEquals('http://127.0.0.1:8124/v1/michael', $client->getBaseUrl()); - $this->assertEquals($client, $builder->get('michael.mock')); - - // Get another client but throw this one away - $client2 = $builder->get('billy.mock', true); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\MockClient', $client2); - $this->assertEquals('http://127.0.0.1:8124/v1/billy', $client2->getBaseUrl()); - - // Make sure the original client is still there and set - $this->assertTrue($client === $builder->get('michael.mock')); - - // Create a new billy.mock client that is stored - $client3 = $builder->get('billy.mock'); - - // Make sure that the stored billy.mock client is equal to the other stored client - $this->assertTrue($client3 === $builder->get('billy.mock')); - - // Make sure that this client is not equal to the previous throwaway client - $this->assertFalse($client2 === $builder->get('billy.mock')); - } - - public function testBuildersPassOptionsThroughToClients() - { - $s = new ServiceBuilder(array( - 'michael.mock' => array( - 'class' => 'Guzzle\Tests\Service\Mock\MockClient', - 'params' => array( - 'base_url' => 'http://www.test.com/', - 'subdomain' => 'michael', - 'password' => 'test', - 'username' => 'michael', - 'curl.curlopt_proxyport' => 8080 - ) - ) - )); - - $c = $s->get('michael.mock'); - $this->assertEquals(8080, $c->getConfig('curl.curlopt_proxyport')); - } - - public function testUsesTheDefaultBuilderWhenNoBuilderIsSpecified() - { - $s = new ServiceBuilder(array( - 'michael.mock' => array( - 'class' => 'Guzzle\Tests\Service\Mock\MockClient', - 'params' => array( - 'base_url' => 'http://www.test.com/', - 'subdomain' => 'michael', - 'password' => 'test', - 'username' => 'michael', - 'curl.curlopt_proxyport' => 8080 - ) - ) - )); - - $c = $s->get('michael.mock'); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\MockClient', $c); - } - - public function testUsedAsArray() - { - $b = ServiceBuilder::factory($this->arrayData); - $this->assertTrue($b->offsetExists('michael.mock')); - $this->assertFalse($b->offsetExists('not_there')); - $this->assertInstanceOf('Guzzle\Service\Client', $b['michael.mock']); - - unset($b['michael.mock']); - $this->assertFalse($b->offsetExists('michael.mock')); - - $b['michael.mock'] = new Client('http://www.test.com/'); - $this->assertInstanceOf('Guzzle\Service\Client', $b['michael.mock']); - } - - public function testFactoryCanCreateFromJson() - { - $tmp = sys_get_temp_dir() . '/test.js'; - file_put_contents($tmp, json_encode($this->arrayData)); - $b = ServiceBuilder::factory($tmp); - unlink($tmp); - $s = $b->get('billy.testing'); - $this->assertEquals('test.billy', $s->getConfig('subdomain')); - $this->assertEquals('billy', $s->getConfig('username')); - } - - public function testFactoryCanCreateFromArray() - { - $b = ServiceBuilder::factory($this->arrayData); - $s = $b->get('billy.testing'); - $this->assertEquals('test.billy', $s->getConfig('subdomain')); - $this->assertEquals('billy', $s->getConfig('username')); - } - - public function testFactoryDoesNotRequireParams() - { - $b = ServiceBuilder::factory($this->arrayData); - $s = $b->get('missing_params'); - $this->assertEquals('billy', $s->getConfig('username')); - } - - public function testBuilderAllowsReferencesBetweenClients() - { - $builder = ServiceBuilder::factory(array( - 'a' => array( - 'class' => 'Guzzle\Tests\Service\Mock\MockClient', - 'params' => array( - 'other_client' => '{b}', - 'username' => 'x', - 'password' => 'y', - 'subdomain' => 'z' - ) - ), - 'b' => array( - 'class' => 'Guzzle\Tests\Service\Mock\MockClient', - 'params' => array( - 'username' => '1', - 'password' => '2', - 'subdomain' => '3' - ) - ) - )); - - $client = $builder['a']; - $this->assertEquals('x', $client->getConfig('username')); - $this->assertSame($builder['b'], $client->getConfig('other_client')); - $this->assertEquals('1', $builder['b']->getConfig('username')); - } - - public function testEmitsEventsWhenClientsAreCreated() - { - // Ensure that the client signals that it emits an event - $this->assertEquals(array('service_builder.create_client'), ServiceBuilder::getAllEvents()); - - // Create a test service builder - $builder = ServiceBuilder::factory(array( - 'a' => array( - 'class' => 'Guzzle\Tests\Service\Mock\MockClient', - 'params' => array( - 'username' => 'test', - 'password' => '123', - 'subdomain' => 'z' - ) - ) - )); - - // Add an event listener to pick up client creation events - $emits = 0; - $builder->getEventDispatcher()->addListener('service_builder.create_client', function($event) use (&$emits) { - $emits++; - }); - - // Get the 'a' client by name - $client = $builder->get('a'); - - // Ensure that the event was emitted once, and that the client was present - $this->assertEquals(1, $emits); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\MockClient', $client); - } - - public function testCanAddGlobalParametersToServicesOnLoad() - { - $builder = ServiceBuilder::factory($this->arrayData, array( - 'username' => 'fred', - 'new_value' => 'test' - )); - - $data = json_decode($builder->serialize(), true); - - foreach ($data as $service) { - $this->assertEquals('fred', $service['params']['username']); - $this->assertEquals('test', $service['params']['new_value']); - } - } - - public function testAddsGlobalPlugins() - { - $b = new ServiceBuilder($this->arrayData); - $b->addGlobalPlugin(new HistoryPlugin()); - $s = $b->get('michael.mock'); - $this->assertTrue($s->getEventDispatcher()->hasListeners('request.sent')); - } - - public function testCanGetData() - { - $b = new ServiceBuilder($this->arrayData); - $this->assertEquals($this->arrayData['michael.mock'], $b->getData('michael.mock')); - $this->assertNull($b->getData('ewofweoweofe')); - } - - public function testCanGetByAlias() - { - $b = new ServiceBuilder($this->arrayData); - $this->assertSame($b->get('billy.mock'), $b->get('Hello!')); - } - - public function testCanOverwriteParametersForThrowawayClients() - { - $b = new ServiceBuilder($this->arrayData); - - $c1 = $b->get('michael.mock'); - $this->assertEquals('michael', $c1->getConfig('username')); - - $c2 = $b->get('michael.mock', array('username' => 'jeremy')); - $this->assertEquals('jeremy', $c2->getConfig('username')); - } - - public function testGettingAThrowawayClientWithParametersDoesNotAffectGettingOtherClients() - { - $b = new ServiceBuilder($this->arrayData); - - $c1 = $b->get('michael.mock', array('username' => 'jeremy')); - $this->assertEquals('jeremy', $c1->getConfig('username')); - - $c2 = $b->get('michael.mock'); - $this->assertEquals('michael', $c2->getConfig('username')); - } - - public function testCanUseArbitraryData() - { - $b = new ServiceBuilder(); - $b['a'] = 'foo'; - $this->assertTrue(isset($b['a'])); - $this->assertEquals('foo', $b['a']); - unset($b['a']); - $this->assertFalse(isset($b['a'])); - } - - public function testCanRegisterServiceData() - { - $b = new ServiceBuilder(); - $b['a'] = array( - 'class' => 'Guzzle\Tests\Service\Mock\MockClient', - 'params' => array( - 'username' => 'billy', - 'password' => 'passw0rd', - 'subdomain' => 'billy', - ) - ); - $this->assertTrue(isset($b['a'])); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\MockClient', $b['a']); - $client = $b['a']; - unset($b['a']); - $this->assertFalse(isset($b['a'])); - // Ensure that instantiated clients can be registered - $b['mock'] = $client; - $this->assertSame($client, $b['mock']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/CachingConfigLoaderTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/CachingConfigLoaderTest.php deleted file mode 100644 index b8245ad5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/CachingConfigLoaderTest.php +++ /dev/null @@ -1,43 +0,0 @@ -getMockBuilder('Guzzle\Service\ConfigLoaderInterface') - ->setMethods(array('load')) - ->getMockForAbstractClass(); - $data = array('foo' => 'bar'); - $loader->expects($this->once()) - ->method('load') - ->will($this->returnValue($data)); - $cache = new CachingConfigLoader($loader, $cache); - $this->assertEquals($data, $cache->load('foo')); - $this->assertEquals($data, $cache->load('foo')); - } - - public function testDoesNotCacheArrays() - { - $cache = new DoctrineCacheAdapter(new ArrayCache()); - $loader = $this->getMockBuilder('Guzzle\Service\ConfigLoaderInterface') - ->setMethods(array('load')) - ->getMockForAbstractClass(); - $data = array('foo' => 'bar'); - $loader->expects($this->exactly(2)) - ->method('load') - ->will($this->returnValue($data)); - $cache = new CachingConfigLoader($loader, $cache); - $this->assertEquals($data, $cache->load(array())); - $this->assertEquals($data, $cache->load(array())); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/ClientTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/ClientTest.php deleted file mode 100644 index aee29ed8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/ClientTest.php +++ /dev/null @@ -1,320 +0,0 @@ -serviceTest = new ServiceDescription(array( - 'test_command' => new Operation(array( - 'doc' => 'documentationForCommand', - 'method' => 'DELETE', - 'class' => 'Guzzle\\Tests\\Service\\Mock\\Command\\MockCommand', - 'args' => array( - 'bucket' => array( - 'required' => true - ), - 'key' => array( - 'required' => true - ) - ) - )) - )); - - $this->service = ServiceDescription::factory(__DIR__ . '/../TestData/test_service.json'); - } - - public function testAllowsCustomClientParameters() - { - $client = new Mock\MockClient(null, array( - Client::COMMAND_PARAMS => array(AbstractCommand::RESPONSE_PROCESSING => 'foo') - )); - $command = $client->getCommand('mock_command'); - $this->assertEquals('foo', $command->get(AbstractCommand::RESPONSE_PROCESSING)); - } - - public function testFactoryCreatesClient() - { - $client = Client::factory(array( - 'base_url' => 'http://www.test.com/', - 'test' => '123' - )); - - $this->assertEquals('http://www.test.com/', $client->getBaseUrl()); - $this->assertEquals('123', $client->getConfig('test')); - } - - public function testFactoryDoesNotRequireBaseUrl() - { - $client = Client::factory(); - } - - public function testDescribesEvents() - { - $this->assertInternalType('array', Client::getAllEvents()); - } - - public function testExecutesCommands() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - - $client = new Client($this->getServer()->getUrl()); - $cmd = new MockCommand(); - $client->execute($cmd); - - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $cmd->getResponse()); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Response', $cmd->getResult()); - $this->assertEquals(1, count($this->getServer()->getReceivedRequests(false))); - } - - public function testExecutesCommandsWithArray() - { - $client = new Client('http://www.test.com/'); - $client->getEventDispatcher()->addSubscriber(new MockPlugin(array( - new Response(200), - new Response(200) - ))); - - // Create a command set and a command - $set = array(new MockCommand(), new MockCommand()); - $client->execute($set); - - // Make sure it sent - $this->assertTrue($set[0]->isExecuted()); - $this->assertTrue($set[1]->isExecuted()); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testThrowsExceptionWhenInvalidCommandIsExecuted() - { - $client = new Client(); - $client->execute(new \stdClass()); - } - - /** - * @expectedException InvalidArgumentException - */ - public function testThrowsExceptionWhenMissingCommand() - { - $client = new Client(); - - $mock = $this->getMock('Guzzle\\Service\\Command\\Factory\\FactoryInterface'); - $mock->expects($this->any()) - ->method('factory') - ->with($this->equalTo('test')) - ->will($this->returnValue(null)); - - $client->setCommandFactory($mock); - $client->getCommand('test'); - } - - public function testCreatesCommandsUsingCommandFactory() - { - $mockCommand = new MockCommand(); - - $client = new Mock\MockClient(); - $mock = $this->getMock('Guzzle\\Service\\Command\\Factory\\FactoryInterface'); - $mock->expects($this->any()) - ->method('factory') - ->with($this->equalTo('foo')) - ->will($this->returnValue($mockCommand)); - - $client->setCommandFactory($mock); - - $command = $client->getCommand('foo', array('acl' => '123')); - $this->assertSame($mockCommand, $command); - $command = $client->getCommand('foo', array('acl' => '123')); - $this->assertSame($mockCommand, $command); - $this->assertSame($client, $command->getClient()); - } - - public function testOwnsServiceDescription() - { - $client = new Mock\MockClient(); - $this->assertNull($client->getDescription()); - - $description = $this->getMock('Guzzle\\Service\\Description\\ServiceDescription'); - $this->assertSame($client, $client->setDescription($description)); - $this->assertSame($description, $client->getDescription()); - } - - public function testOwnsResourceIteratorFactory() - { - $client = new Mock\MockClient(); - - $method = new \ReflectionMethod($client, 'getResourceIteratorFactory'); - $method->setAccessible(TRUE); - $rf1 = $method->invoke($client); - - $rf = $this->readAttribute($client, 'resourceIteratorFactory'); - $this->assertInstanceOf('Guzzle\\Service\\Resource\\ResourceIteratorClassFactory', $rf); - $this->assertSame($rf1, $rf); - - $rf = new ResourceIteratorClassFactory('Guzzle\Tests\Service\Mock'); - $client->setResourceIteratorFactory($rf); - $this->assertNotSame($rf1, $rf); - } - - public function testClientResetsRequestsBeforeExecutingCommands() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nHi", - "HTTP/1.1 200 OK\r\nContent-Length: 1\r\n\r\nI" - )); - - $client = new Mock\MockClient($this->getServer()->getUrl()); - - $command = $client->getCommand('mock_command'); - $client->execute($command); - $client->execute($command); - $this->assertEquals('I', $command->getResponse()->getBody(true)); - } - - public function testClientCreatesIterators() - { - $client = new Mock\MockClient(); - - $iterator = $client->getIterator('mock_command', array( - 'foo' => 'bar' - ), array( - 'limit' => 10 - )); - - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\Model\MockCommandIterator', $iterator); - $this->assertEquals(10, $this->readAttribute($iterator, 'limit')); - - $command = $this->readAttribute($iterator, 'originalCommand'); - $this->assertEquals('bar', $command->get('foo')); - } - - public function testClientCreatesIteratorsWithNoOptions() - { - $client = new Mock\MockClient(); - $iterator = $client->getIterator('mock_command'); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\Model\MockCommandIterator', $iterator); - } - - public function testClientCreatesIteratorsWithCommands() - { - $client = new Mock\MockClient(); - $command = new MockCommand(); - $iterator = $client->getIterator($command); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\Model\MockCommandIterator', $iterator); - $iteratorCommand = $this->readAttribute($iterator, 'originalCommand'); - $this->assertSame($command, $iteratorCommand); - } - - public function testClientHoldsInflector() - { - $client = new Mock\MockClient(); - $this->assertInstanceOf('Guzzle\Inflection\MemoizingInflector', $client->getInflector()); - - $inflector = new Inflector(); - $client->setInflector($inflector); - $this->assertSame($inflector, $client->getInflector()); - } - - public function testClientAddsGlobalCommandOptions() - { - $client = new Mock\MockClient('http://www.foo.com', array( - Client::COMMAND_PARAMS => array( - 'mesa' => 'bar' - ) - )); - $command = $client->getCommand('mock_command'); - $this->assertEquals('bar', $command->get('mesa')); - } - - public function testSupportsServiceDescriptionBaseUrls() - { - $description = new ServiceDescription(array('baseUrl' => 'http://foo.com')); - $client = new Client(); - $client->setDescription($description); - $this->assertEquals('http://foo.com', $client->getBaseUrl()); - } - - public function testMergesDefaultCommandParamsCorrectly() - { - $client = new Mock\MockClient('http://www.foo.com', array( - Client::COMMAND_PARAMS => array( - 'mesa' => 'bar', - 'jar' => 'jar' - ) - )); - $command = $client->getCommand('mock_command', array('jar' => 'test')); - $this->assertEquals('bar', $command->get('mesa')); - $this->assertEquals('test', $command->get('jar')); - } - - /** - * @expectedException \Guzzle\Http\Exception\BadResponseException - */ - public function testWrapsSingleCommandExceptions() - { - $client = new Mock\MockClient('http://foobaz.com'); - $mock = new MockPlugin(array(new Response(401))); - $client->addSubscriber($mock); - $client->execute(new MockCommand()); - } - - public function testWrapsMultipleCommandExceptions() - { - $client = new Mock\MockClient('http://foobaz.com'); - $mock = new MockPlugin(array(new Response(200), new Response(200), new Response(404), new Response(500))); - $client->addSubscriber($mock); - - $cmds = array(new MockCommand(), new MockCommand(), new MockCommand(), new MockCommand()); - try { - $client->execute($cmds); - } catch (CommandTransferException $e) { - $this->assertEquals(2, count($e->getFailedRequests())); - $this->assertEquals(2, count($e->getSuccessfulRequests())); - $this->assertEquals(2, count($e->getFailedCommands())); - $this->assertEquals(2, count($e->getSuccessfulCommands())); - - foreach ($e->getSuccessfulCommands() as $c) { - $this->assertTrue($c->getResponse()->isSuccessful()); - } - - foreach ($e->getFailedCommands() as $c) { - $this->assertFalse($c->getRequest()->getResponse()->isSuccessful()); - } - } - } - - public function testGetCommandAfterTwoSetDescriptions() - { - $service1 = ServiceDescription::factory(__DIR__ . '/../TestData/test_service.json'); - $service2 = ServiceDescription::factory(__DIR__ . '/../TestData/test_service_3.json'); - - $client = new Mock\MockClient(); - - $client->setDescription($service1); - $client->getCommand('foo_bar'); - $client->setDescription($service2); - $client->getCommand('baz_qux'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/AbstractCommandTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/AbstractCommandTest.php deleted file mode 100644 index 1004fae6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/AbstractCommandTest.php +++ /dev/null @@ -1,16 +0,0 @@ -setDescription(ServiceDescription::factory(__DIR__ . '/../../TestData/test_service.json')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/ClosureCommandTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/ClosureCommandTest.php deleted file mode 100644 index d7622469..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/ClosureCommandTest.php +++ /dev/null @@ -1,54 +0,0 @@ - function($command, $api) { - $command->set('testing', '123'); - $request = RequestFactory::getInstance()->create('GET', 'http://www.test.com/'); - return $request; - } - )); - - $client = $this->getServiceBuilder()->get('mock'); - $c->setClient($client)->prepare(); - $this->assertEquals('123', $c->get('testing')); - $this->assertEquals('http://www.test.com/', $c->getRequest()->getUrl()); - } - - /** - * @expectedException UnexpectedValueException - * @expectedExceptionMessage Closure command did not return a RequestInterface object - */ - public function testMustReturnRequest() - { - $c = new ClosureCommand(array( - 'closure' => function($command, $api) { - return false; - } - )); - - $client = $this->getServiceBuilder()->get('mock'); - $c->setClient($client)->prepare(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/CommandTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/CommandTest.php deleted file mode 100644 index b7173d48..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/CommandTest.php +++ /dev/null @@ -1,445 +0,0 @@ -assertEquals('123', $command->get('test')); - $this->assertFalse($command->isPrepared()); - $this->assertFalse($command->isExecuted()); - } - - public function testDeterminesShortName() - { - $api = new Operation(array('name' => 'foobar')); - $command = new MockCommand(array(), $api); - $this->assertEquals('foobar', $command->getName()); - - $command = new MockCommand(); - $this->assertEquals('mock_command', $command->getName()); - - $command = new Sub(); - $this->assertEquals('sub.sub', $command->getName()); - } - - /** - * @expectedException RuntimeException - */ - public function testGetRequestThrowsExceptionBeforePreparation() - { - $command = new MockCommand(); - $command->getRequest(); - } - - public function testGetResponseExecutesCommandsWhenNeeded() - { - $response = new Response(200); - $client = $this->getClient(); - $this->setMockResponse($client, array($response)); - $command = new MockCommand(); - $command->setClient($client); - $this->assertSame($response, $command->getResponse()); - $this->assertSame($response, $command->getResponse()); - } - - public function testGetResultExecutesCommandsWhenNeeded() - { - $response = new Response(200); - $client = $this->getClient(); - $this->setMockResponse($client, array($response)); - $command = new MockCommand(); - $command->setClient($client); - $this->assertSame($response, $command->getResult()); - $this->assertSame($response, $command->getResult()); - } - - public function testSetClient() - { - $command = new MockCommand(); - $client = $this->getClient(); - - $command->setClient($client); - $this->assertEquals($client, $command->getClient()); - - unset($client); - unset($command); - - $command = new MockCommand(); - $client = $this->getClient(); - - $command->setClient($client)->prepare(); - $this->assertEquals($client, $command->getClient()); - $this->assertTrue($command->isPrepared()); - } - - public function testExecute() - { - $client = $this->getClient(); - $response = new Response(200, array( - 'Content-Type' => 'application/xml' - ), '123'); - $this->setMockResponse($client, array($response)); - $command = new MockCommand(); - $this->assertSame($command, $command->setClient($client)); - - // Returns the result of the command - $this->assertInstanceOf('SimpleXMLElement', $command->execute()); - - $this->assertTrue($command->isPrepared()); - $this->assertTrue($command->isExecuted()); - $this->assertSame($response, $command->getResponse()); - $this->assertInstanceOf('Guzzle\\Http\\Message\\Request', $command->getRequest()); - // Make sure that the result was automatically set to a SimpleXMLElement - $this->assertInstanceOf('SimpleXMLElement', $command->getResult()); - $this->assertEquals('123', (string) $command->getResult()->data); - } - - public function testConvertsJsonResponsesToArray() - { - $client = $this->getClient(); - $this->setMockResponse($client, array( - new \Guzzle\Http\Message\Response(200, array( - 'Content-Type' => 'application/json' - ), '{ "key": "Hi!" }' - ) - )); - $command = new MockCommand(); - $command->setClient($client); - $command->execute(); - $this->assertEquals(array( - 'key' => 'Hi!' - ), $command->getResult()); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - */ - public function testConvertsInvalidJsonResponsesToArray() - { - $json = '{ "key": "Hi!" }invalid'; - // Some implementations of php-json extension are not strict enough - // and allow to parse invalid json ignoring invalid parts - // See https://github.com/remicollet/pecl-json-c/issues/5 - if (json_decode($json) && JSON_ERROR_NONE === json_last_error()) { - $this->markTestSkipped('php-pecl-json library regression issues'); - } - - $client = $this->getClient(); - $this->setMockResponse($client, array( - new \Guzzle\Http\Message\Response(200, array( - 'Content-Type' => 'application/json' - ), $json - ) - )); - $command = new MockCommand(); - $command->setClient($client); - $command->execute(); - } - - public function testProcessResponseIsNotXml() - { - $client = $this->getClient(); - $this->setMockResponse($client, array( - new Response(200, array( - 'Content-Type' => 'application/octet-stream' - ), 'abc,def,ghi') - )); - $command = new MockCommand(); - $client->execute($command); - - // Make sure that the result was not converted to XML - $this->assertFalse($command->getResult() instanceof \SimpleXMLElement); - } - - /** - * @expectedException RuntimeException - */ - public function testExecuteThrowsExceptionWhenNoClientIsSet() - { - $command = new MockCommand(); - $command->execute(); - } - - /** - * @expectedException RuntimeException - */ - public function testPrepareThrowsExceptionWhenNoClientIsSet() - { - $command = new MockCommand(); - $command->prepare(); - } - - public function testCommandsAllowsCustomRequestHeaders() - { - $command = new MockCommand(); - $command->getRequestHeaders()->set('test', '123'); - $this->assertInstanceOf('Guzzle\Common\Collection', $command->getRequestHeaders()); - $this->assertEquals('123', $command->getRequestHeaders()->get('test')); - - $command->setClient($this->getClient())->prepare(); - $this->assertEquals('123', (string) $command->getRequest()->getHeader('test')); - } - - public function testCommandsAllowsCustomRequestHeadersAsArray() - { - $command = new MockCommand(array(AbstractCommand::HEADERS_OPTION => array('Foo' => 'Bar'))); - $this->assertInstanceOf('Guzzle\Common\Collection', $command->getRequestHeaders()); - $this->assertEquals('Bar', $command->getRequestHeaders()->get('Foo')); - } - - private function getOperation() - { - return new Operation(array( - 'name' => 'foobar', - 'httpMethod' => 'POST', - 'class' => 'Guzzle\\Tests\\Service\\Mock\\Command\\MockCommand', - 'parameters' => array( - 'test' => array( - 'default' => '123', - 'type' => 'string' - ) - ))); - } - - public function testCommandsUsesOperation() - { - $api = $this->getOperation(); - $command = new MockCommand(array(), $api); - $this->assertSame($api, $command->getOperation()); - $command->setClient($this->getClient())->prepare(); - $this->assertEquals('123', $command->get('test')); - $this->assertSame($api, $command->getOperation($api)); - } - - public function testCloneMakesNewRequest() - { - $client = $this->getClient(); - $command = new MockCommand(array(), $this->getOperation()); - $command->setClient($client); - - $command->prepare(); - $this->assertTrue($command->isPrepared()); - - $command2 = clone $command; - $this->assertFalse($command2->isPrepared()); - } - - public function testHasOnCompleteMethod() - { - $that = $this; - $called = 0; - - $testFunction = function($command) use (&$called, $that) { - $called++; - $that->assertInstanceOf('Guzzle\Service\Command\CommandInterface', $command); - }; - - $client = $this->getClient(); - $command = new MockCommand(array( - 'command.on_complete' => $testFunction - ), $this->getOperation()); - $command->setClient($client); - - $command->prepare()->setResponse(new Response(200), true); - $command->execute(); - $this->assertEquals(1, $called); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - */ - public function testOnCompleteMustBeCallable() - { - $client = $this->getClient(); - $command = new MockCommand(); - $command->setOnComplete('foo'); - } - - public function testCanSetResultManually() - { - $client = $this->getClient(); - $client->getEventDispatcher()->addSubscriber(new MockPlugin(array( - new Response(200) - ))); - $command = new MockCommand(); - $client->execute($command); - $command->setResult('foo!'); - $this->assertEquals('foo!', $command->getResult()); - } - - public function testCanInitConfig() - { - $command = $this->getMockBuilder('Guzzle\\Service\\Command\\AbstractCommand') - ->setConstructorArgs(array(array( - 'foo' => 'bar' - ), new Operation(array( - 'parameters' => array( - 'baz' => new Parameter(array( - 'default' => 'baaar' - )) - ) - )))) - ->getMockForAbstractClass(); - - $this->assertEquals('bar', $command['foo']); - $this->assertEquals('baaar', $command['baz']); - } - - public function testAddsCurlOptionsToRequestsWhenPreparing() - { - $command = new MockCommand(array( - 'foo' => 'bar', - 'curl.options' => array('CURLOPT_PROXYPORT' => 8080) - )); - $client = new Client(); - $command->setClient($client); - $request = $command->prepare(); - $this->assertEquals(8080, $request->getCurlOptions()->get(CURLOPT_PROXYPORT)); - } - - public function testIsInvokable() - { - $client = $this->getClient(); - $response = new Response(200); - $this->setMockResponse($client, array($response)); - $command = new MockCommand(); - $command->setClient($client); - // Returns the result of the command - $this->assertSame($response, $command()); - } - - public function testCreatesDefaultOperation() - { - $command = $this->getMockBuilder('Guzzle\Service\Command\AbstractCommand')->getMockForAbstractClass(); - $this->assertInstanceOf('Guzzle\Service\Description\Operation', $command->getOperation()); - } - - public function testAllowsValidatorToBeInjected() - { - $command = $this->getMockBuilder('Guzzle\Service\Command\AbstractCommand')->getMockForAbstractClass(); - $v = new SchemaValidator(); - $command->setValidator($v); - $this->assertSame($v, $this->readAttribute($command, 'validator')); - } - - public function testCanDisableValidation() - { - $command = new MockCommand(); - $command->setClient(new \Guzzle\Service\Client()); - $v = $this->getMockBuilder('Guzzle\Service\Description\SchemaValidator') - ->setMethods(array('validate')) - ->getMock(); - $v->expects($this->never())->method('validate'); - $command->setValidator($v); - $command->set(AbstractCommand::DISABLE_VALIDATION, true); - $command->prepare(); - } - - public function testValidatorDoesNotUpdateNonDefaultValues() - { - $command = new MockCommand(array('test' => 123, 'foo' => 'bar')); - $command->setClient(new \Guzzle\Service\Client()); - $command->prepare(); - $this->assertEquals(123, $command->get('test')); - $this->assertEquals('bar', $command->get('foo')); - } - - public function testValidatorUpdatesDefaultValues() - { - $command = new MockCommand(); - $command->setClient(new \Guzzle\Service\Client()); - $command->prepare(); - $this->assertEquals(123, $command->get('test')); - $this->assertEquals('abc', $command->get('_internal')); - } - - /** - * @expectedException \Guzzle\Service\Exception\ValidationException - * @expectedExceptionMessage [Foo] Baz - */ - public function testValidatesCommandBeforeSending() - { - $command = new MockCommand(); - $command->setClient(new \Guzzle\Service\Client()); - $v = $this->getMockBuilder('Guzzle\Service\Description\SchemaValidator') - ->setMethods(array('validate', 'getErrors')) - ->getMock(); - $v->expects($this->any())->method('validate')->will($this->returnValue(false)); - $v->expects($this->any())->method('getErrors')->will($this->returnValue(array('[Foo] Baz', '[Bar] Boo'))); - $command->setValidator($v); - $command->prepare(); - } - - /** - * @expectedException \Guzzle\Service\Exception\ValidationException - * @expectedExceptionMessage Validation errors: [abc] must be of type string - */ - public function testValidatesAdditionalParameters() - { - $description = ServiceDescription::factory(array( - 'operations' => array( - 'foo' => array( - 'parameters' => array( - 'baz' => array('type' => 'integer') - ), - 'additionalParameters' => array( - 'type' => 'string' - ) - ) - ) - )); - - $client = new Client(); - $client->setDescription($description); - $command = $client->getCommand('foo', array( - 'abc' => false, - 'command.headers' => array('foo' => 'bar') - )); - $command->prepare(); - } - - public function testCanAccessValidationErrorsFromCommand() - { - $validationErrors = array('[Foo] Baz', '[Bar] Boo'); - $command = new MockCommand(); - $command->setClient(new \Guzzle\Service\Client()); - - $this->assertFalse($command->getValidationErrors()); - - $v = $this->getMockBuilder('Guzzle\Service\Description\SchemaValidator') - ->setMethods(array('validate', 'getErrors')) - ->getMock(); - $v->expects($this->any())->method('getErrors')->will($this->returnValue($validationErrors)); - $command->setValidator($v); - - $this->assertEquals($validationErrors, $command->getValidationErrors()); - } - - public function testCanChangeResponseBody() - { - $body = EntityBody::factory(); - $command = new MockCommand(); - $command->setClient(new \Guzzle\Service\Client()); - $command->set(AbstractCommand::RESPONSE_BODY, $body); - $request = $command->prepare(); - $this->assertSame($body, $this->readAttribute($request, 'responseBody')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultRequestSerializerTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultRequestSerializerTest.php deleted file mode 100644 index b7a4682f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultRequestSerializerTest.php +++ /dev/null @@ -1,122 +0,0 @@ -serializer = DefaultRequestSerializer::getInstance(); - $this->client = new Client('http://foo.com/baz'); - $this->operation = new Operation(array('httpMethod' => 'POST')); - $this->command = $this->getMockBuilder('Guzzle\Service\Command\AbstractCommand') - ->setConstructorArgs(array(array(), $this->operation)) - ->getMockForAbstractClass(); - $this->command->setClient($this->client); - } - - public function testAllowsCustomVisitor() - { - $this->serializer->addVisitor('custom', new HeaderVisitor()); - $this->command['test'] = '123'; - $this->operation->addParam(new Parameter(array('name' => 'test', 'location' => 'custom'))); - $request = $this->serializer->prepare($this->command); - $this->assertEquals('123', (string) $request->getHeader('test')); - } - - public function testUsesRelativePath() - { - $this->operation->setUri('bar'); - $request = $this->serializer->prepare($this->command); - $this->assertEquals('http://foo.com/baz/bar', (string) $request->getUrl()); - } - - public function testUsesRelativePathWithUriLocations() - { - $this->command['test'] = '123'; - $this->operation->setUri('bar/{test}'); - $this->operation->addParam(new Parameter(array('name' => 'test', 'location' => 'uri'))); - $request = $this->serializer->prepare($this->command); - $this->assertEquals('http://foo.com/baz/bar/123', (string) $request->getUrl()); - } - - public function testAllowsCustomFactory() - { - $f = new VisitorFlyweight(); - $serializer = new DefaultRequestSerializer($f); - $this->assertSame($f, $this->readAttribute($serializer, 'factory')); - } - - public function testMixedParams() - { - $this->operation->setUri('bar{?limit,fields}'); - $this->operation->addParam(new Parameter(array( - 'name' => 'limit', - 'location' => 'uri', - 'required' => false, - ))); - $this->operation->addParam(new Parameter(array( - 'name' => 'fields', - 'location' => 'uri', - 'required' => true, - ))); - - $this->command['fields'] = array('id', 'name'); - - $request = $this->serializer->prepare($this->command); - $this->assertEquals('http://foo.com/baz/bar?fields='.urlencode('id,name'), (string) $request->getUrl()); - } - - public function testValidatesAdditionalParameters() - { - $description = ServiceDescription::factory(array( - 'operations' => array( - 'foo' => array( - 'httpMethod' => 'PUT', - 'parameters' => array( - 'bar' => array('location' => 'header') - ), - 'additionalParameters' => array( - 'location' => 'json' - ) - ) - ) - )); - - $client = new Client(); - $client->setDescription($description); - $command = $client->getCommand('foo'); - $command['bar'] = 'test'; - $command['hello'] = 'abc'; - $request = $command->prepare(); - $this->assertEquals('test', (string) $request->getHeader('bar')); - $this->assertEquals('{"hello":"abc"}', (string) $request->getBody()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultResponseParserTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultResponseParserTest.php deleted file mode 100644 index a6a02f95..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/DefaultResponseParserTest.php +++ /dev/null @@ -1,59 +0,0 @@ -setClient(new Client()); - $request = $op->prepare(); - $request->setResponse(new Response(200, array( - 'Content-Type' => 'application/xml' - ), 'Bar'), true); - $this->assertInstanceOf('SimpleXMLElement', $op->execute()); - } - - public function testParsesJsonResponses() - { - $op = new OperationCommand(array(), new Operation()); - $op->setClient(new Client()); - $request = $op->prepare(); - $request->setResponse(new Response(200, array( - 'Content-Type' => 'application/json' - ), '{"Baz":"Bar"}'), true); - $this->assertEquals(array('Baz' => 'Bar'), $op->execute()); - } - - /** - * @expectedException \Guzzle\Common\Exception\RuntimeException - */ - public function testThrowsExceptionWhenParsingJsonFails() - { - $op = new OperationCommand(array(), new Operation()); - $op->setClient(new Client()); - $request = $op->prepare(); - $request->setResponse(new Response(200, array('Content-Type' => 'application/json'), '{"Baz":ddw}'), true); - $op->execute(); - } - - public function testAddsContentTypeWhenExpectsIsSetOnCommand() - { - $op = new OperationCommand(array(), new Operation()); - $op['command.expects'] = 'application/json'; - $op->setClient(new Client()); - $request = $op->prepare(); - $request->setResponse(new Response(200, null, '{"Baz":"Bar"}'), true); - $this->assertEquals(array('Baz' => 'Bar'), $op->execute()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/AliasFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/AliasFactoryTest.php deleted file mode 100644 index ab1041ad..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/AliasFactoryTest.php +++ /dev/null @@ -1,76 +0,0 @@ -client = new Client(); - - $map = new MapFactory(array( - 'test' => 'Guzzle\Tests\Service\Mock\Command\MockCommand', - 'test1' => 'Guzzle\Tests\Service\Mock\Command\OtherCommand' - )); - - $this->factory = new AliasFactory($this->client, array( - 'foo' => 'test', - 'bar' => 'sub', - 'sub' => 'test1', - 'krull' => 'test3', - 'krull_2' => 'krull', - 'sub_2' => 'bar', - 'bad_link' => 'jarjar' - )); - - $map2 = new MapFactory(array( - 'test3' => 'Guzzle\Tests\Service\Mock\Command\Sub\Sub' - )); - - $this->client->setCommandFactory(new CompositeFactory(array($map, $this->factory, $map2))); - } - - public function aliasProvider() - { - return array( - array('foo', 'Guzzle\Tests\Service\Mock\Command\MockCommand', false), - array('bar', 'Guzzle\Tests\Service\Mock\Command\OtherCommand', false), - array('sub', 'Guzzle\Tests\Service\Mock\Command\OtherCommand', false), - array('sub_2', 'Guzzle\Tests\Service\Mock\Command\OtherCommand', false), - array('krull', 'Guzzle\Tests\Service\Mock\Command\Sub\Sub', false), - array('krull_2', 'Guzzle\Tests\Service\Mock\Command\Sub\Sub', false), - array('missing', null, true), - array('bad_link', null, true) - ); - } - - /** - * @dataProvider aliasProvider - */ - public function testAliasesCommands($key, $result, $exception) - { - try { - $command = $this->client->getCommand($key); - if (is_null($result)) { - $this->assertNull($command); - } else { - $this->assertInstanceof($result, $command); - } - } catch (\Exception $e) { - if (!$exception) { - $this->fail('Got exception when it was not expected'); - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/CompositeFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/CompositeFactoryTest.php deleted file mode 100644 index b896dcfd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/CompositeFactoryTest.php +++ /dev/null @@ -1,124 +0,0 @@ -getMockBuilder($class) - ->disableOriginalConstructor() - ->getMock(); - } - - public function testIsIterable() - { - $factory = new CompositeFactory(array($this->getFactory(), $this->getFactory())); - $this->assertEquals(2, count($factory)); - $this->assertEquals(2, count(iterator_to_array($factory->getIterator()))); - } - - public function testFindsFactories() - { - $f1 = $this->getFactory(); - $f2 = $this->getFactory('Guzzle\\Service\\Command\\Factory\\CompositeFactory'); - $factory = new CompositeFactory(array($f1, $f2)); - $this->assertNull($factory->find('foo')); - $this->assertNull($factory->find($this->getFactory())); - $this->assertSame($f1, $factory->find('Guzzle\\Service\\Command\\Factory\\MapFactory')); - $this->assertSame($f2, $factory->find('Guzzle\\Service\\Command\\Factory\\CompositeFactory')); - $this->assertSame($f1, $factory->find($f1)); - $this->assertSame($f2, $factory->find($f2)); - - $this->assertFalse($factory->has('foo')); - $this->assertTrue($factory->has('Guzzle\\Service\\Command\\Factory\\MapFactory')); - $this->assertTrue($factory->has('Guzzle\\Service\\Command\\Factory\\CompositeFactory')); - } - - public function testCreatesCommands() - { - $factory = new CompositeFactory(); - $this->assertNull($factory->factory('foo')); - - $f1 = $this->getFactory(); - $mockCommand1 = $this->getMockForAbstractClass('Guzzle\\Service\\Command\\AbstractCommand'); - - $f1->expects($this->once()) - ->method('factory') - ->with($this->equalTo('foo')) - ->will($this->returnValue($mockCommand1)); - - $factory = new CompositeFactory(array($f1)); - $this->assertSame($mockCommand1, $factory->factory('foo')); - } - - public function testAllowsRemovalOfFactories() - { - $f1 = $this->getFactory(); - $f2 = $this->getFactory(); - $f3 = $this->getFactory('Guzzle\\Service\\Command\\Factory\\CompositeFactory'); - $factories = array($f1, $f2, $f3); - $factory = new CompositeFactory($factories); - - $factory->remove('foo'); - $this->assertEquals($factories, $factory->getIterator()->getArrayCopy()); - - $factory->remove($f1); - $this->assertEquals(array($f2, $f3), $factory->getIterator()->getArrayCopy()); - - $factory->remove('Guzzle\\Service\\Command\\Factory\\MapFactory'); - $this->assertEquals(array($f3), $factory->getIterator()->getArrayCopy()); - - $factory->remove('Guzzle\\Service\\Command\\Factory\\CompositeFactory'); - $this->assertEquals(array(), $factory->getIterator()->getArrayCopy()); - - $factory->remove('foo'); - $this->assertEquals(array(), $factory->getIterator()->getArrayCopy()); - } - - public function testAddsFactoriesBeforeAndAtEnd() - { - $f1 = $this->getFactory(); - $f2 = $this->getFactory(); - $f3 = $this->getFactory('Guzzle\\Service\\Command\\Factory\\CompositeFactory'); - $f4 = $this->getFactory(); - - $factory = new CompositeFactory(); - - $factory->add($f1); - $this->assertEquals(array($f1), $factory->getIterator()->getArrayCopy()); - - $factory->add($f2); - $this->assertEquals(array($f1, $f2), $factory->getIterator()->getArrayCopy()); - - $factory->add($f3, $f2); - $this->assertEquals(array($f1, $f3, $f2), $factory->getIterator()->getArrayCopy()); - - $factory->add($f4, 'Guzzle\\Service\\Command\\Factory\\CompositeFactory'); - $this->assertEquals(array($f1, $f4, $f3, $f2), $factory->getIterator()->getArrayCopy()); - } - - public function testProvidesDefaultChainForClients() - { - $client = $this->getMock('Guzzle\\Service\\Client'); - $chain = CompositeFactory::getDefaultChain($client); - $a = $chain->getIterator()->getArrayCopy(); - $this->assertEquals(1, count($a)); - $this->assertInstanceOf('Guzzle\\Service\\Command\\Factory\\ConcreteClassFactory', $a[0]); - - $description = $this->getMock('Guzzle\\Service\\Description\\ServiceDescription'); - $client->expects($this->once()) - ->method('getDescription') - ->will($this->returnValue($description)); - $chain = CompositeFactory::getDefaultChain($client); - $a = $chain->getIterator()->getArrayCopy(); - $this->assertEquals(2, count($a)); - $this->assertInstanceOf('Guzzle\\Service\\Command\\Factory\\ServiceDescriptionFactory', $a[0]); - $this->assertInstanceOf('Guzzle\\Service\\Command\\Factory\\ConcreteClassFactory', $a[1]); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ConcreteClassFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ConcreteClassFactoryTest.php deleted file mode 100644 index 76647182..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ConcreteClassFactoryTest.php +++ /dev/null @@ -1,49 +0,0 @@ - $prefix - )); - } - - $factory = new ConcreteClassFactory($client); - - if (is_null($result)) { - $this->assertNull($factory->factory($key)); - } else { - $this->assertInstanceof($result, $factory->factory($key)); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/MapFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/MapFactoryTest.php deleted file mode 100644 index ee720d1e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/MapFactoryTest.php +++ /dev/null @@ -1,37 +0,0 @@ - 'Guzzle\Tests\Service\Mock\Command\MockCommand', - 'test1' => 'Guzzle\Tests\Service\Mock\Command\OtherCommand' - )); - - if (is_null($result)) { - $this->assertNull($factory->factory($key)); - } else { - $this->assertInstanceof($result, $factory->factory($key)); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ServiceDescriptionFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ServiceDescriptionFactoryTest.php deleted file mode 100644 index 33726348..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/Factory/ServiceDescriptionFactoryTest.php +++ /dev/null @@ -1,68 +0,0 @@ -getDescription(); - - $factory = new ServiceDescriptionFactory($d); - $this->assertSame($d, $factory->getServiceDescription()); - - if (is_null($result)) { - $this->assertNull($factory->factory($key)); - } else { - $this->assertInstanceof($result, $factory->factory($key)); - } - } - - public function testUsesUcFirstIfNoExactMatch() - { - $d = $this->getDescription(); - $factory = new ServiceDescriptionFactory($d, new Inflector()); - $this->assertInstanceof('Guzzle\Tests\Service\Mock\Command\OtherCommand', $factory->factory('Test')); - $this->assertInstanceof('Guzzle\Tests\Service\Mock\Command\OtherCommand', $factory->factory('test')); - } - - public function testUsesInflectionIfNoExactMatch() - { - $d = $this->getDescription(); - $factory = new ServiceDescriptionFactory($d, new Inflector()); - $this->assertInstanceof('Guzzle\Tests\Service\Mock\Command\OtherCommand', $factory->factory('Binks')); - $this->assertInstanceof('Guzzle\Tests\Service\Mock\Command\OtherCommand', $factory->factory('binks')); - $this->assertInstanceof('Guzzle\Tests\Service\Mock\Command\MockCommand', $factory->factory('JarJar')); - $this->assertInstanceof('Guzzle\Tests\Service\Mock\Command\MockCommand', $factory->factory('jar_jar')); - } - - protected function getDescription() - { - return ServiceDescription::factory(array( - 'operations' => array( - 'jar_jar' => array('class' => 'Guzzle\Tests\Service\Mock\Command\MockCommand'), - 'binks' => array('class' => 'Guzzle\Tests\Service\Mock\Command\OtherCommand'), - 'Test' => array('class' => 'Guzzle\Tests\Service\Mock\Command\OtherCommand') - ) - )); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/AbstractVisitorTestCase.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/AbstractVisitorTestCase.php deleted file mode 100644 index 46b472eb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/AbstractVisitorTestCase.php +++ /dev/null @@ -1,110 +0,0 @@ -command = new MockCommand(); - $this->request = new EntityEnclosingRequest('POST', 'http://www.test.com/some/path.php'); - $this->validator = new SchemaValidator(); - } - - protected function getCommand($location) - { - $command = new OperationCommand(array(), $this->getNestedCommand($location)); - $command->setClient(new MockClient()); - - return $command; - } - - protected function getNestedCommand($location) - { - return new Operation(array( - 'httpMethod' => 'POST', - 'parameters' => array( - 'foo' => new Parameter(array( - 'type' => 'object', - 'location' => $location, - 'sentAs' => 'Foo', - 'required' => true, - 'properties' => array( - 'test' => array( - 'type' => 'object', - 'required' => true, - 'properties' => array( - 'baz' => array( - 'type' => 'boolean', - 'default' => true - ), - 'jenga' => array( - 'type' => 'string', - 'default' => 'hello', - 'sentAs' => 'Jenga_Yall!', - 'filters' => array('strtoupper') - ) - ) - ), - 'bar' => array('default' => 123) - ), - 'additionalProperties' => array( - 'type' => 'string', - 'filters' => array('strtoupper'), - 'location' => $location - ) - )), - 'arr' => new Parameter(array( - 'type' => 'array', - 'location' => $location, - 'items' => array( - 'type' => 'string', - 'filters' => array('strtoupper') - ) - )), - ) - )); - } - - protected function getCommandWithArrayParamAndFilters() - { - $operation = new Operation(array( - 'httpMethod' => 'POST', - 'parameters' => array( - 'foo' => new Parameter(array( - 'type' => 'string', - 'location' => 'query', - 'sentAs' => 'Foo', - 'required' => true, - 'default' => 'bar', - 'filters' => array('strtoupper') - )), - 'arr' => new Parameter(array( - 'type' => 'array', - 'location' => 'query', - 'sentAs' => 'Arr', - 'required' => true, - 'default' => array(123, 456, 789), - 'filters' => array(array('method' => 'implode', 'args' => array(',', '@value'))) - )) - ) - )); - $command = new OperationCommand(array(), $operation); - $command->setClient(new MockClient()); - - return $command; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/BodyVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/BodyVisitorTest.php deleted file mode 100644 index 2a95c452..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/BodyVisitorTest.php +++ /dev/null @@ -1,63 +0,0 @@ -getNestedCommand('body')->getParam('foo')->setSentAs('Foo'); - $visitor->visit($this->command, $this->request, $param, '123'); - $this->assertEquals('123', (string) $this->request->getBody()); - $this->assertNull($this->request->getHeader('Expect')); - } - - public function testAddsExpectHeaderWhenSetToTrue() - { - $visitor = new Visitor(); - $param = $this->getNestedCommand('body')->getParam('foo')->setSentAs('Foo'); - $param->setData('expect_header', true); - $visitor->visit($this->command, $this->request, $param, '123'); - $this->assertEquals('123', (string) $this->request->getBody()); - } - - public function testCanDisableExpectHeader() - { - $visitor = new Visitor(); - $param = $this->getNestedCommand('body')->getParam('foo')->setSentAs('Foo'); - $param->setData('expect_header', false); - $visitor->visit($this->command, $this->request, $param, '123'); - $this->assertNull($this->request->getHeader('Expect')); - } - - public function testCanSetExpectHeaderBasedOnSize() - { - $visitor = new Visitor(); - $param = $this->getNestedCommand('body')->getParam('foo')->setSentAs('Foo'); - // The body is less than the cutoff - $param->setData('expect_header', 5); - $visitor->visit($this->command, $this->request, $param, '123'); - $this->assertNull($this->request->getHeader('Expect')); - // Now check when the body is greater than the cutoff - $param->setData('expect_header', 2); - $visitor->visit($this->command, $this->request, $param, '123'); - $this->assertEquals('100-Continue', (string) $this->request->getHeader('Expect')); - } - - public function testAddsContentEncodingWhenSetOnBody() - { - $visitor = new Visitor(); - $param = $this->getNestedCommand('body')->getParam('foo')->setSentAs('Foo'); - $body = EntityBody::factory('foo'); - $body->compress(); - $visitor->visit($this->command, $this->request, $param, $body); - $this->assertEquals('gzip', (string) $this->request->getHeader('Content-Encoding')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/HeaderVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/HeaderVisitorTest.php deleted file mode 100644 index 7ea1ae91..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/HeaderVisitorTest.php +++ /dev/null @@ -1,48 +0,0 @@ -getNestedCommand('header')->getParam('foo')->setSentAs('test'); - $param->setAdditionalProperties(new Parameter(array())); - $visitor->visit($this->command, $this->request, $param, 'test'); - } - - public function testVisitsLocation() - { - $visitor = new Visitor(); - $param = $this->getNestedCommand('header')->getParam('foo')->setSentAs('test'); - $param->setAdditionalProperties(false); - $visitor->visit($this->command, $this->request, $param, '123'); - $this->assertEquals('123', (string) $this->request->getHeader('test')); - } - - public function testVisitsMappedPrefixHeaders() - { - $visitor = new Visitor(); - $param = $this->getNestedCommand('header')->getParam('foo')->setSentAs('test'); - $param->setSentAs('x-foo-'); - $param->setAdditionalProperties(new Parameter(array( - 'type' => 'string' - ))); - $visitor->visit($this->command, $this->request, $param, array( - 'bar' => 'test', - 'baz' => '123' - )); - $this->assertEquals('test', (string) $this->request->getHeader('x-foo-bar')); - $this->assertEquals('123', (string) $this->request->getHeader('x-foo-baz')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/JsonVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/JsonVisitorTest.php deleted file mode 100644 index ea6782f5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/JsonVisitorTest.php +++ /dev/null @@ -1,60 +0,0 @@ -after($this->command, $this->request); - - $param = $this->getNestedCommand('json')->getParam('foo'); - $visitor->visit($this->command, $this->request, $param->setSentAs('test'), '123'); - $visitor->visit($this->command, $this->request, $param->setSentAs('test2'), 'abc'); - $visitor->after($this->command, $this->request); - $this->assertEquals('{"test":"123","test2":"abc"}', (string) $this->request->getBody()); - } - - public function testAddsJsonHeader() - { - $visitor = new Visitor(); - $visitor->setContentTypeHeader('application/json-foo'); - $param = $this->getNestedCommand('json')->getParam('foo'); - $visitor->visit($this->command, $this->request, $param->setSentAs('test'), '123'); - $visitor->after($this->command, $this->request); - $this->assertEquals('application/json-foo', (string) $this->request->getHeader('Content-Type')); - } - - public function testRecursivelyBuildsJsonBodies() - { - $command = $this->getCommand('json'); - $request = $command->prepare(); - $this->assertEquals('{"Foo":{"test":{"baz":true,"Jenga_Yall!":"HELLO"},"bar":123}}', (string) $request->getBody()); - } - - public function testAppliesFiltersToAdditionalProperties() - { - $command = $this->getCommand('json'); - $command->set('foo', array('not_set' => 'abc')); - $request = $command->prepare(); - $result = json_decode($request->getBody(), true); - $this->assertEquals('ABC', $result['Foo']['not_set']); - } - - public function testAppliesFiltersToArrayItemValues() - { - $command = $this->getCommand('json'); - $command->set('arr', array('a', 'b')); - $request = $command->prepare(); - $result = json_decode($request->getBody(), true); - $this->assertEquals(array('A', 'B'), $result['arr']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFieldVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFieldVisitorTest.php deleted file mode 100644 index 540b4108..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFieldVisitorTest.php +++ /dev/null @@ -1,33 +0,0 @@ -getNestedCommand('postField')->getParam('foo'); - $visitor->visit($this->command, $this->request, $param->setSentAs('test'), '123'); - $this->assertEquals('123', (string) $this->request->getPostField('test')); - } - - public function testRecursivelyBuildsPostFields() - { - $command = $this->getCommand('postField'); - $request = $command->prepare(); - $visitor = new Visitor(); - $param = $command->getOperation()->getParam('foo'); - $visitor->visit($command, $request, $param, $command['foo']); - $visitor->after($command, $request); - $this->assertEquals( - 'Foo[test][baz]=1&Foo[test][Jenga_Yall!]=HELLO&Foo[bar]=123', - rawurldecode((string) $request->getPostFields()) - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFileVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFileVisitorTest.php deleted file mode 100644 index 21e3cec3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/PostFileVisitorTest.php +++ /dev/null @@ -1,54 +0,0 @@ -getNestedCommand('postFile')->getParam('foo'); - - // Test using a path to a file - $visitor->visit($this->command, $this->request, $param->setSentAs('test_3'), __FILE__); - $this->assertInternalType('array', $this->request->getPostFile('test_3')); - - // Test with a PostFile - $visitor->visit($this->command, $this->request, $param->setSentAs(null), new PostFile('baz', __FILE__)); - $this->assertInternalType('array', $this->request->getPostFile('baz')); - } - - public function testVisitsLocationWithMultipleFiles() - { - $description = ServiceDescription::factory(array( - 'operations' => array( - 'DoPost' => array( - 'httpMethod' => 'POST', - 'parameters' => array( - 'foo' => array( - 'location' => 'postFile', - 'type' => array('string', 'array') - ) - ) - ) - ) - )); - $this->getServer()->flush(); - $this->getServer()->enqueue(array("HTTP/1.1 200 OK\r\nContent-Length:0\r\n\r\n")); - $client = new Client($this->getServer()->getUrl()); - $client->setDescription($description); - $command = $client->getCommand('DoPost', array('foo' => array(__FILE__, __FILE__))); - $command->execute(); - $received = $this->getServer()->getReceivedRequests(); - $this->assertContains('name="foo[0]";', $received[0]); - $this->assertContains('name="foo[1]";', $received[0]); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/QueryVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/QueryVisitorTest.php deleted file mode 100644 index 607af760..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/QueryVisitorTest.php +++ /dev/null @@ -1,48 +0,0 @@ -getNestedCommand('query')->getParam('foo')->setSentAs('test'); - $visitor->visit($this->command, $this->request, $param, '123'); - $this->assertEquals('123', $this->request->getQuery()->get('test')); - } - - /** - * @covers Guzzle\Service\Command\LocationVisitor\Request\QueryVisitor - * @covers Guzzle\Service\Command\LocationVisitor\Request\AbstractRequestVisitor::resolveRecursively - */ - public function testRecursivelyBuildsQueryStrings() - { - $command = $this->getCommand('query'); - $command->getOperation()->getParam('foo')->setSentAs('Foo'); - $request = $command->prepare(); - $this->assertEquals( - 'Foo[test][baz]=1&Foo[test][Jenga_Yall!]=HELLO&Foo[bar]=123', - rawurldecode($request->getQuery()) - ); - } - - /** - * @covers Guzzle\Service\Command\LocationVisitor\Request\AbstractRequestVisitor::resolveRecursively - */ - public function testFiltersAreAppliedToArrayParamType() - { - $command = $this->getCommandWithArrayParamAndFilters(); - $request = $command->prepare(); - $query = $request->getQuery(); - // param type 'string' - $this->assertEquals('BAR', $query->get('Foo')); - // param type 'array' - $this->assertEquals('123,456,789', $query->get('Arr')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/ResponseBodyVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/ResponseBodyVisitorTest.php deleted file mode 100644 index ff8cec59..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/ResponseBodyVisitorTest.php +++ /dev/null @@ -1,20 +0,0 @@ -getNestedCommand('response_body')->getParam('foo'); - $visitor->visit($this->command, $this->request, $param, sys_get_temp_dir() . '/foo.txt'); - $body = $this->readAttribute($this->request, 'responseBody'); - $this->assertContains('/foo.txt', $body->getUri()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/XmlVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/XmlVisitorTest.php deleted file mode 100644 index beb58b00..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Request/XmlVisitorTest.php +++ /dev/null @@ -1,558 +0,0 @@ - array( - 'xmlRoot' => array( - 'name' => 'test', - 'namespaces' => 'http://foo.com' - ) - ), - 'parameters' => array( - 'Foo' => array('location' => 'xml', 'type' => 'string'), - 'Baz' => array('location' => 'xml', 'type' => 'string') - ) - ), - array('Foo' => 'test', 'Baz' => 'bar'), - 'testbar' - ), - // Ensure that the content-type is not added - array(array('parameters' => array('Foo' => array('location' => 'xml', 'type' => 'string'))), array(), ''), - // Test with adding attributes and no namespace - array( - array( - 'data' => array( - 'xmlRoot' => array( - 'name' => 'test' - ) - ), - 'parameters' => array( - 'Foo' => array('location' => 'xml', 'type' => 'string', 'data' => array('xmlAttribute' => true)) - ) - ), - array('Foo' => 'test', 'Baz' => 'bar'), - '' - ), - // Test adding with an array - array( - array( - 'parameters' => array( - 'Foo' => array('location' => 'xml', 'type' => 'string'), - 'Baz' => array( - 'type' => 'array', - 'location' => 'xml', - 'items' => array( - 'type' => 'numeric', - 'sentAs' => 'Bar' - ) - ) - ) - ), - array('Foo' => 'test', 'Baz' => array(1, 2)), - 'test12' - ), - // Test adding an object - array( - array( - 'parameters' => array( - 'Foo' => array('location' => 'xml', 'type' => 'string'), - 'Baz' => array( - 'type' => 'object', - 'location' => 'xml', - 'properties' => array( - 'Bar' => array('type' => 'string'), - 'Bam' => array() - ) - ) - ) - ), - array('Foo' => 'test', 'Baz' => array('Bar' => 'abc', 'Bam' => 'foo')), - 'testabcfoo' - ), - // Add an array that contains an object - array( - array( - 'parameters' => array( - 'Baz' => array( - 'type' => 'array', - 'location' => 'xml', - 'items' => array( - 'type' => 'object', - 'sentAs' => 'Bar', - 'properties' => array('A' => array(), 'B' => array()) - ) - ) - ) - ), - array('Baz' => array( - array('A' => '1', 'B' => '2'), - array('A' => '3', 'B' => '4') - )), - '1234' - ), - // Add an object of attributes - array( - array( - 'parameters' => array( - 'Foo' => array('location' => 'xml', 'type' => 'string'), - 'Baz' => array( - 'type' => 'object', - 'location' => 'xml', - 'properties' => array( - 'Bar' => array('type' => 'string', 'data' => array('xmlAttribute' => true)), - 'Bam' => array() - ) - ) - ) - ), - array('Foo' => 'test', 'Baz' => array('Bar' => 'abc', 'Bam' => 'foo')), - 'testfoo' - ), - // Check order doesn't matter - array( - array( - 'parameters' => array( - 'Foo' => array('location' => 'xml', 'type' => 'string'), - 'Baz' => array( - 'type' => 'object', - 'location' => 'xml', - 'properties' => array( - 'Bar' => array('type' => 'string', 'data' => array('xmlAttribute' => true)), - 'Bam' => array() - ) - ) - ) - ), - array('Foo' => 'test', 'Baz' => array('Bam' => 'foo', 'Bar' => 'abc')), - 'testfoo' - ), - // Add values with custom namespaces - array( - array( - 'parameters' => array( - 'Foo' => array( - 'location' => 'xml', - 'type' => 'string', - 'data' => array( - 'xmlNamespace' => 'http://foo.com' - ) - ) - ) - ), - array('Foo' => 'test'), - 'test' - ), - // Add attributes with custom namespace prefix - array( - array( - 'parameters' => array( - 'Wrap' => array( - 'type' => 'object', - 'location' => 'xml', - 'properties' => array( - 'Foo' => array( - 'type' => 'string', - 'sentAs' => 'xsi:baz', - 'data' => array( - 'xmlNamespace' => 'http://foo.com', - 'xmlAttribute' => true - ) - ) - ) - ), - ) - ), - array('Wrap' => array( - 'Foo' => 'test' - )), - '' - ), - // Add nodes with custom namespace prefix - array( - array( - 'parameters' => array( - 'Wrap' => array( - 'type' => 'object', - 'location' => 'xml', - 'properties' => array( - 'Foo' => array( - 'type' => 'string', - 'sentAs' => 'xsi:Foo', - 'data' => array( - 'xmlNamespace' => 'http://foobar.com' - ) - ) - ) - ), - ) - ), - array('Wrap' => array( - 'Foo' => 'test' - )), - 'test' - ), - array( - array( - 'parameters' => array( - 'Foo' => array( - 'location' => 'xml', - 'type' => 'string', - 'data' => array( - 'xmlNamespace' => 'http://foo.com' - ) - ) - ) - ), - array('Foo' => '

    This is a title

    '), - 'This is a title

    ]]>' - ), - // Flat array at top level - array( - array( - 'parameters' => array( - 'Bars' => array( - 'type' => 'array', - 'data' => array('xmlFlattened' => true), - 'location' => 'xml', - 'items' => array( - 'type' => 'object', - 'sentAs' => 'Bar', - 'properties' => array( - 'A' => array(), - 'B' => array() - ) - ) - ), - 'Boos' => array( - 'type' => 'array', - 'data' => array('xmlFlattened' => true), - 'location' => 'xml', - 'items' => array( - 'sentAs' => 'Boo', - 'type' => 'string' - ) - ) - ) - ), - array( - 'Bars' => array( - array('A' => '1', 'B' => '2'), - array('A' => '3', 'B' => '4') - ), - 'Boos' => array('test', '123') - ), - '1234test123' - ), - // Nested flat arrays - array( - array( - 'parameters' => array( - 'Delete' => array( - 'type' => 'object', - 'location' => 'xml', - 'properties' => array( - 'Items' => array( - 'type' => 'array', - 'data' => array('xmlFlattened' => true), - 'items' => array( - 'type' => 'object', - 'sentAs' => 'Item', - 'properties' => array( - 'A' => array(), - 'B' => array() - ) - ) - ) - ) - ) - ) - ), - array( - 'Delete' => array( - 'Items' => array( - array('A' => '1', 'B' => '2'), - array('A' => '3', 'B' => '4') - ) - ) - ), - '1234' - ) - ); - } - - /** - * @dataProvider xmlProvider - */ - public function testSerializesXml(array $operation, array $input, $xml) - { - $operation = new Operation($operation); - $command = $this->getMockBuilder('Guzzle\Service\Command\OperationCommand') - ->setConstructorArgs(array($input, $operation)) - ->getMockForAbstractClass(); - $command->setClient(new Client('http://www.test.com/some/path.php')); - $request = $command->prepare(); - if (!empty($input)) { - $this->assertEquals('application/xml', (string) $request->getHeader('Content-Type')); - } else { - $this->assertNull($request->getHeader('Content-Type')); - } - $body = str_replace(array("\n", ""), '', (string) $request->getBody()); - $this->assertEquals($xml, $body); - } - - public function testAddsContentTypeAndTopLevelValues() - { - $operation = new Operation(array( - 'data' => array( - 'xmlRoot' => array( - 'name' => 'test', - 'namespaces' => array( - 'xsi' => 'http://foo.com' - ) - ) - ), - 'parameters' => array( - 'Foo' => array('location' => 'xml', 'type' => 'string'), - 'Baz' => array('location' => 'xml', 'type' => 'string') - ) - )); - - $command = $this->getMockBuilder('Guzzle\Service\Command\OperationCommand') - ->setConstructorArgs(array(array( - 'Foo' => 'test', - 'Baz' => 'bar' - ), $operation)) - ->getMockForAbstractClass(); - - $command->setClient(new Client()); - $request = $command->prepare(); - $this->assertEquals('application/xml', (string) $request->getHeader('Content-Type')); - $this->assertEquals( - '' . "\n" - . 'testbar' . "\n", - (string) $request->getBody() - ); - } - - public function testCanChangeContentType() - { - $visitor = new XmlVisitor(); - $visitor->setContentTypeHeader('application/foo'); - $this->assertEquals('application/foo', $this->readAttribute($visitor, 'contentType')); - } - - public function testCanAddArrayOfSimpleTypes() - { - $request = new EntityEnclosingRequest('POST', 'http://foo.com'); - $visitor = new XmlVisitor(); - $param = new Parameter(array( - 'type' => 'object', - 'location' => 'xml', - 'name' => 'Out', - 'properties' => array( - 'Nodes' => array( - 'required' => true, - 'type' => 'array', - 'min' => 1, - 'items' => array('type' => 'string', 'sentAs' => 'Node') - ) - ) - )); - - $param->setParent(new Operation(array( - 'data' => array( - 'xmlRoot' => array( - 'name' => 'Test', - 'namespaces' => array( - 'https://foo/' - ) - ) - ) - ))); - - $value = array('Nodes' => array('foo', 'baz')); - $this->assertTrue($this->validator->validate($param, $value)); - $visitor->visit($this->command, $request, $param, $value); - $visitor->after($this->command, $request); - - $this->assertEquals( - "\n" - . "foobaz\n", - (string) $request->getBody() - ); - } - - public function testCanAddMultipleNamespacesToRoot() - { - $operation = new Operation(array( - 'data' => array( - 'xmlRoot' => array( - 'name' => 'Hi', - 'namespaces' => array( - 'xsi' => 'http://foo.com', - 'foo' => 'http://foobar.com' - ) - ) - ), - 'parameters' => array( - 'Foo' => array('location' => 'xml', 'type' => 'string') - ) - )); - - $command = $this->getMockBuilder('Guzzle\Service\Command\OperationCommand') - ->setConstructorArgs(array(array( - 'Foo' => 'test' - ), $operation)) - ->getMockForAbstractClass(); - - $command->setClient(new Client()); - $request = $command->prepare(); - $this->assertEquals('application/xml', (string) $request->getHeader('Content-Type')); - $this->assertEquals( - '' . "\n" - . 'test' . "\n", - (string) $request->getBody() - ); - } - - public function testValuesAreFiltered() - { - $operation = new Operation(array( - 'parameters' => array( - 'Foo' => array( - 'location' => 'xml', - 'type' => 'string', - 'filters' => array('strtoupper') - ), - 'Bar' => array( - 'location' => 'xml', - 'type' => 'object', - 'properties' => array( - 'Baz' => array( - 'filters' => array('strtoupper') - ) - ) - ) - ) - )); - - $command = $this->getMockBuilder('Guzzle\Service\Command\OperationCommand') - ->setConstructorArgs(array(array( - 'Foo' => 'test', - 'Bar' => array( - 'Baz' => 'abc' - ) - ), $operation)) - ->getMockForAbstractClass(); - - $command->setClient(new Client()); - $request = $command->prepare(); - $this->assertEquals( - '' . "\n" - . 'TESTABC' . "\n", - (string) $request->getBody() - ); - } - - public function testSkipsNullValues() - { - $operation = new Operation(array( - 'parameters' => array( - 'Foo' => array( - 'location' => 'xml', - 'type' => 'string' - ), - 'Bar' => array( - 'location' => 'xml', - 'type' => 'object', - 'properties' => array( - 'Baz' => array(), - 'Bam' => array(), - ) - ), - 'Arr' => array( - 'type' => 'array', - 'items' => array( - 'type' => 'string' - ) - ) - ) - )); - - $command = $this->getMockBuilder('Guzzle\Service\Command\OperationCommand') - ->setConstructorArgs(array(array( - 'Foo' => null, - 'Bar' => array( - 'Bar' => null, - 'Bam' => 'test' - ), - 'Arr' => array(null) - ), $operation)) - ->getMockForAbstractClass(); - - $command->setClient(new Client()); - $request = $command->prepare(); - $this->assertEquals( - '' . "\n" - . 'test' . "\n", - (string) $request->getBody() - ); - } - - public function testAllowsXmlEncoding() - { - $operation = new Operation(array( - 'data' => array( - 'xmlEncoding' => 'UTF-8' - ), - 'parameters' => array( - 'Foo' => array('location' => 'xml') - ) - )); - $command = $this->getMockBuilder('Guzzle\Service\Command\OperationCommand') - ->setConstructorArgs(array(array('Foo' => 'test'), $operation)) - ->getMockForAbstractClass(); - $command->setClient(new Client()); - $request = $command->prepare(); - $this->assertEquals( - '' . "\n" - . 'test' . "\n", - (string) $request->getBody() - ); - } - - public function testAllowsSendingXmlPayloadIfNoXmlParamsWereSet() - { - $operation = new Operation(array( - 'httpMethod' => 'POST', - 'data' => array('xmlAllowEmpty' => true), - 'parameters' => array('Foo' => array('location' => 'xml')) - )); - $command = $this->getMockBuilder('Guzzle\Service\Command\OperationCommand') - ->setConstructorArgs(array(array(), $operation)) - ->getMockForAbstractClass(); - $command->setClient(new Client('http://foo.com')); - $request = $command->prepare(); - $this->assertEquals( - '' . "\n" - . '' . "\n", - (string) $request->getBody() - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/AbstractResponseVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/AbstractResponseVisitorTest.php deleted file mode 100644 index 7b860034..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/AbstractResponseVisitorTest.php +++ /dev/null @@ -1,29 +0,0 @@ -value = array(); - $this->command = new MockCommand(); - $this->response = new Response(200, array( - 'X-Foo' => 'bar', - 'Content-Length' => 3, - 'Content-Type' => 'text/plain' - ), 'Foo'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/BodyVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/BodyVisitorTest.php deleted file mode 100644 index 932e39bf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/BodyVisitorTest.php +++ /dev/null @@ -1,21 +0,0 @@ - 'body', 'name' => 'foo')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals('Foo', (string) $this->value['foo']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/HeaderVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/HeaderVisitorTest.php deleted file mode 100644 index db54b1ab..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/HeaderVisitorTest.php +++ /dev/null @@ -1,98 +0,0 @@ - 'header', - 'name' => 'ContentType', - 'sentAs' => 'Content-Type' - )); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals('text/plain', $this->value['ContentType']); - } - - public function testVisitsLocationWithFilters() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'location' => 'header', - 'name' => 'Content-Type', - 'filters' => array('strtoupper') - )); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals('TEXT/PLAIN', $this->value['Content-Type']); - } - - public function testVisitsMappedPrefixHeaders() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'location' => 'header', - 'name' => 'Metadata', - 'sentAs' => 'X-Baz-', - 'type' => 'object', - 'additionalProperties' => array( - 'type' => 'string' - ) - )); - $response = new Response(200, array( - 'X-Baz-Test' => 'ABC', - 'X-Baz-Bar' => array('123', '456'), - 'Content-Length' => 3 - ), 'Foo'); - $visitor->visit($this->command, $response, $param, $this->value); - $this->assertEquals(array( - 'Metadata' => array( - 'Test' => 'ABC', - 'Bar' => array('123', '456') - ) - ), $this->value); - } - - /** - * @group issue-399 - * @link https://github.com/guzzle/guzzle/issues/399 - */ - public function testDiscardingUnknownHeaders() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'location' => 'header', - 'name' => 'Content-Type', - 'additionalParameters' => false - )); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals('text/plain', $this->value['Content-Type']); - $this->assertArrayNotHasKey('X-Foo', $this->value); - } - - /** - * @group issue-399 - * @link https://github.com/guzzle/guzzle/issues/399 - */ - public function testDiscardingUnknownPropertiesWithAliasing() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'location' => 'header', - 'name' => 'ContentType', - 'sentAs' => 'Content-Type', - 'additionalParameters' => false - )); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals('text/plain', $this->value['ContentType']); - $this->assertArrayNotHasKey('X-Foo', $this->value); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/JsonVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/JsonVisitorTest.php deleted file mode 100644 index 4f8d30b1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/JsonVisitorTest.php +++ /dev/null @@ -1,157 +0,0 @@ -getMockBuilder('Guzzle\Service\Command\AbstractCommand') - ->setMethods(array('getResponse')) - ->getMockForAbstractClass(); - $command->expects($this->once()) - ->method('getResponse') - ->will($this->returnValue(new Response(200, null, '{"foo":"bar"}'))); - $result = array(); - $visitor->before($command, $result); - $this->assertEquals(array('foo' => 'bar'), $result); - } - - public function testVisitsLocation() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'array', - 'items' => array( - 'filters' => 'strtoupper', - 'type' => 'string' - ) - )); - $this->value = array('foo' => array('a', 'b', 'c')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals(array('A', 'B', 'C'), $this->value['foo']); - } - - public function testRenamesTopLevelValues() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'sentAs' => 'Baz', - 'type' => 'string', - )); - $this->value = array('Baz' => 'test'); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals(array('foo' => 'test'), $this->value); - } - - public function testRenamesDoesNotFailForNonExistentKey() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'properties' => array( - 'bar' => array( - 'name' => 'bar', - 'sentAs' => 'baz', - ), - ), - )); - $this->value = array('foo' => array('unknown' => 'Unknown')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals(array('foo' => array('unknown' => 'Unknown')), $this->value); - } - - public function testTraversesObjectsAndAppliesFilters() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'properties' => array( - 'foo' => array('filters' => 'strtoupper'), - 'bar' => array('filters' => 'strtolower') - ) - )); - $this->value = array('foo' => array('foo' => 'hello', 'bar' => 'THERE')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals(array('foo' => 'HELLO', 'bar' => 'there'), $this->value['foo']); - } - - /** - * @group issue-399 - * @link https://github.com/guzzle/guzzle/issues/399 - */ - public function testDiscardingUnknownProperties() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'additionalProperties' => false, - 'properties' => array( - 'bar' => array( - 'type' => 'string', - 'name' => 'bar', - ), - ), - )); - $this->value = array('foo' => array('bar' => 15, 'unknown' => 'Unknown')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals(array('foo' => array('bar' => 15)), $this->value); - } - - /** - * @group issue-399 - * @link https://github.com/guzzle/guzzle/issues/399 - */ - public function testDiscardingUnknownPropertiesWithAliasing() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'additionalProperties' => false, - 'properties' => array( - 'bar' => array( - 'name' => 'bar', - 'sentAs' => 'baz', - ), - ), - )); - $this->value = array('foo' => array('baz' => 15, 'unknown' => 'Unknown')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals(array('foo' => array('bar' => 15)), $this->value); - } - - public function testWalksAdditionalProperties() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'additionalProperties' => array( - 'type' => 'object', - 'properties' => array( - 'bar' => array( - 'type' => 'string', - 'filters' => array('base64_decode') - ) - ), - ), - )); - $this->value = array('foo' => array('baz' => array('bar' => 'Zm9v'))); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals('foo', $this->value['foo']['baz']['bar']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/ReasonPhraseVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/ReasonPhraseVisitorTest.php deleted file mode 100644 index 23cd40fe..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/ReasonPhraseVisitorTest.php +++ /dev/null @@ -1,21 +0,0 @@ - 'reasonPhrase', 'name' => 'phrase')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals('OK', $this->value['phrase']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/StatusCodeVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/StatusCodeVisitorTest.php deleted file mode 100644 index 7211a580..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/StatusCodeVisitorTest.php +++ /dev/null @@ -1,21 +0,0 @@ - 'statusCode', 'name' => 'code')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals(200, $this->value['code']); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/XmlVisitorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/XmlVisitorTest.php deleted file mode 100644 index f87cec7c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/Response/XmlVisitorTest.php +++ /dev/null @@ -1,431 +0,0 @@ -getMockBuilder('Guzzle\Service\Command\AbstractCommand') - ->setMethods(array('getResponse')) - ->getMockForAbstractClass(); - $command->expects($this->once()) - ->method('getResponse') - ->will($this->returnValue(new Response(200, null, 'test'))); - $result = array(); - $visitor->before($command, $result); - $this->assertEquals(array('Bar' => 'test'), $result); - } - - public function testBeforeMethodParsesXmlWithNamespace() - { - $this->markTestSkipped("Response/XmlVisitor cannot accept 'xmlns' in response, see #368 (http://git.io/USa1mA)."); - - $visitor = new Visitor(); - $command = $this->getMockBuilder('Guzzle\Service\Command\AbstractCommand') - ->setMethods(array('getResponse')) - ->getMockForAbstractClass(); - $command->expects($this->once()) - ->method('getResponse') - ->will($this->returnValue(new Response(200, null, 'test'))); - $result = array(); - $visitor->before($command, $result); - $this->assertEquals(array('Bar' => 'test'), $result); - } - - public function testBeforeMethodParsesNestedXml() - { - $visitor = new Visitor(); - $command = $this->getMockBuilder('Guzzle\Service\Command\AbstractCommand') - ->setMethods(array('getResponse')) - ->getMockForAbstractClass(); - $command->expects($this->once()) - ->method('getResponse') - ->will($this->returnValue(new Response(200, null, 'test'))); - $result = array(); - $visitor->before($command, $result); - $this->assertEquals(array('Items' => array('Bar' => 'test')), $result); - } - - public function testCanExtractAndRenameTopLevelXmlValues() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'location' => 'xml', - 'name' => 'foo', - 'sentAs' => 'Bar' - )); - $value = array('Bar' => 'test'); - $visitor->visit($this->command, $this->response, $param, $value); - $this->assertArrayHasKey('foo', $value); - $this->assertEquals('test', $value['foo']); - } - - public function testEnsuresRepeatedArraysAreInCorrectLocations() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'location' => 'xml', - 'name' => 'foo', - 'sentAs' => 'Foo', - 'type' => 'array', - 'items' => array( - 'type' => 'object', - 'properties' => array( - 'Bar' => array('type' => 'string'), - 'Baz' => array('type' => 'string'), - 'Bam' => array('type' => 'string') - ) - ) - )); - - $xml = new \SimpleXMLElement('12'); - $value = json_decode(json_encode($xml), true); - $visitor->visit($this->command, $this->response, $param, $value); - $this->assertEquals(array( - 'foo' => array( - array ( - 'Bar' => '1', - 'Baz' => '2' - ) - ) - ), $value); - } - - public function testEnsuresFlatArraysAreFlat() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'location' => 'xml', - 'name' => 'foo', - 'type' => 'array', - 'items' => array('type' => 'string') - )); - - $value = array('foo' => array('bar', 'baz')); - $visitor->visit($this->command, $this->response, $param, $value); - $this->assertEquals(array('foo' => array('bar', 'baz')), $value); - - $value = array('foo' => 'bar'); - $visitor->visit($this->command, $this->response, $param, $value); - $this->assertEquals(array('foo' => array('bar')), $value); - } - - public function xmlDataProvider() - { - $param = new Parameter(array( - 'location' => 'xml', - 'name' => 'Items', - 'type' => 'array', - 'items' => array( - 'type' => 'object', - 'name' => 'Item', - 'properties' => array( - 'Bar' => array('type' => 'string'), - 'Baz' => array('type' => 'string') - ) - ) - )); - - return array( - array($param, '12', array( - 'Items' => array( - array('Bar' => 1), - array('Bar' => 2) - ) - )), - array($param, '1', array( - 'Items' => array( - array('Bar' => 1) - ) - )), - array($param, '', array( - 'Items' => array() - )) - ); - } - - /** - * @dataProvider xmlDataProvider - */ - public function testEnsuresWrappedArraysAreInCorrectLocations($param, $xml, $result) - { - $visitor = new Visitor(); - $xml = new \SimpleXMLElement($xml); - $value = json_decode(json_encode($xml), true); - $visitor->visit($this->command, $this->response, $param, $value); - $this->assertEquals($result, $value); - } - - public function testCanRenameValues() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'TerminatingInstances', - 'type' => 'array', - 'location' => 'xml', - 'sentAs' => 'instancesSet', - 'items' => array( - 'name' => 'item', - 'type' => 'object', - 'sentAs' => 'item', - 'properties' => array( - 'InstanceId' => array( - 'type' => 'string', - 'sentAs' => 'instanceId', - ), - 'CurrentState' => array( - 'type' => 'object', - 'sentAs' => 'currentState', - 'properties' => array( - 'Code' => array( - 'type' => 'numeric', - 'sentAs' => 'code', - ), - 'Name' => array( - 'type' => 'string', - 'sentAs' => 'name', - ), - ), - ), - 'PreviousState' => array( - 'type' => 'object', - 'sentAs' => 'previousState', - 'properties' => array( - 'Code' => array( - 'type' => 'numeric', - 'sentAs' => 'code', - ), - 'Name' => array( - 'type' => 'string', - 'sentAs' => 'name', - ), - ), - ), - ), - ) - )); - - $value = array( - 'instancesSet' => array ( - 'item' => array ( - 'instanceId' => 'i-3ea74257', - 'currentState' => array( - 'code' => '32', - 'name' => 'shutting-down', - ), - 'previousState' => array( - 'code' => '16', - 'name' => 'running', - ), - ), - ) - ); - - $visitor->visit($this->command, $this->response, $param, $value); - - $this->assertEquals(array( - 'TerminatingInstances' => array( - array( - 'InstanceId' => 'i-3ea74257', - 'CurrentState' => array( - 'Code' => '32', - 'Name' => 'shutting-down', - ), - 'PreviousState' => array( - 'Code' => '16', - 'Name' => 'running', - ) - ) - ) - ), $value); - } - - public function testCanRenameAttributes() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'RunningQueues', - 'type' => 'array', - 'location' => 'xml', - 'items' => array( - 'type' => 'object', - 'sentAs' => 'item', - 'properties' => array( - 'QueueId' => array( - 'type' => 'string', - 'sentAs' => 'queue_id', - 'data' => array( - 'xmlAttribute' => true, - ), - ), - 'CurrentState' => array( - 'type' => 'object', - 'properties' => array( - 'Code' => array( - 'type' => 'numeric', - 'sentAs' => 'code', - 'data' => array( - 'xmlAttribute' => true, - ), - ), - 'Name' => array( - 'sentAs' => 'name', - 'data' => array( - 'xmlAttribute' => true, - ), - ), - ), - ), - 'PreviousState' => array( - 'type' => 'object', - 'properties' => array( - 'Code' => array( - 'type' => 'numeric', - 'sentAs' => 'code', - 'data' => array( - 'xmlAttribute' => true, - ), - ), - 'Name' => array( - 'sentAs' => 'name', - 'data' => array( - 'xmlAttribute' => true, - ), - ), - ), - ), - ), - ) - )); - - $xml = ''; - $value = json_decode(json_encode(new \SimpleXMLElement($xml)), true); - $visitor->visit($this->command, $this->response, $param, $value); - - $this->assertEquals(array( - 'RunningQueues' => array( - array( - 'QueueId' => 'q-3ea74257', - 'CurrentState' => array( - 'Code' => '32', - 'Name' => 'processing', - ), - 'PreviousState' => array( - 'Code' => '16', - 'Name' => 'wait', - ), - ), - ) - ), $value); - } - - public function testAddsEmptyArraysWhenValueIsMissing() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'Foo', - 'type' => 'array', - 'location' => 'xml', - 'items' => array( - 'type' => 'object', - 'properties' => array( - 'Baz' => array('type' => 'array'), - 'Bar' => array( - 'type' => 'object', - 'properties' => array( - 'Baz' => array('type' => 'array'), - ) - ) - ) - ) - )); - - $value = array(); - $visitor->visit($this->command, $this->response, $param, $value); - - $value = array( - 'Foo' => array( - 'Bar' => array() - ) - ); - $visitor->visit($this->command, $this->response, $param, $value); - $this->assertEquals(array( - 'Foo' => array( - array( - 'Bar' => array() - ) - ) - ), $value); - } - - /** - * @group issue-399 - * @link https://github.com/guzzle/guzzle/issues/399 - */ - public function testDiscardingUnknownProperties() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'additionalProperties' => false, - 'properties' => array( - 'bar' => array( - 'type' => 'string', - 'name' => 'bar', - ), - ), - )); - $this->value = array('foo' => array('bar' => 15, 'unknown' => 'Unknown')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals(array('foo' => array('bar' => 15)), $this->value); - } - - /** - * @group issue-399 - * @link https://github.com/guzzle/guzzle/issues/399 - */ - public function testDiscardingUnknownPropertiesWithAliasing() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'additionalProperties' => false, - 'properties' => array( - 'bar' => array( - 'name' => 'bar', - 'sentAs' => 'baz', - ), - ), - )); - $this->value = array('foo' => array('baz' => 15, 'unknown' => 'Unknown')); - $visitor->visit($this->command, $this->response, $param, $this->value); - $this->assertEquals(array('foo' => array('bar' => 15)), $this->value); - } - - public function testProperlyHandlesEmptyStringValues() - { - $visitor = new Visitor(); - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'properties' => array( - 'bar' => array('type' => 'string') - ), - )); - $xml = ''; - $value = json_decode(json_encode(new \SimpleXMLElement($xml)), true); - $visitor->visit($this->command, $this->response, $param, $value); - $this->assertEquals(array('foo' => array('bar' => '')), $value); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/VisitorFlyweightTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/VisitorFlyweightTest.php deleted file mode 100644 index a252ffe6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/LocationVisitor/VisitorFlyweightTest.php +++ /dev/null @@ -1,53 +0,0 @@ -assertInstanceOf('Guzzle\Service\Command\LocationVisitor\Request\JsonVisitor', $f->getRequestVisitor('json')); - $this->assertInstanceOf('Guzzle\Service\Command\LocationVisitor\Response\JsonVisitor', $f->getResponseVisitor('json')); - } - - public function testCanUseCustomMappings() - { - $f = new VisitorFlyweight(array()); - $this->assertEquals(array(), $this->readAttribute($f, 'mappings')); - } - - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage No request visitor has been mapped for foo - */ - public function testThrowsExceptionWhenRetrievingUnknownVisitor() - { - VisitorFlyweight::getInstance()->getRequestVisitor('foo'); - } - - public function testCachesVisitors() - { - $f = new VisitorFlyweight(); - $v1 = $f->getRequestVisitor('json'); - $this->assertSame($v1, $f->getRequestVisitor('json')); - } - - public function testAllowsAddingVisitors() - { - $f = new VisitorFlyweight(); - $j1 = new JsonRequestVisitor(); - $j2 = new JsonResponseVisitor(); - $f->addRequestVisitor('json', $j1); - $f->addResponseVisitor('json', $j2); - $this->assertSame($j1, $f->getRequestVisitor('json')); - $this->assertSame($j2, $f->getResponseVisitor('json')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationCommandTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationCommandTest.php deleted file mode 100644 index 95fb533a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationCommandTest.php +++ /dev/null @@ -1,102 +0,0 @@ -getRequestSerializer(); - $b = new DefaultRequestSerializer(VisitorFlyweight::getInstance()); - $operation->setRequestSerializer($b); - $this->assertNotSame($a, $operation->getRequestSerializer()); - } - - public function testPreparesRequestUsingSerializer() - { - $op = new OperationCommand(array(), new Operation()); - $op->setClient(new Client()); - $s = $this->getMockBuilder('Guzzle\Service\Command\RequestSerializerInterface') - ->setMethods(array('prepare')) - ->getMockForAbstractClass(); - $s->expects($this->once()) - ->method('prepare') - ->will($this->returnValue(new EntityEnclosingRequest('POST', 'http://foo.com'))); - $op->setRequestSerializer($s); - $op->prepare(); - } - - public function testParsesResponsesWithResponseParser() - { - $op = new OperationCommand(array(), new Operation()); - $p = $this->getMockBuilder('Guzzle\Service\Command\ResponseParserInterface') - ->setMethods(array('parse')) - ->getMockForAbstractClass(); - $p->expects($this->once()) - ->method('parse') - ->will($this->returnValue(array('foo' => 'bar'))); - $op->setResponseParser($p); - $op->setClient(new Client()); - $request = $op->prepare(); - $request->setResponse(new Response(200), true); - $this->assertEquals(array('foo' => 'bar'), $op->execute()); - } - - public function testParsesResponsesUsingModelParserWhenMatchingModelIsFound() - { - $description = ServiceDescription::factory(array( - 'operations' => array( - 'foo' => array('responseClass' => 'bar', 'responseType' => 'model') - ), - 'models' => array( - 'bar' => array( - 'type' => 'object', - 'properties' => array( - 'Baz' => array('type' => 'string', 'location' => 'xml') - ) - ) - ) - )); - - $op = new OperationCommand(array(), $description->getOperation('foo')); - $op->setClient(new Client()); - $request = $op->prepare(); - $request->setResponse(new Response(200, array( - 'Content-Type' => 'application/xml' - ), 'Bar'), true); - $result = $op->execute(); - $this->assertEquals(new Model(array('Baz' => 'Bar')), $result); - } - - public function testAllowsRawResponses() - { - $description = new ServiceDescription(array( - 'operations' => array('foo' => array('responseClass' => 'bar', 'responseType' => 'model')), - 'models' => array('bar' => array()) - )); - $op = new OperationCommand(array( - OperationCommand::RESPONSE_PROCESSING => OperationCommand::TYPE_RAW - ), $description->getOperation('foo')); - $op->setClient(new Client()); - $request = $op->prepare(); - $response = new Response(200, array( - 'Content-Type' => 'application/xml' - ), 'Bar'); - $request->setResponse($response, true); - $this->assertSame($response, $op->execute()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationResponseParserTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationResponseParserTest.php deleted file mode 100644 index 69ba1fce..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Command/OperationResponseParserTest.php +++ /dev/null @@ -1,335 +0,0 @@ -addVisitor('foo', $visitor); - $this->assertSame($visitor, $this->readAttribute($p, 'factory')->getResponseVisitor('foo')); - } - - public function testUsesParentParser() - { - $p = new OperationResponseParser(new VisitorFlyweight()); - $operation = new Operation(); - $operation->setServiceDescription(new ServiceDescription()); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($p)->setClient(new Client()); - $op->prepare()->setResponse(new Response(200, array('Content-Type' => 'application/xml'), 'C'), true); - $this->assertInstanceOf('SimpleXMLElement', $op->execute()); - } - - public function testVisitsLocations() - { - $parser = new OperationResponseParser(new VisitorFlyweight(array())); - $parser->addVisitor('statusCode', new StatusCodeVisitor()); - $parser->addVisitor('reasonPhrase', new ReasonPhraseVisitor()); - $parser->addVisitor('json', new JsonVisitor()); - $op = new OperationCommand(array(), $this->getDescription()->getOperation('test')); - $op->setResponseParser($parser)->setClient(new Client()); - $op->prepare()->setResponse(new Response(201), true); - $result = $op->execute(); - $this->assertEquals(201, $result['code']); - $this->assertEquals('Created', $result['phrase']); - } - - public function testVisitsLocationsForJsonResponse() - { - $parser = OperationResponseParser::getInstance(); - $operation = $this->getDescription()->getOperation('test'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $op->prepare()->setResponse(new Response(200, array( - 'Content-Type' => 'application/json' - ), '{"baz":"bar","enigma":"123"}'), true); - $result = $op->execute(); - $this->assertEquals(array( - 'baz' => 'bar', - 'enigma' => '123', - 'code' => 200, - 'phrase' => 'OK' - ), $result->toArray()); - } - - public function testSkipsUnkownModels() - { - $parser = OperationResponseParser::getInstance(); - $operation = $this->getDescription()->getOperation('test'); - $operation->setResponseClass('Baz')->setResponseType('model'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $op->prepare()->setResponse(new Response(201), true); - $this->assertInstanceOf('Guzzle\Http\Message\Response', $op->execute()); - } - - public function testAllowsModelProcessingToBeDisabled() - { - $parser = OperationResponseParser::getInstance(); - $operation = $this->getDescription()->getOperation('test'); - $op = new OperationCommand(array('command.response_processing' => 'native'), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $op->prepare()->setResponse(new Response(200, array( - 'Content-Type' => 'application/json' - ), '{"baz":"bar","enigma":"123"}'), true); - $result = $op->execute(); - $this->assertInstanceOf('Guzzle\Service\Resource\Model', $result); - $this->assertEquals(array( - 'baz' => 'bar', - 'enigma' => '123' - ), $result->toArray()); - } - - public function testCanInjectModelSchemaIntoModels() - { - $parser = new OperationResponseParser(VisitorFlyweight::getInstance(), true); - $desc = $this->getDescription(); - $operation = $desc->getOperation('test'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $op->prepare()->setResponse(new Response(200, array( - 'Content-Type' => 'application/json' - ), '{"baz":"bar","enigma":"123"}'), true); - $result = $op->execute(); - $this->assertSame($result->getStructure(), $desc->getModel('Foo')); - } - - public function testDoesNotParseXmlWhenNotUsingXmlVisitor() - { - $parser = OperationResponseParser::getInstance(); - $description = ServiceDescription::factory(array( - 'operations' => array('test' => array('responseClass' => 'Foo')), - 'models' => array( - 'Foo' => array( - 'type' => 'object', - 'properties' => array('baz' => array('location' => 'body')) - ) - ) - )); - $operation = $description->getOperation('test'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $brokenXml = '<><><>>>>'; - $op->prepare()->setResponse(new Response(200, array( - 'Content-Type' => 'application/xml' - ), $brokenXml), true); - $result = $op->execute(); - $this->assertEquals(array('baz'), $result->getKeys()); - $this->assertEquals($brokenXml, (string) $result['baz']); - } - - public function testVisitsAdditionalProperties() - { - $parser = OperationResponseParser::getInstance(); - $description = ServiceDescription::factory(array( - 'operations' => array('test' => array('responseClass' => 'Foo')), - 'models' => array( - 'Foo' => array( - 'type' => 'object', - 'properties' => array( - 'code' => array('location' => 'statusCode') - ), - 'additionalProperties' => array( - 'location' => 'json', - 'type' => 'object', - 'properties' => array( - 'a' => array( - 'type' => 'string', - 'filters' => 'strtoupper' - ) - ) - ) - ) - ) - )); - - $operation = $description->getOperation('test'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $json = '[{"a":"test"},{"a":"baz"}]'; - $op->prepare()->setResponse(new Response(200, array('Content-Type' => 'application/json'), $json), true); - $result = $op->execute()->toArray(); - $this->assertEquals(array( - 'code' => 200, - array('a' => 'TEST'), - array('a' => 'BAZ') - ), $result); - } - - /** - * @group issue-399 - * @link https://github.com/guzzle/guzzle/issues/399 - */ - public function testAdditionalPropertiesDisabledDiscardsData() - { - $parser = OperationResponseParser::getInstance(); - $description = ServiceDescription::factory(array( - 'operations' => array('test' => array('responseClass' => 'Foo')), - 'models' => array( - 'Foo' => array( - 'type' => 'object', - 'additionalProperties' => false, - 'properties' => array( - 'name' => array( - 'location' => 'json', - 'type' => 'string', - ), - 'nested' => array( - 'location' => 'json', - 'type' => 'object', - 'additionalProperties' => false, - 'properties' => array( - 'width' => array( - 'type' => 'integer' - ) - ), - ), - 'code' => array('location' => 'statusCode') - ), - - ) - ) - )); - - $operation = $description->getOperation('test'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $json = '{"name":"test", "volume":2.0, "nested":{"width":10,"bogus":1}}'; - $op->prepare()->setResponse(new Response(200, array('Content-Type' => 'application/json'), $json), true); - $result = $op->execute()->toArray(); - $this->assertEquals(array( - 'name' => 'test', - 'nested' => array( - 'width' => 10, - ), - 'code' => 200 - ), $result); - } - - public function testCreatesCustomResponseClassInterface() - { - $parser = OperationResponseParser::getInstance(); - $description = ServiceDescription::factory(array( - 'operations' => array('test' => array('responseClass' => 'Guzzle\Tests\Mock\CustomResponseModel')) - )); - $operation = $description->getOperation('test'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $op->prepare()->setResponse(new Response(200, array('Content-Type' => 'application/json'), 'hi!'), true); - $result = $op->execute(); - $this->assertInstanceOf('Guzzle\Tests\Mock\CustomResponseModel', $result); - $this->assertSame($op, $result->command); - } - - /** - * @expectedException \Guzzle\Service\Exception\ResponseClassException - * @expectedExceptionMessage must exist - */ - public function testEnsuresResponseClassExists() - { - $parser = OperationResponseParser::getInstance(); - $description = ServiceDescription::factory(array( - 'operations' => array('test' => array('responseClass' => 'Foo\Baz\Bar')) - )); - $operation = $description->getOperation('test'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $op->prepare()->setResponse(new Response(200, array('Content-Type' => 'application/json'), 'hi!'), true); - $op->execute(); - } - - /** - * @expectedException \Guzzle\Service\Exception\ResponseClassException - * @expectedExceptionMessage and implement - */ - public function testEnsuresResponseClassImplementsResponseClassInterface() - { - $parser = OperationResponseParser::getInstance(); - $description = ServiceDescription::factory(array( - 'operations' => array('test' => array('responseClass' => __CLASS__)) - )); - $operation = $description->getOperation('test'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $op->prepare()->setResponse(new Response(200, array('Content-Type' => 'application/json'), 'hi!'), true); - $op->execute(); - } - - protected function getDescription() - { - return ServiceDescription::factory(array( - 'operations' => array('test' => array('responseClass' => 'Foo')), - 'models' => array( - 'Foo' => array( - 'type' => 'object', - 'properties' => array( - 'baz' => array('type' => 'string', 'location' => 'json'), - 'code' => array('location' => 'statusCode'), - 'phrase' => array('location' => 'reasonPhrase'), - ) - ) - ) - )); - } - - public function testCanAddListenerToParseDomainObjects() - { - $client = new Client(); - $client->setDescription(ServiceDescription::factory(array( - 'operations' => array('test' => array('responseClass' => 'FooBazBar')) - ))); - $foo = new \stdClass(); - $client->getEventDispatcher()->addListener('command.parse_response', function ($e) use ($foo) { - $e['result'] = $foo; - }); - $command = $client->getCommand('test'); - $command->prepare()->setResponse(new Response(200), true); - $result = $command->execute(); - $this->assertSame($result, $foo); - } - - /** - * @group issue-399 - * @link https://github.com/guzzle/guzzle/issues/501 - */ - public function testAdditionalPropertiesWithRefAreResolved() - { - $parser = OperationResponseParser::getInstance(); - $description = ServiceDescription::factory(array( - 'operations' => array('test' => array('responseClass' => 'Foo')), - 'models' => array( - 'Baz' => array('type' => 'string'), - 'Foo' => array( - 'type' => 'object', - 'additionalProperties' => array('$ref' => 'Baz', 'location' => 'json') - ) - ) - )); - $operation = $description->getOperation('test'); - $op = new OperationCommand(array(), $operation); - $op->setResponseParser($parser)->setClient(new Client()); - $json = '{"a":"a","b":"b","c":"c"}'; - $op->prepare()->setResponse(new Response(200, array('Content-Type' => 'application/json'), $json), true); - $result = $op->execute()->toArray(); - $this->assertEquals(array('a' => 'a', 'b' => 'b', 'c' => 'c'), $result); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/OperationTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/OperationTest.php deleted file mode 100644 index ae33b692..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/OperationTest.php +++ /dev/null @@ -1,308 +0,0 @@ - 'test', - 'summary' => 'doc', - 'notes' => 'notes', - 'documentationUrl' => 'http://www.example.com', - 'httpMethod' => 'POST', - 'uri' => '/api/v1', - 'responseClass' => 'array', - 'responseNotes' => 'returns the json_decoded response', - 'deprecated' => true, - 'parameters' => array( - 'key' => array( - 'required' => true, - 'type' => 'string', - 'maxLength' => 10 - ), - 'key_2' => array( - 'required' => true, - 'type' => 'integer', - 'default' => 10 - ) - ) - )); - - $this->assertEquals('test', $c->getName()); - $this->assertEquals('doc', $c->getSummary()); - $this->assertEquals('http://www.example.com', $c->getDocumentationUrl()); - $this->assertEquals('POST', $c->getHttpMethod()); - $this->assertEquals('/api/v1', $c->getUri()); - $this->assertEquals('array', $c->getResponseClass()); - $this->assertEquals('returns the json_decoded response', $c->getResponseNotes()); - $this->assertTrue($c->getDeprecated()); - $this->assertEquals('Guzzle\\Service\\Command\\OperationCommand', $c->getClass()); - $this->assertEquals(array( - 'key' => new Parameter(array( - 'name' => 'key', - 'required' => true, - 'type' => 'string', - 'maxLength' => 10, - 'parent' => $c - )), - 'key_2' => new Parameter(array( - 'name' => 'key_2', - 'required' => true, - 'type' => 'integer', - 'default' => 10, - 'parent' => $c - )) - ), $c->getParams()); - - $this->assertEquals(new Parameter(array( - 'name' => 'key_2', - 'required' => true, - 'type' => 'integer', - 'default' => 10, - 'parent' => $c - )), $c->getParam('key_2')); - - $this->assertNull($c->getParam('afefwef')); - $this->assertArrayNotHasKey('parent', $c->getParam('key_2')->toArray()); - } - - public function testAllowsConcreteCommands() - { - $c = new Operation(array( - 'name' => 'test', - 'class' => 'Guzzle\\Service\\Command\ClosureCommand', - 'parameters' => array( - 'p' => new Parameter(array( - 'name' => 'foo' - )) - ) - )); - $this->assertEquals('Guzzle\\Service\\Command\ClosureCommand', $c->getClass()); - } - - public function testConvertsToArray() - { - $data = array( - 'name' => 'test', - 'class' => 'Guzzle\\Service\\Command\ClosureCommand', - 'summary' => 'test', - 'documentationUrl' => 'http://www.example.com', - 'httpMethod' => 'PUT', - 'uri' => '/', - 'parameters' => array('p' => array('name' => 'foo')) - ); - $c = new Operation($data); - $toArray = $c->toArray(); - unset($data['name']); - $this->assertArrayHasKey('parameters', $toArray); - $this->assertInternalType('array', $toArray['parameters']); - - // Normalize the array - unset($data['parameters']); - unset($toArray['parameters']); - - $data['responseType'] = 'primitive'; - $data['responseClass'] = 'array'; - $this->assertEquals($data, $toArray); - } - - public function testDeterminesIfHasParam() - { - $command = $this->getTestCommand(); - $this->assertTrue($command->hasParam('data')); - $this->assertFalse($command->hasParam('baz')); - } - - public function testReturnsParamNames() - { - $command = $this->getTestCommand(); - $this->assertEquals(array('data'), $command->getParamNames()); - } - - protected function getTestCommand() - { - return new Operation(array( - 'parameters' => array( - 'data' => new Parameter(array( - 'type' => 'string' - )) - ) - )); - } - - public function testCanBuildUpCommands() - { - $c = new Operation(array()); - $c->setName('foo') - ->setClass('Baz') - ->setDeprecated(false) - ->setSummary('summary') - ->setDocumentationUrl('http://www.foo.com') - ->setHttpMethod('PUT') - ->setResponseNotes('oh') - ->setResponseClass('string') - ->setUri('/foo/bar') - ->addParam(new Parameter(array( - 'name' => 'test' - ))); - - $this->assertEquals('foo', $c->getName()); - $this->assertEquals('Baz', $c->getClass()); - $this->assertEquals(false, $c->getDeprecated()); - $this->assertEquals('summary', $c->getSummary()); - $this->assertEquals('http://www.foo.com', $c->getDocumentationUrl()); - $this->assertEquals('PUT', $c->getHttpMethod()); - $this->assertEquals('oh', $c->getResponseNotes()); - $this->assertEquals('string', $c->getResponseClass()); - $this->assertEquals('/foo/bar', $c->getUri()); - $this->assertEquals(array('test'), $c->getParamNames()); - } - - public function testCanRemoveParams() - { - $c = new Operation(array()); - $c->addParam(new Parameter(array('name' => 'foo'))); - $this->assertTrue($c->hasParam('foo')); - $c->removeParam('foo'); - $this->assertFalse($c->hasParam('foo')); - } - - public function testAddsNameToParametersIfNeeded() - { - $command = new Operation(array('parameters' => array('foo' => new Parameter(array())))); - $this->assertEquals('foo', $command->getParam('foo')->getName()); - } - - public function testContainsApiErrorInformation() - { - $command = $this->getOperation(); - $this->assertEquals(1, count($command->getErrorResponses())); - $arr = $command->toArray(); - $this->assertEquals(1, count($arr['errorResponses'])); - $command->addErrorResponse(400, 'Foo', 'Baz\\Bar'); - $this->assertEquals(2, count($command->getErrorResponses())); - $command->setErrorResponses(array()); - $this->assertEquals(0, count($command->getErrorResponses())); - } - - public function testHasNotes() - { - $o = new Operation(array('notes' => 'foo')); - $this->assertEquals('foo', $o->getNotes()); - $o->setNotes('bar'); - $this->assertEquals('bar', $o->getNotes()); - } - - public function testHasData() - { - $o = new Operation(array('data' => array('foo' => 'baz', 'bar' => 123))); - $o->setData('test', false); - $this->assertEquals('baz', $o->getData('foo')); - $this->assertEquals(123, $o->getData('bar')); - $this->assertNull($o->getData('wfefwe')); - $this->assertEquals(array( - 'parameters' => array(), - 'class' => 'Guzzle\Service\Command\OperationCommand', - 'data' => array('foo' => 'baz', 'bar' => 123, 'test' => false), - 'responseClass' => 'array', - 'responseType' => 'primitive' - ), $o->toArray()); - } - - public function testHasServiceDescription() - { - $s = new ServiceDescription(); - $o = new Operation(array(), $s); - $this->assertSame($s, $o->getServiceDescription()); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testValidatesResponseType() - { - $o = new Operation(array('responseClass' => 'array', 'responseType' => 'foo')); - } - - public function testInfersResponseType() - { - $o = $this->getOperation(); - $o->setServiceDescription(new ServiceDescription(array('models' => array('Foo' => array())))); - $this->assertEquals('primitive', $o->getResponseType()); - $this->assertEquals('primitive', $o->setResponseClass('boolean')->getResponseType()); - $this->assertEquals('primitive', $o->setResponseClass('array')->getResponseType()); - $this->assertEquals('primitive', $o->setResponseClass('integer')->getResponseType()); - $this->assertEquals('primitive', $o->setResponseClass('string')->getResponseType()); - $this->assertEquals('class', $o->setResponseClass('foo')->getResponseType()); - $this->assertEquals('class', $o->setResponseClass(__CLASS__)->getResponseType()); - $this->assertEquals('model', $o->setResponseClass('Foo')->getResponseType()); - } - - public function testHasResponseType() - { - // infers in the constructor - $o = new Operation(array('responseClass' => 'array')); - $this->assertEquals('primitive', $o->getResponseType()); - // Infers when set - $o = new Operation(); - $this->assertEquals('primitive', $o->getResponseType()); - $this->assertEquals('model', $o->setResponseType('model')->getResponseType()); - } - - public function testHasAdditionalParameters() - { - $o = new Operation(array( - 'additionalParameters' => array( - 'type' => 'string', 'name' => 'binks' - ), - 'parameters' => array( - 'foo' => array('type' => 'integer') - ) - )); - $this->assertEquals('string', $o->getAdditionalParameters()->getType()); - $arr = $o->toArray(); - $this->assertEquals(array( - 'type' => 'string' - ), $arr['additionalParameters']); - } - - /** - * @return Operation - */ - protected function getOperation() - { - return new Operation(array( - 'name' => 'OperationTest', - 'class' => get_class($this), - 'parameters' => array( - 'test' => array('type' => 'object'), - 'bool_1' => array('default' => true, 'type' => 'boolean'), - 'bool_2' => array('default' => false), - 'float' => array('type' => 'numeric'), - 'int' => array('type' => 'integer'), - 'date' => array('type' => 'string'), - 'timestamp' => array('type' => 'string'), - 'string' => array('type' => 'string'), - 'username' => array('type' => 'string', 'required' => true, 'filters' => 'strtolower'), - 'test_function' => array('type' => 'string', 'filters' => __CLASS__ . '::strtoupper') - ), - 'errorResponses' => array( - array('code' => 503, 'reason' => 'InsufficientCapacity', 'class' => 'Guzzle\\Exception\\RuntimeException') - ) - )); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ParameterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ParameterTest.php deleted file mode 100644 index b9c162aa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ParameterTest.php +++ /dev/null @@ -1,411 +0,0 @@ - 'foo', - 'type' => 'bar', - 'required' => true, - 'default' => '123', - 'description' => '456', - 'minLength' => 2, - 'maxLength' => 5, - 'location' => 'body', - 'static' => 'static!', - 'filters' => array('trim', 'json_encode') - ); - - public function testCreatesParamFromArray() - { - $p = new Parameter($this->data); - $this->assertEquals('foo', $p->getName()); - $this->assertEquals('bar', $p->getType()); - $this->assertEquals(true, $p->getRequired()); - $this->assertEquals('123', $p->getDefault()); - $this->assertEquals('456', $p->getDescription()); - $this->assertEquals(2, $p->getMinLength()); - $this->assertEquals(5, $p->getMaxLength()); - $this->assertEquals('body', $p->getLocation()); - $this->assertEquals('static!', $p->getStatic()); - $this->assertEquals(array('trim', 'json_encode'), $p->getFilters()); - } - - public function testCanConvertToArray() - { - $p = new Parameter($this->data); - unset($this->data['name']); - $this->assertEquals($this->data, $p->toArray()); - } - - public function testUsesStatic() - { - $d = $this->data; - $d['default'] = 'booboo'; - $d['static'] = true; - $p = new Parameter($d); - $this->assertEquals('booboo', $p->getValue('bar')); - } - - public function testUsesDefault() - { - $d = $this->data; - $d['default'] = 'foo'; - $d['static'] = null; - $p = new Parameter($d); - $this->assertEquals('foo', $p->getValue(null)); - } - - public function testReturnsYourValue() - { - $d = $this->data; - $d['static'] = null; - $p = new Parameter($d); - $this->assertEquals('foo', $p->getValue('foo')); - } - - public function testZeroValueDoesNotCauseDefaultToBeReturned() - { - $d = $this->data; - $d['default'] = '1'; - $d['static'] = null; - $p = new Parameter($d); - $this->assertEquals('0', $p->getValue('0')); - } - - public function testFiltersValues() - { - $d = $this->data; - $d['static'] = null; - $d['filters'] = 'strtoupper'; - $p = new Parameter($d); - $this->assertEquals('FOO', $p->filter('foo')); - } - - public function testConvertsBooleans() - { - $p = new Parameter(array('type' => 'boolean')); - $this->assertEquals(true, $p->filter('true')); - $this->assertEquals(false, $p->filter('false')); - } - - public function testUsesArrayByDefaultForFilters() - { - $d = $this->data; - $d['filters'] = null; - $p = new Parameter($d); - $this->assertEquals(array(), $p->getFilters()); - } - - public function testAllowsSimpleLocationValue() - { - $p = new Parameter(array('name' => 'myname', 'location' => 'foo', 'sentAs' => 'Hello')); - $this->assertEquals('foo', $p->getLocation()); - $this->assertEquals('Hello', $p->getSentAs()); - } - - public function testParsesTypeValues() - { - $p = new Parameter(array('type' => 'foo')); - $this->assertEquals('foo', $p->getType()); - } - - /** - * @expectedException InvalidArgumentException - * @expectedExceptionMessage A [method] value must be specified for each complex filter - */ - public function testValidatesComplexFilters() - { - $p = new Parameter(array('filters' => array(array('args' => 'foo')))); - } - - public function testCanBuildUpParams() - { - $p = new Parameter(array()); - $p->setName('foo') - ->setDescription('c') - ->setFilters(array('d')) - ->setLocation('e') - ->setSentAs('f') - ->setMaxLength(1) - ->setMinLength(1) - ->setMinimum(2) - ->setMaximum(2) - ->setMinItems(3) - ->setMaxItems(3) - ->setRequired(true) - ->setStatic(true) - ->setDefault('h') - ->setType('i'); - - $p->addFilter('foo'); - - $this->assertEquals('foo', $p->getName()); - $this->assertEquals('h', $p->getDefault()); - $this->assertEquals('c', $p->getDescription()); - $this->assertEquals(array('d', 'foo'), $p->getFilters()); - $this->assertEquals('e', $p->getLocation()); - $this->assertEquals('f', $p->getSentAs()); - $this->assertEquals(1, $p->getMaxLength()); - $this->assertEquals(1, $p->getMinLength()); - $this->assertEquals(2, $p->getMaximum()); - $this->assertEquals(2, $p->getMinimum()); - $this->assertEquals(3, $p->getMaxItems()); - $this->assertEquals(3, $p->getMinItems()); - $this->assertEquals(true, $p->getRequired()); - $this->assertEquals(true, $p->getStatic()); - $this->assertEquals('i', $p->getType()); - } - - public function testAllowsNestedShape() - { - $command = $this->getServiceBuilder()->get('mock')->getCommand('mock_command')->getOperation(); - $param = new Parameter(array( - 'parent' => $command, - 'name' => 'foo', - 'type' => 'object', - 'location' => 'query', - 'properties' => array( - 'foo' => array( - 'type' => 'object', - 'required' => true, - 'properties' => array( - 'baz' => array( - 'name' => 'baz', - 'type' => 'bool', - ) - ) - ), - 'bar' => array( - 'name' => 'bar', - 'default' => '123' - ) - ) - )); - - $this->assertSame($command, $param->getParent()); - $this->assertNotEmpty($param->getProperties()); - $this->assertInstanceOf('Guzzle\Service\Description\Parameter', $param->getProperty('foo')); - $this->assertSame($param, $param->getProperty('foo')->getParent()); - $this->assertSame($param->getProperty('foo'), $param->getProperty('foo')->getProperty('baz')->getParent()); - $this->assertInstanceOf('Guzzle\Service\Description\Parameter', $param->getProperty('bar')); - $this->assertSame($param, $param->getProperty('bar')->getParent()); - - $array = $param->toArray(); - $this->assertInternalType('array', $array['properties']); - $this->assertArrayHasKey('foo', $array['properties']); - $this->assertArrayHasKey('bar', $array['properties']); - } - - public function testAllowsComplexFilters() - { - $that = $this; - $param = new Parameter(array()); - $param->setFilters(array(array('method' => function ($a, $b, $c, $d) use ($that, $param) { - $that->assertEquals('test', $a); - $that->assertEquals('my_value!', $b); - $that->assertEquals('bar', $c); - $that->assertSame($param, $d); - return 'abc' . $b; - }, 'args' => array('test', '@value', 'bar', '@api')))); - $this->assertEquals('abcmy_value!', $param->filter('my_value!')); - } - - public function testCanChangeParentOfNestedParameter() - { - $param1 = new Parameter(array('name' => 'parent')); - $param2 = new Parameter(array('name' => 'child')); - $param2->setParent($param1); - $this->assertSame($param1, $param2->getParent()); - } - - public function testCanRemoveFromNestedStructure() - { - $param1 = new Parameter(array('name' => 'parent')); - $param2 = new Parameter(array('name' => 'child')); - $param1->addProperty($param2); - $this->assertSame($param1, $param2->getParent()); - $this->assertSame($param2, $param1->getProperty('child')); - - // Remove a single child from the structure - $param1->removeProperty('child'); - $this->assertNull($param1->getProperty('child')); - // Remove the entire structure - $param1->addProperty($param2); - $param1->removeProperty('child'); - $this->assertNull($param1->getProperty('child')); - } - - public function testAddsAdditionalProperties() - { - $p = new Parameter(array( - 'type' => 'object', - 'additionalProperties' => array('type' => 'string') - )); - $this->assertInstanceOf('Guzzle\Service\Description\Parameter', $p->getAdditionalProperties()); - $this->assertNull($p->getAdditionalProperties()->getAdditionalProperties()); - $p = new Parameter(array('type' => 'object')); - $this->assertTrue($p->getAdditionalProperties()); - } - - public function testAddsItems() - { - $p = new Parameter(array( - 'type' => 'array', - 'items' => array('type' => 'string') - )); - $this->assertInstanceOf('Guzzle\Service\Description\Parameter', $p->getItems()); - $out = $p->toArray(); - $this->assertEquals('array', $out['type']); - $this->assertInternalType('array', $out['items']); - } - - public function testHasExtraProperties() - { - $p = new Parameter(); - $this->assertEquals(array(), $p->getData()); - $p->setData(array('foo' => 'bar')); - $this->assertEquals('bar', $p->getData('foo')); - $p->setData('baz', 'boo'); - $this->assertEquals(array('foo' => 'bar', 'baz' => 'boo'), $p->getData()); - } - - public function testCanRetrieveKnownPropertiesUsingDataMethod() - { - $p = new Parameter(); - $this->assertEquals(null, $p->getData('foo')); - $p->setName('test'); - $this->assertEquals('test', $p->getData('name')); - } - - public function testHasInstanceOf() - { - $p = new Parameter(); - $this->assertNull($p->getInstanceOf()); - $p->setInstanceOf('Foo'); - $this->assertEquals('Foo', $p->getInstanceOf()); - } - - public function testHasPattern() - { - $p = new Parameter(); - $this->assertNull($p->getPattern()); - $p->setPattern('/[0-9]+/'); - $this->assertEquals('/[0-9]+/', $p->getPattern()); - } - - public function testHasEnum() - { - $p = new Parameter(); - $this->assertNull($p->getEnum()); - $p->setEnum(array('foo', 'bar')); - $this->assertEquals(array('foo', 'bar'), $p->getEnum()); - } - - public function testSerializesItems() - { - $p = new Parameter(array( - 'type' => 'object', - 'additionalProperties' => array('type' => 'string') - )); - $this->assertEquals(array( - 'type' => 'object', - 'additionalProperties' => array('type' => 'string') - ), $p->toArray()); - } - - public function testResolvesRefKeysRecursively() - { - $description = new ServiceDescription(array( - 'models' => array( - 'JarJar' => array('type' => 'string', 'default' => 'Mesa address tha senate!'), - 'Anakin' => array('type' => 'array', 'items' => array('$ref' => 'JarJar')) - ) - )); - $p = new Parameter(array('$ref' => 'Anakin', 'description' => 'added'), $description); - $this->assertEquals(array( - 'type' => 'array', - 'items' => array('type' => 'string', 'default' => 'Mesa address tha senate!'), - 'description' => 'added' - ), $p->toArray()); - } - - public function testResolvesExtendsRecursively() - { - $jarJar = array('type' => 'string', 'default' => 'Mesa address tha senate!', 'description' => 'a'); - $anakin = array('type' => 'array', 'items' => array('extends' => 'JarJar', 'description' => 'b')); - $description = new ServiceDescription(array( - 'models' => array('JarJar' => $jarJar, 'Anakin' => $anakin) - )); - // Description attribute will be updated, and format added - $p = new Parameter(array('extends' => 'Anakin', 'format' => 'date'), $description); - $this->assertEquals(array( - 'type' => 'array', - 'format' => 'date', - 'items' => array( - 'type' => 'string', - 'default' => 'Mesa address tha senate!', - 'description' => 'b' - ) - ), $p->toArray()); - } - - public function testHasKeyMethod() - { - $p = new Parameter(array('name' => 'foo', 'sentAs' => 'bar')); - $this->assertEquals('bar', $p->getWireName()); - $p->setSentAs(null); - $this->assertEquals('foo', $p->getWireName()); - } - - public function testIncludesNameInToArrayWhenItemsAttributeHasName() - { - $p = new Parameter(array( - 'type' => 'array', - 'name' => 'Abc', - 'items' => array( - 'name' => 'Foo', - 'type' => 'object' - ) - )); - $result = $p->toArray(); - $this->assertEquals(array( - 'type' => 'array', - 'items' => array( - 'name' => 'Foo', - 'type' => 'object', - 'additionalProperties' => true - ) - ), $result); - } - - public function dateTimeProvider() - { - $d = 'October 13, 2012 16:15:46 UTC'; - - return array( - array($d, 'date-time', '2012-10-13T16:15:46Z'), - array($d, 'date', '2012-10-13'), - array($d, 'timestamp', strtotime($d)), - array(new \DateTime($d), 'timestamp', strtotime($d)) - ); - } - - /** - * @dataProvider dateTimeProvider - */ - public function testAppliesFormat($d, $format, $result) - { - $p = new Parameter(); - $p->setFormat($format); - $this->assertEquals($format, $p->getFormat()); - $this->assertEquals($result, $p->filter($d)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaFormatterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaFormatterTest.php deleted file mode 100644 index eb3619be..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaFormatterTest.php +++ /dev/null @@ -1,61 +0,0 @@ -assertEquals($result, SchemaFormatter::format($format, $value)); - } - - /** - * @expectedException \Guzzle\Common\Exception\InvalidArgumentException - */ - public function testValidatesDateTimeInput() - { - SchemaFormatter::format('date-time', false); - } - - public function testEnsuresTimestampsAreIntegers() - { - $t = time(); - $result = SchemaFormatter::format('timestamp', $t); - $this->assertSame($t, $result); - $this->assertInternalType('int', $result); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaValidatorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaValidatorTest.php deleted file mode 100644 index 4d6cc872..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/SchemaValidatorTest.php +++ /dev/null @@ -1,326 +0,0 @@ -validator = new SchemaValidator(); - } - - public function testValidatesArrayListsAreNumericallyIndexed() - { - $value = array(array(1)); - $this->assertFalse($this->validator->validate($this->getComplexParam(), $value)); - $this->assertEquals( - array('[Foo][0] must be an array of properties. Got a numerically indexed array.'), - $this->validator->getErrors() - ); - } - - public function testValidatesArrayListsContainProperItems() - { - $value = array(true); - $this->assertFalse($this->validator->validate($this->getComplexParam(), $value)); - $this->assertEquals( - array('[Foo][0] must be of type object'), - $this->validator->getErrors() - ); - } - - public function testAddsDefaultValuesInLists() - { - $value = array(array()); - $this->assertTrue($this->validator->validate($this->getComplexParam(), $value)); - $this->assertEquals(array(array('Bar' => true)), $value); - } - - public function testMergesDefaultValuesInLists() - { - $value = array( - array('Baz' => 'hello!'), - array('Bar' => false) - ); - $this->assertTrue($this->validator->validate($this->getComplexParam(), $value)); - $this->assertEquals(array( - array( - 'Baz' => 'hello!', - 'Bar' => true - ), - array('Bar' => false) - ), $value); - } - - public function testCorrectlyConvertsParametersToArrayWhenArraysArePresent() - { - $param = $this->getComplexParam(); - $result = $param->toArray(); - $this->assertInternalType('array', $result['items']); - $this->assertEquals('array', $result['type']); - $this->assertInstanceOf('Guzzle\Service\Description\Parameter', $param->getItems()); - } - - public function testAllowsInstanceOf() - { - $p = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'instanceOf' => get_class($this) - )); - $this->assertTrue($this->validator->validate($p, $this)); - $this->assertFalse($this->validator->validate($p, $p)); - $this->assertEquals(array('[foo] must be an instance of ' . __CLASS__), $this->validator->getErrors()); - } - - public function testEnforcesInstanceOfOnlyWhenObject() - { - $p = new Parameter(array( - 'name' => 'foo', - 'type' => array('object', 'string'), - 'instanceOf' => get_class($this) - )); - $this->assertTrue($this->validator->validate($p, $this)); - $s = 'test'; - $this->assertTrue($this->validator->validate($p, $s)); - } - - public function testConvertsObjectsToArraysWhenToArrayInterface() - { - $o = $this->getMockBuilder('Guzzle\Common\ToArrayInterface') - ->setMethods(array('toArray')) - ->getMockForAbstractClass(); - $o->expects($this->once()) - ->method('toArray') - ->will($this->returnValue(array( - 'foo' => 'bar' - ))); - $p = new Parameter(array( - 'name' => 'test', - 'type' => 'object', - 'properties' => array( - 'foo' => array('required' => 'true') - ) - )); - $this->assertTrue($this->validator->validate($p, $o)); - } - - public function testMergesValidationErrorsInPropertiesWithParent() - { - $p = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'properties' => array( - 'bar' => array('type' => 'string', 'required' => true, 'description' => 'This is what it does'), - 'test' => array('type' => 'string', 'minLength' => 2, 'maxLength' => 5), - 'test2' => array('type' => 'string', 'minLength' => 2, 'maxLength' => 2), - 'test3' => array('type' => 'integer', 'minimum' => 100), - 'test4' => array('type' => 'integer', 'maximum' => 10), - 'test5' => array('type' => 'array', 'maxItems' => 2), - 'test6' => array('type' => 'string', 'enum' => array('a', 'bc')), - 'test7' => array('type' => 'string', 'pattern' => '/[0-9]+/'), - 'test8' => array('type' => 'number'), - 'baz' => array( - 'type' => 'array', - 'minItems' => 2, - 'required' => true, - "items" => array("type" => "string") - ) - ) - )); - - $value = array( - 'test' => 'a', - 'test2' => 'abc', - 'baz' => array(false), - 'test3' => 10, - 'test4' => 100, - 'test5' => array(1, 3, 4), - 'test6' => 'Foo', - 'test7' => 'abc', - 'test8' => 'abc' - ); - - $this->assertFalse($this->validator->validate($p, $value)); - $this->assertEquals(array ( - '[foo][bar] is a required string: This is what it does', - '[foo][baz] must contain 2 or more elements', - '[foo][baz][0] must be of type string', - '[foo][test2] length must be less than or equal to 2', - '[foo][test3] must be greater than or equal to 100', - '[foo][test4] must be less than or equal to 10', - '[foo][test5] must contain 2 or fewer elements', - '[foo][test6] must be one of "a" or "bc"', - '[foo][test7] must match the following regular expression: /[0-9]+/', - '[foo][test8] must be of type number', - '[foo][test] length must be greater than or equal to 2', - ), $this->validator->getErrors()); - } - - public function testHandlesNullValuesInArraysWithDefaults() - { - $p = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'required' => true, - 'properties' => array( - 'bar' => array( - 'type' => 'object', - 'required' => true, - 'properties' => array( - 'foo' => array('default' => 'hi') - ) - ) - ) - )); - $value = array(); - $this->assertTrue($this->validator->validate($p, $value)); - $this->assertEquals(array('bar' => array('foo' => 'hi')), $value); - } - - public function testFailsWhenNullValuesInArraysWithNoDefaults() - { - $p = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'required' => true, - 'properties' => array( - 'bar' => array( - 'type' => 'object', - 'required' => true, - 'properties' => array('foo' => array('type' => 'string')) - ) - ) - )); - $value = array(); - $this->assertFalse($this->validator->validate($p, $value)); - $this->assertEquals(array('[foo][bar] is a required object'), $this->validator->getErrors()); - } - - public function testChecksTypes() - { - $p = new SchemaValidator(); - $r = new \ReflectionMethod($p, 'determineType'); - $r->setAccessible(true); - $this->assertEquals('any', $r->invoke($p, 'any', 'hello')); - $this->assertEquals(false, $r->invoke($p, 'foo', 'foo')); - $this->assertEquals('string', $r->invoke($p, 'string', 'hello')); - $this->assertEquals(false, $r->invoke($p, 'string', false)); - $this->assertEquals('integer', $r->invoke($p, 'integer', 1)); - $this->assertEquals(false, $r->invoke($p, 'integer', 'abc')); - $this->assertEquals('numeric', $r->invoke($p, 'numeric', 1)); - $this->assertEquals('numeric', $r->invoke($p, 'numeric', '1')); - $this->assertEquals('number', $r->invoke($p, 'number', 1)); - $this->assertEquals('number', $r->invoke($p, 'number', '1')); - $this->assertEquals(false, $r->invoke($p, 'numeric', 'a')); - $this->assertEquals('boolean', $r->invoke($p, 'boolean', true)); - $this->assertEquals('boolean', $r->invoke($p, 'boolean', false)); - $this->assertEquals(false, $r->invoke($p, 'boolean', 'false')); - $this->assertEquals('null', $r->invoke($p, 'null', null)); - $this->assertEquals(false, $r->invoke($p, 'null', 'abc')); - $this->assertEquals('array', $r->invoke($p, 'array', array())); - $this->assertEquals(false, $r->invoke($p, 'array', 'foo')); - } - - public function testValidatesFalseAdditionalProperties() - { - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'properties' => array('bar' => array('type' => 'string')), - 'additionalProperties' => false - )); - $value = array('test' => '123'); - $this->assertFalse($this->validator->validate($param, $value)); - $this->assertEquals(array('[foo][test] is not an allowed property'), $this->validator->getErrors()); - $value = array('bar' => '123'); - $this->assertTrue($this->validator->validate($param, $value)); - } - - public function testAllowsUndefinedAdditionalProperties() - { - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'properties' => array('bar' => array('type' => 'string')) - )); - $value = array('test' => '123'); - $this->assertTrue($this->validator->validate($param, $value)); - } - - public function testValidatesAdditionalProperties() - { - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'properties' => array('bar' => array('type' => 'string')), - 'additionalProperties' => array('type' => 'integer') - )); - $value = array('test' => 'foo'); - $this->assertFalse($this->validator->validate($param, $value)); - $this->assertEquals(array('[foo][test] must be of type integer'), $this->validator->getErrors()); - } - - public function testValidatesAdditionalPropertiesThatArrayArrays() - { - $param = new Parameter(array( - 'name' => 'foo', - 'type' => 'object', - 'additionalProperties' => array( - 'type' => 'array', - 'items' => array('type' => 'string') - ) - )); - $value = array('test' => array(true)); - $this->assertFalse($this->validator->validate($param, $value)); - $this->assertEquals(array('[foo][test][0] must be of type string'), $this->validator->getErrors()); - } - - public function testIntegersCastToStringWhenTypeMismatch() - { - $param = new Parameter(array('name' => 'test', 'type' => 'string')); - $value = 12; - $this->assertTrue($this->validator->validate($param, $value)); - $this->assertEquals('12', $value); - } - - public function testRequiredMessageIncludesType() - { - $param = new Parameter(array('name' => 'test', 'type' => array('string', 'boolean'), 'required' => true)); - $value = null; - $this->assertFalse($this->validator->validate($param, $value)); - $this->assertEquals(array('[test] is a required string or boolean'), $this->validator->getErrors()); - } - - protected function getComplexParam() - { - return new Parameter(array( - 'name' => 'Foo', - 'type' => 'array', - 'required' => true, - 'min' => 1, - 'items' => array( - 'type' => 'object', - 'properties' => array( - 'Baz' => array( - 'type' => 'string', - ), - 'Bar' => array( - 'required' => true, - 'type' => 'boolean', - 'default' => true - ) - ) - ) - )); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionLoaderTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionLoaderTest.php deleted file mode 100644 index bbfd1d6d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionLoaderTest.php +++ /dev/null @@ -1,177 +0,0 @@ - true, - 'baz' => array('bar'), - 'apiVersion' => '123', - 'operations' => array() - )); - - $this->assertEquals(true, $d->getData('foo')); - $this->assertEquals(array('bar'), $d->getData('baz')); - $this->assertEquals('123', $d->getApiVersion()); - } - - public function testAllowsDeepNestedInheritance() - { - $d = ServiceDescription::factory(array( - 'operations' => array( - 'abstract' => array( - 'httpMethod' => 'HEAD', - 'parameters' => array( - 'test' => array('type' => 'string', 'required' => true) - ) - ), - 'abstract2' => array('uri' => '/test', 'extends' => 'abstract'), - 'concrete' => array('extends' => 'abstract2'), - 'override' => array('extends' => 'abstract', 'httpMethod' => 'PUT'), - 'override2' => array('extends' => 'override', 'httpMethod' => 'POST', 'uri' => '/') - ) - )); - - $c = $d->getOperation('concrete'); - $this->assertEquals('/test', $c->getUri()); - $this->assertEquals('HEAD', $c->getHttpMethod()); - $params = $c->getParams(); - $param = $params['test']; - $this->assertEquals('string', $param->getType()); - $this->assertTrue($param->getRequired()); - - // Ensure that merging HTTP method does not make an array - $this->assertEquals('PUT', $d->getOperation('override')->getHttpMethod()); - $this->assertEquals('POST', $d->getOperation('override2')->getHttpMethod()); - $this->assertEquals('/', $d->getOperation('override2')->getUri()); - } - - /** - * @expectedException RuntimeException - */ - public function testThrowsExceptionWhenExtendingMissingCommand() - { - ServiceDescription::factory(array( - 'operations' => array( - 'concrete' => array( - 'extends' => 'missing' - ) - ) - )); - } - - public function testAllowsMultipleInheritance() - { - $description = ServiceDescription::factory(array( - 'operations' => array( - 'a' => array( - 'httpMethod' => 'GET', - 'parameters' => array( - 'a1' => array( - 'default' => 'foo', - 'required' => true, - 'prepend' => 'hi' - ) - ) - ), - 'b' => array( - 'extends' => 'a', - 'parameters' => array( - 'b2' => array() - ) - ), - 'c' => array( - 'parameters' => array( - 'a1' => array( - 'default' => 'bar', - 'required' => true, - 'description' => 'test' - ), - 'c3' => array() - ) - ), - 'd' => array( - 'httpMethod' => 'DELETE', - 'extends' => array('b', 'c'), - 'parameters' => array( - 'test' => array() - ) - ) - ) - )); - - $command = $description->getOperation('d'); - $this->assertEquals('DELETE', $command->getHttpMethod()); - $this->assertContains('a1', $command->getParamNames()); - $this->assertContains('b2', $command->getParamNames()); - $this->assertContains('c3', $command->getParamNames()); - $this->assertContains('test', $command->getParamNames()); - - $this->assertTrue($command->getParam('a1')->getRequired()); - $this->assertEquals('bar', $command->getParam('a1')->getDefault()); - $this->assertEquals('test', $command->getParam('a1')->getDescription()); - } - - public function testAddsOtherFields() - { - $description = ServiceDescription::factory(array( - 'operations' => array(), - 'description' => 'Foo', - 'apiVersion' => 'bar' - )); - $this->assertEquals('Foo', $description->getDescription()); - $this->assertEquals('bar', $description->getApiVersion()); - } - - public function testCanLoadNestedExtends() - { - $description = ServiceDescription::factory(array( - 'operations' => array( - 'root' => array( - 'class' => 'foo' - ), - 'foo' => array( - 'extends' => 'root', - 'parameters' => array( - 'baz' => array('type' => 'string') - ) - ), - 'foo_2' => array( - 'extends' => 'foo', - 'parameters' => array( - 'bar' => array('type' => 'string') - ) - ), - 'foo_3' => array( - 'class' => 'bar', - 'parameters' => array( - 'bar2' => array('type' => 'string') - ) - ), - 'foo_4' => array( - 'extends' => array('foo_2', 'foo_3'), - 'parameters' => array( - 'bar3' => array('type' => 'string') - ) - ) - ) - )); - - $this->assertTrue($description->hasOperation('foo_4')); - $foo4 = $description->getOperation('foo_4'); - $this->assertTrue($foo4->hasParam('baz')); - $this->assertTrue($foo4->hasParam('bar')); - $this->assertTrue($foo4->hasParam('bar2')); - $this->assertTrue($foo4->hasParam('bar3')); - $this->assertEquals('bar', $foo4->getClass()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionTest.php deleted file mode 100644 index ff254523..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Description/ServiceDescriptionTest.php +++ /dev/null @@ -1,240 +0,0 @@ -serviceData = array( - 'test_command' => new Operation(array( - 'name' => 'test_command', - 'description' => 'documentationForCommand', - 'httpMethod' => 'DELETE', - 'class' => 'Guzzle\\Tests\\Service\\Mock\\Command\\MockCommand', - 'parameters' => array( - 'bucket' => array('required' => true), - 'key' => array('required' => true) - ) - )) - ); - } - - /** - * @covers Guzzle\Service\Description\ServiceDescription::factory - * @covers Guzzle\Service\Description\ServiceDescriptionLoader::build - */ - public function testFactoryDelegatesToConcreteFactories() - { - $jsonFile = __DIR__ . '/../../TestData/test_service.json'; - $this->assertInstanceOf('Guzzle\Service\Description\ServiceDescription', ServiceDescription::factory($jsonFile)); - } - - public function testConstructor() - { - $service = new ServiceDescription(array('operations' => $this->serviceData)); - $this->assertEquals(1, count($service->getOperations())); - $this->assertFalse($service->hasOperation('foobar')); - $this->assertTrue($service->hasOperation('test_command')); - } - - public function testIsSerializable() - { - $service = new ServiceDescription(array('operations' => $this->serviceData)); - $data = serialize($service); - $d2 = unserialize($data); - $this->assertEquals(serialize($service), serialize($d2)); - } - - public function testSerializesParameters() - { - $service = new ServiceDescription(array( - 'operations' => array( - 'foo' => new Operation(array('parameters' => array('foo' => array('type' => 'string')))) - ) - )); - $serialized = serialize($service); - $this->assertContains('"parameters":{"foo":', $serialized); - $service = unserialize($serialized); - $this->assertTrue($service->getOperation('foo')->hasParam('foo')); - } - - public function testAllowsForJsonBasedArrayParamsFunctionalTest() - { - $description = new ServiceDescription(array( - 'operations' => array( - 'test' => new Operation(array( - 'httpMethod' => 'PUT', - 'parameters' => array( - 'data' => array( - 'required' => true, - 'filters' => 'json_encode', - 'location' => 'body' - ) - ) - )) - ) - )); - $client = new Client(); - $client->setDescription($description); - $command = $client->getCommand('test', array( - 'data' => array( - 'foo' => 'bar' - ) - )); - - $request = $command->prepare(); - $this->assertEquals('{"foo":"bar"}', (string) $request->getBody()); - } - - public function testContainsModels() - { - $d = new ServiceDescription(array( - 'operations' => array('foo' => array()), - 'models' => array( - 'Tag' => array('type' => 'object'), - 'Person' => array('type' => 'object') - ) - )); - $this->assertTrue($d->hasModel('Tag')); - $this->assertTrue($d->hasModel('Person')); - $this->assertFalse($d->hasModel('Foo')); - $this->assertInstanceOf('Guzzle\Service\Description\Parameter', $d->getModel('Tag')); - $this->assertNull($d->getModel('Foo')); - $this->assertContains('"models":{', serialize($d)); - $this->assertEquals(array('Tag', 'Person'), array_keys($d->getModels())); - } - - public function testCanAddModels() - { - $d = new ServiceDescription(array()); - $this->assertFalse($d->hasModel('Foo')); - $d->addModel(new Parameter(array('name' => 'Foo'))); - $this->assertTrue($d->hasModel('Foo')); - } - - public function testHasAttributes() - { - $d = new ServiceDescription(array( - 'operations' => array(), - 'name' => 'Name', - 'description' => 'Description', - 'apiVersion' => '1.24' - )); - - $this->assertEquals('Name', $d->getName()); - $this->assertEquals('Description', $d->getDescription()); - $this->assertEquals('1.24', $d->getApiVersion()); - - $s = serialize($d); - $this->assertContains('"name":"Name"', $s); - $this->assertContains('"description":"Description"', $s); - $this->assertContains('"apiVersion":"1.24"', $s); - - $d = unserialize($s); - $this->assertEquals('Name', $d->getName()); - $this->assertEquals('Description', $d->getDescription()); - $this->assertEquals('1.24', $d->getApiVersion()); - } - - public function testPersistsCustomAttributes() - { - $data = array( - 'operations' => array('foo' => array('class' => 'foo', 'parameters' => array())), - 'name' => 'Name', - 'description' => 'Test', - 'apiVersion' => '1.24', - 'auth' => 'foo', - 'keyParam' => 'bar' - ); - $d = new ServiceDescription($data); - $d->setData('hello', 'baz'); - $this->assertEquals('foo', $d->getData('auth')); - $this->assertEquals('baz', $d->getData('hello')); - $this->assertEquals('bar', $d->getData('keyParam')); - // responseClass and responseType are added by default - $data['operations']['foo']['responseClass'] = 'array'; - $data['operations']['foo']['responseType'] = 'primitive'; - $this->assertEquals($data + array('hello' => 'baz'), json_decode($d->serialize(), true)); - } - - public function testHasToArray() - { - $data = array( - 'operations' => array(), - 'name' => 'Name', - 'description' => 'Test' - ); - $d = new ServiceDescription($data); - $arr = $d->toArray(); - $this->assertEquals('Name', $arr['name']); - $this->assertEquals('Test', $arr['description']); - } - - public function testReturnsNullWhenRetrievingMissingOperation() - { - $s = new ServiceDescription(array()); - $this->assertNull($s->getOperation('foo')); - } - - public function testCanAddOperations() - { - $s = new ServiceDescription(array()); - $this->assertFalse($s->hasOperation('Foo')); - $s->addOperation(new Operation(array('name' => 'Foo'))); - $this->assertTrue($s->hasOperation('Foo')); - } - - /** - * @expectedException Guzzle\Common\Exception\InvalidArgumentException - */ - public function testValidatesOperationTypes() - { - $s = new ServiceDescription(array( - 'operations' => array('foo' => new \stdClass()) - )); - } - - public function testHasBaseUrl() - { - $description = new ServiceDescription(array('baseUrl' => 'http://foo.com')); - $this->assertEquals('http://foo.com', $description->getBaseUrl()); - $description->setBaseUrl('http://foobar.com'); - $this->assertEquals('http://foobar.com', $description->getBaseUrl()); - } - - public function testCanUseBasePath() - { - $description = new ServiceDescription(array('basePath' => 'http://foo.com')); - $this->assertEquals('http://foo.com', $description->getBaseUrl()); - } - - public function testModelsHaveNames() - { - $desc = array( - 'models' => array( - 'date' => array('type' => 'string'), - 'user'=> array( - 'type' => 'object', - 'properties' => array( - 'dob' => array('$ref' => 'date') - ) - ) - ) - ); - - $s = ServiceDescription::factory($desc); - $this->assertEquals('date', $s->getModel('date')->getName()); - $this->assertEquals('dob', $s->getModel('user')->getProperty('dob')->getName()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/CommandTransferExceptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/CommandTransferExceptionTest.php deleted file mode 100644 index be0d4ac8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/CommandTransferExceptionTest.php +++ /dev/null @@ -1,66 +0,0 @@ -addSuccessfulCommand($c1)->addFailedCommand($c2); - $this->assertSame(array($c1), $e->getSuccessfulCommands()); - $this->assertSame(array($c2), $e->getFailedCommands()); - $this->assertSame(array($c1, $c2), $e->getAllCommands()); - } - - public function testConvertsMultiExceptionIntoCommandTransfer() - { - $r1 = new Request('GET', 'http://foo.com'); - $r2 = new Request('GET', 'http://foobaz.com'); - $e = new MultiTransferException('Test', 123); - $e->addSuccessfulRequest($r1)->addFailedRequest($r2); - $ce = CommandTransferException::fromMultiTransferException($e); - - $this->assertInstanceOf('Guzzle\Service\Exception\CommandTransferException', $ce); - $this->assertEquals('Test', $ce->getMessage()); - $this->assertEquals(123, $ce->getCode()); - $this->assertSame(array($r1), $ce->getSuccessfulRequests()); - $this->assertSame(array($r2), $ce->getFailedRequests()); - } - - public function testCanRetrieveExceptionForCommand() - { - $r1 = new Request('GET', 'http://foo.com'); - $e1 = new \Exception('foo'); - $c1 = $this->getMockBuilder('Guzzle\Tests\Service\Mock\Command\MockCommand') - ->setMethods(array('getRequest')) - ->getMock(); - $c1->expects($this->once())->method('getRequest')->will($this->returnValue($r1)); - - $e = new MultiTransferException('Test', 123); - $e->addFailedRequestWithException($r1, $e1); - $ce = CommandTransferException::fromMultiTransferException($e); - $ce->addFailedCommand($c1); - - $this->assertSame($e1, $ce->getExceptionForFailedCommand($c1)); - } - - public function testAddsNonRequestExceptions() - { - $e = new MultiTransferException(); - $e->add(new \Exception('bar')); - $e->addFailedRequestWithException(new Request('GET', 'http://www.foo.com'), new \Exception('foo')); - $ce = CommandTransferException::fromMultiTransferException($e); - $this->assertEquals(2, count($ce)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/InconsistentClientTransferExceptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/InconsistentClientTransferExceptionTest.php deleted file mode 100644 index 6455295a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/InconsistentClientTransferExceptionTest.php +++ /dev/null @@ -1,15 +0,0 @@ -assertEquals($items, $e->getCommands()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/ValidationExceptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/ValidationExceptionTest.php deleted file mode 100644 index ef789d8a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Exception/ValidationExceptionTest.php +++ /dev/null @@ -1,17 +0,0 @@ -setErrors($errors); - $this->assertEquals($errors, $e->getErrors()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/IterableCommand.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/IterableCommand.php deleted file mode 100644 index 4ab423e8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/IterableCommand.php +++ /dev/null @@ -1,31 +0,0 @@ - 'iterable_command', - 'parameters' => array( - 'page_size' => array('type' => 'integer'), - 'next_token' => array('type' => 'string') - ) - )); - } - - protected function build() - { - $this->request = $this->client->createRequest('GET'); - - // Add the next token and page size query string values - $this->request->getQuery()->set('next_token', $this->get('next_token')); - - if ($this->get('page_size')) { - $this->request->getQuery()->set('page_size', $this->get('page_size')); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/MockCommand.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/MockCommand.php deleted file mode 100644 index 831a7e79..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/MockCommand.php +++ /dev/null @@ -1,32 +0,0 @@ - get_called_class() == __CLASS__ ? 'mock_command' : 'sub.sub', - 'httpMethod' => 'POST', - 'parameters' => array( - 'test' => array( - 'default' => 123, - 'required' => true, - 'doc' => 'Test argument' - ), - '_internal' => array( - 'default' => 'abc' - ), - 'foo' => array('filters' => array('strtoupper')) - ) - )); - } - - protected function build() - { - $this->request = $this->client->createRequest(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/OtherCommand.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/OtherCommand.php deleted file mode 100644 index 72ae1f6a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/OtherCommand.php +++ /dev/null @@ -1,30 +0,0 @@ - 'other_command', - 'parameters' => array( - 'test' => array( - 'default' => '123', - 'required' => true, - 'doc' => 'Test argument' - ), - 'other' => array(), - 'arg' => array('type' => 'string'), - 'static' => array('static' => true, 'default' => 'this is static') - ) - )); - } - - protected function build() - { - $this->request = $this->client->getRequest('HEAD'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/Sub/Sub.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/Sub/Sub.php deleted file mode 100644 index d348480c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Command/Sub/Sub.php +++ /dev/null @@ -1,7 +0,0 @@ - '{scheme}://127.0.0.1:8124/{api_version}/{subdomain}', - 'scheme' => 'http', - 'api_version' => 'v1' - ), array('username', 'password', 'subdomain')); - - return new self($config->get('base_url'), $config); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Model/MockCommandIterator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Model/MockCommandIterator.php deleted file mode 100644 index 8faf4123..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Mock/Model/MockCommandIterator.php +++ /dev/null @@ -1,42 +0,0 @@ -nextToken) { - $this->command->set('next_token', $this->nextToken); - } - - $this->command->set('page_size', (int) $this->calculatePageSize()); - $this->command->execute(); - - $data = json_decode($this->command->getResponse()->getBody(true), true); - - $this->nextToken = $data['next_token']; - - return $data['resources']; - } - - public function next() - { - $this->calledNext++; - parent::next(); - } - - public function getResources() - { - return $this->resources; - } - - public function getIteratedCount() - { - return $this->iteratedCount; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/CompositeResourceIteratorFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/CompositeResourceIteratorFactoryTest.php deleted file mode 100644 index 41c20737..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/CompositeResourceIteratorFactoryTest.php +++ /dev/null @@ -1,37 +0,0 @@ -assertFalse($factory->canBuild($cmd)); - $factory->build($cmd); - } - - public function testBuildsResourceIterators() - { - $f1 = new ResourceIteratorClassFactory('Guzzle\Tests\Service\Mock\Model'); - $factory = new CompositeResourceIteratorFactory(array()); - $factory->addFactory($f1); - $command = new MockCommand(); - $iterator = $factory->build($command, array('client.namespace' => 'Guzzle\Tests\Service\Mock')); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\Model\MockCommandIterator', $iterator); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/MapResourceIteratorFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/MapResourceIteratorFactoryTest.php deleted file mode 100644 index d166e926..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/MapResourceIteratorFactoryTest.php +++ /dev/null @@ -1,40 +0,0 @@ -build(new MockCommand()); - } - - public function testBuildsResourceIterators() - { - $factory = new MapResourceIteratorFactory(array( - 'mock_command' => 'Guzzle\Tests\Service\Mock\Model\MockCommandIterator' - )); - $iterator = $factory->build(new MockCommand()); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\Model\MockCommandIterator', $iterator); - } - - public function testUsesWildcardMappings() - { - $factory = new MapResourceIteratorFactory(array( - '*' => 'Guzzle\Tests\Service\Mock\Model\MockCommandIterator' - )); - $iterator = $factory->build(new MockCommand()); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\Model\MockCommandIterator', $iterator); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ModelTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ModelTest.php deleted file mode 100644 index 7214133e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ModelTest.php +++ /dev/null @@ -1,65 +0,0 @@ - 'object')); - $model = new Model(array('foo' => 'bar'), $param); - $this->assertSame($param, $model->getStructure()); - $this->assertEquals('bar', $model->get('foo')); - $this->assertEquals('bar', $model['foo']); - } - - public function testCanBeUsedWithoutStructure() - { - $model = new Model(array( - 'Foo' => 'baz', - 'Bar' => array( - 'Boo' => 'Bam' - ) - )); - $transform = function ($key, $value) { - return ($value && is_array($value)) ? new Collection($value) : $value; - }; - $model = $model->map($transform); - $this->assertInstanceOf('Guzzle\Common\Collection', $model->getPath('Bar')); - } - - public function testAllowsFiltering() - { - $model = new Model(array( - 'Foo' => 'baz', - 'Bar' => 'a' - )); - $model = $model->filter(function ($i, $v) { - return $v[0] == 'a'; - }); - $this->assertEquals(array('Bar' => 'a'), $model->toArray()); - } - - public function testDoesNotIncludeEmptyStructureInString() - { - $model = new Model(array('Foo' => 'baz')); - $str = (string) $model; - $this->assertContains('Debug output of model', $str); - $this->assertNotContains('Model structure', $str); - } - - public function testDoesIncludeModelStructureInString() - { - $model = new Model(array('Foo' => 'baz'), new Parameter(array('name' => 'Foo'))); - $str = (string) $model; - $this->assertContains('Debug output of Foo model', $str); - $this->assertContains('Model structure', $str); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorClassFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorClassFactoryTest.php deleted file mode 100644 index 7b061b53..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorClassFactoryTest.php +++ /dev/null @@ -1,41 +0,0 @@ -registerNamespace('Baz'); - $command = new MockCommand(); - $factory->build($command); - } - - public function testBuildsResourceIterators() - { - $factory = new ResourceIteratorClassFactory('Guzzle\Tests\Service\Mock\Model'); - $command = new MockCommand(); - $iterator = $factory->build($command, array('client.namespace' => 'Guzzle\Tests\Service\Mock')); - $this->assertInstanceOf('Guzzle\Tests\Service\Mock\Model\MockCommandIterator', $iterator); - } - - public function testChecksIfCanBuild() - { - $factory = new ResourceIteratorClassFactory('Guzzle\Tests\Service'); - $this->assertFalse($factory->canBuild(new MockCommand())); - $factory = new ResourceIteratorClassFactory('Guzzle\Tests\Service\Mock\Model'); - $this->assertTrue($factory->canBuild(new MockCommand())); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorTest.php deleted file mode 100644 index 573fb6d6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Service/Resource/ResourceIteratorTest.php +++ /dev/null @@ -1,184 +0,0 @@ -assertInternalType('array', ResourceIterator::getAllEvents()); - } - - public function testConstructorConfiguresDefaults() - { - $ri = $this->getMockForAbstractClass('Guzzle\\Service\\Resource\\ResourceIterator', array( - $this->getServiceBuilder()->get('mock')->getCommand('iterable_command'), - array( - 'limit' => 10, - 'page_size' => 3 - ) - ), 'MockIterator'); - - $this->assertEquals(false, $ri->getNextToken()); - $this->assertEquals(false, $ri->current()); - } - - public function testSendsRequestsForNextSetOfResources() - { - // Queue up an array of responses for iterating - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }", - "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"j\", \"resources\": [\"g\", \"h\", \"i\"] }", - "HTTP/1.1 200 OK\r\nContent-Length: 41\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"j\"] }" - )); - - // Create a new resource iterator using the IterableCommand mock - $ri = new MockCommandIterator($this->getServiceBuilder()->get('mock')->getCommand('iterable_command'), array( - 'page_size' => 3 - )); - - // Ensure that no requests have been sent yet - $this->assertEquals(0, count($this->getServer()->getReceivedRequests(false))); - - //$this->assertEquals(array('d', 'e', 'f', 'g', 'h', 'i', 'j'), $ri->toArray()); - $ri->toArray(); - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals(3, count($requests)); - - $this->assertEquals(3, $requests[0]->getQuery()->get('page_size')); - $this->assertEquals(3, $requests[1]->getQuery()->get('page_size')); - $this->assertEquals(3, $requests[2]->getQuery()->get('page_size')); - - // Reset and resend - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }", - "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"j\", \"resources\": [\"g\", \"h\", \"i\"] }", - "HTTP/1.1 200 OK\r\nContent-Length: 41\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"j\"] }", - )); - - $d = array(); - foreach ($ri as $data) { - $d[] = $data; - } - $this->assertEquals(array('d', 'e', 'f', 'g', 'h', 'i', 'j'), $d); - } - - public function testCalculatesPageSize() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }", - "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"j\", \"resources\": [\"g\", \"h\", \"i\"] }", - "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"j\", \"resources\": [\"j\", \"k\"] }" - )); - - $ri = new MockCommandIterator($this->getServiceBuilder()->get('mock')->getCommand('iterable_command'), array( - 'page_size' => 3, - 'limit' => 7 - )); - - $this->assertEquals(array('d', 'e', 'f', 'g', 'h', 'i', 'j'), $ri->toArray()); - $requests = $this->getServer()->getReceivedRequests(true); - $this->assertEquals(3, count($requests)); - $this->assertEquals(3, $requests[0]->getQuery()->get('page_size')); - $this->assertEquals(3, $requests[1]->getQuery()->get('page_size')); - $this->assertEquals(1, $requests[2]->getQuery()->get('page_size')); - } - - public function testUseAsArray() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }", - "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"g\", \"h\", \"i\"] }" - )); - - $ri = new MockCommandIterator($this->getServiceBuilder()->get('mock')->getCommand('iterable_command')); - - // Ensure that the key is never < 0 - $this->assertEquals(0, $ri->key()); - $this->assertEquals(0, count($ri)); - - // Ensure that the iterator can be used as KVP array - $data = array(); - foreach ($ri as $key => $value) { - $data[$key] = $value; - } - - // Ensure that the iterate is countable - $this->assertEquals(6, count($ri)); - $this->assertEquals(array('d', 'e', 'f', 'g', 'h', 'i'), $data); - } - - public function testBailsWhenSendReturnsNoResults() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }", - "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [] }" - )); - - $ri = new MockCommandIterator($this->getServiceBuilder()->get('mock')->getCommand('iterable_command')); - - // Ensure that the iterator can be used as KVP array - $data = $ri->toArray(); - - // Ensure that the iterate is countable - $this->assertEquals(3, count($ri)); - $this->assertEquals(array('d', 'e', 'f'), $data); - - $this->assertEquals(2, $ri->getRequestCount()); - } - - public function testHoldsDataOptions() - { - $ri = new MockCommandIterator($this->getServiceBuilder()->get('mock')->getCommand('iterable_command')); - $this->assertNull($ri->get('foo')); - $this->assertSame($ri, $ri->set('foo', 'bar')); - $this->assertEquals('bar', $ri->get('foo')); - } - - public function testSettingLimitOrPageSizeClearsData() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"d\", \"e\", \"f\"] }", - "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"d\", \"e\", \"f\"] }", - "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"d\", \"e\", \"f\"] }" - )); - - $ri = new MockCommandIterator($this->getServiceBuilder()->get('mock')->getCommand('iterable_command')); - $ri->toArray(); - $this->assertNotEmpty($this->readAttribute($ri, 'resources')); - - $ri->setLimit(10); - $this->assertEmpty($this->readAttribute($ri, 'resources')); - - $ri->toArray(); - $this->assertNotEmpty($this->readAttribute($ri, 'resources')); - $ri->setPageSize(10); - $this->assertEmpty($this->readAttribute($ri, 'resources')); - } - - public function testWorksWithCustomAppendIterator() - { - $this->getServer()->flush(); - $this->getServer()->enqueue(array( - "HTTP/1.1 200 OK\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"d\", \"e\", \"f\"] }" - )); - $ri = new MockCommandIterator($this->getServiceBuilder()->get('mock')->getCommand('iterable_command')); - $a = new \Guzzle\Iterator\AppendIterator(); - $a->append($ri); - $results = iterator_to_array($a, false); - $this->assertEquals(4, $ri->calledNext); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Stream/PhpStreamRequestFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Stream/PhpStreamRequestFactoryTest.php deleted file mode 100644 index 083aaa0d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Stream/PhpStreamRequestFactoryTest.php +++ /dev/null @@ -1,172 +0,0 @@ -client = new Client($this->getServer()->getUrl()); - $this->factory = new PhpStreamRequestFactory(); - } - - public function testOpensValidStreamByCreatingContext() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi"); - $request = $this->client->get('/'); - $stream = $this->factory->fromRequest($request); - $this->assertEquals('hi', (string) $stream); - $headers = $this->factory->getLastResponseHeaders(); - $this->assertContains('HTTP/1.1 200 OK', $headers); - $this->assertContains('Content-Length: 2', $headers); - $this->assertSame($headers, $stream->getCustomData('response_headers')); - $this->assertEquals(2, $stream->getSize()); - } - - public function testOpensValidStreamByPassingContextAndMerging() - { - $request = $this->client->get('/'); - $this->factory = $this->getMockBuilder('Guzzle\Stream\PhpStreamRequestFactory') - ->setMethods(array('createContext', 'createStream')) - ->getMock(); - $this->factory->expects($this->never()) - ->method('createContext'); - $this->factory->expects($this->once()) - ->method('createStream') - ->will($this->returnValue(new Stream(fopen('php://temp', 'r')))); - - $context = array('http' => array('method' => 'HEAD', 'ignore_errors' => false)); - $this->factory->fromRequest($request, stream_context_create($context)); - $options = stream_context_get_options($this->readAttribute($this->factory, 'context')); - $this->assertEquals('HEAD', $options['http']['method']); - $this->assertFalse($options['http']['ignore_errors']); - $this->assertEquals('1.1', $options['http']['protocol_version']); - } - - public function testAppliesProxySettings() - { - $request = $this->client->get('/'); - $request->getCurlOptions()->set(CURLOPT_PROXY, 'tcp://foo.com'); - $this->factory = $this->getMockBuilder('Guzzle\Stream\PhpStreamRequestFactory') - ->setMethods(array('createStream')) - ->getMock(); - $this->factory->expects($this->once()) - ->method('createStream') - ->will($this->returnValue(new Stream(fopen('php://temp', 'r')))); - $this->factory->fromRequest($request); - $options = stream_context_get_options($this->readAttribute($this->factory, 'context')); - $this->assertEquals('tcp://foo.com', $options['http']['proxy']); - } - - public function testAddsPostFields() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi"); - $request = $this->client->post('/', array('Foo' => 'Bar'), array('foo' => 'baz bar')); - $stream = $this->factory->fromRequest($request); - $this->assertEquals('hi', (string) $stream); - - $headers = $this->factory->getLastResponseHeaders(); - $this->assertContains('HTTP/1.1 200 OK', $headers); - $this->assertContains('Content-Length: 2', $headers); - $this->assertSame($headers, $stream->getCustomData('response_headers')); - - $received = $this->getServer()->getReceivedRequests(); - $this->assertEquals(1, count($received)); - $this->assertContains('POST / HTTP/1.1', $received[0]); - $this->assertContains('host: ', $received[0]); - $this->assertContains('user-agent: Guzzle/', $received[0]); - $this->assertContains('foo: Bar', $received[0]); - $this->assertContains('content-length: 13', $received[0]); - $this->assertContains('foo=baz%20bar', $received[0]); - } - - public function testAddsBody() - { - $this->getServer()->flush(); - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi"); - $request = $this->client->put('/', array('Foo' => 'Bar'), 'Testing...123'); - $stream = $this->factory->fromRequest($request); - $this->assertEquals('hi', (string) $stream); - - $headers = $this->factory->getLastResponseHeaders(); - $this->assertContains('HTTP/1.1 200 OK', $headers); - $this->assertContains('Content-Length: 2', $headers); - $this->assertSame($headers, $stream->getCustomData('response_headers')); - - $received = $this->getServer()->getReceivedRequests(); - $this->assertEquals(1, count($received)); - $this->assertContains('PUT / HTTP/1.1', $received[0]); - $this->assertContains('host: ', $received[0]); - $this->assertContains('user-agent: Guzzle/', $received[0]); - $this->assertContains('foo: Bar', $received[0]); - $this->assertContains('content-length: 13', $received[0]); - $this->assertContains('Testing...123', $received[0]); - } - - public function testCanDisableSslValidation() - { - $request = $this->client->get('/'); - $request->getCurlOptions()->set(CURLOPT_SSL_VERIFYPEER, false); - $this->factory = $this->getMockBuilder('Guzzle\Stream\PhpStreamRequestFactory') - ->setMethods(array('createStream')) - ->getMock(); - $this->factory->expects($this->once()) - ->method('createStream') - ->will($this->returnValue(new Stream(fopen('php://temp', 'r')))); - $this->factory->fromRequest($request); - $options = stream_context_get_options($this->readAttribute($this->factory, 'context')); - $this->assertFalse($options['ssl']['verify_peer']); - } - - public function testUsesSslValidationByDefault() - { - $request = $this->client->get('/'); - $this->factory = $this->getMockBuilder('Guzzle\Stream\PhpStreamRequestFactory') - ->setMethods(array('createStream')) - ->getMock(); - $this->factory->expects($this->once()) - ->method('createStream') - ->will($this->returnValue(new Stream(fopen('php://temp', 'r')))); - $this->factory->fromRequest($request); - $options = stream_context_get_options($this->readAttribute($this->factory, 'context')); - $this->assertTrue($options['ssl']['verify_peer']); - $this->assertSame($request->getCurlOptions()->get(CURLOPT_CAINFO), $options['ssl']['cafile']); - } - - public function testBasicAuthAddsUserAndPassToUrl() - { - $request = $this->client->get('/'); - $request->setAuth('Foo', 'Bar'); - $this->factory = $this->getMockBuilder('Guzzle\Stream\PhpStreamRequestFactory') - ->setMethods(array('createStream')) - ->getMock(); - $this->factory->expects($this->once()) - ->method('createStream') - ->will($this->returnValue(new Stream(fopen('php://temp', 'r')))); - $this->factory->fromRequest($request); - $this->assertContains('Foo:Bar@', (string) $this->readAttribute($this->factory, 'url')); - } - - public function testCanCreateCustomStreamClass() - { - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nhi"); - $request = $this->client->get('/'); - $stream = $this->factory->fromRequest($request, array(), array('stream_class' => 'Guzzle\Http\EntityBody')); - $this->assertInstanceOf('Guzzle\Http\EntityBody', $stream); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Stream/StreamTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Stream/StreamTest.php deleted file mode 100644 index 4973f252..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/Stream/StreamTest.php +++ /dev/null @@ -1,189 +0,0 @@ -assertEquals($handle, $stream->getStream()); - $this->assertTrue($stream->isReadable()); - $this->assertTrue($stream->isWritable()); - $this->assertTrue($stream->isLocal()); - $this->assertTrue($stream->isSeekable()); - $this->assertEquals('PHP', $stream->getWrapper()); - $this->assertEquals('TEMP', $stream->getStreamType()); - $this->assertEquals(4, $stream->getSize()); - $this->assertEquals('php://temp', $stream->getUri()); - $this->assertEquals(array(), $stream->getWrapperData()); - $this->assertFalse($stream->isConsumed()); - unset($stream); - } - - public function testCanModifyStream() - { - $handle1 = fopen('php://temp', 'r+'); - $handle2 = fopen('php://temp', 'r+'); - $stream = new Stream($handle1); - $this->assertSame($handle1, $stream->getStream()); - $stream->setStream($handle2, 10); - $this->assertEquals(10, $stream->getSize()); - $this->assertSame($handle2, $stream->getStream()); - } - - public function testStreamClosesHandleOnDestruct() - { - $handle = fopen('php://temp', 'r'); - $stream = new Stream($handle); - unset($stream); - $this->assertFalse(is_resource($handle)); - } - - public function testConvertsToString() - { - $handle = fopen('php://temp', 'w+'); - fwrite($handle, 'data'); - $stream = new Stream($handle); - $this->assertEquals('data', (string) $stream); - unset($stream); - - $handle = fopen(__DIR__ . '/../TestData/FileBody.txt', 'r'); - $stream = new Stream($handle); - $this->assertEquals('', (string) $stream); - unset($stream); - } - - public function testConvertsToStringAndRestoresCursorPos() - { - $handle = fopen('php://temp', 'w+'); - $stream = new Stream($handle); - $stream->write('foobazbar'); - $stream->seek(3); - $this->assertEquals('foobazbar', (string) $stream); - $this->assertEquals(3, $stream->ftell()); - } - - public function testIsConsumed() - { - $handle = fopen('php://temp', 'w+'); - fwrite($handle, 'data'); - $stream = new Stream($handle); - $this->assertFalse($stream->isConsumed()); - $stream->read(4); - $this->assertTrue($stream->isConsumed()); - } - - public function testAllowsSettingManualSize() - { - $handle = fopen('php://temp', 'w+'); - fwrite($handle, 'data'); - $stream = new Stream($handle); - $stream->setSize(10); - $this->assertEquals(10, $stream->getSize()); - unset($stream); - } - - public function testWrapsStream() - { - $handle = fopen('php://temp', 'w+'); - fwrite($handle, 'data'); - $stream = new Stream($handle); - $this->assertTrue($stream->isSeekable()); - $this->assertTrue($stream->isReadable()); - $this->assertTrue($stream->seek(0)); - $this->assertEquals('da', $stream->read(2)); - $this->assertEquals('ta', $stream->read(2)); - $this->assertTrue($stream->seek(0)); - $this->assertEquals('data', $stream->read(4)); - $stream->write('_appended'); - $stream->seek(0); - $this->assertEquals('data_appended', $stream->read(13)); - } - - public function testGetSize() - { - $size = filesize(__DIR__ . '/../../../bootstrap.php'); - $handle = fopen(__DIR__ . '/../../../bootstrap.php', 'r'); - $stream = new Stream($handle); - $this->assertEquals($handle, $stream->getStream()); - $this->assertEquals($size, $stream->getSize()); - $this->assertEquals($size, $stream->getSize()); - unset($stream); - - // Make sure that false is returned when the size cannot be determined - $this->getServer()->enqueue("HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"); - $handle = fopen('http://127.0.0.1:' . $this->getServer()->getPort(), 'r'); - $stream = new Stream($handle); - $this->assertEquals(false, $stream->getSize()); - unset($stream); - } - - public function testEnsuresSizeIsConsistent() - { - $h = fopen('php://temp', 'r+'); - fwrite($h, 'foo'); - $stream = new Stream($h); - $this->assertEquals(3, $stream->getSize()); - $stream->write('test'); - $this->assertEquals(7, $stream->getSize()); - fclose($h); - } - - public function testAbstractsMetaData() - { - $handle = fopen(__DIR__ . '/../../../bootstrap.php', 'r'); - $stream = new Stream($handle); - $this->assertEquals('plainfile', $stream->getMetaData('wrapper_type')); - $this->assertEquals(null, $stream->getMetaData('wrapper_data')); - $this->assertInternalType('array', $stream->getMetaData()); - } - - public function testDoesNotAttemptToWriteToReadonlyStream() - { - $handle = fopen(__DIR__ . '/../../../bootstrap.php', 'r'); - $stream = new Stream($handle); - $this->assertEquals(0, $stream->write('foo')); - } - - public function testProvidesStreamPosition() - { - $handle = fopen(__DIR__ . '/../../../bootstrap.php', 'r'); - $stream = new Stream($handle); - $stream->read(2); - $this->assertSame(ftell($handle), $stream->ftell()); - $this->assertEquals(2, $stream->ftell()); - } - - public function testRewindIsSeekZero() - { - $stream = new Stream(fopen('php://temp', 'w+')); - $stream->write('foobazbar'); - $this->assertTrue($stream->rewind()); - $this->assertEquals('foobazbar', $stream->read(9)); - } - - public function testCanDetachStream() - { - $r = fopen('php://temp', 'w+'); - $stream = new Stream($r); - $stream->detachStream(); - $this->assertNull($stream->getStream()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/FileBody.txt b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/FileBody.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/bar.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/bar.json deleted file mode 100644 index c354ed78..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/bar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "includes": ["foo.json"] -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/baz.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/baz.json deleted file mode 100644 index 765237b3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/baz.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "includes": ["foo.json", "bar.json"] -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/foo.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/foo.json deleted file mode 100644 index cee5005b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/foo.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "includes": ["recursive.json"], - "operations": { - "abstract": { - "httpMethod": "POST" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/recursive.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/recursive.json deleted file mode 100644 index c354ed78..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/description/recursive.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "includes": ["foo.json"] -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/mock_response b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/mock_response deleted file mode 100644 index b6938a28..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/mock_response +++ /dev/null @@ -1,3 +0,0 @@ -HTTP/1.1 200 OK -Content-Length: 0 - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json1.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json1.json deleted file mode 100644 index 7b2a9dad..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json1.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "includes": [ "json2.json" ], - "services": { - "abstract": { - "access_key": "xyz", - "secret": "abc" - }, - "mock": { - "class": "Guzzle\\Tests\\Service\\Mock\\MockClient", - "extends": "abstract", - "params": { - "username": "foo", - "password": "baz", - "subdomain": "bar" - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json2.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json2.json deleted file mode 100644 index 08e5566f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/json2.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "services": { - "foo": { - "class": "Guzzle\\Tests\\Service\\Mock\\MockClient", - "extends": "abstract", - "params": { - "baz": "bar" - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/services.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/services.json deleted file mode 100644 index 25452e4a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/services/services.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "abstract": { - "access_key": "xyz", - "secret": "abc" - }, - "mock": { - "class": "Guzzle\\Tests\\Service\\Mock\\MockClient", - "extends": "abstract", - "params": { - "username": "foo", - "password": "baz", - "subdomain": "bar" - } - }, - - "test.abstract.aws": { - "params": { - "access_key": "12345", - "secret_key": "abcd" - } - }, - - "test.s3": { - "class": "Guzzle\\Service\\Aws\\S3Client", - "extends": "test.abstract.aws", - "params": { - "devpay_product_token": "", - "devpay_user_token": "" - } - }, - - "test.simple_db": { - "class": "Guzzle\\Service\\Aws\\SimpleDb\\SimpleDbClient", - "extends": "test.abstract.aws" - }, - - "test.sqs": { - "class": "Guzzle\\Service\\Aws\\Sqs\\SqsClient", - "extends": "test.abstract.aws" - }, - - "test.centinel": { - "class": "Guzzle\\Service\\CardinalCommerce\\Centinel.CentinelClient", - "params": { - "password": "test", - "processor_id": "123", - "merchant_id": "456" - } - }, - - "test.mws": { - "class": "Guzzle\\Service\\Mws\\MwsClient", - "extends": "test.abstract.aws", - "params": { - "merchant_id": "ABCDE", - "marketplace_id": "FGHIJ", - "application_name": "GuzzleTest", - "application_version": "0.1", - "base_url": "https://mws.amazonservices.com" - } - }, - - "mock": { - "class": "Guzzle\\Tests\\Service\\Mock\\MockClient", - "params": { - "username": "test_user", - "password": "****", - "subdomain": "test" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service.json deleted file mode 100644 index 01557ca1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "includes": [ "test_service2.json" ], - "operations": { - "test": { - "uri": "/path" - }, - "concrete": { - "extends": "abstract" - }, - "foo_bar": { - "uri": "/testing", - "parameters": { - "other": { - "location": "json", - "location_key": "Other" - }, - "test": { - "type": "object", - "location": "json", - "properties": { - "baz": { - "type": "boolean", - "default": true - }, - "bar": { - "type": "string", - "filters": [ - { - "method": "strtolower", - "args": ["test", "@value"] - }, - "strtoupper" - ] - } - } - } - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service2.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service2.json deleted file mode 100644 index 66dd9ef7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service2.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "operations": { - "abstract": { - "uri": "/abstract" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service_3.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service_3.json deleted file mode 100644 index ae2ae0bd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/Guzzle/Tests/TestData/test_service_3.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "includes": [ "test_service2.json" ], - "operations": { - "test": { - "uri": "/path" - }, - "concrete": { - "extends": "abstract" - }, - "baz_qux": { - "uri": "/testing", - "parameters": { - "other": { - "location": "json", - "location_key": "Other" - }, - "test": { - "type": "object", - "location": "json", - "properties": { - "baz": { - "type": "boolean", - "default": true - }, - "bar": { - "type": "string", - "filters": [ - { - "method": "strtolower", - "args": ["test", "@value"] - }, - "strtoupper" - ] - } - } - } - } - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/bootstrap.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/bootstrap.php deleted file mode 100644 index 28908d31..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/guzzle/guzzle/tests/bootstrap.php +++ /dev/null @@ -1,10 +0,0 @@ -=5.5" - }, - "autoload" : { - "psr-4" : { - "phpDocumentor\\Reflection\\": ["src"] - } - }, - "require-dev": { - "phpunit/phpunit": "^4.6" - }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/composer.lock b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/composer.lock deleted file mode 100644 index e01dc3c1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/composer.lock +++ /dev/null @@ -1,974 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "49ee00389e4ccd00d7e93a147103b2ab", - "packages": [], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "2.0.*@ALPHA" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Instantiator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2014-10-13 12:58:55" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "time": "2015-02-03 12:10:50" - }, - { - "name": "phpspec/prophecy", - "version": "v1.4.1", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373", - "reference": "3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "phpdocumentor/reflection-docblock": "~2.0", - "sebastian/comparator": "~1.1" - }, - "require-dev": { - "phpspec/phpspec": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2015-04-27 22:15:08" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.1.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "6b7d2094ca2a685a2cad846cb7cd7a30e8b9470f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6b7d2094ca2a685a2cad846cb7cd7a30e8b9470f", - "reference": "6b7d2094ca2a685a2cad846cb7cd7a30e8b9470f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", - "sebastian/version": "~1.0" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-06-01 07:35:26" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2015-04-02 05:19:05" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "Text/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2014-01-30 17:20:04" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "PHP/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2013-08-02 07:42:54" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "eab81d02569310739373308137284e0158424330" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330", - "reference": "eab81d02569310739373308137284e0158424330", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2015-04-08 04:46:07" - }, - { - "name": "phpunit/phpunit", - "version": "4.6.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "816d12536a7a032adc3b68737f82cfbbf98b79c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/816d12536a7a032adc3b68737f82cfbbf98b79c1", - "reference": "816d12536a7a032adc3b68737f82cfbbf98b79c1", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "~1.3,>=1.3.1", - "phpunit/php-code-coverage": "~2.0,>=2.0.11", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.2", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.6.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2015-05-29 06:00:03" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "253c005852591fd547fc18cd5b7b43a1ec82d8f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/253c005852591fd547fc18cd5b7b43a1ec82d8f7", - "reference": "253c005852591fd547fc18cd5b7b43a1ec82d8f7", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "~1.0,>=1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-05-29 05:19:18" - }, - { - "name": "sebastian/comparator", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2015-01-29 16:28:08" - }, - { - "name": "sebastian/diff", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-02-22 15:13:53" - }, - { - "name": "sebastian/environment", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2015-01-01 10:01:08" - }, - { - "name": "sebastian/exporter", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "84839970d05254c73cde183a721c7af13aede943" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", - "reference": "84839970d05254c73cde183a721c7af13aede943", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2015-01-27 07:23:06" - }, - { - "name": "sebastian/global-state", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2014-10-06 09:23:50" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-01-24 09:48:32" - }, - { - "name": "sebastian/version", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-02-24 06:35:25" - }, - { - "name": "symfony/yaml", - "version": "v2.7.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/4a29a5248aed4fb45f626a7bbbd330291492f5c3", - "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2015-05-02 15:21:08" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/phpunit.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/phpunit.xml.dist deleted file mode 100644 index 31811501..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/phpunit.xml.dist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - ./tests/unit/ - - - - - src - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Element.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Element.php deleted file mode 100644 index 712e30e8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Element.php +++ /dev/null @@ -1,32 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -/** - * Interface for files processed by the ProjectFactory - */ -interface File -{ - /** - * Returns the content of the file as a string. - * - * @return string - */ - public function getContents(); - - /** - * Returns md5 hash of the file. - * - * @return string - */ - public function md5(); - - /** - * Returns an relative path to the file. - * - * @return string - */ - public function path(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Fqsen.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Fqsen.php deleted file mode 100644 index c7be3f15..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Fqsen.php +++ /dev/null @@ -1,78 +0,0 @@ -fqsen = $fqsen; - - if (isset($matches[2])) { - $this->name = $matches[2]; - } else { - $matches = explode('\\', $fqsen); - $this->name = trim(end($matches), '()'); - } - } - - /** - * converts this class to string. - * - * @return string - */ - public function __toString() - { - return $this->fqsen; - } - - /** - * Returns the name of the element without path. - * - * @return string - */ - public function getName() - { - return $this->name; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Location.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Location.php deleted file mode 100644 index 57603219..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Location.php +++ /dev/null @@ -1,57 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -/** - * The location where an element occurs within a file. - */ -final class Location -{ - /** @var int */ - private $lineNumber = 0; - - /** @var int */ - private $columnNumber = 0; - - /** - * Initializes the location for an element using its line number in the file and optionally the column number. - * - * @param int $lineNumber - * @param int $columnNumber - */ - public function __construct($lineNumber, $columnNumber = 0) - { - $this->lineNumber = $lineNumber; - $this->columnNumber = $columnNumber; - } - - /** - * Returns the line number that is covered by this location. - * - * @return integer - */ - public function getLineNumber() - { - return $this->lineNumber; - } - - /** - * Returns the column number (character position on a line) for this location object. - * - * @return integer - */ - public function getColumnNumber() - { - return $this->columnNumber; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Project.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Project.php deleted file mode 100644 index 3ed1e393..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-common/src/Project.php +++ /dev/null @@ -1,25 +0,0 @@ -assertEquals($name, $instance->getName()); - } - - /** - * Data provider for ValidFormats tests. Contains a complete list from psr-5 draft. - * - * @return array - */ - public function validFqsenProvider() - { - return [ - ['\\', ''], - ['\My\Space', 'Space'], - ['\My\Space\myFunction()', 'myFunction'], - ['\My\Space\MY_CONSTANT', 'MY_CONSTANT'], - ['\My\Space\MY_CONSTANT2', 'MY_CONSTANT2'], - ['\My\Space\MyClass', 'MyClass'], - ['\My\Space\MyInterface', 'MyInterface'], - ['\My\Space\MyTrait', 'MyTrait'], - ['\My\Space\MyClass::myMethod()', 'myMethod'], - ['\My\Space\MyClass::$my_property', 'my_property'], - ['\My\Space\MyClass::MY_CONSTANT', 'MY_CONSTANT'], - ]; - } - - /** - * @param string $fqsen - * @covers ::__construct - * @dataProvider invalidFqsenProvider - * @expectedException \InvalidArgumentException - */ - public function testInValidFormats($fqsen) - { - new Fqsen($fqsen); - } - - /** - * Data provider for invalidFormats tests. Contains a complete list from psr-5 draft. - * - * @return array - */ - public function invalidFqsenProvider() - { - return [ - ['\My\*'], - ['\My\Space\.()'], - ['My\Space'], - ]; - } - - /** - * @covers ::__construct - * @covers ::__toString - */ - public function testToString() - { - $className = new Fqsen('\\phpDocumentor\\Application'); - - $this->assertEquals('\\phpDocumentor\\Application', (string)$className); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/.scrutinizer.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/.scrutinizer.yml deleted file mode 100644 index 5061d523..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/.scrutinizer.yml +++ /dev/null @@ -1,32 +0,0 @@ -before_commands: - - "composer install --no-dev --prefer-source" - -tools: - external_code_coverage: true - php_code_sniffer: - enabled: true - config: - standard: PSR2 - filter: - paths: ["src/*", "tests/*"] - php_cpd: - enabled: true - excluded_dirs: ["tests", "vendor"] - php_loc: - enabled: true - excluded_dirs: ["tests", "vendor"] - php_mess_detector: - enabled: true - config: - ruleset: phpmd.xml.dist - design_rules: { eval_expression: false } - filter: - paths: ["src/*"] - php_pdepend: - enabled: true - excluded_dirs: ["tests", "vendor"] - php_analyzer: - enabled: true - filter: - paths: ["src/*", "tests/*"] - sensiolabs_security_checker: true diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/.travis.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/.travis.yml deleted file mode 100644 index 920958df..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/.travis.yml +++ /dev/null @@ -1,36 +0,0 @@ -language: php -php: - - 5.5 - - 5.6 - - 7.0 - - hhvm - - nightly - -matrix: - allow_failures: - - php: - - hhvm - - nightly - -cache: - directories: - - $HOME/.composer/cache - -script: - - vendor/bin/phpunit --coverage-clover=coverage.clover -v - - composer update --no-interaction --prefer-source - - vendor/bin/phpunit -v - -before_script: - - composer install --no-interaction - -after_script: - - wget https://scrutinizer-ci.com/ocular.phar - - php ocular.phar code-coverage:upload --format=php-clover coverage.clover - -notifications: - irc: "irc.freenode.org#phpdocumentor" - email: - - mike.vanriel@naenius.com - - ashnazg@php.net - - boen.robot@gmail.com diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/LICENSE b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/LICENSE deleted file mode 100644 index 792e4040..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2010 Mike van Riel - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/README.md deleted file mode 100644 index a1984a15..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/README.md +++ /dev/null @@ -1,69 +0,0 @@ -The ReflectionDocBlock Component [![Build Status](https://secure.travis-ci.org/phpDocumentor/ReflectionDocBlock.png)](https://travis-ci.org/phpDocumentor/ReflectionDocBlock) -================================ - -Introduction ------------- - -The ReflectionDocBlock component of phpDocumentor provides a DocBlock parser -that is 100% compatible with the [PHPDoc standard](http://phpdoc.org/docs/latest). - -With this component, a library can provide support for annotations via DocBlocks -or otherwise retrieve information that is embedded in a DocBlock. - -> **Note**: *this is a core component of phpDocumentor and is constantly being -> optimized for performance.* - -Installation ------------- - -You can install the component in the following ways: - -* Use the official Github repository (https://github.com/phpDocumentor/ReflectionDocBlock) -* Via Composer (http://packagist.org/packages/phpdocumentor/reflection-docblock) - -Usage ------ - -In order to parse the DocBlock one needs a DocBlockFactory that can be -instantiated using its `createInstance` factory method like this: - -```php -$factory = \phpDocumentor\Reflection\DocBlockFactory::createInstance(); -``` - -Then we can use the `create` method of the factory to interpret the DocBlock. -Please note that it is also possible to provide a class that has the -`getDocComment()` method, such as an object of type `ReflectionClass`, the -create method will read that if it exists. - -```php -$docComment = <<create($docComment); -``` - -The `create` method will yield an object of type `\phpDocumentor\Reflection\DocBlock` -whose methods can be queried as shown in the following example. - -```php -// Should contain the summary for this DocBlock -$summary = $docblock->getSummary(); - -// Contains an object of type \phpDocumentor\Reflection\DocBlock\Description; -// you can either cast it to string or use the render method to get a string -// representation of the Description. -$description = $docblock->getDescription(); -``` - -> For more examples it would be best to review the scripts in the `/examples` -> folder. - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/composer.json deleted file mode 100644 index 85be2fdd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "phpdocumentor/reflection-docblock", - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "autoload": { - "psr-4": {"phpDocumentor\\Reflection\\": ["src/"]} - }, - "autoload-dev": { - "psr-4": {"phpDocumentor\\Reflection\\": ["tests/unit"]} - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/composer.lock b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/composer.lock deleted file mode 100644 index b4da3c1b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/composer.lock +++ /dev/null @@ -1,1120 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "9dfabded4193c3fd2ec85874de3b2e3c", - "content-hash": "69f6ae6608b8524fa04ddb0264bbf091", - "packages": [ - { - "name": "phpdocumentor/reflection-common", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "9969bd1c9661a73fdab104df7dbf132639d5c4d8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/9969bd1c9661a73fdab104df7dbf132639d5c4d8", - "reference": "9969bd1c9661a73fdab104df7dbf132639d5c4d8", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "time": "2015-06-12 22:21:38" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443", - "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "time": "2016-06-10 07:14:17" - }, - { - "name": "webmozart/assert", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "b8ef76d0f0c3b9a0a1bc987085fe0a0ddba984ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/b8ef76d0f0c3b9a0a1bc987085fe0a0ddba984ab", - "reference": "b8ef76d0f0c3b9a0a1bc987085fe0a0ddba984ab", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2015-05-12 15:19:25" - } - ], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14 21:17:01" - }, - { - "name": "hamcrest/hamcrest-php", - "version": "v1.2.2", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c", - "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "1.3.3", - "satooshi/php-coveralls": "dev-master" - }, - "type": "library", - "autoload": { - "classmap": [ - "hamcrest" - ], - "files": [ - "hamcrest/Hamcrest.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD" - ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], - "time": "2015-05-11 14:41:42" - }, - { - "name": "mockery/mockery", - "version": "0.9.4", - "source": { - "type": "git", - "url": "https://github.com/padraic/mockery.git", - "reference": "70bba85e4aabc9449626651f48b9018ede04f86b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/padraic/mockery/zipball/70bba85e4aabc9449626651f48b9018ede04f86b", - "reference": "70bba85e4aabc9449626651f48b9018ede04f86b", - "shasum": "" - }, - "require": { - "hamcrest/hamcrest-php": "~1.1", - "lib-pcre": ">=7.0", - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.9.x-dev" - } - }, - "autoload": { - "psr-0": { - "Mockery": "library/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" - } - ], - "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.", - "homepage": "http://github.com/padraic/mockery", - "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "test", - "test double", - "testing" - ], - "time": "2015-04-02 19:54:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.1.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "631e365cf26bb2c078683e8d9bcf8bc631ac4d44" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/631e365cf26bb2c078683e8d9bcf8bc631ac4d44", - "reference": "631e365cf26bb2c078683e8d9bcf8bc631ac4d44", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", - "sebastian/version": "~1.0" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-06-19 07:11:55" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.3.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "File/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2013-10-10 15:34:57" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21 13:50:34" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "83fe1bdc5d47658b727595c14da140da92b3d66d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/83fe1bdc5d47658b727595c14da140da92b3d66d", - "reference": "83fe1bdc5d47658b727595c14da140da92b3d66d", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2015-06-13 07:35:30" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "7a9b0969488c3c54fd62b4d504b3ec758fd005d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/7a9b0969488c3c54fd62b4d504b3ec758fd005d9", - "reference": "7a9b0969488c3c54fd62b4d504b3ec758fd005d9", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2015-06-19 03:43:16" - }, - { - "name": "phpunit/phpunit", - "version": "4.4.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "2e8580deebb7d1ac92ac878595e6bffe01069c2a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2e8580deebb7d1ac92ac878595e6bffe01069c2a", - "reference": "2e8580deebb7d1ac92ac878595e6bffe01069c2a", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpunit/php-code-coverage": "~2.0", - "phpunit/php-file-iterator": "~1.3.2", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0.2", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.0", - "sebastian/diff": "~1.1", - "sebastian/environment": "~1.1", - "sebastian/exporter": "~1.1", - "sebastian/global-state": "~1.0", - "sebastian/recursion-context": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2015-01-27 16:06:15" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "92408bb1968a81b3217a6fdf6c1a198da83caa35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/92408bb1968a81b3217a6fdf6c1a198da83caa35", - "reference": "92408bb1968a81b3217a6fdf6c1a198da83caa35", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "~1.0,>=1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-06-11 15:55:48" - }, - { - "name": "sebastian/comparator", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2015-01-29 16:28:08" - }, - { - "name": "sebastian/diff", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-02-22 15:13:53" - }, - { - "name": "sebastian/environment", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2015-01-01 10:01:08" - }, - { - "name": "sebastian/exporter", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "84839970d05254c73cde183a721c7af13aede943" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", - "reference": "84839970d05254c73cde183a721c7af13aede943", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2015-01-27 07:23:06" - }, - { - "name": "sebastian/global-state", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2014-10-06 09:23:50" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-01-24 09:48:32" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21 13:59:46" - }, - { - "name": "symfony/yaml", - "version": "v2.7.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "9808e75c609a14f6db02f70fccf4ca4aab53c160" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/9808e75c609a14f6db02f70fccf4ca4aab53c160", - "reference": "9808e75c609a14f6db02f70fccf4ca4aab53c160", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2015-06-10 15:30:22" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": { - "phpdocumentor/reflection-common": 20 - }, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.5" - }, - "platform-dev": [] -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/01-interpreting-a-simple-docblock.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/01-interpreting-a-simple-docblock.php deleted file mode 100644 index 6d67dea4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/01-interpreting-a-simple-docblock.php +++ /dev/null @@ -1,27 +0,0 @@ -create($docComment); - -// Should contain the first line of the DocBlock -$summary = $docblock->getSummary(); - -// Contains an object of type Description; you can either cast it to string or use -// the render method to get a string representation of the Description. -// -// In subsequent examples we will be fiddling a bit more with the Description. -$description = $docblock->getDescription(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/02-interpreting-tags.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/02-interpreting-tags.php deleted file mode 100644 index 23995889..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/02-interpreting-tags.php +++ /dev/null @@ -1,24 +0,0 @@ -create($docComment); - -// You can check if a DocBlock has one or more see tags -$hasSeeTag = $docblock->hasTag('see'); - -// Or we can get a complete list of all tags -$tags = $docblock->getTags(); - -// But we can also grab all tags of a specific type, such as `see` -$seeTags = $docblock->getTagsByName('see'); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/03-reconstituting-a-docblock.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/03-reconstituting-a-docblock.php deleted file mode 100644 index 6bc10baf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/03-reconstituting-a-docblock.php +++ /dev/null @@ -1,27 +0,0 @@ -create($docComment); - -// Create the serializer that will reconstitute the DocBlock back to its original form. -$serializer = new Serializer(); - -// Reconstitution is performed by the `getDocComment()` method. -$reconstitutedDocComment = $serializer->getDocComment($docblock); - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/04-adding-your-own-tag.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/04-adding-your-own-tag.php deleted file mode 100644 index 026d6069..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/04-adding-your-own-tag.php +++ /dev/null @@ -1,135 +0,0 @@ - Important: Tag classes that act as Factories using the `create` method should implement the TagFactory interface. - */ -final class MyTag extends BaseTag implements StaticMethod -{ - /** - * A required property that is used by Formatters to reconstitute the complete tag line. - * - * @see Formatter - * - * @var string - */ - protected $name = 'my-tag'; - - /** - * The constructor for this Tag; this should contain all properties for this object. - * - * @param Description $description An example of how to add a Description to the tag; the Description is often - * an optional variable so passing null is allowed in this instance (though you can - * also construct an empty description object). - * - * @see BaseTag for the declaration of the description property and getDescription method. - */ - public function __construct(Description $description = null) - { - $this->description = $description; - } - - /** - * A static Factory that creates a new instance of the current Tag. - * - * In this example the MyTag tag can be created by passing a description text as $body. Because we have added - * a $descriptionFactory that is type-hinted as DescriptionFactory we can now construct a new Description object - * and pass that to the constructor. - * - * > You could directly instantiate a Description object here but that won't be parsed for inline tags and Types - * > won't be resolved. The DescriptionFactory will take care of those actions. - * - * The `create` method's interface states that this method only features a single parameter (`$body`) but the - * {@see TagFactory} will read the signature of this method and if it has more parameters then it will try - * to find declarations for it in the ServiceLocator of the TagFactory (see {@see TagFactory::$serviceLocator}). - * - * > Important: all properties following the `$body` should default to `null`, otherwise PHP will error because - * > it no longer matches the interface. This is why you often see the default tags check that an optional argument - * > is not null nonetheless. - * - * @param string $body - * @param DescriptionFactory $descriptionFactory - * @param Context|null $context The Context is used to resolve Types and FQSENs, although optional - * it is highly recommended to pass it. If you omit it then it is assumed that - * the DocBlock is in the global namespace and has no `use` statements. - * - * @see Tag for the interface declaration of the `create` method. - * @see Tag::create() for more information on this method's workings. - * - * @return MyTag - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, Context $context = null) - { - Assert::string($body); - Assert::notNull($descriptionFactory); - - return new static($descriptionFactory->create($body, $context)); - } - - /** - * Returns a rendition of the original tag line. - * - * This method is used to reconstitute a DocBlock into its original form by the {@see Serializer}. It should - * feature all parts of the tag so that the serializer can put it back together. - * - * @return string - */ - public function __toString() - { - return (string)$this->description; - } -} - -$docComment = << MyTag::class]; - -// Do pass the list of custom tags to the Factory for the DocBlockFactory. -$factory = DocBlockFactory::createInstance($customTags); -// You can also add Tags later using `$factory->registerTagHandler()` with a tag name and Tag class name. - -// Create the DocBlock -$docblock = $factory->create($docComment); - -// Take a look: the $customTagObjects now contain an array with your newly added tag -$customTagObjects = $docblock->getTagsByName('my-tag'); - -// As an experiment: let's reconstitute the DocBlock and observe that because we added a __toString() method -// to the tag class that we can now also see it. -$serializer = new Serializer(); -$reconstitutedDocComment = $serializer->getDocComment($docblock); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/playing-with-descriptions/02-escaping.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/playing-with-descriptions/02-escaping.php deleted file mode 100644 index 5ec772fe..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/examples/playing-with-descriptions/02-escaping.php +++ /dev/null @@ -1,47 +0,0 @@ -create($docComment); - -// Escaping is automatic so this happens in the DescriptionFactory. -$description = $docblock->getDescription(); - -// This is the rendition that we will receive of the Description. -$receivedDocComment = <<render(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/phpmd.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/phpmd.xml.dist deleted file mode 100644 index 9abf85cf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/phpmd.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - 40 - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist deleted file mode 100644 index 3c2e9a37..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - ./tests/unit - - - ./tests/integration - - - - - ./src/ - - - ./vendor/ - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock.php deleted file mode 100644 index 39911406..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock.php +++ /dev/null @@ -1,220 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\DocBlock\Tag; -use Webmozart\Assert\Assert; - -final class DocBlock -{ - /** @var string The opening line for this docblock. */ - private $summary = ''; - - /** @var DocBlock\Description The actual description for this docblock. */ - private $description = null; - - /** @var Tag[] An array containing all the tags in this docblock; except inline. */ - private $tags = array(); - - /** @var Types\Context Information about the context of this DocBlock. */ - private $context = null; - - /** @var Location Information about the location of this DocBlock. */ - private $location = null; - - /** @var bool Is this DocBlock (the start of) a template? */ - private $isTemplateStart = false; - - /** @var bool Does this DocBlock signify the end of a DocBlock template? */ - private $isTemplateEnd = false; - - /** - * @param string $summary - * @param DocBlock\Description $description - * @param DocBlock\Tag[] $tags - * @param Types\Context $context The context in which the DocBlock occurs. - * @param Location $location The location within the file that this DocBlock occurs in. - * @param bool $isTemplateStart - * @param bool $isTemplateEnd - */ - public function __construct( - $summary = '', - DocBlock\Description $description = null, - array $tags = [], - Types\Context $context = null, - Location $location = null, - $isTemplateStart = false, - $isTemplateEnd = false - ) - { - Assert::string($summary); - Assert::boolean($isTemplateStart); - Assert::boolean($isTemplateEnd); - Assert::allIsInstanceOf($tags, Tag::class); - - $this->summary = $summary; - $this->description = $description ?: new DocBlock\Description(''); - foreach ($tags as $tag) { - $this->addTag($tag); - } - - $this->context = $context; - $this->location = $location; - - $this->isTemplateEnd = $isTemplateEnd; - $this->isTemplateStart = $isTemplateStart; - } - - /** - * @return string - */ - public function getSummary() - { - return $this->summary; - } - - /** - * @return DocBlock\Description - */ - public function getDescription() - { - return $this->description; - } - - /** - * Returns the current context. - * - * @return Types\Context - */ - public function getContext() - { - return $this->context; - } - - /** - * Returns the current location. - * - * @return Location - */ - public function getLocation() - { - return $this->location; - } - - /** - * Returns whether this DocBlock is the start of a Template section. - * - * A Docblock may serve as template for a series of subsequent DocBlocks. This is indicated by a special marker - * (`#@+`) that is appended directly after the opening `/**` of a DocBlock. - * - * An example of such an opening is: - * - * ``` - * /**#@+ - * * My DocBlock - * * / - * ``` - * - * The description and tags (not the summary!) are copied onto all subsequent DocBlocks and also applied to all - * elements that follow until another DocBlock is found that contains the closing marker (`#@-`). - * - * @see self::isTemplateEnd() for the check whether a closing marker was provided. - * - * @return boolean - */ - public function isTemplateStart() - { - return $this->isTemplateStart; - } - - /** - * Returns whether this DocBlock is the end of a Template section. - * - * @see self::isTemplateStart() for a more complete description of the Docblock Template functionality. - * - * @return boolean - */ - public function isTemplateEnd() - { - return $this->isTemplateEnd; - } - - /** - * Returns the tags for this DocBlock. - * - * @return Tag[] - */ - public function getTags() - { - return $this->tags; - } - - /** - * Returns an array of tags matching the given name. If no tags are found - * an empty array is returned. - * - * @param string $name String to search by. - * - * @return Tag[] - */ - public function getTagsByName($name) - { - Assert::string($name); - - $result = array(); - - /** @var Tag $tag */ - foreach ($this->getTags() as $tag) { - if ($tag->getName() != $name) { - continue; - } - - $result[] = $tag; - } - - return $result; - } - - /** - * Checks if a tag of a certain type is present in this DocBlock. - * - * @param string $name Tag name to check for. - * - * @return bool - */ - public function hasTag($name) - { - Assert::string($name); - - /** @var Tag $tag */ - foreach ($this->getTags() as $tag) { - if ($tag->getName() == $name) { - return true; - } - } - - return false; - } - - /** - * Adds a tag to this DocBlock. - * - * @param Tag $tag The tag to add. - * - * @return void - */ - private function addTag(Tag $tag) - { - $this->tags[] = $tag; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Description.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Description.php deleted file mode 100644 index d1d7fc64..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Description.php +++ /dev/null @@ -1,103 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\DocBlock\Tags\Formatter; -use phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter; -use Webmozart\Assert\Assert; - -/** - * Object representing to description for a DocBlock. - * - * A Description object can consist of plain text but can also include tags. A Description Formatter can then combine - * a body template with sprintf-style placeholders together with formatted tags in order to reconstitute a complete - * description text using the format that you would prefer. - * - * Because parsing a Description text can be a verbose process this is handled by the {@see DescriptionFactory}. It is - * thus recommended to use that to create a Description object, like this: - * - * $description = $descriptionFactory->create('This is a {@see Description}', $context); - * - * The description factory will interpret the given body and create a body template and list of tags from them, and pass - * that onto the constructor if this class. - * - * > The $context variable is a class of type {@see \phpDocumentor\Reflection\Types\Context} and contains the namespace - * > and the namespace aliases that apply to this DocBlock. These are used by the Factory to resolve and expand partial - * > type names and FQSENs. - * - * If you do not want to use the DescriptionFactory you can pass a body template and tag listing like this: - * - * $description = new Description( - * 'This is a %1$s', - * [ new See(new Fqsen('\phpDocumentor\Reflection\DocBlock\Description')) ] - * ); - * - * It is generally recommended to use the Factory as that will also apply escaping rules, while the Description object - * is mainly responsible for rendering. - * - * @see DescriptionFactory to create a new Description. - * @see Description\Formatter for the formatting of the body and tags. - */ -class Description -{ - /** @var string */ - private $bodyTemplate; - - /** @var Tag[] */ - private $tags; - - /** - * Initializes a Description with its body (template) and a listing of the tags used in the body template. - * - * @param string $bodyTemplate - * @param Tag[] $tags - */ - public function __construct($bodyTemplate, array $tags = []) - { - Assert::string($bodyTemplate); - - $this->bodyTemplate = $bodyTemplate; - $this->tags = $tags; - } - - /** - * Renders this description as a string where the provided formatter will format the tags in the expected string - * format. - * - * @param Formatter|null $formatter - * - * @return string - */ - public function render(Formatter $formatter = null) - { - if ($formatter === null) { - $formatter = new PassthroughFormatter(); - } - - $tags = []; - foreach ($this->tags as $tag) { - $tags[] = '{' . $formatter->format($tag) . '}'; - } - return vsprintf($this->bodyTemplate, $tags); - } - - /** - * Returns a plain string representation of this description. - * - * @return string - */ - public function __toString() - { - return $this->render(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php deleted file mode 100644 index f34d0f7e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php +++ /dev/null @@ -1,192 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\Types\Context as TypeContext; - -/** - * Creates a new Description object given a body of text. - * - * Descriptions in phpDocumentor are somewhat complex entities as they can contain one or more tags inside their - * body that can be replaced with a readable output. The replacing is done by passing a Formatter object to the - * Description object's `render` method. - * - * In addition to the above does a Description support two types of escape sequences: - * - * 1. `{@}` to escape the `@` character to prevent it from being interpreted as part of a tag, i.e. `{{@}link}` - * 2. `{}` to escape the `}` character, this can be used if you want to use the `}` character in the description - * of an inline tag. - * - * If a body consists of multiple lines then this factory will also remove any superfluous whitespace at the beginning - * of each line while maintaining any indentation that is used. This will prevent formatting parsers from tripping - * over unexpected spaces as can be observed with tag descriptions. - */ -class DescriptionFactory -{ - /** @var TagFactory */ - private $tagFactory; - - /** - * Initializes this factory with the means to construct (inline) tags. - * - * @param TagFactory $tagFactory - */ - public function __construct(TagFactory $tagFactory) - { - $this->tagFactory = $tagFactory; - } - - /** - * Returns the parsed text of this description. - * - * @param string $contents - * @param TypeContext $context - * - * @return Description - */ - public function create($contents, TypeContext $context = null) - { - list($text, $tags) = $this->parse($this->lex($contents), $context); - - return new Description($text, $tags); - } - - /** - * Strips the contents from superfluous whitespace and splits the description into a series of tokens. - * - * @param string $contents - * - * @return string[] A series of tokens of which the description text is composed. - */ - private function lex($contents) - { - $contents = $this->removeSuperfluousStartingWhitespace($contents); - - // performance optimalization; if there is no inline tag, don't bother splitting it up. - if (strpos($contents, '{@') === false) { - return [$contents]; - } - - return preg_split( - '/\{ - # "{@}" is not a valid inline tag. This ensures that we do not treat it as one, but treat it literally. - (?!@\}) - # We want to capture the whole tag line, but without the inline tag delimiters. - (\@ - # Match everything up to the next delimiter. - [^{}]* - # Nested inline tag content should not be captured, or it will appear in the result separately. - (?: - # Match nested inline tags. - (?: - # Because we did not catch the tag delimiters earlier, we must be explicit with them here. - # Notice that this also matches "{}", as a way to later introduce it as an escape sequence. - \{(?1)?\} - | - # Make sure we match hanging "{". - \{ - ) - # Match content after the nested inline tag. - [^{}]* - )* # If there are more inline tags, match them as well. We use "*" since there may not be any - # nested inline tags. - ) - \}/Sux', - $contents, - null, - PREG_SPLIT_DELIM_CAPTURE - ); - } - - /** - * Parses the stream of tokens in to a new set of tokens containing Tags. - * - * @param string[] $tokens - * @param TypeContext $context - * - * @return string[]|Tag[] - */ - private function parse($tokens, TypeContext $context) - { - $count = count($tokens); - $tagCount = 0; - $tags = []; - - for ($i = 1; $i < $count; $i += 2) { - $tags[] = $this->tagFactory->create($tokens[$i], $context); - $tokens[$i] = '%' . ++$tagCount . '$s'; - } - - //In order to allow "literal" inline tags, the otherwise invalid - //sequence "{@}" is changed to "@", and "{}" is changed to "}". - //"%" is escaped to "%%" because of vsprintf. - //See unit tests for examples. - for ($i = 0; $i < $count; $i += 2) { - $tokens[$i] = str_replace(['{@}', '{}', '%'], ['@', '}', '%%'], $tokens[$i]); - } - - return [implode('', $tokens), $tags]; - } - - /** - * Removes the superfluous from a multi-line description. - * - * When a description has more than one line then it can happen that the second and subsequent lines have an - * additional indentation. This is commonly in use with tags like this: - * - * {@}since 1.1.0 This is an example - * description where we have an - * indentation in the second and - * subsequent lines. - * - * If we do not normalize the indentation then we have superfluous whitespace on the second and subsequent - * lines and this may cause rendering issues when, for example, using a Markdown converter. - * - * @param string $contents - * - * @return string - */ - private function removeSuperfluousStartingWhitespace($contents) - { - $lines = explode("\n", $contents); - - // if there is only one line then we don't have lines with superfluous whitespace and - // can use the contents as-is - if (count($lines) <= 1) { - return $contents; - } - - // determine how many whitespace characters need to be stripped - $startingSpaceCount = 9999999; - for ($i = 1; $i < count($lines); $i++) { - // lines with a no length do not count as they are not indented at all - if (strlen(trim($lines[$i])) === 0) { - continue; - } - - // determine the number of prefixing spaces by checking the difference in line length before and after - // an ltrim - $startingSpaceCount = min($startingSpaceCount, strlen($lines[$i]) - strlen(ltrim($lines[$i]))); - } - - // strip the number of spaces from each line - if ($startingSpaceCount > 0) { - for ($i = 1; $i < count($lines); $i++) { - $lines[$i] = substr($lines[$i], $startingSpaceCount); - } - } - - return implode("\n", $lines); - } - -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php deleted file mode 100644 index 3cc5dab3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php +++ /dev/null @@ -1,170 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\DocBlock\Tags\Example; - -/** - * Class used to find an example file's location based on a given ExampleDescriptor. - */ -class ExampleFinder -{ - /** @var string */ - private $sourceDirectory = ''; - - /** @var string[] */ - private $exampleDirectories = array(); - - /** - * Attempts to find the example contents for the given descriptor. - * - * @param Example $example - * - * @return string - */ - public function find(Example $example) - { - $filename = $example->getFilePath(); - - $file = $this->getExampleFileContents($filename); - if (!$file) { - return "** File not found : {$filename} **"; - } - - return implode('', array_slice($file, $example->getStartingLine() - 1, $example->getLineCount())); - } - - /** - * Registers the project's root directory where an 'examples' folder can be expected. - * - * @param string $directory - * - * @return void - */ - public function setSourceDirectory($directory = '') - { - $this->sourceDirectory = $directory; - } - - /** - * Returns the project's root directory where an 'examples' folder can be expected. - * - * @return string - */ - public function getSourceDirectory() - { - return $this->sourceDirectory; - } - - /** - * Registers a series of directories that may contain examples. - * - * @param string[] $directories - */ - public function setExampleDirectories(array $directories) - { - $this->exampleDirectories = $directories; - } - - /** - * Returns a series of directories that may contain examples. - * - * @return string[] - */ - public function getExampleDirectories() - { - return $this->exampleDirectories; - } - - /** - * Attempts to find the requested example file and returns its contents or null if no file was found. - * - * This method will try several methods in search of the given example file, the first one it encounters is - * returned: - * - * 1. Iterates through all examples folders for the given filename - * 2. Checks the source folder for the given filename - * 3. Checks the 'examples' folder in the current working directory for examples - * 4. Checks the path relative to the current working directory for the given filename - * - * @param string $filename - * - * @return string|null - */ - private function getExampleFileContents($filename) - { - $normalizedPath = null; - - foreach ($this->exampleDirectories as $directory) { - $exampleFileFromConfig = $this->constructExamplePath($directory, $filename); - if (is_readable($exampleFileFromConfig)) { - $normalizedPath = $exampleFileFromConfig; - break; - } - } - - if (!$normalizedPath) { - if (is_readable($this->getExamplePathFromSource($filename))) { - $normalizedPath = $this->getExamplePathFromSource($filename); - } elseif (is_readable($this->getExamplePathFromExampleDirectory($filename))) { - $normalizedPath = $this->getExamplePathFromExampleDirectory($filename); - } elseif (is_readable($filename)) { - $normalizedPath = $filename; - } - } - - return $normalizedPath && is_readable($normalizedPath) ? file($normalizedPath) : null; - } - - /** - * Get example filepath based on the example directory inside your project. - * - * @param string $file - * - * @return string - */ - private function getExamplePathFromExampleDirectory($file) - { - return getcwd() . DIRECTORY_SEPARATOR . 'examples' . DIRECTORY_SEPARATOR . $file; - } - - /** - * Returns a path to the example file in the given directory.. - * - * @param string $directory - * @param string $file - * - * @return string - */ - private function constructExamplePath($directory, $file) - { - return rtrim($directory, '\\/') . DIRECTORY_SEPARATOR . $file; - } - - /** - * Get example filepath based on sourcecode. - * - * @param string $file - * - * @return string - */ - private function getExamplePathFromSource($file) - { - return sprintf( - '%s%s%s', - trim($this->getSourceDirectory(), '\\/'), - DIRECTORY_SEPARATOR, - trim($file, '"') - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php deleted file mode 100644 index 7f1c89d3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php +++ /dev/null @@ -1,143 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\DocBlock; -use Webmozart\Assert\Assert; - -/** - * Converts a DocBlock back from an object to a complete DocComment including Asterisks. - */ -class Serializer -{ - /** @var string The string to indent the comment with. */ - protected $indentString = ' '; - - /** @var int The number of times the indent string is repeated. */ - protected $indent = 0; - - /** @var bool Whether to indent the first line with the given indent amount and string. */ - protected $isFirstLineIndented = true; - - /** @var int|null The max length of a line. */ - protected $lineLength = null; - - /** - * Create a Serializer instance. - * - * @param int $indent The number of times the indent string is repeated. - * @param string $indentString The string to indent the comment with. - * @param bool $indentFirstLine Whether to indent the first line. - * @param int|null $lineLength The max length of a line or NULL to disable line wrapping. - */ - public function __construct($indent = 0, $indentString = ' ', $indentFirstLine = true, $lineLength = null) - { - Assert::integer($indent); - Assert::string($indentString); - Assert::boolean($indentFirstLine); - Assert::nullOrInteger($lineLength); - - $this->indent = $indent; - $this->indentString = $indentString; - $this->isFirstLineIndented = $indentFirstLine; - $this->lineLength = $lineLength; - } - - /** - * Generate a DocBlock comment. - * - * @param DocBlock $docblock The DocBlock to serialize. - * - * @return string The serialized doc block. - */ - public function getDocComment(DocBlock $docblock) - { - $indent = str_repeat($this->indentString, $this->indent); - $firstIndent = $this->isFirstLineIndented ? $indent : ''; - // 3 === strlen(' * ') - $wrapLength = $this->lineLength ? $this->lineLength - strlen($indent) - 3 : null; - - $text = $this->removeTrailingSpaces( - $indent, - $this->addAsterisksForEachLine( - $indent, - $this->getSummaryAndDescriptionTextBlock($docblock, $wrapLength) - ) - ); - - $comment = "{$firstIndent}/**\n{$indent} * {$text}\n{$indent} *\n"; - $comment = $this->addTagBlock($docblock, $wrapLength, $indent, $comment); - $comment .= $indent . ' */'; - - return $comment; - } - - /** - * @param $indent - * @param $text - * @return mixed - */ - private function removeTrailingSpaces($indent, $text) - { - return str_replace("\n{$indent} * \n", "\n{$indent} *\n", $text); - } - - /** - * @param $indent - * @param $text - * @return mixed - */ - private function addAsterisksForEachLine($indent, $text) - { - return str_replace("\n", "\n{$indent} * ", $text); - } - - /** - * @param DocBlock $docblock - * @param $wrapLength - * @return string - */ - private function getSummaryAndDescriptionTextBlock(DocBlock $docblock, $wrapLength) - { - $text = $docblock->getSummary() . ((string)$docblock->getDescription() ? "\n\n" . $docblock->getDescription() - : ''); - if ($wrapLength !== null) { - $text = wordwrap($text, $wrapLength); - return $text; - } - return $text; - } - - /** - * @param DocBlock $docblock - * @param $wrapLength - * @param $indent - * @param $comment - * @return string - */ - private function addTagBlock(DocBlock $docblock, $wrapLength, $indent, $comment) - { - foreach ($docblock->getTags() as $tag) { - $formatter = new DocBlock\Tags\Formatter\PassthroughFormatter(); - $tagText = $formatter->format($tag); - if ($wrapLength !== null) { - $tagText = wordwrap($tagText, $wrapLength); - } - $tagText = str_replace("\n", "\n{$indent} * ", $tagText); - - $comment .= "{$indent} * {$tagText}\n"; - } - - return $comment; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php deleted file mode 100644 index 0a656466..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php +++ /dev/null @@ -1,314 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\DocBlock\Tags\Factory\StaticMethod; -use phpDocumentor\Reflection\DocBlock\Tags\Generic; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Creates a Tag object given the contents of a tag. - * - * This Factory is capable of determining the appropriate class for a tag and instantiate it using its `create` - * factory method. The `create` factory method of a Tag can have a variable number of arguments; this way you can - * pass the dependencies that you need to construct a tag object. - * - * > Important: each parameter in addition to the body variable for the `create` method must default to null, otherwise - * > it violates the constraint with the interface; it is recommended to use the {@see Assert::notNull()} method to - * > verify that a dependency is actually passed. - * - * This Factory also features a Service Locator component that is used to pass the right dependencies to the - * `create` method of a tag; each dependency should be registered as a service or as a parameter. - * - * When you want to use a Tag of your own with custom handling you need to call the `registerTagHandler` method, pass - * the name of the tag and a Fully Qualified Class Name pointing to a class that implements the Tag interface. - */ -final class StandardTagFactory implements TagFactory -{ - /** PCRE regular expression matching a tag name. */ - const REGEX_TAGNAME = '[\w\-\_\\\\]+'; - - /** - * @var string[] An array with a tag as a key, and an FQCN to a class that handles it as an array value. - */ - private $tagHandlerMappings = [ - 'author' => '\phpDocumentor\Reflection\DocBlock\Tags\Author', - 'covers' => '\phpDocumentor\Reflection\DocBlock\Tags\Covers', - 'deprecated' => '\phpDocumentor\Reflection\DocBlock\Tags\Deprecated', - // 'example' => '\phpDocumentor\Reflection\DocBlock\Tags\Example', - 'link' => '\phpDocumentor\Reflection\DocBlock\Tags\Link', - 'method' => '\phpDocumentor\Reflection\DocBlock\Tags\Method', - 'param' => '\phpDocumentor\Reflection\DocBlock\Tags\Param', - 'property-read' => '\phpDocumentor\Reflection\DocBlock\Tags\PropertyRead', - 'property' => '\phpDocumentor\Reflection\DocBlock\Tags\Property', - 'property-write' => '\phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite', - 'return' => '\phpDocumentor\Reflection\DocBlock\Tags\Return_', - 'see' => '\phpDocumentor\Reflection\DocBlock\Tags\See', - 'since' => '\phpDocumentor\Reflection\DocBlock\Tags\Since', - 'source' => '\phpDocumentor\Reflection\DocBlock\Tags\Source', - 'throw' => '\phpDocumentor\Reflection\DocBlock\Tags\Throws', - 'throws' => '\phpDocumentor\Reflection\DocBlock\Tags\Throws', - 'uses' => '\phpDocumentor\Reflection\DocBlock\Tags\Uses', - 'var' => '\phpDocumentor\Reflection\DocBlock\Tags\Var_', - 'version' => '\phpDocumentor\Reflection\DocBlock\Tags\Version' - ]; - - /** - * @var \ReflectionParameter[][] a lazy-loading cache containing parameters for each tagHandler that has been used. - */ - private $tagHandlerParameterCache = []; - - /** - * @var FqsenResolver - */ - private $fqsenResolver; - - /** - * @var mixed[] an array representing a simple Service Locator where we can store parameters and - * services that can be inserted into the Factory Methods of Tag Handlers. - */ - private $serviceLocator = []; - - /** - * Initialize this tag factory with the means to resolve an FQSEN and optionally a list of tag handlers. - * - * If no tag handlers are provided than the default list in the {@see self::$tagHandlerMappings} property - * is used. - * - * @param FqsenResolver $fqsenResolver - * @param string[] $tagHandlers - * - * @see self::registerTagHandler() to add a new tag handler to the existing default list. - */ - public function __construct(FqsenResolver $fqsenResolver, array $tagHandlers = null) - { - $this->fqsenResolver = $fqsenResolver; - if ($tagHandlers !== null) { - $this->tagHandlerMappings = $tagHandlers; - } - - $this->addService($fqsenResolver, FqsenResolver::class); - } - - /** - * {@inheritDoc} - */ - public function create($tagLine, TypeContext $context = null) - { - if (! $context) { - $context = new TypeContext(''); - } - - list($tagName, $tagBody) = $this->extractTagParts($tagLine); - - return $this->createTag($tagBody, $tagName, $context); - } - - /** - * {@inheritDoc} - */ - public function addParameter($name, $value) - { - $this->serviceLocator[$name] = $value; - } - - /** - * {@inheritDoc} - */ - public function addService($service, $alias = null) - { - $this->serviceLocator[$alias ?: get_class($service)] = $service; - } - - /** - * {@inheritDoc} - */ - public function registerTagHandler($tagName, $handler) - { - Assert::stringNotEmpty($tagName); - Assert::stringNotEmpty($handler); - Assert::classExists($handler); - Assert::implementsInterface($handler, StaticMethod::class); - - if (strpos($tagName, '\\') && $tagName[0] !== '\\') { - throw new \InvalidArgumentException( - 'A namespaced tag must have a leading backslash as it must be fully qualified' - ); - } - - $this->tagHandlerMappings[$tagName] = $handler; - } - - /** - * Extracts all components for a tag. - * - * @param string $tagLine - * - * @return string[] - */ - private function extractTagParts($tagLine) - { - $matches = array(); - if (! preg_match('/^@(' . self::REGEX_TAGNAME . ')(?:\s*([^\s].*)|$)?/us', $tagLine, $matches)) { - throw new \InvalidArgumentException( - 'The tag "' . $tagLine . '" does not seem to be wellformed, please check it for errors' - ); - } - - if (count($matches) < 3) { - $matches[] = ''; - } - - return array_slice($matches, 1); - } - - /** - * Creates a new tag object with the given name and body or returns null if the tag name was recognized but the - * body was invalid. - * - * @param string $body - * @param string $name - * @param TypeContext $context - * - * @return Tag|null - */ - private function createTag($body, $name, TypeContext $context) - { - $handlerClassName = $this->findHandlerClassName($name, $context); - $arguments = $this->getArgumentsForParametersFromWiring( - $this->fetchParametersForHandlerFactoryMethod($handlerClassName), - $this->getServiceLocatorWithDynamicParameters($context, $name, $body) - ) - ; - - return call_user_func_array([$handlerClassName, 'create'], $arguments); - } - - /** - * Determines the Fully Qualified Class Name of the Factory or Tag (containing a Factory Method `create`). - * - * @param string $tagName - * @param TypeContext $context - * - * @return string - */ - private function findHandlerClassName($tagName, TypeContext $context) - { - $handlerClassName = Generic::class; - if (isset($this->tagHandlerMappings[$tagName])) { - $handlerClassName = $this->tagHandlerMappings[$tagName]; - } elseif ($this->isAnnotation($tagName)) { - // TODO: Annotation support is planned for a later stage and as such is disabled for now - // $tagName = (string)$this->fqsenResolver->resolve($tagName, $context); - // if (isset($this->annotationMappings[$tagName])) { - // $handlerClassName = $this->annotationMappings[$tagName]; - // } - } - - return $handlerClassName; - } - - /** - * Retrieves the arguments that need to be passed to the Factory Method with the given Parameters. - * - * @param \ReflectionParameter[] $parameters - * @param mixed[] $locator - * - * @return mixed[] A series of values that can be passed to the Factory Method of the tag whose parameters - * is provided with this method. - */ - private function getArgumentsForParametersFromWiring($parameters, $locator) - { - $arguments = []; - foreach ($parameters as $index => $parameter) { - $typeHint = $parameter->getClass() ? $parameter->getClass()->getName() : null; - if (isset($locator[$typeHint])) { - $arguments[] = $locator[$typeHint]; - continue; - } - - $parameterName = $parameter->getName(); - if (isset($locator[$parameterName])) { - $arguments[] = $locator[$parameterName]; - continue; - } - - $arguments[] = null; - } - - return $arguments; - } - - /** - * Retrieves a series of ReflectionParameter objects for the static 'create' method of the given - * tag handler class name. - * - * @param string $handlerClassName - * - * @return \ReflectionParameter[] - */ - private function fetchParametersForHandlerFactoryMethod($handlerClassName) - { - if (! isset($this->tagHandlerParameterCache[$handlerClassName])) { - $methodReflection = new \ReflectionMethod($handlerClassName, 'create'); - $this->tagHandlerParameterCache[$handlerClassName] = $methodReflection->getParameters(); - } - - return $this->tagHandlerParameterCache[$handlerClassName]; - } - - /** - * Returns a copy of this class' Service Locator with added dynamic parameters, such as the tag's name, body and - * Context. - * - * @param TypeContext $context The Context (namespace and aliasses) that may be passed and is used to resolve FQSENs. - * @param string $tagName The name of the tag that may be passed onto the factory method of the Tag class. - * @param string $tagBody The body of the tag that may be passed onto the factory method of the Tag class. - * - * @return mixed[] - */ - private function getServiceLocatorWithDynamicParameters(TypeContext $context, $tagName, $tagBody) - { - $locator = array_merge( - $this->serviceLocator, - [ - 'name' => $tagName, - 'body' => $tagBody, - TypeContext::class => $context - ] - ); - - return $locator; - } - - /** - * Returns whether the given tag belongs to an annotation. - * - * @param string $tagContent - * - * @todo this method should be populated once we implement Annotation notation support. - * - * @return bool - */ - private function isAnnotation($tagContent) - { - // 1. Contains a namespace separator - // 2. Contains parenthesis - // 3. Is present in a list of known annotations (make the algorithm smart by first checking is the last part - // of the annotation class name matches the found tag name - - return false; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php deleted file mode 100644 index e7653678..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php +++ /dev/null @@ -1,26 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\DocBlock\Tags\Formatter; - -interface Tag -{ - public function getName(); - - public static function create($body); - - public function render(Formatter $formatter = null); - - public function __toString(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php deleted file mode 100644 index 3c1d1132..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php +++ /dev/null @@ -1,93 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use phpDocumentor\Reflection\Types\Context as TypeContext; - -interface TagFactory -{ - /** - * Adds a parameter to the service locator that can be injected in a tag's factory method. - * - * When calling a tag's "create" method we always check the signature for dependencies to inject. One way is to - * typehint a parameter in the signature so that we can use that interface or class name to inject a dependency - * (see {@see addService()} for more information on that). - * - * Another way is to check the name of the argument against the names in the Service Locator. With this method - * you can add a variable that will be inserted when a tag's create method is not typehinted and has a matching - * name. - * - * Be aware that there are two reserved names: - * - * - name, representing the name of the tag. - * - body, representing the complete body of the tag. - * - * These parameters are injected at the last moment and will override any existing parameter with those names. - * - * @param string $name - * @param mixed $value - * - * @return void - */ - public function addParameter($name, $value); - - /** - * Registers a service with the Service Locator using the FQCN of the class or the alias, if provided. - * - * When calling a tag's "create" method we always check the signature for dependencies to inject. If a parameter - * has a typehint then the ServiceLocator is queried to see if a Service is registered for that typehint. - * - * Because interfaces are regularly used as type-hints this method provides an alias parameter; if the FQCN of the - * interface is passed as alias then every time that interface is requested the provided service will be returned. - * - * @param object $service - * @param string $alias - * - * @return void - */ - public function addService($service); - - /** - * Factory method responsible for instantiating the correct sub type. - * - * @param string $tagLine The text for this tag, including description. - * @param TypeContext $context - * - * @throws \InvalidArgumentException if an invalid tag line was presented. - * - * @return Tag A new tag object. - */ - public function create($tagLine, TypeContext $context = null); - - /** - * Registers a handler for tags. - * - * If you want to use your own tags then you can use this method to instruct the TagFactory to register the name - * of a tag with the FQCN of a 'Tag Handler'. The Tag handler should implement the {@see Tag} interface (and thus - * the create method). - * - * @param string $tagName Name of tag to register a handler for. When registering a namespaced tag, the full - * name, along with a prefixing slash MUST be provided. - * @param string $handler FQCN of handler. - * - * @throws \InvalidArgumentException if the tag name is not a string - * @throws \InvalidArgumentException if the tag name is namespaced (contains backslashes) but does not start with - * a backslash - * @throws \InvalidArgumentException if the handler is not a string - * @throws \InvalidArgumentException if the handler is not an existing class - * @throws \InvalidArgumentException if the handler does not implement the {@see Tag} interface - * - * @return void - */ - public function registerTagHandler($tagName, $handler); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php deleted file mode 100644 index 41a27886..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php +++ /dev/null @@ -1,100 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Webmozart\Assert\Assert; - -/** - * Reflection class for an {@}author tag in a Docblock. - */ -final class Author extends BaseTag implements Factory\StaticMethod -{ - /** @var string register that this is the author tag. */ - protected $name = 'author'; - - /** @var string The name of the author */ - private $authorName = ''; - - /** @var string The email of the author */ - private $authorEmail = ''; - - /** - * Initializes this tag with the author name and e-mail. - * - * @param string $authorName - * @param string $authorEmail - */ - public function __construct($authorName, $authorEmail) - { - Assert::string($authorName); - Assert::string($authorEmail); - if ($authorEmail && !filter_var($authorEmail, FILTER_VALIDATE_EMAIL)) { - throw new \InvalidArgumentException('The author tag does not have a valid e-mail address'); - } - - $this->authorName = $authorName; - $this->authorEmail = $authorEmail; - } - - /** - * Gets the author's name. - * - * @return string The author's name. - */ - public function getAuthorName() - { - return $this->authorName; - } - - /** - * Returns the author's email. - * - * @return string The author's email. - */ - public function getEmail() - { - return $this->authorEmail; - } - - /** - * Returns this tag in string form. - * - * @return string - */ - public function __toString() - { - return $this->authorName . '<' . $this->authorEmail . '>'; - } - - /** - * Attempts to create a new Author object based on †he tag body. - * - * @param string $body - * - * @return static - */ - public static function create($body) - { - Assert::string($body); - - $splitTagContent = preg_match('/^([^\<]*)(?:\<([^\>]*)\>)?$/u', $body, $matches); - if (!$splitTagContent) { - return null; - } - - $authorName = trim($matches[1]); - $email = isset($matches[2]) ? trim($matches[2]) : ''; - - return new static($authorName, $email); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php deleted file mode 100644 index 14bb7177..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php +++ /dev/null @@ -1,52 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock; -use phpDocumentor\Reflection\DocBlock\Description; - -/** - * Parses a tag definition for a DocBlock. - */ -abstract class BaseTag implements DocBlock\Tag -{ - /** @var string Name of the tag */ - protected $name = ''; - - /** @var Description|null Description of the tag. */ - protected $description; - - /** - * Gets the name of this tag. - * - * @return string The name of this tag. - */ - public function getName() - { - return $this->name; - } - - public function getDescription() - { - return $this->description; - } - - public function render(Formatter $formatter = null) - { - if ($formatter === null) { - $formatter = new Formatter\PassthroughFormatter(); - } - - return $formatter->format($this); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php deleted file mode 100644 index 31b4f82c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php +++ /dev/null @@ -1,84 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use phpDocumentor\Reflection\FqsenResolver; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a @covers tag in a Docblock. - */ -final class Covers extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'covers'; - - /** @var Fqsen */ - private $refers = null; - - /** - * Initializes this tag. - * - * @param Fqsen $refers - * @param Description $description - */ - public function __construct(Fqsen $refers, Description $description = null) - { - $this->refers = $refers; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - DescriptionFactory $descriptionFactory = null, - FqsenResolver $resolver = null, - TypeContext $context = null - ) - { - Assert::string($body); - Assert::notEmpty($body); - - $parts = preg_split('/\s+/Su', $body, 2); - - return new static( - $resolver->resolve($parts[0], $context), - $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context) - ); - } - - /** - * Returns the structural element this tag refers to. - * - * @return Fqsen - */ - public function getReference() - { - return $this->refers; - } - - /** - * Returns a string representation of this tag. - * - * @return string - */ - public function __toString() - { - return $this->refers . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php deleted file mode 100644 index 7c1039fa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php +++ /dev/null @@ -1,97 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\Types\Context as TypeContext; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}deprecated tag in a Docblock. - */ -final class Deprecated extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'deprecated'; - - /** - * PCRE regular expression matching a version vector. - * Assumes the "x" modifier. - */ - const REGEX_VECTOR = '(?: - # Normal release vectors. - \d\S* - | - # VCS version vectors. Per PHPCS, they are expected to - # follow the form of the VCS name, followed by ":", followed - # by the version vector itself. - # By convention, popular VCSes like CVS, SVN and GIT use "$" - # around the actual version vector. - [^\s\:]+\:\s*\$[^\$]+\$ - )'; - - /** @var string The version vector. */ - private $version = ''; - - public function __construct($version = null, Description $description = null) - { - Assert::nullOrStringNotEmpty($version); - - $this->version = $version; - $this->description = $description; - } - - /** - * @return static - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::nullOrString($body); - if (empty($body)) { - return new static(); - } - - $matches = []; - if (!preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) { - return new static( - null, - null !== $descriptionFactory ? $descriptionFactory->create($body, $context) : null - ); - } - - return new static( - $matches[1], - $descriptionFactory->create(isset($matches[2]) ? $matches[2] : '', $context) - ); - } - - /** - * Gets the version section of the tag. - * - * @return string - */ - public function getVersion() - { - return $this->version; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->version . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php deleted file mode 100644 index 571ef8df..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php +++ /dev/null @@ -1,158 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Tag; - -/** - * Reflection class for a {@}example tag in a Docblock. - */ -final class Example extends BaseTag -{ - /** - * @var string Path to a file to use as an example. May also be an absolute URI. - */ - private $filePath = ''; - - /** - * @var bool Whether the file path component represents an URI. This determines how the file portion - * appears at {@link getContent()}. - */ - private $isURI = false; - - /** - * {@inheritdoc} - */ - public function getContent() - { - if (null === $this->description) { - $filePath = '"' . $this->filePath . '"'; - if ($this->isURI) { - $filePath = $this->isUriRelative($this->filePath) - ? str_replace('%2F', '/', rawurlencode($this->filePath)) - :$this->filePath; - } - - $this->description = $filePath . ' ' . parent::getContent(); - } - - return $this->description; - } - - /** - * {@inheritdoc} - */ - public static function create($body) - { - // File component: File path in quotes or File URI / Source information - if (! preg_match('/^(?:\"([^\"]+)\"|(\S+))(?:\s+(.*))?$/sux', $body, $matches)) { - return null; - } - - $filePath = null; - $fileUri = null; - if ('' !== $matches[1]) { - $filePath = $matches[1]; - } else { - $fileUri = $matches[2]; - } - - $startingLine = 1; - $lineCount = null; - $description = null; - - // Starting line / Number of lines / Description - if (preg_match('/^([1-9]\d*)\s*(?:((?1))\s+)?(.*)$/sux', $matches[3], $matches)) { - $startingLine = (int)$matches[1]; - if (isset($matches[2]) && $matches[2] !== '') { - $lineCount = (int)$matches[2]; - } - $description = $matches[3]; - } - - return new static($filePath, $fileUri, $startingLine, $lineCount, $description); - } - - /** - * Returns the file path. - * - * @return string Path to a file to use as an example. - * May also be an absolute URI. - */ - public function getFilePath() - { - return $this->filePath; - } - - /** - * Sets the file path. - * - * @param string $filePath The new file path to use for the example. - * - * @return $this - */ - public function setFilePath($filePath) - { - $this->isURI = false; - $this->filePath = trim($filePath); - - $this->description = null; - return $this; - } - - /** - * Sets the file path as an URI. - * - * This function is equivalent to {@link setFilePath()}, except that it - * converts an URI to a file path before that. - * - * There is no getFileURI(), as {@link getFilePath()} is compatible. - * - * @param string $uri The new file URI to use as an example. - * - * @return $this - */ - public function setFileURI($uri) - { - $this->isURI = true; - $this->description = null; - - $this->filePath = $this->isUriRelative($uri) - ? rawurldecode(str_replace(array('/', '\\'), '%2F', $uri)) - : $this->filePath = $uri; - - return $this; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->filePath . ($this->description ? ' ' . $this->description->render() : ''); - } - - /** - * Returns true if the provided URI is relative or contains a complete scheme (and thus is absolute). - * - * @param string $uri - * - * @return bool - */ - private function isUriRelative($uri) - { - return false === strpos($uri, ':'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php deleted file mode 100644 index 98aea455..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php +++ /dev/null @@ -1,18 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Factory; - -interface StaticMethod -{ - public static function create($body); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/Strategy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/Strategy.php deleted file mode 100644 index b9ca0b8a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/Strategy.php +++ /dev/null @@ -1,18 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Factory; - -interface Strategy -{ - public function create($body); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php deleted file mode 100644 index 64b2c603..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php +++ /dev/null @@ -1,27 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Tag; - -interface Formatter -{ - /** - * Formats a tag into a string representation according to a specific format, such as Markdown. - * - * @param Tag $tag - * - * @return string - */ - public function format(Tag $tag); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php deleted file mode 100644 index aa97572c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Formatter; - -use phpDocumentor\Reflection\DocBlock\Tag; -use phpDocumentor\Reflection\DocBlock\Tags\Formatter; - -class PassthroughFormatter implements Formatter -{ - /** - * Formats the given tag to return a simple plain text version. - * - * @param Tag $tag - * - * @return string - */ - public function format(Tag $tag) - { - return '@' . $tag->getName() . ' ' . (string)$tag; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php deleted file mode 100644 index e4c53e00..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php +++ /dev/null @@ -1,91 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\DocBlock\StandardTagFactory; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Parses a tag definition for a DocBlock. - */ -class Generic extends BaseTag implements Factory\StaticMethod -{ - /** - * Parses a tag and populates the member variables. - * - * @param string $name Name of the tag. - * @param Description $description The contents of the given tag. - */ - public function __construct($name, Description $description = null) - { - $this->validateTagName($name); - - $this->name = $name; - $this->description = $description; - } - - /** - * Creates a new tag that represents any unknown tag type. - * - * @param string $body - * @param string $name - * @param DescriptionFactory $descriptionFactory - * @param TypeContext $context - * - * @return static - */ - public static function create( - $body, - $name = '', - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::stringNotEmpty($name); - Assert::notNull($descriptionFactory); - - $description = $descriptionFactory && $body ? $descriptionFactory->create($body, $context) : null; - - return new static($name, $description); - } - - /** - * Returns the tag as a serialized string - * - * @return string - */ - public function __toString() - { - return ($this->description ? $this->description->render() : ''); - } - - /** - * Validates if the tag name matches the expected format, otherwise throws an exception. - * - * @param string $name - * - * @return void - */ - private function validateTagName($name) - { - if (! preg_match('/^' . StandardTagFactory::REGEX_TAGNAME . '$/u', $name)) { - throw new \InvalidArgumentException( - 'The tag name "' . $name . '" is not wellformed. Tags may only consist of letters, underscores, ' - . 'hyphens and backslashes.' - ); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php deleted file mode 100644 index 9c0e367e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php +++ /dev/null @@ -1,77 +0,0 @@ - - * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com) - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a @link tag in a Docblock. - */ -final class Link extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'link'; - - /** @var string */ - private $link = ''; - - /** - * Initializes a link to a URL. - * - * @param string $link - * @param Description $description - */ - public function __construct($link, Description $description = null) - { - Assert::string($link); - - $this->link = $link; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::string($body); - Assert::notNull($descriptionFactory); - - $parts = preg_split('/\s+/Su', $body, 2); - $description = isset($parts[1]) ? $descriptionFactory->create($parts[1], $context) : null; - - return new static($parts[0], $description); - } - - /** - * Gets the link - * - * @return string - */ - public function getLink() - { - return $this->link; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->link . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php deleted file mode 100644 index d600aaaa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php +++ /dev/null @@ -1,230 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use phpDocumentor\Reflection\Types\Void_; -use Webmozart\Assert\Assert; - -/** - * Reflection class for an {@}method in a Docblock. - */ -final class Method extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'method'; - - /** @var string */ - private $methodName = ''; - - /** @var string[] */ - private $arguments = []; - - /** @var bool */ - private $isStatic = false; - - /** @var Type */ - private $returnType; - - public function __construct( - $methodName, - array $arguments = [], - Type $returnType = null, - $static = false, - Description $description = null - ) { - Assert::stringNotEmpty($methodName); - Assert::boolean($static); - - if ($returnType === null) { - $returnType = new Void_(); - } - - $this->methodName = $methodName; - $this->arguments = $this->filterArguments($arguments); - $this->returnType = $returnType; - $this->isStatic = $static; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([ $typeResolver, $descriptionFactory ]); - - // 1. none or more whitespace - // 2. optionally the keyword "static" followed by whitespace - // 3. optionally a word with underscores followed by whitespace : as - // type for the return value - // 4. then optionally a word with underscores followed by () and - // whitespace : as method name as used by phpDocumentor - // 5. then a word with underscores, followed by ( and any character - // until a ) and whitespace : as method name with signature - // 6. any remaining text : as description - if (!preg_match( - '/^ - # Static keyword - # Declares a static method ONLY if type is also present - (?: - (static) - \s+ - )? - # Return type - (?: - ( - (?:[\w\|_\\\\]+) - # array notation - (?:\[\])* - )? - \s+ - )? - # Legacy method name (not captured) - (?: - [\w_]+\(\)\s+ - )? - # Method name - ([\w\|_\\\\]+) - # Arguments - (?: - \(([^\)]*)\) - )? - \s* - # Description - (.*) - $/sux', - $body, - $matches - )) { - return null; - } - - list(, $static, $returnType, $methodName, $arguments, $description) = $matches; - - $static = $static === 'static'; - $returnType = $typeResolver->resolve($returnType, $context); - $description = $descriptionFactory->create($description, $context); - - if ('' !== $arguments) { - $arguments = explode(',', $arguments); - foreach($arguments as &$argument) { - $argument = explode(' ', self::stripRestArg(trim($argument)), 2); - if ($argument[0][0] === '$') { - $argumentName = substr($argument[0], 1); - $argumentType = new Void_(); - } else { - $argumentType = $typeResolver->resolve($argument[0], $context); - $argumentName = ''; - if (isset($argument[1])) { - $argument[1] = self::stripRestArg($argument[1]); - $argumentName = substr($argument[1], 1); - } - } - - $argument = [ 'name' => $argumentName, 'type' => $argumentType]; - } - } else { - $arguments = []; - } - - return new static($methodName, $arguments, $returnType, $static, $description); - } - - /** - * Retrieves the method name. - * - * @return string - */ - public function getMethodName() - { - return $this->methodName; - } - - /** - * @return string[] - */ - public function getArguments() - { - return $this->arguments; - } - - /** - * Checks whether the method tag describes a static method or not. - * - * @return bool TRUE if the method declaration is for a static method, FALSE otherwise. - */ - public function isStatic() - { - return $this->isStatic; - } - - /** - * @return Type - */ - public function getReturnType() - { - return $this->returnType; - } - - public function __toString() - { - $arguments = []; - foreach ($this->arguments as $argument) { - $arguments[] = $argument['type'] . ' $' . $argument['name']; - } - - return ($this->isStatic() ? 'static ' : '') - . (string)$this->returnType . ' ' - . $this->methodName - . '(' . implode(', ', $arguments) . ')' - . ($this->description ? ' ' . $this->description->render() : ''); - } - - private function filterArguments($arguments) - { - foreach ($arguments as &$argument) { - if (is_string($argument)) { - $argument = [ 'name' => $argument ]; - } - if (! isset($argument['type'])) { - $argument['type'] = new Void_(); - } - $keys = array_keys($argument); - if ($keys !== [ 'name', 'type' ]) { - throw new \InvalidArgumentException( - 'Arguments can only have the "name" and "type" fields, found: ' . var_export($keys, true) - ); - } - } - - return $arguments; - } - - private static function stripRestArg($argument) - { - if (strpos($argument, '...') === 0) { - $argument = trim(substr($argument, 3)); - } - - return $argument; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php deleted file mode 100644 index 1a51dc0d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php +++ /dev/null @@ -1,141 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for the {@}param tag in a Docblock. - */ -final class Param extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'param'; - - /** @var Type */ - private $type; - - /** @var string */ - private $variableName = ''; - - /** @var bool determines whether this is a variadic argument */ - private $isVariadic = false; - - /** - * @param string $variableName - * @param Type $type - * @param bool $isVariadic - * @param Description $description - */ - public function __construct($variableName, Type $type = null, $isVariadic = false, Description $description = null) - { - Assert::string($variableName); - Assert::boolean($isVariadic); - - $this->variableName = $variableName; - $this->type = $type; - $this->isVariadic = $isVariadic; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - $isVariadic = false; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$' || substr($parts[0], 0, 4) === '...$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 3) === '...') { - $isVariadic = true; - $variableName = substr($variableName, 3); - } - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $isVariadic, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns whether this tag is variadic. - * - * @return boolean - */ - public function isVariadic() - { - return $this->isVariadic; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . ($this->isVariadic() ? '...' : '') - . '$' . $this->variableName - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php deleted file mode 100644 index 3c597133..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php +++ /dev/null @@ -1,118 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}property tag in a Docblock. - */ -class Property extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'property'; - - /** @var Type */ - private $type; - - /** @var string */ - protected $variableName = ''; - - /** - * @param string $variableName - * @param Type $type - * @param Description $description - */ - public function __construct($variableName, Type $type = null, Description $description = null) - { - Assert::string($variableName); - - $this->variableName = $variableName; - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . '$' . $this->variableName - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php deleted file mode 100644 index bf2b8056..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php +++ /dev/null @@ -1,118 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}property-read tag in a Docblock. - */ -class PropertyRead extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'property-read'; - - /** @var Type */ - private $type; - - /** @var string */ - protected $variableName = ''; - - /** - * @param string $variableName - * @param Type $type - * @param Description $description - */ - public function __construct($variableName, Type $type = null, Description $description = null) - { - Assert::string($variableName); - - $this->variableName = $variableName; - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . '$' . $this->variableName - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php deleted file mode 100644 index db37e0fb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php +++ /dev/null @@ -1,118 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}property-write tag in a Docblock. - */ -class PropertyWrite extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'property-write'; - - /** @var Type */ - private $type; - - /** @var string */ - protected $variableName = ''; - - /** - * @param string $variableName - * @param Type $type - * @param Description $description - */ - public function __construct($variableName, Type $type = null, Description $description = null) - { - Assert::string($variableName); - - $this->variableName = $variableName; - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . '$' . $this->variableName - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php deleted file mode 100644 index 09a5870e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php +++ /dev/null @@ -1,73 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}return tag in a Docblock. - */ -final class Return_ extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'return'; - - /** @var Type */ - private $type; - - public function __construct(Type $type, Description $description = null) - { - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) - { - Assert::string($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/\s+/Su', $body, 2); - - $type = $typeResolver->resolve(isset($parts[0]) ? $parts[0] : '', $context); - $description = $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context); - - return new static($type, $description); - } - - /** - * Returns the type section of the variable. - * - * @return Type - */ - public function getType() - { - return $this->type; - } - - public function __toString() - { - return $this->type . ' ' . $this->description; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php deleted file mode 100644 index 64ee3d8e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php +++ /dev/null @@ -1,81 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use phpDocumentor\Reflection\DocBlock\Description; -use Webmozart\Assert\Assert; - -/** - * Reflection class for an {@}see tag in a Docblock. - */ -class See extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'see'; - - /** @var Fqsen */ - protected $refers = null; - - /** - * Initializes this tag. - * - * @param Fqsen $refers - * @param Description $description - */ - public function __construct(Fqsen $refers, Description $description = null) - { - $this->refers = $refers; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - FqsenResolver $resolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::allNotNull([$resolver, $descriptionFactory]); - - $parts = preg_split('/\s+/Su', $body, 2); - $description = isset($parts[1]) ? $descriptionFactory->create($parts[1], $context) : null; - - return new static($resolver->resolve($parts[0], $context), $description); - } - - /** - * Returns the structural element this tag refers to. - * - * @return Fqsen - */ - public function getReference() - { - return $this->refers; - } - - /** - * Returns a string representation of this tag. - * - * @return string - */ - public function __toString() - { - return $this->refers . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php deleted file mode 100644 index 3d002ed3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php +++ /dev/null @@ -1,94 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\Types\Context as TypeContext; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}since tag in a Docblock. - */ -final class Since extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'since'; - - /** - * PCRE regular expression matching a version vector. - * Assumes the "x" modifier. - */ - const REGEX_VECTOR = '(?: - # Normal release vectors. - \d\S* - | - # VCS version vectors. Per PHPCS, they are expected to - # follow the form of the VCS name, followed by ":", followed - # by the version vector itself. - # By convention, popular VCSes like CVS, SVN and GIT use "$" - # around the actual version vector. - [^\s\:]+\:\s*\$[^\$]+\$ - )'; - - /** @var string The version vector. */ - private $version = ''; - - public function __construct($version = null, Description $description = null) - { - Assert::nullOrStringNotEmpty($version); - - $this->version = $version; - $this->description = $description; - } - - /** - * @return static - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::nullOrString($body); - if (empty($body)) { - return new static(); - } - - $matches = []; - if (! preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) { - return null; - } - - return new static( - $matches[1], - $descriptionFactory->create(isset($matches[2]) ? $matches[2] : '', $context) - ); - } - - /** - * Gets the version section of the tag. - * - * @return string - */ - public function getVersion() - { - return $this->version; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->version . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php deleted file mode 100644 index b0646b96..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php +++ /dev/null @@ -1,96 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}source tag in a Docblock. - */ -final class Source extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'source'; - - /** @var int The starting line, relative to the structural element's location. */ - private $startingLine = 1; - - /** @var int|null The number of lines, relative to the starting line. NULL means "to the end". */ - private $lineCount = null; - - public function __construct($startingLine, $lineCount = null, Description $description = null) - { - Assert::integerish($startingLine); - Assert::nullOrIntegerish($lineCount); - - $this->startingLine = (int)$startingLine; - $this->lineCount = $lineCount !== null ? (int)$lineCount : null; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::stringNotEmpty($body); - Assert::notNull($descriptionFactory); - - $startingLine = 1; - $lineCount = null; - $description = null; - - // Starting line / Number of lines / Description - if (preg_match('/^([1-9]\d*)\s*(?:((?1))\s+)?(.*)$/sux', $body, $matches)) { - $startingLine = (int)$matches[1]; - if (isset($matches[2]) && $matches[2] !== '') { - $lineCount = (int)$matches[2]; - } - $description = $matches[3]; - } - - return new static($startingLine, $lineCount, $descriptionFactory->create($description, $context)); - } - - /** - * Gets the starting line. - * - * @return int The starting line, relative to the structural element's - * location. - */ - public function getStartingLine() - { - return $this->startingLine; - } - - /** - * Returns the number of lines. - * - * @return int|null The number of lines, relative to the starting line. NULL - * means "to the end". - */ - public function getLineCount() - { - return $this->lineCount; - } - - public function __toString() - { - return $this->startingLine - . ($this->lineCount !== null ? ' ' . $this->lineCount : '') - . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php deleted file mode 100644 index 349e773b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php +++ /dev/null @@ -1,72 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}throws tag in a Docblock. - */ -final class Throws extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'throws'; - - /** @var Type */ - private $type; - - public function __construct(Type $type, Description $description = null) - { - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/\s+/Su', $body, 2); - - $type = $typeResolver->resolve(isset($parts[0]) ? $parts[0] : '', $context); - $description = $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context); - - return new static($type, $description); - } - - /** - * Returns the type section of the variable. - * - * @return Type - */ - public function getType() - { - return $this->type; - } - - public function __toString() - { - return $this->type . ' ' . $this->description; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php deleted file mode 100644 index 00dc3e3b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php +++ /dev/null @@ -1,83 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}uses tag in a Docblock. - */ -final class Uses extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'uses'; - - /** @var Fqsen */ - protected $refers = null; - - /** - * Initializes this tag. - * - * @param Fqsen $refers - * @param Description $description - */ - public function __construct(Fqsen $refers, Description $description = null) - { - $this->refers = $refers; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - FqsenResolver $resolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::string($body); - Assert::allNotNull([$resolver, $descriptionFactory]); - - $parts = preg_split('/\s+/Su', $body, 2); - - return new static( - $resolver->resolve($parts[0], $context), - $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context) - ); - } - - /** - * Returns the structural element this tag refers to. - * - * @return Fqsen - */ - public function getReference() - { - return $this->refers; - } - - /** - * Returns a string representation of this tag. - * - * @return string - */ - public function __toString() - { - return $this->refers . ' ' . $this->description->render(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php deleted file mode 100644 index e23c694b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php +++ /dev/null @@ -1,118 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Type; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context as TypeContext; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}var tag in a Docblock. - */ -class Var_ extends BaseTag implements Factory\StaticMethod -{ - /** @var string */ - protected $name = 'var'; - - /** @var Type */ - private $type; - - /** @var string */ - protected $variableName = ''; - - /** - * @param string $variableName - * @param Type $type - * @param Description $description - */ - public function __construct($variableName, Type $type = null, Description $description = null) - { - Assert::string($variableName); - - $this->variableName = $variableName; - $this->type = $type; - $this->description = $description; - } - - /** - * {@inheritdoc} - */ - public static function create( - $body, - TypeResolver $typeResolver = null, - DescriptionFactory $descriptionFactory = null, - TypeContext $context = null - ) { - Assert::stringNotEmpty($body); - Assert::allNotNull([$typeResolver, $descriptionFactory]); - - $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE); - $type = null; - $variableName = ''; - - // if the first item that is encountered is not a variable; it is a type - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) { - $type = $typeResolver->resolve(array_shift($parts), $context); - array_shift($parts); - } - - // if the next item starts with a $ or ...$ it must be the variable name - if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$')) { - $variableName = array_shift($parts); - array_shift($parts); - - if (substr($variableName, 0, 1) === '$') { - $variableName = substr($variableName, 1); - } - } - - $description = $descriptionFactory->create(implode('', $parts), $context); - - return new static($variableName, $type, $description); - } - - /** - * Returns the variable's name. - * - * @return string - */ - public function getVariableName() - { - return $this->variableName; - } - - /** - * Returns the variable's type or null if unknown. - * - * @return Type|null - */ - public function getType() - { - return $this->type; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return ($this->type ? $this->type . ' ' : '') - . '$' . $this->variableName - . ($this->description ? ' ' . $this->description : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php deleted file mode 100644 index 3e0e5bef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php +++ /dev/null @@ -1,94 +0,0 @@ - - * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com) - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use phpDocumentor\Reflection\Types\Context as TypeContext; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use Webmozart\Assert\Assert; - -/** - * Reflection class for a {@}version tag in a Docblock. - */ -final class Version extends BaseTag implements Factory\StaticMethod -{ - protected $name = 'version'; - - /** - * PCRE regular expression matching a version vector. - * Assumes the "x" modifier. - */ - const REGEX_VECTOR = '(?: - # Normal release vectors. - \d\S* - | - # VCS version vectors. Per PHPCS, they are expected to - # follow the form of the VCS name, followed by ":", followed - # by the version vector itself. - # By convention, popular VCSes like CVS, SVN and GIT use "$" - # around the actual version vector. - [^\s\:]+\:\s*\$[^\$]+\$ - )'; - - /** @var string The version vector. */ - private $version = ''; - - public function __construct($version = null, Description $description = null) - { - Assert::nullOrStringNotEmpty($version); - - $this->version = $version; - $this->description = $description; - } - - /** - * @return static - */ - public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null) - { - Assert::nullOrString($body); - if (empty($body)) { - return new static(); - } - - $matches = []; - if (!preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) { - return null; - } - - return new static( - $matches[1], - $descriptionFactory->create(isset($matches[2]) ? $matches[2] : '', $context) - ); - } - - /** - * Gets the version section of the tag. - * - * @return string - */ - public function getVersion() - { - return $this->version; - } - - /** - * Returns a string representation for this tag. - * - * @return string - */ - public function __toString() - { - return $this->version . ($this->description ? ' ' . $this->description->render() : ''); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php deleted file mode 100644 index 9ec2455d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php +++ /dev/null @@ -1,277 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\DocBlock\StandardTagFactory; -use phpDocumentor\Reflection\DocBlock\Tag; -use phpDocumentor\Reflection\DocBlock\TagFactory; -use Webmozart\Assert\Assert; - -final class DocBlockFactory implements DocBlockFactoryInterface -{ - /** @var DocBlock\DescriptionFactory */ - private $descriptionFactory; - - /** @var DocBlock\TagFactory */ - private $tagFactory; - - /** - * Initializes this factory with the required subcontractors. - * - * @param DescriptionFactory $descriptionFactory - * @param TagFactory $tagFactory - */ - public function __construct(DescriptionFactory $descriptionFactory, TagFactory $tagFactory) - { - $this->descriptionFactory = $descriptionFactory; - $this->tagFactory = $tagFactory; - } - - /** - * Factory method for easy instantiation. - * - * @param string[] $additionalTags - * - * @return DocBlockFactory - */ - public static function createInstance(array $additionalTags = []) - { - $fqsenResolver = new FqsenResolver(); - $tagFactory = new StandardTagFactory($fqsenResolver); - $descriptionFactory = new DescriptionFactory($tagFactory); - - $tagFactory->addService($descriptionFactory); - $tagFactory->addService(new TypeResolver($fqsenResolver)); - - $docBlockFactory = new self($descriptionFactory, $tagFactory); - foreach ($additionalTags as $tagName => $tagHandler) { - $docBlockFactory->registerTagHandler($tagName, $tagHandler); - } - - return $docBlockFactory; - } - - /** - * @param object|string $docblock A string containing the DocBlock to parse or an object supporting the - * getDocComment method (such as a ReflectionClass object). - * @param Types\Context $context - * @param Location $location - * - * @return DocBlock - */ - public function create($docblock, Types\Context $context = null, Location $location = null) - { - if (is_object($docblock)) { - if (!method_exists($docblock, 'getDocComment')) { - $exceptionMessage = 'Invalid object passed; the given object must support the getDocComment method'; - throw new \InvalidArgumentException($exceptionMessage); - } - - $docblock = $docblock->getDocComment(); - } - - Assert::stringNotEmpty($docblock); - - if ($context === null) { - $context = new Types\Context(''); - } - - $parts = $this->splitDocBlock($this->stripDocComment($docblock)); - list($templateMarker, $summary, $description, $tags) = $parts; - - return new DocBlock( - $summary, - $description ? $this->descriptionFactory->create($description, $context) : null, - array_filter($this->parseTagBlock($tags, $context), function($tag) { - return $tag instanceof Tag; - }), - $context, - $location, - $templateMarker === '#@+', - $templateMarker === '#@-' - ); - } - - public function registerTagHandler($tagName, $handler) - { - $this->tagFactory->registerTagHandler($tagName, $handler); - } - - /** - * Strips the asterisks from the DocBlock comment. - * - * @param string $comment String containing the comment text. - * - * @return string - */ - private function stripDocComment($comment) - { - $comment = trim(preg_replace('#[ \t]*(?:\/\*\*|\*\/|\*)?[ \t]{0,1}(.*)?#u', '$1', $comment)); - - // reg ex above is not able to remove */ from a single line docblock - if (substr($comment, -2) == '*/') { - $comment = trim(substr($comment, 0, -2)); - } - - return str_replace(array("\r\n", "\r"), "\n", $comment); - } - - /** - * Splits the DocBlock into a template marker, summary, description and block of tags. - * - * @param string $comment Comment to split into the sub-parts. - * - * @author Richard van Velzen (@_richardJ) Special thanks to Richard for the regex responsible for the split. - * @author Mike van Riel for extending the regex with template marker support. - * - * @return string[] containing the template marker (if any), summary, description and a string containing the tags. - */ - private function splitDocBlock($comment) - { - // Performance improvement cheat: if the first character is an @ then only tags are in this DocBlock. This - // method does not split tags so we return this verbatim as the fourth result (tags). This saves us the - // performance impact of running a regular expression - if (strpos($comment, '@') === 0) { - return array('', '', '', $comment); - } - - // clears all extra horizontal whitespace from the line endings to prevent parsing issues - $comment = preg_replace('/\h*$/Sum', '', $comment); - - /* - * Splits the docblock into a template marker, summary, description and tags section. - * - * - The template marker is empty, #@+ or #@- if the DocBlock starts with either of those (a newline may - * occur after it and will be stripped). - * - The short description is started from the first character until a dot is encountered followed by a - * newline OR two consecutive newlines (horizontal whitespace is taken into account to consider spacing - * errors). This is optional. - * - The long description, any character until a new line is encountered followed by an @ and word - * characters (a tag). This is optional. - * - Tags; the remaining characters - * - * Big thanks to RichardJ for contributing this Regular Expression - */ - preg_match( - '/ - \A - # 1. Extract the template marker - (?:(\#\@\+|\#\@\-)\n?)? - - # 2. Extract the summary - (?: - (?! @\pL ) # The summary may not start with an @ - ( - [^\n.]+ - (?: - (?! \. \n | \n{2} ) # End summary upon a dot followed by newline or two newlines - [\n.] (?! [ \t]* @\pL ) # End summary when an @ is found as first character on a new line - [^\n.]+ # Include anything else - )* - \.? - )? - ) - - # 3. Extract the description - (?: - \s* # Some form of whitespace _must_ precede a description because a summary must be there - (?! @\pL ) # The description may not start with an @ - ( - [^\n]+ - (?: \n+ - (?! [ \t]* @\pL ) # End description when an @ is found as first character on a new line - [^\n]+ # Include anything else - )* - ) - )? - - # 4. Extract the tags (anything that follows) - (\s+ [\s\S]*)? # everything that follows - /ux', - $comment, - $matches - ); - array_shift($matches); - - while (count($matches) < 4) { - $matches[] = ''; - } - - return $matches; - } - - /** - * Creates the tag objects. - * - * @param string $tags Tag block to parse. - * @param Types\Context $context Context of the parsed Tag - * - * @return DocBlock\Tag[] - */ - private function parseTagBlock($tags, Types\Context $context) - { - $tags = $this->filterTagBlock($tags); - if (!$tags) { - return []; - } - - $result = $this->splitTagBlockIntoTagLines($tags); - foreach ($result as $key => $tagLine) { - $result[$key] = $this->tagFactory->create(trim($tagLine), $context); - } - - return $result; - } - - /** - * @param string $tags - * - * @return string[] - */ - private function splitTagBlockIntoTagLines($tags) - { - $result = array(); - foreach (explode("\n", $tags) as $tag_line) { - if (isset($tag_line[0]) && ($tag_line[0] === '@')) { - $result[] = $tag_line; - } else { - $result[count($result) - 1] .= "\n" . $tag_line; - } - } - - return $result; - } - - /** - * @param $tags - * @return string - */ - private function filterTagBlock($tags) - { - $tags = trim($tags); - if (!$tags) { - return null; - } - - if ('@' !== $tags[0]) { - // @codeCoverageIgnoreStart - // Can't simulate this; this only happens if there is an error with the parsing of the DocBlock that - // we didn't foresee. - throw new \LogicException('A tag block started with text instead of an at-sign(@): ' . $tags); - // @codeCoverageIgnoreEnd - } - - return $tags; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php deleted file mode 100644 index b3533429..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\StandardTagFactory; -use phpDocumentor\Reflection\DocBlock\Tag; -use phpDocumentor\Reflection\DocBlock\Tags\See; - -/** - * @coversNothing - */ -class InterpretingDocBlocksTest extends \PHPUnit_Framework_TestCase -{ - public function testInterpretingASimpleDocBlock() - { - /** - * @var DocBlock $docblock - * @var string $summary - * @var Description $description - */ - include(__DIR__ . '/../../examples/01-interpreting-a-simple-docblock.php'); - - $descriptionText = <<assertInstanceOf(DocBlock::class, $docblock); - $this->assertSame('This is an example of a summary.', $summary); - $this->assertInstanceOf(Description::class, $description); - $this->assertSame($descriptionText, $description->render()); - $this->assertEmpty($docblock->getTags()); - } - - public function testInterpretingTags() - { - /** - * @var DocBlock $docblock - * @var boolean $hasSeeTag - * @var Tag[] $tags - * @var See[] $seeTags - */ - include(__DIR__ . '/../../examples/02-interpreting-tags.php'); - - $this->assertTrue($hasSeeTag); - $this->assertCount(1, $tags); - $this->assertCount(1, $seeTags); - - $this->assertInstanceOf(See::class, $tags[0]); - $this->assertInstanceOf(See::class, $seeTags[0]); - - $seeTag = $seeTags[0]; - $this->assertSame('\\' . StandardTagFactory::class, (string)$seeTag->getReference()); - $this->assertSame('', (string)$seeTag->getDescription()); - } - - public function testDescriptionsCanEscapeAtSignsAndClosingBraces() - { - /** - * @var string $docComment - * @var DocBlock $docblock - * @var Description $description - * @var string $receivedDocComment - * @var string $foundDescription - */ - - include(__DIR__ . '/../../examples/playing-with-descriptions/02-escaping.php'); - $this->assertSame(<<<'DESCRIPTION' -You can escape the @-sign by surrounding it with braces, for example: @. And escape a closing brace within an -inline tag by adding an opening brace in front of it like this: }. - -Here are example texts where you can see how they could be used in a real life situation: - - This is a text with an {@internal inline tag where a closing brace (}) is shown}. - Or an {@internal inline tag with a literal {@link} in it}. - -Do note that an {@internal inline tag that has an opening brace ({) does not break out}. -DESCRIPTION - , - $foundDescription - ) - ; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/integration/ReconstitutingADocBlockTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/integration/ReconstitutingADocBlockTest.php deleted file mode 100644 index 92ac22ed..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/integration/ReconstitutingADocBlockTest.php +++ /dev/null @@ -1,35 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\StandardTagFactory; -use phpDocumentor\Reflection\DocBlock\Tag; -use phpDocumentor\Reflection\DocBlock\Tags\See; - -/** - * @coversNothing - */ -class ReconstitutingADocBlockTest extends \PHPUnit_Framework_TestCase -{ - public function testReconstituteADocBlock() - { - /** - * @var string $docComment - * @var string $reconstitutedDocComment - */ - include(__DIR__ . '/../../examples/03-reconstituting-a-docblock.php'); - - $this->assertSame($docComment, $reconstitutedDocComment); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/integration/UsingTagsTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/integration/UsingTagsTest.php deleted file mode 100644 index 984811b1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/integration/UsingTagsTest.php +++ /dev/null @@ -1,39 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\StandardTagFactory; -use phpDocumentor\Reflection\DocBlock\Tag; -use phpDocumentor\Reflection\DocBlock\Tags\See; - -/** - * @coversNothing - */ -class UsingTagsTest extends \PHPUnit_Framework_TestCase -{ - public function testAddingYourOwnTagUsingAStaticMethodAsFactory() - { - /** - * @var object[] $customTagObjects - * @var string $docComment - * @var string $reconstitutedDocComment - */ - include(__DIR__ . '/../../examples/04-adding-your-own-tag.php'); - - $this->assertInstanceOf(\MyTag::class, $customTagObjects[0]); - $this->assertSame('my-tag', $customTagObjects[0]->getName()); - $this->assertSame('I have a description', (string)$customTagObjects[0]->getDescription()); - $this->assertSame($docComment, $reconstitutedDocComment); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/DescriptionFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/DescriptionFactoryTest.php deleted file mode 100644 index d3043f9a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/DescriptionFactoryTest.php +++ /dev/null @@ -1,174 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Tags\Link; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @covers :: - */ -class DescriptionFactoryTest extends \PHPUnit_Framework_TestCase -{ - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\Description - * @dataProvider provideSimpleExampleDescriptions - */ - public function testDescriptionCanParseASimpleString($contents) - { - $tagFactory = m::mock(TagFactory::class); - $tagFactory->shouldReceive('create')->never(); - - $factory = new DescriptionFactory($tagFactory); - $description = $factory->create($contents, new Context('')); - - $this->assertSame($contents, $description->render()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\Description - * @dataProvider provideEscapeSequences - */ - public function testEscapeSequences($contents, $expected) - { - $tagFactory = m::mock(TagFactory::class); - $tagFactory->shouldReceive('create')->never(); - - $factory = new DescriptionFactory($tagFactory); - $description = $factory->create($contents, new Context('')); - - $this->assertSame($expected, $description->render()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\Description - * @uses phpDocumentor\Reflection\DocBlock\Tags\Link - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses phpDocumentor\Reflection\Types\Context - */ - public function testDescriptionCanParseAStringWithInlineTag() - { - $contents = 'This is text for a {@link http://phpdoc.org/ description} that uses an inline tag.'; - $context = new Context(''); - $tagFactory = m::mock(TagFactory::class); - $tagFactory->shouldReceive('create') - ->once() - ->with('@link http://phpdoc.org/ description', $context) - ->andReturn(new Link('http://phpdoc.org/', new Description('description'))) - ; - - $factory = new DescriptionFactory($tagFactory); - $description = $factory->create($contents, $context); - - $this->assertSame($contents, $description->render()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\Description - * @uses phpDocumentor\Reflection\DocBlock\Tags\Link - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses phpDocumentor\Reflection\Types\Context - */ - public function testDescriptionCanParseAStringStartingWithInlineTag() - { - $contents = '{@link http://phpdoc.org/ This} is text for a description that starts with an inline tag.'; - $context = new Context(''); - $tagFactory = m::mock(TagFactory::class); - $tagFactory->shouldReceive('create') - ->once() - ->with('@link http://phpdoc.org/ This', $context) - ->andReturn(new Link('http://phpdoc.org/', new Description('This'))) - ; - - $factory = new DescriptionFactory($tagFactory); - $description = $factory->create($contents, $context); - - $this->assertSame($contents, $description->render()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\Description - */ - public function testIfSuperfluousStartingSpacesAreRemoved() - { - $factory = new DescriptionFactory(m::mock(TagFactory::class)); - $descriptionText = <<create($descriptionText, new Context('')); - - $this->assertSame($expectedDescription, $description->render()); - } - - /** - * Provides a series of example strings that the parser should correctly interpret and return. - * - * @return string[][] - */ - public function provideSimpleExampleDescriptions() - { - return [ - ['This is text for a description.'], - ['This is text for a description containing { that is literal.'], - ['This is text for a description containing } that is literal.'], - ['This is text for a description with {just a text} that is not a tag.'], - ]; - } - - public function provideEscapeSequences() - { - return [ - ['This is text for a description with a {@}.', 'This is text for a description with a @.'], - ['This is text for a description with a {}.', 'This is text for a description with a }.'], - ]; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/DescriptionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/DescriptionTest.php deleted file mode 100644 index b5917a9e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/DescriptionTest.php +++ /dev/null @@ -1,75 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter; -use phpDocumentor\Reflection\DocBlock\Tags\Generic; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Description - */ -class DescriptionTest extends \PHPUnit_Framework_TestCase -{ - /** - * @covers ::__construct - * @covers ::render - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic - * @uses \phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - */ - public function testDescriptionCanRenderUsingABodyWithPlaceholdersAndTags() - { - $body = 'This is a %1$s body.'; - $expected = 'This is a {@internal significant } body.'; - $tags = [new Generic('internal', new Description('significant '))]; - - $fixture = new Description($body, $tags); - - // without formatter (thus the PassthroughFormatter by default) - $this->assertSame($expected, $fixture->render()); - - // with a custom formatter - $formatter = m::mock(PassthroughFormatter::class); - $formatter->shouldReceive('format')->with($tags[0])->andReturn('@internal significant '); - $this->assertSame($expected, $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::render - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic - * @uses \phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - */ - public function testDescriptionCanBeCastToString() - { - $body = 'This is a %1$s body.'; - $expected = 'This is a {@internal significant } body.'; - $tags = [new Generic('internal', new Description('significant '))]; - - $fixture = new Description($body, $tags); - - $this->assertSame($expected, (string)$fixture); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testBodyTemplateMustBeAString() - { - new Description([]); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/SerializerTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/SerializerTest.php deleted file mode 100644 index cb2b400f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/SerializerTest.php +++ /dev/null @@ -1,201 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Serializer - * @covers :: - */ -class SerializerTest extends \PHPUnit_Framework_TestCase -{ - /** - * @covers ::__construct - * @covers ::getDocComment - * @uses phpDocumentor\Reflection\DocBlock\Description - * @uses phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses phpDocumentor\Reflection\DocBlock - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses phpDocumentor\Reflection\DocBlock\Tags\Generic - */ - public function testReconstructsADocCommentFromADocBlock() - { - $expected = <<<'DOCCOMMENT' -/** - * This is a summary - * - * This is a description - * - * @unknown-tag Test description for the unknown tag - */ -DOCCOMMENT; - - $fixture = new Serializer(); - - $docBlock = new DocBlock( - 'This is a summary', - new Description('This is a description'), - [ - new DocBlock\Tags\Generic('unknown-tag', new Description('Test description for the unknown tag')) - ] - ); - - $this->assertSame($expected, $fixture->getDocComment($docBlock)); - } - - /** - * @covers ::__construct - * @covers ::getDocComment - * @uses phpDocumentor\Reflection\DocBlock\Description - * @uses phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses phpDocumentor\Reflection\DocBlock - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses phpDocumentor\Reflection\DocBlock\Tags\Generic - */ - public function testAddPrefixToDocBlock() - { - $expected = <<<'DOCCOMMENT' -aa/** -aa * This is a summary -aa * -aa * This is a description -aa * -aa * @unknown-tag Test description for the unknown tag -aa */ -DOCCOMMENT; - - $fixture = new Serializer(2, 'a'); - - $docBlock = new DocBlock( - 'This is a summary', - new Description('This is a description'), - [ - new DocBlock\Tags\Generic('unknown-tag', new Description('Test description for the unknown tag')) - ] - ); - - $this->assertSame($expected, $fixture->getDocComment($docBlock)); - } - - /** - * @covers ::__construct - * @covers ::getDocComment - * @uses phpDocumentor\Reflection\DocBlock\Description - * @uses phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses phpDocumentor\Reflection\DocBlock - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses phpDocumentor\Reflection\DocBlock\Tags\Generic - */ - public function testAddPrefixToDocBlockExceptFirstLine() - { - $expected = <<<'DOCCOMMENT' -/** -aa * This is a summary -aa * -aa * This is a description -aa * -aa * @unknown-tag Test description for the unknown tag -aa */ -DOCCOMMENT; - - $fixture = new Serializer(2, 'a', false); - - $docBlock = new DocBlock( - 'This is a summary', - new Description('This is a description'), - [ - new DocBlock\Tags\Generic('unknown-tag', new Description('Test description for the unknown tag')) - ] - ); - - $this->assertSame($expected, $fixture->getDocComment($docBlock)); - } - - /** - * @covers ::__construct - * @covers ::getDocComment - * @uses phpDocumentor\Reflection\DocBlock\Description - * @uses phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses phpDocumentor\Reflection\DocBlock - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses phpDocumentor\Reflection\DocBlock\Tags\Generic - */ - public function testWordwrapsAroundTheGivenAmountOfCharacters() - { - $expected = <<<'DOCCOMMENT' -/** - * This is a - * summary - * - * This is a - * description - * - * @unknown-tag - * Test - * description - * for the - * unknown tag - */ -DOCCOMMENT; - - $fixture = new Serializer(0, '', true, 15); - - $docBlock = new DocBlock( - 'This is a summary', - new Description('This is a description'), - [ - new DocBlock\Tags\Generic('unknown-tag', new Description('Test description for the unknown tag')) - ] - ); - - $this->assertSame($expected, $fixture->getDocComment($docBlock)); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testInitializationFailsIfIndentIsNotAnInteger() - { - new Serializer([]); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testInitializationFailsIfIndentStringIsNotAString() - { - new Serializer(0, []); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testInitializationFailsIfIndentFirstLineIsNotABoolean() - { - new Serializer(0, '', []); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testInitializationFailsIfLineLengthIsNotNullNorAnInteger() - { - new Serializer(0, '', false, []); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/StandardTagFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/StandardTagFactoryTest.php deleted file mode 100644 index 0247da04..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/StandardTagFactoryTest.php +++ /dev/null @@ -1,361 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Tags\Author; -use phpDocumentor\Reflection\DocBlock\Tags\Formatter; -use phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter; -use phpDocumentor\Reflection\DocBlock\Tags\Generic; -use phpDocumentor\Reflection\DocBlock\Tags\Return_; -use phpDocumentor\Reflection\DocBlock\Tags\See; -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass phpDocumentor\Reflection\DocBlock\StandardTagFactory - * @covers :: - */ -class StandardTagFactoryTest extends \PHPUnit_Framework_TestCase -{ - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @uses phpDocumentor\Reflection\DocBlock\Tags\Generic - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses phpDocumentor\Reflection\DocBlock\Description - */ - public function testCreatingAGenericTag() - { - $expectedTagName = 'unknown-tag'; - $expectedDescriptionText = 'This is a description'; - $expectedDescription = new Description($expectedDescriptionText); - $context = new Context(''); - - $descriptionFactory = m::mock(DescriptionFactory::class); - $descriptionFactory - ->shouldReceive('create') - ->once() - ->with($expectedDescriptionText, $context) - ->andReturn($expectedDescription) - ; - - $tagFactory = new StandardTagFactory(m::mock(FqsenResolver::class)); - $tagFactory->addService($descriptionFactory, DescriptionFactory::class); - - /** @var Generic $tag */ - $tag = $tagFactory->create('@' . $expectedTagName . ' This is a description', $context); - - $this->assertInstanceOf(Generic::class, $tag); - $this->assertSame($expectedTagName, $tag->getName()); - $this->assertSame($expectedDescription, $tag->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @uses phpDocumentor\Reflection\DocBlock\Tags\Author - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - */ - public function testCreatingASpecificTag() - { - $context = new Context(''); - $tagFactory = new StandardTagFactory(m::mock(FqsenResolver::class)); - - /** @var Author $tag */ - $tag = $tagFactory->create('@author Mike van Riel ', $context); - - $this->assertInstanceOf(Author::class, $tag); - $this->assertSame('author', $tag->getName()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @uses phpDocumentor\Reflection\DocBlock\Tags\See - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - */ - public function testAnEmptyContextIsCreatedIfNoneIsProvided() - { - $fqsen = '\Tag'; - $resolver = m::mock(FqsenResolver::class) - ->shouldReceive('resolve') - ->with('Tag', m::type(Context::class)) - ->andReturn(new Fqsen($fqsen)) - ->getMock() - ; - $descriptionFactory = m::mock(DescriptionFactory::class); - $descriptionFactory->shouldIgnoreMissing(); - - $tagFactory = new StandardTagFactory($resolver); - $tagFactory->addService($descriptionFactory, DescriptionFactory::class); - - /** @var See $tag */ - $tag = $tagFactory->create('@see Tag'); - - $this->assertInstanceOf(See::class, $tag); - $this->assertSame($fqsen, (string)$tag->getReference()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @uses phpDocumentor\Reflection\DocBlock\Tags\Author - * @uses phpDocumentor\Reflection\DocBlock\Tags\BaseTag - */ - public function testPassingYourOwnSetOfTagHandlers() - { - $context = new Context(''); - $tagFactory = new StandardTagFactory(m::mock(FqsenResolver::class), ['user' => Author::class]); - - /** @var Author $tag */ - $tag = $tagFactory->create('@user Mike van Riel ', $context); - - $this->assertInstanceOf(Author::class, $tag); - $this->assertSame('author', $tag->getName()); - } - - /** - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage The tag "@user/myuser" does not seem to be wellformed, please check it for errors - */ - public function testExceptionIsThrownIfProvidedTagIsNotWellformed() - { - $this->markTestIncomplete( - 'For some reason this test fails; once I have access to a RegEx analyzer I will have to test the regex' - ) - ; - $tagFactory = new StandardTagFactory(m::mock(FqsenResolver::class)); - $tagFactory->create('@user[myuser'); - } - - /** - * @covers ::__construct - * @covers ::addParameter - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - */ - public function testAddParameterToServiceLocator() - { - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - $tagFactory->addParameter('myParam', 'myValue'); - - $this->assertAttributeSame( - [FqsenResolver::class => $resolver, 'myParam' => 'myValue'], - 'serviceLocator', - $tagFactory - ) - ; - } - - /** - * @covers ::addService - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - */ - public function testAddServiceToServiceLocator() - { - $service = new PassthroughFormatter(); - - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - $tagFactory->addService($service); - - $this->assertAttributeSame( - [FqsenResolver::class => $resolver, PassthroughFormatter::class => $service], - 'serviceLocator', - $tagFactory - ) - ; - } - - /** - * @covers ::addService - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - */ - public function testInjectConcreteServiceForInterfaceToServiceLocator() - { - $interfaceName = Formatter::class; - $service = new PassthroughFormatter(); - - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - $tagFactory->addService($service, $interfaceName); - - $this->assertAttributeSame( - [FqsenResolver::class => $resolver, $interfaceName => $service], - 'serviceLocator', - $tagFactory - ) - ; - } - - /** - * @covers ::registerTagHandler - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::create - * @uses phpDocumentor\Reflection\DocBlock\Tags\Author - */ - public function testRegisteringAHandlerForANewTag() - { - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - - $tagFactory->registerTagHandler('my-tag', Author::class); - - // Assert by trying to create one - $tag = $tagFactory->create('@my-tag Mike van Riel '); - $this->assertInstanceOf(Author::class, $tag); - } - - /** - * @covers ::registerTagHandler - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @expectedException \InvalidArgumentException - */ - public function testHandlerRegistrationFailsIfProvidedTagNameIsNotAString() - { - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - - $tagFactory->registerTagHandler([], Author::class); - } - - /** - * @covers ::registerTagHandler - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @expectedException \InvalidArgumentException - */ - public function testHandlerRegistrationFailsIfProvidedTagNameIsEmpty() - { - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - - $tagFactory->registerTagHandler('', Author::class); - } - - /** - * @covers ::registerTagHandler - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @expectedException \InvalidArgumentException - */ - public function testHandlerRegistrationFailsIfProvidedTagNameIsNamespaceButNotFullyQualified() - { - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - - $tagFactory->registerTagHandler('Name\Spaced\Tag', Author::class); - } - - /** - * @covers ::registerTagHandler - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @expectedException \InvalidArgumentException - */ - public function testHandlerRegistrationFailsIfProvidedHandlerIsNotAString() - { - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - - $tagFactory->registerTagHandler('my-tag', []); - } - - /** - * @covers ::registerTagHandler - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @expectedException \InvalidArgumentException - */ - public function testHandlerRegistrationFailsIfProvidedHandlerIsEmpty() - { - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - - $tagFactory->registerTagHandler('my-tag', ''); - } - - /** - * @covers ::registerTagHandler - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @expectedException \InvalidArgumentException - */ - public function testHandlerRegistrationFailsIfProvidedHandlerIsNotAnExistingClassName() - { - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - - $tagFactory->registerTagHandler('my-tag', 'IDoNotExist'); - } - - /** - * @covers ::registerTagHandler - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @expectedException \InvalidArgumentException - */ - public function testHandlerRegistrationFailsIfProvidedHandlerDoesNotImplementTheTagInterface() - { - $resolver = m::mock(FqsenResolver::class); - $tagFactory = new StandardTagFactory($resolver); - - $tagFactory->registerTagHandler('my-tag', 'stdClass'); - } - - /** - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::__construct - * @uses phpDocumentor\Reflection\DocBlock\StandardTagFactory::addService - * @uses phpDocumentor\Reflection\Docblock\Description - * @uses phpDocumentor\Reflection\Docblock\Tags\Return_ - * @uses phpDocumentor\Reflection\Docblock\Tags\BaseTag - */ - public function testReturntagIsMappedCorrectly() - { - $context = new Context(''); - - $descriptionFactory = m::mock(DescriptionFactory::class); - $descriptionFactory - ->shouldReceive('create') - ->once() - ->with('', $context) - ->andReturn(new Description('')) - ; - - $typeResolver = new TypeResolver(); - - $tagFactory = new StandardTagFactory(m::mock(FqsenResolver::class)); - $tagFactory->addService($descriptionFactory, DescriptionFactory::class); - $tagFactory->addService($typeResolver, TypeResolver::class); - - - /** @var Return_ $tag */ - $tag = $tagFactory->create('@return mixed', $context); - - $this->assertInstanceOf(Return_::class, $tag); - $this->assertSame('return', $tag->getName()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/AuthorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/AuthorTest.php deleted file mode 100644 index a54954f8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/AuthorTest.php +++ /dev/null @@ -1,148 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Author - * @covers :: - */ -class AuthorTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Author::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Author('Mike van Riel', 'mike@phpdoc.org'); - - $this->assertSame('author', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Author::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Author::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Author('Mike van Riel', 'mike@phpdoc.org'); - - $this->assertSame('@author Mike van Riel', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Author::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Author('Mike van Riel', 'mike@phpdoc.org'); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getAuthorName - */ - public function testHasTheAuthorName() - { - $expected = 'Mike van Riel'; - - $fixture = new Author($expected, 'mike@phpdoc.org'); - - $this->assertSame($expected, $fixture->getAuthorName()); - } - - /** - * @covers ::__construct - * @covers ::getAuthorName - * @expectedException \InvalidArgumentException - */ - public function testInitializationFailsIfAuthorNameIsNotAString() - { - new Author([], 'mike@phpdoc.org'); - } - - /** - * @covers ::__construct - * @covers ::getEmail - */ - public function testHasTheAuthorMailAddress() - { - $expected = 'mike@phpdoc.org'; - - $fixture = new Author('Mike van Riel', $expected); - - $this->assertSame($expected, $fixture->getEmail()); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testInitializationFailsIfEmailIsNotAString() - { - new Author('Mike van Riel', []); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testInitializationFailsIfEmailIsNotValid() - { - new Author('Mike van Riel', 'mike'); - } - - /** - * @covers ::__construct - * @covers ::__toString - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Author('Mike van Riel', 'mike@phpdoc.org'); - - $this->assertSame('Mike van Riel', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Author:: - */ - public function testFactoryMethod() - { - $fixture = Author::create('Mike van Riel '); - - $this->assertSame('Mike van Riel', (string)$fixture); - $this->assertSame('Mike van Riel', $fixture->getAuthorName()); - $this->assertSame('mike@phpdoc.org', $fixture->getEmail()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Author:: - */ - public function testFactoryMethodReturnsNullIfItCouldNotReadBody() - { - $this->assertNull(Author::create('dfgr<')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/CoversTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/CoversTest.php deleted file mode 100644 index a2b5e4b3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/CoversTest.php +++ /dev/null @@ -1,155 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Covers - * @covers :: - */ -class CoversTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Covers::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Covers(new Fqsen('\DateTime'), new Description('Description')); - - $this->assertSame('covers', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Covers::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Covers::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Covers(new Fqsen('\DateTime'), new Description('Description')); - - $this->assertSame('@covers \DateTime Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Covers::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Covers(new Fqsen('\DateTime'), new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getReference - */ - public function testHasReferenceToFqsen() - { - $expected = new Fqsen('\DateTime'); - - $fixture = new Covers($expected); - - $this->assertSame($expected, $fixture->getReference()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Covers(new Fqsen('\DateTime'), $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Covers(new Fqsen('\DateTime'), new Description('Description')); - - $this->assertSame('\DateTime Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Covers:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\FqsenResolver - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Fqsen - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $resolver = m::mock(FqsenResolver::class); - $context = new Context(''); - - $fqsen = new Fqsen('\DateTime'); - $description = new Description('My Description'); - - $descriptionFactory - ->shouldReceive('create')->with('My Description', $context)->andReturn($description); - $resolver->shouldReceive('resolve')->with('DateTime', $context)->andReturn($fqsen); - - $fixture = Covers::create('DateTime My Description', $descriptionFactory, $resolver, $context); - - $this->assertSame('\DateTime My Description', (string)$fixture); - $this->assertSame($fqsen, $fixture->getReference()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - $this->assertNull(Covers::create([])); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotEmpty() - { - $this->assertNull(Covers::create('')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/DeprecatedTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/DeprecatedTest.php deleted file mode 100644 index 8be9ad7e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/DeprecatedTest.php +++ /dev/null @@ -1,166 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Deprecated - * @covers :: - */ -class DeprecatedTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Deprecated::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Deprecated('1.0', new Description('Description')); - - $this->assertSame('deprecated', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Deprecated::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Deprecated::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Deprecated('1.0', new Description('Description')); - - $this->assertSame('@deprecated 1.0 Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Deprecated::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Deprecated('1.0', new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getVersion - */ - public function testHasVersionNumber() - { - $expected = '1.0'; - - $fixture = new Deprecated($expected); - - $this->assertSame($expected, $fixture->getVersion()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Deprecated('1.0', $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Deprecated('1.0', new Description('Description')); - - $this->assertSame('1.0 Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Deprecated:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $version = '1.0'; - $description = new Description('My Description'); - - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Deprecated::create('1.0 My Description', $descriptionFactory, $context); - - $this->assertSame('1.0 My Description', (string)$fixture); - $this->assertSame($version, $fixture->getVersion()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Deprecated:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethodCreatesEmptyDeprecatedTag() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $descriptionFactory->shouldReceive('create')->never(); - - $fixture = Deprecated::create('', $descriptionFactory, new Context('')); - - $this->assertSame('', (string)$fixture); - $this->assertSame(null, $fixture->getVersion()); - $this->assertSame(null, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfVersionIsNotString() - { - $this->assertNull(Deprecated::create([])); - } - - /** - * @covers ::create - */ - public function testFactoryMethodReturnsNullIfBodyDoesNotMatchRegex() - { - $this->assertEquals(new Deprecated(), Deprecated::create('dkhf<')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/Formatter/PassthroughFormatterTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/Formatter/PassthroughFormatterTest.php deleted file mode 100644 index 045a197f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/Formatter/PassthroughFormatterTest.php +++ /dev/null @@ -1,41 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags\Formatter; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\Tags\Generic; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - */ -class PassthroughFormatterTest extends \PHPUnit_Framework_TestCase -{ - /** - * @covers ::format - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\DocBlock\Tags\BaseTag - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic - */ - public function testFormatterCallsToStringAndReturnsAStandardRepresentation() - { - $expected = '@unknown-tag This is a description'; - - $fixture = new PassthroughFormatter(); - - $this->assertSame( - $expected, - $fixture->format(new Generic('unknown-tag', new Description('This is a description'))) - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/GenericTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/GenericTest.php deleted file mode 100644 index 02fa5300..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/GenericTest.php +++ /dev/null @@ -1,146 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @generic http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Generic - * @covers :: - */ -class GenericTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Generic('generic', new Description('Description')); - - $this->assertSame('generic', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Generic('generic', new Description('Description')); - - $this->assertSame('@generic Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Generic('generic', new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Generic('generic', $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Generic('generic', new Description('Description')); - - $this->assertSame('Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Generic:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $generics = 'generic'; - $description = new Description('My Description'); - - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Generic::create('My Description', 'generic', $descriptionFactory, $context); - - $this->assertSame('My Description', (string)$fixture); - $this->assertSame($generics, $fixture->getName()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfNameIsNotString() - { - Generic::create('', []); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfNameIsNotEmpty() - { - Generic::create('', ''); - } - - /** - * @covers ::create - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfNameContainsIllegalCharacters() - { - Generic::create('', 'name/myname'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/LinkTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/LinkTest.php deleted file mode 100644 index 9940aec7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/LinkTest.php +++ /dev/null @@ -1,158 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Link - * @covers :: - */ -class LinkTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Link::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Link('http://this.is.my/link', new Description('Description')); - - $this->assertSame('link', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Link::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Link::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Link('http://this.is.my/link', new Description('Description')); - - $this->assertSame('@link http://this.is.my/link Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Link::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Link('http://this.is.my/link', new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getLink - */ - public function testHasLinkUrl() - { - $expected = 'http://this.is.my/link'; - - $fixture = new Link($expected); - - $this->assertSame($expected, $fixture->getLink()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Link('http://this.is.my/link', $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Link('http://this.is.my/link', new Description('Description')); - - $this->assertSame('http://this.is.my/link Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Link:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $links = 'http://this.is.my/link'; - $description = new Description('My Description'); - - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Link::create('http://this.is.my/link My Description', $descriptionFactory, $context); - - $this->assertSame('http://this.is.my/link My Description', (string)$fixture); - $this->assertSame($links, $fixture->getLink()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Link:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethodCreatesEmptyLinkTag() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $descriptionFactory->shouldReceive('create')->never(); - - $fixture = Link::create('', $descriptionFactory, new Context('')); - - $this->assertSame('', (string)$fixture); - $this->assertSame('', $fixture->getLink()); - $this->assertSame(null, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfVersionIsNotString() - { - $this->assertNull(Link::create([])); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/MethodTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/MethodTest.php deleted file mode 100644 index 5d6e981e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/MethodTest.php +++ /dev/null @@ -1,437 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Array_; -use phpDocumentor\Reflection\Types\Compound; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\Integer; -use phpDocumentor\Reflection\Types\Object_; -use phpDocumentor\Reflection\Types\String_; -use phpDocumentor\Reflection\Types\Void_; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Method - * @covers :: - */ -class MethodTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Method('myMethod'); - - $this->assertSame('method', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::isStatic - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $arguments = [ - ['name' => 'argument1', 'type' => new String_()], - ['name' => 'argument2', 'type' => new Object_()] - ]; - $fixture = new Method('myMethod', $arguments, new Void_(), true, new Description('My Description')); - - $this->assertSame( - '@method static void myMethod(string $argument1, object $argument2) My Description', - $fixture->render() - ); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Method('myMethod'); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getMethodName - */ - public function testHasMethodName() - { - $expected = 'myMethod'; - - $fixture = new Method($expected); - - $this->assertSame($expected, $fixture->getMethodName()); - } - - /** - * @covers ::__construct - * @covers ::getArguments - */ - public function testHasArguments() - { - $arguments = [ - [ 'name' => 'argument1', 'type' => new String_() ] - ]; - - $fixture = new Method('myMethod', $arguments); - - $this->assertSame($arguments, $fixture->getArguments()); - } - - /** - * @covers ::__construct - * @covers ::getArguments - */ - public function testArgumentsMayBePassedAsString() - { - $arguments = ['argument1']; - $expected = [ - [ 'name' => $arguments[0], 'type' => new Void_() ] - ]; - - $fixture = new Method('myMethod', $arguments); - - $this->assertEquals($expected, $fixture->getArguments()); - } - - /** - * @covers ::__construct - * @covers ::getArguments - */ - public function testArgumentTypeCanBeInferredAsVoid() - { - $arguments = [ [ 'name' => 'argument1' ] ]; - $expected = [ - [ 'name' => $arguments[0]['name'], 'type' => new Void_() ] - ]; - - $fixture = new Method('myMethod', $arguments); - - $this->assertEquals($expected, $fixture->getArguments()); - } - - /** - * @covers ::create - */ - public function testRestArgumentIsParsedAsRegularArg() - { - $expected = [ - [ 'name' => 'arg1', 'type' => new Void_() ], - [ 'name' => 'rest', 'type' => new Void_() ], - [ 'name' => 'rest2', 'type' => new Array_() ], - ]; - - $descriptionFactory = m::mock(DescriptionFactory::class); - $resolver = new TypeResolver(); - $context = new Context(''); - $description = new Description(''); - $descriptionFactory->shouldReceive('create')->with('', $context)->andReturn($description); - - $fixture = Method::create( - 'void myMethod($arg1, ...$rest, array ... $rest2)', - $resolver, - $descriptionFactory, - $context - ); - - $this->assertEquals($expected, $fixture->getArguments()); - } - - /** - * @covers ::__construct - * @covers ::getReturnType - */ - public function testHasReturnType() - { - $expected = new String_(); - - $fixture = new Method('myMethod', [], $expected); - - $this->assertSame($expected, $fixture->getReturnType()); - } - - /** - * @covers ::__construct - * @covers ::getReturnType - */ - public function testReturnTypeCanBeInferredAsVoid() - { - $fixture = new Method('myMethod', []); - - $this->assertEquals(new Void_(), $fixture->getReturnType()); - } - - /** - * @covers ::__construct - * @covers ::isStatic - */ - public function testMethodCanBeStatic() - { - $expected = false; - $fixture = new Method('myMethod', [], null, $expected); - $this->assertSame($expected, $fixture->isStatic()); - - $expected = true; - $fixture = new Method('myMethod', [], null, $expected); - $this->assertSame($expected, $fixture->isStatic()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Method('myMethod', [], null, false, $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Method::isStatic - */ - public function testStringRepresentationIsReturned() - { - $arguments = [ - ['name' => 'argument1', 'type' => new String_()], - ['name' => 'argument2', 'type' => new Object_()] - ]; - $fixture = new Method('myMethod', $arguments, new Void_(), true, new Description('My Description')); - - $this->assertSame( - 'static void myMethod(string $argument1, object $argument2) My Description', - (string)$fixture - ); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Method:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Fqsen - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $resolver = new TypeResolver(); - $context = new Context(''); - - $description = new Description('My Description'); - $expectedArguments = [ - [ 'name' => 'argument1', 'type' => new String_() ], - [ 'name' => 'argument2', 'type' => new Void_() ] - ]; - - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Method::create( - 'static void myMethod(string $argument1, $argument2) My Description', - $resolver, - $descriptionFactory, - $context - ); - - $this->assertSame('static void myMethod(string $argument1, void $argument2) My Description', (string)$fixture); - $this->assertSame('myMethod', $fixture->getMethodName()); - $this->assertEquals($expectedArguments, $fixture->getArguments()); - $this->assertInstanceOf(Void_::class, $fixture->getReturnType()); - $this->assertSame($description, $fixture->getDescription()); - } - - public function collectionReturnTypesProvider() - { - return [ - ['int[]', Array_::class, Integer::class, Compound::class], - ['int[][]', Array_::class, Array_::class, Compound::class], - ['Object[]', Array_::class, Object_::class, Compound::class], - ['array[]', Array_::class, Array_::class, Compound::class], - ]; - } - - /** - * @dataProvider collectionReturnTypesProvider - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Method:: - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\Types\Array_ - * @uses \phpDocumentor\Reflection\Types\Compound - * @uses \phpDocumentor\Reflection\Types\Integer - * @uses \phpDocumentor\Reflection\Types\Object_ - * @param string $returnType - * @param string $expectedType - * @param string $expectedValueType - * @param string null $expectedKeyType - */ - public function testCollectionReturnTypes( - $returnType, - $expectedType, - $expectedValueType = null, - $expectedKeyType = null - ) { $resolver = new TypeResolver(); - $descriptionFactory = m::mock(DescriptionFactory::class); - $descriptionFactory->shouldReceive('create')->with('', null)->andReturn(new Description('')); - - $fixture = Method::create("$returnType myMethod(\$arg)", $resolver, $descriptionFactory); - $returnType = $fixture->getReturnType(); - $this->assertInstanceOf($expectedType, $returnType); - - if ($returnType instanceof Array_) { - $this->assertInstanceOf($expectedValueType, $returnType->getValueType()); - $this->assertInstanceOf($expectedKeyType, $returnType->getKeyType()); - } - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - Method::create([]); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsEmpty() - { - Method::create(''); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodReturnsNullIfBodyIsIncorrect() - { - $this->assertNull(Method::create('body(')); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - Method::create('body'); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - Method::create('body', new TypeResolver()); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testCreationFailsIfBodyIsNotString() - { - new Method([]); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testCreationFailsIfBodyIsEmpty() - { - new Method(''); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testCreationFailsIfStaticIsNotBoolean() - { - new Method('body', [], null, []); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testCreationFailsIfArgumentRecordContainsInvalidEntry() - { - new Method('body', [ [ 'name' => 'myName', 'unknown' => 'nah' ] ]); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Method:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Fqsen - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testCreateMethodParenthesisMissing() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $resolver = new TypeResolver(); - $context = new Context(''); - - $description = new Description('My Description'); - - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Method::create( - 'static void myMethod My Description', - $resolver, - $descriptionFactory, - $context - ); - - $this->assertSame('static void myMethod() My Description', (string)$fixture); - $this->assertSame('myMethod', $fixture->getMethodName()); - $this->assertEquals([], $fixture->getArguments()); - $this->assertInstanceOf(Void_::class, $fixture->getReturnType()); - $this->assertSame($description, $fixture->getDescription()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ParamTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ParamTest.php deleted file mode 100644 index 0c718ab7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ParamTest.php +++ /dev/null @@ -1,228 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\String_; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Param - * @covers :: - */ -class ParamTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Param::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Param('myParameter', null, false, new Description('Description')); - - $this->assertSame('param', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Param::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Param::isVariadic - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Param::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Param('myParameter', new String_(), true, new Description('Description')); - $this->assertSame('@param string ...$myParameter Description', $fixture->render()); - - $fixture = new Param('myParameter', new String_(), false, new Description('Description')); - $this->assertSame('@param string $myParameter Description', $fixture->render()); - - $fixture = new Param('myParameter', null, false, new Description('Description')); - $this->assertSame('@param $myParameter Description', $fixture->render()); - - $fixture = new Param('myParameter'); - $this->assertSame('@param $myParameter', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Param::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Param('myParameter'); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getVariableName - */ - public function testHasVariableName() - { - $expected = 'myParameter'; - - $fixture = new Param($expected); - - $this->assertSame($expected, $fixture->getVariableName()); - } - - /** - * @covers ::__construct - * @covers ::getType - */ - public function testHasType() - { - $expected = new String_(); - - $fixture = new Param('myParameter', $expected); - - $this->assertSame($expected, $fixture->getType()); - } - - /** - * @covers ::__construct - * @covers ::isVariadic - */ - public function testIfParameterIsVariadic() - { - $fixture = new Param('myParameter', new String_(), false); - $this->assertFalse($fixture->isVariadic()); - - $fixture = new Param('myParameter', new String_(), true); - $this->assertTrue($fixture->isVariadic()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Param('1.0', null, false, $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::isVariadic - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\String_ - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Param('myParameter', new String_(), true, new Description('Description')); - - $this->assertSame('string ...$myParameter Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Param:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $typeResolver = new TypeResolver(); - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $description = new Description('My Description'); - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Param::create('string ...$myParameter My Description', $typeResolver, $descriptionFactory, $context); - - $this->assertSame('string ...$myParameter My Description', (string)$fixture); - $this->assertSame('myParameter', $fixture->getVariableName()); - $this->assertInstanceOf(String_::class, $fixture->getType()); - $this->assertTrue($fixture->isVariadic()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Param:: - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfEmptyBodyIsGiven() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - Param::create('', new TypeResolver(), $descriptionFactory); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - Param::create([]); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - Param::create('body'); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\TypeResolver - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - Param::create('body', new TypeResolver()); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfVariableNameIsNotString() - { - new Param([]); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfVariadicIsNotBoolean() - { - new Param('', null, []); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyReadTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyReadTest.php deleted file mode 100644 index c3fb7700..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyReadTest.php +++ /dev/null @@ -1,201 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\String_; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\PropertyRead - * @covers :: - */ -class PropertyReadTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyRead::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new PropertyRead('myProperty', null, new Description('Description')); - - $this->assertSame('property-read', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyRead::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyRead::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new PropertyRead('myProperty', new String_(), new Description('Description')); - $this->assertSame('@property-read string $myProperty Description', $fixture->render()); - - $fixture = new PropertyRead('myProperty', null, new Description('Description')); - $this->assertSame('@property-read $myProperty Description', $fixture->render()); - - $fixture = new PropertyRead('myProperty'); - $this->assertSame('@property-read $myProperty', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyRead::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new PropertyRead('myProperty'); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getVariableName - */ - public function testHasVariableName() - { - $expected = 'myProperty'; - - $fixture = new PropertyRead($expected); - - $this->assertSame($expected, $fixture->getVariableName()); - } - - /** - * @covers ::__construct - * @covers ::getType - */ - public function testHasType() - { - $expected = new String_(); - - $fixture = new PropertyRead('myProperty', $expected); - - $this->assertSame($expected, $fixture->getType()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new PropertyRead('1.0', null, $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\String_ - */ - public function testStringRepresentationIsReturned() - { - $fixture = new PropertyRead('myProperty', new String_(), new Description('Description')); - - $this->assertSame('string $myProperty Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyRead:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $typeResolver = new TypeResolver(); - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $description = new Description('My Description'); - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = PropertyRead::create('string $myProperty My Description', $typeResolver, $descriptionFactory, - $context); - - $this->assertSame('string $myProperty My Description', (string)$fixture); - $this->assertSame('myProperty', $fixture->getVariableName()); - $this->assertInstanceOf(String_::class, $fixture->getType()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyRead:: - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfEmptyBodyIsGiven() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - PropertyRead::create('', new TypeResolver(), $descriptionFactory); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - PropertyRead::create([]); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - PropertyRead::create('body'); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\TypeResolver - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - PropertyRead::create('body', new TypeResolver()); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfVariableNameIsNotString() - { - new PropertyRead([]); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyTest.php deleted file mode 100644 index 908dfb28..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyTest.php +++ /dev/null @@ -1,200 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\String_; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Property - * @covers :: - */ -class PropertyTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Property::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Property('myProperty', null, new Description('Description')); - - $this->assertSame('property', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Property::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Property::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Property('myProperty', new String_(), new Description('Description')); - $this->assertSame('@property string $myProperty Description', $fixture->render()); - - $fixture = new Property('myProperty', null, new Description('Description')); - $this->assertSame('@property $myProperty Description', $fixture->render()); - - $fixture = new Property('myProperty'); - $this->assertSame('@property $myProperty', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Property::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Property('myProperty'); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getVariableName - */ - public function testHasVariableName() - { - $expected = 'myProperty'; - - $fixture = new Property($expected); - - $this->assertSame($expected, $fixture->getVariableName()); - } - - /** - * @covers ::__construct - * @covers ::getType - */ - public function testHasType() - { - $expected = new String_(); - - $fixture = new Property('myProperty', $expected); - - $this->assertSame($expected, $fixture->getType()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Property('1.0', null, $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\String_ - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Property('myProperty', new String_(), new Description('Description')); - - $this->assertSame('string $myProperty Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Property:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $typeResolver = new TypeResolver(); - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $description = new Description('My Description'); - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Property::create('string $myProperty My Description', $typeResolver, $descriptionFactory, $context); - - $this->assertSame('string $myProperty My Description', (string)$fixture); - $this->assertSame('myProperty', $fixture->getVariableName()); - $this->assertInstanceOf(String_::class, $fixture->getType()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Property:: - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfEmptyBodyIsGiven() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - Property::create('', new TypeResolver(), $descriptionFactory); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - Property::create([]); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - Property::create('body'); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\TypeResolver - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - Property::create('body', new TypeResolver()); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfVariableNameIsNotString() - { - new Property([]); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyWriteTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyWriteTest.php deleted file mode 100644 index 5ea6524c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/PropertyWriteTest.php +++ /dev/null @@ -1,201 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\String_; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite - * @covers :: - */ -class PropertyWriteTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new PropertyWrite('myProperty', null, new Description('Description')); - - $this->assertSame('property-write', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new PropertyWrite('myProperty', new String_(), new Description('Description')); - $this->assertSame('@property-write string $myProperty Description', $fixture->render()); - - $fixture = new PropertyWrite('myProperty', null, new Description('Description')); - $this->assertSame('@property-write $myProperty Description', $fixture->render()); - - $fixture = new PropertyWrite('myProperty'); - $this->assertSame('@property-write $myProperty', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new PropertyWrite('myProperty'); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getVariableName - */ - public function testHasVariableName() - { - $expected = 'myProperty'; - - $fixture = new PropertyWrite($expected); - - $this->assertSame($expected, $fixture->getVariableName()); - } - - /** - * @covers ::__construct - * @covers ::getType - */ - public function testHasType() - { - $expected = new String_(); - - $fixture = new PropertyWrite('myProperty', $expected); - - $this->assertSame($expected, $fixture->getType()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new PropertyWrite('1.0', null, $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\String_ - */ - public function testStringRepresentationIsReturned() - { - $fixture = new PropertyWrite('myProperty', new String_(), new Description('Description')); - - $this->assertSame('string $myProperty Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $typeResolver = new TypeResolver(); - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $description = new Description('My Description'); - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = PropertyWrite::create('string $myProperty My Description', $typeResolver, $descriptionFactory, - $context); - - $this->assertSame('string $myProperty My Description', (string)$fixture); - $this->assertSame('myProperty', $fixture->getVariableName()); - $this->assertInstanceOf(String_::class, $fixture->getType()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite:: - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfEmptyBodyIsGiven() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - PropertyWrite::create('', new TypeResolver(), $descriptionFactory); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - PropertyWrite::create([]); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - PropertyWrite::create('body'); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\TypeResolver - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - PropertyWrite::create('body', new TypeResolver()); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfVariableNameIsNotString() - { - new PropertyWrite([]); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ReturnTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ReturnTest.php deleted file mode 100644 index 2bc54391..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ReturnTest.php +++ /dev/null @@ -1,170 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\String_; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Return_ - * @covers :: - */ -class ReturnTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Return_::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Return_(new String_(), new Description('Description')); - - $this->assertSame('return', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Return_::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Return_::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Return_(new String_(), new Description('Description')); - - $this->assertSame('@return string Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Return_::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Return_(new String_(), new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getType - */ - public function testHasType() - { - $expected = new String_(); - - $fixture = new Return_($expected); - - $this->assertSame($expected, $fixture->getType()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Return_(new String_(), $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Return_(new String_(), new Description('Description')); - - $this->assertSame('string Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Return_:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\String_ - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $resolver = new TypeResolver(); - $context = new Context(''); - - $type = new String_(); - $description = new Description('My Description'); - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Return_::create('string My Description', $resolver, $descriptionFactory, $context); - - $this->assertSame('string My Description', (string)$fixture); - $this->assertEquals($type, $fixture->getType()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - $this->assertNull(Return_::create([])); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotEmpty() - { - $this->assertNull(Return_::create('')); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - Return_::create('body'); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - Return_::create('body', new TypeResolver()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SeeTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SeeTest.php deleted file mode 100644 index 8d3e3e8c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SeeTest.php +++ /dev/null @@ -1,173 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\See - * @covers :: - */ -class SeeTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\See::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new See(new Fqsen('\DateTime'), new Description('Description')); - - $this->assertSame('see', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\See::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\See::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new See(new Fqsen('\DateTime'), new Description('Description')); - - $this->assertSame('@see \DateTime Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\See::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new See(new Fqsen('\DateTime'), new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getReference - */ - public function testHasReferenceToFqsen() - { - $expected = new Fqsen('\DateTime'); - - $fixture = new See($expected); - - $this->assertSame($expected, $fixture->getReference()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new See(new Fqsen('\DateTime'), $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testStringRepresentationIsReturned() - { - $fixture = new See(new Fqsen('\DateTime'), new Description('Description')); - - $this->assertSame('\DateTime Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\See:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\FqsenResolver - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Fqsen - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $resolver = m::mock(FqsenResolver::class); - $context = new Context(''); - - $fqsen = new Fqsen('\DateTime'); - $description = new Description('My Description'); - - $descriptionFactory - ->shouldReceive('create')->with('My Description', $context)->andReturn($description); - $resolver->shouldReceive('resolve')->with('DateTime', $context)->andReturn($fqsen); - - $fixture = See::create('DateTime My Description', $resolver, $descriptionFactory, $context); - - $this->assertSame('\DateTime My Description', (string)$fixture); - $this->assertSame($fqsen, $fixture->getReference()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - $this->assertNull(See::create([])); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotEmpty() - { - $this->assertNull(See::create('')); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - See::create('body'); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - See::create('body', new FqsenResolver()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SinceTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SinceTest.php deleted file mode 100644 index 3f42db5d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SinceTest.php +++ /dev/null @@ -1,166 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Since - * @covers :: - */ -class SinceTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Since::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Since('1.0', new Description('Description')); - - $this->assertSame('since', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Since::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Since::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Since('1.0', new Description('Description')); - - $this->assertSame('@since 1.0 Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Since::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Since('1.0', new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getVersion - */ - public function testHasVersionNumber() - { - $expected = '1.0'; - - $fixture = new Since($expected); - - $this->assertSame($expected, $fixture->getVersion()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Since('1.0', $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Since('1.0', new Description('Description')); - - $this->assertSame('1.0 Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Since:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $version = '1.0'; - $description = new Description('My Description'); - - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Since::create('1.0 My Description', $descriptionFactory, $context); - - $this->assertSame('1.0 My Description', (string)$fixture); - $this->assertSame($version, $fixture->getVersion()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Since:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethodCreatesEmptySinceTag() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $descriptionFactory->shouldReceive('create')->never(); - - $fixture = Since::create('', $descriptionFactory, new Context('')); - - $this->assertSame('', (string)$fixture); - $this->assertSame(null, $fixture->getVersion()); - $this->assertSame(null, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfSinceIsNotString() - { - $this->assertNull(Since::create([])); - } - - /** - * @covers ::create - */ - public function testFactoryMethodReturnsNullIfBodyDoesNotMatchRegex() - { - $this->assertNull(Since::create('dkhf<')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SourceTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SourceTest.php deleted file mode 100644 index cbf01f65..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/SourceTest.php +++ /dev/null @@ -1,199 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\String_; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Source - * @covers :: - */ -class SourceTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Source::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Source(1, null, new Description('Description')); - - $this->assertSame('source', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Source::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Source::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Source(1, 10, new Description('Description')); - $this->assertSame('@source 1 10 Description', $fixture->render()); - - $fixture = new Source(1, null, new Description('Description')); - $this->assertSame('@source 1 Description', $fixture->render()); - - $fixture = new Source(1); - $this->assertSame('@source 1', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Source::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Source(1); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getStartingLine - */ - public function testHasStartingLine() - { - $expected = 1; - - $fixture = new Source($expected); - - $this->assertSame($expected, $fixture->getStartingLine()); - } - - /** - * @covers ::__construct - * @covers ::getLineCount - */ - public function testHasLineCount() - { - $expected = 2; - - $fixture = new Source(1, $expected); - - $this->assertSame($expected, $fixture->getLineCount()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Source('1', null, $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\String_ - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Source(1, 10, new Description('Description')); - - $this->assertSame('1 10 Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Source:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $description = new Description('My Description'); - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Source::create('1 10 My Description', $descriptionFactory, $context); - - $this->assertSame('1 10 My Description', (string)$fixture); - $this->assertSame(1, $fixture->getStartingLine()); - $this->assertSame(10, $fixture->getLineCount()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Source:: - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfEmptyBodyIsGiven() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - Source::create('', $descriptionFactory); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - Source::create([]); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\TypeResolver - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - Source::create('1'); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfStartingLineIsNotInteger() - { - new Source('blabla'); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfLineCountIsNotIntegerOrNull() - { - new Source('1', []); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ThrowsTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ThrowsTest.php deleted file mode 100644 index 657d6ca5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/ThrowsTest.php +++ /dev/null @@ -1,170 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\String_; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Throws - * @covers :: - */ -class ThrowsTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Throws::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Throws(new String_(), new Description('Description')); - - $this->assertSame('throws', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Throws::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Throws::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Throws(new String_(), new Description('Description')); - - $this->assertSame('@throws string Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Throws::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Throws(new String_(), new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getType - */ - public function testHasType() - { - $expected = new String_(); - - $fixture = new Throws($expected); - - $this->assertSame($expected, $fixture->getType()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Throws(new String_(), $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Throws(new String_(), new Description('Description')); - - $this->assertSame('string Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Throws:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\String_ - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $resolver = new TypeResolver(); - $context = new Context(''); - - $type = new String_(); - $description = new Description('My Description'); - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Throws::create('string My Description', $resolver, $descriptionFactory, $context); - - $this->assertSame('string My Description', (string)$fixture); - $this->assertEquals($type, $fixture->getType()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - $this->assertNull(Throws::create([])); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotEmpty() - { - $this->assertNull(Throws::create('')); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - Throws::create('body'); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - Throws::create('body', new TypeResolver()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/UsesTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/UsesTest.php deleted file mode 100644 index 419f7e36..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/UsesTest.php +++ /dev/null @@ -1,174 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\FqsenResolver; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Uses - * @covers :: - */ -class UsesTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Uses::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Uses(new Fqsen('\DateTime'), new Description('Description')); - - $this->assertSame('uses', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Uses::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Uses::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Uses(new Fqsen('\DateTime'), new Description('Description')); - - $this->assertSame('@uses \DateTime Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Uses::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Uses(new Fqsen('\DateTime'), new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getReference - */ - public function testHasReferenceToFqsen() - { - $expected = new Fqsen('\DateTime'); - - $fixture = new Uses($expected); - - $this->assertSame($expected, $fixture->getReference()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Uses(new Fqsen('\DateTime'), $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Uses(new Fqsen('\DateTime'), new Description('Description')); - - $this->assertSame('\DateTime Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Uses:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\FqsenResolver - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Fqsen - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $resolver = m::mock(FqsenResolver::class); - $context = new Context(''); - - $fqsen = new Fqsen('\DateTime'); - $description = new Description('My Description'); - - $descriptionFactory - ->shouldReceive('create')->with('My Description', $context)->andReturn($description) - ; - $resolver->shouldReceive('resolve')->with('DateTime', $context)->andReturn($fqsen); - - $fixture = Uses::create('DateTime My Description', $resolver, $descriptionFactory, $context); - - $this->assertSame('\DateTime My Description', (string)$fixture); - $this->assertSame($fqsen, $fixture->getReference()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - $this->assertNull(Uses::create([])); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotEmpty() - { - $this->assertNull(Uses::create('')); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - Uses::create('body'); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - Uses::create('body', new FqsenResolver()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/VarTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/VarTest.php deleted file mode 100644 index 34f290ad..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/VarTest.php +++ /dev/null @@ -1,200 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\TypeResolver; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\String_; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Var_ - * @covers :: - */ -class VarTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Var_::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Var_('myVariable', null, new Description('Description')); - - $this->assertSame('var', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Var_::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Var_::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Var_('myVariable', new String_(), new Description('Description')); - $this->assertSame('@var string $myVariable Description', $fixture->render()); - - $fixture = new Var_('myVariable', null, new Description('Description')); - $this->assertSame('@var $myVariable Description', $fixture->render()); - - $fixture = new Var_('myVariable'); - $this->assertSame('@var $myVariable', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Var_::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Var_('myVariable'); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getVariableName - */ - public function testHasVariableName() - { - $expected = 'myVariable'; - - $fixture = new Var_($expected); - - $this->assertSame($expected, $fixture->getVariableName()); - } - - /** - * @covers ::__construct - * @covers ::getType - */ - public function testHasType() - { - $expected = new String_(); - - $fixture = new Var_('myVariable', $expected); - - $this->assertSame($expected, $fixture->getType()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Var_('1.0', null, $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\String_ - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Var_('myVariable', new String_(), new Description('Description')); - - $this->assertSame('string $myVariable Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Var_:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $typeResolver = new TypeResolver(); - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $description = new Description('My Description'); - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Var_::create('string $myVariable My Description', $typeResolver, $descriptionFactory, $context); - - $this->assertSame('string $myVariable My Description', (string)$fixture); - $this->assertSame('myVariable', $fixture->getVariableName()); - $this->assertInstanceOf(String_::class, $fixture->getType()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Var_:: - * @uses \phpDocumentor\Reflection\TypeResolver - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfEmptyBodyIsGiven() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - Var_::create('', new TypeResolver(), $descriptionFactory); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfBodyIsNotString() - { - Var_::create([]); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfResolverIsNull() - { - Var_::create('body'); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\TypeResolver - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfDescriptionFactoryIsNull() - { - Var_::create('body', new TypeResolver()); - } - - /** - * @covers ::__construct - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfVariableNameIsNotString() - { - new Var_([]); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/VersionTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/VersionTest.php deleted file mode 100644 index 5c487fd3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlock/Tags/VersionTest.php +++ /dev/null @@ -1,166 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\DocBlock\Tags; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\DocBlock\Tags\Version - * @covers :: - */ -class VersionTest extends \PHPUnit_Framework_TestCase -{ - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Version::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfCorrectTagNameIsReturned() - { - $fixture = new Version('1.0', new Description('Description')); - - $this->assertSame('version', $fixture->getName()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Version::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Version::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getName - */ - public function testIfTagCanBeRenderedUsingDefaultFormatter() - { - $fixture = new Version('1.0', new Description('Description')); - - $this->assertSame('@version 1.0 Description', $fixture->render()); - } - - /** - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Version::__construct - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::render - */ - public function testIfTagCanBeRenderedUsingSpecificFormatter() - { - $fixture = new Version('1.0', new Description('Description')); - - $formatter = m::mock(Formatter::class); - $formatter->shouldReceive('format')->with($fixture)->andReturn('Rendered output'); - - $this->assertSame('Rendered output', $fixture->render($formatter)); - } - - /** - * @covers ::__construct - * @covers ::getVersion - */ - public function testHasVersionNumber() - { - $expected = '1.0'; - - $fixture = new Version($expected); - - $this->assertSame($expected, $fixture->getVersion()); - } - - /** - * @covers ::__construct - * @covers \phpDocumentor\Reflection\DocBlock\Tags\BaseTag::getDescription - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testHasDescription() - { - $expected = new Description('Description'); - - $fixture = new Version('1.0', $expected); - - $this->assertSame($expected, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::__toString - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testStringRepresentationIsReturned() - { - $fixture = new Version('1.0', new Description('Description')); - - $this->assertSame('1.0 Description', (string)$fixture); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Version:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethod() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $context = new Context(''); - - $version = '1.0'; - $description = new Description('My Description'); - - $descriptionFactory->shouldReceive('create')->with('My Description', $context)->andReturn($description); - - $fixture = Version::create('1.0 My Description', $descriptionFactory, $context); - - $this->assertSame('1.0 My Description', (string)$fixture); - $this->assertSame($version, $fixture->getVersion()); - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::create - * @uses \phpDocumentor\Reflection\DocBlock\Tags\Version:: - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testFactoryMethodCreatesEmptyVersionTag() - { - $descriptionFactory = m::mock(DescriptionFactory::class); - $descriptionFactory->shouldReceive('create')->never(); - - $fixture = Version::create('', $descriptionFactory, new Context('')); - - $this->assertSame('', (string)$fixture); - $this->assertSame(null, $fixture->getVersion()); - $this->assertSame(null, $fixture->getDescription()); - } - - /** - * @covers ::create - * @expectedException \InvalidArgumentException - */ - public function testFactoryMethodFailsIfVersionIsNotString() - { - $this->assertNull(Version::create([])); - } - - /** - * @covers ::create - */ - public function testFactoryMethodReturnsNullIfBodyDoesNotMatchRegex() - { - $this->assertNull(Version::create('dkhf<')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlockFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlockFactoryTest.php deleted file mode 100644 index f1261b65..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlockFactoryTest.php +++ /dev/null @@ -1,290 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use Mockery as m; -use phpDocumentor\Reflection\DocBlock\Description; -use phpDocumentor\Reflection\DocBlock\DescriptionFactory; -use phpDocumentor\Reflection\DocBlock\Tag; -use phpDocumentor\Reflection\DocBlock\TagFactory; -use phpDocumentor\Reflection\DocBlock\Tags\Param; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass phpDocumentor\Reflection\DocBlockFactory - * @covers :: - * @uses \Webmozart\Assert\Assert - * @uses phpDocumentor\Reflection\DocBlock - */ -class DocBlockFactoryTest extends \PHPUnit_Framework_TestCase -{ - /** - * @covers ::__construct - * @covers ::createInstance - * @uses \phpDocumentor\Reflection\DocBlock\StandardTagFactory - * @uses \phpDocumentor\Reflection\DocBlock\DescriptionFactory - */ - public function testCreateFactoryUsingFactoryMethod() - { - $fixture = DocBlockFactory::createInstance(); - - $this->assertInstanceOf(DocBlockFactory::class, $fixture); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\Description - */ - public function testCreateDocBlockFromReflection() - { - $fixture = new DocBlockFactory(m::mock(DescriptionFactory::class), m::mock(TagFactory::class)); - - $docBlock = '/** This is a DocBlock */'; - $classReflector = m::mock(\ReflectionClass::class); - $classReflector->shouldReceive('getDocComment')->andReturn($docBlock); - $docblock = $fixture->create($classReflector); - - $this->assertInstanceOf(DocBlock::class, $docblock); - $this->assertSame('This is a DocBlock', $docblock->getSummary()); - $this->assertEquals(new Description(''), $docblock->getDescription()); - $this->assertSame([], $docblock->getTags()); - $this->assertEquals(new Context(''), $docblock->getContext()); - $this->assertNull($docblock->getLocation()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\Description - */ - public function testCreateDocBlockFromStringWithDocComment() - { - $fixture = new DocBlockFactory(m::mock(DescriptionFactory::class), m::mock(TagFactory::class)); - - $docblock = $fixture->create('/** This is a DocBlock */'); - - $this->assertInstanceOf(DocBlock::class, $docblock); - $this->assertSame('This is a DocBlock', $docblock->getSummary()); - $this->assertEquals(new Description(''), $docblock->getDescription()); - $this->assertSame([], $docblock->getTags()); - $this->assertEquals(new Context(''), $docblock->getContext()); - $this->assertNull($docblock->getLocation()); - } - - /** - * @covers ::create - * @covers ::__construct - * @uses phpDocumentor\Reflection\DocBlock\Description - */ - public function testCreateDocBlockFromStringWithoutDocComment() - { - $fixture = new DocBlockFactory(m::mock(DescriptionFactory::class), m::mock(TagFactory::class)); - - $docblock = $fixture->create('This is a DocBlock'); - - $this->assertInstanceOf(DocBlock::class, $docblock); - $this->assertSame('This is a DocBlock', $docblock->getSummary()); - $this->assertEquals(new Description(''), $docblock->getDescription()); - $this->assertSame([], $docblock->getTags()); - $this->assertEquals(new Context(''), $docblock->getContext()); - $this->assertNull($docblock->getLocation()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses phpDocumentor\Reflection\DocBlock\Description - * @dataProvider provideSummaryAndDescriptions - */ - public function testSummaryAndDescriptionAreSeparated($given, $summary, $description) - { - $tagFactory = m::mock(TagFactory::class); - $fixture = new DocBlockFactory(new DescriptionFactory($tagFactory), $tagFactory); - - $docblock = $fixture->create($given); - - $this->assertSame($summary, $docblock->getSummary()); - $this->assertEquals(new Description($description), $docblock->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses phpDocumentor\Reflection\DocBlock\Description - */ - public function testDescriptionsRetainFormatting() - { - $tagFactory = m::mock(TagFactory::class); - $fixture = new DocBlockFactory(new DescriptionFactory($tagFactory), $tagFactory); - - $given = <<create($given); - - $this->assertEquals(new Description($description), $docblock->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::create - * @uses phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses phpDocumentor\Reflection\DocBlock\Description - */ - public function testTagsAreInterpretedUsingFactory() - { - $tagString = << This is with - multiline description. -TAG; - - $tag = m::mock(Tag::class); - $tagFactory = m::mock(TagFactory::class); - $tagFactory->shouldReceive('create')->with($tagString, m::type(Context::class))->andReturn($tag); - - $fixture = new DocBlockFactory(new DescriptionFactory($tagFactory), $tagFactory); - - $given = << This is with - * multiline description. - */ -DOCBLOCK; - - $docblock = $fixture->create($given, new Context('')); - - $this->assertEquals([$tag], $docblock->getTags()); - } - - public function provideSummaryAndDescriptions() - { - return [ - ['This is a DocBlock', 'This is a DocBlock', ''], - [ - 'This is a DocBlock. This should still be summary.', - 'This is a DocBlock. This should still be summary.', - '' - ], - [ - <<shouldReceive('create')->with(m::any(), $context)->andReturn(new Param('param')); - $docblock = $fixture->create('/** @param MyType $param */', $context); - } - - /** - * @covers ::__construct - * @covers ::create - * - * @uses phpDocumentor\Reflection\DocBlock\DescriptionFactory - * @uses phpDocumentor\Reflection\DocBlock\Description - */ - public function testTagsAreFilteredForNullValues() - { - $tagString = << This is with - multiline description. -TAG; - - $tagFactory = m::mock(TagFactory::class); - $tagFactory->shouldReceive('create')->with($tagString, m::any())->andReturn(null); - - $fixture = new DocBlockFactory(new DescriptionFactory($tagFactory), $tagFactory); - - $given = << This is with - * multiline description. - */ -DOCBLOCK; - - $docblock = $fixture->create($given, new Context('')); - - $this->assertEquals([], $docblock->getTags()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlockTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlockTest.php deleted file mode 100644 index 4a8d4ded..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/reflection-docblock/tests/unit/DocBlockTest.php +++ /dev/null @@ -1,252 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use Mockery as m; -use phpDocumentor\Reflection\Types\Context; - -/** - * @coversDefaultClass phpDocumentor\Reflection\DocBlock - * @covers :: - * @uses \Webmozart\Assert\Assert - */ -class DocBlockTest extends \PHPUnit_Framework_TestCase -{ - /** - * @covers ::__construct - * @covers ::getSummary - * - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testDocBlockCanHaveASummary() - { - $summary = 'This is a summary'; - - $fixture = new DocBlock($summary); - - $this->assertSame($summary, $fixture->getSummary()); - } - - /** - * @covers ::__construct - * - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfSummaryIsNotAString() - { - new DocBlock([]); - } - - /** - * @covers ::__construct - * - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfTemplateStartIsNotABoolean() - { - new DocBlock('', null, [], null, null, ['is not boolean']); - } - - /** - * @covers ::__construct - * - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfTemplateEndIsNotABoolean() - { - new DocBlock('', null, [], null, null, false, ['is not boolean']); - } - - /** - * @covers ::__construct - * @covers ::getDescription - * - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testDocBlockCanHaveADescription() - { - $description = new DocBlock\Description(''); - - $fixture = new DocBlock('', $description); - - $this->assertSame($description, $fixture->getDescription()); - } - - /** - * @covers ::__construct - * @covers ::getTags - * - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\DocBlock\Tag - */ - public function testDocBlockCanHaveTags() - { - $tags = [ - m::mock(DocBlock\Tag::class) - ]; - - $fixture = new DocBlock('', null, $tags); - - $this->assertSame($tags, $fixture->getTags()); - } - - /** - * @covers ::__construct - * @covers ::getTags - * - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\DocBlock\Tag - * - * @expectedException \InvalidArgumentException - */ - public function testDocBlockAllowsOnlyTags() - { - $tags = [ - null - ]; - - $fixture = new DocBlock('', null, $tags); - } - - /** - * @covers ::__construct - * @covers ::getTagsByName - * - * @uses \phpDocumentor\Reflection\DocBlock::getTags - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\DocBlock\Tag - */ - public function testFindTagsInDocBlockByName() - { - $tag1 = m::mock(DocBlock\Tag::class); - $tag2 = m::mock(DocBlock\Tag::class); - $tag3 = m::mock(DocBlock\Tag::class); - $tags = [$tag1, $tag2, $tag3]; - - $tag1->shouldReceive('getName')->andReturn('abc'); - $tag2->shouldReceive('getName')->andReturn('abcd'); - $tag3->shouldReceive('getName')->andReturn('ab'); - - $fixture = new DocBlock('', null, $tags); - - $this->assertSame([$tag2], $fixture->getTagsByName('abcd')); - $this->assertSame([], $fixture->getTagsByName('Ebcd')); - } - - /** - * @covers ::__construct - * @covers ::getTagsByName - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfNameForTagsIsNotString() - { - $fixture = new DocBlock(); - $fixture->getTagsByName([]); - } - - /** - * @covers ::__construct - * @covers ::hasTag - * - * @uses \phpDocumentor\Reflection\DocBlock::getTags - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\DocBlock\Tag - */ - public function testCheckIfThereAreTagsWithAGivenName() - { - $tag1 = m::mock(DocBlock\Tag::class); - $tag2 = m::mock(DocBlock\Tag::class); - $tag3 = m::mock(DocBlock\Tag::class); - $tags = [$tag1, $tag2, $tag3]; - - $tag1->shouldReceive('getName')->twice()->andReturn('abc'); - $tag2->shouldReceive('getName')->twice()->andReturn('abcd'); - $tag3->shouldReceive('getName')->once(); - - $fixture = new DocBlock('', null, $tags); - - $this->assertTrue($fixture->hasTag('abcd')); - $this->assertFalse($fixture->hasTag('Ebcd')); - } - - /** - * @covers ::__construct - * @covers ::hasTag - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfNameForCheckingTagsIsNotString() - { - $fixture = new DocBlock(); - $fixture->hasTag([]); - } - - /** - * @covers ::__construct - * @covers ::getContext - * - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Types\Context - */ - public function testDocBlockKnowsInWhichNamespaceItIsAndWhichAliasesThereAre() - { - $context = new Context(''); - - $fixture = new DocBlock('', null, [], $context); - - $this->assertSame($context, $fixture->getContext()); - } - - /** - * @covers ::__construct - * @covers ::getLocation - * - * @uses \phpDocumentor\Reflection\DocBlock\Description - * @uses \phpDocumentor\Reflection\Location - */ - public function testDocBlockKnowsAtWhichLineItIs() - { - $location = new Location(10); - - $fixture = new DocBlock('', null, [], null, $location); - - $this->assertSame($location, $fixture->getLocation()); - } - - /** - * @covers ::__construct - * @covers ::isTemplateStart - * - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testDocBlockKnowsIfItIsTheStartOfADocBlockTemplate() - { - $fixture = new DocBlock('', null, [], null, null, true); - - $this->assertTrue($fixture->isTemplateStart()); - } - - /** - * @covers ::__construct - * @covers ::isTemplateEnd - * - * @uses \phpDocumentor\Reflection\DocBlock\Description - */ - public function testDocBlockKnowsIfItIsTheEndOfADocBlockTemplate() - { - $fixture = new DocBlock('', null, [], null, null, false, true); - - $this->assertTrue($fixture->isTemplateEnd()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/.scrutinizer.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/.scrutinizer.yml deleted file mode 100644 index 7d7372a8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/.scrutinizer.yml +++ /dev/null @@ -1,31 +0,0 @@ -before_commands: - - "composer install --no-dev --prefer-source" - -tools: - external_code_coverage: true - php_code_sniffer: - config: - standard: PSR2 - filter: - paths: ["src/*", "tests/*"] - php_cpd: - enabled: true - excluded_dirs: ["tests", "vendor"] - php_loc: - enabled: true - excluded_dirs: ["tests", "vendor"] - php_mess_detector: - enabled: true - config: - ruleset: phpmd.xml.dist - design_rules: { eval_expression: false } - filter: - paths: ["src/*"] - php_pdepend: - enabled: true - excluded_dirs: ["tests", "vendor"] - php_analyzer: - enabled: true - filter: - paths: ["src/*", "tests/*"] - sensiolabs_security_checker: true diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/.travis.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/.travis.yml deleted file mode 100644 index c882b141..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/.travis.yml +++ /dev/null @@ -1,34 +0,0 @@ -language: php -php: - - 5.5 - - 5.6 - - 7.0 - - hhvm - - nightly - -matrix: - allow_failures: - - php: - - hhvm - - nightly - -cache: - directories: - - $HOME/.composer/cache - -script: - - vendor/bin/phpunit --coverage-clover=coverage.clover -v - - composer update --no-interaction --prefer-source - - vendor/bin/phpunit -v - -before_script: - - composer install --no-interaction - -after_script: - - if [ $TRAVIS_PHP_VERSION = '5.6' ]; then wget https://scrutinizer-ci.com/ocular.phar; php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi - -notifications: - irc: "irc.freenode.org#phpdocumentor" - email: - - me@mikevanriel.com - - ashnazg@php.net diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/LICENSE b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/LICENSE deleted file mode 100644 index 792e4040..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2010 Mike van Riel - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/README.md deleted file mode 100644 index ca8147bc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/README.md +++ /dev/null @@ -1,169 +0,0 @@ -TypeResolver and FqsenResolver -============================== - -The specification on types in DocBlocks (PSR-5) describes various keywords and special constructs -but also how to statically resolve the partial name of a Class into a Fully Qualified Class Name (FQCN). - -PSR-5 also introduces an additional way to describe deeper elements than Classes, Interfaces and Traits -called the Fully Qualified Structural Element Name (FQSEN). Using this it is possible to refer to methods, -properties and class constants but also functions and global constants. - -This package provides two Resolvers that are capable of - -1. Returning a series of Value Object for given expression while resolving any partial class names, and -2. Returning an FQSEN object after resolving any partial Structural Element Names into Fully Qualified Structural - Element names. - -## Installing - -The easiest way to install this library is with [Composer](https://getcomposer.org) using the following command: - - $ composer require phpdocumentor/type-resolver - -## Examples - -Ready to dive in and don't want to read through all that text below? Just consult the [examples](examples) folder and -check which type of action that your want to accomplish. - -## On Types and Element Names - -This component can be used in one of two ways - -1. To resolve a Type or -2. To resolve a Fully Qualified Structural Element Name - -The big difference between these two is in the number of things it can resolve. - -The TypeResolver can resolve: - -- a php primitive or pseudo-primitive such as a string or void (`@var string` or `@return void`). -- a composite such as an array of string (`@var string[]`). -- a compound such as a string or integer (`@var string|integer`). -- an object or interface such as the TypeResolver class (`@var TypeResolver` - or `@var \phpDocumentor\Reflection\TypeResolver`) - - > please note that if you want to pass partial class names that additional steps are necessary, see the - > chapter `Resolving partial classes and FQSENs` for more information. - -Where the FqsenResolver can resolve: - -- Constant expressions (i.e. `@see \MyNamespace\MY_CONSTANT`) -- Function expressions (i.e. `@see \MyNamespace\myFunction()`) -- Class expressions (i.e. `@see \MyNamespace\MyClass`) -- Interface expressions (i.e. `@see \MyNamespace\MyInterface`) -- Trait expressions (i.e. `@see \MyNamespace\MyTrait`) -- Class constant expressions (i.e. `@see \MyNamespace\MyClass::MY_CONSTANT`) -- Property expressions (i.e. `@see \MyNamespace\MyClass::$myProperty`) -- Method expressions (i.e. `@see \MyNamespace\MyClass::myMethod()`) - -## Resolving a type - -In order to resolve a type you will have to instantiate the class `\phpDocumentor\Reflection\TypeResolver` -and call its `resolve` method like this: - - $typeResolver = new \phpDocumentor\Reflection\TypeResolver(); - $type = $typeResolver->resolve('string|integer'); - -In this example you will receive a Value Object of class `\phpDocumentor\Reflection\Types\Compound` that has two -elements, one of type `\phpDocumentor\Reflection\Types\String_` and one of type -`\phpDocumentor\Reflection\Types\Integer`. - -The real power of this resolver is in its capability to expand partial class names into fully qualified class names; but -in order to do that we need an additional `\phpDocumentor\Reflection\Types\Context` class that will inform the resolver -in which namespace the given expression occurs and which namespace aliases (or imports) apply. - -## Resolving an FQSEN - -A Fully Qualified Structural Element Name is a reference to another element in your code bases and can be resolved using -the `\phpDocumentor\Reflection\FqsenResolver` class' `resolve` method, like this: - - $fqsenResolver = new \phpDocumentor\Reflection\FqsenResolver(); - $fqsen = $fqsenResolver->resolve('\phpDocumentor\Reflection\FqsenResolver::resolve()'); - -In this example we resolve a Fully Qualified Structural Element Name (meaning that it includes the full namespace, class -name and element name) and receive a Value Object of type `\phpDocumentor\Reflection\Fqsen`. - -The real power of this resolver is in its capability to expand partial element names into Fully Qualified Structural -Element Names; but in order to do that we need an additional `\phpDocumentor\Reflection\Types\Context` class that will -inform the resolver in which namespace the given expression occurs and which namespace aliases (or imports) apply. - -## Resolving partial Classes and Structural Element Names - -Perhaps the best feature of this library is that it knows how to resolve partial class names into fully qualified class -names. - -For example, you have this file: - -```php - '\phpDocumentor\Reflection\Types'] - ); - -Or by using the `\phpDocumentor\Reflection\Types\ContextFactory` to instantiate a new context based on a Reflector -object or by providing the namespace that you'd like to extract and the source code of the file in which the given -type expression occurs. - - $contextFactory = new \phpDocumentor\Reflection\Types\ContextFactory(); - $context = $contextFactory->createFromReflector(new ReflectionMethod('\My\Example\Classy', '__construct')); - -or - - $contextFactory = new \phpDocumentor\Reflection\Types\ContextFactory(); - $context = $contextFactory->createForNamespace('\My\Example', file_get_contents('My/Example/Classy.php')); - -### Using the Context - -After you have obtained a Context it is just a matter of passing it along with the `resolve` method of either Resolver -class as second argument and the Resolvers will take this into account when resolving partial names. - -To obtain the resolved class name for the `@var` tag in the example above you can do: - - $typeResolver = new \phpDocumentor\Reflection\TypeResolver(); - $type = $typeResolver->resolve('Types\Context', $context); - -When you do this you will receive an object of class `\phpDocumentor\Reflection\Types\Object_` for which you can call -the `getFqsen` method to receive a Value Object that represents the complete FQSEN. So that would be -`phpDocumentor\Reflection\Types\Context`. - -> Why is the FQSEN wrapped in another object `Object_`? -> -> The resolve method of the TypeResolver only returns object with the interface `Type` and the FQSEN is a common -> type that does not represent a Type. Also: in some cases a type can represent an "Untyped Object", meaning that it -> is an object (signified by the `object` keyword) but does not refer to a specific element using an FQSEN. - -Another example is on how to resolve the FQSEN of a method as can be seen with the `@see` tag in the example above. To -resolve that you can do the following: - - $fqsenResolver = new \phpDocumentor\Reflection\FqsenResolver(); - $type = $fqsenResolver->resolve('Classy::otherFunction()', $context); - -Because Classy is a Class in the current namespace its FQSEN will have the `My\Example` namespace and by calling the -`resolve` method of the FQSEN Resolver you will receive an `Fqsen` object that refers to -`\My\Example\Classy::otherFunction()`. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/composer.json deleted file mode 100644 index abaa965d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "phpdocumentor/type-resolver", - "type": "library", - "license": "MIT", - "authors": [ - {"name": "Mike van Riel", "email": "me@mikevanriel.com"} - ], - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "autoload": { - "psr-4": {"phpDocumentor\\Reflection\\": ["src/"]} - }, - "autoload-dev": { - "psr-4": {"phpDocumentor\\Reflection\\": ["tests/unit"]} - }, - "require-dev": { - "phpunit/phpunit": "^5.2||^4.8.24", - "mockery/mockery": "^0.9.4" - }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/01-resolving-simple-types.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/01-resolving-simple-types.php deleted file mode 100644 index 682b1d3d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/01-resolving-simple-types.php +++ /dev/null @@ -1,13 +0,0 @@ -resolve('string|integer')); - -// Will return the string "string|int" -var_dump((string)$typeResolver->resolve('string|integer')); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/02-resolving-classes.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/02-resolving-classes.php deleted file mode 100644 index 70aa5e42..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/02-resolving-classes.php +++ /dev/null @@ -1,12 +0,0 @@ - 'Mockery' ]); -var_dump((string)$typeResolver->resolve('Types\Resolver|m\MockInterface', $context)); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/03-resolving-all-elements.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/03-resolving-all-elements.php deleted file mode 100644 index 4f4282eb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/03-resolving-all-elements.php +++ /dev/null @@ -1,17 +0,0 @@ -resolve('Types\Resolver::resolveFqsen()', $context)); - -// Property named: \phpDocumentor\Types\Types\Resolver::$keyWords -var_dump((string)$fqsenResolver->resolve('Types\Resolver::$keyWords', $context)); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/04-discovering-the-context-using-class-reflection.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/04-discovering-the-context-using-class-reflection.php deleted file mode 100644 index 957c97dd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/04-discovering-the-context-using-class-reflection.php +++ /dev/null @@ -1,30 +0,0 @@ -createFromReflector(new ReflectionClass('My\\Example\\Classy')); - -// Class named: \phpDocumentor\Reflection\Types\Resolver -var_dump((string)$typeResolver->resolve('Types\Resolver', $context)); - -// String -var_dump((string)$typeResolver->resolve('string', $context)); - -// Property named: \phpDocumentor\Reflection\Types\Resolver::$keyWords -var_dump((string)$fqsenResolver->resolve('Types\Resolver::$keyWords', $context)); - -// Class named: \My\Example\string -// - Shows the difference between the FqsenResolver and TypeResolver; the FqsenResolver will assume -// that the given value is not a type but most definitely a reference to another element. This is -// because conflicts between type keywords and class names can exist and if you know a reference -// is not a type but an element you can force that keywords are resolved. -var_dump((string)$fqsenResolver->resolve('string', $context)); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/05-discovering-the-context-using-method-reflection.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/05-discovering-the-context-using-method-reflection.php deleted file mode 100644 index 10c0c883..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/05-discovering-the-context-using-method-reflection.php +++ /dev/null @@ -1,30 +0,0 @@ -createFromReflector(new ReflectionMethod('My\\Example\\Classy', '__construct')); - -// Class named: \phpDocumentor\Reflection\Types\Resolver -var_dump((string)$typeResolver->resolve('Types\Resolver', $context)); - -// String -var_dump((string)$typeResolver->resolve('string', $context)); - -// Property named: \phpDocumentor\Reflection\Types\Resolver::$keyWords -var_dump((string)$fqsenResolver->resolve('Types\Resolver::$keyWords', $context)); - -// Class named: \My\Example\string -// - Shows the difference between the FqsenResolver and TypeResolver; the FqsenResolver will assume -// that the given value is not a type but most definitely a reference to another element. This is -// because conflicts between type keywords and class names can exist and if you know a reference -// is not a type but an element you can force that keywords are resolved. -var_dump((string)$fqsenResolver->resolve('string', $context)); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/06-discovering-the-context-using-file-contents.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/06-discovering-the-context-using-file-contents.php deleted file mode 100644 index a93728c8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/06-discovering-the-context-using-file-contents.php +++ /dev/null @@ -1,22 +0,0 @@ -createForNamespace('My\Example', file_get_contents('Classy.php')); - -// Class named: \phpDocumentor\Reflection\Types\Resolver -var_dump((string)$typeResolver->resolve('Types\Resolver', $context)); - -// String -var_dump((string)$typeResolver->resolve('string', $context)); - -// Property named: \phpDocumentor\Reflection\Types\Resolver::$keyWords -var_dump((string)$fqsenResolver->resolve('Types\Resolver::$keyWords', $context)); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/Classy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/Classy.php deleted file mode 100644 index 0705266f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/examples/Classy.php +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - 40 - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/phpunit.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/phpunit.xml.dist deleted file mode 100644 index 3246bef4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/phpunit.xml.dist +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - ./tests/unit - - - - - ./src/ - - - ./examples/ - ./vendor/ - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/FqsenResolver.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/FqsenResolver.php deleted file mode 100644 index a0e0041c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/FqsenResolver.php +++ /dev/null @@ -1,76 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\Types\Context; - -class FqsenResolver -{ - /** @var string Definition of the NAMESPACE operator in PHP */ - const OPERATOR_NAMESPACE = '\\'; - - public function resolve($fqsen, Context $context = null) - { - if ($context === null) { - $context = new Context(''); - } - - if ($this->isFqsen($fqsen)) { - return new Fqsen($fqsen); - } - - return $this->resolvePartialStructuralElementName($fqsen, $context); - } - - /** - * Tests whether the given type is a Fully Qualified Structural Element Name. - * - * @param string $type - * - * @return bool - */ - private function isFqsen($type) - { - return strpos($type, self::OPERATOR_NAMESPACE) === 0; - } - - /** - * Resolves a partial Structural Element Name (i.e. `Reflection\DocBlock`) to its FQSEN representation - * (i.e. `\phpDocumentor\Reflection\DocBlock`) based on the Namespace and aliases mentioned in the Context. - * - * @param string $type - * @param Context $context - * - * @return Fqsen - */ - private function resolvePartialStructuralElementName($type, Context $context) - { - $typeParts = explode(self::OPERATOR_NAMESPACE, $type, 2); - - $namespaceAliases = $context->getNamespaceAliases(); - - // if the first segment is not an alias; prepend namespace name and return - if (!isset($namespaceAliases[$typeParts[0]])) { - $namespace = $context->getNamespace(); - if ('' !== $namespace) { - $namespace .= self::OPERATOR_NAMESPACE; - } - - return new Fqsen(self::OPERATOR_NAMESPACE . $namespace . $type); - } - - $typeParts[0] = $namespaceAliases[$typeParts[0]]; - - return new Fqsen(self::OPERATOR_NAMESPACE . implode(self::OPERATOR_NAMESPACE, $typeParts)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Type.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Type.php deleted file mode 100644 index 33ca5595..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Type.php +++ /dev/null @@ -1,18 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -interface Type -{ - public function __toString(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/TypeResolver.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/TypeResolver.php deleted file mode 100644 index 3a68a4d3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/TypeResolver.php +++ /dev/null @@ -1,266 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use phpDocumentor\Reflection\Types\Array_; -use phpDocumentor\Reflection\Types\Compound; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\Object_; - -final class TypeResolver -{ - /** @var string Definition of the ARRAY operator for types */ - const OPERATOR_ARRAY = '[]'; - - /** @var string Definition of the NAMESPACE operator in PHP */ - const OPERATOR_NAMESPACE = '\\'; - - /** @var string[] List of recognized keywords and unto which Value Object they map */ - private $keywords = array( - 'string' => 'phpDocumentor\Reflection\Types\String_', - 'int' => 'phpDocumentor\Reflection\Types\Integer', - 'integer' => 'phpDocumentor\Reflection\Types\Integer', - 'bool' => 'phpDocumentor\Reflection\Types\Boolean', - 'boolean' => 'phpDocumentor\Reflection\Types\Boolean', - 'float' => 'phpDocumentor\Reflection\Types\Float_', - 'double' => 'phpDocumentor\Reflection\Types\Float_', - 'object' => 'phpDocumentor\Reflection\Types\Object_', - 'mixed' => 'phpDocumentor\Reflection\Types\Mixed', - 'array' => 'phpDocumentor\Reflection\Types\Array_', - 'resource' => 'phpDocumentor\Reflection\Types\Resource', - 'void' => 'phpDocumentor\Reflection\Types\Void_', - 'null' => 'phpDocumentor\Reflection\Types\Null_', - 'scalar' => 'phpDocumentor\Reflection\Types\Scalar', - 'callback' => 'phpDocumentor\Reflection\Types\Callable_', - 'callable' => 'phpDocumentor\Reflection\Types\Callable_', - 'false' => 'phpDocumentor\Reflection\Types\Boolean', - 'true' => 'phpDocumentor\Reflection\Types\Boolean', - 'self' => 'phpDocumentor\Reflection\Types\Self_', - '$this' => 'phpDocumentor\Reflection\Types\This', - 'static' => 'phpDocumentor\Reflection\Types\Static_' - ); - - /** @var FqsenResolver */ - private $fqsenResolver; - - /** - * Initializes this TypeResolver with the means to create and resolve Fqsen objects. - * - * @param FqsenResolver $fqsenResolver - */ - public function __construct(FqsenResolver $fqsenResolver = null) - { - $this->fqsenResolver = $fqsenResolver ?: new FqsenResolver(); - } - - /** - * Analyzes the given type and returns the FQCN variant. - * - * When a type is provided this method checks whether it is not a keyword or - * Fully Qualified Class Name. If so it will use the given namespace and - * aliases to expand the type to a FQCN representation. - * - * This method only works as expected if the namespace and aliases are set; - * no dynamic reflection is being performed here. - * - * @param string $type The relative or absolute type. - * @param Context $context - * - * @uses Context::getNamespace() to determine with what to prefix the type name. - * @uses Context::getNamespaceAliases() to check whether the first part of the relative type name should not be - * replaced with another namespace. - * - * @return Type|null - */ - public function resolve($type, Context $context = null) - { - if (!is_string($type)) { - throw new \InvalidArgumentException( - 'Attempted to resolve type but it appeared not to be a string, received: ' . var_export($type, true) - ); - } - - $type = trim($type); - if (!$type) { - throw new \InvalidArgumentException('Attempted to resolve "' . $type . '" but it appears to be empty'); - } - - if ($context === null) { - $context = new Context(''); - } - - switch (true) { - case $this->isKeyword($type): - return $this->resolveKeyword($type); - case ($this->isCompoundType($type)): - return $this->resolveCompoundType($type, $context); - case $this->isTypedArray($type): - return $this->resolveTypedArray($type, $context); - case $this->isFqsen($type): - return $this->resolveTypedObject($type); - case $this->isPartialStructuralElementName($type): - return $this->resolveTypedObject($type, $context); - // @codeCoverageIgnoreStart - default: - // I haven't got the foggiest how the logic would come here but added this as a defense. - throw new \RuntimeException( - 'Unable to resolve type "' . $type . '", there is no known method to resolve it' - ); - } - // @codeCoverageIgnoreEnd - } - - /** - * Adds a keyword to the list of Keywords and associates it with a specific Value Object. - * - * @param string $keyword - * @param string $typeClassName - * - * @return void - */ - public function addKeyword($keyword, $typeClassName) - { - if (!class_exists($typeClassName)) { - throw new \InvalidArgumentException( - 'The Value Object that needs to be created with a keyword "' . $keyword . '" must be an existing class' - . ' but we could not find the class ' . $typeClassName - ); - } - - if (!in_array(Type::class, class_implements($typeClassName))) { - throw new \InvalidArgumentException( - 'The class "' . $typeClassName . '" must implement the interface "phpDocumentor\Reflection\Type"' - ); - } - - $this->keywords[$keyword] = $typeClassName; - } - - /** - * Detects whether the given type represents an array. - * - * @param string $type A relative or absolute type as defined in the phpDocumentor documentation. - * - * @return bool - */ - private function isTypedArray($type) - { - return substr($type, -2) === self::OPERATOR_ARRAY; - } - - /** - * Detects whether the given type represents a PHPDoc keyword. - * - * @param string $type A relative or absolute type as defined in the phpDocumentor documentation. - * - * @return bool - */ - private function isKeyword($type) - { - return in_array(strtolower($type), array_keys($this->keywords), true); - } - - /** - * Detects whether the given type represents a relative structural element name. - * - * @param string $type A relative or absolute type as defined in the phpDocumentor documentation. - * - * @return bool - */ - private function isPartialStructuralElementName($type) - { - return ($type[0] !== self::OPERATOR_NAMESPACE) && !$this->isKeyword($type); - } - - /** - * Tests whether the given type is a Fully Qualified Structural Element Name. - * - * @param string $type - * - * @return bool - */ - private function isFqsen($type) - { - return strpos($type, self::OPERATOR_NAMESPACE) === 0; - } - - /** - * Tests whether the given type is a compound type (i.e. `string|int`). - * - * @param string $type - * - * @return bool - */ - private function isCompoundType($type) - { - return strpos($type, '|') !== false; - } - - /** - * Resolves the given typed array string (i.e. `string[]`) into an Array object with the right types set. - * - * @param string $type - * @param Context $context - * - * @return Array_ - */ - private function resolveTypedArray($type, Context $context) - { - return new Array_($this->resolve(substr($type, 0, -2), $context)); - } - - /** - * Resolves the given keyword (such as `string`) into a Type object representing that keyword. - * - * @param string $type - * - * @return Type - */ - private function resolveKeyword($type) - { - $className = $this->keywords[strtolower($type)]; - - return new $className(); - } - - /** - * Resolves the given FQSEN string into an FQSEN object. - * - * @param string $type - * - * @return Object_ - */ - private function resolveTypedObject($type, Context $context = null) - { - return new Object_($this->fqsenResolver->resolve($type, $context)); - } - - /** - * Resolves a compound type (i.e. `string|int`) into the appropriate Type objects or FQSEN. - * - * @param string $type - * @param Context $context - * - * @return Compound - */ - private function resolveCompoundType($type, Context $context) - { - $types = []; - - foreach (explode('|', $type) as $part) { - $types[] = $this->resolve($part, $context); - } - - return new Compound($types); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Array_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Array_.php deleted file mode 100644 index 45276c6b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Array_.php +++ /dev/null @@ -1,87 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\Type; - -/** - * Represents an array type as described in the PSR-5, the PHPDoc Standard. - * - * An array can be represented in two forms: - * - * 1. Untyped (`array`), where the key and value type is unknown and hence classified as 'Mixed'. - * 2. Types (`string[]`), where the value type is provided by preceding an opening and closing square bracket with a - * type name. - */ -final class Array_ implements Type -{ - /** @var Type */ - private $valueType; - - /** @var Type */ - private $keyType; - - /** - * Initializes this representation of an array with the given Type or Fqsen. - * - * @param Type $valueType - * @param Type $keyType - */ - public function __construct(Type $valueType = null, Type $keyType = null) - { - if ($keyType === null) { - $keyType = new Compound([ new String_(), new Integer() ]); - } - if ($valueType === null) { - $valueType = new Mixed(); - } - - $this->valueType = $valueType; - $this->keyType = $keyType; - } - - /** - * Returns the type for the keys of this array. - * - * @return Type - */ - public function getKeyType() - { - return $this->keyType; - } - - /** - * Returns the value for the keys of this array. - * - * @return Type - */ - public function getValueType() - { - return $this->valueType; - } - - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - if ($this->valueType instanceof Mixed) { - return 'array'; - } - - return $this->valueType . '[]'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Boolean.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Boolean.php deleted file mode 100644 index f82b19e5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Boolean.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing a Boolean type. - */ -final class Boolean implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'bool'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Callable_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Callable_.php deleted file mode 100644 index 68ebfbd0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Callable_.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing a Callable type. - */ -final class Callable_ implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'callable'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Compound.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Compound.php deleted file mode 100644 index 3e5ebb5c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Compound.php +++ /dev/null @@ -1,82 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing a Compound Type. - * - * A Compound Type is not so much a special keyword or object reference but is a series of Types that are separated - * using an OR operator (`|`). This combination of types signifies that whatever is associated with this compound type - * may contain a value with any of the given types. - */ -final class Compound implements Type -{ - /** @var Type[] */ - private $types = []; - - /** - * Initializes a compound type (i.e. `string|int`) and tests if the provided types all implement the Type interface. - * - * @param Type[] $types - */ - public function __construct(array $types) - { - foreach ($types as $type) { - if (!$type instanceof Type) { - throw new \InvalidArgumentException('A compound type can only have other types as elements'); - } - } - - $this->types = $types; - } - - /** - * Returns the type at the given index. - * - * @param integer $index - * - * @return Type|null - */ - public function get($index) - { - if (!$this->has($index)) { - return null; - } - - return $this->types[$index]; - } - - /** - * Tests if this compound type has a type with the given index. - * - * @param integer $index - * - * @return bool - */ - public function has($index) - { - return isset($this->types[$index]); - } - - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return implode('|', $this->types); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Context.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Context.php deleted file mode 100644 index cc953423..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Context.php +++ /dev/null @@ -1,84 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -/** - * Provides information about the Context in which the DocBlock occurs that receives this context. - * - * A DocBlock does not know of its own accord in which namespace it occurs and which namespace aliases are applicable - * for the block of code in which it is in. This information is however necessary to resolve Class names in tags since - * you can provide a short form or make use of namespace aliases. - * - * The phpDocumentor Reflection component knows how to create this class but if you use the DocBlock parser from your - * own application it is possible to generate a Context class using the ContextFactory; this will analyze the file in - * which an associated class resides for its namespace and imports. - * - * @see ContextFactory::createFromClassReflector() - * @see ContextFactory::createForNamespace() - */ -final class Context -{ - /** @var string The current namespace. */ - private $namespace = ''; - - /** @var array List of namespace aliases => Fully Qualified Namespace. */ - private $namespaceAliases = []; - - /** - * Initializes the new context and normalizes all passed namespaces to be in Qualified Namespace Name (QNN) - * format (without a preceding `\`). - * - * @param string $namespace The namespace where this DocBlock resides in. - * @param array $namespaceAliases List of namespace aliases => Fully Qualified Namespace. - */ - public function __construct($namespace, array $namespaceAliases = []) - { - $this->namespace = ('global' !== $namespace && 'default' !== $namespace) - ? trim((string)$namespace, '\\') - : ''; - - foreach ($namespaceAliases as $alias => $fqnn) { - if ($fqnn[0] === '\\') { - $fqnn = substr($fqnn, 1); - } - if ($fqnn[strlen($fqnn) - 1] === '\\') { - $fqnn = substr($fqnn, 0, -1); - } - - $namespaceAliases[$alias] = $fqnn; - } - - $this->namespaceAliases = $namespaceAliases; - } - - /** - * Returns the Qualified Namespace Name (thus without `\` in front) where the associated element is in. - * - * @return string - */ - public function getNamespace() - { - return $this->namespace; - } - - /** - * Returns a list of Qualified Namespace Names (thus without `\` in front) that are imported, the keys represent - * the alias for the imported Namespace. - * - * @return string[] - */ - public function getNamespaceAliases() - { - return $this->namespaceAliases; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/ContextFactory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/ContextFactory.php deleted file mode 100644 index 147df694..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/ContextFactory.php +++ /dev/null @@ -1,210 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -/** - * Convenience class to create a Context for DocBlocks when not using the Reflection Component of phpDocumentor. - * - * For a DocBlock to be able to resolve types that use partial namespace names or rely on namespace imports we need to - * provide a bit of context so that the DocBlock can read that and based on it decide how to resolve the types to - * Fully Qualified names. - * - * @see Context for more information. - */ -final class ContextFactory -{ - /** The literal used at the end of a use statement. */ - const T_LITERAL_END_OF_USE = ';'; - - /** The literal used between sets of use statements */ - const T_LITERAL_USE_SEPARATOR = ','; - - /** - * Build a Context given a Class Reflection. - * - * @param \ReflectionClass $reflector - * - * @see Context for more information on Contexts. - * - * @return Context - */ - public function createFromReflector(\Reflector $reflector) - { - if (method_exists($reflector, 'getDeclaringClass')) { - $reflector = $reflector->getDeclaringClass(); - } - - $fileName = $reflector->getFileName(); - $namespace = $reflector->getNamespaceName(); - - if (file_exists($fileName)) { - return $this->createForNamespace($namespace, file_get_contents($fileName)); - } - - return new Context($namespace, []); - } - - /** - * Build a Context for a namespace in the provided file contents. - * - * @param string $namespace It does not matter if a `\` precedes the namespace name, this method first normalizes. - * @param string $fileContents the file's contents to retrieve the aliases from with the given namespace. - * - * @see Context for more information on Contexts. - * - * @return Context - */ - public function createForNamespace($namespace, $fileContents) - { - $namespace = trim($namespace, '\\'); - $useStatements = []; - $currentNamespace = ''; - $tokens = new \ArrayIterator(token_get_all($fileContents)); - - while ($tokens->valid()) { - switch ($tokens->current()[0]) { - case T_NAMESPACE: - $currentNamespace = $this->parseNamespace($tokens); - break; - case T_CLASS: - // Fast-forward the iterator through the class so that any - // T_USE tokens found within are skipped - these are not - // valid namespace use statements so should be ignored. - $braceLevel = 0; - $firstBraceFound = false; - while ($tokens->valid() && ($braceLevel > 0 || !$firstBraceFound)) { - if ($tokens->current() === '{' - || $tokens->current()[0] === T_CURLY_OPEN - || $tokens->current()[0] === T_DOLLAR_OPEN_CURLY_BRACES) { - if (!$firstBraceFound) { - $firstBraceFound = true; - } - $braceLevel++; - } - - if ($tokens->current() === '}') { - $braceLevel--; - } - $tokens->next(); - } - break; - case T_USE: - if ($currentNamespace === $namespace) { - $useStatements = array_merge($useStatements, $this->parseUseStatement($tokens)); - } - break; - } - $tokens->next(); - } - - return new Context($namespace, $useStatements); - } - - /** - * Deduce the name from tokens when we are at the T_NAMESPACE token. - * - * @param \ArrayIterator $tokens - * - * @return string - */ - private function parseNamespace(\ArrayIterator $tokens) - { - // skip to the first string or namespace separator - $this->skipToNextStringOrNamespaceSeparator($tokens); - - $name = ''; - while ($tokens->valid() && ($tokens->current()[0] === T_STRING || $tokens->current()[0] === T_NS_SEPARATOR) - ) { - $name .= $tokens->current()[1]; - $tokens->next(); - } - - return $name; - } - - /** - * Deduce the names of all imports when we are at the T_USE token. - * - * @param \ArrayIterator $tokens - * - * @return string[] - */ - private function parseUseStatement(\ArrayIterator $tokens) - { - $uses = []; - $continue = true; - - while ($continue) { - $this->skipToNextStringOrNamespaceSeparator($tokens); - - list($alias, $fqnn) = $this->extractUseStatement($tokens); - $uses[$alias] = $fqnn; - if ($tokens->current()[0] === self::T_LITERAL_END_OF_USE) { - $continue = false; - } - } - - return $uses; - } - - /** - * Fast-forwards the iterator as longs as we don't encounter a T_STRING or T_NS_SEPARATOR token. - * - * @param \ArrayIterator $tokens - * - * @return void - */ - private function skipToNextStringOrNamespaceSeparator(\ArrayIterator $tokens) - { - while ($tokens->valid() && ($tokens->current()[0] !== T_STRING) && ($tokens->current()[0] !== T_NS_SEPARATOR)) { - $tokens->next(); - } - } - - /** - * Deduce the namespace name and alias of an import when we are at the T_USE token or have not reached the end of - * a USE statement yet. - * - * @param \ArrayIterator $tokens - * - * @return string - */ - private function extractUseStatement(\ArrayIterator $tokens) - { - $result = ['']; - while ($tokens->valid() - && ($tokens->current()[0] !== self::T_LITERAL_USE_SEPARATOR) - && ($tokens->current()[0] !== self::T_LITERAL_END_OF_USE) - ) { - if ($tokens->current()[0] === T_AS) { - $result[] = ''; - } - if ($tokens->current()[0] === T_STRING || $tokens->current()[0] === T_NS_SEPARATOR) { - $result[count($result) - 1] .= $tokens->current()[1]; - } - $tokens->next(); - } - - if (count($result) == 1) { - $backslashPos = strrpos($result[0], '\\'); - - if (false !== $backslashPos) { - $result[] = substr($result[0], $backslashPos + 1); - } else { - $result[] = $result[0]; - } - } - - return array_reverse($result); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Float_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Float_.php deleted file mode 100644 index e58d8966..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Float_.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing a Float. - */ -final class Float_ implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'float'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Integer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Integer.php deleted file mode 100644 index be4555ef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Integer.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -final class Integer implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'int'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Mixed.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Mixed.php deleted file mode 100644 index 79695f45..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Mixed.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing an unknown, or mixed, type. - */ -final class Mixed implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'mixed'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Null_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Null_.php deleted file mode 100644 index 203b4227..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Null_.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing a null value or type. - */ -final class Null_ implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'null'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Object_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Object_.php deleted file mode 100644 index b337c715..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Object_.php +++ /dev/null @@ -1,70 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Fqsen; -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing an object. - * - * An object can be either typed or untyped. When an object is typed it means that it has an identifier, the FQSEN, - * pointing to an element in PHP. Object types that are untyped do not refer to a specific class but represent objects - * in general. - */ -final class Object_ implements Type -{ - /** @var Fqsen|null */ - private $fqsen; - - /** - * Initializes this object with an optional FQSEN, if not provided this object is considered 'untyped'. - * - * @param Fqsen $fqsen - */ - public function __construct(Fqsen $fqsen = null) - { - if (strpos((string)$fqsen, '::') !== false || strpos((string)$fqsen, '()') !== false) { - throw new \InvalidArgumentException( - 'Object types can only refer to a class, interface or trait but a method, function, constant or ' - . 'property was received: ' . (string)$fqsen - ); - } - - $this->fqsen = $fqsen; - } - - /** - * Returns the FQSEN associated with this object. - * - * @return Fqsen|null - */ - public function getFqsen() - { - return $this->fqsen; - } - - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - if ($this->fqsen) { - return (string)$this->fqsen; - } - - return 'object'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Resource.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Resource.php deleted file mode 100644 index 2c2526b7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Resource.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing the 'resource' Type. - */ -final class Resource implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'resource'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Scalar.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Scalar.php deleted file mode 100644 index 1e2a6602..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Scalar.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing the 'scalar' pseudo-type, which is either a string, integer, float or boolean. - */ -final class Scalar implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'scalar'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Self_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Self_.php deleted file mode 100644 index 1ba3fc5a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Self_.php +++ /dev/null @@ -1,33 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing the 'self' type. - * - * Self, as a Type, represents the class in which the associated element was defined. - */ -final class Self_ implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'self'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Static_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Static_.php deleted file mode 100644 index 9eb67299..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Static_.php +++ /dev/null @@ -1,38 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing the 'static' type. - * - * Self, as a Type, represents the class in which the associated element was called. This differs from self as self does - * not take inheritance into account but static means that the return type is always that of the class of the called - * element. - * - * See the documentation on late static binding in the PHP Documentation for more information on the difference between - * static and self. - */ -final class Static_ implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'static'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/String_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/String_.php deleted file mode 100644 index 8db59685..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/String_.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing the type 'string'. - */ -final class String_ implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'string'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/This.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/This.php deleted file mode 100644 index c098a939..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/This.php +++ /dev/null @@ -1,34 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing the '$this' pseudo-type. - * - * $this, as a Type, represents the instance of the class associated with the element as it was called. $this is - * commonly used when documenting fluent interfaces since it represents that the same object is returned. - */ -final class This implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return '$this'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Void_.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Void_.php deleted file mode 100644 index 3d1be272..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/src/Types/Void_.php +++ /dev/null @@ -1,34 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use phpDocumentor\Reflection\Type; - -/** - * Value Object representing the pseudo-type 'void'. - * - * Void is generally only used when working with return types as it signifies that the method intentionally does not - * return any value. - */ -final class Void_ implements Type -{ - /** - * Returns a rendered output of the Type as it would be used in a DocBlock. - * - * @return string - */ - public function __toString() - { - return 'void'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/TypeResolverTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/TypeResolverTest.php deleted file mode 100644 index f226f8ed..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/TypeResolverTest.php +++ /dev/null @@ -1,395 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection; - -use Mockery as m; -use phpDocumentor\Reflection\Types\Array_; -use phpDocumentor\Reflection\Types\Compound; -use phpDocumentor\Reflection\Types\Context; -use phpDocumentor\Reflection\Types\Object_; - -/** - * @coversDefaultClass phpDocumentor\Reflection\TypeResolver - */ -class TypeResolverTest extends \PHPUnit_Framework_TestCase -{ - /** - * @param string $keyword - * @param string $expectedClass - * - * @covers ::__construct - * @covers ::resolve - * @covers :: - * - * @uses phpDocumentor\Reflection\Types\Context - * @uses phpDocumentor\Reflection\Types\Array_ - * @uses phpDocumentor\Reflection\Types\Object_ - * - * @dataProvider provideKeywords - */ - public function testResolvingKeywords($keyword, $expectedClass) - { - $fixture = new TypeResolver(); - - $resolvedType = $fixture->resolve($keyword, new Context('')); - - $this->assertInstanceOf($expectedClass, $resolvedType); - } - - /** - * @param string $fqsen - * - * @covers ::__construct - * @covers ::resolve - * @covers :: - * - * @uses phpDocumentor\Reflection\Types\Context - * @uses phpDocumentor\Reflection\Types\Object_ - * @uses phpDocumentor\Reflection\Fqsen - * @uses phpDocumentor\Reflection\FqsenResolver - * - * @dataProvider provideFqcn - */ - public function testResolvingFQSENs($fqsen) - { - $fixture = new TypeResolver(); - - /** @var Object_ $resolvedType */ - $resolvedType = $fixture->resolve($fqsen, new Context('')); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Object_', $resolvedType); - $this->assertInstanceOf('phpDocumentor\Reflection\Fqsen', $resolvedType->getFqsen()); - $this->assertSame($fqsen, (string)$resolvedType); - } - - /** - * @covers ::__construct - * @covers ::resolve - * @covers :: - * - * @uses phpDocumentor\Reflection\Types\Context - * @uses phpDocumentor\Reflection\Types\Object_ - * @uses phpDocumentor\Reflection\Fqsen - * @uses phpDocumentor\Reflection\FqsenResolver - */ - public function testResolvingRelativeQSENsBasedOnNamespace() - { - $fixture = new TypeResolver(); - - /** @var Object_ $resolvedType */ - $resolvedType = $fixture->resolve('DocBlock', new Context('phpDocumentor\Reflection')); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Object_', $resolvedType); - $this->assertInstanceOf('phpDocumentor\Reflection\Fqsen', $resolvedType->getFqsen()); - $this->assertSame('\phpDocumentor\Reflection\DocBlock', (string)$resolvedType); - } - - /** - * @covers ::__construct - * @covers ::resolve - * @covers :: - * - * @uses phpDocumentor\Reflection\Types\Context - * @uses phpDocumentor\Reflection\Types\Object_ - * @uses phpDocumentor\Reflection\Fqsen - * @uses phpDocumentor\Reflection\FqsenResolver - */ - public function testResolvingRelativeQSENsBasedOnNamespaceAlias() - { - $fixture = new TypeResolver(); - - /** @var Object_ $resolvedType */ - $resolvedType = $fixture->resolve( - 'm\MockInterface', - new Context('phpDocumentor\Reflection', ['m' => '\Mockery']) - ); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Object_', $resolvedType); - $this->assertInstanceOf('phpDocumentor\Reflection\Fqsen', $resolvedType->getFqsen()); - $this->assertSame('\Mockery\MockInterface', (string)$resolvedType); - } - - /** - * @covers ::__construct - * @covers ::resolve - * @covers :: - * - * @uses phpDocumentor\Reflection\Types\Context - * @uses phpDocumentor\Reflection\Types\Array_ - * @uses phpDocumentor\Reflection\Types\String_ - */ - public function testResolvingTypedArrays() - { - $fixture = new TypeResolver(); - - /** @var Array_ $resolvedType */ - $resolvedType = $fixture->resolve('string[]', new Context('')); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Array_', $resolvedType); - $this->assertSame('string[]', (string)$resolvedType); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Compound', $resolvedType->getKeyType()); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\String_', $resolvedType->getValueType()); - } - - /** - * @covers ::__construct - * @covers ::resolve - * @covers :: - * - * @uses phpDocumentor\Reflection\Types\Context - * @uses phpDocumentor\Reflection\Types\Array_ - * @uses phpDocumentor\Reflection\Types\String_ - */ - public function testResolvingNestedTypedArrays() - { - $fixture = new TypeResolver(); - - /** @var Array_ $resolvedType */ - $resolvedType = $fixture->resolve('string[][]', new Context('')); - - /** @var Array_ $childValueType */ - $childValueType = $resolvedType->getValueType(); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Array_', $resolvedType); - - $this->assertSame('string[][]', (string)$resolvedType); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Compound', $resolvedType->getKeyType()); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Array_', $childValueType); - - $this->assertSame('string[]', (string)$childValueType); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Compound', $childValueType->getKeyType()); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\String_', $childValueType->getValueType()); - } - - /** - * @covers ::__construct - * @covers ::resolve - * @covers :: - * - * @uses phpDocumentor\Reflection\Types\Context - * @uses phpDocumentor\Reflection\Types\Compound - * @uses phpDocumentor\Reflection\Types\String_ - * @uses phpDocumentor\Reflection\Types\Object_ - * @uses phpDocumentor\Reflection\Fqsen - * @uses phpDocumentor\Reflection\FqsenResolver - */ - public function testResolvingCompoundTypes() - { - $fixture = new TypeResolver(); - - /** @var Compound $resolvedType */ - $resolvedType = $fixture->resolve('string|Reflection\DocBlock', new Context('phpDocumentor')); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Compound', $resolvedType); - $this->assertSame('string|\phpDocumentor\Reflection\DocBlock', (string)$resolvedType); - - /** @var String $secondType */ - $firstType = $resolvedType->get(0); - - /** @var Object_ $secondType */ - $secondType = $resolvedType->get(1); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\String_', $firstType); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Object_', $secondType); - $this->assertInstanceOf('phpDocumentor\Reflection\Fqsen', $secondType->getFqsen()); - } - - /** - * @covers ::__construct - * @covers ::resolve - * @covers :: - * - * @uses phpDocumentor\Reflection\Types\Context - * @uses phpDocumentor\Reflection\Types\Compound - * @uses phpDocumentor\Reflection\Types\Array_ - * @uses phpDocumentor\Reflection\Types\Object_ - * @uses phpDocumentor\Reflection\Fqsen - * @uses phpDocumentor\Reflection\FqsenResolver - */ - public function testResolvingCompoundTypedArrayTypes() - { - $fixture = new TypeResolver(); - - /** @var Compound $resolvedType */ - $resolvedType = $fixture->resolve('\stdClass[]|Reflection\DocBlock[]', new Context('phpDocumentor')); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Compound', $resolvedType); - $this->assertSame('\stdClass[]|\phpDocumentor\Reflection\DocBlock[]', (string)$resolvedType); - - /** @var Array_ $secondType */ - $firstType = $resolvedType->get(0); - - /** @var Array_ $secondType */ - $secondType = $resolvedType->get(1); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Array_', $firstType); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Array_', $secondType); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Object_', $firstType->getValueType()); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Object_', $secondType->getValueType()); - } - - /** - * This test asserts that the parameter order is correct. - * - * When you pass two arrays separated by the compound operator (i.e. 'integer[]|string[]') then we always split the - * expression in its compound parts and then we parse the types with the array operators. If we were to switch the - * order around then 'integer[]|string[]' would read as an array of string or integer array; which is something - * other than what we intend. - * - * @covers ::__construct - * @covers ::resolve - * @covers :: - * - * @uses phpDocumentor\Reflection\Types\Context - * @uses phpDocumentor\Reflection\Types\Compound - * @uses phpDocumentor\Reflection\Types\Array_ - * @uses phpDocumentor\Reflection\Types\Integer - * @uses phpDocumentor\Reflection\Types\String_ - */ - public function testResolvingCompoundTypesWithTwoArrays() - { - $fixture = new TypeResolver(); - - /** @var Compound $resolvedType */ - $resolvedType = $fixture->resolve('integer[]|string[]', new Context('')); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Compound', $resolvedType); - $this->assertSame('int[]|string[]', (string)$resolvedType); - - /** @var Array_ $firstType */ - $firstType = $resolvedType->get(0); - - /** @var Array_ $secondType */ - $secondType = $resolvedType->get(1); - - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Array_', $firstType); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Integer', $firstType->getValueType()); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\Array_', $secondType); - $this->assertInstanceOf('phpDocumentor\Reflection\Types\String_', $secondType->getValueType()); - } - - /** - * @covers ::__construct - * @covers ::addKeyword - * @uses phpDocumentor\Reflection\TypeResolver::resolve - * @uses phpDocumentor\Reflection\TypeResolver:: - * @uses phpDocumentor\Reflection\Types\Context - */ - public function testAddingAKeyword() - { - // Assign - $typeMock = m::mock(Type::class); - - // Act - $fixture = new TypeResolver(); - $fixture->addKeyword('mock', get_class($typeMock)); - - // Assert - $result = $fixture->resolve('mock', new Context('')); - $this->assertInstanceOf(get_class($typeMock), $result); - $this->assertNotSame($typeMock, $result); - } - - /** - * @covers ::__construct - * @covers ::addKeyword - * @uses phpDocumentor\Reflection\Types\Context - * @expectedException \InvalidArgumentException - */ - public function testAddingAKeywordFailsIfTypeClassDoesNotExist() - { - $fixture = new TypeResolver(); - $fixture->addKeyword('mock', 'IDoNotExist'); - } - - /** - * @covers ::__construct - * @covers ::addKeyword - * @uses phpDocumentor\Reflection\Types\Context - * @expectedException \InvalidArgumentException - */ - public function testAddingAKeywordFailsIfTypeClassDoesNotImplementTypeInterface() - { - $fixture = new TypeResolver(); - $fixture->addKeyword('mock', 'stdClass'); - } - - /** - * @covers ::__construct - * @covers ::resolve - * @uses phpDocumentor\Reflection\Types\Context - * - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfTypeIsEmpty() - { - $fixture = new TypeResolver(); - $fixture->resolve(' ', new Context('')); - } - - /** - * @covers ::__construct - * @covers ::resolve - * @uses phpDocumentor\Reflection\Types\Context - * - * @expectedException \InvalidArgumentException - */ - public function testExceptionIsThrownIfTypeIsNotAString() - { - $fixture = new TypeResolver(); - $fixture->resolve(['a'], new Context('')); - } - - /** - * Returns a list of keywords and expected classes that are created from them. - * - * @return string[][] - */ - public function provideKeywords() - { - return [ - ['string', 'phpDocumentor\Reflection\Types\String_'], - ['int', 'phpDocumentor\Reflection\Types\Integer'], - ['integer', 'phpDocumentor\Reflection\Types\Integer'], - ['float', 'phpDocumentor\Reflection\Types\Float_'], - ['double', 'phpDocumentor\Reflection\Types\Float_'], - ['bool', 'phpDocumentor\Reflection\Types\Boolean'], - ['boolean', 'phpDocumentor\Reflection\Types\Boolean'], - ['resource', 'phpDocumentor\Reflection\Types\Resource'], - ['null', 'phpDocumentor\Reflection\Types\Null_'], - ['callable', 'phpDocumentor\Reflection\Types\Callable_'], - ['callback', 'phpDocumentor\Reflection\Types\Callable_'], - ['array', 'phpDocumentor\Reflection\Types\Array_'], - ['scalar', 'phpDocumentor\Reflection\Types\Scalar'], - ['object', 'phpDocumentor\Reflection\Types\Object_'], - ['mixed', 'phpDocumentor\Reflection\Types\Mixed'], - ['void', 'phpDocumentor\Reflection\Types\Void_'], - ['$this', 'phpDocumentor\Reflection\Types\This'], - ['static', 'phpDocumentor\Reflection\Types\Static_'], - ['self', 'phpDocumentor\Reflection\Types\Self_'], - ]; - } - - /** - * Provides a list of FQSENs to test the resolution patterns with. - * - * @return string[][] - */ - public function provideFqcn() - { - return [ - 'namespace' => ['\phpDocumentor\Reflection'], - 'class' => ['\phpDocumentor\Reflection\DocBlock'], - ]; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/Types/ContextFactoryTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/Types/ContextFactoryTest.php deleted file mode 100644 index 20d63c95..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/Types/ContextFactoryTest.php +++ /dev/null @@ -1,188 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types { - -// Added imports on purpose as mock for the unit tests, please do not remove. - use Mockery as m; - use phpDocumentor\Reflection\DocBlock, - phpDocumentor\Reflection\DocBlock\Tag; - use phpDocumentor; - use \ReflectionClass; // yes, the slash is part of the test - - /** - * @coversDefaultClass \phpDocumentor\Reflection\Types\ContextFactory - * @covers :: - */ - class ContextFactoryTest extends \PHPUnit_Framework_TestCase - { - /** - * @covers ::createFromReflector - * @covers ::createForNamespace - * @uses phpDocumentor\Reflection\Types\Context - */ - public function testReadsNamespaceFromClassReflection() - { - $fixture = new ContextFactory(); - $context = $fixture->createFromReflector(new ReflectionClass($this)); - - $this->assertSame(__NAMESPACE__, $context->getNamespace()); - } - - /** - * @covers ::createFromReflector - * @covers ::createForNamespace - * @uses phpDocumentor\Reflection\Types\Context - */ - public function testReadsAliasesFromClassReflection() - { - $fixture = new ContextFactory(); - $expected = [ - 'm' => 'Mockery', - 'DocBlock' => 'phpDocumentor\Reflection\DocBlock', - 'Tag' => 'phpDocumentor\Reflection\DocBlock\Tag', - 'phpDocumentor' => 'phpDocumentor', - 'ReflectionClass' => 'ReflectionClass' - ]; - $context = $fixture->createFromReflector(new ReflectionClass($this)); - - $this->assertSame($expected, $context->getNamespaceAliases()); - } - - /** - * @covers ::createForNamespace - * @uses phpDocumentor\Reflection\Types\Context - */ - public function testReadsNamespaceFromProvidedNamespaceAndContent() - { - $fixture = new ContextFactory(); - $context = $fixture->createForNamespace(__NAMESPACE__, file_get_contents(__FILE__)); - - $this->assertSame(__NAMESPACE__, $context->getNamespace()); - } - - /** - * @covers ::createForNamespace - * @uses phpDocumentor\Reflection\Types\Context - */ - public function testReadsAliasesFromProvidedNamespaceAndContent() - { - $fixture = new ContextFactory(); - $expected = [ - 'm' => 'Mockery', - 'DocBlock' => 'phpDocumentor\Reflection\DocBlock', - 'Tag' => 'phpDocumentor\Reflection\DocBlock\Tag', - 'phpDocumentor' => 'phpDocumentor', - 'ReflectionClass' => 'ReflectionClass' - ]; - $context = $fixture->createForNamespace(__NAMESPACE__, file_get_contents(__FILE__)); - - $this->assertSame($expected, $context->getNamespaceAliases()); - } - - /** - * @covers ::createForNamespace - * @uses phpDocumentor\Reflection\Types\Context - */ - public function testTraitUseIsNotDetectedAsNamespaceUse() - { - $php = "createForNamespace('Foo', $php); - - $this->assertSame([], $context->getNamespaceAliases()); - } - - /** - * @covers ::createForNamespace - * @uses phpDocumentor\Reflection\Types\Context - */ - public function testAllOpeningBracesAreCheckedWhenSearchingForEndOfClass() - { - $php = 'createForNamespace('Foo', $php); - - $this->assertSame([], $context->getNamespaceAliases()); - } - - /** - * @covers ::createFromReflector - */ - public function testEmptyFileName() - { - $fixture = new ContextFactory(); - $context = $fixture->createFromReflector(new \ReflectionClass('stdClass')); - - $this->assertSame([], $context->getNamespaceAliases()); - } - - /** - * @covers ::createFromReflector - */ - public function testEvalDClass() - { - eval(<<createFromReflector(new \ReflectionClass('Foo\Bar')); - - $this->assertSame([], $context->getNamespaceAliases()); - } - } -} - -namespace phpDocumentor\Reflection\Types\Mock { - // the following import should not show in the tests above - use phpDocumentor\Reflection\DocBlock\Description; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/Types/ContextTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/Types/ContextTest.php deleted file mode 100644 index 165f415d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpdocumentor/type-resolver/tests/unit/Types/ContextTest.php +++ /dev/null @@ -1,61 +0,0 @@ - - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://phpdoc.org - */ - -namespace phpDocumentor\Reflection\Types; - -use Mockery as m; - -/** - * @coversDefaultClass \phpDocumentor\Reflection\Types\Context - */ -class ContextTest extends \PHPUnit_Framework_TestCase -{ - /** - * @covers ::__construct - * @covers ::getNamespace - */ - public function testProvidesANormalizedNamespace() - { - $fixture = new Context('\My\Space'); - $this->assertSame('My\Space', $fixture->getNamespace()); - } - - /** - * @covers ::__construct - * @covers ::getNamespace - */ - public function testInterpretsNamespaceNamedGlobalAsRootNamespace() - { - $fixture = new Context('global'); - $this->assertSame('', $fixture->getNamespace()); - } - - /** - * @covers ::__construct - * @covers ::getNamespace - */ - public function testInterpretsNamespaceNamedDefaultAsRootNamespace() - { - $fixture = new Context('default'); - $this->assertSame('', $fixture->getNamespace()); - } - - /** - * @covers ::__construct - * @covers ::getNamespaceAliases - */ - public function testProvidesNormalizedNamespaceAliases() - { - $fixture = new Context('', ['Space' => '\My\Space']); - $this->assertSame(['Space' => 'My\Space'], $fixture->getNamespaceAliases()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/LICENSE b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/LICENSE deleted file mode 100644 index 99fd5930..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2016, phpMyAdmin -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of phpmyadmin-coding-standard nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/ClassCommentSniff.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/ClassCommentSniff.php deleted file mode 100644 index c7478f6e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/ClassCommentSniff.php +++ /dev/null @@ -1,137 +0,0 @@ - - * @author Marc McIntyre - * @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600) - * @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence - * @link http://pear.php.net/package/PHP_CodeSniffer - */ - -/** - * Parses and verifies the doc comments for classes. - * - * @category PHP - * @package PHP_CodeSniffer - * @author Greg Sherwood - * @author Marc McIntyre - * @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600) - * @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence - * @version Release: 2.2.0 - * @link http://pear.php.net/package/PHP_CodeSniffer - */ -class PMAStandard_Sniffs_Commenting_ClassCommentSniff extends PMAStandard_Sniffs_Commenting_FileCommentSniff -{ - - - /** - * Returns an array of tokens this test wants to listen for. - * - * @return array - */ - public function register() - { - return array( - T_CLASS, - T_INTERFACE, - ); - - }//end register() - - - /** - * Processes this test, when one of its tokens is encountered. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param int $stackPtr The position of the current token - * in the stack passed in $tokens. - * - * @return void - */ - public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr) - { - $this->currentFile = $phpcsFile; - - $tokens = $phpcsFile->getTokens(); - $type = strtolower($tokens[$stackPtr]['content']); - $errorData = array($type); - - $find = PHP_CodeSniffer_Tokens::$methodPrefixes; - $find[] = T_WHITESPACE; - - $commentEnd = $phpcsFile->findPrevious($find, ($stackPtr - 1), null, true); - if ($tokens[$commentEnd]['code'] !== T_DOC_COMMENT_CLOSE_TAG - && $tokens[$commentEnd]['code'] !== T_COMMENT - ) { - $phpcsFile->addError('Missing class doc comment', $stackPtr, 'Missing'); - $phpcsFile->recordMetric($stackPtr, 'Class has doc comment', 'no'); - return; - } else { - $phpcsFile->recordMetric($stackPtr, 'Class has doc comment', 'yes'); - } - - // Try and determine if this is a file comment instead of a class comment. - // We assume that if this is the first comment after the open PHP tag, then - // it is most likely a file comment instead of a class comment. - if ($tokens[$commentEnd]['code'] === T_DOC_COMMENT_CLOSE_TAG) { - $start = ($tokens[$commentEnd]['comment_opener'] - 1); - } else { - $start = $phpcsFile->findPrevious(T_COMMENT, ($commentEnd - 1), null, true); - } - - $prev = $phpcsFile->findPrevious(T_WHITESPACE, $start, null, true); - if ($tokens[$prev]['code'] === T_OPEN_TAG) { - $prevOpen = $phpcsFile->findPrevious(T_OPEN_TAG, ($prev - 1)); - if ($prevOpen === false) { - // This is a comment directly after the first open tag, - // so probably a file comment. - $phpcsFile->addError('Missing class doc comment', $stackPtr, 'Missing'); - return; - } - } - - if ($tokens[$commentEnd]['code'] === T_COMMENT) { - $phpcsFile->addError('You must use "/**" style comments for a class comment', $stackPtr, 'WrongStyle'); - return; - } - - // Check each tag. - $this->processTags($phpcsFile, $stackPtr, $tokens[$commentEnd]['comment_opener']); - - }//end process() - - - /** - * Process the version tag. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param array $tags The tokens for these tags. - * - * @return void - */ - protected function processVersion(PHP_CodeSniffer_File $phpcsFile, array $tags) - { - $tokens = $phpcsFile->getTokens(); - foreach ($tags as $tag) { - if ($tokens[($tag + 2)]['code'] !== T_DOC_COMMENT_STRING) { - // No content. - continue; - } - - $content = $tokens[($tag + 2)]['content']; - if ((strstr($content, 'Release:') === false)) { - $error = 'Invalid version "%s" in doc comment; consider "Release: " instead'; - $data = array($content); - $phpcsFile->addWarning($error, $tag, 'InvalidVersion', $data); - } - } - - }//end processVersion() - - -}//end class diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/FileCommentSniff.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/FileCommentSniff.php deleted file mode 100644 index 19872af4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/FileCommentSniff.php +++ /dev/null @@ -1,526 +0,0 @@ - - * @author Marc McIntyre - * @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600) - * @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence - * @link http://pear.php.net/package/PHP_CodeSniffer - */ - -/** - * Parses and verifies the doc comments for files. - * - * @category PHP - * @package PHP_CodeSniffer - * @author Greg Sherwood - * @author Marc McIntyre - * @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600) - * @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence - * @version Release: 2.2.0 - * @link http://pear.php.net/package/PHP_CodeSniffer - */ - -class PMAStandard_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSniffer_Sniff -{ - - /** - * Tags in correct order and related info. - * - * @var array - */ - protected $tags = array( - '@category' => array( - 'required' => false, - 'allow_multiple' => false, - ), - '@package' => array( - 'required' => true, - 'allow_multiple' => false, - ), - '@subpackage' => array( - 'required' => false, - 'allow_multiple' => false, - ), - '@author' => array( - 'required' => false, - 'allow_multiple' => true, - ), - '@copyright' => array( - 'required' => false, - 'allow_multiple' => true, - ), - '@license' => array( - 'required' => false, - 'allow_multiple' => false, - ), - '@version' => array( - 'required' => false, - 'allow_multiple' => false, - ), - '@link' => array( - 'required' => false, - 'allow_multiple' => true, - ), - '@see' => array( - 'required' => false, - 'allow_multiple' => true, - ), - '@since' => array( - 'required' => false, - 'allow_multiple' => false, - ), - '@deprecated' => array( - 'required' => false, - 'allow_multiple' => false, - ), - ); - - - /** - * Returns an array of tokens this test wants to listen for. - * - * @return array - */ - public function register() - { - return array(T_OPEN_TAG); - - }//end register() - - - /** - * Processes this test, when one of its tokens is encountered. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param int $stackPtr The position of the current token - * in the stack passed in $tokens. - * - * @return int - */ - public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr) - { - $tokens = $phpcsFile->getTokens(); - - // Find the next non whitespace token. - $commentStart = $phpcsFile->findNext(T_WHITESPACE, ($stackPtr + 1), null, true); - - // Allow declare() statements at the top of the file. - if ($tokens[$commentStart]['code'] === T_DECLARE) { - $semicolon = $phpcsFile->findNext(T_SEMICOLON, ($commentStart + 1)); - $commentStart = $phpcsFile->findNext(T_WHITESPACE, ($semicolon + 1), null, true); - } - - // Ignore vim header. - if ($tokens[$commentStart]['code'] === T_COMMENT) { - if (strstr($tokens[$commentStart]['content'], 'vim:') !== false) { - $commentStart = $phpcsFile->findNext( - T_WHITESPACE, - ($commentStart + 1), - null, - true - ); - } - } - - $errorToken = ($stackPtr + 1); - if (isset($tokens[$errorToken]) === false) { - $errorToken--; - } - - if ($tokens[$commentStart]['code'] === T_CLOSE_TAG) { - // We are only interested if this is the first open tag. - return ($phpcsFile->numTokens + 1); - } else if ($tokens[$commentStart]['code'] === T_COMMENT) { - $error = 'You must use "/**" style comments for a file comment'; - $phpcsFile->addError($error, $errorToken, 'WrongStyle'); - $phpcsFile->recordMetric($stackPtr, 'File has doc comment', 'yes'); - return ($phpcsFile->numTokens + 1); - } else if ($commentStart === false - || $tokens[$commentStart]['code'] !== T_DOC_COMMENT_OPEN_TAG - ) { - $phpcsFile->addError('Missing file doc comment', $errorToken, 'Missing'); - $phpcsFile->recordMetric($stackPtr, 'File has doc comment', 'no'); - return ($phpcsFile->numTokens + 1); - } else { - $phpcsFile->recordMetric($stackPtr, 'File has doc comment', 'yes'); - } - - // Check each tag. - $this->processTags($phpcsFile, $stackPtr, $commentStart); - - // Ignore the rest of the file. - return ($phpcsFile->numTokens + 1); - - }//end process() - - - /** - * Processes each required or optional tag. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param int $stackPtr The position of the current token - * in the stack passed in $tokens. - * @param int $commentStart Position in the stack where the comment started. - * - * @return void - */ - protected function processTags(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $commentStart) - { - $tokens = $phpcsFile->getTokens(); - - if (get_class($this) === 'PMAStandard_Sniffs_Commenting_FileCommentSniff') { - $docBlock = 'file'; - } else { - $docBlock = 'class'; - } - - $commentEnd = $tokens[$commentStart]['comment_closer']; - - $foundTags = array(); - $tagTokens = array(); - foreach ($tokens[$commentStart]['comment_tags'] as $tag) { - $name = $tokens[$tag]['content']; - if (isset($this->tags[$name]) === false) { - continue; - } - - if ($this->tags[$name]['allow_multiple'] === false && isset($tagTokens[$name]) === true) { - $error = 'Only one %s tag is allowed in a %s comment'; - $data = array( - $name, - $docBlock, - ); - $phpcsFile->addError($error, $tag, 'Duplicate'.ucfirst($name).'Tag', $data); - } - - $foundTags[] = $name; - $tagTokens[$name][] = $tag; - - $string = $phpcsFile->findNext(T_DOC_COMMENT_STRING, $tag, $commentEnd); - if ($string === false || $tokens[$string]['line'] !== $tokens[$tag]['line']) { - $error = 'Content missing for %s tag in %s comment'; - $data = array( - $name, - $docBlock, - ); - $phpcsFile->addError($error, $tag, 'Empty'.ucfirst($name).'Tag', $data); - continue; - } - }//end foreach - - // Check if the tags are in the correct position. - $pos = 0; - foreach ($this->tags as $tag => $tagData) { - if (isset($tagTokens[$tag]) === false) { - if ($tagData['required'] === true) { - $error = 'Missing %s tag in %s comment'; - $data = array( - $tag, - $docBlock, - ); - $phpcsFile->addError($error, $commentEnd, 'Missing'.ucfirst(substr($tag, 1)).'Tag', $data); - } - - continue; - } else { - $method = 'process'.substr($tag, 1); - if (method_exists($this, $method) === true) { - // Process each tag if a method is defined. - call_user_func(array($this, $method), $phpcsFile, $tagTokens[$tag]); - } - } - - if (isset($foundTags[$pos]) === false) { - break; - } - - if ($foundTags[$pos] !== $tag) { - $error = 'The tag in position %s should be the %s tag'; - $data = array( - ($pos + 1), - $tag, - ); - $phpcsFile->addError($error, $tokens[$commentStart]['comment_tags'][$pos], ucfirst($tag).'TagOrder', $data); - } - - // Account for multiple tags. - $pos++; - while (isset($foundTags[$pos]) === true && $foundTags[$pos] === $tag) { - $pos++; - } - }//end foreach - - }//end processTags() - - - /** - * Process the category tag. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param array $tags The tokens for these tags. - * - * @return void - */ - protected function processCategory(PHP_CodeSniffer_File $phpcsFile, array $tags) - { - $tokens = $phpcsFile->getTokens(); - foreach ($tags as $tag) { - if ($tokens[($tag + 2)]['code'] !== T_DOC_COMMENT_STRING) { - // No content. - continue; - } - - $content = $tokens[($tag + 2)]['content']; - if (PHP_CodeSniffer::isUnderscoreName($content) !== true) { - $newContent = str_replace(' ', '_', $content); - $nameBits = explode('_', $newContent); - $firstBit = array_shift($nameBits); - $newName = ucfirst($firstBit).'_'; - foreach ($nameBits as $bit) { - if ($bit !== '') { - $newName .= ucfirst($bit).'_'; - } - } - - $error = 'Category name "%s" is not valid; consider "%s" instead'; - $validName = trim($newName, '_'); - $data = array( - $content, - $validName, - ); - $phpcsFile->addError($error, $tag, 'InvalidCategory', $data); - } - }//end foreach - - }//end processCategory() - - - /** - * Process the package tag. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param array $tags The tokens for these tags. - * - * @return void - */ - protected function processPackage(PHP_CodeSniffer_File $phpcsFile, array $tags) - { - $tokens = $phpcsFile->getTokens(); - foreach ($tags as $tag) { - if ($tokens[($tag + 2)]['code'] !== T_DOC_COMMENT_STRING) { - // No content. - continue; - } - - $content = $tokens[($tag + 2)]['content']; - if (PHP_CodeSniffer::isUnderscoreName($content) === true) { - continue; - } - - $newContent = str_replace(' ', '_', $content); - $newContent = trim($newContent, '_'); - $newContent = preg_replace('/[^A-Za-z_]/', '', $newContent); - $nameBits = explode('_', $newContent); - $firstBit = array_shift($nameBits); - $newName = strtoupper($firstBit{0}).substr($firstBit, 1).'_'; - foreach ($nameBits as $bit) { - if ($bit !== '') { - $newName .= strtoupper($bit{0}).substr($bit, 1).'_'; - } - } - - $error = 'Package name "%s" is not valid; consider "%s" instead'; - $validName = trim($newName, '_'); - $data = array( - $content, - $validName, - ); - $phpcsFile->addError($error, $tag, 'InvalidPackage', $data); - }//end foreach - - }//end processPackage() - - - /** - * Process the subpackage tag. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param array $tags The tokens for these tags. - * - * @return void - */ - protected function processSubpackage(PHP_CodeSniffer_File $phpcsFile, array $tags) - { - $tokens = $phpcsFile->getTokens(); - foreach ($tags as $tag) { - if ($tokens[($tag + 2)]['code'] !== T_DOC_COMMENT_STRING) { - // No content. - continue; - } - - $content = $tokens[($tag + 2)]['content']; - if (PHP_CodeSniffer::isUnderscoreName($content) === true) { - continue; - } - - $newContent = str_replace(' ', '_', $content); - $nameBits = explode('_', $newContent); - $firstBit = array_shift($nameBits); - $newName = strtoupper($firstBit{0}).substr($firstBit, 1).'_'; - foreach ($nameBits as $bit) { - if ($bit !== '') { - $newName .= strtoupper($bit{0}).substr($bit, 1).'_'; - } - } - - $error = 'Subpackage name "%s" is not valid; consider "%s" instead'; - $validName = trim($newName, '_'); - $data = array( - $content, - $validName, - ); - $phpcsFile->addError($error, $tag, 'InvalidSubpackage', $data); - }//end foreach - - }//end processSubpackage() - - - /** - * Process the author tag(s) that this header comment has. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param array $tags The tokens for these tags. - * - * @return void - */ - protected function processAuthor(PHP_CodeSniffer_File $phpcsFile, array $tags) - { - $tokens = $phpcsFile->getTokens(); - foreach ($tags as $tag) { - if ($tokens[($tag + 2)]['code'] !== T_DOC_COMMENT_STRING) { - // No content. - continue; - } - - $content = $tokens[($tag + 2)]['content']; - $local = '\da-zA-Z-_+'; - // Dot character cannot be the first or last character in the local-part. - $localMiddle = $local.'.\w'; - if (preg_match('/^([^<]*)\s+<(['.$local.'](['.$localMiddle.']*['.$local.'])*@[\da-zA-Z][-.\w]*[\da-zA-Z]\.[a-zA-Z]{2,7})>$/', $content) === 0) { - $error = 'Content of the @author tag must be in the form "Display Name "'; - $phpcsFile->addError($error, $tag, 'InvalidAuthors'); - } - } - - }//end processAuthor() - - - /** - * Process the copyright tags. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param array $tags The tokens for these tags. - * - * @return void - */ - protected function processCopyright(PHP_CodeSniffer_File $phpcsFile, array $tags) - { - $tokens = $phpcsFile->getTokens(); - foreach ($tags as $tag) { - if ($tokens[($tag + 2)]['code'] !== T_DOC_COMMENT_STRING) { - // No content. - continue; - } - - $content = $tokens[($tag + 2)]['content']; - $matches = array(); - if (preg_match('/^([0-9]{4})((.{1})([0-9]{4}))? (.+)$/', $content, $matches) !== 0) { - // Check earliest-latest year order. - if ($matches[3] !== '') { - if ($matches[3] !== '-') { - $error = 'A hyphen must be used between the earliest and latest year'; - $phpcsFile->addError($error, $tag, 'CopyrightHyphen'); - } - - if ($matches[4] !== '' && $matches[4] < $matches[1]) { - $error = "Invalid year span \"$matches[1]$matches[3]$matches[4]\" found; consider \"$matches[4]-$matches[1]\" instead"; - $phpcsFile->addWarning($error, $tag, 'InvalidCopyright'); - } - } - } else { - $error = '@copyright tag must contain a year and the name of the copyright holder'; - $phpcsFile->addError($error, $tag, 'IncompleteCopyright'); - } - }//end foreach - - }//end processCopyright() - - - /** - * Process the license tag. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param array $tags The tokens for these tags. - * - * @return void - */ - protected function processLicense(PHP_CodeSniffer_File $phpcsFile, array $tags) - { - $tokens = $phpcsFile->getTokens(); - foreach ($tags as $tag) { - if ($tokens[($tag + 2)]['code'] !== T_DOC_COMMENT_STRING) { - // No content. - continue; - } - - $content = $tokens[($tag + 2)]['content']; - $matches = array(); - preg_match('/^([^\s]+)\s+(.*)/', $content, $matches); - if (count($matches) !== 3) { - $error = '@license tag must contain a URL and a license name'; - $phpcsFile->addError($error, $tag, 'IncompleteLicense'); - } - } - - }//end processLicense() - - - /** - * Process the version tag. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param array $tags The tokens for these tags. - * - * @return void - */ - protected function processVersion(PHP_CodeSniffer_File $phpcsFile, array $tags) - { - $tokens = $phpcsFile->getTokens(); - foreach ($tags as $tag) { - if ($tokens[($tag + 2)]['code'] !== T_DOC_COMMENT_STRING) { - // No content. - continue; - } - - $content = $tokens[($tag + 2)]['content']; - if (strstr($content, 'CVS:') === false - && strstr($content, 'SVN:') === false - && strstr($content, 'GIT:') === false - && strstr($content, 'HG:') === false - ) { - $error = 'Invalid version "%s" in file comment; consider "CVS: " or "SVN: " or "GIT: " or "HG: " instead'; - $data = array($content); - $phpcsFile->addWarning($error, $tag, 'InvalidVersion', $data); - } - } - - }//end processVersion() - - -}//end class diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/FunctionCommentSniff.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/FunctionCommentSniff.php deleted file mode 100644 index 0f215d33..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Commenting/FunctionCommentSniff.php +++ /dev/null @@ -1,384 +0,0 @@ - - * @author Marc McIntyre - * @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600) - * @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence - * @link http://pear.php.net/package/PHP_CodeSniffer - */ - -/** - * Parses and verifies the doc comments for functions. - * - * @category PHP - * @package PHP_CodeSniffer - * @author Greg Sherwood - * @author Marc McIntyre - * @copyright 2006-2014 Squiz Pty Ltd (ABN 77 084 670 600) - * @license https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt BSD Licence - * @version Release: 2.2.0 - * @link http://pear.php.net/package/PHP_CodeSniffer - */ -class PMAStandard_Sniffs_Commenting_FunctionCommentSniff implements PHP_CodeSniffer_Sniff -{ - - - /** - * Returns an array of tokens this test wants to listen for. - * - * @return array - */ - public function register() - { - return array(T_FUNCTION); - - }//end register() - - - /** - * Processes this test, when one of its tokens is encountered. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param int $stackPtr The position of the current token - * in the stack passed in $tokens. - * - * @return void - */ - public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr) - { - $tokens = $phpcsFile->getTokens(); - $find = PHP_CodeSniffer_Tokens::$methodPrefixes; - $find[] = T_WHITESPACE; - - $commentEnd = $phpcsFile->findPrevious($find, ($stackPtr - 1), null, true); - if ($tokens[$commentEnd]['code'] === T_COMMENT) { - // Inline comments might just be closing comments for - // control structures or functions instead of function comments - // using the wrong comment type. If there is other code on the line, - // assume they relate to that code. - $prev = $phpcsFile->findPrevious($find, ($commentEnd - 1), null, true); - if ($prev !== false && $tokens[$prev]['line'] === $tokens[$commentEnd]['line']) { - $commentEnd = $prev; - } - } - - if ($tokens[$commentEnd]['code'] !== T_DOC_COMMENT_CLOSE_TAG - && $tokens[$commentEnd]['code'] !== T_COMMENT - ) { - $phpcsFile->addError('Missing function doc comment', $stackPtr, 'Missing'); - $phpcsFile->recordMetric($stackPtr, 'Function has doc comment', 'no'); - return; - } else { - $phpcsFile->recordMetric($stackPtr, 'Function has doc comment', 'yes'); - } - - if ($tokens[$commentEnd]['code'] === T_COMMENT) { - $phpcsFile->addError('You must use "/**" style comments for a function comment', $stackPtr, 'WrongStyle'); - return; - } - - if ($tokens[$commentEnd]['line'] !== ($tokens[$stackPtr]['line'] - 1)) { - $error = 'There must be no blank lines after the function comment'; - $phpcsFile->addError($error, $commentEnd, 'SpacingAfter'); - } - - $commentStart = $tokens[$commentEnd]['comment_opener']; - foreach ($tokens[$commentStart]['comment_tags'] as $tag) { - if ($tokens[$tag]['content'] === '@see') { - // Make sure the tag isn't empty. - $string = $phpcsFile->findNext(T_DOC_COMMENT_STRING, $tag, $commentEnd); - if ($string === false || $tokens[$string]['line'] !== $tokens[$tag]['line']) { - $error = 'Content missing for @see tag in function comment'; - $phpcsFile->addError($error, $tag, 'EmptySees'); - } - } - } - - $this->processReturn($phpcsFile, $stackPtr, $commentStart); - $this->processThrows($phpcsFile, $stackPtr, $commentStart); - $this->processParams($phpcsFile, $stackPtr, $commentStart); - - }//end process() - - - /** - * Process the return comment of this function comment. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param int $stackPtr The position of the current token - * in the stack passed in $tokens. - * @param int $commentStart The position in the stack where the comment started. - * - * @return void - */ - protected function processReturn(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $commentStart) - { - $tokens = $phpcsFile->getTokens(); - - // Skip constructor and destructor. - $methodName = $phpcsFile->getDeclarationName($stackPtr); - $isSpecialMethod = ($methodName === '__construct' || $methodName === '__destruct'); - - $return = null; - foreach ($tokens[$commentStart]['comment_tags'] as $tag) { - if ($tokens[$tag]['content'] === '@return') { - if ($return !== null) { - $error = 'Only 1 @return tag is allowed in a function comment'; - $phpcsFile->addError($error, $tag, 'DuplicateReturn'); - return; - } - - $return = $tag; - } - } - - if ($isSpecialMethod === true) { - return; - } - - if ($return !== null) { - $content = $tokens[($return + 2)]['content']; - if (empty($content) === true || $tokens[($return + 2)]['code'] !== T_DOC_COMMENT_STRING) { - $error = 'Return type missing for @return tag in function comment'; - $phpcsFile->addError($error, $return, 'MissingReturnType'); - } - } else { - $error = 'Missing @return tag in function comment'; - $phpcsFile->addError($error, $tokens[$commentStart]['comment_closer'], 'MissingReturn'); - }//end if - - }//end processReturn() - - - /** - * Process any throw tags that this function comment has. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param int $stackPtr The position of the current token - * in the stack passed in $tokens. - * @param int $commentStart The position in the stack where the comment started. - * - * @return void - */ - protected function processThrows(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $commentStart) - { - $tokens = $phpcsFile->getTokens(); - - $throws = array(); - foreach ($tokens[$commentStart]['comment_tags'] as $tag) { - if ($tokens[$tag]['content'] !== '@throws') { - continue; - } - - $exception = null; - $comment = null; - if ($tokens[($tag + 2)]['code'] === T_DOC_COMMENT_STRING) { - $matches = array(); - preg_match('/([^\s]+)(?:\s+(.*))?/', $tokens[($tag + 2)]['content'], $matches); - $exception = $matches[1]; - if (isset($matches[2]) === true) { - $comment = $matches[2]; - } - } - - if ($exception === null) { - $error = 'Exception type missing for @throws tag in function comment'; - $phpcsFile->addError($error, $tag, 'InvalidThrows'); - } - }//end foreach - - }//end processThrows() - - - /** - * Process the function parameter comments. - * - * @param PHP_CodeSniffer_File $phpcsFile The file being scanned. - * @param int $stackPtr The position of the current token - * in the stack passed in $tokens. - * @param int $commentStart The position in the stack where the comment started. - * - * @return void - */ - protected function processParams(PHP_CodeSniffer_File $phpcsFile, $stackPtr, $commentStart) - { - $tokens = $phpcsFile->getTokens(); - - $params = array(); - $maxType = 0; - $maxVar = 0; - foreach ($tokens[$commentStart]['comment_tags'] as $pos => $tag) { - if ($tokens[$tag]['content'] !== '@param') { - continue; - } - - $type = ''; - $typeSpace = 0; - $var = ''; - $varSpace = 0; - $comment = ''; - if ($tokens[($tag + 2)]['code'] === T_DOC_COMMENT_STRING) { - $matches = array(); - preg_match('/([^$&]+)(?:((?:\$|&)[^\s]+)(?:(\s+)(.*))?)?/', $tokens[($tag + 2)]['content'], $matches); - $typeLen = strlen($matches[1]); - $type = trim($matches[1]); - $typeSpace = ($typeLen - strlen($type)); - $typeLen = strlen($type); - if ($typeLen > $maxType) { - $maxType = $typeLen; - } - - if (isset($matches[2]) === true) { - $var = $matches[2]; - $varLen = strlen($var); - if ($varLen > $maxVar) { - $maxVar = $varLen; - } - - if (isset($matches[4]) === true) { - $varSpace = strlen($matches[3]); - $comment = $matches[4]; - - // Any strings until the next tag belong to this comment. - if (isset($tokens[$commentStart]['comment_tags'][($pos + 1)]) === true) { - $end = $tokens[$commentStart]['comment_tags'][($pos + 1)]; - } else { - $end = $tokens[$commentStart]['comment_closer']; - } - - for ($i = ($tag + 3); $i < $end; $i++) { - if ($tokens[$i]['code'] === T_DOC_COMMENT_STRING) { - $comment .= ' '.$tokens[$i]['content']; - } - } - } else { - $error = 'Missing parameter comment'; - $phpcsFile->addError($error, $tag, 'MissingParamComment'); - } - } else { - $error = 'Missing parameter name'; - $phpcsFile->addError($error, $tag, 'MissingParamName'); - }//end if - } else { - $error = 'Missing parameter type'; - $phpcsFile->addError($error, $tag, 'MissingParamType'); - }//end if - - $params[] = array( - 'tag' => $tag, - 'type' => $type, - 'var' => $var, - 'comment' => $comment, - 'type_space' => $typeSpace, - 'var_space' => $varSpace, - ); - }//end foreach - - $realParams = $phpcsFile->getMethodParameters($stackPtr); - $foundParams = array(); - foreach ($params as $pos => $param) { - if ($param['var'] === '') { - continue; - } - - $foundParams[] = $param['var']; - - // Check number of spaces after the type. - $spaces = ($maxType - strlen($param['type']) + 1); - if ($param['type_space'] !== $spaces) { - $error = 'Expected %s spaces after parameter type; %s found'; - $data = array( - $spaces, - $param['type_space'], - ); - - $fix = $phpcsFile->addFixableError($error, $param['tag'], 'SpacingAfterParamType', $data); - if ($fix === true) { - $content = $param['type']; - $content .= str_repeat(' ', $spaces); - $content .= $param['var']; - $content .= str_repeat(' ', $param['var_space']); - $content .= $param['comment']; - $phpcsFile->fixer->replaceToken(($param['tag'] + 2), $content); - } - } - - // Make sure the param name is correct. - if (isset($realParams[$pos]) === true) { - // PMAStandard tweak for pass by reference variable: - // Variable should have '&' in doc comment - if ($realParams[$pos]['pass_by_reference'] === true) { - $realParams[$pos]['name'] = '&' . $realParams[$pos]['name']; - } - $realName = $realParams[$pos]['name']; - if ($realName !== $param['var']) { - $code = 'ParamNameNoMatch'; - $data = array( - $param['var'], - $realName, - ); - - $error = 'Doc comment for parameter %s does not match '; - if (strtolower($param['var']) === strtolower($realName)) { - $error .= 'case of '; - $code = 'ParamNameNoCaseMatch'; - } - - $error .= 'actual variable name %s'; - - $phpcsFile->addError($error, $param['tag'], $code, $data); - } - } else if (substr($param['var'], -4) !== ',...') { - // We must have an extra parameter comment. - $error = 'Superfluous parameter comment'; - $phpcsFile->addError($error, $param['tag'], 'ExtraParamComment'); - }//end if - - if ($param['comment'] === '') { - continue; - } - - // Check number of spaces after the var name. - $spaces = ($maxVar - strlen($param['var']) + 1); - if ($param['var_space'] !== $spaces) { - $error = 'Expected %s spaces after parameter name; %s found'; - $data = array( - $spaces, - $param['var_space'], - ); - - $fix = $phpcsFile->addFixableError($error, $param['tag'], 'SpacingAfterParamName', $data); - if ($fix === true) { - $content = $param['type']; - $content .= str_repeat(' ', $param['type_space']); - $content .= $param['var']; - $content .= str_repeat(' ', $spaces); - $content .= $param['comment']; - $phpcsFile->fixer->replaceToken(($param['tag'] + 2), $content); - } - } - }//end foreach - - $realNames = array(); - foreach ($realParams as $realParam) { - $realNames[] = $realParam['name']; - } - - // Report missing comments. - $diff = array_diff($realNames, $foundParams); - foreach ($diff as $neededParam) { - $error = 'Doc comment for parameter "%s" missing'; - $data = array($neededParam); - $phpcsFile->addError($error, $commentStart, 'MissingParamTag', $data); - } - - }//end processParams() - - -}//end class diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Files/SpacesAroundConcatSniff.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Files/SpacesAroundConcatSniff.php deleted file mode 100644 index 3ee1d957..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/Sniffs/Files/SpacesAroundConcatSniff.php +++ /dev/null @@ -1,78 +0,0 @@ -getTokens(); - if ($tokens[$stackPtr-1]['type'] !== 'T_WHITESPACE') { - $warning = 'Whitespace is expected before any concat operator "."'; - $phpcsFile->addWarning($warning, $stackPtr, 'Found'); - } - if ($tokens[$stackPtr+1]['type'] !== 'T_WHITESPACE') { - $warning = 'Whitespace is expected after any concat operator "."'; - $phpcsFile->addWarning($warning, $stackPtr, 'Found'); - } - }//end process() - - // }}} - -}//end class - -// }}} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/ruleset.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/ruleset.xml deleted file mode 100644 index 6974ec64..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/PMAStandard/ruleset.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - phpMyAdmin custom coding standard - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/README.md deleted file mode 100644 index 63dffb0d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# phpMyAdmin Coding Standard - -phpMyAdmin Coding Standard for PHP CodeSniffer. - -## Installation & Usage - -Before starting using our coding standard install [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer). - -Clone or download this repo somewhere on your computer or install it with [Composer](http://getcomposer.org/). -To do so, add the dependency to your `composer.json` file by running `composer require --dev phpmyadmin/coding-standard`. - -Add the standards directory to PHP_CodeSniffer installed paths: - -```sh -$ phpcs --config-set installed_paths ./vendor/phpmyadmin/coding-standard -``` - -You can verify whether the standard can be found: - -```sh -$ phpcs -i -The installed coding standards are MySource, PSR1, PHPCS, Zend, Squiz, PEAR, PSR2 and PMAStandard -``` - -Run CodeSniffer: - -```sh -$ phpcs --standard=PMAStandard /path/to/code -``` -## Using - -PMAStandard has its tuned coding style checks, such as missing `@author`, -`@copyright`, `@link` or other tags. Let's take a look at the same example as -above, but now checked with PMAStandard: - -```sh -$ phpcs --standard=PMAStandard /path/to/code/myfile.php -123 | WARNING | Line exceeds 85 characters; contains 139 characters -184 | ERROR   | Line indented incorrectly; expected at least 20 spaces, found -    |         | 16 -272 | ERROR   | Closing parenthesis of a multi-line IF statement must be on a -    |         | new line -272 | ERROR   | Multi-line IF statement not indented correctly; expected 12 -    |         | spaces but found 9 -``` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/composer.json deleted file mode 100644 index ffb4f86d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/coding-standard/composer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "phpmyadmin/coding-standard", - "description": "phpMyAdmin PHP CodeSniffer Coding Standard", - "keywords": ["phpcs", "CodeSniffer", "phpMyAdmin"], - "license": "MIT", - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "support" : { - "source": "https://github.com/phpmyadmin/coding-standard", - "issues": "https://github.com/phpmyadmin/coding-standard/issues" - }, - "require": { - "squizlabs/php_codesniffer": "~2.0" - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/CHANGES.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/CHANGES.md deleted file mode 100644 index 70f6c3f0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/CHANGES.md +++ /dev/null @@ -1,61 +0,0 @@ -# Version 3.0 - -* Released on 2017-01-23 -* All classes moved to the PhpMyAdmin namespace. - -# Version 2.2 - -* Released on 2017-01-07 -* Coding style cleanup. -* Avoid installing tests using composer. - -# Version 2.1 - -* Released on 2016-12-21 -* Various code cleanups -* Added support for PHP 5.3. - -# Version 2.0 - -* Released on 2016-10-13 -* Consistently use camelCase in API -* No more relies on using eval() -* Depends on symfony/expression-language for calculations - -# Version 1.2 - -* Released on 2016-09-22 -* Stricter validation of plural expression - -# Version 1.1 - -* Released on 2016-08-29 -* Improved handling of corrupted mo files -* Minor performance improvements -* Stricter validation of plural expression - -# Version 1.0 - -* Released on 2016-04-27 -* Documentation improvements -* Testsuite improvements - -# Version 0.4 - -* Released on 2016-03-02. -* Fixed test failures with hhvm due to broken putenv. - -# Version 0.3 - -* Released on 2016-03-01. -* Added Loader::detectlocale method. - -# Version 0.2 - -* Released on 2016-02-24. -* Marked PHP 5.4 and 5.5 as supported. - -# Version 0.1 - -* Released on 2016-02-23. -* Initial release. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/README.md deleted file mode 100644 index 758dee1c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/README.md +++ /dev/null @@ -1,138 +0,0 @@ -# motranslator - -Translation API for PHP using Gettext MO files. - -[![Build Status](https://travis-ci.org/phpmyadmin/motranslator.svg?branch=master)](https://travis-ci.org/phpmyadmin/motranslator) -[![codecov.io](https://codecov.io/github/phpmyadmin/motranslator/coverage.svg?branch=master)](https://codecov.io/github/phpmyadmin/motranslator?branch=master) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/phpmyadmin/motranslator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/phpmyadmin/motranslator/?branch=master) -[![Packagist](https://img.shields.io/packagist/dt/phpmyadmin/motranslator.svg)](https://packagist.org/packages/phpmyadmin/motranslator) - -## Features - -* All strings are stored in memory for fast lookup -* Fast loading of MO files -* Low level API for reading MO files -* Emulation of Gettext API -* No use of `eval()` for plural equation - -## Limitations - -* Not suitable for huge MO files which you don't want to store in memory -* Input and output encoding has to match (preferably UTF-8) - -## Installation - -Please use [Composer][1] to install: - -``` -composer require phpmyadmin/motranslator -``` - -## Documentation - -The API documentation is available at -. - - -## Object API usage - -```php -// Create loader object -$loader = new PhpMyAdmin\MoTranslator\Loader(); - -// Set locale -$loader->setlocale('cs'); - -// Set default text domain -$loader->textdomain('domain'); - -// Set path where to look for a domain -$loader->bindtextdomain('domain', __DIR__ . '/data/locale/'); - -// Get translator -$translator = $loader->getTranslator(); - -// Now you can use Translator API (see below) -``` - -## Low level API usage - -```php -// Directly load the mo file -$translator = new PhpMyAdmin\MoTranslator\Translator('./path/to/file.mo'); - -// Now you can use Translator API (see below) -``` - -## Translator API usage - -```php -// Translate string -echo $translator->gettext('String'); - -// Translate plural string -echo $translator->ngettext('String', 'Plural string', $count); - -// Translate string with context -echo $translator->pgettext('Context', 'String'); - -// Translate plural string with context -echo $translator->npgettext('Context', 'String', 'Plural string', $count); -``` - -## Gettext compatibility usage - -```php -// Load compatibility layer -PhpMyAdmin\MoTranslator\Loader::loadFunctions(); - -// Configure -_setlocale(LC_MESSAGES, 'cs'); -_textdomain('phpmyadmin'); -_bindtextdomain('phpmyadmin', __DIR__ . '/data/locale/'); -_bind_textdomain_codeset('phpmyadmin', 'UTF-8'); - -// Use functions -echo _gettext('Type'); -echo __('Type'); -``` - -## History - -This library is based on [php-gettext][2]. It adds some performance -improvements and ability to install using [Composer][1]. - -## Motivation - -Motivation for this library includes: - -* The [php-gettext][2] library is not maintained anymore -* It doesn't work with recent PHP version (phpMyAdmin has patched version) -* It relies on `eval()` function for plural equations what can have severe security implications, see CVE-2016-6175 -* It's not possible to install it using [Composer][1] -* There was place for performance improvements in the library - -### Why not to use native gettext in PHP? - -We've tried that, but it's not a viable solution: - -* You can not use locales not known to system, what is something you can not - control from web application. This gets even more tricky with minimalist - virtualisation containers. -* Changing the MO file usually leads to PHP segmentation fault. It (or rather - Gettext library) caches headers of MO file and if it's content is changed - (for example new version is uploaded to server) it tries to access new data - with old references. This is bug known for ages: - https://bugs.php.net/bug.php?id=45943 - -### Why use Gettext and not JSON, YAML or whatever? - -We want translators to be able to use their favorite tools and we want us to be -able to use wide range of tools available with Gettext as well such as -[web based translation using Weblate][3]. Using custom format usually adds -another barrier for translators and we want to make it easy for them to -contribute. - -[1]:https://getcomposer.org/ -[2]:https://launchpad.net/php-gettext -[3]:https://weblate.org/ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/composer.json deleted file mode 100644 index e7b495f4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/composer.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "phpmyadmin/motranslator", - "description": "Translation API for PHP using Gettext MO files", - "license": "GPL-2.0+", - "keywords": ["gettext", "mo", "translator", "i18n"], - "homepage": "https://github.com/phpmyadmin/motranslator", - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "support": { - "issues": "https://github.com/phpmyadmin/motranslator/issues", - "source": "https://github.com/phpmyadmin/motranslator" - }, - "require": { - "php": ">=5.3.0", - "symfony/expression-language": "^3.1 || ^2.8" - }, - "require-dev": { - "phpunit/phpunit": "~4.8 || ~5.1" - }, - "autoload": { - "psr-4": { - "PhpMyAdmin\\MoTranslator\\": "src" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/src/Loader.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/src/Loader.php deleted file mode 100644 index 3af33a2b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/motranslator/src/Loader.php +++ /dev/null @@ -1,247 +0,0 @@ - - Copyright (c) 2009 Danilo Segan - Copyright (c) 2016 Michal Čihař - - This file is part of MoTranslator. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -namespace PhpMyAdmin\MoTranslator; - -class Loader -{ - /** - * Loader instance. - * - * @static - * - * @var Loader - */ - private static $_instance; - - /** - * Default gettext domain to use. - * - * @var string - */ - private $default_domain = ''; - - /** - * Configured locale. - * - * @var string - */ - private $locale = ''; - - /** - * Loaded domains. - * - * @var array - */ - private $domains = array(); - - /** - * Bound paths for domains. - * - * @var array - */ - private $paths = array('' => './'); - - /** - * Returns the singleton Loader object. - * - * @return Loader object - */ - public static function getInstance() - { - if (empty(self::$_instance)) { - self::$_instance = new self(); - } - - return self::$_instance; - } - - /** - * Loads global localizaton functions. - */ - public static function loadFunctions() - { - require_once __DIR__ . '/functions.php'; - } - - /** - * Figure out all possible locale names and start with the most - * specific ones. I.e. for sr_CS.UTF-8@latin, look through all of - * sr_CS.UTF-8@latin, sr_CS@latin, sr@latin, sr_CS.UTF-8, sr_CS, sr. - * - * @param string $locale Locale code - * - * @return array list of locales to try for any POSIX-style locale specification - */ - public static function listLocales($locale) - { - $locale_names = array(); - - $lang = null; - $country = null; - $charset = null; - $modifier = null; - - if ($locale) { - if (preg_match('/^(?P[a-z]{2,3})' // language code - . '(?:_(?P[A-Z]{2}))?' // country code - . '(?:\\.(?P[-A-Za-z0-9_]+))?' // charset - . '(?:@(?P[-A-Za-z0-9_]+))?$/', // @ modifier - $locale, $matches)) { - extract($matches); - - if ($modifier) { - if ($country) { - if ($charset) { - array_push($locale_names, "${lang}_$country.$charset@$modifier"); - } - array_push($locale_names, "${lang}_$country@$modifier"); - } elseif ($charset) { - array_push($locale_names, "${lang}.$charset@$modifier"); - } - array_push($locale_names, "$lang@$modifier"); - } - if ($country) { - if ($charset) { - array_push($locale_names, "${lang}_$country.$charset"); - } - array_push($locale_names, "${lang}_$country"); - } elseif ($charset) { - array_push($locale_names, "${lang}.$charset"); - } - array_push($locale_names, $lang); - } - - // If the locale name doesn't match POSIX style, just include it as-is. - if (!in_array($locale, $locale_names)) { - array_push($locale_names, $locale); - } - } - - return $locale_names; - } - - /** - * Returns Translator object for domain or for default domain. - * - * @param string $domain Translation domain - * - * @return Translator - */ - public function getTranslator($domain = '') - { - if (empty($domain)) { - $domain = $this->default_domain; - } - - if (!isset($this->domains[$domain])) { - if (isset($this->paths[$domain])) { - $base = $this->paths[$domain]; - } else { - $base = './'; - } - - $locale_names = $this->listLocales($this->locale); - - $filename = ''; - foreach ($locale_names as $locale) { - $filename = "$base/$locale/LC_MESSAGES/$domain.mo"; - if (file_exists($filename)) { - break; - } - } - - // We don't care about invalid path, we will get fallback - // translator here - $this->domains[$domain] = new Translator($filename); - } - - return $this->domains[$domain]; - } - - /** - * Sets the path for a domain. - * - * @param string $domain Domain name - * @param string $path Path where to find locales - */ - public function bindtextdomain($domain, $path) - { - $this->paths[$domain] = $path; - } - - /** - * Sets the default domain. - * - * @param string $domain Domain name - */ - public function textdomain($domain) - { - $this->default_domain = $domain; - } - - /** - * Sets a requested locale. - * - * @param string $locale Locale name - * - * @return string Set or current locale - */ - public function setlocale($locale) - { - if (!empty($locale)) { - $this->locale = $locale; - // Set system locales as well - if (function_exists('setlocale')) { - setlocale(0, $locale); - } - } - - return $this->locale; - } - - /** - * Detects currently configured locale. - * - * It checks: - * - * - global lang variable - * - environment for LC_ALL, LC_MESSAGES and LANG - * - * @return string with locale name - */ - public function detectlocale() - { - if (isset($GLOBALS['lang'])) { - return $GLOBALS['lang']; - } elseif (getenv('LC_ALL')) { - return getenv('LC_ALL'); - } elseif (getenv('LC_MESSAGES')) { - return getenv('LC_MESSAGES'); - } elseif (getenv('LANG')) { - return getenv('LANG'); - } - - return 'en'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/CHANGELOG.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/CHANGELOG.md deleted file mode 100644 index e32863dd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/CHANGELOG.md +++ /dev/null @@ -1,76 +0,0 @@ -# Change Log - -## [2.0] - 2017-01-23 - -* Switched to PhpMyAdmin vendor namespace to follow PSR-4. - -## [1.2] - 2017-01-07 - -* Coding style cleanup. -* PHP 7.2 support. -* Avoid installing tests and test data using composer. - -## [1.1] - 2016-11-21 - -* Fixed adjusting of record bouding box - -## [1.0] - 2016-11-21 - -* Documentation improvements -* Code cleanups - -## [0.12] - 2016-11-17 - -* Fixed DBF search -* Improved test coverage - -## [0.11] - 2016-11-16 - -* Code cleanups -* Fixed behavior without configured DBF header - -## [0.11] - 2016-11-16 - -* Fixed saving Polygon/Polyline creation with multiple parts -* Fixed saving Multipont records - -## [0.10] - 2016-09-05 - -* Improved error handling on loading - -## [0.9] - 2016-08-04 - -* Code cleanups - -## [0.8] - 2016-06-24 - -* Code cleanups -* Fixed loading of records with optional data - -## [0.7] - 2016-06-24 - -* Properly fail on loading corrupted files - -## [0.6] - 2016-06-24 - -* Fixed detection of end of file when loading - -## [0.5] - 2016-06-24 - -* Added getShapeName method to ShapeFile - -## [0.4] - 2016-06-24 - -* Make API work even without real file open - -## [0.3] - 2016-06-24 - -* Better support for subclassing - -## [0.2] - 2016-06-24 - -* Make the dbase extension optional dependency - -## [0.1] - 2016-06-14 - -* Inital release based on bfShapeFiles diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/README.md deleted file mode 100644 index 38915185..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# shapefile -ShapeFile library for PHP - -[![Build Status](https://travis-ci.org/phpmyadmin/shapefile.svg?branch=master)](https://travis-ci.org/phpmyadmin/shapefile) -[![codecov.io](https://codecov.io/github/phpmyadmin/shapefile/coverage.svg?branch=master)](https://codecov.io/github/phpmyadmin/shapefile?branch=master) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/phpmyadmin/shapefile/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/phpmyadmin/shapefile/?branch=master) -[![Packagist](https://img.shields.io/packagist/dt/phpmyadmin/shapefile.svg)](https://packagist.org/packages/phpmyadmin/shapefile) - -## Features - -Currently the 2D and 3D variants except MultiPatch of the ShapeFile format as -defined in https://www.esri.com/library/whitepapers/pdfs/shapefile.pdf. The -library currently supports reading and editing of ShapeFiles and the Associated -information (DBF file). There are a lot of things that can be improved in the -code, if you are interested in developing, helping with the documentation, -making translations or offering new ideas please contact us. - -## Installation - -Please use [Composer][1] to install: - -``` -composer require phpmyadmin/shapefile -``` - -To be able to read and write the associated DBF file, you need ``dbase`` -extension: - -``` -pecl install dbase -echo "extension=dbase.so" > /etc/php5/conf.d/dbase.ini -``` - -## Documentation - -The API documentation is available at -. - -## Usage - -To read shape file: - -```php -$shp = new ShapeFile\ShapeFile(0); -$shp->loadFromFile('path/file.*'); -``` - -## History - -This library is based on BytesFall ShapeFiles library written by Ovidio (ovidio -AT users.sourceforge.net). The library has been embedded in phpMyAdmin for -years and slowly developed there. At one point people started to use our -version rather than the original library and that was the point we decided to -make it separate package. - -[1]:https://getcomposer.org/ - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/composer.json deleted file mode 100644 index f8b5ade5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/composer.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "phpmyadmin/shapefile", - "description": "ESRI ShapeFile library for PHP", - "license": "GPL-2.0+", - "keywords": ["shapefile", "shp", "geo", "geospatial", "dbf", "ESRI", "shape"], - "homepage": "https://github.com/phpmyadmin/shapefile", - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "support": { - "issues": "https://github.com/phpmyadmin/shapefile/issues", - "source": "https://github.com/phpmyadmin/shapefile" - }, - "require": { - "php": ">=5.4.0" - }, - "suggest": { - "ext-dbase": "For dbf files parsing" - }, - "require-dev": { - "phpunit/phpunit": "~5.2 || ~4.8" - }, - "autoload": { - "psr-4": { - "PhpMyAdmin\\ShapeFile\\": "src" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/phpunit.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/phpunit.xml deleted file mode 100644 index 77935db2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/phpunit.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - ./tests - - - - - src/ - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/src/Util.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/src/Util.php deleted file mode 100644 index 12cf8116..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/shapefile/src/Util.php +++ /dev/null @@ -1,118 +0,0 @@ -. - * - * Copyright 2006-2007 Ovidio - * Copyright 2016 - 2017 Michal Čihař - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, you can download one from - * https://www.gnu.org/copyleft/gpl.html. - */ - -namespace PhpMyAdmin\ShapeFile; - -class Util -{ - private static $little_endian = null; - - private static $shape_names = array( - 0 => 'Null Shape', - 1 => 'Point', - 3 => 'PolyLine', - 5 => 'Polygon', - 8 => 'MultiPoint', - 11 => 'PointZ', - 13 => 'PolyLineZ', - 15 => 'PolygonZ', - 18 => 'MultiPointZ', - 21 => 'PointM', - 23 => 'PolyLineM', - 25 => 'PolygonM', - 28 => 'MultiPointM', - 31 => 'MultiPatch', - ); - - /** - * Reads data. - * - * @param string $type type for unpack() - * @param string $data Data to process - * - * @return mixed - */ - public static function loadData($type, $data) - { - if ($data === false || strlen($data) == 0) { - return false; - } - $tmp = unpack($type, $data); - - return current($tmp); - } - - /** - * Changes endianity. - * - * @param string $binValue Binary value - * - * @return string - */ - public static function swap($binValue) - { - $result = $binValue[strlen($binValue) - 1]; - for ($i = strlen($binValue) - 2; $i >= 0; --$i) { - $result .= $binValue[$i]; - } - - return $result; - } - - /** - * Encodes double value to correct endianity. - * - * @param float $value Value to pack - * - * @return string - */ - public static function packDouble($value) - { - $bin = pack('d', (float) $value); - - if (is_null(self::$little_endian)) { - self::$little_endian = (pack('L', 1) == pack('V', 1)); - } - - if (self::$little_endian) { - return $bin; - } else { - return self::swap($bin); - } - } - - /** - * Returns shape name. - * - * @param int $type - * - * @return string - */ - public static function nameShape($type) - { - if (isset(self::$shape_names[$type])) { - return self::$shape_names[$type]; - } - - return sprintf('Shape %d', $type); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/CHANGELOG.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/CHANGELOG.md deleted file mode 100644 index bf87ab71..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/CHANGELOG.md +++ /dev/null @@ -1,249 +0,0 @@ -# Change Log - -## [4.1.2] - 2017-02-20 - -* Coding style improvements. -* Chinese localization. -* Improved order validatin for JOIN clauses. -* Improved pretty printing of JOIN clauses. -* Added support for LOAD DATA statements. - -## [4.1.1] - 2017-02-07 - -* Localization using phpmyadmin/motranslator is now optional. -* Improved testsuite. -* Better handling of non upper cased not reserved keywords. -* Minor performance and coding style improvements. - -## [4.1.0] - 2017-01-23 - -* Use phpmyadmin/motranslator to localize messages. - -## [4.0.1] - 2017-01-23 - -* Fixed CLI wrappers for new API. -* Fixed README for new API. - -## [4.0.0] - 2017-01-23 - -* Added PhpMyAdmin namespace prefix to follow PSR-4. - -## [3.4.17] - 2017-01-20 - -* Coding style fixes. -* Fixed indentation in HTML formatting. -* Fixed parsing of unterminated variables. -* Improved comments lexing. - -## [3.4.16] - 2017-01-06 - -* Coding style fixes. -* Properly handle operators AND, NOT, OR, XOR, DIV, MOD - -## [3.4.15] - 2017-01-02 - -* Fix return value of Formatter.toString() when type is text -* Fix parsing of FIELDS and LINES options in SELECT..INTO -* PHP 7.2 compatibility. -* Better parameter passing to query formatter. - -## [3.4.14] - 2016-11-30 - -* Improved parsing of UNION queries. -* Recognize BINARY function. - -## [3.4.13] - 2016-11-15 - -* Fix broken incorrect clause order detection for Joins. -* Add parsing of end options in Select statements. - -## [3.4.12] - 2016-11-09 - -* Added verification order of SELECT statement clauses. - -## [3.4.11] - 2016-10-25 - -* Fixed parsing of ON UPDATE option in field definition of TIMESTAMP type with precision -* Fixed parsing of NATURAL JOIN, CROSS JOIN and related joins. -* Fixed parsing of BEGIN/END labels. - -## [3.4.10] - 2016-10-03 - -* Fixed API regression on DELETE statement - -## [3.4.9] - 2016-10-03 - -* Added support for CASE expressions -* Support for parsing and building DELETE statement -* Support for parsing subqueries in FROM clause - -## [3.4.8] - 2016-09-22 - -* No change release to sync GitHub releases with Packagist - -## [3.4.7] - 2016-09-20 - -* Fix parsing of DEFINER without backquotes -* Fixed escaping HTML entities in HTML formatter -* Fixed escaping of control chars in CLI formatter - -## [3.4.6] - 2016-09-13 - -* Fix parsing of REPLACE INTO ... -* Fix parsing of INSERT ... ON DUPLICATE KEY UPDATE ... -* Extended testsuite -* Re-enabled PHP 5.3 support - -## [3.4.5] - 2016-09-13 - -* Fix parsing of INSERT...SELECT and INSERT...SET syntax -* Fix parsing of CREATE TABLE ... PARTITION -* Fix parsing of SET CHARACTER SET, CHARSET, NAMES -* Add Support for 'CREATE TABLE `table_copy` LIKE `table` - -## [3.4.4] - 2016-04-26 - -* Add support for FULL OUTER JOIN - -## [3.4.3] - 2016-04-19 - -* Fix parsing of query with \ - -## [3.4.2] - 2016-04-07 - -* Recognize UNION DISTINCT -* Recognize REGEXP and RLIKE operators - -## [3.4.1] - 2016-04-06 - -* Add FULLTEXT and SPATIAL keywords -* Properly parse CREATE TABLE [AS] SELECT -* Fix parsing of table with DEFAULT and COMMENT - -## [3.4.0] - 2016-02-23 - -* Fix parsing DEFAULT value on CREATE -* Fix parsing of ALTER VIEW - -## [3.3.1] - 2016-02-12 - -* Condition: Allow keyword `INTERVAL`. - -## [3.3.0] - 2016-02-12 - -* Expression: Refactored parsing options. - -## [3.2.0] - 2016-02-11 - -* Context: Added custom mode that avoids escaping when possible. - -## [3.1.0] - 2016-02-10 - -* ArrayObj: Handle more complex expressions in arrays. -* BufferedQuery: Backslashes in comments escaped characters in comments. -* Condition: Allow `IF` in conditions. -* Context: Add `;` as operator. -* Context: Updated contexts to contain `BIT` data type. -* CreateStatement: The `DEFAULT` option may be an expression. -* DescribeStatement: Added `DESC` as alias for `DESCRIBE`. -* Expression: Rewrote expression parsing. -* Misc: Added PHPUnit's Code Coverage 3.0 as a dependency. -* Misc: Added support for PHP 5.4 back. -* Misc: Removed dependency to Ctype. -* Misc: Repository transfered from @udan11 to @phpMyAdmin. -* Misc: Updated `.gitignore` to ignore `composer.lock`. -* Misc: Updated Composer and Travis configuration for PHP 7 and PHPUnit 5. -* Tools: Documented tags in `ContextGenerator`. - -## [3.0.8] - 2015-12-18 - -* Allow `NULL` in expressions. -* Downgraded PHPUnit to 4.8. Removed old PHP versions. -* Updated PHPUnit to 5.1 and fixed some of the tests. -* Added `UNION ALL` as a type of `UNION`. -* Expressions are permitted in `SET` operations. -* Added `STRAIGHT_JOIN` as a known type of join. -* Added missing definitions for `MATCH` and `AGAINST`. -* Added missing statement (`FLUSH` and `DEALLOCATE`). - -## [3.0.7] - 2015-11-12 - -* Expressions may begin with a function that is also a reserved keyword (e.g. `IF`). - -## [3.0.6] - 2015-11-12 - -* Fixed a bug where formatter split the function name and the parameters list. - -## [3.0.5] - 2015-11-08 - -* Add GRANT as known statement. -* Use JOIN expressions for flag detection. -* Fix the order of clauses in SELECT statements involving UNIONs. -* Added dummy parsers for CREATE USER and SET PASSWORD statements. -* Accept NOT operator in conditions. -* Fixed DELIMITER statements in BufferedQuery. -* Added INSERT statement builder. - -## [3.0.4] - 2015-10-21 - -* Fix error message in `SqlParser\Components\OptionsArray`. - -## [3.0.3] - 2015-10-10 - -* Avoid building a field multiple times if clause has synonyms. - -## [3.0.2] - 2015-10-10 - -* Add EXISTS as an acceptable keyword in conditions. - -## [3.0.1] - 2015-10-06 - -* Handle backslashes separately for `SqlParser\Utils\BufferedQuery`. Fixes a bug where backslashes in combination with strings weren't handled properly. - -## [3.0.0] - 2015-10-02 - -__Breaking changes:__ - -* `SqlParser\Components\Reference::$table` is now an instance of `SqlParser\Components\Expression` to support references from other tables. - -## [2.1.3] - 2015-10-02 - -* Add definitions for all JOIN clauses. - -## [2.1.2] - 2015-10-02 - -* Properly parse options when the value of the option is '='. - -## [2.1.1] - 2015-09-30 - -* Only RANGE and LIST type partitions support VALUES. - -## [2.1.0] - 2015-09-30 - -* Added utilities for handling tokens and tokens list. - -## [2.0.3] - 2015-09-30 - -* Added missing NOT IN operator. This caused troubles when parsing conditions that contained the `NOT IN` operator. - -## [2.0.2] - 2015-09-30 - -* Added support for `OUTER` as an optional keyword in joins. - -## [2.0.1] - 2015-09-30 - -* Fixed a bug related to (sub)partitions options not being included in the built component. Also, the option `ENGINE` was unrecognized. - -## [2.0.0] - 2015-09-25 - -* Better parsing for CREATE TABLE statements (related to breaking change 1). -* Added support for JSON data type. -* Refactoring and minor documentation improvements. - -__Breaking changes:__ -* `SqlParser\Components\Key::$columns` is now an array of arrays. Each array must contain a `name` key which represents the name of the column and an optional `length` key which represents the length of the column. - -## [1.0.0] - 2015-08-20 - -* First release of this library. - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/README.md deleted file mode 100644 index 4a04299a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/README.md +++ /dev/null @@ -1,117 +0,0 @@ -# SQL Parser - -A validating SQL lexer and parser with a focus on MySQL dialect. - -## Code status - -[![Build Status](https://travis-ci.org/phpmyadmin/sql-parser.svg?branch=master)](https://travis-ci.org/phpmyadmin/sql-parser) -[![Code Coverage](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/?branch=master) -[![codecov.io](https://codecov.io/github/phpmyadmin/sql-parser/coverage.svg?branch=master)](https://codecov.io/github/phpmyadmin/sql-parser?branch=master) -[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/?branch=master) -[![Translation status](https://hosted.weblate.org/widgets/phpmyadmin/-/svg-badge.svg)](https://hosted.weblate.org/engage/phpmyadmin/?utm_source=widget) - -## Installation - -Please use [Composer][1] to install: - -``` -composer require phpmyadmin/sql-parser -``` - -## Documentation - -The API documentation is available at -. - -## Usage - -### Command line utilities - -Command line utility to syntax highlight SQL query: - -```sh -./vendor/bin/highlight-query --query "SELECT 1" -``` - -Command line utility to lint SQL query: - -```sh -./vendor/bin/lint-query --query "SELECT 1" -``` - -### Formatting SQL query - -```php -echo PhpMyAdmin\SqlParser\Utils\Formatter::format($query, array('type' => 'html')); -``` - -### Discoverying query type - -```php -use PhpMyAdmin\SqlParser\Parser; -use PhpMyAdmin\SqlParser\Utils\Query; - -$query = 'OPTIMIZE TABLE tbl'; -$parser = new Parser($query); -$flags = Query::getFlags($parser->statements[0]); - -echo $flags['querytype']; -``` - -### Parsing and building SQL query - -```php -require __DIR__."/vendor/autoload.php"; - -$query1 = "select * from a"; -$parser = new PhpMyAdmin\SqlParser\Parser($query1); - -// inspect query -var_dump($parser->statements[0]); // outputs object(PhpMyAdmin\SqlParser\Statements\SelectStatement) - -// modify query by replacing table a with table b -$table2 = new \PhpMyAdmin\SqlParser\Components\Expression("", "b", "", ""); -$parser->statements[0]->from[0] = $table2; - -// build query again from an array of object(PhpMyAdmin\SqlParser\Statements\SelectStatement) to a string -$statement = $parser->statements[0]; -$query2 = $statement->build(); -var_dump($query2); // outputs string(19) "SELECT * FROM `b` " - -// Change SQL mode -PhpMyAdmin\SqlParser\Context::setMode('ANSI_QUOTES'); - -// build the query again using different quotes -$query2 = $statement->build(); -var_dump($query2); // outputs string(19) "SELECT * FROM "b" " -``` - -## Localization - -You can localize error messages installing `phpmyadmin/motranslator` version `3.0` or newer: -```sh -composer require phpmyadmin/motranslator:^3.0 -``` - -The locale is automatically detected from your enrivonment, you can also set a different locale - -**From cli**: -```sh -LC_ALL=pl ./vendor/bin/lint-query --query "SELECT 1" -``` - -**From php**: -```php -require __DIR__."/vendor/autoload.php"; - -$GLOBALS['lang'] = 'pl'; - -$query1 = "select * from a"; -$parser = new PhpMyAdmin\SqlParser\Parser($query1); -``` - -## More information - -This library was originally created during the Google Summer of Code 2015 and has been used by phpMyAdmin since version 4.5. - -[1]:https://getcomposer.org/ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/composer.json deleted file mode 100644 index 28cdaed5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/composer.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "phpmyadmin/sql-parser", - "description": "A validating SQL lexer and parser with a focus on MySQL dialect.", - "license": "GPL-2.0+", - "keywords": ["sql", "lexer", "parser", "analysis"], - "homepage": "https://github.com/phpmyadmin/sql-parser", - "authors": [ - { - "name": "The phpMyAdmin Team", - "email": "developers@phpmyadmin.net", - "homepage": "https://www.phpmyadmin.net/team/" - } - ], - "support": { - "issues": "https://github.com/phpmyadmin/sql-parser/issues", - "source": "https://github.com/phpmyadmin/sql-parser" - }, - "require": { - "php": ">=5.3.0", - "ext-mbstring": "*" - }, - "require-dev": { - "phpunit/php-code-coverage": "~2.0 || ~3.0", - "phpunit/phpunit": "~4.8 || ~5.1" - }, - "conflict": { - "phpmyadmin/motranslator": "<3.0" - }, - "suggest": { - "phpmyadmin/motranslator": "Translate messages to your favorite locale" - }, - "bin": [ - "bin/highlight-query", - "bin/lint-query" - ], - "autoload": { - "psr-4": { - "PhpMyAdmin\\SqlParser\\": "src" - } - }, - "autoload-dev": { - "psr-4": { - "PhpMyAdmin\\SqlParser\\Tests\\": "tests" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/af/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/af/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 720c71a17f1596e98f145d40b43d86d9acc7d7bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmYLGO>fjN5G{gJj+{9R61Osm9lB!c?V>_yt4du_O8B_C$!uasY|Hi*`X74b!2f~& zz=_|&q$@QeJ=r6_`FPL&9zXiI!|{Oegz=2=knx-`#+>n&ANTnjIrni9+*hg-o;CQ1 zLNv}Q`0)N5ybh59i0qQQ3kg@TH4VPmv=J+(AO&q>uagV$(06{g(am6NZYgCK?pu6QplGmB$j(1h1%QS6;cQ$;w4?1apuIEp%f@*Af+6!(Dz@a~ks64X?Pwwj13NR-^|7uh+qR)4VYpbSe3$ilTEdQImhC zD^@|d3vJ=IR>WcwR17?uLZR2i)Kr09XREW-@#L7yMRw$DBFmfJc$S>#M=E@;ja>k5 z%VwtK$La*<6K_R_-L*HWY_*9EhUn}| z&JG-^K)u+Z3Me7v;yvSnrBe`GPItGt;GBf)94~c0bJWe4;7rUw2$@c|c}ludS`3b#Ylr{^X zr;?K)`<@@O`KasH`HhYpnZlOZR1)TEP3AQlry6!_UF#*7?jiNry9Eq1Gg-#r18|_* zEE7bxiN0cIyc2!dl=9gk`o%t@LD&DJgr9>Ukj67s;$<}X E4^gMC8~^|S diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/az/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/az/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index f74add5c21a6aa3d6f32fd35c7ebb49762c52952..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539 zcmYLG+iuf95G|rle&m^lLE^29y*8;xHw`K+EvnRrQq1Lb5)aN+_O7+N2_*l)fAA4} zMN?kpPN7%UZ1pNn$)k}N~Nt=R5O-Lt%i47_H#0~WDOiIW9)*?vZV`= ztMn(&MGmLV*IBpoBxHlKtd%9$XSB_Rwi;-g%r0l=gLQeTk~3!`TUmM2iT239V%9Ze z>;x9e-qkq$QeNPA;Pujeu*Y+|aFwyOhVk5pkJ3$DL?}z))yWPUx4X7wdqXSrH~2li zh1o_lBOQ50K4->r{P)$%KLd(qgx7?(gcpPlgg(ZEo#%tW0i8YPDdyhZ;4-p{id~}* z+8PPpzFvY;KA;DlT%of*vRSBg#g4l=u+mD1UYXFSXni$88d-^|m2ixW@?Fr%z;qR(3o^@AHbkt_ z-?*SfFtxtU+{TTNZFkCA8jn6(V7BclVS&l)Vs^GQO{6?Iu_mIS$KE^II^tc-T%)v^ zz;f058H?}bIU8?z{ZhZsvoo`_l{U46@j{b@P3Kj^&aH2Q1mhmdQ0z}&lNM%2@S+f~ zy9<5F-xNZ?C*VMAst=3&|JAe@_UXGv+Ej3Oc-TmY!{3uekS3obKiOwA==&d)@MB{M MRL@D91^(2>!tHh3MPiduo0$UdR z5Bvt-!c9grS32^&_PMX)zt5ij+#-8KcusgpctUtZ=xjnbcub(P<2=}hVSFfLd+0>S0zV4n-liO8<-Mt402-k1r_#2AE-X}Zr-;$0{oSpLvZ z!a^4-Rm1NedZqsSf?3nY^MXPb7q&U16jQBLg)B$aNI1e;xwY5Iz%C7~%^u8FA+%m5 z$;$eGW&9nN^n$Tr@IA^Al#@=Q Yuk0NfblopY__7fQ(s;~Dyot8{0g1Y|<^TWy diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/bg/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/bg/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index a8513cc179b01ec89aca22e41f7e7fcd79837680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534 zcmYLGO>fjN5G{gJj+{9R61OsmlP+cJ?V_rms?-&wgu>OE431G^Tef#$e+d5$@mrX% zQZv$%$MTzx_x$(ei{A$v&ls;5Zy3)RZy96E8GrckgwK)l6!*dXpeEsMi;ondaaO|T zPj}!|h!j9%59D1)xQg1ec)rmQYbPNEWn-_B3-Qc%e%PsYFgCZ8vipxUUIbE!d*P)@ zB%u=JdlV&BGbn|eog9i%2qxkKZOu4y;=Mz0jMW^Reh&`SGIAjv0B1>ZP>$p6I74aE(}qE_5ZJNSuJ3nE-k!XLb=Gk;SE^| S<3~vNx)%afKEsx_*}*@vi=ue| diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/bn/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/bn/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index d09a9bf147c300d1271ffe9884f678c3ea6512b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 528 zcmYLG%Wl*#6fJ^PmaJLaO6}W{FNiK;|Vq3PS(0^ddg8zYE zV9B>|(~+7h9obht_i>K@J%9FdkK+mB1>+^-DdQDmj0NK_KOXWqavtL*xUWxYZ^S+wh=3*AO&q>uagV$*mr)o*UeyTZYgCq*A<=y z(usTFnNFmj6!J9+iRBEWP_x4WA%$Qf-qM{JXHL91N`Z0?QmWbPK$Oh8(lKH6I8edb z)Sd3(_Yc$QKfmB;c*u`yPD5V1;SHDAcB@;$iu9o1glwyO14ms-KB}VVTujvD-)O@c zD0iVP{LYA2Omd2WCsQakwwPKf*w}1+xjvu#lDWuEolRtU&wI~;6MavG@3pZ@;9c3u zwE9q8;9}y9dcIJ=b6dN{*jB+}W7xfZ8+4BsE(}qD^$%%Wl}p%NR~GhHAeY%^d`p(X S_yr0+?Sw#?&#|GqZ0|ozW}w9Y diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/br/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/br/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 8ec38c055ef5dbacbbe67080a15093a8a1a4f31d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 526 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ckb/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ckb/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 91afcb0c47caba2f3fc7d42e4b105e76c71addce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 533 zcmYLG%T6OP5Cp+#j+{9(5;wMIJW(QoLlC<>R%nTM4X{@y)6AG;Y|D0de8_$s65p~t zL}E%RxmzxEyUL$ioB!4r>&$KDE^~wVgV|!p{NT$2K3mNtc2*52@4gi567-{&ATcaZBj!qxxOm!#FL6V3r|%f z2|bbTqsXz>hg``1!Jf#4U?JYpi*9#zx&h{_6Oa#Ne}7Lfl1mjL7T*gcoGPQ>=iI9X z4oj|&=SyGeP^Z?=5z9@rR25-Cs*&(#bq9BrCulgVV{}1gS#3k4GJT~f+o06?Ds!tW zLe@FT8eUF5o6Vd^k)`ga*A~~@plHtd`J9ZuEEoN?^v>CyyZu5-e`{Epj zovt|w~%$C|z5{6UF5iXWqE%4m>CP*;us}1Ac2v+6Tz|I)*QSujmlOf;!gM`PG N73ie{Ea@d#`ww23p^g9m diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/cs/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/cs/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 246822ab421b3a73420a771050540f81afb3edd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 705 zcmZ9K&2G~`5Xa5e#YY4;5Ob=Es3NUHUy`Tv!kS)y_4$y5$Ocx&y_t@5|u9@f*4ck?TP79R@*g7dlzj9<`$@a9VtN>LnLK|;( zV7ZLfRUAi;;W=;+u&%b_7Obs->c;IR8Bwy;@jtLvsL(VoB;fsWQfLKH#8Mpl-bd-? qvkDZd`E2#8=<)ng>A*Wcqo=i=DyimIa8}M|*WYRH3T&yzwEq|9JJu@z diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/cy/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/cy/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 2ded6d4867ca7dd1c4a32433c49dda1334a4ca42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 585 zcmYL`&u-K(5XP53r(BRYbC?4MP?^L|cgxn>Kt*X$rLHI?{JFZxkfciN$o3ZY9k_Df zec&~C7RKAEJJP54Cx7;MzWjUq@YjUv9_tC~DeD321uNE^_2~X&vd`b>xvO($uc!)m zTH|MOzOzQb#}8*PYUjy;NG@o!F5uEPU5#&6jmOd|2u>T{>tLNf9NTeN>w4%+YA7V< z?@K&#qyyiDZ*?FAxsWeWNX(}og_`c~2q^>`@q(_q*mLWfp%f@*Af*!19g(x|O#6W4 zT|))Su4;7;e|~nY{`(sah7BK9j4rM0@QRO^W~Cd#lJub93-!K*gEoZGt1N4+4^*e$ z>5?a))Vd}cZ({J-c9?A7zT~oMooz2vP_2{Y>GF7+mP|!*WKAH$uUwBjZlE6_8++ZE z1@KEb$WVMLPjJ5V#c95g!(&s~x-*S}`DMr1^(&`)Jh5)@3e31cU+gX5W?4KlMIoNU xYY?Cyf{Y+v)*Hhk@Et0SJjtsf@?_x5W3?NTuSkrYf`49ZYt1tin diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/da/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/da/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 1c01282feb3a89b98ea85af0515dac53e0849d44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2575 zcmaKt&5smC7{*%#Kh`hAuV_$SMlc|B&&;|i3@n1MD1lvYnN<@LNzHV1Pcc1JZB_LS z^{Hcv!s?!o`~-Xm{0^*uKZ6Ise?YfxZA%c`555Vy^}C>3=Ogf8@CxYi z{s#O7Io<&Gq5swGL9hqB0qzF>1uue6-BH%}0qFAh0(=Gh7IgV-y|auLfmQU+fUe$m z!3g{edm%wdz1;LBpMQ|JVIq35Jdf5L7d;tC5K{x+z5b65bAeH}y)cxc3 zVk_FcWj8=-<7Yemb9&u_hLXk)(g^NDb6U@!-HqlRrxBL&IYCm0Qr{iZD$5FPsLwSg zemUoD%i{yoDl8?ckTLC<-5p24ajGmYG*_0FE>x(?2Ysbu>N7K*;YPGGWrR$rrCGbn z?WXUN_sLjhd5_ETt6!m9Oe%_bCVIkhO)YNwoJ$gx7*enuPPyi*LKTLT+H>GS*~$ftx3ONOEvTNVXN%97~inU@y@ z4Y-YhW=BA>+)r#PnPj4Ep_;HAs$ly~WjMqRa_%Z`XRI)sFi9dD&W4CdNLnm1D?-a! z8K<`kt_3$YpSWQ^a;A;TZAFfb7R3r_P4zi87z>{`eqq6#Ce4jOl^CIUTcuLGgHmE< z8MzeQ%&GUoleppSQox%yXq}xM)%lhc6YW z37e`>YMwExv^kb{^4@^OJs~5>?acXe&G3Zg%*h&_#EEXuY_0x6SgVJ#b5yT2<__(z z)oV2j43}|k-I|ke&xN%^Vf}fk&o!Q{@2|~b+*xL9*mRrh7i`d?Xm?mf-+w4N?1xY3 zNYD3=wb9j4TlJ1&icAZZ^03KSuR$l76sAK*I@acR_sq zYN|af%yl(p)k(w#^qyHfy|^%us~**6PAF+{al^gPTCh{*CD*Q{8F%*Orr;Kq zvv5--b(sr5owaM1G{@<1T{9ILgDlB`opLc;h*e79lcR;>VKS%}X|ULIMV9f*aOj*$ z1&8mMkOoaOr&sUpCU$^?jZISHmP|!d(>mBPv6M_ zhfc7;Ns*-poep0<@YEE^7q0qM&XW>^#2U#pq1nN1XgirF!oh=wX>P=0?^=N5t zwEq`xyx*hxyiGaJEKe%sh3wj*H+jJllNCNWm#8<=BDQ+a4OY51R@U3+&^^l+<4b@b N<(qL@qu=K!_z%EM3yS~% diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/de/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/de/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index b1d72a8f135f0f2688cc7c7ebfe0784e59743d17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4576 zcma)9O^h5z6|O)4vp^sQLim4P+t`V>=VxODGxmbl_G}b+*K6&LV~8R}J<~PQo$0O` zS5@z1mPiE7C>P*@q5w$_oDe?}7ghqX2!VtIhe%w2gAYi^H^hM>-|Oy~?fG#?OXJU7 z{p!_w-}_!w?LUq`_&tGV1;5YW_tFDGTm=5@UHAvjAKop*s@YBFQ13SQbz)u0U--9{87l5AweiO)cKLmaPcmTWvd<#gxhu@pWvdH&M-b3O^kd9DHRNqi0X zL0}vBuLp$Cz_UF50U>I@Zvh_z{sPGH{T=u`@DWVnIQM|e-;aPV0e=JJx~+Xkh))8a z1#)~2$m8DyGEYAPUI+dO$UHszkPsE%SAge%3dr%l0pxXl1v~@%Cy?`g2xM?v%RpXd z6L=cfE%4jGD&Buyyx#?0!~3z12;l*@fE@SNfy~eMf$aCEK#u2kK#unwkoi6aa@p>2 zAoF**cz>>VH$aZ#6(IBfV<4y$zXxJz@fRTIojh;rLOO?BQDR!?i%G ziIe<-hjV59u(nw*Xe+UVALq>ZiqrK|0qyy5DlHAAktAOn$c~f23bj*5U7f0cPOqK{ zDq@|McbctRJ2!ThsV_%EZ2}tlb~1x4IQUSHoxXJQ-*uAsqz(E1*HpM zNR>Ovg304jngSU|N#vxVwsb=&6-ADGMC(FH10(k$om$dLa$H6#Kar#d()cdYYA!H4 zO4>T6%&MH!2~584H)6+Dnmrjz80q+mly(S;Qj2jAgj{u;CK%@!hLH<3sBMFxJE?Zk za)8cn$8vsod{X4c5xkV6ni(Ev8;|mWWuH+<1ZNi{t4MddcD_0oA4pX$UsuPm9wLkO z2wCtH-JPgqy7cptX99K>@7@PFeSxM}nYpwfFf@Sc%|d%8h`aIiI650XfEf$ms3U#V4UULg0DcH}@C z=WW?u6nIzCp7mO~k&8I?oi_F|<|ZSb=T?+-OEa`jSy&Y_<9Kej-6LqSuHlBF$Tn*3CCK}yqao1!EHmDWq1TtASF7cJ3 zOD-Jh5F?j+i66z4j!wReNvfCnJ?XWipET$xX<$p2LgxmyQLTpBa-$7p8$M-4n_hL0 z(_*Vf`Bd$l*vlkns)4K?d2L_|SlW7et9is=y;57cs+B`mdMz{qIFc{A>LB(bb&*(+ z*zwkGwKlv9M|PZ4R~oOWI+{1B23=@JpfFC2AA1|xB(_0nkiFWq)r*w>cTLfWHL71+ z`l|PoRD23))1cdVGPGK$*R#^)=kaZcJq4v7^4{WB$Ztc7d?cmL36d;qB6;`&G?Jw2v7aRHyugyK=LauM+?o1*7(=i|7GT>9`yEgZ^fUq+n}XZQXv!V-LlhY9hWBajL0X%kA* zlNcZ8Ea_I#27yY!xt;Xq!W?$9Gd(|ar^q;wv3LK^#N_5Dd&H%%G{bG5MXV4xjCSq@Q&+-yAw&A*RU% zf@N0`*Wlm=YlvMp`R;J|=6qwbRn~NGt1GrjjUAZ71J%Qo0GElkx5s%eX*<703?oE< zxtZcY1M>|c5MgG8Z9P*3HWb_>Vq7I~7s3rfhQ=E&;-PE?yZg9r_S5+AP29G6_j8gr zMlNz+`SHl+q~PElSJu$(_zwhjkMkot*TFiEPbw$&2Jau zLR!8k9GOikV#+V^!HN31eP7|q3BsVzDT|qScoRW8t#7uPJKpyAFOz&m{>|h*aZxLe i&hAF#ZzV!-qE*EBs*!I+vwKaZ+sSRC&o`cYNc;~{8d=-` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/el/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/el/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 2e43451689b75ac05547f4e62d5f4c5ed79bbaa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5842 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/es/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/es/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 5b3792aa1d11373b215c01b3413d09d15205e32c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4548 zcma);OtrvUa#@46OceqGhH*=c2Cu~ zKXyG95<*Cb6Bm>N5{DS1NI`*1#05n{%1VeFA}*1*AS8qYhujbn9QnQK-kF}+HMphm zf4lls)qDT6@FU>S_XNQS@Dz9oyi#EfF7o~}@B;WdP~!VfHGcfP zLGV%D*T4^f-vlM@1eE=M42nNL2Ok6906z=94N4sU1ZDoh`$|3)C~>ZUdfh zzdaNL4s7zi`To+cA5{1<7&87Q_yYKEP=OmvmbgZs178HipNBtC?t2oH@5`X<`yJ5d z6}-&*Ppj{L1)t#kkq?&pc0lp_Ti}ymR*nA>`~>fBf#<-#gJSnMds{{xiuk6u1SqDcSfd{o9LYC7P;!X!ba-k(ut@MJfjw`uWsGAesyzE-7@1{ zmquz=XOkIX(Mwzw+kxt)x_8Uu2fw@FP%D=z{eMlZ*;QGtb2BuyT*y09`emJpOcD>{ z+@z{&@?B%BigTs$Hs3aCl$xE`6`69@h+nC(dT5jznN;Vovj-f@#>1{ll((t}b&SdP z{ibB$%%nRenlRGSR#}(hlqxdDA&6LAQVbavA9mw>+d*v?hHe)wH<>t?>uzEWZqFyH zbP}^l-K)9b{b-YMnK1vEMB-d_NU&D9em^^y9mYq-*3;K_N#b^iqB|xEnd15rwalje z;N&@nbCnpKv4S=Gd_<-n+xU=ttlCK2@boAoIv@RNCDN$~8o^|2cN`d zyJf75q^9QvHohyzHj&CQsTXr!Bb{r{-`sd@_u5*Mh^r~j>omUKaW`p7bv)h?JtF`cDQt2wOgI@Uq0Jvw^|s6*Quql z=ZxJ_*gCIT?amXevn`&5E1d0cOAd(8yPPWfv$S__w)%{i0d7DoZP%$>YBN_1?OmFSUrw{l}^Exa(b zllb~34OaoQ(=*F;_6sb4{~Wo zy-)_DmKyE$La<5i&7?nd=^*=UnbMV=Q;a%g*wW_d-fLAmuGy=?YP67O+U~STH|k4b zLe))s+a{M{sCqHVqBYL1(sRWfGb-XDoIc`B^ViPY=7Xba*P#uq$r9ac|C~{2(UT-mj!}yJHVzq;Axx zDx0^Ch{LH-VOXumB=1l)bk*jvN7=vWfYe1k#Yv(mA@_Ajil#pB-3z`Pop88Mf!uM} zyz2GyQ*~ABgx}gXv5(M9qVMWq%nGjdv8(5ksF6{QPU+)=B94fdqt+4{ANNlQg55Dnt^oe#K+HleQ!`EdFugd!*Q=ax zao)FqGA^`H#W<0#&mC8;z2C~sZ+Zz}|Jm)4{8YAtOvc!TR#_L47;&iT>cjL9MNL=R z7m>t1wOys{;CbnGjyy!h|tjys< zPP-pY?gp@QpXo5ArO4lwMCuwcZ4%F zTV_kKo~V6DKj_E3$w0X>y6!sXU*U|OxZ)~4hCyl#B46bi`R TPIbv>1d}U8`G+ZQ7B2WNaTY!< diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/et/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/et/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index ed1f325144b802a2923d719f4949491a959fb5e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4206 zcma)8O^h5z74C#UVEK)K@RI=LT^l=idwy1NaK>H~W5y79*ABbm5D*fonSL`6~ zuIkw=AVo-s6XJq6AmtDtOWZghEvJ=`mpaA{~_yq6|zya_b;HQCi-i1^m z^ZXy+M}TKO7zFqW*6{NTunpw-G4KNL6(IZfOCbC6I*@t%6OiqA7)qIkCxGj~OF)*t z1Uv)02V}p0Sjt}oHt~J{+ywp|$o#HB3EO=e$mc{r`~@@odjIH!3qrzo{x zjbAXBBhDZ8mGcE<6|CSv`gk6L^X+qyn8`RNEA}WOK`*B?a1^bJe(uE3GtmK+}>RkQ`+A%StRzPt#6FnY472-5 z-^9YNsylTSn;$qQSh1ySMp4DcKx(0lgHa;4kb@xjYT`VBoNd@sZfrnp9}L~gjU&qj zI@youQ*g@kGzfdi-7rQ1QN#CQ=HYp42Sk)bRbVj*TXk7acuVBMSmY& z@D?+yvgLT_Pi|f^*ol~=g$7MWd_*)fClXQ^;ji8e4jgb{L zl>@qHpF$jl25DVoOCz{d=I(0m&gv4Y+X{r?;01S$;II8jgA$X3=ENo9t- zZv=NWSoEy~F&HWB6AQ;xHGOQ!U@XxxP|e4rkpYP{MTGK(iW}E=yR{hASCozE*e*0G zn2)el&cc(LR%fQ9S(4GfjI{bLmu<|QrRo<;vypVt^S30gonF&bd0cLJQD*8vsBI7)had^{YiR}oT`d7QTaa9!mZfbFMQ?#$HycB+wG+#d^>xgd@ z&WMdhyB$U}TM6zMB$eW3hx>Sbe||r6xpnJenxhJ;adOF)KPAVl={rJswxt+1(**f0{Xej5q-h2%a!j!k zX`V-UABigCNKRyR()=*#Q>Ik{I})TqHDP(i#7gko*&~aOOT|ucucB^U&V($SwNm!Q zRNCCh2u2WPxz_|95I!_5VU@Dpc$kdqM$8Y#G({6YPzj<@o~0^MVv@T&fj3hXQQ=Hw zBDx;FF1*@G=5Jwm(WRK($2mn*ynL|=Gf~}Jt;T#4lu<)Ocyk$*b&)7=%Jd$wS_?im z(NnioV&ut~5;lchEV-DfY(jB_Z{Iy!GIEvn4&yfViQQ@%@j*m&ybh^l= zdSv)Q#ivKXK$#b~GW_K^b?6`{Y(WZ_m_|%XtuP*6pWGsI`1>_-Q;OM>SY#4yIg$x_ zZDpsy{kjyFGFCZ0sW_pkrKKE%%W`6uNLVx@d>+mZ#uGjindEQCDawnd9F0&;?+&EQI1Q1ODwKJu$Q?o|!pxxY~xSA{f*Wxy_rG;aQ_)+(JlqQ2LA>9 C^4U`W diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/eu/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/eu/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index b83c4aaa67a093acd91891140968f24ea75bdc61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmYLG%Wl;$5G{gLmaJI}61y^q9rePkZ!fA^T2!f5loB3WHyIM6#CC0`(0^ddg8zX} zV9U2K>6Mz1j_i@oJkIgI$B%yQa6DifjN5G{gJj+{9R61Osmz1kI9Zx>bc16AsZrA-T0H+e9p#f)uokolY*qBj5V|Ue~>`xuuk?Kb3eK zNGI-vCpwXWiIDG5NSsVT3N=007g7io;w9agVdkitp=6x|Db;kgFBsW{jtR@BfeKcp zYIO&HewtSQ{SAlxV|`R{8S={Y@A-;twz?rKN%soYgEMX6uuaKFRTQm@iR%12-LePD zU1$ow3nCVyoucQ-6pD>5#+C{;I$NEuPRG1tF0x~16Ip)ey=TLTex$;8+Smo~TRF7)B6vqveujR9af`AsBh=N4r*$=AHOjwi<5>zQsO1o`AaPjUqyY9}|Q`?ht zIdOvnS1yQSB~EZh;(~ew2_#T&oVX(naOVGJcDuVtpd)#I>*qJ`<8OO@KX&8`hUaOF z6ByrPoW%I(9{k|>8GH%+1$+(s3*_L5dl`EHY=h5$AB^WYNb8@2^xik%tKd&#{tYf- ze)2xXj)N=U6W|qa0o(zf0zU(ff?t7D&$r;S;Ey2X{R8|JwXh?MJqP@DKVzrBKS9cO z{DI2e1}WZEka`@B?Vo@zV*Vva@xL3-Z-dWc{trn0M;~PD82AcE^(}!^$A=)r^&s{6 zDM)pE4N_k}fK(pEcogF?477gWd2+@=Iy{a+aUUMr5vF{o29(6mHnq$i!Jwyx@el@S zh1MBc<-OE;ZTh_HWN)Yf-;YQ$}Wr+gv#rv^57}`BB!j zDKEWd^DMAc!)2ETaD%$qR|wsGrZY|&n%s8G#d>#ii>JjQ_iX1S+hpNR2Rjo$hv+#uN3h0X&-feJr$J#^&MTGhK>1-u5F#)TAzy5j2g8y zYXVM#=s<30qi%$Ho=R<&Ih_fwLi=)OL!6uXQ8PQriFMPnbfjZ`uB#zkS~!`C4eK%= zbCZ`--)=4Q>Tlcdg*I<4*WMTJDnobDx|m_>@tqxYsMXNppy7F3>%~O5_!o0Um zGpT(sZT@Q0R~+C0D0M0xS&au-FQvo4FYsPfOP?n*O|hb#w~K|jOCwb18kSX6J8 zOSD#1Gh>7;hXlA(r12y~Szmdj#W)%yn|e?rG^dT1X58}R%}IhzK?ikWT`aHmqL@e> XvH5kn+hH`yb3NB-MnV+VBy#)Wt;(!o{3s)pSg70!ev1>kSqgI~CQc9gL%0DlfV4*WCl5#W8tiuK2V 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 SKalWsX9Sw^4feDx_Wl9TqoD-= diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/gu/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/gu/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index b415aec6001194486bb11a8b72194253917b9e99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534 zcmYLF%Wm5+5KPgYbj-PjEzn!K5@k4vL&rtXJd6Nwo1|*eD`RbF8WKs6R30DFzbpDJ zUD-f1z<{se?#}$%{qSdp@s9bC`I-5i`GwhI!u-pRN4)l$H(Up|re(s*8t*7XfZWn-g~3-QFSeEX{E*4W%q%C3J@cp6A0u7zhR zk%W;b4^fmj8bc}M_-Id*La-2T>B;mx2i-xh6B8&8<#>NjFtRHZ6IO2xC44vQpw=*_ zMp*;Ldb8Ti<%w>UY4W9Ozw$q;JEaLLQmuq}w^o6tg5y<6KFXq4xtOTVpXq^}Q0{^* z{5FnQ45o^f`%@@%R}3{J=q_7aF3yM4%3Nfp&L*-v?WB+YIW}e^kzt^uG_qbj#-Z0)VUNYV@hMF?|^5qGy1LwJJgZo3Pgx3xJpb(9- z625)C0k1-&03y31??S>wY)yk7*KNewNk~E2*s0_~JoDQ3531>n%`K(u_DhZDfmGsI z_(>&_P>J#wMTyk}N+BmF`=S(riFijFGiZ*yLlnnYO`$xJ2S@v&V&0943F~J;2@4lB z!IcW@sNuBlb$NKUHMViv*qIIGE7yPEF59kEOIVZYC0x-m&=yX0N&@Luw@+~dd z1?4WZh2KRHi_uWgvo?i7Q!!4Ipeb8iFD}N!%3NgU&L*<_(g)9$6Wyo6cgolqtn?6O znt!h^aXRt_N53iHg>)om+T2hjNzv!p~$W S44)w3=gtUJ`2-uKW| zLC^gyov;!a>B%1X&BuHGxAXkx7RNT@1>+Ut8RIo$j5*^kKOXQoa-QNUxI3y7UNrcL zLNv}Q_;7s*UWZ5lM0P{og@mivng&nSZN$ncNI~1!>*PW__MIOdbTb&6TT0p0`wCA3 z>BPP8jZUPX6mlPh#BvX$Pps9z1%0Jt%l*Y-8ZCOUXx76rGESn*1BxvI5Fo zXbZowAr_OEV&J(Hip~^MLj|45Ru`+Y$t{_S?9|yrmbZNHEH}~jRQO&Sy8zyljZDjr z)j7^5-l*m)1w6C0Ym99b%x?{Q*RO-_@!W+WDzN@BjmvTYo9oiT%O%J~_66UPr7(Vg Qg3lWvQ06mi=sw%}5BF`L0ssI2 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hr/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hr/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index bda03379470b336d0a4ec8c477860648d8a4aca2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 603 zcmYLGO>fjN5M4e_IdbMOm7oHZN$jvIw%$#ty0oZLSCkSyu5L0UL5UsN-j+)J30yhw zf8cNMTbS&M?nqCbk>B&oJpX<4@aKr*9^*0N3F86d1!IUQW9R;8w9n_jxr=jWzflqJ zw8T&3d}ED*5AV;Q*Upmz5nWJkUBIQUni7vzmB-vF2u>T{>R_Ee?CZX}(Ph_|*ieYh z-{rV)qyxW&Z*(99sgSQwNKD5dg&Obg2`K~<@q(_Jq34!2K`Bs9KuVR4_e9FPGwlQB zcMTORo1)e&{Ql9@`p++zckBAF;L^o~?G9LCs+Fz?bJCrHg|j@4HZZS4=)Fpk+WJ6c zd`*|U1jW`>NxyNzC)<6Jj$4yUYL{%^R8YHUdAdB_8YW{AEvyM-c+i`kHxBeYBz>zJ zGXox$y$spM`~;_4-muVDa(HYCTQ;UrFuiQpzINqwizn7~UV-V?rO#f@V3TI%sT5fz zVRsjXRP1C@!fOz~Y_1Qo^#9d78xQHTHEk{h+}>^^%n{F7BUzKqqA&QC47uSq6@1=U M0%<(KlCGlBKXcu$p8x;= diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hu/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hu/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index dbdc6d96d35c277770649070577bb2b4471b0df9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3655 zcma);O^h5z6~_y3AS{7^`AQ(b+l`&9WB2ULVuLfbkr!tjM|ju48Joa~n(msJ_EdLu zx@u-UeIZ;pMMx2fL?k}6QZ9RNBD6|`B9M@p<;KSW3FQD1IdVZlNQfK%S3O_*A)uw+ z-&S>fy!U_aRn1?HAA3dMIf?fXyidJHh;yKRFaF@U{5~O`0N21pP=j9pzd!DO9lVbA zJ0O9N9TVcS;M3rzz!3aASd9B$1wW1Uo8U$8w;+KF_X%+ZJPq>t&x0Qa?}E$VOWj({aujle{J0UJ@`qq{{cP--v0q1J_bGnehz#B zWc#jxJnq{d>oNq{uOEQ-gKvNjfIkP{fo6N)S+sxp!OH$Wf^646LH6t61tD&MS3v@Q z1U?M@5L|0?6xq2RsG71`_x?kjMWW48Z$f6zlXw@HDtN zZWkc?^$Pe9cyHYQ8<6My6+8z%_~FXmb&&OMgRIjKWSzbTvYkH!S(jgdtjnK4*8ATe z$K{ca2mwh%14Ng25`;_wX(AwrUmFkzgMT>P*gu}j56toF@!pe%^NAnUjbp(3P9FA| z^X5^!97o>s7+%85&q=&6K|m&-kAT->k^jNNF<}4rVLdcsAC3cL?>5IL^ZKSOE=eBw{C7ew?ut4+A?`WThdNv z@Q6?w8>d}r=Q8Xoclf(W5=kZ}`9FuIYKyFsP9-X>7V^eacBO_QrQ;-aDyOz`TS}!A zJCd;0^%P~f8pdW|$)t+y%2g^8MJ7|Zbg@Yf8D>XG+i3Em=ABv;Ybi+`!_WC{tU2F3 z*-not#r$U|nJa6L*exZ~>Da^apg&XTynY>{wb@b;wMUSQrG^@Jo$jZj(LVHw#0T}h#O@{zYelq z4s5mAoMV~HE&FvVos=JB>&B_i1#pj zf@h-Ow#vC+n)KY)uaj3Lr~1N8m6_ZH8@3xq!B+=e8?;QbN)#=f$?fH=mn9<^C2?9y zm0NiBMk~0ID_`otQ#eDKv|4X`IjA>+)w9&7H_twKy56YQF)+A^lY;l0jr&s2SPfPi z)Hv5Xcm8x8&%$*SPSE1a^cyy5BZm5#e*IG1lY6hy#l*KShiK-t&?H~Ml(ajLT@|#H zOqz6Ukak&_lrHw1%WQLHrDrT>^OkC3QB^Z}cO|Q&uq!i%R_qHpsH9lw4OV6gH>o#R z*m!1ReWqHYR$sVcQis$JTF5wvr0%+vOv^aEK%6f)LN48ET@B99#<5o&l?Ur-Xt?T| zbiN%!Lp{i)4z8L!u}w-d-?W!jFHrUGrIZ#gQRBkG^TE?9<#W~KP5MUV46W80^#$Q? zmvSd}QeNuW@Zs$XJ28V*bTgXXWZtI?OtZh^N!Lu9A|^pyCWLn^ey&Y#(9Z`!dnfU&8WuX(+`C5E`_*m5mx0Yj-@zE$9KEO#u)0-yF?=FPabe9NH*{i@q8RYO%^P)y0* z&xSKIs{yu%lXkhwr*XM6tPENlPt~)o$!b+s-{j?XyNz5*;5;R&TbVnQ)wq7#QFr{N z6Ay3r`(~d)o1@r!afFOxmt^7CouP8@YZ}GrA_&EQSz{K8>#ECQw%a}i#unOSFqxyh zog2i&POMy8E>2aq%{WqVRPL~LlL6PNIlA1PkM$aj*FwLKgL7nya<>Y_a$lXAAMJ0Q z{*jrrsS=-~G!qy={RY zV*MJS3$^ZZ?Z^)~7LE7KSub$!Yt`czSl+Vyg=4>Blu=PA-K2M4{0Uz)@4onB{-M*4 z@fGEUTrKdE$d&i9ft7O(b(F?>@Fp_4YYMjaHsTS2ZecU#Ef7{IZ zG8{JZV^D_H;6Azv-E5+A*sYv~AxXI#nMrX?3gL)x5|>Y9^bsG&QDgZJZ7?%^G96ZG Yhy2=|FQZ=Emi_`N;x4M_ZQ>5`AH^1K_y7O^ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hy/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/hy/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 1b119263026bea0a55ec2171ce5bb0c5d679766f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1700 zcma)5O>Z1U5FH@lV-XTTf(sxD3B+gb?pO(I#A928-TkZb}Mgxb61-AQJ;ho0Uz zdyB$}0}>KKoL9&Y6i5Pc7K3o|2M{OPH{ito;B~K^jZNavQuXVasd`oQrsuE6_Iwdx zJq&vaW?}nazrp-^^qwes8MqHfz$xGpzz={=0xj@W;Ag;Rfa|~)fPZe{-g~3yargr0 z<7a{Y;N6G71^9D&qUdel=RjZQZ(svh*&9VCfV05YfL{U+0e|1bNA8cJr{T{74+2jE zK^qn*BGBJlND1pc?0!y!hV=mU2VoDvD&YyX8EWY~m!u6zYGt}iRfiUhY@K0C%d#Xs zS8&U6yNXc5O6E+uU?Xj+)y@D#GE0%OBTsn}!)1A!6iXS)(vnt;PO@IEsLe~MN^iqI zr`o=|k9yiNJs&@}vrx0kqCJ99Cr>YK!L0f(gy2w&6a_WPGNSsxOr-X-djl+{1m@)w+s{atP_F z(~}(*O_n*5P0lKnil(~O7G+Yab#>`)%Q7!wAg*fDsTCtt%G!9gT8=i@)VlrJm@}bn zzp`+2VQws5T&-7TwX&?xbics#me1K*k;zm|hObhxoj%z-A{yg3Kim=$P_W-X=vCOYFwh0} zKWqF7X5Z`AzRy)iaK&q~)t*=7l7Ha2!!V)m)m{1yzxXZUxu1~?Z9|K@NH>5sqq4qQ zC_D7B5j=mmn*{$&zlyJgp|+?0@dMb_H?P791jcwn_mhvh<7dS*Yu?=Vp)*g2tnIx2 E0^~u>!~g&Q diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ia/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ia/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index f00dad8be474dd8c6b301ac51ac599702948e5f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4621 zcma)<&yO5O6~{YZ3@kr_&F|l}Ya83xJv*~R#*E`A#;hX?Z+2Pl8jz4sZFkLV$30c! z{;`umND&+ngahKnA<7{VB;qfK1mXlpC_;*q3xXquNE{GChzopP^-NFC%sSB0`0MU^ zRrTJtzV+VQKc7DF(}3qPzfbY|?ju2P4gAyF_=o4WZx4dcgTDh;!GD0C1wV44`hEqx z!@C9*_)GAU;A>z6z6pK;+9J}8qe0QW%g|2gmn;ER*@@O>4(JD~8;2W8*qLGkw& z;4Sd?pzw0){Xwt}UIE3v2Yw9v5h(k<1j;^dfWqg$!4~)^qzDgBfU?dmD1ME=%is&3 z0{;Ns0RIMF0oxy_&Y=&A&VCHaI(g{FX=f5-qIqgI4b+vheY+oY(I~Q2aj6Pafe+ zp40rG$onFE%k|;tf=m455lx7{;=AxFF(Y;VNL=ExJfdlNL`z(?;EcTR2p1BcoQ3dl zg5L^1y8)saq1ldF-*j55y-O;nipvN|XW)pMnd)wzwcaVxl?)^<1d_IIDY zyQc1&@yKPd8tJ^AAr?{U^2GMlL8hbordS?#gMn5qQ~H0JS~F64p$juGwpz$LQ~70` zicOjflEP%_z!W26tV#-{@wPZLYM7a$#Fe>n)`(x3v3g*X8=6cPiL*SGDOO>~3 z2DQrMhmI*(I5*jmiEBn8ZIyKePN_2II|LD{OUnV@#fMQ+96G2yfT0JaD@-m97WyDH z%iA+#l}-~@X?nHrc^Yjxt`5u(bC5Wf9}}!quGh<#PlxYAW1GjO{M1d)sRZtZpR`#>O-5TEWv!6`8iVj%r66e525e+ahL#N(RH! z%N54Prf3CwNU;)L&&v`eC&hSSQ*VUWn}(Gf<{1<_m&X5xU4rh1-rLC8UYbM&1R^`N zCS0zGUzil*Aq)1nh#I9TzKCwg1xc(DtG3FtNW#jI2c^jp5$bUh#mfdGL!F`fRz=DDx2gT%%{hU?7|H*ehCY@AWkVv?BVW|63HpJT0q zC6dOfg}ZO8e927Y`ZoEFT-#JKOPwzkMq^!Q&)>rL#_o-^>WC*(?&&Of*mXBqMs_^Y z3GyQ2+?0P0b~5)2RED?X@Se%!PIuMauia6e>rAy*cFoXbMYxsslQ{fx+0Vm0*R6D$ z>cVCDlf%Q|V65XoVq4Y}D?8hJ;myqWWEg&hEZbEZ?amj&b|>6;Om*7b$G&u_-D$Tm z40p+;vgd+b`wMEL(`{qNvvP;K9q!3R@f&v4Q;9p$oVvQ}GOZr(w{q~wBFQ5Z)=G*e zm}2{-?wfGW=s{QAwosmOP9^4tMKR2~>+6Rum+Lh$2P|t^F6*xkD>Cx+SxD>ogEXwj zSWoo&Z0W8_^vc%lt<4#4omPA0reiOQzgz)mGS3$4!&E2sni3t7=dSPX-3qVH>?E$9 z$-+$=IY~`jb@d>D#k9U6@`9IezS!>x}KO!znYPDNk3Vhi_?Rz?AtW~uf z#tDcaP>v#_j>|VVaSY&s->53-6h%^HW*|dF3Ec|U1fnj?iu=X4@|Nss(o`>-_>$k^ z-U~6(02xK$tR*1llAAJic06#)vzz5>Q2=q0BlReu6|u!JbDILuv`grN!vCNYD7kryBZL0<>BdbvSjVQd?CQL4|Z*N3BzCczdDcxBlIZ;$b z%_|vS@RhA=rKO645@{W4#Kmh^9J2FMtTvP(Djc=1;=NpE;9D=Re1#dvRAWb)s zxFJoxZ!aVQq zeq-NWcwVscncH^|p4Y1P@Pj+0jmR|I+qnrMrp7mRfazJ!EIkG-!F*m_-j?2Cnh>Oo zq7_=)-p3Fp5kV|W->&}}ne-dgpC)2ebq_8_>Kr>|$}>RQ;iOBmoKD|PM|YZ;|1BoZ i^0QxJev9p9IVmNjPZQmd?^co&KNgx3@}qPs!G8hc2T+m# diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/id/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/id/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 512f3a144071ea823f9b64eda5c757a821ff6e36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 858 zcmYL{Yi`sq5XS=)Aw@zU#0Ml08dboT%1+XUC~k}Tu2yQHlx^V~@~)?e*~GSNr|sSV z4!|9_1Xn>E0dBx#SM84S)A;fC*fW{mkLG?PWOs>Y#4d4O;@>Q zELEcoHyG37_kFhGQFgCjyE3AH#k_dU@`5ccLy?Q+Hw$@@=Okn&lva1=Ot-=c(k($z zh+=6WCrb}yh^&8ep@5w;4hQmr(vol@O_Ys<^>VuKg>>D*=2%wN@}cEgy`>PQY-Ne8 zkFpWaGs+qaS{hidVst@dS!DwigRm@y1wONB<)m1lcoc8zG>P*+Ac#fX!nW0tMlmb=WO&Vtg8c`eGyEO^ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/it/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/it/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 7dfad45f7a7caa412ecb7ee05d9308d007aac989..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4607 zcma)7)V6~{ZUEWvzk`2Maq2~J3Q?6FpfGl`KGaaN_<>6ftDN63M6s>1QL5#i3?iJXfJ4m5I6X}>hVm^jH9Kc$=}^o z_3FKU{okvX*G@e4gNWw>zfbV{`mrdw0{-nS{KNByw?@%t!9Rj0!GD3D20!#z`TZhz zgLe%o@E736!M}iQ@OAKG;H|f@27C_u6!2*eIJx~c0u9ihoJcL z61V~W9#r7*_e4<)o&&|+Gobi61lPeAK#BVmP}aWzUILFp%16KrPR$ooh6iGD=e!Ut&; zE%1|=g{SCD{d7kSbuuuy+B2C^=K0jL3)8uvT7yD${lIn9nbp&sTJ)4!ytCE3cjxBa zMYU`8_k7k-dpaMlkQwd7=hpR9E7R>=Q_PS1eqSq}DgCBXo!L`)p$pSDt~3;!DgAO@ zbxdOWwlJA$nPSfvr);4#-WEGXrI{I8KggALM*PZ*(|x0SYBF6|@8%rK_xmlMs4%M< z)JYaUa!iTg++;)388gz>PB~xTlp5rGhah70$)L}7@nO#vJ05CVF!W&H3zLh3g>EHg zetU+T(uu`N)vKA$htVec<$;A^4ie|`BZ76xcf0xg>F_-@u6lf3pCo>dC|dhOAxnIB ztd{AcpI$VbO?t+Pj*$Cm4e8-X5$L}#Pl8i{lwf?72Gwzq>S@>I9Y z+58;m(DlfAtd?5zrIB_Qo3|EcSlzY|#>NxwYSB%vicGs)x5tiF_(q`_*&@>lW&3Fo z_tq*w~C8)S)+ZLvSIX_$oAs}oB(Ofx9+eA4+p=2>)~25;NmbrahzAQ0K9 zMd5N${9;P6pJK2}B5IVX_#(Qc7TAumPHhj8!p5Z|4+bW)BGjW6ikB5eQk|juT6E9B zVkjk?LC?A%EVdix^wgC0j;3Ug%~M}H9ug~t4C#%D&8O~eRnDk7V^o-?R#B*MpJN>d zOC%Mmh2J$!zGSBDd(Iw6+9pz2#`R)mw4)0h_?!7&*}YJ`i2TzXKH2Pj!Au1#M^n#cH++udU@RRjZ(LX zE_{}6q&sPUUw8V})to67Zr^Igo0$p4F#ZBnwxL#6>X+h`dc69is;@MjynKG8zOur^ z_ztyH_MDklUsLsqjg{5&D?AG~$nCf(i4rz!sLjmgg{2y9`rNn!t**8+Tfcbu@=6 zWS)f8HCepn+FmMCL#?&2d^;IrI*G6Ote-cOOT%lvzIsKKf37=qa$VK0EPOfsqH%Kd z_^hFxDT7g~wR%17nBhXSg?+DdLD{lW?!t}iGkZaCSyC=@&#h7<`KSZ#?(Qs=Ozqo))Pzq(CqB=rQnWKMsY``DL3%L(#uc+ zgYWI7hd(Ek+6<2huuxz`m=t%DvvOvcq7WrgPTHm;o6flwQt|*bQq!#>tv!;iMo>EA zxoH{Ctz7H==Rg9_fz5y z61R?tHcP^lQMuvOS@kt_t`f_X7t~mjBy%x@YhMb?r~!aV(ZGcC2}{x<%~G|*9XM(L zszYJt^8T;*GuF@Opf!yWB`!C;fdxA<&ZUrB&Q^HkmO!6xYG7)DPH@vJWL4h#<3l_o zu`=6>3TO^Yr3aWAW=&O5VQi8^1OD_XwGV%-Xao+dYEf0tI>NG~6f5UfA0`t1&Eye% z0`@0tl9i4&PZ+<6L`LVL;m00Wxfz1uxgbK@P=?8cdU#w1oV2XNh$j!mO#??e6(S6j zGD93ooC}@9+<3^j@hrAHLQ2>fnl{mkqUHERY?GN!OCFNyY3V4@;A`186hZE8+%|-% z=+7c}L=YMWDHDUUntX{{TH8P8t9J diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ja/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ja/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index bef25010f1273f6a259188c29c026ac24632927a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3723 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 TVfX_D-!>j#l25Uw>ul>kA{wFe diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/kn/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/kn/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index ad76cd9ed06a00daffed8bc070f1d3955b96c4a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmYLGO>fjN5G{gJj+{9R61Osm6SnHs%c7RjRux@QO8B_Cn;{8}$Cm9a^oQ{Gdf=BZ z=}OH=PyTxI@t*IWKl{5Q@kH=K@JjGh@LDj&T<}jG4`dxVk8v5?FIp!&Z}1z1*gMwn zEc+a<%xC6tTo2c8jA T7{5cq_pK19@)x$Xh~e)b?qJ7OV&Hf?l@_9 zN~v9o-I8{k`S9p?gtk&b_!oik^?^NrVk zJbADrVLX92idaHCjW~24J}|Q2OP~%u3ohMd74-9d0iOZ?1do7!fiHqb?hn`twqve= z{uv*GZQwF^82kx*4*V7L>$%`>sBz$cB=uwd`@x{j(FcOOA@F%TPlBD`6|f8Z9z5me zgWcfa2PH`c-vm3rDewjGI_T^B8T9+Afno5eha?HdZVwzQJ&Jf3fhFk>0;RVHdedAcPL!&9x$TNqgnazk@v{*_o?F1$Bg3>&1YIH2tp()Y;IWxH= zH^@|TjHXp*JGV_5F#UQSxtV2*}kuFns|GZEY)^UArcyA7Po~w=45nDem$RYareZP?I)5%958AA8t~{g)7N=MwdPK#LCTB(ro*$y#NzTnoDyv6dKG~nisk))0 zcPv|}Q4QBe+%k4P58}vaj zB^s4AHWiX;)z7K%)_IlNQw!7aI_7!R7wIQ$audAq1UaKz^yyC(=a_S$gdDj=+FIF1ws4r=k z-sVv#Rw{Vwm#DV6Q7;#K!RtsZ&3lzus%=%>`ER`&#ismvanYB)wd7UG%Z@Ql@)=M{=(pufM^n0sU zJC)-*^#4;*<6pqt*lM)&bz1#$^GoD@Qbm*XLY3;}l7Hnbr~d|YkGvfK diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ksh/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ksh/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 4cf1cfc21c24720be255680329389b5a13b0774d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539 zcmYLGO>fjN5G{gJj+{Bnfg4O>r;FHn8>rZ}s8UxfC45}Hn;|hIwq-ko{t*6NCH@H$ zR%%9i@{IgEGw=ES>61T49FG{!7|$7x87~=AEE#|K@`TTc^AOwMe$YPQRfAtBMB}W2 zPam(r>kuh`$Zp8HkZ==Q)8MODWrasBs-gC+>yk zI+21>$k!+&mJ5(VElyqtDFhSohHlL?bLK5j3KS*CS4uFiWZt!o3G0V}3btc#O{d}1 zkGtNS{i0po&>QC2cGN9lO?ptUcD-w@(H2g-lzdc0(YctY$@u}VPPq$h;Sc&_F{>yB z9!R118M|Wcs(|ZkbG5mcjgq;@*3Krfyx^T@rHOv0!uQ(P73{mo!&H5)FL62ZCL!M` z;Dz10#@JTDa%b4Kehj+DOBaTy!217Xtd3W3NGn@a0^WiEzO5?BspPa=W#8~USqjr< RDENBN1~O+K8@kPo{s9ncp*;Wq diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ky/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ky/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 91ca6de099e77cfb503f864d1d7a6f9dd419e357..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmYLG%Wl*#6fJ^PmaJJ^BzEN{cIc>6PX|@>fhs!cgA~}h$t4L*Y|Hi(!Z)yG!T-P~ zu;p90=}66$j_fO+`#8t{o<8}x#qo&ojPZi;nDLS^#+>n&ANTkiIS+B+?H4K|o>usQ zd}ysv@c!})oc4h{h~$c#^$}O0ZYzAVt^*cULG;>$PDks*foohp=&El`YA7Zb=LH^m z(vf@Nk&dJw7jhSc#C!*&P&<3uLJGk|yrR2yoH_AkC2=~ud8 z36xr2XKv#|$R;&e&x6Tlw?j5{RB$^atJBr-WS2}ua%fE?!)p$X^+x&@GuP?XEPz*K zC*$(EIKlbE8|8c^kH@C8RcmSm^P85<>(*X(cw&7Y6c~4(hGo8h&2?$u`4Z$J`GjxD UkRN|Q!N-jd$kQ2CbeC-X2k<(e#Q*>R diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/li/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/li/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 0939115cb634496df7c70e2ed82a206d748d639f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 546 zcmYLGO;6k~5Tz=o9DD9zDsgBmx2gtt&j=)B#H?A$ny(tD^Pc%r&liR8^-EQ+{vijj9PtQk{gk?p7OL>(IbS6Qc_<%NiRZ zRp|q*cqU4%uQRtZCS=2SS;w7_&sv=gStYbOSzIqJ2mkU^Bp231GTis0V*?`niJ5Da zHd9zPy|r=nqrAfLpzG(mCy$qAZ7XeR3FDP!H`|R@EnZpQ1qsGIAH%Ge!frczZ{Xbw b@(nKX;=*k&dvUZL;?tLYOF z!27^!@GMMrrDmkR?9u$}@%;Vo!TnzoiaVr7q$i|%q!*+iW~7IACzE|z2j(`;yuHLK zveTMS=A2cDdxvp%v_Xmriqtee0}DVE zXYWgPb0YpBmRh) z>y$Qgpy!gCvG`P;u-V8BBYi{9j!k82Z5j!)3rz-gYp*(XVtpSZ7`I77@p2B^ZDF1Y zUK9d$c3{}@$Au8^8aNP5`9YBnrDvPkLU6db*>Y6i&j}O+=JVt$dxr-7@QD(>Y<++{ Kow6FQlF5IsYpzWI diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/lv/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/lv/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index a4fac00cd0f6077d66a636e4740f77590aace8cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568 zcmYLGO;6k~5CyfT9DD9zkSG`G#9p8*UIMgy32B$F2I$pnrdcnEZQ0&Xen|gbe@exK zmB^ExJeHql{GR`P`uKN+uuA+)Tqk}YekFDo693cT9<80`9oOE@aT?i0$?nkyZH_v_2fUnQLBD*=Um*jLG#?!HzwuNWIvJ ziYQ^g#V+H54YomWxxKf^1?MDWx7g}#X0QA9rrQD`q!62&kc?G`tau+N;k%CuAK+3y z*;>u94X|(YlP>i<9950dbvm`p0o^mzLRH8LRE>nOimg@#_GdA=AhT>{L&P$D#z!)O zsr6OnmT82n_mnj>9(`7~S>IAZ-6oTZ$!Q;&NO^K>O+-VFeR1SE;-8qgT4^(a>8#5$ z=6A&z8}_=+)Nl0c)J$!uO(kLYs42pF;Z@DftZ#w@C?*fZ@I-bE8P&5qyRnT81%j4z2WSLAwvhQpp%TK)>SaYPCm<^pa zb^-icb~6^A%R`(`yiwA3@_1k?R~y?Xm|qw+uv>ZE;i2<=P+*6LG8Fj&)@fmjLc-l0 i*i9+M^c@ILAQ#CuJR(be{1ydY*UBJIXIRr!vhg2ZqNXqa diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ml/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ml/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 8e9fea295fcc8cead0d9841589014c0ad1aff4d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmYLG%Wl*#6fJ^PmaJJ^BzEN{cGMA5PX|?$wyM+-rG&@UO)g1L{E+P_oqy=I3;u`x zLsxtYHyx?D(vf}Tb06pU-^&+wI~>m#uNZF_&lztSW6T*3{J78O$a#v3;C@k^@T|da z6k_kJf-j%X!RrtyfXFV%yO3}d+rGgM>o#KL6r`YS9CUIa9{SFkjc!bDb4w|^_*CIh zAf31ue$g!Gq@b|Xw^!*<=Fpv3R&1uMMXWny(ZP&UbtVkO!(1YGE3>mSp&EEll7E-k!Xf?Q-j@RTft S@e>q$-wJ^;pJ7AS+0K8)1);M5 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/mn/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/mn/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 2d9d28905fd2da8eed530448d2342c37e4c3a789..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 530 zcmYLG%Wl*#6fJ^PmaJJ^BzEN{cGMA5PX|?$7FFtqQo>{FCYQu0e#rI|`VVYb@IUYm ztoRmgI#P3`Bm2tdKF;yK$B%yQaXer=VLW3zWISg~v1I(^$3s3R&V5`)|CQQ|=N*2e zn2dJ{-oLwmpkty4qPU{qW5!MDO^2_xeZs~o$WgmA>g;1W4nwfFy0gZWj&gDNw!xD~ zI&&|4tura8g?xcRVtoKosDs0OA%$QfUeS%2X3o3?N`Z0#QmT5fFKXsp=#;U!AE;ns z+Ch)-`-d6ypI>lf@ABi8(^$6NzT^_uZ*@=DkhWalUGGPu9UKighoq`%@F`PQexqwv zL8Xs<6?RsnY8F&ko=vf`u9}-Fu&&sgZ%${&WGRXh?=m^w^fs{MOy6@AMs3^*cw06z zuRk^wS%W?kgMV|z9C0( S`UC}^c0!;o7ueBFvG*U}2BFRX diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ms/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ms/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 0dffb2e2ba2f68fdb36d26db3ec7f3bd21bb0125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 521 zcmYLF%Wl*_5DbEokDNL5fm>*MW|f7_Y!*d?1Vze<5X|E`u^W4k=b@R|!2Uz7Iq*Ml z<`4K5+F2=XsWjc1>POYTr%&$oI36*cF`hFXGhQ&pSTO$b=OMo%=OHem|4vQD^A>P!k|LcT&FadrSwsDs0OA%$QfUeS#icTT)HN`Z0?QY!IsU(A?yp;N~CVWEPx zX?i`t?_1OBKfmC}-q*(sm$7WTea$Vd+vtw4CT+Pv4|)qnea<1Ns_K2p)RsT!niWv# zV^@Wp4XK*MRF?NrtZb^LfeLIY*5~Wf$t_um;>5d5j<4JXmYeBkuEL;=TLNFoM&{M0 z`V1EnZ&dS*BA&X&x5jk}7T1Qo8#Yl7c;=%`3S77^(@HL3m#)OJ_=@kyQ5?Nj@MWg~ MX5}1Px+(Vl1M;h%5C8xG diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/nb/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/nb/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index a27f8f5dacd39d043095cc235d5f78302b63a8c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 541 zcmYLGOKub~5DkJ=FIlrFBzB>??N&xiJQ)<_hazPlgyysLOcy<7x^2t$?z)83V z8!kebkZ1D?) zXq;8>>Eji69U=t~#SM8E5-wtAT0Gfy5gVr<1#M%mlMC_Kul?|#+rikN?uS)B`5oWqqx#BVe{Bffi-=E zO)xPTZ6UcKkcFez-yi49CaZYMuWYx~9brRyQ1IS`JL)q3#BGM(zj`=Yr{trms^{+bs(i1F zoxy6I=bGl9n+u$dyln0}1w6Ma*BaX?m@W;Evfl>Xtm(?f?J) diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ne/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ne/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 0fcbf4185eba79976c3868ab57fefa5e68a3d29d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmYLGO>fjN5G{gJj+{9R61Osm9lB!c?V^g(qDtMil<;wNlOZumY|Hi*`X74jq5r4+ z1g`uRCS9o+>B%1Xd7j_%zvs_xx451#UNBxUo-$rD#+oz!^5HJ8Bj>TsgZoK!!s7o#KL6r`YS>~(S>?)%OU*SZ;u%`K(u{H(%* zKsxa({GbylD205BLSnfCQmCEXZ6SqVB3{sy88s)~45dIh11Xhwvn@*Io#>dbdK6T! zGIghWxW6%-{&NR=!$ZGca~ty74e$7hZP&UbtVjZS5LkTLtq=!{PPopnE)WVTdf{AKJJq7qHnbExcTUTx8$zBUuXL R4=DJyF#=^i!-lT1t^cNnplkpD diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/nl/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/nl/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 2156a0dfaf1ecc50b39fef283f298cf3b7888eb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4500 zcma)9TaO$^6>f)c8z5jqxL?X^8{2q$F1rED*b8>-H45>1!|pf%5rJx^&-9e1yQ*DX zJ(IN}1rP!WBwkS7@(_W9h>(&$kSKs($WvY-At8js6AyVq2$46wQ$3fSnN4s@dGco6T`fFA}v3FNpFAn*T6Ap7%c;8Eb8fS&`t0pvLT1?2g)_m_MMAji1{#HZl9 zzz+huz`q^|0t0N}{aYUhg0sM{#Ie<%n( z349dD{zgE~=TCv30{#a0Fz}Vh_uzqY{WT!_zXxQy4ESZ>&w&E?2O#tL46^uhE1(m3>4pN#T)91HWuYcPMj zroa!&`TaRZ?Eh)}_+g*G~%pIieALbuv@ejww z4{HfW&2z)=oEz2;bHP00SOqowARn*O;8g2mBt|kRC>LY0B0kdqZ-o-%XlIVXTn<*HqJ3 zH%Vf~ zh@yLdD0qtL&(yM*`qjxx4m**M%&~%|DIXE_l~#x3V_Qe;hNnkBqRY{5PeeKwK|Pp_ zjR#Ogp2;4a$W%_o*m%xeJ-A_nvr^}>H*>VYHxz1d zTG-49m1c>TD;PT}+`-bO-Uwo^8kTZcWRUGl65WHHg6=c#ZO`a_ zqIwPlLUv+}xm;tvVB!ukEZE0Elu)X`2c1-3!{+%iIs&2#~VvrxxBw!$x+o}QkWKI zp-{nnq;(c7BB`wE%#bvXSn8Qrt2=yb6Rs??da?91l1_U5mc}c)SJs+EJel&iwCe4S zJ6VhBc%l{L&LVHZzXy+5a|=|4k3`|)Wcf_D#s0Ui3(vI`&DtJi#=3APk5v>tT*P_U zG3`>fiFC&1m$E^Y9>^$Fx~|F99^37NS1kEr7+yt{ZHtX&>#Je26>dBvTFv%DUpv=q zHJdOD_fSiD&n3I&rf6-pH#g5U@zk#4Y=<2_D1O7X;1i6aGf+4mD9#uCdu#JjoJy6{ zdnWxl=IFSPF@+tHXw$wS_lN7Kk}Ct=A$ zLnn>-qHUp*+Rh_8+jGiV^=9pg(GJHj>_Gish@NtdERjlI5G+BIxUHL=YvK919f#B> z8*b~K;TYQDd{=?Mq_8pxuNj->*edg{`PRk-QT}&Ji{o3Ob)oj1@SCLh+A+2*o+yJ6 z8}(KzjA&FVFW|A1&?s&t@-QMhmc4;n7b!mY>sQ1yG8#50bTFLX#Cbx6qhxISb&UC9 zI=i&YlL8f1$N50Y;VoQ0t0u$pQtk`R(>>U0Ma7se(+Ed)fV-KOoccHM`3^g4Mcx~b zV%CsK95UgGJO@N{2b~6^7#XYL`C_Hh1G3ssio$`lhnRkt+x}YiceYFyzaRG;y~B6G z9L8vO{N>H=FVHyTJ6z$mlSwXyCNZg&*dwN{Ez}SJb4Af&5+ifK3ByHzGAgAWpoC5% zMy27sP)3Qn3#_u}YWaC`!>^{Ma`odQ2$ji<>2m7ysyZ~Y(|dk(;mJ)uRRw1+i6ap~ zMx_i8ed=2TR;KR_mzA}&#Imq#87K;lf{GJy_l3JJ=#tIpy^riql#W=Gj;iU~xlq6TW+bGPUbkq9JagZOgZ0 z%*SNb5)j^f6TmG%T*@Y?z>!z&={oC#sG?*H3sjn z0(N8Nq71RhJRQ4wn!vI*@VrdxNj;cBWGV*-_;qQWFo!~DaH*FGzj=1Z0!T$i72r6O# diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/pa/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/pa/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index c438a23c3f94dc816fc2493c7e9f8c449a2d944c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmYLG%Wl*#6fJ^PmaJJ^BzEN{b{N5or-Lf`K$SXTDB-d7B$vchVq3PS(0^ddg8zX} zV9U2~(~+7h9obht_i>K@J%04_fa3w<3F8^#A>%n?j5*^kKQ8zjIrp&%?waa^7Y%-* z5RJ16KD@sKuS28&BD*5*Lc(=yO@nWCZN$ncNI~1!>*PW__MIPYbu$>7TT0pHU4VxlJhMq8FZ zxeIOK_ddj8Qd0~(m_p%oF?CezOt!vQpG|hjTx2KCCbGQdt!KT7zNf|M2_=U}h+_^p?t;VtapZta&9=fV4asL3S}ti(m*I z11I2P;O}Pq6L<#i{{|(N$3EeCUji?K4}d=f#s379`CbJ-555k51$+w>`@eyr!@ofB z``%A_-u>Xi;8AFB0=$6ti=V32|2Zgje*i_dzkrv(_d)UF{F>)|6%4@#!JmPm%df%H z;2WT<_YbfMz6X92eEic@{ND#p;ynOmzF&bd{*R#8{Tcik_)qX5@B>iveCUYhZG-1P zd4Cy{xPK2yoNs}TfPV#L{C{TOk9?+jCs5|=fa2eeLCNcF5TSXmfcJpQO>_`VKZ{4^ zL?~sGanc}N*~IU=O|+2)xyvTL5*}GY@+Q8*H4oC4`IFd12hmdUf^>T*wK9i*_c=V` zH)JT|g_~uQ7^F!Jp~O7zcWy_8^Q5pYq(Y_h5n>TUHq~Z8J*R>(X9vIAI96mGssCwexS%vs8OLm@iArZG zzl^1jBOU9E9rZXXm<{QS6uixbOo`*$+U6-)!{V1?qhcnTuv3|~=73|F>P1YY(Mn8) zRHPB+fo>?}I86_k&B#J#S%^aPZ2?8AYs8%wU)T8|ATq z7JY5>A%Sh1P~5nc+l&dhUJYY=mhFX_4R7983?XltsDMwTC!uoRqCV!bH@qLrieSBa zZGAHM}m8Ri&n1CJwpQ*<@w5(g@|SY*;0%E{)jP zDEvR{bV}JIfps5ssPdEvJq8Y9E9j84p`AR+v|p`qD`%%UZFn~g0xGu$$GMP3>CHkDzw%cT7~~qk9on^#PKUHP%(5iyY-|i|ies@+a1ViS z!@9vnQmK({EMnS7Z$*Bk#zqotEN1Oc60Pk#yR*FzuGMI+U9=`c&HG(cBXr^yG7MAN zoF%Cq928qOyO;bk3p)v{&(7aAft9`8p))-V8Kc~($iHM=oOZ}0(F{Ha+@i`EzsYwER3F-ObHblU{tW>=&EnNsMV>O#AHGkNjuY$oXkq zhkjVeKY;br^Z;Mz_FauRK=6ADwi7A#wj1PpL~^C=wtEO*&BA2G#x@3n9`A%km&oShDk3Pfh~Sk;%E z4OcXcwK5o>rp2UYQuYuI7u;dB59L*p*Sd;{Q~Phjo%$+w!?#(Xk(62dq@i|N9-uR^ zSJbMT*A}WSkzk~8tH9?`37q}U0D$6S>=5?il;oV{?OTZSBU|4f6vB7lj zP6l=F)*_OBRWrJ)JvNceGp_f+31<^2#=7O$LXKcDQ+d^h4W>Y~mlE6gPFo#4UkCY2 stPGjRg@Mb)lwM<=`Io~dn}4nbE=6=8A=of%P;N-@{!4pzLb-B21nOo0>Hq)$ diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/pt/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/pt/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index ffc674d736717157e89d88d0b33693b0751e3b43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 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 aQlS4QXRIs~*uJ&)CcVB!8=p5JiGBgufArJ< diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ru/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ru/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index eca83950e52f6f08bf581f7bfa3577f6524df5e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3641 zcmbVNOOO*)6n!YD#19IJ3Vt3VAR}~=4#O`q8Ga5H!T=5d*;zfwOVZNm4&5Dwu~-a) zf(Yfvf(7Mo!IIJnIDyOzli8?MZmjNwOQ~|>!gAw6-C3UdI`heAkg}^fr(gHI_nmw0 zy)So{F1*5Uy@>k-+zS^l)(-p~NY^J1F!mboGH?~}4)A5*-P-$qfE?@g2N_!qd=vN* zPy?<64gsG9eg^CUjsiLG58wvi(uG01?Z9xEn=(< zYo&&VfX`s<0G9wS0G|S01yXL;fyCnnAldx_Bz}JbS0RUG4>8t_^`=J{+Xi%jTYz5! zdx5_KcLF;W2YgNfV_1I*TnqfM_Wn=cF|1dF0)GdX!umRp;xBoWv0cCezz*PL;48rI zf$M?4)!r|EjIqsF?*n!Mhk?YW3M4)L0#g1f9}ln_Nc=RQ3cLo~2>b~c0WN-mu?0ZL zC$FXWeZKZgK((g}GDzL&nRJ}Kp2PzrkQ!2b=pudTLMdl1(vNG#88Aajn0bvU+P8CGT73mGUzv%LeRW#FlO>A{K z%y#m&zMkZfz5|Eb_;E2fVA*LtpgA)hWRWr~M>n&)-_}ych1>ky%I7t1*ZH$7vbS%4D2o)+UiK=cbjh z48s}_Y2H7GOvuH`%&1r|NwaeUVV4_1a}dE4JY^Zhyvfrdqnmn*q>PfaP*MUob>onCJsO zDBLhh<^&JQk>M_$@kw_F8$6|v7^pLJwSGgiu(OQxec0&^q?bCREHh*1DHj>*ZjQH6 z@@-*u#GLL|B$?GsStZoMaWz*aP-l|LY3NHSz#PZ4g#_oUUF*0o>5VN?R@T(tg9w@d zui0K~_?p&Sjk|*d(eS=DC1G|{vvnzi)Udt*4%ybbm^fu`S~)6g>dQDk{MLS6&};{L zMnip~VA-zH>tyw`va6VNl%y5suC1Alp}Cgr>?q_4`9Uq6*Uhjg+|Z$eNoBV!MhIcv9BQDaI>K$yj<@{VQGg`R=yi9X11thg_0CnKF<4!m^jVkT{+h+IPpj% zXE|uD@POz?4kB#X*+?M}!imhL6LC%$N+3kUE=Fd<#<^V#_3rKMnbk}UM?NJG+J@KwO@yVM$y&`Wsha&oj5lO za_J;CcJkmcVXjf5iG<46uI2O?U6oK(zMV%otg-G+#HK%WB|7MFoiyuGqx|&gzy&tZ zcKE39iFJmKDQ^gqjylVZ^S1+8cr2_&L(KcayX959QLp4pcvb(5e~D&4&Ar>+q*wCK zdu3q78{5EX?Tx{b-c)Pnb_;iJ+?((}mYz4gs#oUz84B%TF?+~|>o+dRjj?CR8~2C& zi!d%B#s&P2kpDRRZ{W8yzu%NU;txxE(4Fuql)?XtR`sU5vOk1a=e!E`uPw`ndnZVq z=#eb`NIf59LFOP_hRG;MlXiDt^kw5a?%hC|6LqR`+7vEjuUsFuRv7Q5e^Hv;k~Avw zm|-jMgm^*e8e`S8u0pMQYt11dVof2>Ge~8;sV5pp-gn>zzo6@=!v0782!xxMW{#$t zLe~&a2s0+78RIg$A+LazptL+bX|vt zB*>v`L5q~V(V%FzG|Bgq7wMSBoCRE zWT}SzA(Rk)lm7cMmvMjCKZ_0>M$KmaZN1NtYjx%@nv`|LPQfW8Pbc0u0CN7C{4iHz z)VMURl;s5SX)+2<7Gf)l-pVA1Lp?PPYLkHpWhIBA8k~^eM+`@(7aNWZDq3)0$U&SY y+bY8JRuylGqm!u2lbH1nYP2ZQO$bIEPPKz9^Y;;aTJ&8|=b5$*cu}meF#8vp>M8O7 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/si/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/si/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 9d24f5ce0c41930edb3ecaeaf756b26d5aa7b2cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmYLG%TC-d6a|%4mR)yok=Riu&hQ#Mor;#1Mq&h|fp&Xma+|nHY|C~A=0o_sF8U?h zFcP`akzeON&hfvGJ1<)t+l)_)J;n#dXGR}m#(#c1<+bO$$DOx-X&J?=6p!SCwno9v zA2;C82l613dvexCF%Ok4#rLiXqOc00M-v*1)`v4!yLOFbt4(SsCU>`mIQN8+Yl#bt zq+lfT6CrakI)q%R!_$44OUXoWPb=N`9C*h)PacCjP)7&*k|Vjn5JmCcP{Ay8zJqTI zT0fyL(I9+TIUR7gIICLJO}e!0S57xohZTu}uw`-D)Yx!J9is~>%W4}UmFW{LSP!Mv zSDD+G60$*B*76kOv!Jt~q=KN6`D}hUc$cR#IkzT~;hEQt#YcLMnQKs+2`ua0);N7A zuEcoY_1gZB7nf#fOKmCzl^0^{C}VLFoJB56b{1(?_$oJo& Q;MYb7jM5`f(kj_{1sd+9761SM diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sk/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sk/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 0b2f277d4a856c98d3a8049d36126821f37943f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4537 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sq/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sq/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 18154e33bfb2d77a525fdb224b675cd5744ebbc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3557 zcma)8&yO5O74ATQcp)T&@cT#JZk%KtyJu%s&JV_RWGCz*%l6vX<4u&DYPxHtYo@!Z zT~)o4vB)2Q;J_tqSKZSyyK4nX>iwpwUR8bd zz4z+v-=28*-3aYzeBZ@)_Ms@+0$%+L{-8bb*(iD*cmlW%JPUjZxZjK)0I#C|8z2Gy z3H%Q5v4^AR>%h~%?*m^2^0)wg1NaW`Jn&s00Y3ts0sb4v`_t#5=&Qhsz)j!)_-)`j zz-NKK0zL`+1Mnp9W8ibZ|1`M%`6${z|1yyI=S}~Yz^|eI0q`;4Uw~f${vG%|;J<*( z@9{6xcAG%fS8f~rS5XplQX$VJgJy^|>&h`f@HX3|QMZQ((lCeO`G zrZk*GGG1avt-B6ue|+%~!k%&|9Cpx>5|dYjhK3`h)dK|C(J9loQyDJ_F>>_wJ57`< zz0ir;u~`PUxKbo?)188MMh0=!x~mgiX@X~CaDC&5s(XgK721iUCAFe0!oeamJJFu; zq>3^Ru>p1F(s!Z({9b!`6k-5jqx}5H0l^57wQA_aFqaRoGkN-d*eL{A8Q3O9k8+iG zh^2f+8?4&~^MZ+=mk7TRqFz+4K5XS;rLd0gbz3je53-Gw4zYk$Z5|vlNiu;nLk1ig zO%1eI*~puz)I4HkV#ZqCgxXVz zmzmAd$tpEk6{i~Z?Z6SxvTGh*0vqVfi6q=em6z7J4&kVcpuE41y{L_JA&hKZt z&r1DhR)8d2q2P~AaSE%3!lqd`&9-htEVVmuz==h?ap~D)HY{@O`H{-=O5m;#pM$0@ zMAJ~fgTDois;w9C)7BtfCw02iyK#1?L5Tk)i)JE(0t$~r4lFO(OdcT2Kn=mNw74?I zdmXq;Lz$U+{1=0NX%$`1M5s#*Z=xqAt5B;3pvlR{&eDjZaKd78 bclA}^?G_WfYLUkB(2^z`7TVS2hZX-XzVIhx diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sqlparser.pot b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sqlparser.pot deleted file mode 100644 index d82f1fb1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sqlparser.pot +++ /dev/null @@ -1,212 +0,0 @@ -# phpMyAdmin SQL parser translation. -# Copyright (C) 2015 - 2017 phpMyAdmin devel team -# This file is distributed under the same license as the SQL parser package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: SQL parser 0\n" -"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n" -"POT-Creation-Date: 2017-01-24 10:49+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: src/Component.php:43 src/Component.php:63 -msgid "Not implemented yet." -msgstr "" - -#: src/Components/AlterOperation.php:224 src/Statement.php:334 -msgid "" -"A new statement was found, but no delimiter between it and the previous one." -msgstr "" - -#: src/Components/AlterOperation.php:236 -msgid "Unrecognized alter operation." -msgstr "" - -#: src/Components/Array2d.php:88 -#, php-format -msgid "%1$d values were expected, but found %2$d." -msgstr "" - -#: src/Components/Array2d.php:111 -msgid "An opening bracket followed by a set of values was expected." -msgstr "" - -#: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201 -msgid "An opening bracket was expected." -msgstr "" - -#: src/Components/CaseExpression.php:129 src/Components/CaseExpression.php:159 -#: src/Components/CaseExpression.php:171 src/Components/CaseExpression.php:185 -#: src/Statements/DeleteStatement.php:216 -#: src/Statements/DeleteStatement.php:232 -#: src/Statements/DeleteStatement.php:272 -#: src/Statements/DeleteStatement.php:283 -#: src/Statements/DeleteStatement.php:313 -#: src/Statements/DeleteStatement.php:324 -#: src/Statements/InsertStatement.php:189 -#: src/Statements/InsertStatement.php:217 -#: src/Statements/ReplaceStatement.php:155 -#: src/Statements/ReplaceStatement.php:183 -msgid "Unexpected keyword." -msgstr "" - -#: src/Components/CaseExpression.php:194 -msgid "Unexpected end of CASE expression" -msgstr "" - -#: src/Components/CreateDefinition.php:222 -msgid "" -"A symbol name was expected! A reserved keyword can not be used as a column " -"name without backquotes." -msgstr "" - -#: src/Components/CreateDefinition.php:236 -msgid "A symbol name was expected!" -msgstr "" - -#: src/Components/CreateDefinition.php:269 -msgid "A comma or a closing bracket was expected." -msgstr "" - -#: src/Components/CreateDefinition.php:285 -msgid "A closing bracket was expected." -msgstr "" - -#: src/Components/DataType.php:123 -msgid "Unrecognized data type." -msgstr "" - -#: src/Components/Expression.php:244 src/Components/Expression.php:394 -msgid "An alias was expected." -msgstr "" - -#: src/Components/Expression.php:332 src/Components/Expression.php:351 -#: src/Components/Expression.php:383 -msgid "An alias was previously found." -msgstr "" - -#: src/Components/Expression.php:364 -msgid "Unexpected dot." -msgstr "" - -#: src/Components/ExpressionArray.php:102 -msgid "An expression was expected." -msgstr "" - -#: src/Components/Limit.php:86 src/Components/Limit.php:108 -msgid "An offset was expected." -msgstr "" - -#: src/Components/OptionsArray.php:143 -#, php-format -msgid "This option conflicts with \"%1$s\"." -msgstr "" - -#: src/Components/RenameOperation.php:97 -msgid "The old name of the table was expected." -msgstr "" - -#: src/Components/RenameOperation.php:107 -msgid "Keyword \"TO\" was expected." -msgstr "" - -#: src/Components/RenameOperation.php:123 -msgid "The new name of the table was expected." -msgstr "" - -#: src/Components/RenameOperation.php:141 -msgid "A rename operation was expected." -msgstr "" - -#: src/Components/SetOperation.php:105 -msgid "Missing expression." -msgstr "" - -#: src/Lexer.php:237 -msgid "Unexpected character." -msgstr "" - -#: src/Lexer.php:278 -msgid "Expected whitespace(s) before delimiter." -msgstr "" - -#: src/Lexer.php:296 src/Lexer.php:312 -msgid "Expected delimiter." -msgstr "" - -#: src/Lexer.php:841 -#, php-format -msgid "Ending quote %1$s was expected." -msgstr "" - -#: src/Lexer.php:882 -msgid "Variable name was expected." -msgstr "" - -#: src/Parser.php:423 -msgid "Unexpected beginning of statement." -msgstr "" - -#: src/Parser.php:442 -msgid "Unrecognized statement type." -msgstr "" - -#: src/Parser.php:527 -msgid "No transaction was previously started." -msgstr "" - -#: src/Statement.php:242 src/Statements/DeleteStatement.php:241 -#: src/Statements/DeleteStatement.php:286 -#: src/Statements/InsertStatement.php:226 -#: src/Statements/InsertStatement.php:246 -#: src/Statements/ReplaceStatement.php:191 -msgid "Unexpected token." -msgstr "" - -#: src/Statement.php:306 -msgid "This type of clause was previously parsed." -msgstr "" - -#: src/Statement.php:366 -msgid "Unrecognized keyword." -msgstr "" - -#: src/Statement.php:486 -msgid "Unexpected ordering of clauses." -msgstr "" - -#: src/Statements/CreateStatement.php:375 -msgid "The name of the entity was expected." -msgstr "" - -#: src/Statements/CreateStatement.php:430 -msgid "A table name was expected." -msgstr "" - -#: src/Statements/CreateStatement.php:438 -msgid "At least one column definition was expected." -msgstr "" - -#: src/Statements/CreateStatement.php:549 -msgid "A \"RETURNS\" keyword was expected." -msgstr "" - -#: src/Statements/DeleteStatement.php:294 -msgid "This type of clause is not valid in Multi-table queries." -msgstr "" - -#: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:56 -msgid "error #1" -msgstr "" - -#: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:78 -msgid "strict error" -msgstr "" diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sr/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sr/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 76781882cfaa9144fea4fc3b414e19309411cb12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 602 zcmYLGO>fjN5M3yz969$em7oF@CwABsTkob+{X&(xqLlD)^(I5&DzPKmTd35Zz?B34 z2mS`XrITIJjP&Fg`OS>q^S`H0evK#|5w;1>2wQ|#gg&MOcsv^I)7f(#;?mh`ECM?( z*=KZKTO;A)hYRSG^XPy_SJ+t>*uq!3WJjyYv)oDuP8r{*V4Xkg>aM+2WvfkWFhrN{ zb9U@d1)9Z9R6q$S7jGCBEFFX3a=gFC1?NO$S9qiQoda*e1ZQFbLdbNo$5Y~6C?8n< zuu#H67qx2O&re;ezrSJLuIs~sN*5QlJ)jm-tyG09N7a%bbW5!a%n~oDP18m`BIf1T^%{+l~YW{1K9_QQFLa z-bz-6>{EWmrUS3n^9>z4HH9s;sU%F7n%rwvPBrYzy4FiD-MaMI>ltj)%sdx7%LMH1 zLZ9-TObB=j9EeTzL6-i%nrGuaeX*v^1&6!4O$%}OOX?BSlg^^A>>V0({bx$}vatlx Kc*07&iAMLdd9O$S diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sr@latin/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sr@latin/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index f807725de3346b05281b05f0c2ff27c43040d7fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 624 zcmYLG&2H2%5MF*xIdbMONVIBIoY-L(w%$!yQCd`~D@qAJSMO#>TqSm7dkdBN2wXYv zKJXem3zMv9M*8F#`79cuaUoctChY=xj=Oaep*Aq_gAP*@d%LxDM>B zV4u)=ZHg1z39p5<0TaLV{v1?&8xt=i^B6^%Br!4O@% z%h|C*6{r?_qXJ4uxp>LAVCfhHm*c|&E;uJ5yTohV^&EH;CO8ul5JINo1D+D^T=~HA zyM_{$dR?g+e*e&w`tu9sO&>4T6uNkAnY5$r`9!If@%BE zXU}J_bu+Ugc$Nv+-G$EOPck9k6>uOn#Yb8C|7o6$J9n?A%>{?s+iePQ_&((b%1LL@ X7xoqny6%f5eBKHKX*^*CUPq&UFLt)y diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sv/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/sv/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index ce539b3d554e44fbccabd4fb7ac0cfd3e64aa7d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3254 zcmb7_%a0UA9LHM$AL9!_@hv|_Py_TlHlQ%DhSy>?uq^Bj=+T<)nwi?Eu4=n#W*N?U zGoB=d#CU>}iHR3(o(7|GG4bHZcrx-27~|1zb@$B9_O1~t>G@1m|N2+ISN-a@9b2z^ z7=-6#_dMWv2OJ;755^DRe(*c9-No10;0Ds?!S!@Fy>KTTNKd*S!swx-vYG;2E(nhs z+wnNtpTx5R&v>}Jxm=Eis|#;meQ!tuCi~pbDo;4^t1%BO4-ZnSZ>g>ODx`fgd&7!% zlFCbS&C5#{mdn)R!&RMxw93rn3nvjsZG`GjD`7#8+l}va6fx2XvHuiRe3gu4mPcG= zic(`TyOgGoOA!gn6KZk0%DEz8iNRXi@>r!DW>JA!<$O=LF`H`C?Y7w%0_BWQ(=lpmDfKE3sWn7c+$Xv{Ny+;7Zv41l zuqDZvfd<7X(6S#X#HlTm*u?2M6*@CM>}$&jbx`zvF0X{ONLRdbdEU#-#d0B77c|*~ zDZ_%vUQ;1MCKFUu#k-&_i71w7TH*AN+ltpj%CZEt)AS+Z!VU`?q(Uf)X+g_cl5ZlX zWq2QQ0`(E6)&^R&r3fryAZ(Y)E*#~GcUg^(1B$F8RGK$rXHu8zM1n3u*`p%Yt%e#7 zPARgw$CX=2c%VBw>cqDElPfF{X_V5qt*@7h ziC)2J_vb_Z3Qt@aH)#3Nd5T$LU{I~J#ABUUf5CJ_=%4C$jNjCaEYFfzotP7GH;#rZ zjD)HvZc7&zoBrv9r-#fxgVWofnOgmAzgG8W4pF_>Bq2Qfs;$P733ZHIP2fn+UT&WCkF3c#f7(3p=TxBGDQwV@mO%7m zKVi~8tCPqyNX6;Y%+4I6?C-3iJ+o9lR(jummn+xHbkd;rGDm2pa@Y^~pp-ZD(aj`8 zR~)c}2BVt_t@I$Fmr_?)%R(Iaw5!iqOKON_EnPovk8UTKaL7%?n?nN}7}>YztDL&5 zhr)oLxGM^R%RCZ2EzwxHl&BnRbAKOV2Q?(aaPo4yOlBp5k}ByWu-#x=*e)e={S56b z=z=P>f_Fx@ILw2!&J`A^)({P?V4!=KwfKL1G2Wl72t@}wW*Ym}CWy}lh1u?=x6-$1 zTPW(qeWWB0H;bHHfiVLYq<$Qm(M_9aK;YAi{SQsk$yyK!ogYe(2sHkwzF$zdjD%7k zP!L($FT6fGRRb_{l7Nc0Ji6UOl^_A-rjW8+jLCeOv+Ne=rF}JR`zSUu71Ys3O7#&O zBx&s;Kq=#HK=PnG9^HZ)xB)m0RdJ6q5Ku#wCOVhJCE%)VQ_&8KSeH z)Vl?NfV$hEXHkOTX^e2TIA2ToMj#Q*>R diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ta/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ta/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index de5b467b34782ee0c1324b191e06e92eedecaf13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 526 zcmYLG%Wl*#6fL5wELpR-mDrV=*ilEFdOE104^*k6zQSYcCYQu0u`SzE=s&P!!T-P? zuINUv2-|;&{P$&3MCj$#}~cW6t=;j|Y5?oaeX-?ik=>AYA>k^vros2?He%%zq@Zo=b#fsd`OXgyx*3ekEv4-0vcls) zI&m*N(TNn4LhhrGSnh!oYVTlINFkVrH*{~tnGJX~=6gyyFtvu60XTkscIOdN4g4b}9L&ilTEdQImhCJ61rs z3vJ;yHpF5QQw%(pLXmVaHDu*FTb-{?C%0rSvSVixS>E!&v)n{KQsH}T>;iaGHZmx$1@j(sKENCG%m{pY_3ZSJ4=v@>fjN5G{gJj+{9RQg3AvJL-z9w~H!Diz;>zJ^59H?Mp z>Q49Y`-kcDpI>k|Jmg0;ry;N1@Pn+%1);B zRdtHXnK#M#LIF=~?HXfS1!Usbj+Ob)bT! zsaoB^^DootKTmMbzwo1qX~-+rAMzL5taL+IlI|6htu}DbrsSh4iq^$Mb$(B`Y=CkX zn!>MBh{foo=y@!KBDKZXkBzt4@?v>9h9z^69Xp%I@{*69-6ncSh3~YnbKpfe$F%rT zp5biN4Q75&z*Aef+So?H?ACB}-74q~&s^xE0_$IBT*x`BuM08HzT-Jr3Pbb?zO6mL LB%fkUciF~&Ht3$0 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/tk/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/tk/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 18e27f9adb74d7ecffa1c37803b13a3b6313ba59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 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 CD{?LX diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/tt/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/tt/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 0880e09aa9d77645636cd4a4e3b30433121cc9ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 521 zcmYLFO>fjN5G{gJj+{Bnfm@lxj=Ey&?V^g(qDoy+O8B_C$&eT&c4W`C^gnRr!2f|W z|A61Zq$@QeJ=srwo|*UlJ$>?XPwJ82nc%tLvEYSZs-@tsJRZt9X&&k_hHq3eo;Uc3 zVsgP7`0)M$MjI1FP}voYAu?`K>l%E$Z4*|(07vUnZ#l$tJa*%7XPd$K+!JS)?dyA?`-ki7pI>k^-1FmFXw2&{ypk`z-P)G0B0CtUEZYc29rKt>QFI|OHTf-Fiv!9- zY>ROhLn>x7#UOJj7R<%mP@HqNIp3VlY3W>LC&4p$+461_yG-A?7<=pd3S?6WlGh)r zGhEKP$<0@acsqa{FZh-`#VLCOpLZUh L%oo_uO}6(R0v?|x diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ug/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/ug/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 7b4f8e2f4028b6567bb2e2605a27d955e801e9ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcmYLFO>fjN5G|so9658C1Gh4Xy>!*Bw~H$Jfhu)HKT_c8CWB*?*pclN`X9J*;Qzp# zU(nyuNmpt{da|GVJTvb-yxRV~#r1;mn(>D5lJS-?)`Ib$ANTnjHP3Ys{CBDnp4Ir7 zLbTo~xV}7xUWZ5lM0Q2J4++=N*cv|!CSvIoq@Z1Fb@Cw|_D$d2>$$@rv&3ICIj?Q3{lEkWz_vJ7UJVa~%_w&jS^# zZPn-&{{FI!{`UtCx+i{EF%5a;yZ8LXnL!)El60rw#+qgbaL}aGM^zM!kBRF12i>v- z%6%|JzsVsMlbfRB!4!(Y6jMh9gUQxs>ys%inTzbmyF`xHyzkj>qMxbgTW#GEcvVg^ zt!~OwTui#r&Nm8p;woQTXA~@MEr-_*LAQA7Ll+ge{)xtwT*BtM63gr>ek4a>3}3;Q OjR%a z54;A?!em!8BYnz@{2Pzw%inuIx@52W%Cp=`2u>N_s9>Gn@9M6-Qe~@6Y%oNp z?{aqFPzAb+y-@)rq+GmYT(EQsg3IadGcGtMke%VB9%hc*j0w)f41|z^xRkgPEgn+d(>j8URB6)RIP;bwNu(?Wnfu{(0Q38we!Nu(J>M8=)jtQhF*Hr(aHh8hooz0 z>;mYuWM;_D^CLDNxnZL(=-8ntY^hBpVSb^>zovJpVMo@rUV`a1rO#e0V4G&fjN5G{gJj+{9R5(iM3#E!aR>+PbdrA3vxqLdW4y2+3jCAMWdh5iSw9QZ%* z6S(qQm~^FPq$hjiHy`i$-{VI=cQ_s}o-m#<9x`4srdTrm^5Z_A6X!lIg8NE!!m|cH zQi#S`1s~p@gV!Na0FhmicOl^>wx+?Ov5iq0DMEyciNDHLNU=6(vskZsO3C$m{H7um71i7YR9>sf80@2T*;Hg*NPDEpY! zSJf#lXWk^{3k5u}wQG!R6)dj}Ti1_4_ju~U5EWQ|m&SFug6(zv+``i}$QP^ZGrlED TVfq0DpSDt<%oo_uO}6tNu;!pH diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/uz/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/uz/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 09d7adff6b43f4e8cbe76fe70a7ad260bff8b680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmYLGO>fjN5G{gJj+{BnfddF8u|rpEz1^y!v{j|9C?y51-egDuiEY_Vq5B(p<-q@e zpTL#h!lWxTBR$z8zxjC2{~ka3xx?{*@r3b|@sRP7F~*$nmml}|969%K;q6x{Bc4_G zk$h;aQSjmYIXLYDc@W7ZIqM^?LfuyQW~c)eRzdXIgic56!=YIf)r|Z?}d;;FcB~5x*cauyctS?at2bWSIopEcJ6hyCWXmxZxEc&MJZgkZdn_7y=#k&HJ zJn6`}@K{GukPG<=g~WUxq)_|Q7eWfbLcFAFGt?Y)2PkvQry!?FvW}6Q>kzScD5zj* z%0{>F>!)e-?|V4xHu0k5(5I#AUh@-MuXRmWknR**-LB{xJmY?ieGZ3BjD1j9*0>O< zO25;JZzy%X&ibt#AsdIvI<8MXTi-4=39>Q0g8zrf@@#oBIw(_-961}wa_2WaTM+3- z%=%UvI|J^X&5iS`;uI&NZkX^3c|5VDtBkD`Ojd^dY}a15c7&?)pL=-yV>kSHQ1>FN0qNe-C~QyaL_@u7e!k zhalVi8)Q9hy)lo!488+x_Ja@NJ$)&E|4WeL?tu4!uYe8kZy>LC7jl0;2e;$-Ns#k7 z0rI+wU>*Di$Z>4`a-Qd2kmsKQzX|>dydPWxS>N}--QY*yX0UQouJ_RqQ;_%nEqE_@ z349oQA1r~JZ_elIAmRCGkn8npkoCL-vcB(v?B_q=J>Z>RfhOP*2sw(un(^Q{)|UrT z$_B6JnnJp456+XvxA0>vctGxK5dPkc-xu+_1wYP}`v>ip)sbt&18F-5$w9dtv|2H^ zrmP#%%=!djX8HlyKv^8L7zC(p@~I<&R3@}4V@dK@Bt0wrt<*>@HBG90+PrO(Uvhpz zi-(u$M-Cr+e34dUch$r`t%{^r!4_U%5~W+zh=sQz?X~kJ3mRf|8OeAArmC^HoX%c}# zE_3-zzaF~`y16QFt2y^rCdq~#O|zL?D}m-9^t47z69i^e`qbz`7G7eSMM-A$y>{_j zz?K3j5_r&(JQJj$hE7eT)doo~X`jP*IyF`j`d~i$rBNqLlrA~NyVW+NPa@&TEy+Eo zK+~XiijtI^{i6n1tUtOqr|LmNHWoS&UJ=xkwkUaw_A5CDjU^REK~{gL)0MX5)KS~K zlFh8nXbok%a~otv=$>gqD;j~^z|I8z|6!-lNKqE8XLK`Ao`qP-wrP=dTjaQ4V!IJq ztclJRX_9X?l~^R=g!4M0$43mZwUo|!0jr8$pE2>;0!Im5KJ(T$&|=DwH7io{n^=0L zrPVXgO9Xs2ijJR~^@SB#z;o|M2Yc>q5!-0VQ4y<5&`jdl9(*h|PvHh}AMxFzGUlUE zqsI>&pe+BGDhr2YWMbKTTVSTQ{}5B?4hhoa~9(QP>rJsB}q7yYSefb$4$p zvxDpY3^ziJwpFV4yOpZDZ97#fwe1i7uu`p5VCWvkx#vA6c0Xdf>U~t*QQHAKjD-U@ zB5s{~Fx#+3%L+ONboE8m7H_{wyTa^wkB7&&`odsv_uyhafJlK-f4x0Vec(XSC6k>9QN0|(N`m1X@~vuw9+127L$)iY2?)(_FhX#x6H8j zM~?!)+-Pl7)K#5siXId62~g%kO(EH2#fB#JrCD4T}*C)LO(mv3g;d;8qnWPR`_^mnEy$K0i3DRkg0P(}0w zyp6w2`}5YxBfv&{8rbmJd|}p$MJ8kExH|JmKZFAs5g$a{1tVc*{Ebf)8fd}Z)w zbXETnpZ@H~O;6^%gfx1ug&P|1LGI%molb+ZIdpaj?0t>kL> mIN}uG|L4;Uj3(VuOmgYY<5ECCxa3A&rn8?ZSc4k^8vGaZO6o2E diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/vls/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/vls/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index 82f5bf43673b929024cfd102bfe3fb4b8dcba9ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 548 zcmYLGO>Yx15G{h!9yxOuByKSK;Y1>J8dT9Xs8SIDs#4C6-h$Ksn`0$V%s|ZKjCq22S1LrTpC6R4wL5KK zR0bLz@ut@l;Y6ETd+Jk%8(be#IXC?$K5yECY6)vngM^0$|-XPe8-#pGd?m)V&$kqpm%=h%cue`Dc# zrOgudU9vZ>e$;DROuVG=mONgVy=}Bw0g(%AXv~iO13$v2-~a#s diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/zh_CN/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/zh_CN/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index c197a2bd4e660aeda31406590c437ad28fb8c63a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 603 zcmYL`KX2497{&vFB_k3N1A|8pII*MB7T+DJdbFrg53VHzHsmHRNlIb|+t=RR${(?G zgN3hvL0ES{e(6 zFn=FvZ5$ohtVrqRB(pTuf;c0UEv3`OZq#{Q&16~?Dp273@spSi4M>OYq7S75K_bT2 zDC0C*A)JYo`*#>;42^Ujj*Dhy=Ub&bYJ6->+(RGA-<8(U_+p?SiJQ%*Q_^qO4IZrq ziLM@?QDqaE0gXXcf(-LQfdz7_*~r_ZpF3Au5r(<84$|NR4lw})+GJtf)?mXfOlaSf zw5=hW=P!qk!)}5g%P0P5XSCJz#slULwQ`{FduKHUcQAEfUCKiBNRl^|y1_xbP1ieL zlj{{2x}_4G7Ag~D{jk6m%ZZUC-PWeEf~b0Vv;*EF?RLO={tNmD6qx2O2=cs5L!y9l jn!>T~{rPdac>8m4_Tl{F*S}xhoxlJ7@6)%%*{Sy*l$^VL diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/zh_TW/LC_MESSAGES/sqlparser.mo b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/locale/zh_TW/LC_MESSAGES/sqlparser.mo deleted file mode 100644 index bd68438b00c12b845aaf28018d8524d414f84182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4240 zcma)7U2_{(8QzposQGAVq2;5{Q#WaC+?6FyC_zr3A-GV8n>JCJ4nv1oYmclYt6gPx zWz`*qv74lJ>bP2E2Et zH~%E?5XLV78E_i-4d5m)3j7fGb>I&^EeH<-e-8W>@FbAzMu3k1mw@|#9{?F}$Gw8^ zG_Vm!@eTtY0_wmf;3**aUGnGu1bh-t!qj*adt9_!MxTk20_k<8#2hz#BlS zui(!=^jSgp3dYX>?*|?NQr*7*QvBZlDW40#F9B}?DgO_EwC^Jz@%S$w)p!4Wf`EU8 z7U1WBdw_r4AqWS6BF2w?&dd9!K(apxd;T>dQXT*C*BP8dFy06JD)2mz;w}Pd z{~!JNkAMv0e*9|Yd_MPD00;^QYkit`GP z{8&Ct0H45k11JLj4kUjMU=#7z4y1fv^|1#?JY|67ZwW|o|Lm{l{juewaCA~J`rM?qa^iU1-5H~2% z<$&}+#|15NYX-PI*$t$cNN@B&+V1mB{DNNhAq~?*8p6?XIi&H|@RDvw%cO^$cpLCi z&7ejQc87M!tVdE)++=BPaK>Lt@~Fk-r&(9ZVlh3X$!vGqE;%3^V2wvQBFB!raI}$~ z;Js3^DPJk3l?vUq}Po+CFIFE34J zGFO#^VsV3YaVyQa#uST5$kvK;mNa;eqNhxzYn<{jxF#hy)05ngEJfG0C1&;}x^$Jf zR+U9Pj?JIA#>lbBjUFzS7>P<6({u|-v6P8<5QJKFHI=|T<&ajaxDIN&z|hH*ZgGA@i7`DRuhMp~;knOAmuYYpd_@MOqd?Kq$?n z<4}c}l%l-JY(^hqI%Hi^OF;OUuieJT;l>(PI~5Ryz-8_N!V5aH3`sMkXerSOzM)V9 zr-jTcrX-T8D_1bq%dLPAffPOA#avlJ$%@rm6Vx?=*eeY^IaD)9cDgG6A9f0KpLDa0 z>RL=yq812*>{ugl*+_Z8#Oh7LVGIXRf>Ie~NVm8P6qzX+>rAPZB6^9OOmRaYq1M|- zSynKTlnm%TARN=cqI;E~2i=P13Jc*%XS&KH8kcZo;51jw$~s7_aKv%E;o{(dqa77J zs$E-vScWq zbfCFm;Qo6eB$$?g&M+G`M@+i9f2nZ>>WS~ePU}ud-CT@tDG_D|JSac)Ij(gRxwm_&&lzC5sP`onYOwG_WCNsNl$QfI;`?4Qr&*j$N zbk1(rgDdX$m6ra|_l9p>xZ0mv-^`CLRD5%bm!^utx9#OiRc6lA+5GJh=kkm*v{aaw zsa-4fUBaw0I9}*GQ)}l%cg9!plc$Rlw+fppc4pp7tS~rWpB>Jv_Lb&ycZQ1N7oD3I z5YQfcvp6}LU%I+2+Q2Z}+2_~okzqJ>E)M6`r)rI`4=Itw!tXxL_WKpXEy95WZy5`@ z&CB_*3Dlcg9kw$!a(CzLsRciQ%&?suqrxWM07(eqES=7+4|`6_0pYYTyWm{O)-Hfw zw~l!%kh%Sbo6dL^B^NKh>(OElZmoI!^LD^nes0aqX38;qSN)m%wY$ZEOw(ca+uB?< zD2@+#y|FjWc~$0bpY~KxHuAi{)V}6hSFIHWZrLm6J%apF-=EBHT(2@h1zw9i>3Bii z&u6t+MFZ<7CVzb`Ke0}1Y;_q%=sw7)b;I0GXq7JW*)=2znu`6SK21KWQ;SsH*i3G1 z&UxozlY5bP-_&MjVRp-QWzv~iv~OIkqZ`Z?e>+;glb(nRw+5W?2?VciR2X~HBRDCZEFnMQYHpH*HZxzi z{%(EiN`)1!z2{7i6#L&U6G{ZnjaME-uvNUWT*m?@!aj4V-a=-+cz3$a0(~$2gPhIy z=dB!Y`?XS9bKbsSuVo60( 1, 'DUAL' => 1, 'NULL' => 1, 'REGEXP' => 1, 'CASE' => 1, - 'DIV' => 1, 'AND' => 1, 'OR' => 1, 'XOR' => 1, 'NOT' => 1, 'MOD' => 1, - ); - - /** - * The name of this database. - * - * @var string - */ - public $database; - - /** - * The name of this table. - * - * @var string - */ - public $table; - - /** - * The name of the column. - * - * @var string - */ - public $column; - - /** - * The sub-expression. - * - * @var string - */ - public $expr = ''; - - /** - * The alias of this expression. - * - * @var string - */ - public $alias; - - /** - * The name of the function. - * - * @var mixed - */ - public $function; - - /** - * The type of subquery. - * - * @var string - */ - public $subquery; - - /** - * Constructor. - * - * Syntax: - * new Expression('expr') - * new Expression('expr', 'alias') - * new Expression('database', 'table', 'column') - * new Expression('database', 'table', 'column', 'alias') - * - * If the database, table or column name is not required, pass an empty - * string. - * - * @param string $database The name of the database or the the expression. - * the the expression. - * @param string $table The name of the table or the alias of the expression. - * the alias of the expression. - * @param string $column the name of the column - * @param string $alias the name of the alias - */ - public function __construct($database = null, $table = null, $column = null, $alias = null) - { - if (($column === null) && ($alias === null)) { - $this->expr = $database; // case 1 - $this->alias = $table; // case 2 - } else { - $this->database = $database; // case 3 - $this->table = $table; // case 3 - $this->column = $column; // case 3 - $this->alias = $alias; // case 4 - } - } - - /** - * Possible options:. - * - * `field` - * - * First field to be filled. - * If this is not specified, it takes the value of `parseField`. - * - * `parseField` - * - * Specifies the type of the field parsed. It may be `database`, - * `table` or `column`. These expressions may not include - * parentheses. - * - * `breakOnAlias` - * - * If not empty, breaks when the alias occurs (it is not included). - * - * `breakOnParentheses` - * - * If not empty, breaks when the first parentheses occurs. - * - * `parenthesesDelimited` - * - * If not empty, breaks after last parentheses occurred. - * - * @param Parser $parser the parser that serves as context - * @param TokensList $list the list of tokens that are being parsed - * @param array $options parameters for parsing - * - * @return Expression - */ - public static function parse(Parser $parser, TokensList $list, array $options = array()) - { - $ret = new self(); - - /** - * Whether current tokens make an expression or a table reference. - * - * @var bool - */ - $isExpr = false; - - /** - * Whether a period was previously found. - * - * @var bool - */ - $dot = false; - - /** - * Whether an alias is expected. Is 2 if `AS` keyword was found. - * - * @var bool - */ - $alias = false; - - /** - * Counts brackets. - * - * @var int - */ - $brackets = 0; - - /** - * Keeps track of the last two previous tokens. - * - * @var Token[] - */ - $prev = array(null, null); - - // When a field is parsed, no parentheses are expected. - if (!empty($options['parseField'])) { - $options['breakOnParentheses'] = true; - $options['field'] = $options['parseField']; - } - - for (; $list->idx < $list->count; ++$list->idx) { - /** - * Token parsed at this moment. - * - * @var Token - */ - $token = $list->tokens[$list->idx]; - - // End of statement. - if ($token->type === Token::TYPE_DELIMITER) { - break; - } - - // Skipping whitespaces and comments. - if (($token->type === Token::TYPE_WHITESPACE) - || ($token->type === Token::TYPE_COMMENT) - ) { - if ($isExpr) { - $ret->expr .= $token->token; - } - continue; - } - - if ($token->type === Token::TYPE_KEYWORD) { - if (($brackets > 0) && (empty($ret->subquery)) - && (!empty(Parser::$STATEMENT_PARSERS[$token->keyword])) - ) { - // A `(` was previously found and this keyword is the - // beginning of a statement, so this is a subquery. - $ret->subquery = $token->keyword; - } elseif (($token->flags & Token::FLAG_KEYWORD_FUNCTION) - && (empty($options['parseField']) - && !$alias) - ) { - $isExpr = true; - } elseif (($token->flags & Token::FLAG_KEYWORD_RESERVED) - && ($brackets === 0) - ) { - if (empty(self::$ALLOWED_KEYWORDS[$token->keyword])) { - // A reserved keyword that is not allowed in the - // expression was found so the expression must have - // ended and a new clause is starting. - break; - } - if ($token->keyword === 'AS') { - if (!empty($options['breakOnAlias'])) { - break; - } - if ($alias) { - $parser->error( - 'An alias was expected.', - $token - ); - break; - } - $alias = true; - continue; - } elseif ($token->keyword === 'CASE') { - // For a use of CASE like - // 'SELECT a = CASE .... END, b=1, `id`, ... FROM ...' - $tempCaseExpr = CaseExpression::parse($parser, $list); - $ret->expr .= CaseExpression::build($tempCaseExpr); - $isExpr = true; - continue; - } - $isExpr = true; - } elseif ($brackets === 0 && strlen($ret->expr) > 0 && !$alias) { - /* End of expression */ - break; - } - } - - if (($token->type === Token::TYPE_NUMBER) - || ($token->type === Token::TYPE_BOOL) - || (($token->type === Token::TYPE_SYMBOL) - && ($token->flags & Token::FLAG_SYMBOL_VARIABLE)) - || (($token->type === Token::TYPE_OPERATOR) - && ($token->value !== '.')) - ) { - if (!empty($options['parseField'])) { - break; - } - - // Numbers, booleans and operators (except dot) are usually part - // of expressions. - $isExpr = true; - } - - if ($token->type === Token::TYPE_OPERATOR) { - if ((!empty($options['breakOnParentheses'])) - && (($token->value === '(') || ($token->value === ')')) - ) { - // No brackets were expected. - break; - } - if ($token->value === '(') { - ++$brackets; - if ((empty($ret->function)) && ($prev[1] !== null) - && (($prev[1]->type === Token::TYPE_NONE) - || ($prev[1]->type === Token::TYPE_SYMBOL) - || (($prev[1]->type === Token::TYPE_KEYWORD) - && ($prev[1]->flags & Token::FLAG_KEYWORD_FUNCTION))) - ) { - $ret->function = $prev[1]->value; - } - } elseif ($token->value === ')' && $brackets == 0) { - // Not our bracket - break; - } elseif ($token->value === ')') { - --$brackets; - if ($brackets === 0) { - if (!empty($options['parenthesesDelimited'])) { - // The current token is the last bracket, the next - // one will be outside the expression. - $ret->expr .= $token->token; - ++$list->idx; - break; - } - } elseif ($brackets < 0) { - // $parser->error('Unexpected closing bracket.', $token); - // $brackets = 0; - break; - } - } elseif ($token->value === ',') { - // Expressions are comma-delimited. - if ($brackets === 0) { - break; - } - } - } - - // Saving the previous tokens. - $prev[0] = $prev[1]; - $prev[1] = $token; - - if ($alias) { - // An alias is expected (the keyword `AS` was previously found). - if (!empty($ret->alias)) { - $parser->error('An alias was previously found.', $token); - break; - } - $ret->alias = $token->value; - $alias = false; - } elseif ($isExpr) { - // Handling aliases. - if (/* (empty($ret->alias)) && */ ($brackets === 0) - && (($prev[0] === null) - || ((($prev[0]->type !== Token::TYPE_OPERATOR) - || ($prev[0]->token === ')')) - && (($prev[0]->type !== Token::TYPE_KEYWORD) - || (!($prev[0]->flags & Token::FLAG_KEYWORD_RESERVED))))) - && (($prev[1]->type === Token::TYPE_STRING) - || (($prev[1]->type === Token::TYPE_SYMBOL) - && (!($prev[1]->flags & Token::FLAG_SYMBOL_VARIABLE))) - || ($prev[1]->type === Token::TYPE_NONE)) - ) { - if (!empty($ret->alias)) { - $parser->error('An alias was previously found.', $token); - break; - } - $ret->alias = $prev[1]->value; - } else { - $ret->expr .= $token->token; - } - } elseif (!$isExpr) { - if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '.')) { - // Found a `.` which means we expect a column name and - // the column name we parsed is actually the table name - // and the table name is actually a database name. - if ((!empty($ret->database)) || ($dot)) { - $parser->error('Unexpected dot.', $token); - } - $ret->database = $ret->table; - $ret->table = $ret->column; - $ret->column = null; - $dot = true; - $ret->expr .= $token->token; - } else { - $field = empty($options['field']) ? 'column' : $options['field']; - if (empty($ret->$field)) { - $ret->$field = $token->value; - $ret->expr .= $token->token; - $dot = false; - } else { - // No alias is expected. - if (!empty($options['breakOnAlias'])) { - break; - } - if (!empty($ret->alias)) { - $parser->error('An alias was previously found.', $token); - break; - } - $ret->alias = $token->value; - } - } - } - } - - if ($alias) { - $parser->error( - 'An alias was expected.', - $list->tokens[$list->idx - 1] - ); - } - - // White-spaces might be added at the end. - $ret->expr = trim($ret->expr); - - if ($ret->expr === '') { - return null; - } - - --$list->idx; - - return $ret; - } - - /** - * @param Expression|Expression[] $component the component to be built - * @param array $options parameters for building - * - * @return string - */ - public static function build($component, array $options = array()) - { - if (is_array($component)) { - return implode($component, ', '); - } - - if ($component->expr !== '' && !is_null($component->expr)) { - $ret = $component->expr; - } else { - $fields = array(); - if ((isset($component->database)) && ($component->database !== '')) { - $fields[] = $component->database; - } - if ((isset($component->table)) && ($component->table !== '')) { - $fields[] = $component->table; - } - if ((isset($component->column)) && ($component->column !== '')) { - $fields[] = $component->column; - } - $ret = implode('.', Context::escape($fields)); - } - - if (!empty($component->alias)) { - $ret .= ' AS ' . Context::escape($component->alias); - } - - return $ret; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Context.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Context.php deleted file mode 100644 index b28c5c97..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Context.php +++ /dev/null @@ -1,554 +0,0 @@ - 1, '*' => 1, '+' => 1, '-' => 1, '/' => 1, - - // @see Token::FLAG_OPERATOR_LOGICAL - '!' => 2, '!=' => 2, '&&' => 2, '<' => 2, '<=' => 2, - '<=>' => 2, '<>' => 2, '=' => 2, '>' => 2, '>=' => 2, - '||' => 2, - - // @see Token::FLAG_OPERATOR_BITWISE - '&' => 4, '<<' => 4, '>>' => 4, '^' => 4, '|' => 4, - '~' => 4, - - // @see Token::FLAG_OPERATOR_ASSIGNMENT - ':=' => 8, - - // @see Token::FLAG_OPERATOR_SQL - '(' => 16, ')' => 16, '.' => 16, ',' => 16, ';' => 16, - ); - - /** - * The mode of the MySQL server that will be used in lexing, parsing and - * building the statements. - * - * @var int - */ - public static $MODE = 0; - - /* - * Server SQL Modes - * https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html - */ - - // Compatibility mode for Microsoft's SQL server. - // This is the equivalent of ANSI_QUOTES. - const COMPAT_MYSQL = 2; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_allow_invalid_dates - const ALLOW_INVALID_DATES = 1; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_ansi_quotes - const ANSI_QUOTES = 2; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_error_for_division_by_zero - const ERROR_FOR_DIVISION_BY_ZERO = 4; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_high_not_precedence - const HIGH_NOT_PRECEDENCE = 8; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_ignore_space - const IGNORE_SPACE = 16; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_auto_create_user - const NO_AUTO_CREATE_USER = 32; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_auto_value_on_zero - const NO_AUTO_VALUE_ON_ZERO = 64; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_backslash_escapes - const NO_BACKSLASH_ESCAPES = 128; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_dir_in_create - const NO_DIR_IN_CREATE = 256; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_dir_in_create - const NO_ENGINE_SUBSTITUTION = 512; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_field_options - const NO_FIELD_OPTIONS = 1024; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_key_options - const NO_KEY_OPTIONS = 2048; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_table_options - const NO_TABLE_OPTIONS = 4096; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_unsigned_subtraction - const NO_UNSIGNED_SUBTRACTION = 8192; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_zero_date - const NO_ZERO_DATE = 16384; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_zero_in_date - const NO_ZERO_IN_DATE = 32768; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_only_full_group_by - const ONLY_FULL_GROUP_BY = 65536; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_pipes_as_concat - const PIPES_AS_CONCAT = 131072; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_real_as_float - const REAL_AS_FLOAT = 262144; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables - const STRICT_ALL_TABLES = 524288; - - // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_strict_trans_tables - const STRICT_TRANS_TABLES = 1048576; - - // Custom modes. - - // The table and column names and any other field that must be escaped will - // not be. - // Reserved keywords are being escaped regardless this mode is used or not. - const NO_ENCLOSING_QUOTES = 1073741824; - - /* - * Combination SQL Modes - * https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sql-mode-combo - */ - - // REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE - const SQL_MODE_ANSI = 393234; - - // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, - // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, - const SQL_MODE_DB2 = 138258; - - // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, - // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER - const SQL_MODE_MAXDB = 138290; - - // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, - // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS - const SQL_MODE_MSSQL = 138258; - - // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, - // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER - const SQL_MODE_ORACLE = 138290; - - // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, - // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS - const SQL_MODE_POSTGRESQL = 138258; - - // STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, - // ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER - const SQL_MODE_TRADITIONAL = 1622052; - - // ------------------------------------------------------------------------- - // Keyword. - - /** - * Checks if the given string is a keyword. - * - * @param string $str string to be checked - * @param bool $isReserved checks if the keyword is reserved - * - * @return int - */ - public static function isKeyword($str, $isReserved = false) - { - $str = strtoupper($str); - - if (isset(static::$KEYWORDS[$str])) { - if ($isReserved) { - if (!(static::$KEYWORDS[$str] & Token::FLAG_KEYWORD_RESERVED)) { - return null; - } - } - - return static::$KEYWORDS[$str]; - } - - return null; - } - - // ------------------------------------------------------------------------- - // Operator. - - /** - * Checks if the given string is an operator. - * - * @param string $str string to be checked - * - * @return int the appropriate flag for the operator - */ - public static function isOperator($str) - { - if (!isset(static::$OPERATORS[$str])) { - return null; - } - - return static::$OPERATORS[$str]; - } - - // ------------------------------------------------------------------------- - // Whitespace. - - /** - * Checks if the given character is a whitespace. - * - * @param string $str string to be checked - * - * @return bool - */ - public static function isWhitespace($str) - { - return ($str === ' ') || ($str === "\r") || ($str === "\n") || ($str === "\t"); - } - - // ------------------------------------------------------------------------- - // Comment. - - /** - * Checks if the given string is the beginning of a whitespace. - * - * @param string $str string to be checked - * - * @return int the appropriate flag for the comment type - */ - public static function isComment($str) - { - $len = strlen($str); - if ($str[0] === '#') { - return Token::FLAG_COMMENT_BASH; - } elseif (($len > 1) && ($str[0] === '/') && ($str[1] === '*')) { - return (($len > 2) && ($str[2] == '!')) ? - Token::FLAG_COMMENT_MYSQL_CMD : Token::FLAG_COMMENT_C; - } elseif (($len > 1) && ($str[0] === '*') && ($str[1] === '/')) { - return Token::FLAG_COMMENT_C; - } elseif (($len > 2) && ($str[0] === '-') - && ($str[1] === '-') && (static::isWhitespace($str[2])) - ) { - return Token::FLAG_COMMENT_SQL; - } - - return null; - } - - // ------------------------------------------------------------------------- - // Bool. - - /** - * Checks if the given string is a boolean value. - * This actually check only for `TRUE` and `FALSE` because `1` or `0` are - * actually numbers and are parsed by specific methods. - * - * @param string $str string to be checked - * - * @return bool - */ - public static function isBool($str) - { - $str = strtoupper($str); - - return ($str === 'TRUE') || ($str === 'FALSE'); - } - - // ------------------------------------------------------------------------- - // Number. - - /** - * Checks if the given character can be a part of a number. - * - * @param string $str string to be checked - * - * @return bool - */ - public static function isNumber($str) - { - return (($str >= '0') && ($str <= '9')) || ($str === '.') - || ($str === '-') || ($str === '+') || ($str === 'e') || ($str === 'E'); - } - - // ------------------------------------------------------------------------- - // Symbol. - - /** - * Checks if the given character is the beginning of a symbol. A symbol - * can be either a variable or a field name. - * - * @param string $str string to be checked - * - * @return int the appropriate flag for the symbol type - */ - public static function isSymbol($str) - { - if ($str[0] === '@') { - return Token::FLAG_SYMBOL_VARIABLE; - } elseif ($str[0] === '`') { - return Token::FLAG_SYMBOL_BACKTICK; - } - - return null; - } - - // ------------------------------------------------------------------------- - // String. - - /** - * Checks if the given character is the beginning of a string. - * - * @param string $str string to be checked - * - * @return int the appropriate flag for the string type - */ - public static function isString($str) - { - if ($str[0] === '\'') { - return Token::FLAG_STRING_SINGLE_QUOTES; - } elseif ($str[0] === '"') { - return Token::FLAG_STRING_DOUBLE_QUOTES; - } - - return null; - } - - // ------------------------------------------------------------------------- - // Delimiter. - - /** - * Checks if the given character can be a separator for two lexeme. - * - * @param string $str string to be checked - * - * @return bool - */ - public static function isSeparator($str) - { - // NOTES: Only non alphanumeric ASCII characters may be separators. - // `~` is the last printable ASCII character. - return ($str <= '~') && ($str !== '_') - && (($str < '0') || ($str > '9')) - && (($str < 'a') || ($str > 'z')) - && (($str < 'A') || ($str > 'Z')); - } - - /** - * Loads the specified context. - * - * Contexts may be used by accessing the context directly. - * - * @param string $context name of the context or full class name that - * defines the context - * - * @throws \Exception if the specified context doesn't exist - */ - public static function load($context = '') - { - if (empty($context)) { - $context = self::$defaultContext; - } - if ($context[0] !== '\\') { - // Short context name (must be formatted into class name). - $context = self::$contextPrefix . $context; - } - if (!class_exists($context)) { - throw new \Exception( - 'Specified context ("' . $context . '") does not exist.' - ); - } - self::$loadedContext = $context; - self::$KEYWORDS = $context::$KEYWORDS; - } - - /** - * Loads the context with the closest version to the one specified. - * - * The closest context is found by replacing last digits with zero until one - * is loaded successfully. - * - * @see Context::load() - * - * @param string $context name of the context or full class name that - * defines the context - * - * @return string The loaded context. `null` if no context was loaded. - */ - public static function loadClosest($context = '') - { - /** - * The number of replaces done by `preg_replace`. - * This actually represents whether a new context was generated or not. - * - * @var int - */ - $count = 0; - - // As long as a new context can be generated, we try to load it. - do { - try { - // Trying to load the new context. - static::load($context); - } catch (\Exception $e) { - // If it didn't work, we are looking for a new one and skipping - // over to the next generation that will try the new context. - $context = preg_replace( - '/[1-9](0*)$/', - '0$1', - $context, - -1, - $count - ); - continue; - } - - // Last generated context was valid (did not throw any exceptions). - // So we return it, to let the user know what context was loaded. - return $context; - } while ($count !== 0); - - return null; - } - - /** - * Sets the SQL mode. - * - * @param string $mode The list of modes. If empty, the mode is reset. - */ - public static function setMode($mode = '') - { - static::$MODE = 0; - if (empty($mode)) { - return; - } - $mode = explode(',', $mode); - foreach ($mode as $m) { - static::$MODE |= constant('static::' . $m); - } - } - - /** - * Escapes the symbol by adding surrounding backticks. - * - * @param array|string $str the string to be escaped - * @param string $quote quote to be used when escaping - * - * @return string - */ - public static function escape($str, $quote = '`') - { - if (is_array($str)) { - foreach ($str as $key => $value) { - $str[$key] = static::escape($value); - } - - return $str; - } - - if ((static::$MODE & self::NO_ENCLOSING_QUOTES) - && (!static::isKeyword($str, true)) - ) { - return $str; - } - - if (static::$MODE & self::ANSI_QUOTES) { - $quote = '"'; - } - - return $quote . str_replace($quote, $quote . $quote, $str) . $quote; - } -} - -// Initializing the default context. -Context::load(); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Lexer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Lexer.php deleted file mode 100644 index 2a3fea4d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Lexer.php +++ /dev/null @@ -1,935 +0,0 @@ -list; - } - - /** - * Constructor. - * - * @param string|UtfString $str the query to be lexed - * @param bool $strict whether strict mode should be - * enabled or not - * @param string $delimiter the delimiter to be used - */ - public function __construct($str, $strict = false, $delimiter = null) - { - // `strlen` is used instead of `mb_strlen` because the lexer needs to - // parse each byte of the input. - $len = $str instanceof UtfString ? $str->length() : strlen($str); - - // For multi-byte strings, a new instance of `UtfString` is - // initialized (only if `UtfString` usage is forced. - if (!$str instanceof UtfString && USE_UTF_STRINGS && $len !== mb_strlen($str, 'UTF-8')) { - $str = new UtfString($str); - } - - $this->str = $str; - $this->len = $str instanceof UtfString ? $str->length() : $len; - - $this->strict = $strict; - - // Setting the delimiter. - $this->setDelimiter( - !empty($delimiter) ? $delimiter : static::$DEFAULT_DELIMITER - ); - - $this->lex(); - } - - /** - * Sets the delimiter. - * - * @param string $delimiter the new delimiter - */ - public function setDelimiter($delimiter) - { - $this->delimiter = $delimiter; - $this->delimiterLen = strlen($delimiter); - } - - /** - * Parses the string and extracts lexemes. - */ - public function lex() - { - // TODO: Sometimes, static::parse* functions make unnecessary calls to - // is* functions. For a better performance, some rules can be deduced - // from context. - // For example, in `parseBool` there is no need to compare the token - // every time with `true` and `false`. The first step would be to - // compare with 'true' only and just after that add another letter from - // context and compare again with `false`. - // Another example is `parseComment`. - - $list = new TokensList(); - - /** - * Last processed token. - * - * @var Token - */ - $lastToken = null; - - for ($this->last = 0, $lastIdx = 0; $this->last < $this->len; $lastIdx = ++$this->last) { - /** - * The new token. - * - * @var Token - */ - $token = null; - - foreach (static::$PARSER_METHODS as $method) { - if ($token = $this->$method()) { - break; - } - } - - if ($token === null) { - // @assert($this->last === $lastIdx); - $token = new Token($this->str[$this->last]); - $this->error( - 'Unexpected character.', - $this->str[$this->last], - $this->last - ); - } elseif ($lastToken !== null - && $token->type === Token::TYPE_SYMBOL - && $token->flags & Token::FLAG_SYMBOL_VARIABLE - && ( - $lastToken->type === Token::TYPE_STRING - || ( - $lastToken->type === Token::TYPE_SYMBOL - && $lastToken->flags & Token::FLAG_SYMBOL_BACKTICK - ) - ) - ) { - // Handles ```... FROM 'user'@'%' ...```. - $lastToken->token .= $token->token; - $lastToken->type = Token::TYPE_SYMBOL; - $lastToken->flags = Token::FLAG_SYMBOL_USER; - $lastToken->value .= '@' . $token->value; - continue; - } elseif ($lastToken !== null - && $token->type === Token::TYPE_KEYWORD - && $lastToken->type === Token::TYPE_OPERATOR - && $lastToken->value === '.' - ) { - // Handles ```... tbl.FROM ...```. In this case, FROM is not - // a reserved word. - $token->type = Token::TYPE_NONE; - $token->flags = 0; - $token->value = $token->token; - } - - $token->position = $lastIdx; - - $list->tokens[$list->count++] = $token; - - // Handling delimiters. - if ($token->type === Token::TYPE_NONE && $token->value === 'DELIMITER') { - if ($this->last + 1 >= $this->len) { - $this->error( - 'Expected whitespace(s) before delimiter.', - '', - $this->last + 1 - ); - continue; - } - - // Skipping last R (from `delimiteR`) and whitespaces between - // the keyword `DELIMITER` and the actual delimiter. - $pos = ++$this->last; - if (($token = $this->parseWhitespace()) !== null) { - $token->position = $pos; - $list->tokens[$list->count++] = $token; - } - - // Preparing the token that holds the new delimiter. - if ($this->last + 1 >= $this->len) { - $this->error( - 'Expected delimiter.', - '', - $this->last + 1 - ); - continue; - } - $pos = $this->last + 1; - - // Parsing the delimiter. - $this->delimiter = null; - while (++$this->last < $this->len && !Context::isWhitespace($this->str[$this->last])) { - $this->delimiter .= $this->str[$this->last]; - } - - if (empty($this->delimiter)) { - $this->error( - 'Expected delimiter.', - '', - $this->last - ); - $this->delimiter = ';'; - } - - --$this->last; - - // Saving the delimiter and its token. - $this->delimiterLen = strlen($this->delimiter); - $token = new Token($this->delimiter, Token::TYPE_DELIMITER); - $token->position = $pos; - $list->tokens[$list->count++] = $token; - } - - $lastToken = $token; - } - - // Adding a final delimiter to mark the ending. - $list->tokens[$list->count++] = new Token(null, Token::TYPE_DELIMITER); - - // Saving the tokens list. - $this->list = $list; - } - - /** - * Creates a new error log. - * - * @param string $msg the error message - * @param string $str the character that produced the error - * @param int $pos the position of the character - * @param int $code the code of the error - * - * @throws LexerException throws the exception, if strict mode is enabled - */ - public function error($msg, $str = '', $pos = 0, $code = 0) - { - $error = new LexerException( - Translator::gettext($msg), - $str, $pos, $code - ); - parent::error($error); - } - - /** - * Parses a keyword. - * - * @return null|Token - */ - public function parseKeyword() - { - $token = ''; - - /** - * Value to be returned. - * - * @var Token - */ - $ret = null; - - /** - * The value of `$this->last` where `$token` ends in `$this->str`. - * - * @var int - */ - $iEnd = $this->last; - - /** - * Whether last parsed character is a whitespace. - * - * @var bool - */ - $lastSpace = false; - - for ($j = 1; $j < Context::KEYWORD_MAX_LENGTH && $this->last < $this->len; ++$j, ++$this->last) { - // Composed keywords shouldn't have more than one whitespace between - // keywords. - if (Context::isWhitespace($this->str[$this->last])) { - if ($lastSpace) { - --$j; // The size of the keyword didn't increase. - continue; - } - $lastSpace = true; - } else { - $lastSpace = false; - } - - $token .= $this->str[$this->last]; - if (($this->last + 1 === $this->len || Context::isSeparator($this->str[$this->last + 1])) - && $flags = Context::isKeyword($token) - ) { - $ret = new Token($token, Token::TYPE_KEYWORD, $flags); - $iEnd = $this->last; - - // We don't break so we find longest keyword. - // For example, `OR` and `ORDER` have a common prefix `OR`. - // If we stopped at `OR`, the parsing would be invalid. - } - } - - $this->last = $iEnd; - - return $ret; - } - - /** - * Parses a label. - * - * @return null|Token - */ - public function parseLabel() - { - $token = ''; - - /** - * Value to be returned. - * - * @var Token - */ - $ret = null; - - /** - * The value of `$this->last` where `$token` ends in `$this->str`. - * - * @var int - */ - $iEnd = $this->last; - - /** - * Whether last parsed character is a whitespace. - * - * @var bool - */ - $lastSpace = false; - - for ($j = 1; $j < Context::LABEL_MAX_LENGTH && $this->last < $this->len; ++$j, ++$this->last) { - // Composed keywords shouldn't have more than one whitespace between - // keywords. - if (Context::isWhitespace($this->str[$this->last])) { - if ($lastSpace) { - --$j; // The size of the keyword didn't increase. - continue; - } - $lastSpace = true; - } elseif ($this->str[$this->last] === ':') { - $token .= $this->str[$this->last]; - $ret = new Token($token, Token::TYPE_LABEL); - $iEnd = $this->last; - break; - } else { - $lastSpace = false; - } - $token .= $this->str[$this->last]; - } - - $this->last = $iEnd; - - return $ret; - } - - /** - * Parses an operator. - * - * @return null|Token - */ - public function parseOperator() - { - $token = ''; - - /** - * Value to be returned. - * - * @var Token - */ - $ret = null; - - /** - * The value of `$this->last` where `$token` ends in `$this->str`. - * - * @var int - */ - $iEnd = $this->last; - - for ($j = 1; $j < Context::OPERATOR_MAX_LENGTH && $this->last < $this->len; ++$j, ++$this->last) { - $token .= $this->str[$this->last]; - if ($flags = Context::isOperator($token)) { - $ret = new Token($token, Token::TYPE_OPERATOR, $flags); - $iEnd = $this->last; - } - } - - $this->last = $iEnd; - - return $ret; - } - - /** - * Parses a whitespace. - * - * @return null|Token - */ - public function parseWhitespace() - { - $token = $this->str[$this->last]; - - if (!Context::isWhitespace($token)) { - return null; - } - - while (++$this->last < $this->len && Context::isWhitespace($this->str[$this->last])) { - $token .= $this->str[$this->last]; - } - - --$this->last; - - return new Token($token, Token::TYPE_WHITESPACE); - } - - /** - * Parses a comment. - * - * @return null|Token - */ - public function parseComment() - { - $iBak = $this->last; - $token = $this->str[$this->last]; - - // Bash style comments. (#comment\n) - if (Context::isComment($token)) { - while ( - ++$this->last < $this->len - && $this->str[$this->last] !== "\n" - ) { - $token .= $this->str[$this->last]; - } - - return new Token($token, Token::TYPE_COMMENT, Token::FLAG_COMMENT_BASH); - } - - // C style comments. (/*comment*\/) - if (++$this->last < $this->len) { - $token .= $this->str[$this->last]; - if (Context::isComment($token)) { - $flags = Token::FLAG_COMMENT_C; - - // This comment already ended. It may be a part of a - // previous MySQL specific command. - if ($token === '*/') { - return new Token($token, Token::TYPE_COMMENT, $flags); - } - - // Checking if this is a MySQL-specific command. - if ($this->last + 1 < $this->len - && $this->str[$this->last + 1] === '!' - ) { - $flags |= Token::FLAG_COMMENT_MYSQL_CMD; - $token .= $this->str[++$this->last]; - - while ( - ++$this->last < $this->len - && '0' <= $this->str[$this->last] - && $this->str[$this->last] <= '9' - ) { - $token .= $this->str[$this->last]; - } - --$this->last; - - // We split this comment and parse only its beginning - // here. - return new Token($token, Token::TYPE_COMMENT, $flags); - } - - // Parsing the comment. - while ( - ++$this->last < $this->len - && ( - $this->str[$this->last - 1] !== '*' - || $this->str[$this->last] !== '/' - ) - ) { - $token .= $this->str[$this->last]; - } - - // Adding the ending. - if ($this->last < $this->len) { - $token .= $this->str[$this->last]; - } - - return new Token($token, Token::TYPE_COMMENT, $flags); - } - } - - // SQL style comments. (-- comment\n) - if (++$this->last < $this->len) { - $token .= $this->str[$this->last]; - if (Context::isComment($token)) { - // Checking if this comment did not end already (```--\n```). - if ($this->str[$this->last] !== "\n") { - while ( - ++$this->last < $this->len - && $this->str[$this->last] !== "\n" - ) { - $token .= $this->str[$this->last]; - } - } - - return new Token($token, Token::TYPE_COMMENT, Token::FLAG_COMMENT_SQL); - } - } - - $this->last = $iBak; - - return null; - } - - /** - * Parses a boolean. - * - * @return null|Token - */ - public function parseBool() - { - if ($this->last + 3 >= $this->len) { - // At least `min(strlen('TRUE'), strlen('FALSE'))` characters are - // required. - return null; - } - - $iBak = $this->last; - $token = $this->str[$this->last] . $this->str[++$this->last] - . $this->str[++$this->last] . $this->str[++$this->last]; // _TRUE_ or _FALS_e - - if (Context::isBool($token)) { - return new Token($token, Token::TYPE_BOOL); - } elseif (++$this->last < $this->len) { - $token .= $this->str[$this->last]; // fals_E_ - if (Context::isBool($token)) { - return new Token($token, Token::TYPE_BOOL, 1); - } - } - - $this->last = $iBak; - - return null; - } - - /** - * Parses a number. - * - * @return null|Token - */ - public function parseNumber() - { - // A rudimentary state machine is being used to parse numbers due to - // the various forms of their notation. - // - // Below are the states of the machines and the conditions to change - // the state. - // - // 1 --------------------[ + or - ]-------------------> 1 - // 1 -------------------[ 0x or 0X ]------------------> 2 - // 1 --------------------[ 0 to 9 ]-------------------> 3 - // 1 -----------------------[ . ]---------------------> 4 - // 1 -----------------------[ b ]---------------------> 7 - // - // 2 --------------------[ 0 to F ]-------------------> 2 - // - // 3 --------------------[ 0 to 9 ]-------------------> 3 - // 3 -----------------------[ . ]---------------------> 4 - // 3 --------------------[ e or E ]-------------------> 5 - // - // 4 --------------------[ 0 to 9 ]-------------------> 4 - // 4 --------------------[ e or E ]-------------------> 5 - // - // 5 ---------------[ + or - or 0 to 9 ]--------------> 6 - // - // 7 -----------------------[ ' ]---------------------> 8 - // - // 8 --------------------[ 0 or 1 ]-------------------> 8 - // 8 -----------------------[ ' ]---------------------> 9 - // - // State 1 may be reached by negative numbers. - // State 2 is reached only by hex numbers. - // State 4 is reached only by float numbers. - // State 5 is reached only by numbers in approximate form. - // State 7 is reached only by numbers in bit representation. - // - // Valid final states are: 2, 3, 4 and 6. Any parsing that finished in a - // state other than these is invalid. - $iBak = $this->last; - $token = ''; - $flags = 0; - $state = 1; - for (; $this->last < $this->len; ++$this->last) { - if ($state === 1) { - if ($this->str[$this->last] === '-') { - $flags |= Token::FLAG_NUMBER_NEGATIVE; - } elseif ($this->last + 1 < $this->len - && $this->str[$this->last] === '0' - && ( - $this->str[$this->last + 1] === 'x' - || $this->str[$this->last + 1] === 'X' - ) - ) { - $token .= $this->str[$this->last++]; - $state = 2; - } elseif ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9') { - $state = 3; - } elseif ($this->str[$this->last] === '.') { - $state = 4; - } elseif ($this->str[$this->last] === 'b') { - $state = 7; - } elseif ($this->str[$this->last] !== '+') { - // `+` is a valid character in a number. - break; - } - } elseif ($state === 2) { - $flags |= Token::FLAG_NUMBER_HEX; - if ( - !( - ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9') - || ($this->str[$this->last] >= 'A' && $this->str[$this->last] <= 'F') - || ($this->str[$this->last] >= 'a' && $this->str[$this->last] <= 'f') - ) - ) { - break; - } - } elseif ($state === 3) { - if ($this->str[$this->last] === '.') { - $state = 4; - } elseif ($this->str[$this->last] === 'e' || $this->str[$this->last] === 'E') { - $state = 5; - } elseif ($this->str[$this->last] < '0' || $this->str[$this->last] > '9') { - // Just digits and `.`, `e` and `E` are valid characters. - break; - } - } elseif ($state === 4) { - $flags |= Token::FLAG_NUMBER_FLOAT; - if ($this->str[$this->last] === 'e' || $this->str[$this->last] === 'E') { - $state = 5; - } elseif ($this->str[$this->last] < '0' || $this->str[$this->last] > '9') { - // Just digits, `e` and `E` are valid characters. - break; - } - } elseif ($state === 5) { - $flags |= Token::FLAG_NUMBER_APPROXIMATE; - if ($this->str[$this->last] === '+' || $this->str[$this->last] === '-' - || ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9') - ) { - $state = 6; - } else { - break; - } - } elseif ($state === 6) { - if ($this->str[$this->last] < '0' || $this->str[$this->last] > '9') { - // Just digits are valid characters. - break; - } - } elseif ($state === 7) { - $flags |= Token::FLAG_NUMBER_BINARY; - if ($this->str[$this->last] === '\'') { - $state = 8; - } else { - break; - } - } elseif ($state === 8) { - if ($this->str[$this->last] === '\'') { - $state = 9; - } elseif ($this->str[$this->last] !== '0' - && $this->str[$this->last] !== '1' - ) { - break; - } - } elseif ($state === 9) { - break; - } - $token .= $this->str[$this->last]; - } - if ($state === 2 || $state === 3 - || ($token !== '.' && $state === 4) - || $state === 6 || $state === 9 - ) { - --$this->last; - - return new Token($token, Token::TYPE_NUMBER, $flags); - } - $this->last = $iBak; - - return null; - } - - /** - * Parses a string. - * - * @param string $quote additional starting symbol - * - * @return null|Token - */ - public function parseString($quote = '') - { - $token = $this->str[$this->last]; - if (!($flags = Context::isString($token)) && $token !== $quote) { - return null; - } - $quote = $token; - - while (++$this->last < $this->len) { - if ($this->last + 1 < $this->len - && ( - ($this->str[$this->last] === $quote && $this->str[$this->last + 1] === $quote) - || ($this->str[$this->last] === '\\' && $quote !== '`') - ) - ) { - $token .= $this->str[$this->last] . $this->str[++$this->last]; - } else { - if ($this->str[$this->last] === $quote) { - break; - } - $token .= $this->str[$this->last]; - } - } - - if ($this->last >= $this->len || $this->str[$this->last] !== $quote) { - $this->error( - sprintf( - Translator::gettext('Ending quote %1$s was expected.'), - $quote - ), - '', - $this->last - ); - } else { - $token .= $this->str[$this->last]; - } - - return new Token($token, Token::TYPE_STRING, $flags); - } - - /** - * Parses a symbol. - * - * @return null|Token - */ - public function parseSymbol() - { - $token = $this->str[$this->last]; - if (!($flags = Context::isSymbol($token))) { - return null; - } - - if ($flags & Token::FLAG_SYMBOL_VARIABLE) { - if ($this->last + 1 < $this->len && $this->str[++$this->last] === '@') { - // This is a system variable (e.g. `@@hostname`). - $token .= $this->str[$this->last++]; - $flags |= Token::FLAG_SYMBOL_SYSTEM; - } - } else { - $token = ''; - } - - $str = null; - - if ($this->last < $this->len) { - if (($str = $this->parseString('`')) === null) { - if (($str = static::parseUnknown()) === null) { - $this->error( - 'Variable name was expected.', - $this->str[$this->last], - $this->last - ); - } - } - } - - if ($str !== null) { - $token .= $str->token; - } - - return new Token($token, Token::TYPE_SYMBOL, $flags); - } - - /** - * Parses unknown parts of the query. - * - * @return null|Token - */ - public function parseUnknown() - { - $token = $this->str[$this->last]; - if (Context::isSeparator($token)) { - return null; - } - - while (++$this->last < $this->len && !Context::isSeparator($this->str[$this->last])) { - $token .= $this->str[$this->last]; - } - --$this->last; - - return new Token($token); - } - - /** - * Parses the delimiter of the query. - * - * @return null|Token - */ - public function parseDelimiter() - { - $idx = 0; - - while ($idx < $this->delimiterLen && $this->last + $idx < $this->len) { - if ($this->delimiter[$idx] !== $this->str[$this->last + $idx]) { - return null; - } - ++$idx; - } - - $this->last += $this->delimiterLen - 1; - - return new Token($this->delimiter, Token::TYPE_DELIMITER); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Parser.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Parser.php deleted file mode 100644 index 1aaa565b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Parser.php +++ /dev/null @@ -1,571 +0,0 @@ - 'PhpMyAdmin\\SqlParser\\Statements\\ExplainStatement', - 'DESC' => 'PhpMyAdmin\\SqlParser\\Statements\\ExplainStatement', - 'EXPLAIN' => 'PhpMyAdmin\\SqlParser\\Statements\\ExplainStatement', - 'FLUSH' => '', - 'GRANT' => '', - 'HELP' => '', - 'SET PASSWORD' => '', - 'STATUS' => '', - 'USE' => '', - - // Table Maintenance Statements - // https://dev.mysql.com/doc/refman/5.7/en/table-maintenance-sql.html - 'ANALYZE' => 'PhpMyAdmin\\SqlParser\\Statements\\AnalyzeStatement', - 'BACKUP' => 'PhpMyAdmin\\SqlParser\\Statements\\BackupStatement', - 'CHECK' => 'PhpMyAdmin\\SqlParser\\Statements\\CheckStatement', - 'CHECKSUM' => 'PhpMyAdmin\\SqlParser\\Statements\\ChecksumStatement', - 'OPTIMIZE' => 'PhpMyAdmin\\SqlParser\\Statements\\OptimizeStatement', - 'REPAIR' => 'PhpMyAdmin\\SqlParser\\Statements\\RepairStatement', - 'RESTORE' => 'PhpMyAdmin\\SqlParser\\Statements\\RestoreStatement', - - // Database Administration Statements - // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-server-administration.html - 'SET' => 'PhpMyAdmin\\SqlParser\\Statements\\SetStatement', - 'SHOW' => 'PhpMyAdmin\\SqlParser\\Statements\\ShowStatement', - - // Data Definition Statements. - // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-data-definition.html - 'ALTER' => 'PhpMyAdmin\\SqlParser\\Statements\\AlterStatement', - 'CREATE' => 'PhpMyAdmin\\SqlParser\\Statements\\CreateStatement', - 'DROP' => 'PhpMyAdmin\\SqlParser\\Statements\\DropStatement', - 'RENAME' => 'PhpMyAdmin\\SqlParser\\Statements\\RenameStatement', - 'TRUNCATE' => 'PhpMyAdmin\\SqlParser\\Statements\\TruncateStatement', - - // Data Manipulation Statements. - // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-data-manipulation.html - 'CALL' => 'PhpMyAdmin\\SqlParser\\Statements\\CallStatement', - 'DELETE' => 'PhpMyAdmin\\SqlParser\\Statements\\DeleteStatement', - 'DO' => '', - 'HANDLER' => '', - 'INSERT' => 'PhpMyAdmin\\SqlParser\\Statements\\InsertStatement', - 'LOAD DATA' => 'PhpMyAdmin\\SqlParser\\Statements\\LoadStatement', - 'REPLACE' => 'PhpMyAdmin\\SqlParser\\Statements\\ReplaceStatement', - 'SELECT' => 'PhpMyAdmin\\SqlParser\\Statements\\SelectStatement', - 'UPDATE' => 'PhpMyAdmin\\SqlParser\\Statements\\UpdateStatement', - - // Prepared Statements. - // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html - 'DEALLOCATE' => '', - 'EXECUTE' => '', - 'PREPARE' => '', - - // Transactional and Locking Statements - // https://dev.mysql.com/doc/refman/5.7/en/commit.html - 'BEGIN' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement', - 'COMMIT' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement', - 'ROLLBACK' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement', - 'START TRANSACTION' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement', - ); - - /** - * Array of classes that are used in parsing SQL components. - * - * @var array - */ - public static $KEYWORD_PARSERS = array( - // This is not a proper keyword and was added here to help the - // formatter. - 'PARTITION BY' => array(), - 'SUBPARTITION BY' => array(), - - // This is not a proper keyword and was added here to help the - // builder. - '_OPTIONS' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OptionsArray', - 'field' => 'options', - ), - '_END_OPTIONS' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OptionsArray', - 'field' => 'end_options', - ), - - 'UNION' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword', - 'field' => 'union', - ), - 'UNION ALL' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword', - 'field' => 'union', - ), - 'UNION DISTINCT' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword', - 'field' => 'union', - ), - - // Actual clause parsers. - 'ALTER' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Expression', - 'field' => 'table', - 'options' => array('parseField' => 'table'), - ), - 'ANALYZE' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'tables', - 'options' => array('parseField' => 'table'), - ), - 'BACKUP' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'tables', - 'options' => array('parseField' => 'table'), - ), - 'CALL' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\FunctionCall', - 'field' => 'call', - ), - 'CHECK' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'tables', - 'options' => array('parseField' => 'table'), - ), - 'CHECKSUM' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'tables', - 'options' => array('parseField' => 'table'), - ), - 'CROSS JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'DROP' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'fields', - 'options' => array('parseField' => 'table'), - ), - 'FROM' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'from', - 'options' => array('field' => 'table'), - ), - 'GROUP BY' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OrderKeyword', - 'field' => 'group', - ), - 'HAVING' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Condition', - 'field' => 'having', - ), - 'INTO' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\IntoKeyword', - 'field' => 'into', - ), - 'JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'LEFT JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'LEFT OUTER JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'ON' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Expression', - 'field' => 'table', - 'options' => array('parseField' => 'table'), - ), - 'RIGHT JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'RIGHT OUTER JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'INNER JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'FULL JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'FULL OUTER JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'NATURAL JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'NATURAL LEFT JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'NATURAL RIGHT JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'NATURAL LEFT OUTER JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'NATURAL RIGHT OUTER JOIN' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword', - 'field' => 'join', - ), - 'LIMIT' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Limit', - 'field' => 'limit', - ), - 'OPTIMIZE' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'tables', - 'options' => array('parseField' => 'table'), - ), - 'ORDER BY' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OrderKeyword', - 'field' => 'order', - ), - 'PARTITION' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ArrayObj', - 'field' => 'partition', - ), - 'PROCEDURE' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\FunctionCall', - 'field' => 'procedure', - ), - 'RENAME' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\RenameOperation', - 'field' => 'renames', - ), - 'REPAIR' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'tables', - 'options' => array('parseField' => 'table'), - ), - 'RESTORE' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'tables', - 'options' => array('parseField' => 'table'), - ), - 'SET' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\SetOperation', - 'field' => 'set', - ), - 'SELECT' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'expr', - ), - 'TRUNCATE' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Expression', - 'field' => 'table', - 'options' => array('parseField' => 'table'), - ), - 'UPDATE' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray', - 'field' => 'tables', - 'options' => array('parseField' => 'table'), - ), - 'VALUE' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Array2d', - 'field' => 'values', - ), - 'VALUES' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Array2d', - 'field' => 'values', - ), - 'WHERE' => array( - 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Condition', - 'field' => 'where', - ), - ); - - /** - * The list of tokens that are parsed. - * - * @var TokensList - */ - public $list; - - /** - * List of statements parsed. - * - * @var Statement[] - */ - public $statements = array(); - - /** - * The number of opened brackets. - * - * @var int - */ - public $brackets = 0; - - /** - * Constructor. - * - * @param string|UtfString|TokensList $list the list of tokens to be parsed - * @param bool $strict whether strict mode should be enabled or not - */ - public function __construct($list = null, $strict = false) - { - if ((is_string($list)) || ($list instanceof UtfString)) { - $lexer = new Lexer($list, $strict); - $this->list = $lexer->list; - } elseif ($list instanceof TokensList) { - $this->list = $list; - } - - $this->strict = $strict; - - if ($list !== null) { - $this->parse(); - } - } - - /** - * Builds the parse trees. - */ - public function parse() - { - /** - * Last transaction. - * - * @var TransactionStatement - */ - $lastTransaction = null; - - /** - * Last parsed statement. - * - * @var Statement - */ - $lastStatement = null; - - /** - * Union's type or false for no union. - * - * @var bool|string - */ - $unionType = false; - - /** - * The index of the last token from the last statement. - * - * @var int - */ - $prevLastIdx = -1; - - /** - * The list of tokens. - * - * @var TokensList - */ - $list = &$this->list; - - for (; $list->idx < $list->count; ++$list->idx) { - /** - * Token parsed at this moment. - * - * @var Token - */ - $token = $list->tokens[$list->idx]; - - // `DELIMITER` is not an actual statement and it requires - // special handling. - if (($token->type === Token::TYPE_NONE) - && (strtoupper($token->token) === 'DELIMITER') - ) { - // Skipping to the end of this statement. - $list->getNextOfType(Token::TYPE_DELIMITER); - $prevLastIdx = $list->idx; - continue; - } - - // Counting the brackets around statements. - if ($token->value === '(') { - ++$this->brackets; - continue; - } - - // Statements can start with keywords only. - // Comments, whitespaces, etc. are ignored. - if ($token->type !== Token::TYPE_KEYWORD) { - if (($token->type !== TOKEN::TYPE_COMMENT) - && ($token->type !== Token::TYPE_WHITESPACE) - && ($token->type !== Token::TYPE_OPERATOR) // `(` and `)` - && ($token->type !== Token::TYPE_DELIMITER) - ) { - $this->error( - 'Unexpected beginning of statement.', - $token - ); - } - continue; - } - - if (($token->keyword === 'UNION') || ($token->keyword === 'UNION ALL') || ($token->keyword === 'UNION DISTINCT')) { - $unionType = $token->keyword; - continue; - } - - // Checking if it is a known statement that can be parsed. - if (empty(static::$STATEMENT_PARSERS[$token->keyword])) { - if (!isset(static::$STATEMENT_PARSERS[$token->keyword])) { - // A statement is considered recognized if the parser - // is aware that it is a statement, but it does not have - // a parser for it yet. - $this->error( - 'Unrecognized statement type.', - $token - ); - } - // Skipping to the end of this statement. - $list->getNextOfType(Token::TYPE_DELIMITER); - $prevLastIdx = $list->idx; - continue; - } - - /** - * The name of the class that is used for parsing. - * - * @var string - */ - $class = static::$STATEMENT_PARSERS[$token->keyword]; - - /** - * Processed statement. - * - * @var Statement - */ - $statement = new $class($this, $this->list); - - // The first token that is a part of this token is the next token - // unprocessed by the previous statement. - // There might be brackets around statements and this shouldn't - // affect the parser - $statement->first = $prevLastIdx + 1; - - // Storing the index of the last token parsed and updating the old - // index. - $statement->last = $list->idx; - $prevLastIdx = $list->idx; - - // Handles unions. - if ((!empty($unionType)) - && ($lastStatement instanceof SelectStatement) - && ($statement instanceof SelectStatement) - ) { - /* - * This SELECT statement. - * - * @var SelectStatement $statement - */ - - /* - * Last SELECT statement. - * - * @var SelectStatement $lastStatement - */ - $lastStatement->union[] = array($unionType, $statement); - - // if there are no no delimiting brackets, the `ORDER` and - // `LIMIT` keywords actually belong to the first statement. - $lastStatement->order = $statement->order; - $lastStatement->limit = $statement->limit; - $statement->order = array(); - $statement->limit = null; - - // The statement actually ends where the last statement in - // union ends. - $lastStatement->last = $statement->last; - - $unionType = false; - - // Validate clause order - $statement->validateClauseOrder($this, $list); - continue; - } - - // Handles transactions. - if ($statement instanceof TransactionStatement) { - /* - * @var TransactionStatement - */ - if ($statement->type === TransactionStatement::TYPE_BEGIN) { - $lastTransaction = $statement; - $this->statements[] = $statement; - } elseif ($statement->type === TransactionStatement::TYPE_END) { - if ($lastTransaction === null) { - // Even though an error occurred, the query is being - // saved. - $this->statements[] = $statement; - $this->error( - 'No transaction was previously started.', - $token - ); - } else { - $lastTransaction->end = $statement; - } - $lastTransaction = null; - } - - // Validate clause order - $statement->validateClauseOrder($this, $list); - continue; - } - - // Validate clause order - $statement->validateClauseOrder($this, $list); - - // Finally, storing the statement. - if ($lastTransaction !== null) { - $lastTransaction->statements[] = $statement; - } else { - $this->statements[] = $statement; - } - $lastStatement = $statement; - } - } - - /** - * Creates a new error log. - * - * @param string $msg the error message - * @param Token $token the token that produced the error - * @param int $code the code of the error - * - * @throws ParserException throws the exception, if strict mode is enabled - */ - public function error($msg, Token $token = null, $code = 0) - { - $error = new ParserException( - Translator::gettext($msg), - $token, $code - ); - parent::error($error); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Token.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Token.php deleted file mode 100644 index be17d782..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Token.php +++ /dev/null @@ -1,315 +0,0 @@ -, !==, etc. - * Bitwise operators: &, |, ^, etc. - * Assignment operators: =, +=, -=, etc. - * SQL specific operators: . (e.g. .. WHERE database.table ..), - * * (e.g. SELECT * FROM ..) - * - * @var int - */ - const TYPE_OPERATOR = 2; - - /** - * Spaces, tabs, new lines, etc. - * - * @var int - */ - const TYPE_WHITESPACE = 3; - - /** - * Any type of legal comment. - * - * Bash (#), C (/* *\/) or SQL (--) comments: - * - * -- SQL-comment - * - * #Bash-like comment - * - * /*C-like comment*\/ - * - * or: - * - * /*C-like - * comment*\/ - * - * Backslashes were added to respect PHP's comments syntax. - * - * @var int - */ - const TYPE_COMMENT = 4; - - /** - * Boolean values: true or false. - * - * @var int - */ - const TYPE_BOOL = 5; - - /** - * Numbers: 4, 0x8, 15.16, 23e42, etc. - * - * @var int - */ - const TYPE_NUMBER = 6; - - /** - * Literal strings: 'string', "test". - * Some of these strings are actually symbols. - * - * @var int - */ - const TYPE_STRING = 7; - - /** - * Database, table names, variables, etc. - * For example: ```SELECT `foo`, `bar` FROM `database`.`table`;```. - * - * @var int - */ - const TYPE_SYMBOL = 8; - - /** - * Delimits an unknown string. - * For example: ```SELECT * FROM test;```, `test` is a delimiter. - * - * @var int - */ - const TYPE_DELIMITER = 9; - - /** - * Labels in LOOP statement, ITERATE statement etc. - * For example (only for begin label): - * begin_label: BEGIN [statement_list] END [end_label] - * begin_label: LOOP [statement_list] END LOOP [end_label] - * begin_label: REPEAT [statement_list] ... END REPEAT [end_label] - * begin_label: WHILE ... DO [statement_list] END WHILE [end_label]. - * - * @var int - */ - const TYPE_LABEL = 10; - - // Flags that describe the tokens in more detail. - // All keywords must have flag 1 so `Context::isKeyword` method doesn't - // require strict comparison. - const FLAG_KEYWORD_RESERVED = 2; - const FLAG_KEYWORD_COMPOSED = 4; - const FLAG_KEYWORD_DATA_TYPE = 8; - const FLAG_KEYWORD_KEY = 16; - const FLAG_KEYWORD_FUNCTION = 32; - - // Numbers related flags. - const FLAG_NUMBER_HEX = 1; - const FLAG_NUMBER_FLOAT = 2; - const FLAG_NUMBER_APPROXIMATE = 4; - const FLAG_NUMBER_NEGATIVE = 8; - const FLAG_NUMBER_BINARY = 16; - - // Strings related flags. - const FLAG_STRING_SINGLE_QUOTES = 1; - const FLAG_STRING_DOUBLE_QUOTES = 2; - - // Comments related flags. - const FLAG_COMMENT_BASH = 1; - const FLAG_COMMENT_C = 2; - const FLAG_COMMENT_SQL = 4; - const FLAG_COMMENT_MYSQL_CMD = 8; - - // Operators related flags. - const FLAG_OPERATOR_ARITHMETIC = 1; - const FLAG_OPERATOR_LOGICAL = 2; - const FLAG_OPERATOR_BITWISE = 4; - const FLAG_OPERATOR_ASSIGNMENT = 8; - const FLAG_OPERATOR_SQL = 16; - - // Symbols related flags. - const FLAG_SYMBOL_VARIABLE = 1; - const FLAG_SYMBOL_BACKTICK = 2; - const FLAG_SYMBOL_USER = 4; - const FLAG_SYMBOL_SYSTEM = 8; - - /** - * The token it its raw string representation. - * - * @var string - */ - public $token; - - /** - * The value this token contains (i.e. token after some evaluation). - * - * @var mixed - */ - public $value; - - /** - * The keyword value this token contains, always uppercase. - * - * @var mixed - */ - public $keyword; - - /** - * The type of this token. - * - * @var int - */ - public $type; - - /** - * The flags of this token. - * - * @var int - */ - public $flags; - - /** - * The position in the initial string where this token started. - * - * @var int - */ - public $position; - - /** - * Constructor. - * - * @param string $token the value of the token - * @param int $type the type of the token - * @param int $flags the flags of the token - */ - public function __construct($token, $type = 0, $flags = 0) - { - $this->token = $token; - $this->type = $type; - $this->flags = $flags; - $this->keyword = null; - $this->value = $this->extract(); - } - - /** - * Does little processing to the token to extract a value. - * - * If no processing can be done it will return the initial string. - * - * @return mixed - */ - public function extract() - { - switch ($this->type) { - case self::TYPE_KEYWORD: - $this->keyword = strtoupper($this->token); - if (!($this->flags & self::FLAG_KEYWORD_RESERVED)) { - // Unreserved keywords should stay the way they are because they - // might represent field names. - return $this->token; - } - - return $this->keyword; - case self::TYPE_WHITESPACE: - return ' '; - case self::TYPE_BOOL: - return strtoupper($this->token) === 'TRUE'; - case self::TYPE_NUMBER: - $ret = str_replace('--', '', $this->token); // e.g. ---42 === -42 - if ($this->flags & self::FLAG_NUMBER_HEX) { - if ($this->flags & self::FLAG_NUMBER_NEGATIVE) { - $ret = str_replace('-', '', $this->token); - sscanf($ret, '%x', $ret); - $ret = -$ret; - } else { - sscanf($ret, '%x', $ret); - } - } elseif (($this->flags & self::FLAG_NUMBER_APPROXIMATE) - || ($this->flags & self::FLAG_NUMBER_FLOAT) - ) { - sscanf($ret, '%f', $ret); - } else { - sscanf($ret, '%d', $ret); - } - - return $ret; - case self::TYPE_STRING: - $quote = $this->token[0]; - $str = str_replace($quote . $quote, $quote, $this->token); - - return mb_substr($str, 1, -1, 'UTF-8'); // trims quotes - case self::TYPE_SYMBOL: - $str = $this->token; - if ((isset($str[0])) && ($str[0] === '@')) { - // `mb_strlen($str)` must be used instead of `null` because - // in PHP 5.3- the `null` parameter isn't handled correctly. - $str = mb_substr( - $str, - ((!empty($str[1])) && ($str[1] === '@')) ? 2 : 1, - mb_strlen($str), - 'UTF-8' - ); - } - if ((isset($str[0])) && (($str[0] === '`') - || ($str[0] === '"') || ($str[0] === '\'')) - ) { - $quote = $str[0]; - $str = str_replace($quote . $quote, $quote, $str); - $str = mb_substr($str, 1, -1, 'UTF-8'); - } - - return $str; - } - - return $this->token; - } - - /** - * Converts the token into an inline token by replacing tabs and new lines. - * - * @return string - */ - public function getInlineToken() - { - return str_replace( - array("\r", "\n", "\t"), - array('\r', '\n', '\t'), - $this->token - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Utils/CLI.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Utils/CLI.php deleted file mode 100644 index dbf80aa9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Utils/CLI.php +++ /dev/null @@ -1,133 +0,0 @@ -getopt( - 'hq:f:', $longopts - ); - if ($params === false) { - return false; - } - $this->mergeLongOpts($params, $longopts); - if (!isset($params['f'])) { - $params['f'] = 'cli'; - } - if (!in_array($params['f'], array('html', 'cli', 'text'))) { - echo "ERROR: Invalid value for format!\n"; - - return false; - } - - return $params; - } - - public function runHighlight() - { - $params = $this->parseHighlight(); - if ($params === false) { - return 1; - } - if (isset($params['h'])) { - $this->usageHighlight(); - - return 0; - } - if (isset($params['q'])) { - echo Formatter::format( - $params['q'], array('type' => $params['f']) - ); - echo "\n"; - - return 0; - } - echo "ERROR: Missing parameters!\n"; - $this->usageHighlight(); - - return 1; - } - - public function usageLint() - { - echo "Usage: lint-query --query SQL\n"; - } - - public function parseLint() - { - $longopts = array('help', 'query:'); - $params = $this->getopt( - 'hq:', $longopts - ); - $this->mergeLongOpts($params, $longopts); - - return $params; - } - - public function runLint() - { - $params = $this->parseLint(); - if ($params === false) { - return 1; - } - if (isset($params['h'])) { - $this->usageLint(); - - return 0; - } - if (isset($params['q'])) { - $lexer = new Lexer($params['q'], false); - $parser = new Parser($lexer->list); - $errors = Error::get(array($lexer, $parser)); - if (count($errors) == 0) { - return 0; - } - $output = Error::format($errors); - echo implode("\n", $output); - echo "\n"; - - return 10; - } - echo "ERROR: Missing parameters!\n"; - $this->usageLint(); - - return 1; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Utils/Formatter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Utils/Formatter.php deleted file mode 100644 index e07394c0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpmyadmin/sql-parser/src/Utils/Formatter.php +++ /dev/null @@ -1,626 +0,0 @@ - true, - 'LIMIT' => true, - 'PARTITION BY' => true, - 'PARTITION' => true, - 'PROCEDURE' => true, - 'SUBPARTITION BY' => true, - 'VALUES' => true, - ); - - /** - * Constructor. - * - * @param array $options the formatting options - */ - public function __construct(array $options = array()) - { - $this->options = $this->getMergedOptions($options); - } - - /** - * The specified formatting options are merged with the default values. - * - * @param array $options - * - * @return array - */ - private function getMergedOptions(array $options) - { - $options = array_merge( - $this->getDefaultOptions(), - $options - ); - - if (isset($options['formats'])) { - $options['formats'] = self::mergeFormats($this->getDefaultFormats(), $options['formats']); - } else { - $options['formats'] = $this->getDefaultFormats(); - } - - if (is_null($options['line_ending'])) { - $options['line_ending'] = $options['type'] === 'html' ? '
    ' : "\n"; - } - - if (is_null($options['indentation'])) { - $options['indentation'] = $options['type'] === 'html' ? '    ' : ' '; - } - - // `parts_newline` requires `clause_newline` - $options['parts_newline'] &= $options['clause_newline']; - - return $options; - } - - /** - * The default formatting options. - * - * @return array - */ - protected function getDefaultOptions() - { - return array( - /* - * The format of the result. - * - * @var string The type ('text', 'cli' or 'html') - */ - 'type' => php_sapi_name() === 'cli' ? 'cli' : 'text', - - /* - * The line ending used. - * By default, for text this is "\n" and for HTML this is "
    ". - * - * @var string - */ - 'line_ending' => null, - - /* - * The string used for indentation. - * - * @var string - */ - 'indentation' => null, - - /* - * Whether comments should be removed or not. - * - * @var bool - */ - 'remove_comments' => false, - - /* - * Whether each clause should be on a new line. - * - * @var bool - */ - 'clause_newline' => true, - - /* - * Whether each part should be on a new line. - * Parts are delimited by brackets and commas. - * - * @var bool - */ - 'parts_newline' => true, - - /* - * Whether each part of each clause should be indented. - * - * @var bool - */ - 'indent_parts' => true, - ); - } - - /** - * The styles used for HTML formatting. - * array($type, $flags, $span, $callback). - * - * @return array - */ - protected function getDefaultFormats() - { - return array( - array( - 'type' => Token::TYPE_KEYWORD, - 'flags' => Token::FLAG_KEYWORD_RESERVED, - 'html' => 'class="sql-reserved"', - 'cli' => "\x1b[35m", - 'function' => 'strtoupper', - ), - array( - 'type' => Token::TYPE_KEYWORD, - 'flags' => 0, - 'html' => 'class="sql-keyword"', - 'cli' => "\x1b[95m", - 'function' => 'strtoupper', - ), - array( - 'type' => Token::TYPE_COMMENT, - 'flags' => 0, - 'html' => 'class="sql-comment"', - 'cli' => "\x1b[37m", - 'function' => '', - ), - array( - 'type' => Token::TYPE_BOOL, - 'flags' => 0, - 'html' => 'class="sql-atom"', - 'cli' => "\x1b[36m", - 'function' => 'strtoupper', - ), - array( - 'type' => Token::TYPE_NUMBER, - 'flags' => 0, - 'html' => 'class="sql-number"', - 'cli' => "\x1b[92m", - 'function' => 'strtolower', - ), - array( - 'type' => Token::TYPE_STRING, - 'flags' => 0, - 'html' => 'class="sql-string"', - 'cli' => "\x1b[91m", - 'function' => '', - ), - array( - 'type' => Token::TYPE_SYMBOL, - 'flags' => 0, - 'html' => 'class="sql-variable"', - 'cli' => "\x1b[36m", - 'function' => '', - ), - ); - } - - private static function mergeFormats(array $formats, array $newFormats) - { - $added = array(); - $integers = array('flags', 'type'); - $strings = array('html', 'cli', 'function'); - - /* Sanitize the array so that we do not have to care later */ - foreach ($newFormats as $j => $new) { - foreach ($integers as $name) { - if (!isset($new[$name])) { - $newFormats[$j][$name] = 0; - } - } - foreach ($strings as $name) { - if (!isset($new[$name])) { - $newFormats[$j][$name] = ''; - } - } - } - - /* Process changes to existing formats */ - foreach ($formats as $i => $original) { - foreach ($newFormats as $j => $new) { - if ($new['type'] === $original['type'] - && $original['flags'] === $new['flags'] - ) { - $formats[$i] = $new; - $added[] = $j; - } - } - } - - /* Add not already handled formats */ - foreach ($newFormats as $j => $new) { - if (!in_array($j, $added)) { - $formats[] = $new; - } - } - - return $formats; - } - - /** - * Formats the given list of tokens. - * - * @param TokensList $list the list of tokens - * - * @return string - */ - public function formatList($list) - { - /** - * The query to be returned. - * - * @var string - */ - $ret = ''; - - /** - * The indentation level. - * - * @var int - */ - $indent = 0; - - /** - * Whether the line ended. - * - * @var bool - */ - $lineEnded = false; - - /** - * Whether current group is short (no linebreaks). - * - * @var bool - */ - $shortGroup = false; - - /** - * The name of the last clause. - * - * @var string - */ - $lastClause = ''; - - /** - * A stack that keeps track of the indentation level every time a new - * block is found. - * - * @var array - */ - $blocksIndentation = array(); - - /** - * A stack that keeps track of the line endings every time a new block - * is found. - * - * @var array - */ - $blocksLineEndings = array(); - - /** - * Whether clause's options were formatted. - * - * @var bool - */ - $formattedOptions = false; - - /** - * Previously parsed token. - * - * @var Token|null - */ - $prev = null; - - // In order to be able to format the queries correctly, the next token - // must be taken into consideration. The loop below uses two pointers, - // `$prev` and `$curr` which store two consecutive tokens. - // Actually, at every iteration the previous token is being used. - for ($list->idx = 0; $list->idx < $list->count; ++$list->idx) { - /** - * Token parsed at this moment. - * - * @var Token - */ - $curr = $list->tokens[$list->idx]; - - if ($curr->type === Token::TYPE_WHITESPACE) { - // Whitespaces are skipped because the formatter adds its own. - continue; - } - - if ($curr->type === Token::TYPE_COMMENT && $this->options['remove_comments']) { - // Skip Comments if option `remove_comments` is enabled - continue; - } - - // Checking if pointers were initialized. - if ($prev !== null) { - // Checking if a new clause started. - if (static::isClause($prev) !== false) { - $lastClause = $prev->value; - $formattedOptions = false; - } - - // The options of a clause should stay on the same line and everything that follows. - if ($this->options['parts_newline'] - && !$formattedOptions - && empty(self::$INLINE_CLAUSES[$lastClause]) - && ( - $curr->type !== Token::TYPE_KEYWORD - || ( - $curr->type === Token::TYPE_KEYWORD - && $curr->flags & Token::FLAG_KEYWORD_FUNCTION - ) - ) - ) { - $formattedOptions = true; - $lineEnded = true; - ++$indent; - } - - // Checking if this clause ended. - if ($tmp = static::isClause($curr)) { - if ($tmp == 2 || $this->options['clause_newline']) { - $lineEnded = true; - if ($this->options['parts_newline']) { - --$indent; - } - } - } - - // Inline JOINs - if (($prev->type === Token::TYPE_KEYWORD && isset(JoinKeyword::$JOINS[$prev->value])) - || (in_array($curr->value, array('ON', 'USING'), true) && isset(JoinKeyword::$JOINS[$list->tokens[$list->idx - 2]->value])) - || (isset($list->tokens[$list->idx - 4]) && isset(JoinKeyword::$JOINS[$list->tokens[$list->idx - 4]->value])) - || (isset($list->tokens[$list->idx - 6]) && isset(JoinKeyword::$JOINS[$list->tokens[$list->idx - 6]->value])) - ) { - $lineEnded = false; - } - - // Indenting BEGIN ... END blocks. - if ($prev->type === Token::TYPE_KEYWORD && $prev->keyword === 'BEGIN') { - $lineEnded = true; - array_push($blocksIndentation, $indent); - ++$indent; - } elseif ($curr->type === Token::TYPE_KEYWORD && $curr->keyword === 'END') { - $lineEnded = true; - $indent = array_pop($blocksIndentation); - } - - // Formatting fragments delimited by comma. - if ($prev->type === Token::TYPE_OPERATOR && $prev->value === ',') { - // Fragments delimited by a comma are broken into multiple - // pieces only if the clause is not inlined or this fragment - // is between brackets that are on new line. - if (end($blocksLineEndings) === true - || ( - empty(self::$INLINE_CLAUSES[$lastClause]) - && !$shortGroup - && $this->options['parts_newline'] - ) - ) { - $lineEnded = true; - } - } - - // Handling brackets. - // Brackets are indented only if the length of the fragment between - // them is longer than 30 characters. - if ($prev->type === Token::TYPE_OPERATOR && $prev->value === '(') { - array_push($blocksIndentation, $indent); - $shortGroup = true; - if (static::getGroupLength($list) > 30) { - ++$indent; - $lineEnded = true; - $shortGroup = false; - } - array_push($blocksLineEndings, $lineEnded); - } elseif ($curr->type === Token::TYPE_OPERATOR && $curr->value === ')') { - $indent = array_pop($blocksIndentation); - $lineEnded |= array_pop($blocksLineEndings); - $shortGroup = false; - } - - // Adding the token. - $ret .= $this->toString($prev); - - // Finishing the line. - if ($lineEnded) { - if ($indent < 0) { - // TODO: Make sure this never occurs and delete it. - $indent = 0; - } - - $ret .= $this->options['line_ending'] - . str_repeat($this->options['indentation'], $indent); - - $lineEnded = false; - } else { - // If the line ended there is no point in adding whitespaces. - // Also, some tokens do not have spaces before or after them. - if ( - // A space after delimiters that are longer than 2 characters. - $prev->keyword === 'DELIMITER' - || !( - ($prev->type === Token::TYPE_OPERATOR && ($prev->value === '.' || $prev->value === '(')) - // No space after . ( - || ($curr->type === Token::TYPE_OPERATOR && ($curr->value === '.' || $curr->value === ',' || $curr->value === '(' || $curr->value === ')')) - // No space before . , ( ) - || $curr->type === Token::TYPE_DELIMITER && mb_strlen($curr->value, 'UTF-8') < 2 - ) - ) { - $ret .= ' '; - } - } - } - - // Iteration finished, consider current token as previous. - $prev = $curr; - } - - if ($this->options['type'] === 'cli') { - return $ret . "\x1b[0m"; - } - - return $ret; - } - - public function escapeConsole($string) - { - return str_replace( - array( - "\x00", "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x0A", "\x0B", "\x0C", "\x0D", "\x0E", "\x0F", - "\x10", "\x11", "\x12", "\x13", "\x14", "\x15", "\x16", "\x17", "\x18", "\x19", "\x1A", "\x1B", "\x1C", "\x1D", "\x1E", "\x1F", - ), - array( - '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\x08', '\x09', '\x0A', '\x0B', '\x0C', '\x0D', '\x0E', '\x0F', - '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', '\x18', '\x19', '\x1A', '\x1B', '\x1C', '\x1D', '\x1E', '\x1F', - ), - $string - ); - } - - /** - * Tries to print the query and returns the result. - * - * @param Token $token the token to be printed - * - * @return string - */ - public function toString($token) - { - $text = $token->token; - - foreach ($this->options['formats'] as $format) { - if ($token->type === $format['type'] - && ($token->flags & $format['flags']) === $format['flags'] - ) { - // Running transformation function. - if (!empty($format['function'])) { - $func = $format['function']; - $text = $func($text); - } - - // Formatting HTML. - if ($this->options['type'] === 'html') { - return '' . htmlspecialchars($text, ENT_NOQUOTES) . ''; - } elseif ($this->options['type'] === 'cli') { - return $format['cli'] . $this->escapeConsole($text); - } - - break; - } - } - - if ($this->options['type'] === 'cli') { - return "\x1b[39m" . $this->escapeConsole($text); - } elseif ($this->options['type'] === 'html') { - return htmlspecialchars($text, ENT_NOQUOTES); - } - - return $text; - } - - /** - * Formats a query. - * - * @param string $query The query to be formatted - * @param array $options the formatting options - * - * @return string the formatted string - */ - public static function format($query, array $options = array()) - { - $lexer = new Lexer($query); - $formatter = new self($options); - - return $formatter->formatList($lexer->list); - } - - /** - * Computes the length of a group. - * - * A group is delimited by a pair of brackets. - * - * @param TokensList $list the list of tokens - * - * @return int - */ - public static function getGroupLength($list) - { - /** - * The number of opening brackets found. - * This counter starts at one because by the time this function called, - * the list already advanced one position and the opening bracket was - * already parsed. - * - * @var int - */ - $count = 1; - - /** - * The length of this group. - * - * @var int - */ - $length = 0; - - for ($idx = $list->idx; $idx < $list->count; ++$idx) { - // Counting the brackets. - if ($list->tokens[$idx]->type === Token::TYPE_OPERATOR) { - if ($list->tokens[$idx]->value === '(') { - ++$count; - } elseif ($list->tokens[$idx]->value === ')') { - --$count; - if ($count == 0) { - break; - } - } - } - - // Keeping track of this group's length. - $length += mb_strlen($list->tokens[$idx]->value, 'UTF-8'); - } - - return $length; - } - - /** - * Checks if a token is a statement or a clause inside a statement. - * - * @param Token $token the token to be checked - * - * @return int|bool - */ - public static function isClause($token) - { - if ( - ($token->type === Token::TYPE_KEYWORD && isset(Parser::$STATEMENT_PARSERS[$token->keyword])) - || ($token->type === Token::TYPE_NONE && strtoupper($token->token) === 'DELIMITER') - ) { - return 2; - } elseif ( - $token->type === Token::TYPE_KEYWORD && isset(Parser::$KEYWORD_PARSERS[$token->keyword]) - ) { - return 1; - } - - return false; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/README.md deleted file mode 100644 index a6bde111..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# phpseclib - PHP Secure Communications Library - -[![Build Status](https://travis-ci.org/phpseclib/phpseclib.svg?branch=2.0)](https://travis-ci.org/phpseclib/phpseclib) - -MIT-licensed pure-PHP implementations of an arbitrary-precision integer -arithmetic library, fully PKCS#1 (v2.1) compliant RSA, DES, 3DES, RC4, Rijndael, -AES, Blowfish, Twofish, SSH-1, SSH-2, SFTP, and X.509 - -* [Download (1.0.4)](http://sourceforge.net/projects/phpseclib/files/phpseclib1.0.4.zip/download) -* [Browse Git](https://github.com/phpseclib/phpseclib) -* [Code Coverage Report](http://phpseclib.bantux.org/code_coverage/2.0/latest/) - -PEAR Channel -PEAR Channel: [phpseclib.sourceforge.net](http://phpseclib.sourceforge.net/pear.htm) - -## Documentation - -* [Documentation / Manual](http://phpseclib.sourceforge.net/) -* [API Documentation](http://phpseclib.bantux.org/api/2.0/) (generated by Sami) - -## Support - -Need Support? - -* [Checkout Questions and Answers on Stack Overflow](http://stackoverflow.com/questions/tagged/phpseclib) -* [Create a Support Ticket on GitHub](https://github.com/phpseclib/phpseclib/issues/new) -* [Browse the Support Forum](http://www.frostjedi.com/phpbb/viewforum.php?f=46) (no longer in use) - -## Installing Development Dependencies - -Dependencies are managed via Composer. - -1. Download the [`composer.phar`](https://getcomposer.org/composer.phar) executable as per the - [Composer Download Instructions](https://getcomposer.org/download/), e.g. by running - - ``` sh - curl -sS https://getcomposer.org/installer | php - ``` - -2. Install Dependencies - - ``` sh - php composer.phar install - ``` - -## Contributing - -1. Fork the Project - -2. Install Development Dependencies - -3. Create a Feature Branch - -4. (Recommended) Run the Test Suite - - ``` sh - vendor/bin/phpunit - ``` -5. (Recommended) Check whether your code conforms to our Coding Standards by running - - ``` sh - vendor/bin/phing -f build/build.xml sniff - ``` - -6. Send us a Pull Request diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/composer.json deleted file mode 100644 index 4b84b110..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/composer.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "phpseclib/phpseclib", - "type": "library", - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "keywords": [ - "security", - "crypto", - "cryptography", - "encryption", - "signature", - "signing", - "rsa", - "aes", - "blowfish", - "twofish", - "ssh", - "sftp", - "x509", - "x.509", - "asn1", - "asn.1", - "BigInteger" - ], - "homepage": "http://phpseclib.sourceforge.net", - "license": "MIT", - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "~4.0", - "sami/sami": "~2.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "suggest": { - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations." - }, - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib\\": "phpseclib/" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/composer.lock b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/composer.lock deleted file mode 100644 index beda2d64..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/composer.lock +++ /dev/null @@ -1,1819 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "8599992bf6058a9da82372eb8bcae2c2", - "content-hash": "fde47c84178c55c06de858a2128e3d07", - "packages": [], - "packages-dev": [ - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14 21:17:01" - }, - { - "name": "michelf/php-markdown", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/michelf/php-markdown.git", - "reference": "156e56ee036505ec637d761ee62dc425d807183c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/michelf/php-markdown/zipball/156e56ee036505ec637d761ee62dc425d807183c", - "reference": "156e56ee036505ec637d761ee62dc425d807183c", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-lib": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Michelf": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" - }, - { - "name": "John Gruber", - "homepage": "https://daringfireball.net/" - } - ], - "description": "PHP Markdown", - "homepage": "https://michelf.ca/projects/php-markdown/", - "keywords": [ - "markdown" - ], - "time": "2015-12-24 01:37:31" - }, - { - "name": "nikic/php-parser", - "version": "v0.9.5", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "ef70767475434bdb3615b43c327e2cae17ef12eb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ef70767475434bdb3615b43c327e2cae17ef12eb", - "reference": "ef70767475434bdb3615b43c327e2cae17ef12eb", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.9-dev" - } - }, - "autoload": { - "psr-0": { - "PHPParser": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2014-07-23 18:24:17" - }, - { - "name": "phing/phing", - "version": "2.14.0", - "source": { - "type": "git", - "url": "https://github.com/phingofficial/phing.git", - "reference": "7dd73c83c377623def54b58121f46b4dcb35dd61" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phingofficial/phing/zipball/7dd73c83c377623def54b58121f46b4dcb35dd61", - "reference": "7dd73c83c377623def54b58121f46b4dcb35dd61", - "shasum": "" - }, - "require": { - "php": ">=5.2.0" - }, - "require-dev": { - "ext-pdo_sqlite": "*", - "lastcraft/simpletest": "@dev", - "mikey179/vfsstream": "^1.6", - "pdepend/pdepend": "2.x", - "pear/archive_tar": "1.4.x", - "pear/http_request2": "dev-trunk", - "pear/net_growl": "dev-trunk", - "pear/pear-core-minimal": "1.10.1", - "pear/versioncontrol_git": "@dev", - "pear/versioncontrol_svn": "~0.5", - "phpdocumentor/phpdocumentor": "2.x", - "phploc/phploc": "~2.0.6", - "phpmd/phpmd": "~2.2", - "phpunit/phpunit": ">=3.7", - "sebastian/git": "~1.0", - "sebastian/phpcpd": "2.x", - "squizlabs/php_codesniffer": "~2.2", - "symfony/yaml": "~2.7" - }, - "suggest": { - "pdepend/pdepend": "PHP version of JDepend", - "pear/archive_tar": "Tar file management class", - "pear/versioncontrol_git": "A library that provides OO interface to handle Git repository", - "pear/versioncontrol_svn": "A simple OO-style interface for Subversion, the free/open-source version control system", - "phpdocumentor/phpdocumentor": "Documentation Generator for PHP", - "phploc/phploc": "A tool for quickly measuring the size of a PHP project", - "phpmd/phpmd": "PHP version of PMD tool", - "phpunit/php-code-coverage": "Library that provides collection, processing, and rendering functionality for PHP code coverage information", - "phpunit/phpunit": "The PHP Unit Testing Framework", - "sebastian/phpcpd": "Copy/Paste Detector (CPD) for PHP code", - "tedivm/jshrink": "Javascript Minifier built in PHP" - }, - "bin": [ - "bin/phing" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.14.x-dev" - } - }, - "autoload": { - "classmap": [ - "classes/phing/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "classes" - ], - "license": [ - "LGPL-3.0" - ], - "authors": [ - { - "name": "Michiel Rook", - "email": "mrook@php.net" - }, - { - "name": "Phing Community", - "homepage": "https://www.phing.info/trac/wiki/Development/Contributors" - } - ], - "description": "PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant.", - "homepage": "https://www.phing.info/", - "keywords": [ - "build", - "phing", - "task", - "tool" - ], - "time": "2016-03-10 21:39:23" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "time": "2015-12-27 11:43:31" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "9270140b940ff02e58ec577c237274e92cd40cdd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9270140b940ff02e58ec577c237274e92cd40cdd", - "reference": "9270140b940ff02e58ec577c237274e92cd40cdd", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0@dev", - "phpdocumentor/type-resolver": "^0.2.0", - "webmozart/assert": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2016-06-10 09:48:41" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "0.2", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443", - "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443", - "shasum": "" - }, - "require": { - "php": ">=5.5", - "phpdocumentor/reflection-common": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "time": "2016-06-10 07:14:17" - }, - { - "name": "phpspec/prophecy", - "version": "v1.6.1", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "58a8137754bc24b25740d4281399a4a3596058e0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/58a8137754bc24b25740d4281399a4a3596058e0", - "reference": "58a8137754bc24b25740d4281399a4a3596058e0", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1", - "sebastian/recursion-context": "^1.0" - }, - "require-dev": { - "phpspec/phpspec": "^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2016-06-07 08:13:47" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06 15:47:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", - "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2015-06-21 13:08:43" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21 13:50:34" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", - "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4|~5" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2016-05-12 18:03:57" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", - "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2015-09-15 10:49:45" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.26", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fc1d8cd5b5de11625979125c5639347896ac2c74", - "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "^1.3.1", - "phpunit/php-code-coverage": "~2.1", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "^1.0.6", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.3", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2016-05-17 03:09:28" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02 06:51:40" - }, - { - "name": "pimple/pimple", - "version": "v2.1.1", - "source": { - "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "ea22fb2880faf7b7b0e17c9809c6fe25b071fd76" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/ea22fb2880faf7b7b0e17c9809c6fe25b071fd76", - "reference": "ea22fb2880faf7b7b0e17c9809c6fe25b071fd76", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Pimple": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Pimple is a simple Dependency Injection Container for PHP 5.3", - "homepage": "http://pimple.sensiolabs.org", - "keywords": [ - "container", - "dependency injection" - ], - "time": "2014-07-24 07:10:08" - }, - { - "name": "sami/sami", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/Sami.git", - "reference": "fa58b324f41aa2aefe21dac4f22d8c98965fc012" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/Sami/zipball/fa58b324f41aa2aefe21dac4f22d8c98965fc012", - "reference": "fa58b324f41aa2aefe21dac4f22d8c98965fc012", - "shasum": "" - }, - "require": { - "michelf/php-markdown": "~1.3", - "nikic/php-parser": "0.9.*", - "php": ">=5.3.0", - "pimple/pimple": "2.*", - "symfony/console": "~2.1", - "symfony/filesystem": "~2.1", - "symfony/finder": "~2.1", - "symfony/process": "~2.1", - "symfony/yaml": "~2.1", - "twig/twig": "1.*" - }, - "bin": [ - "sami.php" - ], - "type": "application", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-0": { - "Sami": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Sami, an API documentation generator", - "homepage": "http://sami.sensiolabs.org", - "keywords": [ - "phpdoc" - ], - "time": "2014-06-25 12:05:18" - }, - { - "name": "sebastian/comparator", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2015-07-26 15:48:44" - }, - { - "name": "sebastian/diff", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", - "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-12-08 07:14:41" - }, - { - "name": "sebastian/environment", - "version": "1.3.7", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716", - "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2016-05-17 03:18:57" - }, - { - "name": "sebastian/exporter", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", - "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2016-06-17 09:04:28" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12 03:26:01" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "913401df809e99e4f47b27cdd781f4a258d58791" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", - "reference": "913401df809e99e4f47b27cdd781f4a258d58791", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-11-11 19:50:13" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21 13:59:46" - }, - { - "name": "squizlabs/php_codesniffer", - "version": "2.6.1", - "source": { - "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "fb72ed32f8418db5e7770be1653e62e0d6f5dd3d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/fb72ed32f8418db5e7770be1653e62e0d6f5dd3d", - "reference": "fb72ed32f8418db5e7770be1653e62e0d6f5dd3d", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "bin": [ - "scripts/phpcs", - "scripts/phpcbf" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "classmap": [ - "CodeSniffer.php", - "CodeSniffer/CLI.php", - "CodeSniffer/Exception.php", - "CodeSniffer/File.php", - "CodeSniffer/Fixer.php", - "CodeSniffer/Report.php", - "CodeSniffer/Reporting.php", - "CodeSniffer/Sniff.php", - "CodeSniffer/Tokens.php", - "CodeSniffer/Reports/", - "CodeSniffer/Tokenizers/", - "CodeSniffer/DocGenerators/", - "CodeSniffer/Standards/AbstractPatternSniff.php", - "CodeSniffer/Standards/AbstractScopeSniff.php", - "CodeSniffer/Standards/AbstractVariableSniff.php", - "CodeSniffer/Standards/IncorrectPatternException.php", - "CodeSniffer/Standards/Generic/Sniffs/", - "CodeSniffer/Standards/MySource/Sniffs/", - "CodeSniffer/Standards/PEAR/Sniffs/", - "CodeSniffer/Standards/PSR1/Sniffs/", - "CodeSniffer/Standards/PSR2/Sniffs/", - "CodeSniffer/Standards/Squiz/Sniffs/", - "CodeSniffer/Standards/Zend/Sniffs/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "lead" - } - ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "http://www.squizlabs.com/php-codesniffer", - "keywords": [ - "phpcs", - "standards" - ], - "time": "2016-05-30 22:24:32" - }, - { - "name": "symfony/console", - "version": "v2.8.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "5ac8bc9aa77bb2edf06af3a1bb6bc1020d23acd3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/5ac8bc9aa77bb2edf06af3a1bb6bc1020d23acd3", - "reference": "5ac8bc9aa77bb2edf06af3a1bb6bc1020d23acd3", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1|~3.0.0", - "symfony/process": "~2.1|~3.0.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2016-06-06 15:06:25" - }, - { - "name": "symfony/filesystem", - "version": "v2.8.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "dee379131dceed90a429e951546b33edfe7dccbb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/dee379131dceed90a429e951546b33edfe7dccbb", - "reference": "dee379131dceed90a429e951546b33edfe7dccbb", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2016-04-12 18:01:21" - }, - { - "name": "symfony/finder", - "version": "v2.8.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "3ec095fab1800222732ca522a95dce8fa124007b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/3ec095fab1800222732ca522a95dce8fa124007b", - "reference": "3ec095fab1800222732ca522a95dce8fa124007b", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com", - "time": "2016-06-06 11:11:27" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "dff51f72b0706335131b00a7f49606168c582594" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594", - "reference": "dff51f72b0706335131b00a7f49606168c582594", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "time": "2016-05-18 14:26:46" - }, - { - "name": "symfony/process", - "version": "v2.8.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "115347d00c342198cdc52a7bd8bc15b5ab43500c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/115347d00c342198cdc52a7bd8bc15b5ab43500c", - "reference": "115347d00c342198cdc52a7bd8bc15b5ab43500c", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Process Component", - "homepage": "https://symfony.com", - "time": "2016-06-06 11:11:27" - }, - { - "name": "symfony/yaml", - "version": "v2.8.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/815fabf3f48c7d1df345a69d1ad1a88f59757b34", - "reference": "815fabf3f48c7d1df345a69d1ad1a88f59757b34", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.8-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2016-06-06 11:11:27" - }, - { - "name": "twig/twig", - "version": "v1.24.1", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "3566d311a92aae4deec6e48682dc5a4528c4a512" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/3566d311a92aae4deec6e48682dc5a4528c4a512", - "reference": "3566d311a92aae4deec6e48682dc5a4528c4a512", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.24-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org", - "keywords": [ - "templating" - ], - "time": "2016-05-30 09:11:59" - }, - { - "name": "webmozart/assert", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/webmozart/assert.git", - "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", - "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "^4.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "time": "2015-08-24 13:29:44" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=5.3.3" - }, - "platform-dev": [] -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php deleted file mode 100644 index fd99c44f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php +++ /dev/null @@ -1,2553 +0,0 @@ - - * @author Hans-Juergen Petrich - * @copyright 2007 Jim Wigginton - * @license http://www.opensource.org/licenses/mit-license.html MIT License - * @link http://phpseclib.sourceforge.net - */ - -namespace phpseclib\Crypt; - -/** - * Base Class for all \phpseclib\Crypt\* cipher classes - * - * @package Base - * @author Jim Wigginton - * @author Hans-Juergen Petrich - */ -abstract class Base -{ - /**#@+ - * @access public - * @see \phpseclib\Crypt\Base::encrypt() - * @see \phpseclib\Crypt\Base::decrypt() - */ - /** - * Encrypt / decrypt using the Counter mode. - * - * Set to -1 since that's what Crypt/Random.php uses to index the CTR mode. - * - * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29 - */ - const MODE_CTR = -1; - /** - * Encrypt / decrypt using the Electronic Code Book mode. - * - * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29 - */ - const MODE_ECB = 1; - /** - * Encrypt / decrypt using the Code Book Chaining mode. - * - * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29 - */ - const MODE_CBC = 2; - /** - * Encrypt / decrypt using the Cipher Feedback mode. - * - * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29 - */ - const MODE_CFB = 3; - /** - * Encrypt / decrypt using the Output Feedback mode. - * - * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Output_feedback_.28OFB.29 - */ - const MODE_OFB = 4; - /** - * Encrypt / decrypt using streaming mode. - */ - const MODE_STREAM = 5; - /**#@-*/ - - /** - * Whirlpool available flag - * - * @see \phpseclib\Crypt\Base::_hashInlineCryptFunction() - * @var bool - * @access private - */ - static $WHIRLPOOL_AVAILABLE; - - /**#@+ - * @access private - * @see \phpseclib\Crypt\Base::__construct() - */ - /** - * Base value for the internal implementation $engine switch - */ - const ENGINE_INTERNAL = 1; - /** - * Base value for the mcrypt implementation $engine switch - */ - const ENGINE_MCRYPT = 2; - /** - * Base value for the mcrypt implementation $engine switch - */ - const ENGINE_OPENSSL = 3; - /**#@-*/ - - /** - * The Encryption Mode - * - * @see self::__construct() - * @var int - * @access private - */ - var $mode; - - /** - * The Block Length of the block cipher - * - * @var int - * @access private - */ - var $block_size = 16; - - /** - * The Key - * - * @see self::setKey() - * @var string - * @access private - */ - var $key = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; - - /** - * The Initialization Vector - * - * @see self::setIV() - * @var string - * @access private - */ - var $iv; - - /** - * A "sliding" Initialization Vector - * - * @see self::enableContinuousBuffer() - * @see self::_clearBuffers() - * @var string - * @access private - */ - var $encryptIV; - - /** - * A "sliding" Initialization Vector - * - * @see self::enableContinuousBuffer() - * @see self::_clearBuffers() - * @var string - * @access private - */ - var $decryptIV; - - /** - * Continuous Buffer status - * - * @see self::enableContinuousBuffer() - * @var bool - * @access private - */ - var $continuousBuffer = false; - - /** - * Encryption buffer for CTR, OFB and CFB modes - * - * @see self::encrypt() - * @see self::_clearBuffers() - * @var array - * @access private - */ - var $enbuffer; - - /** - * Decryption buffer for CTR, OFB and CFB modes - * - * @see self::decrypt() - * @see self::_clearBuffers() - * @var array - * @access private - */ - var $debuffer; - - /** - * mcrypt resource for encryption - * - * The mcrypt resource can be recreated every time something needs to be created or it can be created just once. - * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode. - * - * @see self::encrypt() - * @var resource - * @access private - */ - var $enmcrypt; - - /** - * mcrypt resource for decryption - * - * The mcrypt resource can be recreated every time something needs to be created or it can be created just once. - * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode. - * - * @see self::decrypt() - * @var resource - * @access private - */ - var $demcrypt; - - /** - * Does the enmcrypt resource need to be (re)initialized? - * - * @see \phpseclib\Crypt\Twofish::setKey() - * @see \phpseclib\Crypt\Twofish::setIV() - * @var bool - * @access private - */ - var $enchanged = true; - - /** - * Does the demcrypt resource need to be (re)initialized? - * - * @see \phpseclib\Crypt\Twofish::setKey() - * @see \phpseclib\Crypt\Twofish::setIV() - * @var bool - * @access private - */ - var $dechanged = true; - - /** - * mcrypt resource for CFB mode - * - * mcrypt's CFB mode, in (and only in) buffered context, - * is broken, so phpseclib implements the CFB mode by it self, - * even when the mcrypt php extension is available. - * - * In order to do the CFB-mode work (fast) phpseclib - * use a separate ECB-mode mcrypt resource. - * - * @link http://phpseclib.sourceforge.net/cfb-demo.phps - * @see self::encrypt() - * @see self::decrypt() - * @see self::_setupMcrypt() - * @var resource - * @access private - */ - var $ecb; - - /** - * Optimizing value while CFB-encrypting - * - * Only relevant if $continuousBuffer enabled - * and $engine == self::ENGINE_MCRYPT - * - * It's faster to re-init $enmcrypt if - * $buffer bytes > $cfb_init_len than - * using the $ecb resource furthermore. - * - * This value depends of the chosen cipher - * and the time it would be needed for it's - * initialization [by mcrypt_generic_init()] - * which, typically, depends on the complexity - * on its internaly Key-expanding algorithm. - * - * @see self::encrypt() - * @var int - * @access private - */ - var $cfb_init_len = 600; - - /** - * Does internal cipher state need to be (re)initialized? - * - * @see self::setKey() - * @see self::setIV() - * @see self::disableContinuousBuffer() - * @var bool - * @access private - */ - var $changed = true; - - /** - * Padding status - * - * @see self::enablePadding() - * @var bool - * @access private - */ - var $padding = true; - - /** - * Is the mode one that is paddable? - * - * @see self::__construct() - * @var bool - * @access private - */ - var $paddable = false; - - /** - * Holds which crypt engine internaly should be use, - * which will be determined automatically on __construct() - * - * Currently available $engines are: - * - self::ENGINE_OPENSSL (very fast, php-extension: openssl, extension_loaded('openssl') required) - * - self::ENGINE_MCRYPT (fast, php-extension: mcrypt, extension_loaded('mcrypt') required) - * - self::ENGINE_INTERNAL (slower, pure php-engine, no php-extension required) - * - * @see self::_setEngine() - * @see self::encrypt() - * @see self::decrypt() - * @var int - * @access private - */ - var $engine; - - /** - * Holds the preferred crypt engine - * - * @see self::_setEngine() - * @see self::setPreferredEngine() - * @var int - * @access private - */ - var $preferredEngine; - - /** - * The mcrypt specific name of the cipher - * - * Only used if $engine == self::ENGINE_MCRYPT - * - * @link http://www.php.net/mcrypt_module_open - * @link http://www.php.net/mcrypt_list_algorithms - * @see self::_setupMcrypt() - * @var string - * @access private - */ - var $cipher_name_mcrypt; - - /** - * The openssl specific name of the cipher - * - * Only used if $engine == self::ENGINE_OPENSSL - * - * @link http://www.php.net/openssl-get-cipher-methods - * @var string - * @access private - */ - var $cipher_name_openssl; - - /** - * The openssl specific name of the cipher in ECB mode - * - * If OpenSSL does not support the mode we're trying to use (CTR) - * it can still be emulated with ECB mode. - * - * @link http://www.php.net/openssl-get-cipher-methods - * @var string - * @access private - */ - var $cipher_name_openssl_ecb; - - /** - * The default salt used by setPassword() - * - * @see self::setPassword() - * @var string - * @access private - */ - var $password_default_salt = 'phpseclib/salt'; - - /** - * The name of the performance-optimized callback function - * - * Used by encrypt() / decrypt() - * only if $engine == self::ENGINE_INTERNAL - * - * @see self::encrypt() - * @see self::decrypt() - * @see self::_setupInlineCrypt() - * @see self::$use_inline_crypt - * @var Callback - * @access private - */ - var $inline_crypt; - - /** - * Holds whether performance-optimized $inline_crypt() can/should be used. - * - * @see self::encrypt() - * @see self::decrypt() - * @see self::inline_crypt - * @var mixed - * @access private - */ - var $use_inline_crypt; - - /** - * If OpenSSL can be used in ECB but not in CTR we can emulate CTR - * - * @see self::_openssl_ctr_process() - * @var bool - * @access private - */ - var $openssl_emulate_ctr = false; - - /** - * Determines what options are passed to openssl_encrypt/decrypt - * - * @see self::isValidEngine() - * @var mixed - * @access private - */ - var $openssl_options; - - /** - * Has the key length explicitly been set or should it be derived from the key, itself? - * - * @see self::setKeyLength() - * @var bool - * @access private - */ - var $explicit_key_length = false; - - /** - * Don't truncate / null pad key - * - * @see self::_clearBuffers() - * @var bool - * @access private - */ - var $skip_key_adjustment = false; - - /** - * Default Constructor. - * - * Determines whether or not the mcrypt extension should be used. - * - * $mode could be: - * - * - self::MODE_ECB - * - * - self::MODE_CBC - * - * - self::MODE_CTR - * - * - self::MODE_CFB - * - * - self::MODE_OFB - * - * If not explicitly set, self::MODE_CBC will be used. - * - * @param int $mode - * @access public - */ - function __construct($mode = self::MODE_CBC) - { - // $mode dependent settings - switch ($mode) { - case self::MODE_ECB: - $this->paddable = true; - $this->mode = self::MODE_ECB; - break; - case self::MODE_CTR: - case self::MODE_CFB: - case self::MODE_OFB: - case self::MODE_STREAM: - $this->mode = $mode; - break; - case self::MODE_CBC: - default: - $this->paddable = true; - $this->mode = self::MODE_CBC; - } - - $this->_setEngine(); - - // Determining whether inline crypting can be used by the cipher - if ($this->use_inline_crypt !== false && function_exists('create_function')) { - $this->use_inline_crypt = true; - } - } - - /** - * Sets the initialization vector. (optional) - * - * SetIV is not required when self::MODE_ECB (or ie for AES: \phpseclib\Crypt\AES::MODE_ECB) is being used. If not explicitly set, it'll be assumed - * to be all zero's. - * - * @access public - * @param string $iv - * @internal Can be overwritten by a sub class, but does not have to be - */ - function setIV($iv) - { - if ($this->mode == self::MODE_ECB) { - return; - } - - $this->iv = $iv; - $this->changed = true; - } - - /** - * Sets the key length. - * - * Keys with explicitly set lengths need to be treated accordingly - * - * @access public - * @param int $length - */ - function setKeyLength($length) - { - $this->explicit_key_length = true; - $this->changed = true; - $this->_setEngine(); - } - - /** - * Returns the current key length in bits - * - * @access public - * @return int - */ - function getKeyLength() - { - return $this->key_length << 3; - } - - /** - * Returns the current block length in bits - * - * @access public - * @return int - */ - function getBlockLength() - { - return $this->block_size << 3; - } - - /** - * Sets the key. - * - * The min/max length(s) of the key depends on the cipher which is used. - * If the key not fits the length(s) of the cipher it will paded with null bytes - * up to the closest valid key length. If the key is more than max length, - * we trim the excess bits. - * - * If the key is not explicitly set, it'll be assumed to be all null bytes. - * - * @access public - * @param string $key - * @internal Could, but not must, extend by the child Crypt_* class - */ - function setKey($key) - { - if (!$this->explicit_key_length) { - $this->setKeyLength(strlen($key) << 3); - $this->explicit_key_length = false; - } - - $this->key = $key; - $this->changed = true; - $this->_setEngine(); - } - - /** - * Sets the password. - * - * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows: - * {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2} or pbkdf1: - * $hash, $salt, $count, $dkLen - * - * Where $hash (default = sha1) currently supports the following hashes: see: Crypt/Hash.php - * - * @see Crypt/Hash.php - * @param string $password - * @param string $method - * @return bool - * @access public - * @internal Could, but not must, extend by the child Crypt_* class - */ - function setPassword($password, $method = 'pbkdf2') - { - $key = ''; - - switch ($method) { - default: // 'pbkdf2' or 'pbkdf1' - $func_args = func_get_args(); - - // Hash function - $hash = isset($func_args[2]) ? $func_args[2] : 'sha1'; - - // WPA and WPA2 use the SSID as the salt - $salt = isset($func_args[3]) ? $func_args[3] : $this->password_default_salt; - - // RFC2898#section-4.2 uses 1,000 iterations by default - // WPA and WPA2 use 4,096. - $count = isset($func_args[4]) ? $func_args[4] : 1000; - - // Keylength - if (isset($func_args[5])) { - $dkLen = $func_args[5]; - } else { - $dkLen = $method == 'pbkdf1' ? 2 * $this->key_length : $this->key_length; - } - - switch (true) { - case $method == 'pbkdf1': - $hashObj = new Hash(); - $hashObj->setHash($hash); - if ($dkLen > $hashObj->getLength()) { - user_error('Derived key too long'); - return false; - } - $t = $password . $salt; - for ($i = 0; $i < $count; ++$i) { - $t = $hashObj->hash($t); - } - $key = substr($t, 0, $dkLen); - - $this->setKey(substr($key, 0, $dkLen >> 1)); - $this->setIV(substr($key, $dkLen >> 1)); - - return true; - // Determining if php[>=5.5.0]'s hash_pbkdf2() function avail- and useable - case !function_exists('hash_pbkdf2'): - case !function_exists('hash_algos'): - case !in_array($hash, hash_algos()): - $i = 1; - while (strlen($key) < $dkLen) { - $hmac = new Hash(); - $hmac->setHash($hash); - $hmac->setKey($password); - $f = $u = $hmac->hash($salt . pack('N', $i++)); - for ($j = 2; $j <= $count; ++$j) { - $u = $hmac->hash($u); - $f^= $u; - } - $key.= $f; - } - $key = substr($key, 0, $dkLen); - break; - default: - $key = hash_pbkdf2($hash, $password, $salt, $count, $dkLen, true); - } - } - - $this->setKey($key); - - return true; - } - - /** - * Encrypts a message. - * - * $plaintext will be padded with additional bytes such that it's length is a multiple of the block size. Other cipher - * implementations may or may not pad in the same manner. Other common approaches to padding and the reasons why it's - * necessary are discussed in the following - * URL: - * - * {@link http://www.di-mgt.com.au/cryptopad.html http://www.di-mgt.com.au/cryptopad.html} - * - * An alternative to padding is to, separately, send the length of the file. This is what SSH, in fact, does. - * strlen($plaintext) will still need to be a multiple of the block size, however, arbitrary values can be added to make it that - * length. - * - * @see self::decrypt() - * @access public - * @param string $plaintext - * @return string $ciphertext - * @internal Could, but not must, extend by the child Crypt_* class - */ - function encrypt($plaintext) - { - if ($this->paddable) { - $plaintext = $this->_pad($plaintext); - } - - if ($this->engine === self::ENGINE_OPENSSL) { - if ($this->changed) { - $this->_clearBuffers(); - $this->changed = false; - } - switch ($this->mode) { - case self::MODE_STREAM: - return openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options); - case self::MODE_ECB: - $result = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options); - return !defined('OPENSSL_RAW_DATA') ? substr($result, 0, -$this->block_size) : $result; - case self::MODE_CBC: - $result = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->encryptIV); - if (!defined('OPENSSL_RAW_DATA')) { - $result = substr($result, 0, -$this->block_size); - } - if ($this->continuousBuffer) { - $this->encryptIV = substr($result, -$this->block_size); - } - return $result; - case self::MODE_CTR: - return $this->_openssl_ctr_process($plaintext, $this->encryptIV, $this->enbuffer); - case self::MODE_CFB: - // cfb loosely routines inspired by openssl's: - // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1} - $ciphertext = ''; - if ($this->continuousBuffer) { - $iv = &$this->encryptIV; - $pos = &$this->enbuffer['pos']; - } else { - $iv = $this->encryptIV; - $pos = 0; - } - $len = strlen($plaintext); - $i = 0; - if ($pos) { - $orig_pos = $pos; - $max = $this->block_size - $pos; - if ($len >= $max) { - $i = $max; - $len-= $max; - $pos = 0; - } else { - $i = $len; - $pos+= $len; - $len = 0; - } - // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize - $ciphertext = substr($iv, $orig_pos) ^ $plaintext; - $iv = substr_replace($iv, $ciphertext, $orig_pos, $i); - $plaintext = substr($plaintext, $i); - } - - $overflow = $len % $this->block_size; - - if ($overflow) { - $ciphertext.= openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $this->block_size), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); - $iv = $this->_string_pop($ciphertext, $this->block_size); - - $size = $len - $overflow; - $block = $iv ^ substr($plaintext, -$overflow); - $iv = substr_replace($iv, $block, 0, $overflow); - $ciphertext.= $block; - $pos = $overflow; - } elseif ($len) { - $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); - $iv = substr($ciphertext, -$this->block_size); - } - - return $ciphertext; - case self::MODE_OFB: - return $this->_openssl_ofb_process($plaintext, $this->encryptIV, $this->enbuffer); - } - } - - if ($this->engine === self::ENGINE_MCRYPT) { - if ($this->changed) { - $this->_setupMcrypt(); - $this->changed = false; - } - if ($this->enchanged) { - @mcrypt_generic_init($this->enmcrypt, $this->key, $this->encryptIV); - $this->enchanged = false; - } - - // re: {@link http://phpseclib.sourceforge.net/cfb-demo.phps} - // using mcrypt's default handing of CFB the above would output two different things. using phpseclib's - // rewritten CFB implementation the above outputs the same thing twice. - if ($this->mode == self::MODE_CFB && $this->continuousBuffer) { - $block_size = $this->block_size; - $iv = &$this->encryptIV; - $pos = &$this->enbuffer['pos']; - $len = strlen($plaintext); - $ciphertext = ''; - $i = 0; - if ($pos) { - $orig_pos = $pos; - $max = $block_size - $pos; - if ($len >= $max) { - $i = $max; - $len-= $max; - $pos = 0; - } else { - $i = $len; - $pos+= $len; - $len = 0; - } - $ciphertext = substr($iv, $orig_pos) ^ $plaintext; - $iv = substr_replace($iv, $ciphertext, $orig_pos, $i); - $this->enbuffer['enmcrypt_init'] = true; - } - if ($len >= $block_size) { - if ($this->enbuffer['enmcrypt_init'] === false || $len > $this->cfb_init_len) { - if ($this->enbuffer['enmcrypt_init'] === true) { - @mcrypt_generic_init($this->enmcrypt, $this->key, $iv); - $this->enbuffer['enmcrypt_init'] = false; - } - $ciphertext.= @mcrypt_generic($this->enmcrypt, substr($plaintext, $i, $len - $len % $block_size)); - $iv = substr($ciphertext, -$block_size); - $len%= $block_size; - } else { - while ($len >= $block_size) { - $iv = @mcrypt_generic($this->ecb, $iv) ^ substr($plaintext, $i, $block_size); - $ciphertext.= $iv; - $len-= $block_size; - $i+= $block_size; - } - } - } - - if ($len) { - $iv = @mcrypt_generic($this->ecb, $iv); - $block = $iv ^ substr($plaintext, -$len); - $iv = substr_replace($iv, $block, 0, $len); - $ciphertext.= $block; - $pos = $len; - } - - return $ciphertext; - } - - $ciphertext = @mcrypt_generic($this->enmcrypt, $plaintext); - - if (!$this->continuousBuffer) { - @mcrypt_generic_init($this->enmcrypt, $this->key, $this->encryptIV); - } - - return $ciphertext; - } - - if ($this->changed) { - $this->_setup(); - $this->changed = false; - } - if ($this->use_inline_crypt) { - $inline = $this->inline_crypt; - return $inline('encrypt', $this, $plaintext); - } - - $buffer = &$this->enbuffer; - $block_size = $this->block_size; - $ciphertext = ''; - switch ($this->mode) { - case self::MODE_ECB: - for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { - $ciphertext.= $this->_encryptBlock(substr($plaintext, $i, $block_size)); - } - break; - case self::MODE_CBC: - $xor = $this->encryptIV; - for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { - $block = substr($plaintext, $i, $block_size); - $block = $this->_encryptBlock($block ^ $xor); - $xor = $block; - $ciphertext.= $block; - } - if ($this->continuousBuffer) { - $this->encryptIV = $xor; - } - break; - case self::MODE_CTR: - $xor = $this->encryptIV; - if (strlen($buffer['ciphertext'])) { - for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { - $block = substr($plaintext, $i, $block_size); - if (strlen($block) > strlen($buffer['ciphertext'])) { - $buffer['ciphertext'].= $this->_encryptBlock($xor); - } - $this->_increment_str($xor); - $key = $this->_string_shift($buffer['ciphertext'], $block_size); - $ciphertext.= $block ^ $key; - } - } else { - for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { - $block = substr($plaintext, $i, $block_size); - $key = $this->_encryptBlock($xor); - $this->_increment_str($xor); - $ciphertext.= $block ^ $key; - } - } - if ($this->continuousBuffer) { - $this->encryptIV = $xor; - if ($start = strlen($plaintext) % $block_size) { - $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext']; - } - } - break; - case self::MODE_CFB: - // cfb loosely routines inspired by openssl's: - // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1} - if ($this->continuousBuffer) { - $iv = &$this->encryptIV; - $pos = &$buffer['pos']; - } else { - $iv = $this->encryptIV; - $pos = 0; - } - $len = strlen($plaintext); - $i = 0; - if ($pos) { - $orig_pos = $pos; - $max = $block_size - $pos; - if ($len >= $max) { - $i = $max; - $len-= $max; - $pos = 0; - } else { - $i = $len; - $pos+= $len; - $len = 0; - } - // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize - $ciphertext = substr($iv, $orig_pos) ^ $plaintext; - $iv = substr_replace($iv, $ciphertext, $orig_pos, $i); - } - while ($len >= $block_size) { - $iv = $this->_encryptBlock($iv) ^ substr($plaintext, $i, $block_size); - $ciphertext.= $iv; - $len-= $block_size; - $i+= $block_size; - } - if ($len) { - $iv = $this->_encryptBlock($iv); - $block = $iv ^ substr($plaintext, $i); - $iv = substr_replace($iv, $block, 0, $len); - $ciphertext.= $block; - $pos = $len; - } - break; - case self::MODE_OFB: - $xor = $this->encryptIV; - if (strlen($buffer['xor'])) { - for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { - $block = substr($plaintext, $i, $block_size); - if (strlen($block) > strlen($buffer['xor'])) { - $xor = $this->_encryptBlock($xor); - $buffer['xor'].= $xor; - } - $key = $this->_string_shift($buffer['xor'], $block_size); - $ciphertext.= $block ^ $key; - } - } else { - for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { - $xor = $this->_encryptBlock($xor); - $ciphertext.= substr($plaintext, $i, $block_size) ^ $xor; - } - $key = $xor; - } - if ($this->continuousBuffer) { - $this->encryptIV = $xor; - if ($start = strlen($plaintext) % $block_size) { - $buffer['xor'] = substr($key, $start) . $buffer['xor']; - } - } - break; - case self::MODE_STREAM: - $ciphertext = $this->_encryptBlock($plaintext); - break; - } - - return $ciphertext; - } - - /** - * Decrypts a message. - * - * If strlen($ciphertext) is not a multiple of the block size, null bytes will be added to the end of the string until - * it is. - * - * @see self::encrypt() - * @access public - * @param string $ciphertext - * @return string $plaintext - * @internal Could, but not must, extend by the child Crypt_* class - */ - function decrypt($ciphertext) - { - if ($this->paddable) { - // we pad with chr(0) since that's what mcrypt_generic does. to quote from {@link http://www.php.net/function.mcrypt-generic}: - // "The data is padded with "\0" to make sure the length of the data is n * blocksize." - $ciphertext = str_pad($ciphertext, strlen($ciphertext) + ($this->block_size - strlen($ciphertext) % $this->block_size) % $this->block_size, chr(0)); - } - - if ($this->engine === self::ENGINE_OPENSSL) { - if ($this->changed) { - $this->_clearBuffers(); - $this->changed = false; - } - switch ($this->mode) { - case self::MODE_STREAM: - $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options); - break; - case self::MODE_ECB: - if (!defined('OPENSSL_RAW_DATA')) { - $ciphertext.= openssl_encrypt('', $this->cipher_name_openssl_ecb, $this->key, true); - } - $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options); - break; - case self::MODE_CBC: - if (!defined('OPENSSL_RAW_DATA')) { - $padding = str_repeat(chr($this->block_size), $this->block_size) ^ substr($ciphertext, -$this->block_size); - $ciphertext.= substr(openssl_encrypt($padding, $this->cipher_name_openssl_ecb, $this->key, true), 0, $this->block_size); - $offset = 2 * $this->block_size; - } else { - $offset = $this->block_size; - } - $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->decryptIV); - if ($this->continuousBuffer) { - $this->decryptIV = substr($ciphertext, -$offset, $this->block_size); - } - break; - case self::MODE_CTR: - $plaintext = $this->_openssl_ctr_process($ciphertext, $this->decryptIV, $this->debuffer); - break; - case self::MODE_CFB: - // cfb loosely routines inspired by openssl's: - // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1} - $plaintext = ''; - if ($this->continuousBuffer) { - $iv = &$this->decryptIV; - $pos = &$this->buffer['pos']; - } else { - $iv = $this->decryptIV; - $pos = 0; - } - $len = strlen($ciphertext); - $i = 0; - if ($pos) { - $orig_pos = $pos; - $max = $this->block_size - $pos; - if ($len >= $max) { - $i = $max; - $len-= $max; - $pos = 0; - } else { - $i = $len; - $pos+= $len; - $len = 0; - } - // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $this->blocksize - $plaintext = substr($iv, $orig_pos) ^ $ciphertext; - $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i); - $ciphertext = substr($ciphertext, $i); - } - $overflow = $len % $this->block_size; - if ($overflow) { - $plaintext.= openssl_decrypt(substr($ciphertext, 0, -$overflow), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); - if ($len - $overflow) { - $iv = substr($ciphertext, -$overflow - $this->block_size, -$overflow); - } - $iv = openssl_encrypt(str_repeat("\0", $this->block_size), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); - $plaintext.= $iv ^ substr($ciphertext, -$overflow); - $iv = substr_replace($iv, substr($ciphertext, -$overflow), 0, $overflow); - $pos = $overflow; - } elseif ($len) { - $plaintext.= openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); - $iv = substr($ciphertext, -$this->block_size); - } - break; - case self::MODE_OFB: - $plaintext = $this->_openssl_ofb_process($ciphertext, $this->decryptIV, $this->debuffer); - } - - return $this->paddable ? $this->_unpad($plaintext) : $plaintext; - } - - if ($this->engine === self::ENGINE_MCRYPT) { - $block_size = $this->block_size; - if ($this->changed) { - $this->_setupMcrypt(); - $this->changed = false; - } - if ($this->dechanged) { - @mcrypt_generic_init($this->demcrypt, $this->key, $this->decryptIV); - $this->dechanged = false; - } - - if ($this->mode == self::MODE_CFB && $this->continuousBuffer) { - $iv = &$this->decryptIV; - $pos = &$this->debuffer['pos']; - $len = strlen($ciphertext); - $plaintext = ''; - $i = 0; - if ($pos) { - $orig_pos = $pos; - $max = $block_size - $pos; - if ($len >= $max) { - $i = $max; - $len-= $max; - $pos = 0; - } else { - $i = $len; - $pos+= $len; - $len = 0; - } - // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize - $plaintext = substr($iv, $orig_pos) ^ $ciphertext; - $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i); - } - if ($len >= $block_size) { - $cb = substr($ciphertext, $i, $len - $len % $block_size); - $plaintext.= @mcrypt_generic($this->ecb, $iv . $cb) ^ $cb; - $iv = substr($cb, -$block_size); - $len%= $block_size; - } - if ($len) { - $iv = @mcrypt_generic($this->ecb, $iv); - $plaintext.= $iv ^ substr($ciphertext, -$len); - $iv = substr_replace($iv, substr($ciphertext, -$len), 0, $len); - $pos = $len; - } - - return $plaintext; - } - - $plaintext = @mdecrypt_generic($this->demcrypt, $ciphertext); - - if (!$this->continuousBuffer) { - @mcrypt_generic_init($this->demcrypt, $this->key, $this->decryptIV); - } - - return $this->paddable ? $this->_unpad($plaintext) : $plaintext; - } - - if ($this->changed) { - $this->_setup(); - $this->changed = false; - } - if ($this->use_inline_crypt) { - $inline = $this->inline_crypt; - return $inline('decrypt', $this, $ciphertext); - } - - $block_size = $this->block_size; - - $buffer = &$this->debuffer; - $plaintext = ''; - switch ($this->mode) { - case self::MODE_ECB: - for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { - $plaintext.= $this->_decryptBlock(substr($ciphertext, $i, $block_size)); - } - break; - case self::MODE_CBC: - $xor = $this->decryptIV; - for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { - $block = substr($ciphertext, $i, $block_size); - $plaintext.= $this->_decryptBlock($block) ^ $xor; - $xor = $block; - } - if ($this->continuousBuffer) { - $this->decryptIV = $xor; - } - break; - case self::MODE_CTR: - $xor = $this->decryptIV; - if (strlen($buffer['ciphertext'])) { - for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { - $block = substr($ciphertext, $i, $block_size); - if (strlen($block) > strlen($buffer['ciphertext'])) { - $buffer['ciphertext'].= $this->_encryptBlock($xor); - $this->_increment_str($xor); - } - $key = $this->_string_shift($buffer['ciphertext'], $block_size); - $plaintext.= $block ^ $key; - } - } else { - for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { - $block = substr($ciphertext, $i, $block_size); - $key = $this->_encryptBlock($xor); - $this->_increment_str($xor); - $plaintext.= $block ^ $key; - } - } - if ($this->continuousBuffer) { - $this->decryptIV = $xor; - if ($start = strlen($ciphertext) % $block_size) { - $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext']; - } - } - break; - case self::MODE_CFB: - if ($this->continuousBuffer) { - $iv = &$this->decryptIV; - $pos = &$buffer['pos']; - } else { - $iv = $this->decryptIV; - $pos = 0; - } - $len = strlen($ciphertext); - $i = 0; - if ($pos) { - $orig_pos = $pos; - $max = $block_size - $pos; - if ($len >= $max) { - $i = $max; - $len-= $max; - $pos = 0; - } else { - $i = $len; - $pos+= $len; - $len = 0; - } - // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize - $plaintext = substr($iv, $orig_pos) ^ $ciphertext; - $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i); - } - while ($len >= $block_size) { - $iv = $this->_encryptBlock($iv); - $cb = substr($ciphertext, $i, $block_size); - $plaintext.= $iv ^ $cb; - $iv = $cb; - $len-= $block_size; - $i+= $block_size; - } - if ($len) { - $iv = $this->_encryptBlock($iv); - $plaintext.= $iv ^ substr($ciphertext, $i); - $iv = substr_replace($iv, substr($ciphertext, $i), 0, $len); - $pos = $len; - } - break; - case self::MODE_OFB: - $xor = $this->decryptIV; - if (strlen($buffer['xor'])) { - for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { - $block = substr($ciphertext, $i, $block_size); - if (strlen($block) > strlen($buffer['xor'])) { - $xor = $this->_encryptBlock($xor); - $buffer['xor'].= $xor; - } - $key = $this->_string_shift($buffer['xor'], $block_size); - $plaintext.= $block ^ $key; - } - } else { - for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { - $xor = $this->_encryptBlock($xor); - $plaintext.= substr($ciphertext, $i, $block_size) ^ $xor; - } - $key = $xor; - } - if ($this->continuousBuffer) { - $this->decryptIV = $xor; - if ($start = strlen($ciphertext) % $block_size) { - $buffer['xor'] = substr($key, $start) . $buffer['xor']; - } - } - break; - case self::MODE_STREAM: - $plaintext = $this->_decryptBlock($ciphertext); - break; - } - return $this->paddable ? $this->_unpad($plaintext) : $plaintext; - } - - /** - * OpenSSL CTR Processor - * - * PHP's OpenSSL bindings do not operate in continuous mode so we'll wrap around it. Since the keystream - * for CTR is the same for both encrypting and decrypting this function is re-used by both Base::encrypt() - * and Base::decrypt(). Also, OpenSSL doesn't implement CTR for all of it's symmetric ciphers so this - * function will emulate CTR with ECB when necessary. - * - * @see self::encrypt() - * @see self::decrypt() - * @param string $plaintext - * @param string $encryptIV - * @param array $buffer - * @return string - * @access private - */ - function _openssl_ctr_process($plaintext, &$encryptIV, &$buffer) - { - $ciphertext = ''; - - $block_size = $this->block_size; - $key = $this->key; - - if ($this->openssl_emulate_ctr) { - $xor = $encryptIV; - if (strlen($buffer['ciphertext'])) { - for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { - $block = substr($plaintext, $i, $block_size); - if (strlen($block) > strlen($buffer['ciphertext'])) { - $result = openssl_encrypt($xor, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); - $result = !defined('OPENSSL_RAW_DATA') ? substr($result, 0, -$this->block_size) : $result; - $buffer['ciphertext'].= $result; - } - $this->_increment_str($xor); - $otp = $this->_string_shift($buffer['ciphertext'], $block_size); - $ciphertext.= $block ^ $otp; - } - } else { - for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { - $block = substr($plaintext, $i, $block_size); - $otp = openssl_encrypt($xor, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); - $otp = !defined('OPENSSL_RAW_DATA') ? substr($otp, 0, -$this->block_size) : $otp; - $this->_increment_str($xor); - $ciphertext.= $block ^ $otp; - } - } - if ($this->continuousBuffer) { - $encryptIV = $xor; - if ($start = strlen($plaintext) % $block_size) { - $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext']; - } - } - - return $ciphertext; - } - - if (strlen($buffer['ciphertext'])) { - $ciphertext = $plaintext ^ $this->_string_shift($buffer['ciphertext'], strlen($plaintext)); - $plaintext = substr($plaintext, strlen($ciphertext)); - - if (!strlen($plaintext)) { - return $ciphertext; - } - } - - $overflow = strlen($plaintext) % $block_size; - if ($overflow) { - $plaintext2 = $this->_string_pop($plaintext, $overflow); // ie. trim $plaintext to a multiple of $block_size and put rest of $plaintext in $plaintext2 - $encrypted = openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); - $temp = $this->_string_pop($encrypted, $block_size); - $ciphertext.= $encrypted . ($plaintext2 ^ $temp); - if ($this->continuousBuffer) { - $buffer['ciphertext'] = substr($temp, $overflow); - $encryptIV = $temp; - } - } elseif (!strlen($buffer['ciphertext'])) { - $ciphertext.= openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); - $temp = $this->_string_pop($ciphertext, $block_size); - if ($this->continuousBuffer) { - $encryptIV = $temp; - } - } - if ($this->continuousBuffer) { - if (!defined('OPENSSL_RAW_DATA')) { - $encryptIV.= openssl_encrypt('', $this->cipher_name_openssl_ecb, $key, $this->openssl_options); - } - $encryptIV = openssl_decrypt($encryptIV, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); - if ($overflow) { - $this->_increment_str($encryptIV); - } - } - - return $ciphertext; - } - - /** - * OpenSSL OFB Processor - * - * PHP's OpenSSL bindings do not operate in continuous mode so we'll wrap around it. Since the keystream - * for OFB is the same for both encrypting and decrypting this function is re-used by both Base::encrypt() - * and Base::decrypt(). - * - * @see self::encrypt() - * @see self::decrypt() - * @param string $plaintext - * @param string $encryptIV - * @param array $buffer - * @return string - * @access private - */ - function _openssl_ofb_process($plaintext, &$encryptIV, &$buffer) - { - if (strlen($buffer['xor'])) { - $ciphertext = $plaintext ^ $buffer['xor']; - $buffer['xor'] = substr($buffer['xor'], strlen($ciphertext)); - $plaintext = substr($plaintext, strlen($ciphertext)); - } else { - $ciphertext = ''; - } - - $block_size = $this->block_size; - - $len = strlen($plaintext); - $key = $this->key; - $overflow = $len % $block_size; - - if (strlen($plaintext)) { - if ($overflow) { - $ciphertext.= openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); - $xor = $this->_string_pop($ciphertext, $block_size); - if ($this->continuousBuffer) { - $encryptIV = $xor; - } - $ciphertext.= $this->_string_shift($xor, $overflow) ^ substr($plaintext, -$overflow); - if ($this->continuousBuffer) { - $buffer['xor'] = $xor; - } - } else { - $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); - if ($this->continuousBuffer) { - $encryptIV = substr($ciphertext, -$block_size) ^ substr($plaintext, -$block_size); - } - } - } - - return $ciphertext; - } - - /** - * phpseclib <-> OpenSSL Mode Mapper - * - * May need to be overwritten by classes extending this one in some cases - * - * @return int - * @access private - */ - function _openssl_translate_mode() - { - switch ($this->mode) { - case self::MODE_ECB: - return 'ecb'; - case self::MODE_CBC: - return 'cbc'; - case self::MODE_CTR: - return 'ctr'; - case self::MODE_CFB: - return 'cfb'; - case self::MODE_OFB: - return 'ofb'; - } - } - - /** - * Pad "packets". - * - * Block ciphers working by encrypting between their specified [$this->]block_size at a time - * If you ever need to encrypt or decrypt something that isn't of the proper length, it becomes necessary to - * pad the input so that it is of the proper length. - * - * Padding is enabled by default. Sometimes, however, it is undesirable to pad strings. Such is the case in SSH, - * where "packets" are padded with random bytes before being encrypted. Unpad these packets and you risk stripping - * away characters that shouldn't be stripped away. (SSH knows how many bytes are added because the length is - * transmitted separately) - * - * @see self::disablePadding() - * @access public - */ - function enablePadding() - { - $this->padding = true; - } - - /** - * Do not pad packets. - * - * @see self::enablePadding() - * @access public - */ - function disablePadding() - { - $this->padding = false; - } - - /** - * Treat consecutive "packets" as if they are a continuous buffer. - * - * Say you have a 32-byte plaintext $plaintext. Using the default behavior, the two following code snippets - * will yield different outputs: - * - * - * echo $rijndael->encrypt(substr($plaintext, 0, 16)); - * echo $rijndael->encrypt(substr($plaintext, 16, 16)); - * - * - * echo $rijndael->encrypt($plaintext); - * - * - * The solution is to enable the continuous buffer. Although this will resolve the above discrepancy, it creates - * another, as demonstrated with the following: - * - * - * $rijndael->encrypt(substr($plaintext, 0, 16)); - * echo $rijndael->decrypt($rijndael->encrypt(substr($plaintext, 16, 16))); - * - * - * echo $rijndael->decrypt($rijndael->encrypt(substr($plaintext, 16, 16))); - * - * - * With the continuous buffer disabled, these would yield the same output. With it enabled, they yield different - * outputs. The reason is due to the fact that the initialization vector's change after every encryption / - * decryption round when the continuous buffer is enabled. When it's disabled, they remain constant. - * - * Put another way, when the continuous buffer is enabled, the state of the \phpseclib\Crypt\*() object changes after each - * encryption / decryption round, whereas otherwise, it'd remain constant. For this reason, it's recommended that - * continuous buffers not be used. They do offer better security and are, in fact, sometimes required (SSH uses them), - * however, they are also less intuitive and more likely to cause you problems. - * - * @see self::disableContinuousBuffer() - * @access public - * @internal Could, but not must, extend by the child Crypt_* class - */ - function enableContinuousBuffer() - { - if ($this->mode == self::MODE_ECB) { - return; - } - - $this->continuousBuffer = true; - - $this->_setEngine(); - } - - /** - * Treat consecutive packets as if they are a discontinuous buffer. - * - * The default behavior. - * - * @see self::enableContinuousBuffer() - * @access public - * @internal Could, but not must, extend by the child Crypt_* class - */ - function disableContinuousBuffer() - { - if ($this->mode == self::MODE_ECB) { - return; - } - if (!$this->continuousBuffer) { - return; - } - - $this->continuousBuffer = false; - $this->changed = true; - - $this->_setEngine(); - } - - /** - * Test for engine validity - * - * @see self::__construct() - * @param int $engine - * @access public - * @return bool - */ - function isValidEngine($engine) - { - switch ($engine) { - case self::ENGINE_OPENSSL: - if ($this->mode == self::MODE_STREAM && $this->continuousBuffer) { - return false; - } - $this->openssl_emulate_ctr = false; - $result = $this->cipher_name_openssl && - extension_loaded('openssl') && - // PHP 5.3.0 - 5.3.2 did not let you set IV's - version_compare(PHP_VERSION, '5.3.3', '>='); - if (!$result) { - return false; - } - - // prior to PHP 5.4.0 OPENSSL_RAW_DATA and OPENSSL_ZERO_PADDING were not defined. instead of expecting an integer - // $options openssl_encrypt expected a boolean $raw_data. - if (!defined('OPENSSL_RAW_DATA')) { - $this->openssl_options = true; - } else { - $this->openssl_options = OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING; - } - - $methods = openssl_get_cipher_methods(); - if (in_array($this->cipher_name_openssl, $methods)) { - return true; - } - // not all of openssl's symmetric cipher's support ctr. for those - // that don't we'll emulate it - switch ($this->mode) { - case self::MODE_CTR: - if (in_array($this->cipher_name_openssl_ecb, $methods)) { - $this->openssl_emulate_ctr = true; - return true; - } - } - return false; - case self::ENGINE_MCRYPT: - return $this->cipher_name_mcrypt && - extension_loaded('mcrypt') && - in_array($this->cipher_name_mcrypt, @mcrypt_list_algorithms()); - case self::ENGINE_INTERNAL: - return true; - } - - return false; - } - - /** - * Sets the preferred crypt engine - * - * Currently, $engine could be: - * - * - \phpseclib\Crypt\Base::ENGINE_OPENSSL [very fast] - * - * - \phpseclib\Crypt\Base::ENGINE_MCRYPT [fast] - * - * - \phpseclib\Crypt\Base::ENGINE_INTERNAL [slow] - * - * If the preferred crypt engine is not available the fastest available one will be used - * - * @see self::__construct() - * @param int $engine - * @access public - */ - function setPreferredEngine($engine) - { - switch ($engine) { - //case self::ENGINE_OPENSSL; - case self::ENGINE_MCRYPT: - case self::ENGINE_INTERNAL: - $this->preferredEngine = $engine; - break; - default: - $this->preferredEngine = self::ENGINE_OPENSSL; - } - - $this->_setEngine(); - } - - /** - * Returns the engine currently being utilized - * - * @see self::_setEngine() - * @access public - */ - function getEngine() - { - return $this->engine; - } - - /** - * Sets the engine as appropriate - * - * @see self::__construct() - * @access private - */ - function _setEngine() - { - $this->engine = null; - - $candidateEngines = array( - $this->preferredEngine, - self::ENGINE_OPENSSL, - self::ENGINE_MCRYPT - ); - foreach ($candidateEngines as $engine) { - if ($this->isValidEngine($engine)) { - $this->engine = $engine; - break; - } - } - if (!$this->engine) { - $this->engine = self::ENGINE_INTERNAL; - } - - if ($this->engine != self::ENGINE_MCRYPT && $this->enmcrypt) { - // Closing the current mcrypt resource(s). _mcryptSetup() will, if needed, - // (re)open them with the module named in $this->cipher_name_mcrypt - @mcrypt_module_close($this->enmcrypt); - @mcrypt_module_close($this->demcrypt); - $this->enmcrypt = null; - $this->demcrypt = null; - - if ($this->ecb) { - @mcrypt_module_close($this->ecb); - $this->ecb = null; - } - } - - $this->changed = true; - } - - /** - * Encrypts a block - * - * Note: Must be extended by the child \phpseclib\Crypt\* class - * - * @access private - * @param string $in - * @return string - */ - abstract function _encryptBlock($in); - - /** - * Decrypts a block - * - * Note: Must be extended by the child \phpseclib\Crypt\* class - * - * @access private - * @param string $in - * @return string - */ - abstract function _decryptBlock($in); - - /** - * Setup the key (expansion) - * - * Only used if $engine == self::ENGINE_INTERNAL - * - * Note: Must extend by the child \phpseclib\Crypt\* class - * - * @see self::_setup() - * @access private - */ - abstract function _setupKey(); - - /** - * Setup the self::ENGINE_INTERNAL $engine - * - * (re)init, if necessary, the internal cipher $engine and flush all $buffers - * Used (only) if $engine == self::ENGINE_INTERNAL - * - * _setup() will be called each time if $changed === true - * typically this happens when using one or more of following public methods: - * - * - setKey() - * - * - setIV() - * - * - disableContinuousBuffer() - * - * - First run of encrypt() / decrypt() with no init-settings - * - * @see self::setKey() - * @see self::setIV() - * @see self::disableContinuousBuffer() - * @access private - * @internal _setup() is always called before en/decryption. - * @internal Could, but not must, extend by the child Crypt_* class - */ - function _setup() - { - $this->_clearBuffers(); - $this->_setupKey(); - - if ($this->use_inline_crypt) { - $this->_setupInlineCrypt(); - } - } - - /** - * Setup the self::ENGINE_MCRYPT $engine - * - * (re)init, if necessary, the (ext)mcrypt resources and flush all $buffers - * Used (only) if $engine = self::ENGINE_MCRYPT - * - * _setupMcrypt() will be called each time if $changed === true - * typically this happens when using one or more of following public methods: - * - * - setKey() - * - * - setIV() - * - * - disableContinuousBuffer() - * - * - First run of encrypt() / decrypt() - * - * @see self::setKey() - * @see self::setIV() - * @see self::disableContinuousBuffer() - * @access private - * @internal Could, but not must, extend by the child Crypt_* class - */ - function _setupMcrypt() - { - $this->_clearBuffers(); - $this->enchanged = $this->dechanged = true; - - if (!isset($this->enmcrypt)) { - static $mcrypt_modes = array( - self::MODE_CTR => 'ctr', - self::MODE_ECB => MCRYPT_MODE_ECB, - self::MODE_CBC => MCRYPT_MODE_CBC, - self::MODE_CFB => 'ncfb', - self::MODE_OFB => MCRYPT_MODE_NOFB, - self::MODE_STREAM => MCRYPT_MODE_STREAM, - ); - - $this->demcrypt = @mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], ''); - $this->enmcrypt = @mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], ''); - - // we need the $ecb mcrypt resource (only) in MODE_CFB with enableContinuousBuffer() - // to workaround mcrypt's broken ncfb implementation in buffered mode - // see: {@link http://phpseclib.sourceforge.net/cfb-demo.phps} - if ($this->mode == self::MODE_CFB) { - $this->ecb = @mcrypt_module_open($this->cipher_name_mcrypt, '', MCRYPT_MODE_ECB, ''); - } - } // else should mcrypt_generic_deinit be called? - - if ($this->mode == self::MODE_CFB) { - @mcrypt_generic_init($this->ecb, $this->key, str_repeat("\0", $this->block_size)); - } - } - - /** - * Pads a string - * - * Pads a string using the RSA PKCS padding standards so that its length is a multiple of the blocksize. - * $this->block_size - (strlen($text) % $this->block_size) bytes are added, each of which is equal to - * chr($this->block_size - (strlen($text) % $this->block_size) - * - * If padding is disabled and $text is not a multiple of the blocksize, the string will be padded regardless - * and padding will, hence forth, be enabled. - * - * @see self::_unpad() - * @param string $text - * @access private - * @return string - */ - function _pad($text) - { - $length = strlen($text); - - if (!$this->padding) { - if ($length % $this->block_size == 0) { - return $text; - } else { - user_error("The plaintext's length ($length) is not a multiple of the block size ({$this->block_size})"); - $this->padding = true; - } - } - - $pad = $this->block_size - ($length % $this->block_size); - - return str_pad($text, $length + $pad, chr($pad)); - } - - /** - * Unpads a string. - * - * If padding is enabled and the reported padding length is invalid the encryption key will be assumed to be wrong - * and false will be returned. - * - * @see self::_pad() - * @param string $text - * @access private - * @return string - */ - function _unpad($text) - { - if (!$this->padding) { - return $text; - } - - $length = ord($text[strlen($text) - 1]); - - if (!$length || $length > $this->block_size) { - return false; - } - - return substr($text, 0, -$length); - } - - /** - * Clears internal buffers - * - * Clearing/resetting the internal buffers is done everytime - * after disableContinuousBuffer() or on cipher $engine (re)init - * ie after setKey() or setIV() - * - * @access public - * @internal Could, but not must, extend by the child Crypt_* class - */ - function _clearBuffers() - { - $this->enbuffer = $this->debuffer = array('ciphertext' => '', 'xor' => '', 'pos' => 0, 'enmcrypt_init' => true); - - // mcrypt's handling of invalid's $iv: - // $this->encryptIV = $this->decryptIV = strlen($this->iv) == $this->block_size ? $this->iv : str_repeat("\0", $this->block_size); - $this->encryptIV = $this->decryptIV = str_pad(substr($this->iv, 0, $this->block_size), $this->block_size, "\0"); - - if (!$this->skip_key_adjustment) { - $this->key = str_pad(substr($this->key, 0, $this->key_length), $this->key_length, "\0"); - } - } - - /** - * String Shift - * - * Inspired by array_shift - * - * @param string $string - * @param int $index - * @access private - * @return string - */ - function _string_shift(&$string, $index = 1) - { - $substr = substr($string, 0, $index); - $string = substr($string, $index); - return $substr; - } - - /** - * String Pop - * - * Inspired by array_pop - * - * @param string $string - * @param int $index - * @access private - * @return string - */ - function _string_pop(&$string, $index = 1) - { - $substr = substr($string, -$index); - $string = substr($string, 0, -$index); - return $substr; - } - - /** - * Increment the current string - * - * @see self::decrypt() - * @see self::encrypt() - * @param string $var - * @access private - */ - function _increment_str(&$var) - { - for ($i = 4; $i <= strlen($var); $i+= 4) { - $temp = substr($var, -$i, 4); - switch ($temp) { - case "\xFF\xFF\xFF\xFF": - $var = substr_replace($var, "\x00\x00\x00\x00", -$i, 4); - break; - case "\x7F\xFF\xFF\xFF": - $var = substr_replace($var, "\x80\x00\x00\x00", -$i, 4); - return; - default: - $temp = unpack('Nnum', $temp); - $var = substr_replace($var, pack('N', $temp['num'] + 1), -$i, 4); - return; - } - } - - $remainder = strlen($var) % 4; - - if ($remainder == 0) { - return; - } - - $temp = unpack('Nnum', str_pad(substr($var, 0, $remainder), 4, "\0", STR_PAD_LEFT)); - $temp = substr(pack('N', $temp['num'] + 1), -$remainder); - $var = substr_replace($var, $temp, 0, $remainder); - } - - /** - * Setup the performance-optimized function for de/encrypt() - * - * Stores the created (or existing) callback function-name - * in $this->inline_crypt - * - * Internally for phpseclib developers: - * - * _setupInlineCrypt() would be called only if: - * - * - $engine == self::ENGINE_INTERNAL and - * - * - $use_inline_crypt === true - * - * - each time on _setup(), after(!) _setupKey() - * - * - * This ensures that _setupInlineCrypt() has always a - * full ready2go initializated internal cipher $engine state - * where, for example, the keys allready expanded, - * keys/block_size calculated and such. - * - * It is, each time if called, the responsibility of _setupInlineCrypt(): - * - * - to set $this->inline_crypt to a valid and fully working callback function - * as a (faster) replacement for encrypt() / decrypt() - * - * - NOT to create unlimited callback functions (for memory reasons!) - * no matter how often _setupInlineCrypt() would be called. At some - * point of amount they must be generic re-useable. - * - * - the code of _setupInlineCrypt() it self, - * and the generated callback code, - * must be, in following order: - * - 100% safe - * - 100% compatible to encrypt()/decrypt() - * - using only php5+ features/lang-constructs/php-extensions if - * compatibility (down to php4) or fallback is provided - * - readable/maintainable/understandable/commented and... not-cryptic-styled-code :-) - * - >= 10% faster than encrypt()/decrypt() [which is, by the way, - * the reason for the existence of _setupInlineCrypt() :-)] - * - memory-nice - * - short (as good as possible) - * - * Note: - _setupInlineCrypt() is using _createInlineCryptFunction() to create the full callback function code. - * - In case of using inline crypting, _setupInlineCrypt() must extend by the child \phpseclib\Crypt\* class. - * - The following variable names are reserved: - * - $_* (all variable names prefixed with an underscore) - * - $self (object reference to it self. Do not use $this, but $self instead) - * - $in (the content of $in has to en/decrypt by the generated code) - * - The callback function should not use the 'return' statement, but en/decrypt'ing the content of $in only - * - * - * @see self::_setup() - * @see self::_createInlineCryptFunction() - * @see self::encrypt() - * @see self::decrypt() - * @access private - * @internal If a Crypt_* class providing inline crypting it must extend _setupInlineCrypt() - */ - function _setupInlineCrypt() - { - // If, for any reason, an extending \phpseclib\Crypt\Base() \phpseclib\Crypt\* class - // not using inline crypting then it must be ensured that: $this->use_inline_crypt = false - // ie in the class var declaration of $use_inline_crypt in general for the \phpseclib\Crypt\* class, - // in the constructor at object instance-time - // or, if it's runtime-specific, at runtime - - $this->use_inline_crypt = false; - } - - /** - * Creates the performance-optimized function for en/decrypt() - * - * Internally for phpseclib developers: - * - * _createInlineCryptFunction(): - * - * - merge the $cipher_code [setup'ed by _setupInlineCrypt()] - * with the current [$this->]mode of operation code - * - * - create the $inline function, which called by encrypt() / decrypt() - * as its replacement to speed up the en/decryption operations. - * - * - return the name of the created $inline callback function - * - * - used to speed up en/decryption - * - * - * - * The main reason why can speed up things [up to 50%] this way are: - * - * - using variables more effective then regular. - * (ie no use of expensive arrays but integers $k_0, $k_1 ... - * or even, for example, the pure $key[] values hardcoded) - * - * - avoiding 1000's of function calls of ie _encryptBlock() - * but inlining the crypt operations. - * in the mode of operation for() loop. - * - * - full loop unroll the (sometimes key-dependent) rounds - * avoiding this way ++$i counters and runtime-if's etc... - * - * The basic code architectur of the generated $inline en/decrypt() - * lambda function, in pseudo php, is: - * - * - * +----------------------------------------------------------------------------------------------+ - * | callback $inline = create_function: | - * | lambda_function_0001_crypt_ECB($action, $text) | - * | { | - * | INSERT PHP CODE OF: | - * | $cipher_code['init_crypt']; // general init code. | - * | // ie: $sbox'es declarations used for | - * | // encrypt and decrypt'ing. | - * | | - * | switch ($action) { | - * | case 'encrypt': | - * | INSERT PHP CODE OF: | - * | $cipher_code['init_encrypt']; // encrypt sepcific init code. | - * | ie: specified $key or $box | - * | declarations for encrypt'ing. | - * | | - * | foreach ($ciphertext) { | - * | $in = $block_size of $ciphertext; | - * | | - * | INSERT PHP CODE OF: | - * | $cipher_code['encrypt_block']; // encrypt's (string) $in, which is always: | - * | // strlen($in) == $this->block_size | - * | // here comes the cipher algorithm in action | - * | // for encryption. | - * | // $cipher_code['encrypt_block'] has to | - * | // encrypt the content of the $in variable | - * | | - * | $plaintext .= $in; | - * | } | - * | return $plaintext; | - * | | - * | case 'decrypt': | - * | INSERT PHP CODE OF: | - * | $cipher_code['init_decrypt']; // decrypt sepcific init code | - * | ie: specified $key or $box | - * | declarations for decrypt'ing. | - * | foreach ($plaintext) { | - * | $in = $block_size of $plaintext; | - * | | - * | INSERT PHP CODE OF: | - * | $cipher_code['decrypt_block']; // decrypt's (string) $in, which is always | - * | // strlen($in) == $this->block_size | - * | // here comes the cipher algorithm in action | - * | // for decryption. | - * | // $cipher_code['decrypt_block'] has to | - * | // decrypt the content of the $in variable | - * | $ciphertext .= $in; | - * | } | - * | return $ciphertext; | - * | } | - * | } | - * +----------------------------------------------------------------------------------------------+ - * - * - * See also the \phpseclib\Crypt\*::_setupInlineCrypt()'s for - * productive inline $cipher_code's how they works. - * - * Structure of: - * - * $cipher_code = array( - * 'init_crypt' => (string) '', // optional - * 'init_encrypt' => (string) '', // optional - * 'init_decrypt' => (string) '', // optional - * 'encrypt_block' => (string) '', // required - * 'decrypt_block' => (string) '' // required - * ); - * - * - * @see self::_setupInlineCrypt() - * @see self::encrypt() - * @see self::decrypt() - * @param array $cipher_code - * @access private - * @return string (the name of the created callback function) - */ - function _createInlineCryptFunction($cipher_code) - { - $block_size = $this->block_size; - - // optional - $init_crypt = isset($cipher_code['init_crypt']) ? $cipher_code['init_crypt'] : ''; - $init_encrypt = isset($cipher_code['init_encrypt']) ? $cipher_code['init_encrypt'] : ''; - $init_decrypt = isset($cipher_code['init_decrypt']) ? $cipher_code['init_decrypt'] : ''; - // required - $encrypt_block = $cipher_code['encrypt_block']; - $decrypt_block = $cipher_code['decrypt_block']; - - // Generating mode of operation inline code, - // merged with the $cipher_code algorithm - // for encrypt- and decryption. - switch ($this->mode) { - case self::MODE_ECB: - $encrypt = $init_encrypt . ' - $_ciphertext = ""; - $_plaintext_len = strlen($_text); - - for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { - $in = substr($_text, $_i, '.$block_size.'); - '.$encrypt_block.' - $_ciphertext.= $in; - } - - return $_ciphertext; - '; - - $decrypt = $init_decrypt . ' - $_plaintext = ""; - $_text = str_pad($_text, strlen($_text) + ('.$block_size.' - strlen($_text) % '.$block_size.') % '.$block_size.', chr(0)); - $_ciphertext_len = strlen($_text); - - for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { - $in = substr($_text, $_i, '.$block_size.'); - '.$decrypt_block.' - $_plaintext.= $in; - } - - return $self->_unpad($_plaintext); - '; - break; - case self::MODE_CTR: - $encrypt = $init_encrypt . ' - $_ciphertext = ""; - $_plaintext_len = strlen($_text); - $_xor = $self->encryptIV; - $_buffer = &$self->enbuffer; - if (strlen($_buffer["ciphertext"])) { - for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { - $_block = substr($_text, $_i, '.$block_size.'); - if (strlen($_block) > strlen($_buffer["ciphertext"])) { - $in = $_xor; - '.$encrypt_block.' - $self->_increment_str($_xor); - $_buffer["ciphertext"].= $in; - } - $_key = $self->_string_shift($_buffer["ciphertext"], '.$block_size.'); - $_ciphertext.= $_block ^ $_key; - } - } else { - for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { - $_block = substr($_text, $_i, '.$block_size.'); - $in = $_xor; - '.$encrypt_block.' - $self->_increment_str($_xor); - $_key = $in; - $_ciphertext.= $_block ^ $_key; - } - } - if ($self->continuousBuffer) { - $self->encryptIV = $_xor; - if ($_start = $_plaintext_len % '.$block_size.') { - $_buffer["ciphertext"] = substr($_key, $_start) . $_buffer["ciphertext"]; - } - } - - return $_ciphertext; - '; - - $decrypt = $init_encrypt . ' - $_plaintext = ""; - $_ciphertext_len = strlen($_text); - $_xor = $self->decryptIV; - $_buffer = &$self->debuffer; - - if (strlen($_buffer["ciphertext"])) { - for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { - $_block = substr($_text, $_i, '.$block_size.'); - if (strlen($_block) > strlen($_buffer["ciphertext"])) { - $in = $_xor; - '.$encrypt_block.' - $self->_increment_str($_xor); - $_buffer["ciphertext"].= $in; - } - $_key = $self->_string_shift($_buffer["ciphertext"], '.$block_size.'); - $_plaintext.= $_block ^ $_key; - } - } else { - for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { - $_block = substr($_text, $_i, '.$block_size.'); - $in = $_xor; - '.$encrypt_block.' - $self->_increment_str($_xor); - $_key = $in; - $_plaintext.= $_block ^ $_key; - } - } - if ($self->continuousBuffer) { - $self->decryptIV = $_xor; - if ($_start = $_ciphertext_len % '.$block_size.') { - $_buffer["ciphertext"] = substr($_key, $_start) . $_buffer["ciphertext"]; - } - } - - return $_plaintext; - '; - break; - case self::MODE_CFB: - $encrypt = $init_encrypt . ' - $_ciphertext = ""; - $_buffer = &$self->enbuffer; - - if ($self->continuousBuffer) { - $_iv = &$self->encryptIV; - $_pos = &$_buffer["pos"]; - } else { - $_iv = $self->encryptIV; - $_pos = 0; - } - $_len = strlen($_text); - $_i = 0; - if ($_pos) { - $_orig_pos = $_pos; - $_max = '.$block_size.' - $_pos; - if ($_len >= $_max) { - $_i = $_max; - $_len-= $_max; - $_pos = 0; - } else { - $_i = $_len; - $_pos+= $_len; - $_len = 0; - } - $_ciphertext = substr($_iv, $_orig_pos) ^ $_text; - $_iv = substr_replace($_iv, $_ciphertext, $_orig_pos, $_i); - } - while ($_len >= '.$block_size.') { - $in = $_iv; - '.$encrypt_block.'; - $_iv = $in ^ substr($_text, $_i, '.$block_size.'); - $_ciphertext.= $_iv; - $_len-= '.$block_size.'; - $_i+= '.$block_size.'; - } - if ($_len) { - $in = $_iv; - '.$encrypt_block.' - $_iv = $in; - $_block = $_iv ^ substr($_text, $_i); - $_iv = substr_replace($_iv, $_block, 0, $_len); - $_ciphertext.= $_block; - $_pos = $_len; - } - return $_ciphertext; - '; - - $decrypt = $init_encrypt . ' - $_plaintext = ""; - $_buffer = &$self->debuffer; - - if ($self->continuousBuffer) { - $_iv = &$self->decryptIV; - $_pos = &$_buffer["pos"]; - } else { - $_iv = $self->decryptIV; - $_pos = 0; - } - $_len = strlen($_text); - $_i = 0; - if ($_pos) { - $_orig_pos = $_pos; - $_max = '.$block_size.' - $_pos; - if ($_len >= $_max) { - $_i = $_max; - $_len-= $_max; - $_pos = 0; - } else { - $_i = $_len; - $_pos+= $_len; - $_len = 0; - } - $_plaintext = substr($_iv, $_orig_pos) ^ $_text; - $_iv = substr_replace($_iv, substr($_text, 0, $_i), $_orig_pos, $_i); - } - while ($_len >= '.$block_size.') { - $in = $_iv; - '.$encrypt_block.' - $_iv = $in; - $cb = substr($_text, $_i, '.$block_size.'); - $_plaintext.= $_iv ^ $cb; - $_iv = $cb; - $_len-= '.$block_size.'; - $_i+= '.$block_size.'; - } - if ($_len) { - $in = $_iv; - '.$encrypt_block.' - $_iv = $in; - $_plaintext.= $_iv ^ substr($_text, $_i); - $_iv = substr_replace($_iv, substr($_text, $_i), 0, $_len); - $_pos = $_len; - } - - return $_plaintext; - '; - break; - case self::MODE_OFB: - $encrypt = $init_encrypt . ' - $_ciphertext = ""; - $_plaintext_len = strlen($_text); - $_xor = $self->encryptIV; - $_buffer = &$self->enbuffer; - - if (strlen($_buffer["xor"])) { - for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { - $_block = substr($_text, $_i, '.$block_size.'); - if (strlen($_block) > strlen($_buffer["xor"])) { - $in = $_xor; - '.$encrypt_block.' - $_xor = $in; - $_buffer["xor"].= $_xor; - } - $_key = $self->_string_shift($_buffer["xor"], '.$block_size.'); - $_ciphertext.= $_block ^ $_key; - } - } else { - for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { - $in = $_xor; - '.$encrypt_block.' - $_xor = $in; - $_ciphertext.= substr($_text, $_i, '.$block_size.') ^ $_xor; - } - $_key = $_xor; - } - if ($self->continuousBuffer) { - $self->encryptIV = $_xor; - if ($_start = $_plaintext_len % '.$block_size.') { - $_buffer["xor"] = substr($_key, $_start) . $_buffer["xor"]; - } - } - return $_ciphertext; - '; - - $decrypt = $init_encrypt . ' - $_plaintext = ""; - $_ciphertext_len = strlen($_text); - $_xor = $self->decryptIV; - $_buffer = &$self->debuffer; - - if (strlen($_buffer["xor"])) { - for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { - $_block = substr($_text, $_i, '.$block_size.'); - if (strlen($_block) > strlen($_buffer["xor"])) { - $in = $_xor; - '.$encrypt_block.' - $_xor = $in; - $_buffer["xor"].= $_xor; - } - $_key = $self->_string_shift($_buffer["xor"], '.$block_size.'); - $_plaintext.= $_block ^ $_key; - } - } else { - for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { - $in = $_xor; - '.$encrypt_block.' - $_xor = $in; - $_plaintext.= substr($_text, $_i, '.$block_size.') ^ $_xor; - } - $_key = $_xor; - } - if ($self->continuousBuffer) { - $self->decryptIV = $_xor; - if ($_start = $_ciphertext_len % '.$block_size.') { - $_buffer["xor"] = substr($_key, $_start) . $_buffer["xor"]; - } - } - return $_plaintext; - '; - break; - case self::MODE_STREAM: - $encrypt = $init_encrypt . ' - $_ciphertext = ""; - '.$encrypt_block.' - return $_ciphertext; - '; - $decrypt = $init_decrypt . ' - $_plaintext = ""; - '.$decrypt_block.' - return $_plaintext; - '; - break; - // case self::MODE_CBC: - default: - $encrypt = $init_encrypt . ' - $_ciphertext = ""; - $_plaintext_len = strlen($_text); - - $in = $self->encryptIV; - - for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { - $in = substr($_text, $_i, '.$block_size.') ^ $in; - '.$encrypt_block.' - $_ciphertext.= $in; - } - - if ($self->continuousBuffer) { - $self->encryptIV = $in; - } - - return $_ciphertext; - '; - - $decrypt = $init_decrypt . ' - $_plaintext = ""; - $_text = str_pad($_text, strlen($_text) + ('.$block_size.' - strlen($_text) % '.$block_size.') % '.$block_size.', chr(0)); - $_ciphertext_len = strlen($_text); - - $_iv = $self->decryptIV; - - for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { - $in = $_block = substr($_text, $_i, '.$block_size.'); - '.$decrypt_block.' - $_plaintext.= $in ^ $_iv; - $_iv = $_block; - } - - if ($self->continuousBuffer) { - $self->decryptIV = $_iv; - } - - return $self->_unpad($_plaintext); - '; - break; - } - - // Create the $inline function and return its name as string. Ready to run! - return create_function('$_action, &$self, $_text', $init_crypt . 'if ($_action == "encrypt") { ' . $encrypt . ' } else { ' . $decrypt . ' }'); - } - - /** - * Holds the lambda_functions table (classwide) - * - * Each name of the lambda function, created from - * _setupInlineCrypt() && _createInlineCryptFunction() - * is stored, classwide (!), here for reusing. - * - * The string-based index of $function is a classwide - * unique value representing, at least, the $mode of - * operation (or more... depends of the optimizing level) - * for which $mode the lambda function was created. - * - * @access private - * @return array &$functions - */ - function &_getLambdaFunctions() - { - static $functions = array(); - return $functions; - } - - /** - * Generates a digest from $bytes - * - * @see self::_setupInlineCrypt() - * @access private - * @param $bytes - * @return string - */ - function _hashInlineCryptFunction($bytes) - { - if (!isset(self::$WHIRLPOOL_AVAILABLE)) { - self::$WHIRLPOOL_AVAILABLE = extension_loaded('hash') && in_array('whirlpool', hash_algos()); - } - - $result = ''; - $hash = $bytes; - - switch (true) { - case self::$WHIRLPOOL_AVAILABLE: - foreach (str_split($bytes, 64) as $t) { - $hash = hash('whirlpool', $hash, true); - $result .= $t ^ $hash; - } - return $result . hash('whirlpool', $hash, true); - default: - $len = strlen($bytes); - for ($i = 0; $i < $len; $i+=20) { - $t = substr($bytes, $i, 20); - $hash = pack('H*', sha1($hash)); - $result .= $t ^ $hash; - } - return $result . pack('H*', sha1($hash)); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/.travis.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/.travis.yml deleted file mode 100644 index a277922b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/.travis.yml +++ /dev/null @@ -1,39 +0,0 @@ -language: php - -sudo: false - -cache: - directories: - - $HOME/.composer/cache - -branches: - except: - - /^bugfix\/.*$/ - - /^feature\/.*$/ - - /^optimization\/.*$/ - -matrix: - include: - - php: 5.3 - - php: 5.4 - - php: 5.5 - - php: 5.6 - env: DEPENDENCIES='low' - - php: 5.6 - - php: 7.0 - - php: 7.1 - # Use the newer stack for HHVM as HHVM does not support Precise anymore since a long time and so Precise has an outdated version - - php: hhvm - sudo: required - dist: trusty - group: edge - fast_finish: true - -install: - - export COMPOSER_ROOT_VERSION=dev-master - - if [ "$DEPENDENCIES" != "low" ]; then composer update; fi; - - if [ "$DEPENDENCIES" == "low" ]; then composer update --prefer-lowest; fi; - -script: - - vendor/bin/phpspec run -fpretty -v - - vendor/bin/phpunit diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/CHANGES.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/CHANGES.md deleted file mode 100644 index 996567aa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/CHANGES.md +++ /dev/null @@ -1,165 +0,0 @@ -1.7.0 / 2017-03-02 -================== - -* Add full PHP 7.1 Support (thanks @prolic) -* Allow `sebastian/comparator ^2.0` (thanks @sebastianbergmann) -* Allow `sebastian/recursion-context ^3.0` (thanks @sebastianbergmann) -* Allow `\Error` instances in `ThrowPromise` (thanks @jameshalsall) -* Support `phpspec/phpspect ^3.2` (thanks @Sam-Burns) -* Fix failing builds (thanks @Sam-Burns) - -1.6.2 / 2016-11-21 -================== - -* Added support for detecting @method on interfaces that the class itself implements, or when the stubbed class is an interface itself (thanks @Seldaek) -* Added support for sebastian/recursion-context 2 (thanks @sebastianbergmann) -* Added testing on PHP 7.1 on Travis (thanks @danizord) -* Fixed the usage of the phpunit comparator (thanks @Anyqax) - -1.6.1 / 2016-06-07 -================== - - * Ignored empty method names in invalid `@method` phpdoc - * Fixed the mocking of SplFileObject - * Added compatibility with phpdocumentor/reflection-docblock 3 - -1.6.0 / 2016-02-15 -================== - - * Add Variadics support (thanks @pamil) - * Add ProphecyComparator for comparing objects that need revealing (thanks @jon-acker) - * Add ApproximateValueToken (thanks @dantleech) - * Add support for 'self' and 'parent' return type (thanks @bendavies) - * Add __invoke to allowed reflectable methods list (thanks @ftrrtf) - * Updated ExportUtil to reflect the latest changes by Sebastian (thanks @jakari) - * Specify the required php version for composer (thanks @jakzal) - * Exclude 'args' in the generated backtrace (thanks @oradwell) - * Fix code generation for scalar parameters (thanks @trowski) - * Fix missing sprintf in InvalidArgumentException __construct call (thanks @emmanuelballery) - * Fix phpdoc for magic methods (thanks @Tobion) - * Fix PhpDoc for interfaces usage (thanks @ImmRanneft) - * Prevent final methods from being manually extended (thanks @kamioftea) - * Enhance exception for invalid argument to ThrowPromise (thanks @Tobion) - -1.5.0 / 2015-04-27 -================== - - * Add support for PHP7 scalar type hints (thanks @trowski) - * Add support for PHP7 return types (thanks @trowski) - * Update internal test suite to support PHP7 - -1.4.1 / 2015-04-27 -================== - - * Fixed bug in closure-based argument tokens (#181) - -1.4.0 / 2015-03-27 -================== - - * Fixed errors in return type phpdocs (thanks @sobit) - * Fixed stringifying of hash containing one value (thanks @avant1) - * Improved clarity of method call expectation exception (thanks @dantleech) - * Add ability to specify which argument is returned in willReturnArgument (thanks @coderbyheart) - * Add more information to MethodNotFound exceptions (thanks @ciaranmcnulty) - * Support for mocking classes with methods that return references (thanks @edsonmedina) - * Improved object comparison (thanks @whatthejeff) - * Adopted '^' in composer dependencies (thanks @GrahamCampbell) - * Fixed non-typehinted arguments being treated as optional (thanks @whatthejeff) - * Magic methods are now filtered for keywords (thanks @seagoj) - * More readable errors for failure when expecting single calls (thanks @dantleech) - -1.3.1 / 2014-11-17 -================== - - * Fix the edge case when failed predictions weren't recorded for `getCheckedPredictions()` - -1.3.0 / 2014-11-14 -================== - - * Add a way to get checked predictions with `MethodProphecy::getCheckedPredictions()` - * Fix HHVM compatibility - * Remove dead code (thanks @stof) - * Add support for DirectoryIterators (thanks @shanethehat) - -1.2.0 / 2014-07-18 -================== - - * Added support for doubling magic methods documented in the class phpdoc (thanks @armetiz) - * Fixed a segfault appearing in some cases (thanks @dmoreaulf) - * Fixed the doubling of methods with typehints on non-existent classes (thanks @gquemener) - * Added support for internal classes using keywords as method names (thanks @milan) - * Added IdenticalValueToken and Argument::is (thanks @florianv) - * Removed the usage of scalar typehints in HHVM as HHVM 3 does not support them anymore in PHP code (thanks @whatthejeff) - -1.1.2 / 2014-01-24 -================== - - * Spy automatically promotes spied method call to an expected one - -1.1.1 / 2014-01-15 -================== - - * Added support for HHVM - -1.1.0 / 2014-01-01 -================== - - * Changed the generated class names to use a static counter instead of a random number - * Added a clss patch for ReflectionClass::newInstance to make its argument optional consistently (thanks @docteurklein) - * Fixed mirroring of classes with typehints on non-existent classes (thanks @docteurklein) - * Fixed the support of array callables in CallbackPromise and CallbackPrediction (thanks @ciaranmcnulty) - * Added support for properties in ObjectStateToken (thanks @adrienbrault) - * Added support for mocking classes with a final constructor (thanks @ciaranmcnulty) - * Added ArrayEveryEntryToken and Argument::withEveryEntry() (thanks @adrienbrault) - * Added an exception when trying to prophesize on a final method instead of ignoring silently (thanks @docteurklein) - * Added StringContainToken and Argument::containingString() (thanks @peterjmit) - * Added ``shouldNotHaveBeenCalled`` on the MethodProphecy (thanks @ciaranmcnulty) - * Fixed the comparison of objects in ExactValuetoken (thanks @sstok) - * Deprecated ``shouldNotBeenCalled`` in favor of ``shouldNotHaveBeenCalled`` - -1.0.4 / 2013-08-10 -================== - - * Better randomness for generated class names (thanks @sstok) - * Add support for interfaces into TypeToken and Argument::type() (thanks @sstok) - * Add support for old-style (method name === class name) constructors (thanks @l310 for report) - -1.0.3 / 2013-07-04 -================== - - * Support callable typehints (thanks @stof) - * Do not attempt to autoload arrays when generating code (thanks @MarcoDeBortoli) - * New ArrayEntryToken (thanks @kagux) - -1.0.2 / 2013-05-19 -================== - - * Logical `AND` token added (thanks @kagux) - * Logical `NOT` token added (thanks @kagux) - * Add support for setting custom constructor arguments - * Properly stringify hashes - * Record calls that throw exceptions - * Migrate spec suite to PhpSpec 2.0 - -1.0.1 / 2013-04-30 -================== - - * Fix broken UnexpectedCallException message - * Trim AggregateException message - -1.0.0 / 2013-04-29 -================== - - * Improve exception messages - -1.0.0-BETA2 / 2013-04-03 -======================== - - * Add more debug information to CallTimes and Call prediction exception messages - * Fix MethodNotFoundException wrong namespace (thanks @gunnarlium) - * Fix some typos in the exception messages (thanks @pborreli) - -1.0.0-BETA1 / 2013-03-25 -======================== - - * Initial release diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/CONTRIBUTING.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/CONTRIBUTING.md deleted file mode 100644 index 4a8169d0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/CONTRIBUTING.md +++ /dev/null @@ -1,22 +0,0 @@ -Contributing ------------- - -Prophecy is an open source, community-driven project. If you'd like to contribute, -feel free to do this, but remember to follow these few simple rules: - -- Make your feature addition or bug fix, -- Add either specs or examples for any changes you're making (bugfixes or additions) - (please look into `spec/` folder for some examples). This is important so we don't break - it in a future version unintentionally, -- Commit your code, but do not mess with `CHANGES.md`, - -Running tests -------------- - -Make sure that you don't break anything with your changes by running: - -```bash -$> composer install --prefer-dist -$> vendor/bin/phpspec run -$> vendor/bin/phpunit -``` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/LICENSE b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/LICENSE deleted file mode 100644 index c8b36471..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2013 Konstantin Kudryashov - Marcello Duarte - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/README.md deleted file mode 100644 index 65ec16c4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/README.md +++ /dev/null @@ -1,391 +0,0 @@ -# Prophecy - -[![Stable release](https://poser.pugx.org/phpspec/prophecy/version.svg)](https://packagist.org/packages/phpspec/prophecy) -[![Build Status](https://travis-ci.org/phpspec/prophecy.svg?branch=master)](https://travis-ci.org/phpspec/prophecy) - -Prophecy is a highly opinionated yet very powerful and flexible PHP object mocking -framework. Though initially it was created to fulfil phpspec2 needs, it is flexible -enough to be used inside any testing framework out there with minimal effort. - -## A simple example - -```php -prophet->prophesize('App\Security\Hasher'); - $user = new App\Entity\User($hasher->reveal()); - - $hasher->generateHash($user, 'qwerty')->willReturn('hashed_pass'); - - $user->setPassword('qwerty'); - - $this->assertEquals('hashed_pass', $user->getPassword()); - } - - protected function setup() - { - $this->prophet = new \Prophecy\Prophet; - } - - protected function tearDown() - { - $this->prophet->checkPredictions(); - } -} -``` - -## Installation - -### Prerequisites - -Prophecy requires PHP 5.3.3 or greater. - -### Setup through composer - -First, add Prophecy to the list of dependencies inside your `composer.json`: - -```json -{ - "require-dev": { - "phpspec/prophecy": "~1.0" - } -} -``` - -Then simply install it with composer: - -```bash -$> composer install --prefer-dist -``` - -You can read more about Composer on its [official webpage](http://getcomposer.org). - -## How to use it - -First of all, in Prophecy every word has a logical meaning, even the name of the library -itself (Prophecy). When you start feeling that, you'll become very fluid with this -tool. - -For example, Prophecy has been named that way because it concentrates on describing the future -behavior of objects with very limited knowledge about them. But as with any other prophecy, -those object prophecies can't create themselves - there should be a Prophet: - -```php -$prophet = new Prophecy\Prophet; -``` - -The Prophet creates prophecies by *prophesizing* them: - -```php -$prophecy = $prophet->prophesize(); -``` - -The result of the `prophesize()` method call is a new object of class `ObjectProphecy`. Yes, -that's your specific object prophecy, which describes how your object would behave -in the near future. But first, you need to specify which object you're talking about, -right? - -```php -$prophecy->willExtend('stdClass'); -$prophecy->willImplement('SessionHandlerInterface'); -``` - -There are 2 interesting calls - `willExtend` and `willImplement`. The first one tells -object prophecy that our object should extend specific class, the second one says that -it should implement some interface. Obviously, objects in PHP can implement multiple -interfaces, but extend only one parent class. - -### Dummies - -Ok, now we have our object prophecy. What can we do with it? First of all, we can get -our object *dummy* by revealing its prophecy: - -```php -$dummy = $prophecy->reveal(); -``` - -The `$dummy` variable now holds a special dummy object. Dummy objects are objects that extend -and/or implement preset classes/interfaces by overriding all their public methods. The key -point about dummies is that they do not hold any logic - they just do nothing. Any method -of the dummy will always return `null` and the dummy will never throw any exceptions. -Dummy is your friend if you don't care about the actual behavior of this double and just need -a token object to satisfy a method typehint. - -You need to understand one thing - a dummy is not a prophecy. Your object prophecy is still -assigned to `$prophecy` variable and in order to manipulate with your expectations, you -should work with it. `$dummy` is a dummy - a simple php object that tries to fulfil your -prophecy. - -### Stubs - -Ok, now we know how to create basic prophecies and reveal dummies from them. That's -awesome if we don't care about our _doubles_ (objects that reflect originals) -interactions. If we do, we need to use *stubs* or *mocks*. - -A stub is an object double, which doesn't have any expectations about the object behavior, -but when put in specific environment, behaves in specific way. Ok, I know, it's cryptic, -but bear with me for a minute. Simply put, a stub is a dummy, which depending on the called -method signature does different things (has logic). To create stubs in Prophecy: - -```php -$prophecy->read('123')->willReturn('value'); -``` - -Oh wow. We've just made an arbitrary call on the object prophecy? Yes, we did. And this -call returned us a new object instance of class `MethodProphecy`. Yep, that's a specific -method with arguments prophecy. Method prophecies give you the ability to create method -promises or predictions. We'll talk about method predictions later in the _Mocks_ section. - -#### Promises - -Promises are logical blocks, that represent your fictional methods in prophecy terms -and they are handled by the `MethodProphecy::will(PromiseInterface $promise)` method. -As a matter of fact, the call that we made earlier (`willReturn('value')`) is a simple -shortcut to: - -```php -$prophecy->read('123')->will(new Prophecy\Promise\ReturnPromise(array('value'))); -``` - -This promise will cause any call to our double's `read()` method with exactly one -argument - `'123'` to always return `'value'`. But that's only for this -promise, there's plenty others you can use: - -- `ReturnPromise` or `->willReturn(1)` - returns a value from a method call -- `ReturnArgumentPromise` or `->willReturnArgument($index)` - returns the nth method argument from call -- `ThrowPromise` or `->willThrow` - causes the method to throw specific exception -- `CallbackPromise` or `->will($callback)` - gives you a quick way to define your own custom logic - -Keep in mind, that you can always add even more promises by implementing -`Prophecy\Promise\PromiseInterface`. - -#### Method prophecies idempotency - -Prophecy enforces same method prophecies and, as a consequence, same promises and -predictions for the same method calls with the same arguments. This means: - -```php -$methodProphecy1 = $prophecy->read('123'); -$methodProphecy2 = $prophecy->read('123'); -$methodProphecy3 = $prophecy->read('321'); - -$methodProphecy1 === $methodProphecy2; -$methodProphecy1 !== $methodProphecy3; -``` - -That's interesting, right? Now you might ask me how would you define more complex -behaviors where some method call changes behavior of others. In PHPUnit or Mockery -you do that by predicting how many times your method will be called. In Prophecy, -you'll use promises for that: - -```php -$user->getName()->willReturn(null); - -// For PHP 5.4 -$user->setName('everzet')->will(function () { - $this->getName()->willReturn('everzet'); -}); - -// For PHP 5.3 -$user->setName('everzet')->will(function ($args, $user) { - $user->getName()->willReturn('everzet'); -}); - -// Or -$user->setName('everzet')->will(function ($args) use ($user) { - $user->getName()->willReturn('everzet'); -}); -``` - -And now it doesn't matter how many times or in which order your methods are called. -What matters is their behaviors and how well you faked it. - -#### Arguments wildcarding - -The previous example is awesome (at least I hope it is for you), but that's not -optimal enough. We hardcoded `'everzet'` in our expectation. Isn't there a better -way? In fact there is, but it involves understanding what this `'everzet'` -actually is. - -You see, even if method arguments used during method prophecy creation look -like simple method arguments, in reality they are not. They are argument token -wildcards. As a matter of fact, `->setName('everzet')` looks like a simple call just -because Prophecy automatically transforms it under the hood into: - -```php -$user->setName(new Prophecy\Argument\Token\ExactValueToken('everzet')); -``` - -Those argument tokens are simple PHP classes, that implement -`Prophecy\Argument\Token\TokenInterface` and tell Prophecy how to compare real arguments -with your expectations. And yes, those classnames are damn big. That's why there's a -shortcut class `Prophecy\Argument`, which you can use to create tokens like that: - -```php -use Prophecy\Argument; - -$user->setName(Argument::exact('everzet')); -``` - -`ExactValueToken` is not very useful in our case as it forced us to hardcode the username. -That's why Prophecy comes bundled with a bunch of other tokens: - -- `IdenticalValueToken` or `Argument::is($value)` - checks that the argument is identical to a specific value -- `ExactValueToken` or `Argument::exact($value)` - checks that the argument matches a specific value -- `TypeToken` or `Argument::type($typeOrClass)` - checks that the argument matches a specific type or - classname -- `ObjectStateToken` or `Argument::which($method, $value)` - checks that the argument method returns - a specific value -- `CallbackToken` or `Argument::that(callback)` - checks that the argument matches a custom callback -- `AnyValueToken` or `Argument::any()` - matches any argument -- `AnyValuesToken` or `Argument::cetera()` - matches any arguments to the rest of the signature -- `StringContainsToken` or `Argument::containingString($value)` - checks that the argument contains a specific string value - -And you can add even more by implementing `TokenInterface` with your own custom classes. - -So, let's refactor our initial `{set,get}Name()` logic with argument tokens: - -```php -use Prophecy\Argument; - -$user->getName()->willReturn(null); - -// For PHP 5.4 -$user->setName(Argument::type('string'))->will(function ($args) { - $this->getName()->willReturn($args[0]); -}); - -// For PHP 5.3 -$user->setName(Argument::type('string'))->will(function ($args, $user) { - $user->getName()->willReturn($args[0]); -}); - -// Or -$user->setName(Argument::type('string'))->will(function ($args) use ($user) { - $user->getName()->willReturn($args[0]); -}); -``` - -That's it. Now our `{set,get}Name()` prophecy will work with any string argument provided to it. -We've just described how our stub object should behave, even though the original object could have -no behavior whatsoever. - -One last bit about arguments now. You might ask, what happens in case of: - -```php -use Prophecy\Argument; - -$user->getName()->willReturn(null); - -// For PHP 5.4 -$user->setName(Argument::type('string'))->will(function ($args) { - $this->getName()->willReturn($args[0]); -}); - -// For PHP 5.3 -$user->setName(Argument::type('string'))->will(function ($args, $user) { - $user->getName()->willReturn($args[0]); -}); - -// Or -$user->setName(Argument::type('string'))->will(function ($args) use ($user) { - $user->getName()->willReturn($args[0]); -}); - -$user->setName(Argument::any())->will(function () { -}); -``` - -Nothing. Your stub will continue behaving the way it did before. That's because of how -arguments wildcarding works. Every argument token type has a different score level, which -wildcard then uses to calculate the final arguments match score and use the method prophecy -promise that has the highest score. In this case, `Argument::type()` in case of success -scores `5` and `Argument::any()` scores `3`. So the type token wins, as does the first -`setName()` method prophecy and its promise. The simple rule of thumb - more precise token -always wins. - -#### Getting stub objects - -Ok, now we know how to define our prophecy method promises, let's get our stub from -it: - -```php -$stub = $prophecy->reveal(); -``` - -As you might see, the only difference between how we get dummies and stubs is that with -stubs we describe every object conversation instead of just agreeing with `null` returns -(object being *dummy*). As a matter of fact, after you define your first promise -(method call), Prophecy will force you to define all the communications - it throws -the `UnexpectedCallException` for any call you didn't describe with object prophecy before -calling it on a stub. - -### Mocks - -Now we know how to define doubles without behavior (dummies) and doubles with behavior, but -no expectations (stubs). What's left is doubles for which we have some expectations. These -are called mocks and in Prophecy they look almost exactly the same as stubs, except that -they define *predictions* instead of *promises* on method prophecies: - -```php -$entityManager->flush()->shouldBeCalled(); -``` - -#### Predictions - -The `shouldBeCalled()` method here assigns `CallPrediction` to our method prophecy. -Predictions are a delayed behavior check for your prophecies. You see, during the entire lifetime -of your doubles, Prophecy records every single call you're making against it inside your -code. After that, Prophecy can use this collected information to check if it matches defined -predictions. You can assign predictions to method prophecies using the -`MethodProphecy::should(PredictionInterface $prediction)` method. As a matter of fact, -the `shouldBeCalled()` method we used earlier is just a shortcut to: - -```php -$entityManager->flush()->should(new Prophecy\Prediction\CallPrediction()); -``` - -It checks if your method of interest (that matches both the method name and the arguments wildcard) -was called 1 or more times. If the prediction failed then it throws an exception. When does this -check happen? Whenever you call `checkPredictions()` on the main Prophet object: - -```php -$prophet->checkPredictions(); -``` - -In PHPUnit, you would want to put this call into the `tearDown()` method. If no predictions -are defined, it would do nothing. So it won't harm to call it after every test. - -There are plenty more predictions you can play with: - -- `CallPrediction` or `shouldBeCalled()` - checks that the method has been called 1 or more times -- `NoCallsPrediction` or `shouldNotBeCalled()` - checks that the method has not been called -- `CallTimesPrediction` or `shouldBeCalledTimes($count)` - checks that the method has been called - `$count` times -- `CallbackPrediction` or `should($callback)` - checks the method against your own custom callback - -Of course, you can always create your own custom prediction any time by implementing -`PredictionInterface`. - -### Spies - -The last bit of awesomeness in Prophecy is out-of-the-box spies support. As I said in the previous -section, Prophecy records every call made during the double's entire lifetime. This means -you don't need to record predictions in order to check them. You can also do it -manually by using the `MethodProphecy::shouldHave(PredictionInterface $prediction)` method: - -```php -$em = $prophet->prophesize('Doctrine\ORM\EntityManager'); - -$controller->createUser($em->reveal()); - -$em->flush()->shouldHaveBeenCalled(); -``` - -Such manipulation with doubles is called spying. And with Prophecy it just works. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/composer.json deleted file mode 100644 index 7918065f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/composer.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "phpspec/prophecy", - "description": "Highly opinionated mocking framework for PHP 5.3+", - "keywords": ["Mock", "Stub", "Dummy", "Double", "Fake", "Spy"], - "homepage": "https://github.com/phpspec/prophecy", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - - "require": { - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", - "sebastian/comparator": "^1.1|^2.0", - "doctrine/instantiator": "^1.0.2", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" - }, - - "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8 || ^5.6.5" - }, - - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - - "autoload-dev": { - "psr-4": { - "Fixtures\\Prophecy\\": "fixtures" - } - }, - - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/EmptyClass.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/EmptyClass.php deleted file mode 100644 index 4db3b50a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/fixtures/EmptyClass.php +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - - - - tests - - - - - - ./src/ - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php deleted file mode 100644 index b82f1b89..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php +++ /dev/null @@ -1,128 +0,0 @@ -beConstructedWith(array(42, 'zet', $object)); - - $class = get_class($object->getWrappedObject()); - $hash = spl_object_hash($object->getWrappedObject()); - - $this->__toString()->shouldReturn("exact(42), exact(\"zet\"), exact($class:$hash Object (\n 'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n))"); - } - - function it_generates_string_representation_from_all_tokens_imploded( - TokenInterface $token1, - TokenInterface $token2, - TokenInterface $token3 - ) { - $token1->__toString()->willReturn('token_1'); - $token2->__toString()->willReturn('token_2'); - $token3->__toString()->willReturn('token_3'); - - $this->beConstructedWith(array($token1, $token2, $token3)); - $this->__toString()->shouldReturn('token_1, token_2, token_3'); - } - - function it_exposes_list_of_tokens(TokenInterface $token) - { - $this->beConstructedWith(array($token)); - - $this->getTokens()->shouldReturn(array($token)); - } - - function it_returns_score_of_1_if_there_are_no_tokens_and_arguments() - { - $this->beConstructedWith(array()); - - $this->scoreArguments(array())->shouldReturn(1); - } - - function it_should_return_match_score_based_on_all_tokens_score( - TokenInterface $token1, - TokenInterface $token2, - TokenInterface $token3 - ) { - $token1->scoreArgument('one')->willReturn(3); - $token1->isLast()->willReturn(false); - $token2->scoreArgument(2)->willReturn(5); - $token2->isLast()->willReturn(false); - $token3->scoreArgument($obj = new \stdClass())->willReturn(10); - $token3->isLast()->willReturn(false); - - $this->beConstructedWith(array($token1, $token2, $token3)); - $this->scoreArguments(array('one', 2, $obj))->shouldReturn(18); - } - - function it_returns_false_if_there_is_less_arguments_than_tokens( - TokenInterface $token1, - TokenInterface $token2, - TokenInterface $token3 - ) { - $token1->scoreArgument('one')->willReturn(3); - $token1->isLast()->willReturn(false); - $token2->scoreArgument(2)->willReturn(5); - $token2->isLast()->willReturn(false); - $token3->scoreArgument(null)->willReturn(false); - $token3->isLast()->willReturn(false); - - $this->beConstructedWith(array($token1, $token2, $token3)); - $this->scoreArguments(array('one', 2))->shouldReturn(false); - } - - function it_returns_false_if_there_is_less_tokens_than_arguments( - TokenInterface $token1, - TokenInterface $token2, - TokenInterface $token3 - ) { - $token1->scoreArgument('one')->willReturn(3); - $token1->isLast()->willReturn(false); - $token2->scoreArgument(2)->willReturn(5); - $token2->isLast()->willReturn(false); - $token3->scoreArgument($obj = new \stdClass())->willReturn(10); - $token3->isLast()->willReturn(false); - - $this->beConstructedWith(array($token1, $token2, $token3)); - $this->scoreArguments(array('one', 2, $obj, 4))->shouldReturn(false); - } - - function it_should_return_false_if_one_of_the_tokens_returns_false( - TokenInterface $token1, - TokenInterface $token2, - TokenInterface $token3 - ) { - $token1->scoreArgument('one')->willReturn(3); - $token1->isLast()->willReturn(false); - $token2->scoreArgument(2)->willReturn(false); - $token2->isLast()->willReturn(false); - $token3->scoreArgument($obj = new \stdClass())->willReturn(10); - $token3->isLast()->willReturn(false); - - $this->beConstructedWith(array($token1, $token2, $token3)); - $this->scoreArguments(array('one', 2, $obj))->shouldReturn(false); - } - - function it_should_calculate_score_until_last_token( - TokenInterface $token1, - TokenInterface $token2, - TokenInterface $token3 - ) { - $token1->scoreArgument('one')->willReturn(3); - $token1->isLast()->willReturn(false); - - $token2->scoreArgument(2)->willReturn(7); - $token2->isLast()->willReturn(true); - - $token3->scoreArgument($obj = new \stdClass())->willReturn(10); - $token3->isLast()->willReturn(false); - - $this->beConstructedWith(array($token1, $token2, $token3)); - $this->scoreArguments(array('one', 2, $obj))->shouldReturn(10); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php deleted file mode 100644 index a43e923c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php +++ /dev/null @@ -1,28 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function its_string_representation_is_star() - { - $this->__toString()->shouldReturn('*'); - } - - function it_scores_any_argument_as_3() - { - $this->scoreArgument(42)->shouldReturn(3); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php deleted file mode 100644 index c29076f5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php +++ /dev/null @@ -1,28 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_last() - { - $this->shouldBeLast(); - } - - function its_string_representation_is_star_with_followup() - { - $this->__toString()->shouldReturn('* [, ...]'); - } - - function it_scores_any_argument_as_2() - { - $this->scoreArgument(42)->shouldReturn(2); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ApproximateValueTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ApproximateValueTokenSpec.php deleted file mode 100644 index 8799d6d5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ApproximateValueTokenSpec.php +++ /dev/null @@ -1,55 +0,0 @@ -beConstructedWith(10.12345678, 4); - } - - function it_is_initializable() - { - $this->shouldHaveType('Prophecy\Argument\Token\ApproximateValueToken'); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_scores_10_if_rounded_argument_matches_rounded_value() - { - $this->scoreArgument(10.12345)->shouldReturn(10); - } - - function it_does_not_score_if_rounded_argument_does_not_match_rounded_value() - { - $this->scoreArgument(10.1234)->shouldReturn(false); - } - - function it_uses_a_default_precision_of_zero() - { - $this->beConstructedWith(10.7); - $this->scoreArgument(11.4)->shouldReturn(10); - } - - function it_does_not_score_if_rounded_argument_is_not_numeric() - { - $this->scoreArgument('hello')->shouldReturn(false); - } - - function it_has_simple_string_representation() - { - $this->__toString()->shouldBe('≅10.1235'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php deleted file mode 100644 index cc81fe01..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php +++ /dev/null @@ -1,58 +0,0 @@ -beConstructedWith(2); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_scores_6_if_argument_array_has_proper_count() - { - $this->scoreArgument(array(1,2))->shouldReturn(6); - } - - function it_scores_6_if_argument_countable_object_has_proper_count(\Countable $countable) - { - $countable->count()->willReturn(2); - $this->scoreArgument($countable)->shouldReturn(6); - } - - function it_does_not_score_if_argument_is_neither_array_nor_countable_object() - { - $this->scoreArgument('string')->shouldBe(false); - $this->scoreArgument(5)->shouldBe(false); - $this->scoreArgument(new \stdClass)->shouldBe(false); - } - - function it_does_not_score_if_argument_array_has_wrong_count() - { - $this->scoreArgument(array(1))->shouldReturn(false); - } - - function it_does_not_score_if_argument_countable_object_has_wrong_count(\Countable $countable) - { - $countable->count()->willReturn(3); - $this->scoreArgument($countable)->shouldReturn(false); - } - - function it_has_simple_string_representation() - { - $this->__toString()->shouldBe('count(2)'); - } - -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php deleted file mode 100644 index 632118ae..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php +++ /dev/null @@ -1,202 +0,0 @@ -beConstructedWith($key, $value); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_holds_key_and_value($key, $value) - { - $this->getKey()->shouldBe($key); - $this->getValue()->shouldBe($value); - } - - function its_string_representation_tells_that_its_an_array_containing_the_key_value_pair($key, $value) - { - $key->__toString()->willReturn('key'); - $value->__toString()->willReturn('value'); - $this->__toString()->shouldBe('[..., key => value, ...]'); - } - - function it_wraps_non_token_value_into_ExactValueToken(TokenInterface $key, \stdClass $object) - { - $this->beConstructedWith($key, $object); - $this->getValue()->shouldHaveType('\Prophecy\Argument\Token\ExactValueToken'); - } - - function it_wraps_non_token_key_into_ExactValueToken(\stdClass $object, TokenInterface $value) - { - $this->beConstructedWith($object, $value); - $this->getKey()->shouldHaveType('\Prophecy\Argument\Token\ExactValueToken'); - } - - function it_scores_array_half_of_combined_scores_from_key_and_value_tokens($key, $value) - { - $key->scoreArgument('key')->willReturn(4); - $value->scoreArgument('value')->willReturn(6); - $this->scoreArgument(array('key'=>'value'))->shouldBe(5); - } - - function it_scores_traversable_object_half_of_combined_scores_from_key_and_value_tokens( - TokenInterface $key, - TokenInterface $value, - \Iterator $object - ) { - $object->current()->will(function () use ($object) { - $object->valid()->willReturn(false); - - return 'value'; - }); - $object->key()->willReturn('key'); - $object->rewind()->willReturn(null); - $object->next()->willReturn(null); - $object->valid()->willReturn(true); - $key->scoreArgument('key')->willReturn(6); - $value->scoreArgument('value')->willReturn(2); - $this->scoreArgument($object)->shouldBe(4); - } - - function it_throws_exception_during_scoring_of_array_accessible_object_if_key_is_not_ExactValueToken( - TokenInterface $key, - TokenInterface $value, - \ArrayAccess $object - ) { - $key->__toString()->willReturn('any_token'); - $this->beConstructedWith($key,$value); - $errorMessage = 'You can only use exact value tokens to match key of ArrayAccess object'.PHP_EOL. - 'But you used `any_token`.'; - $this->shouldThrow(new InvalidArgumentException($errorMessage))->duringScoreArgument($object); - } - - function it_scores_array_accessible_object_half_of_combined_scores_from_key_and_value_tokens( - ExactValueToken $key, - TokenInterface $value, - \ArrayAccess $object - ) { - $object->offsetExists('key')->willReturn(true); - $object->offsetGet('key')->willReturn('value'); - $key->getValue()->willReturn('key'); - $key->scoreArgument('key')->willReturn(3); - $value->scoreArgument('value')->willReturn(1); - $this->scoreArgument($object)->shouldBe(2); - } - - function it_accepts_any_key_token_type_to_score_object_that_is_both_traversable_and_array_accessible( - TokenInterface $key, - TokenInterface $value, - \ArrayIterator $object - ) { - $this->beConstructedWith($key, $value); - $object->current()->will(function () use ($object) { - $object->valid()->willReturn(false); - - return 'value'; - }); - $object->key()->willReturn('key'); - $object->rewind()->willReturn(null); - $object->next()->willReturn(null); - $object->valid()->willReturn(true); - $this->shouldNotThrow(new InvalidArgumentException)->duringScoreArgument($object); - } - - function it_does_not_score_if_argument_is_neither_array_nor_traversable_nor_array_accessible() - { - $this->scoreArgument('string')->shouldBe(false); - $this->scoreArgument(new \stdClass)->shouldBe(false); - } - - function it_does_not_score_empty_array() - { - $this->scoreArgument(array())->shouldBe(false); - } - - function it_does_not_score_array_if_key_and_value_tokens_do_not_score_same_entry($key, $value) - { - $argument = array(1 => 'foo', 2 => 'bar'); - $key->scoreArgument(1)->willReturn(true); - $key->scoreArgument(2)->willReturn(false); - $value->scoreArgument('foo')->willReturn(false); - $value->scoreArgument('bar')->willReturn(true); - $this->scoreArgument($argument)->shouldBe(false); - } - - function it_does_not_score_traversable_object_without_entries(\Iterator $object) - { - $object->rewind()->willReturn(null); - $object->next()->willReturn(null); - $object->valid()->willReturn(false); - $this->scoreArgument($object)->shouldBe(false); - } - - function it_does_not_score_traversable_object_if_key_and_value_tokens_do_not_score_same_entry( - TokenInterface $key, - TokenInterface $value, - \Iterator $object - ) { - $object->current()->willReturn('foo'); - $object->current()->will(function () use ($object) { - $object->valid()->willReturn(false); - - return 'bar'; - }); - $object->key()->willReturn(1); - $object->key()->willReturn(2); - $object->rewind()->willReturn(null); - $object->next()->willReturn(null); - $object->valid()->willReturn(true); - $key->scoreArgument(1)->willReturn(true); - $key->scoreArgument(2)->willReturn(false); - $value->scoreArgument('foo')->willReturn(false); - $value->scoreArgument('bar')->willReturn(true); - $this->scoreArgument($object)->shouldBe(false); - } - - function it_does_not_score_array_accessible_object_if_it_has_no_offset_with_key_token_value( - ExactValueToken $key, - \ArrayAccess $object - ) { - $object->offsetExists('key')->willReturn(false); - $key->getValue()->willReturn('key'); - $this->scoreArgument($object)->shouldBe(false); - } - - function it_does_not_score_array_accessible_object_if_key_and_value_tokens_do_not_score_same_entry( - ExactValueToken $key, - TokenInterface $value, - \ArrayAccess $object - ) { - $object->offsetExists('key')->willReturn(true); - $object->offsetGet('key')->willReturn('value'); - $key->getValue()->willReturn('key'); - $value->scoreArgument('value')->willReturn(false); - $key->scoreArgument('key')->willReturn(true); - $this->scoreArgument($object)->shouldBe(false); - } - - function its_score_is_capped_at_8($key, $value) - { - $key->scoreArgument('key')->willReturn(10); - $value->scoreArgument('value')->willReturn(10); - $this->scoreArgument(array('key'=>'value'))->shouldBe(8); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php deleted file mode 100644 index e57ff8cd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php +++ /dev/null @@ -1,96 +0,0 @@ -beConstructedWith($value); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_holds_value($value) - { - $this->getValue()->shouldBe($value); - } - - function its_string_representation_tells_that_its_an_array_containing_only_value($value) - { - $value->__toString()->willReturn('value'); - $this->__toString()->shouldBe('[value, ..., value]'); - } - - function it_wraps_non_token_value_into_ExactValueToken(\stdClass $stdClass) - { - $this->beConstructedWith($stdClass); - $this->getValue()->shouldHaveType('Prophecy\Argument\Token\ExactValueToken'); - } - - function it_does_not_score_if_argument_is_neither_array_nor_traversable() - { - $this->scoreArgument('string')->shouldBe(false); - $this->scoreArgument(new \stdClass)->shouldBe(false); - } - - function it_does_not_score_empty_array() - { - $this->scoreArgument(array())->shouldBe(false); - } - - function it_does_not_score_traversable_object_without_entries(\Iterator $object) - { - $object->rewind()->willReturn(null); - $object->next()->willReturn(null); - $object->valid()->willReturn(false); - $this->scoreArgument($object)->shouldBe(false); - } - - function it_scores_avg_of_scores_from_value_tokens($value) - { - $value->scoreArgument('value1')->willReturn(6); - $value->scoreArgument('value2')->willReturn(3); - $this->scoreArgument(array('value1', 'value2'))->shouldBe(4.5); - } - - function it_scores_false_if_entry_scores_false($value) - { - $value->scoreArgument('value1')->willReturn(6); - $value->scoreArgument('value2')->willReturn(false); - $this->scoreArgument(array('value1', 'value2'))->shouldBe(false); - } - - function it_does_not_score_array_keys($value) - { - $value->scoreArgument('value')->willReturn(6); - $value->scoreArgument('key')->shouldNotBeCalled(0); - $this->scoreArgument(array('key' => 'value'))->shouldBe(6); - } - - function it_scores_traversable_object_from_value_token(TokenInterface $value, \Iterator $object) - { - $object->current()->will(function ($args, $object) { - $object->valid()->willReturn(false); - - return 'value'; - }); - $object->key()->willReturn('key'); - $object->rewind()->willReturn(null); - $object->next()->willReturn(null); - $object->valid()->willReturn(true); - $value->scoreArgument('value')->willReturn(2); - $this->scoreArgument($object)->shouldBe(2); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php deleted file mode 100644 index 4395bf09..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php +++ /dev/null @@ -1,42 +0,0 @@ -beConstructedWith('get_class'); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_scores_7_if_argument_matches_callback() - { - $this->beConstructedWith(function ($argument) { return 2 === $argument; }); - - $this->scoreArgument(2)->shouldReturn(7); - } - - function it_does_not_scores_if_argument_does_not_match_callback() - { - $this->beConstructedWith(function ($argument) { return 2 === $argument; }); - - $this->scoreArgument(5)->shouldReturn(false); - } - - function its_string_representation_should_tell_that_its_callback() - { - $this->__toString()->shouldReturn('callback()'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php deleted file mode 100644 index 14322f82..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php +++ /dev/null @@ -1,152 +0,0 @@ -beConstructedWith(42); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_holds_value() - { - $this->getValue()->shouldReturn(42); - } - - function it_scores_10_if_value_is_equal_to_argument() - { - $this->scoreArgument(42)->shouldReturn(10); - $this->scoreArgument('42')->shouldReturn(10); - } - - function it_scores_10_if_value_is_an_object_and_equal_to_argument() - { - $value = new \DateTime(); - $value2 = clone $value; - - $this->beConstructedWith($value); - $this->scoreArgument($value2)->shouldReturn(10); - } - - function it_does_not_scores_if_value_is_not_equal_to_argument() - { - $this->scoreArgument(50)->shouldReturn(false); - $this->scoreArgument(new \stdClass())->shouldReturn(false); - } - - function it_does_not_scores_if_value_an_object_and_is_not_equal_to_argument() - { - $value = new ExactValueTokenFixtureB('ABC'); - $value2 = new ExactValueTokenFixtureB('CBA'); - - $this->beConstructedWith($value); - $this->scoreArgument($value2)->shouldReturn(false); - } - - function it_does_not_scores_if_value_type_and_is_not_equal_to_argument() - { - $this->beConstructedWith(false); - $this->scoreArgument(0)->shouldReturn(false); - } - - function it_generates_proper_string_representation_for_integer() - { - $this->beConstructedWith(42); - $this->__toString()->shouldReturn('exact(42)'); - } - - function it_generates_proper_string_representation_for_string() - { - $this->beConstructedWith('some string'); - $this->__toString()->shouldReturn('exact("some string")'); - } - - function it_generates_single_line_representation_for_multiline_string() - { - $this->beConstructedWith("some\nstring"); - $this->__toString()->shouldReturn('exact("some\\nstring")'); - } - - function it_generates_proper_string_representation_for_double() - { - $this->beConstructedWith(42.3); - $this->__toString()->shouldReturn('exact(42.3)'); - } - - function it_generates_proper_string_representation_for_boolean_true() - { - $this->beConstructedWith(true); - $this->__toString()->shouldReturn('exact(true)'); - } - - function it_generates_proper_string_representation_for_boolean_false() - { - $this->beConstructedWith(false); - $this->__toString()->shouldReturn('exact(false)'); - } - - function it_generates_proper_string_representation_for_null() - { - $this->beConstructedWith(null); - $this->__toString()->shouldReturn('exact(null)'); - } - - function it_generates_proper_string_representation_for_empty_array() - { - $this->beConstructedWith(array()); - $this->__toString()->shouldReturn('exact([])'); - } - - function it_generates_proper_string_representation_for_array() - { - $this->beConstructedWith(array('zet', 42)); - $this->__toString()->shouldReturn('exact(["zet", 42])'); - } - - function it_generates_proper_string_representation_for_resource() - { - $resource = fopen(__FILE__, 'r'); - $this->beConstructedWith($resource); - $this->__toString()->shouldReturn('exact(stream:'.$resource.')'); - } - - function it_generates_proper_string_representation_for_object(\stdClass $object) - { - $objHash = sprintf('%s:%s', - get_class($object->getWrappedObject()), - spl_object_hash($object->getWrappedObject()) - ); - - $this->beConstructedWith($object); - $this->__toString()->shouldReturn("exact($objHash Object (\n 'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n))"); - } -} - -class ExactValueTokenFixtureA -{ - public $errors; -} - -class ExactValueTokenFixtureB extends ExactValueTokenFixtureA -{ - public $errors; - public $value = null; - - public function __construct($value) - { - $this->value = $value; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php deleted file mode 100644 index 00c3a215..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php +++ /dev/null @@ -1,152 +0,0 @@ -beConstructedWith(42); - } - - function it_is_initializable() - { - $this->shouldHaveType('Prophecy\Argument\Token\IdenticalValueToken'); - } - - function it_scores_11_if_string_value_is_identical_to_argument() - { - $this->beConstructedWith('foo'); - $this->scoreArgument('foo')->shouldReturn(11); - } - - function it_scores_11_if_boolean_value_is_identical_to_argument() - { - $this->beConstructedWith(false); - $this->scoreArgument(false)->shouldReturn(11); - } - - function it_scores_11_if_integer_value_is_identical_to_argument() - { - $this->beConstructedWith(31); - $this->scoreArgument(31)->shouldReturn(11); - } - - function it_scores_11_if_float_value_is_identical_to_argument() - { - $this->beConstructedWith(31.12); - $this->scoreArgument(31.12)->shouldReturn(11); - } - - function it_scores_11_if_array_value_is_identical_to_argument() - { - $this->beConstructedWith(array('foo' => 'bar')); - $this->scoreArgument(array('foo' => 'bar'))->shouldReturn(11); - } - - function it_scores_11_if_object_value_is_identical_to_argument() - { - $object = new \stdClass(); - - $this->beConstructedWith($object); - $this->scoreArgument($object)->shouldReturn(11); - } - - function it_scores_false_if_value_is_not_identical_to_argument() - { - $this->beConstructedWith(new \stdClass()); - $this->scoreArgument('foo')->shouldReturn(false); - } - - function it_scores_false_if_object_value_is_not_the_same_instance_than_argument() - { - $this->beConstructedWith(new \stdClass()); - $this->scoreArgument(new \stdClass())->shouldReturn(false); - } - - function it_scores_false_if_integer_value_is_not_identical_to_boolean_argument() - { - $this->beConstructedWith(1); - $this->scoreArgument(true)->shouldReturn(false); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_generates_proper_string_representation_for_integer() - { - $this->beConstructedWith(42); - $this->__toString()->shouldReturn('identical(42)'); - } - - function it_generates_proper_string_representation_for_string() - { - $this->beConstructedWith('some string'); - $this->__toString()->shouldReturn('identical("some string")'); - } - - function it_generates_single_line_representation_for_multiline_string() - { - $this->beConstructedWith("some\nstring"); - $this->__toString()->shouldReturn('identical("some\\nstring")'); - } - - function it_generates_proper_string_representation_for_double() - { - $this->beConstructedWith(42.3); - $this->__toString()->shouldReturn('identical(42.3)'); - } - - function it_generates_proper_string_representation_for_boolean_true() - { - $this->beConstructedWith(true); - $this->__toString()->shouldReturn('identical(true)'); - } - - function it_generates_proper_string_representation_for_boolean_false() - { - $this->beConstructedWith(false); - $this->__toString()->shouldReturn('identical(false)'); - } - - function it_generates_proper_string_representation_for_null() - { - $this->beConstructedWith(null); - $this->__toString()->shouldReturn('identical(null)'); - } - - function it_generates_proper_string_representation_for_empty_array() - { - $this->beConstructedWith(array()); - $this->__toString()->shouldReturn('identical([])'); - } - - function it_generates_proper_string_representation_for_array() - { - $this->beConstructedWith(array('zet', 42)); - $this->__toString()->shouldReturn('identical(["zet", 42])'); - } - - function it_generates_proper_string_representation_for_resource() - { - $resource = fopen(__FILE__, 'r'); - $this->beConstructedWith($resource); - $this->__toString()->shouldReturn('identical(stream:'.$resource.')'); - } - - function it_generates_proper_string_representation_for_object($object) - { - $objHash = sprintf('%s:%s', - get_class($object->getWrappedObject()), - spl_object_hash($object->getWrappedObject()) - ); - - $this->beConstructedWith($object); - $this->__toString()->shouldReturn("identical($objHash Object (\n 'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n))"); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php deleted file mode 100644 index a79acf4c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php +++ /dev/null @@ -1,69 +0,0 @@ -beConstructedWith(array()); - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->beConstructedWith(array()); - $this->shouldNotBeLast(); - } - - function it_generates_string_representation_from_all_tokens_imploded( - TokenInterface $token1, - TokenInterface $token2, - TokenInterface $token3 - ) { - $token1->__toString()->willReturn('token_1'); - $token2->__toString()->willReturn('token_2'); - $token3->__toString()->willReturn('token_3'); - - $this->beConstructedWith(array($token1, $token2, $token3)); - $this->__toString()->shouldReturn('bool(token_1 AND token_2 AND token_3)'); - } - - function it_wraps_non_token_arguments_into_ExactValueToken() - { - $this->beConstructedWith(array(15, '1985')); - $this->__toString()->shouldReturn("bool(exact(15) AND exact(\"1985\"))"); - } - - function it_scores_the_maximum_score_from_all_scores_returned_by_tokens(TokenInterface $token1, TokenInterface $token2) - { - $token1->scoreArgument(1)->willReturn(10); - $token2->scoreArgument(1)->willReturn(5); - $this->beConstructedWith(array($token1, $token2)); - $this->scoreArgument(1)->shouldReturn(10); - } - - function it_does_not_score_if_there_are_no_arguments_or_tokens() - { - $this->beConstructedWith(array()); - $this->scoreArgument('any')->shouldReturn(false); - } - - function it_does_not_score_if_either_of_tokens_does_not_score(TokenInterface $token1, TokenInterface $token2) - { - $token1->scoreArgument(1)->willReturn(10); - $token1->scoreArgument(2)->willReturn(false); - - $token2->scoreArgument(1)->willReturn(false); - $token2->scoreArgument(2)->willReturn(10); - - $this->beConstructedWith(array($token1, $token2)); - - $this->scoreArgument(1)->shouldReturn(false); - $this->scoreArgument(2)->shouldReturn(false); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php deleted file mode 100644 index c2cbbad1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php +++ /dev/null @@ -1,62 +0,0 @@ -beConstructedWith($token); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_holds_originating_token($token) - { - $this->getOriginatingToken()->shouldReturn($token); - } - - function it_has_simple_string_representation($token) - { - $token->__toString()->willReturn('value'); - $this->__toString()->shouldBe('not(value)'); - } - - function it_wraps_non_token_argument_into_ExactValueToken() - { - $this->beConstructedWith(5); - $token = $this->getOriginatingToken(); - $token->shouldhaveType('Prophecy\Argument\Token\ExactValueToken'); - $token->getValue()->shouldBe(5); - } - - function it_scores_4_if_preset_token_does_not_match_the_argument($token) - { - $token->scoreArgument('argument')->willReturn(false); - $this->scoreArgument('argument')->shouldBe(4); - } - - function it_does_not_score_if_preset_token_matches_argument($token) - { - $token->scoreArgument('argument')->willReturn(5); - $this->scoreArgument('argument')->shouldBe(false); - } - - function it_is_last_if_preset_token_is_last($token) - { - $token->isLast()->willReturn(true); - $this->shouldBeLast(); - } - - function it_is_not_last_if_preset_token_is_not_last($token) - { - $token->isLast()->willReturn(false); - $this->shouldNotBeLast(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php deleted file mode 100644 index d71b22a0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php +++ /dev/null @@ -1,89 +0,0 @@ -beConstructedWith('getName', 'stdClass'); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_scores_8_if_argument_object_has_specific_method_state(\ReflectionClass $reflection) - { - $reflection->getName()->willReturn('stdClass'); - - $this->scoreArgument($reflection)->shouldReturn(8); - } - - function it_scores_8_if_argument_object_has_specific_property_state(\stdClass $class) - { - $class->getName = 'stdClass'; - - $this->scoreArgument($class)->shouldReturn(8); - } - - function it_does_not_score_if_argument_method_state_does_not_match() - { - $value = new ObjectStateTokenFixtureB('ABC'); - $value2 = new ObjectStateTokenFixtureB('CBA'); - - $this->beConstructedWith('getSelf', $value); - $this->scoreArgument($value2)->shouldReturn(false); - } - - function it_does_not_score_if_argument_property_state_does_not_match(\stdClass $class) - { - $class->getName = 'SplFileInfo'; - - $this->scoreArgument($class)->shouldReturn(false); - } - - function it_does_not_score_if_argument_object_does_not_have_method_or_property(ObjectStateTokenFixtureA $class) - { - $this->scoreArgument($class)->shouldReturn(false); - } - - function it_does_not_score_if_argument_is_not_object() - { - $this->scoreArgument(42)->shouldReturn(false); - } - - function it_has_simple_string_representation() - { - $this->__toString()->shouldReturn('state(getName(), "stdClass")'); - } -} - -class ObjectStateTokenFixtureA -{ - public $errors; -} - -class ObjectStateTokenFixtureB extends ObjectStateTokenFixtureA -{ - public $errors; - public $value = null; - - public function __construct($value) - { - $this->value = $value; - } - - public function getSelf() - { - return $this; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php deleted file mode 100644 index c7fd2652..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php +++ /dev/null @@ -1,49 +0,0 @@ -beConstructedWith('a substring'); - } - - function it_is_initializable() - { - $this->shouldHaveType('Prophecy\Argument\Token\StringContainsToken'); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_holds_value() - { - $this->getValue()->shouldReturn('a substring'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_scores_6_if_the_argument_contains_the_value() - { - $this->scoreArgument('Argument containing a substring')->shouldReturn(6); - } - - function it_does_not_score_if_the_argument_does_not_contain_the_value() - { - $this->scoreArgument('Argument will not match')->shouldReturn(false); - } - - function its_string_representation_shows_substring() - { - $this->__toString()->shouldReturn('contains("a substring")'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php deleted file mode 100644 index 2829f31f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php +++ /dev/null @@ -1,57 +0,0 @@ -beConstructedWith('integer'); - } - - function it_implements_TokenInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface'); - } - - function it_is_not_last() - { - $this->shouldNotBeLast(); - } - - function it_scores_5_if_argument_matches_simple_type() - { - $this->beConstructedWith('integer'); - - $this->scoreArgument(42)->shouldReturn(5); - } - - function it_does_not_scores_if_argument_does_not_match_simple_type() - { - $this->beConstructedWith('integer'); - - $this->scoreArgument(42.0)->shouldReturn(false); - } - - function it_scores_5_if_argument_is_an_instance_of_specified_class(\ReflectionObject $object) - { - $this->beConstructedWith('ReflectionClass'); - - $this->scoreArgument($object)->shouldReturn(5); - } - - function it_has_simple_string_representation() - { - $this->__toString()->shouldReturn('type(integer)'); - } - - function it_scores_5_if_argument_is_an_instance_of_specified_interface(TokenInterface $interface) - { - $this->beConstructedWith('Prophecy\Argument\Token\TokenInterface'); - - $this->scoreArgument($interface)->shouldReturn(5); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php deleted file mode 100644 index 64232a4d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php +++ /dev/null @@ -1,107 +0,0 @@ -exact(42); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ExactValueToken'); - $token->getValue()->shouldReturn(42); - } - - function it_has_a_shortcut_for_any_argument_token() - { - $token = $this->any(); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\AnyValueToken'); - } - - function it_has_a_shortcut_for_multiple_arguments_token() - { - $token = $this->cetera(); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\AnyValuesToken'); - } - - function it_has_a_shortcut_for_type_token() - { - $token = $this->type('integer'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\TypeToken'); - } - - function it_has_a_shortcut_for_callback_token() - { - $token = $this->that('get_class'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\CallbackToken'); - } - - function it_has_a_shortcut_for_object_state_token() - { - $token = $this->which('getName', 'everzet'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ObjectStateToken'); - } - - function it_has_a_shortcut_for_logical_and_token() - { - $token = $this->allOf('integer', 5); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\LogicalAndToken'); - } - - function it_has_a_shortcut_for_array_count_token() - { - $token = $this->size(5); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayCountToken'); - } - - function it_has_a_shortcut_for_array_entry_token() - { - $token = $this->withEntry('key', 'value'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayEntryToken'); - } - - function it_has_a_shortcut_for_array_every_entry_token() - { - $token = $this->withEveryEntry('value'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayEveryEntryToken'); - } - - function it_has_a_shortcut_for_identical_value_token() - { - $token = $this->is('value'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\IdenticalValueToken'); - } - - function it_has_a_shortcut_for_array_entry_token_matching_any_key() - { - $token = $this->containing('value'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayEntryToken'); - $token->getKey()->shouldHaveType('Prophecy\Argument\Token\AnyValueToken'); - } - - function it_has_a_shortcut_for_array_entry_token_matching_any_value() - { - $token = $this->withKey('key'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ArrayEntryToken'); - $token->getValue()->shouldHaveType('Prophecy\Argument\Token\AnyValueToken'); - } - - function it_has_a_shortcut_for_logical_not_token() - { - $token = $this->not('kagux'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\LogicalNotToken'); - } - - function it_has_a_shortcut_for_string_contains_token() - { - $token = $this->containingString('string'); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\StringContainsToken'); - } - - function it_has_a_shortcut_for_approximate_token() - { - $token = $this->approximate(10); - $token->shouldBeAnInstanceOf('Prophecy\Argument\Token\ApproximateValueToken'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php deleted file mode 100644 index 83d61f1e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php +++ /dev/null @@ -1,180 +0,0 @@ -scoreArguments(array(5, 2, 3))->willReturn(10); - $objectProphecy->getMethodProphecies()->willReturn(array()); - - $this->makeCall($objectProphecy, 'setValues', array(5, 2, 3)); - - $calls = $this->findCalls('setValues', $wildcard); - $calls->shouldHaveCount(1); - - $calls[0]->shouldBeAnInstanceOf('Prophecy\Call\Call'); - $calls[0]->getMethodName()->shouldReturn('setValues'); - $calls[0]->getArguments()->shouldReturn(array(5, 2, 3)); - $calls[0]->getReturnValue()->shouldReturn(null); - } - - function it_returns_null_for_any_call_through_makeCall_if_no_method_prophecies_added( - $objectProphecy - ) - { - $objectProphecy->getMethodProphecies()->willReturn(array()); - - $this->makeCall($objectProphecy, 'setValues', array(5, 2, 3))->shouldReturn(null); - } - - function it_executes_promise_of_method_prophecy_that_matches_signature_passed_to_makeCall( - $objectProphecy, - MethodProphecy $method1, - MethodProphecy $method2, - MethodProphecy $method3, - ArgumentsWildcard $arguments1, - ArgumentsWildcard $arguments2, - ArgumentsWildcard $arguments3, - PromiseInterface $promise - ) { - $method1->hasReturnVoid()->willReturn(false); - $method1->getMethodName()->willReturn('getName'); - $method1->getArgumentsWildcard()->willReturn($arguments1); - $arguments1->scoreArguments(array('world', 'everything'))->willReturn(false); - - $method2->hasReturnVoid()->willReturn(false); - $method2->getMethodName()->willReturn('setTitle'); - $method2->getArgumentsWildcard()->willReturn($arguments2); - $arguments2->scoreArguments(array('world', 'everything'))->willReturn(false); - - $method3->hasReturnVoid()->willReturn(false); - $method3->getMethodName()->willReturn('getName'); - $method3->getArgumentsWildcard()->willReturn($arguments3); - $method3->getPromise()->willReturn($promise); - $arguments3->scoreArguments(array('world', 'everything'))->willReturn(200); - - $objectProphecy->getMethodProphecies()->willReturn(array( - 'method1' => array($method1), - 'method2' => array($method2, $method3) - )); - $objectProphecy->getMethodProphecies('getName')->willReturn(array($method1, $method3)); - $objectProphecy->reveal()->willReturn(new \stdClass()); - - $promise->execute(array('world', 'everything'), $objectProphecy->getWrappedObject(), $method3)->willReturn(42); - - $this->makeCall($objectProphecy, 'getName', array('world', 'everything'))->shouldReturn(42); - - $calls = $this->findCalls('getName', $arguments3); - $calls->shouldHaveCount(1); - $calls[0]->getReturnValue()->shouldReturn(42); - } - - function it_executes_promise_of_method_prophecy_that_matches_with_highest_score_to_makeCall( - $objectProphecy, - MethodProphecy $method1, - MethodProphecy $method2, - MethodProphecy $method3, - ArgumentsWildcard $arguments1, - ArgumentsWildcard $arguments2, - ArgumentsWildcard $arguments3, - PromiseInterface $promise - ) { - $method1->hasReturnVoid()->willReturn(false); - $method1->getMethodName()->willReturn('getName'); - $method1->getArgumentsWildcard()->willReturn($arguments1); - $arguments1->scoreArguments(array('world', 'everything'))->willReturn(50); - - $method2->hasReturnVoid()->willReturn(false); - $method2->getMethodName()->willReturn('getName'); - $method2->getArgumentsWildcard()->willReturn($arguments2); - $method2->getPromise()->willReturn($promise); - $arguments2->scoreArguments(array('world', 'everything'))->willReturn(300); - - $method3->hasReturnVoid()->willReturn(false); - $method3->getMethodName()->willReturn('getName'); - $method3->getArgumentsWildcard()->willReturn($arguments3); - $arguments3->scoreArguments(array('world', 'everything'))->willReturn(200); - - $objectProphecy->getMethodProphecies()->willReturn(array( - 'method1' => array($method1), - 'method2' => array($method2, $method3) - )); - $objectProphecy->getMethodProphecies('getName')->willReturn(array( - $method1, $method2, $method3 - )); - $objectProphecy->reveal()->willReturn(new \stdClass()); - - $promise->execute(array('world', 'everything'), $objectProphecy->getWrappedObject(), $method2) - ->willReturn('second'); - - $this->makeCall($objectProphecy, 'getName', array('world', 'everything')) - ->shouldReturn('second'); - } - - function it_throws_exception_if_call_does_not_match_any_of_defined_method_prophecies( - $objectProphecy, - MethodProphecy $method, - ArgumentsWildcard $arguments - ) { - $method->getMethodName()->willReturn('getName'); - $method->getArgumentsWildcard()->willReturn($arguments); - $arguments->scoreArguments(array('world', 'everything'))->willReturn(false); - $arguments->__toString()->willReturn('arg1, arg2'); - - $objectProphecy->getMethodProphecies()->willReturn(array('method1' => array($method))); - $objectProphecy->getMethodProphecies('getName')->willReturn(array($method)); - - $this->shouldThrow('Prophecy\Exception\Call\UnexpectedCallException') - ->duringMakeCall($objectProphecy, 'getName', array('world', 'everything')); - } - - function it_returns_null_if_method_prophecy_that_matches_makeCall_arguments_has_no_promise( - $objectProphecy, - MethodProphecy $method, - ArgumentsWildcard $arguments - ) { - $method->hasReturnVoid()->willReturn(false); - $method->getMethodName()->willReturn('getName'); - $method->getArgumentsWildcard()->willReturn($arguments); - $method->getPromise()->willReturn(null); - $arguments->scoreArguments(array('world', 'everything'))->willReturn(100); - - $objectProphecy->getMethodProphecies()->willReturn(array($method)); - $objectProphecy->getMethodProphecies('getName')->willReturn(array($method)); - - $this->makeCall($objectProphecy, 'getName', array('world', 'everything')) - ->shouldReturn(null); - } - - function it_finds_recorded_calls_by_a_method_name_and_arguments_wildcard( - $objectProphecy, - ArgumentsWildcard $wildcard - ) { - $objectProphecy->getMethodProphecies()->willReturn(array()); - - $this->makeCall($objectProphecy, 'getName', array('world')); - $this->makeCall($objectProphecy, 'getName', array('everything')); - $this->makeCall($objectProphecy, 'setName', array(42)); - - $wildcard->scoreArguments(array('world'))->willReturn(false); - $wildcard->scoreArguments(array('everything'))->willReturn(10); - - $calls = $this->findCalls('getName', $wildcard); - - $calls->shouldHaveCount(1); - $calls[0]->getMethodName()->shouldReturn('getName'); - $calls[0]->getArguments()->shouldReturn(array('everything')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php deleted file mode 100644 index a622b493..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php +++ /dev/null @@ -1,51 +0,0 @@ -beConstructedWith('setValues', array(5, 2), 42, $exception, 'some_file.php', 23); - } - - function it_exposes_method_name_through_getter() - { - $this->getMethodName()->shouldReturn('setValues'); - } - - function it_exposes_arguments_through_getter() - { - $this->getArguments()->shouldReturn(array(5, 2)); - } - - function it_exposes_return_value_through_getter() - { - $this->getReturnValue()->shouldReturn(42); - } - - function it_exposes_exception_through_getter($exception) - { - $this->getException()->shouldReturn($exception); - } - - function it_exposes_file_and_line_through_getter() - { - $this->getFile()->shouldReturn('some_file.php'); - $this->getLine()->shouldReturn(23); - } - - function it_returns_shortpath_to_callPlace() - { - $this->getCallPlace()->shouldReturn('some_file.php:23'); - } - - function it_returns_unknown_as_callPlace_if_no_file_or_line_provided() - { - $this->beConstructedWith('setValues', array(), 0, null, null, null); - - $this->getCallPlace()->shouldReturn('unknown'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ClosureComparatorSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ClosureComparatorSpec.php deleted file mode 100644 index c174e73c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ClosureComparatorSpec.php +++ /dev/null @@ -1,39 +0,0 @@ -shouldHaveType('SebastianBergmann\Comparator\Comparator'); - } - - function it_accepts_only_closures() - { - $this->accepts(123, 321)->shouldReturn(false); - $this->accepts('string', 'string')->shouldReturn(false); - $this->accepts(false, true)->shouldReturn(false); - $this->accepts(true, false)->shouldReturn(false); - $this->accepts((object)array(), (object)array())->shouldReturn(false); - $this->accepts(function(){}, (object)array())->shouldReturn(false); - $this->accepts(function(){}, (object)array())->shouldReturn(false); - - $this->accepts(function(){}, function(){})->shouldReturn(true); - } - - function it_asserts_that_all_closures_are_different() - { - $this->shouldThrow()->duringAssertEquals(function(){}, function(){}); - } - - function it_asserts_that_all_closures_are_different_even_if_its_the_same_closure() - { - $closure = function(){}; - - $this->shouldThrow()->duringAssertEquals($closure, $closure); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/FactorySpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/FactorySpec.php deleted file mode 100644 index 6b13336d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/FactorySpec.php +++ /dev/null @@ -1,20 +0,0 @@ -shouldHaveType('SebastianBergmann\Comparator\Factory'); - } - - function it_should_have_ClosureComparator_registered() - { - $comparator = $this->getInstance()->getComparatorFor(function(){}, function(){}); - $comparator->shouldHaveType('Prophecy\Comparator\ClosureComparator'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ProphecyComparatorSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ProphecyComparatorSpec.php deleted file mode 100644 index 06bf6f17..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ProphecyComparatorSpec.php +++ /dev/null @@ -1,39 +0,0 @@ -shouldHaveType('SebastianBergmann\Comparator\ObjectComparator'); - } - - function it_accepts_only_prophecy_objects() - { - $this->accepts(123, 321)->shouldReturn(false); - $this->accepts('string', 'string')->shouldReturn(false); - $this->accepts(false, true)->shouldReturn(false); - $this->accepts(true, false)->shouldReturn(false); - $this->accepts((object)array(), (object)array())->shouldReturn(false); - $this->accepts(function(){}, (object)array())->shouldReturn(false); - $this->accepts(function(){}, function(){})->shouldReturn(false); - - $prophet = new Prophet(); - $prophecy = $prophet->prophesize('Prophecy\Prophecy\ObjectProphecy'); - - $this->accepts($prophecy, $prophecy)->shouldReturn(true); - } - - function it_asserts_that_an_object_is_equal_to_its_revealed_prophecy() - { - $prophet = new Prophet(); - $prophecy = $prophet->prophesize('Prophecy\Prophecy\ObjectProphecy'); - - $this->shouldNotThrow()->duringAssertEquals($prophecy->reveal(), $prophecy); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php deleted file mode 100644 index 4fd28d7e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php +++ /dev/null @@ -1,54 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface'); - } - - function its_priority_is_100() - { - $this->getPriority()->shouldReturn(100); - } - - function it_supports_anything(ClassNode $node) - { - $this->supports($node)->shouldReturn(true); - } - - function it_makes_all_constructor_arguments_optional( - ClassNode $class, - MethodNode $method, - ArgumentNode $arg1, - ArgumentNode $arg2 - ) { - $class->hasMethod('__construct')->willReturn(true); - $class->getMethod('__construct')->willReturn($method); - $method->getArguments()->willReturn(array($arg1, $arg2)); - - $arg1->setDefault(null)->shouldBeCalled(); - $arg2->setDefault(null)->shouldBeCalled(); - - $method->setCode(Argument::type('string'))->shouldBeCalled(); - - $this->apply($class); - } - - function it_creates_new_constructor_if_object_has_none(ClassNode $class) - { - $class->hasMethod('__construct')->willReturn(false); - $class->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode')) - ->shouldBeCalled(); - - $this->apply($class); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php deleted file mode 100644 index 9d04421a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php +++ /dev/null @@ -1,34 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface'); - } - - function its_priority_is_minus_50() - { - $this->getPriority()->shouldReturn(-50); - } - - function it_uses_parent_code_for_setTraceOptions(ClassNode $node, MethodNode $method, MethodNode $getterMethod) - { - $node->hasMethod('setTraceOptions')->willReturn(true); - $node->getMethod('setTraceOptions')->willReturn($method); - $node->hasMethod('getTraceOptions')->willReturn(true); - $node->getMethod('getTraceOptions')->willReturn($getterMethod); - - $method->useParentCode()->shouldBeCalled(); - $getterMethod->useParentCode()->shouldBeCalled(); - - $this->apply($node); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php deleted file mode 100644 index 1c454e62..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php +++ /dev/null @@ -1,43 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface'); - } - - function its_priority_is_49() - { - $this->getPriority()->shouldReturn(49); - } - - function it_will_remove_echo_and_eval_methods( - ClassNode $node, - MethodNode $method1, - MethodNode $method2, - MethodNode $method3 - ) { - $node->removeMethod('eval')->shouldBeCalled(); - $node->removeMethod('echo')->shouldBeCalled(); - - $method1->getName()->willReturn('echo'); - $method2->getName()->willReturn('eval'); - $method3->getName()->willReturn('notKeyword'); - - $node->getMethods()->willReturn(array( - 'echo' => $method1, - 'eval' => $method2, - 'notKeyword' => $method3, - )); - - $this->apply($node); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php deleted file mode 100644 index f7a56317..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php +++ /dev/null @@ -1,140 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface'); - } - - function it_supports_anything(ClassNode $node) - { - $this->supports($node)->shouldReturn(true); - } - - function it_discovers_api_using_phpdoc(ClassNode $node) - { - $node->getParentClass()->willReturn('spec\Prophecy\Doubler\ClassPatch\MagicalApi'); - $node->getInterfaces()->willReturn(array()); - - $node->addMethod(new MethodNode('undefinedMethod'))->shouldBeCalled(); - - $this->apply($node); - } - - function it_ignores_existing_methods(ClassNode $node) - { - $node->getParentClass()->willReturn('spec\Prophecy\Doubler\ClassPatch\MagicalApiExtended'); - $node->getInterfaces()->willReturn(array()); - - $node->addMethod(new MethodNode('undefinedMethod'))->shouldBeCalled(); - $node->addMethod(new MethodNode('definedMethod'))->shouldNotBeCalled(); - - $this->apply($node); - } - - function it_ignores_empty_methods_from_phpdoc(ClassNode $node) - { - $node->getParentClass()->willReturn('spec\Prophecy\Doubler\ClassPatch\MagicalApiInvalidMethodDefinition'); - $node->getInterfaces()->willReturn(array()); - - $node->addMethod(new MethodNode(''))->shouldNotBeCalled(); - - $this->apply($node); - } - - function it_discovers_api_using_phpdoc_from_implemented_interfaces(ClassNode $node) - { - $node->getParentClass()->willReturn('spec\Prophecy\Doubler\ClassPatch\MagicalApiImplemented'); - $node->getInterfaces()->willReturn(array()); - - $node->addMethod(new MethodNode('implementedMethod'))->shouldBeCalled(); - - $this->apply($node); - } - - function it_discovers_api_using_phpdoc_from_own_interfaces(ClassNode $node) - { - $node->getParentClass()->willReturn('stdClass'); - $node->getInterfaces()->willReturn(array('spec\Prophecy\Doubler\ClassPatch\MagicalApiImplemented')); - - $node->addMethod(new MethodNode('implementedMethod'))->shouldBeCalled(); - - $this->apply($node); - } - - function it_discovers_api_using_phpdoc_from_extended_parent_interfaces(ClassNode $node) - { - $node->getParentClass()->willReturn('spec\Prophecy\Doubler\ClassPatch\MagicalApiImplementedExtended'); - $node->getInterfaces()->willReturn(array()); - - $node->addMethod(new MethodNode('implementedMethod'))->shouldBeCalled(); - - $this->apply($node); - } - - function it_has_50_priority() - { - $this->getPriority()->shouldReturn(50); - } -} - -/** - * @method void undefinedMethod() - */ -class MagicalApi -{ - /** - * @return void - */ - public function definedMethod() - { - - } -} - -/** - * @method void invalidMethodDefinition - * @method void - * @method - */ -class MagicalApiInvalidMethodDefinition -{ -} - -/** - * @method void undefinedMethod() - * @method void definedMethod() - */ -class MagicalApiExtended extends MagicalApi -{ - -} - -/** - */ -class MagicalApiImplemented implements MagicalApiInterface -{ - -} - -/** - */ -class MagicalApiImplementedExtended extends MagicalApiImplemented -{ -} - -/** - * @method void implementedMethod() - */ -interface MagicalApiInterface -{ - -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php deleted file mode 100644 index 96f0e20a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php +++ /dev/null @@ -1,79 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface'); - } - - function it_has_priority_of_0() - { - $this->getPriority()->shouldReturn(0); - } - - function it_supports_any_class(ClassNode $node) - { - $this->supports($node)->shouldReturn(true); - } - - function it_forces_class_to_implement_ProphecySubjectInterface(ClassNode $node) - { - $node->addInterface('Prophecy\Prophecy\ProphecySubjectInterface')->shouldBeCalled(); - - $node->addProperty('objectProphecy', 'private')->willReturn(null); - $node->getMethods()->willReturn(array()); - $node->hasMethod(Argument::any())->willReturn(false); - $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null); - $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null); - - $this->apply($node); - } - - function it_forces_all_class_methods_except_constructor_to_proxy_calls_into_prophecy_makeCall( - ClassNode $node, - MethodNode $constructor, - MethodNode $method1, - MethodNode $method2, - MethodNode $method3 - ) { - $node->addInterface('Prophecy\Prophecy\ProphecySubjectInterface')->willReturn(null); - $node->addProperty('objectProphecy', 'private')->willReturn(null); - $node->hasMethod(Argument::any())->willReturn(false); - $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null); - $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null); - - $constructor->getName()->willReturn('__construct'); - $method1->getName()->willReturn('method1'); - $method2->getName()->willReturn('method2'); - $method3->getName()->willReturn('method3'); - - $method1->getReturnType()->willReturn('int'); - $method2->getReturnType()->willReturn('int'); - $method3->getReturnType()->willReturn('void'); - - $node->getMethods()->willReturn(array( - 'method1' => $method1, - 'method2' => $method2, - 'method3' => $method3, - )); - - $constructor->setCode(Argument::any())->shouldNotBeCalled(); - - $method1->setCode('return $this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());') - ->shouldBeCalled(); - $method2->setCode('return $this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());') - ->shouldBeCalled(); - $method3->setCode('$this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());') - ->shouldBeCalled(); - - $this->apply($node); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php deleted file mode 100644 index effd61e7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php +++ /dev/null @@ -1,43 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface'); - } - - function its_priority_is_50() - { - $this->getPriority()->shouldReturn(50); - } - - function it_supports_ReflectionClass_only(ClassNode $reflectionClassNode, ClassNode $anotherClassNode) - { - $reflectionClassNode->getParentClass()->willReturn('ReflectionClass'); - $anotherClassNode->getParentClass()->willReturn('stdClass'); - - $this->supports($reflectionClassNode)->shouldReturn(true); - $this->supports($anotherClassNode)->shouldReturn(false); - } - - function it_makes_all_newInstance_arguments_optional( - ClassNode $class, - MethodNode $method, - ArgumentNode $arg1 - ) { - $class->getMethod('newInstance')->willReturn($method); - $method->getArguments()->willReturn(array($arg1)); - $arg1->setDefault(null)->shouldBeCalled(); - - $this->apply($class); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php deleted file mode 100644 index 5bc3958c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php +++ /dev/null @@ -1,85 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface'); - } - - function its_priority_is_50() - { - $this->getPriority()->shouldReturn(50); - } - - function it_does_not_support_nodes_without_parent_class(ClassNode $node) - { - $node->getParentClass()->willReturn('stdClass'); - $this->supports($node)->shouldReturn(false); - } - - function it_supports_nodes_with_SplFileInfo_as_parent_class(ClassNode $node) - { - $node->getParentClass()->willReturn('SplFileInfo'); - $this->supports($node)->shouldReturn(true); - } - - function it_supports_nodes_with_derivative_of_SplFileInfo_as_parent_class(ClassNode $node) - { - $node->getParentClass()->willReturn('SplFileInfo'); - $this->supports($node)->shouldReturn(true); - } - - function it_adds_a_method_to_node_if_not_exists(ClassNode $node) - { - $node->hasMethod('__construct')->willReturn(false); - $node->addMethod(Argument::any())->shouldBeCalled(); - $node->getParentClass()->shouldBeCalled(); - - $this->apply($node); - } - - function it_updates_existing_method_if_found(ClassNode $node, MethodNode $method) - { - $node->hasMethod('__construct')->willReturn(true); - $node->getMethod('__construct')->willReturn($method); - $node->getParentClass()->shouldBeCalled(); - - $method->useParentCode()->shouldBeCalled(); - - $this->apply($node); - } - - function it_should_not_supply_a_file_for_a_directory_iterator(ClassNode $node, MethodNode $method) - { - $node->hasMethod('__construct')->willReturn(true); - $node->getMethod('__construct')->willReturn($method); - $node->getParentClass()->willReturn('DirectoryIterator'); - - $method->setCode(Argument::that(function($value) { - return strpos($value, '.php') === false; - }))->shouldBeCalled(); - - $this->apply($node); - } - - function it_should_supply_a_file_for_a_spl_file_object(ClassNode $node, MethodNode $method) - { - $node->hasMethod('__construct')->willReturn(true); - $node->getMethod('__construct')->willReturn($method); - $node->getParentClass()->willReturn('SplFileObject'); - - $method->setCode(Argument::that(function($value) { - return strpos($value, '.php') !== false; - }))->shouldBeCalled(); - - $this->apply($node); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php deleted file mode 100644 index abce2f1e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php +++ /dev/null @@ -1,50 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface'); - } - - function it_supports_class_that_implements_only_Traversable(ClassNode $node) - { - $node->getInterfaces()->willReturn(array('Traversable')); - - $this->supports($node)->shouldReturn(true); - } - - function it_does_not_support_class_that_implements_Iterator(ClassNode $node) - { - $node->getInterfaces()->willReturn(array('Traversable', 'Iterator')); - - $this->supports($node)->shouldReturn(false); - } - - function it_does_not_support_class_that_implements_IteratorAggregate(ClassNode $node) - { - $node->getInterfaces()->willReturn(array('Traversable', 'IteratorAggregate')); - - $this->supports($node)->shouldReturn(false); - } - - function it_has_100_priority() - { - $this->getPriority()->shouldReturn(100); - } - - function it_forces_node_to_implement_IteratorAggregate(ClassNode $node) - { - $node->addInterface('Iterator')->shouldBeCalled(); - - $node->addMethod(Argument::type('Prophecy\Doubler\Generator\Node\MethodNode'))->willReturn(null); - - $this->apply($node); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php deleted file mode 100644 index b58b1a80..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php +++ /dev/null @@ -1,115 +0,0 @@ -beConstructedWith($mirror, $creator, $namer); - } - - function it_does_not_have_patches_by_default() - { - $this->getClassPatches()->shouldHaveCount(0); - } - - function its_registerClassPatch_adds_a_patch_to_the_doubler(ClassPatchInterface $patch) - { - $this->registerClassPatch($patch); - $this->getClassPatches()->shouldReturn(array($patch)); - } - - function its_getClassPatches_sorts_patches_by_priority( - ClassPatchInterface $alt1, - ClassPatchInterface $alt2, - ClassPatchInterface $alt3, - ClassPatchInterface $alt4 - ) { - $alt1->getPriority()->willReturn(2); - $alt2->getPriority()->willReturn(50); - $alt3->getPriority()->willReturn(10); - $alt4->getPriority()->willReturn(0); - - $this->registerClassPatch($alt1); - $this->registerClassPatch($alt2); - $this->registerClassPatch($alt3); - $this->registerClassPatch($alt4); - - $this->getClassPatches()->shouldReturn(array($alt2, $alt3, $alt1, $alt4)); - } - - function its_double_mirrors_alterates_and_instantiates_provided_class( - $mirror, - $creator, - $namer, - ClassPatchInterface $alt1, - ClassPatchInterface $alt2, - \ReflectionClass $class, - \ReflectionClass $interface1, - \ReflectionClass $interface2, - ClassNode $node - ) { - $mirror->reflect($class, array($interface1, $interface2))->willReturn($node); - $alt1->supports($node)->willReturn(true); - $alt2->supports($node)->willReturn(false); - $alt1->getPriority()->willReturn(1); - $alt2->getPriority()->willReturn(2); - $namer->name($class, array($interface1, $interface2))->willReturn('SplStack'); - $class->getName()->willReturn('stdClass'); - $interface1->getName()->willReturn('ArrayAccess'); - $interface2->getName()->willReturn('Iterator'); - - $alt1->apply($node)->shouldBeCalled(); - $alt2->apply($node)->shouldNotBeCalled(); - $creator->create('SplStack', $node)->shouldBeCalled(); - - $this->registerClassPatch($alt1); - $this->registerClassPatch($alt2); - - $this->double($class, array($interface1, $interface2)) - ->shouldReturnAnInstanceOf('SplStack'); - } - - function it_double_instantiates_a_class_with_constructor_argument( - $mirror, - \ReflectionClass $class, - ClassNode $node, - $namer - ) { - $class->getName()->willReturn('ReflectionClass'); - $mirror->reflect($class, array())->willReturn($node); - $namer->name($class, array())->willReturn('ReflectionClass'); - - $double = $this->double($class, array(), array('stdClass')); - $double->shouldBeAnInstanceOf('ReflectionClass'); - $double->getName()->shouldReturn('stdClass'); - } - - function it_can_instantiate_class_with_final_constructor( - $mirror, - \ReflectionClass $class, - ClassNode $node, - $namer - ) { - $class->getName()->willReturn('spec\Prophecy\Doubler\WithFinalConstructor'); - $mirror->reflect($class, array())->willReturn($node); - $namer->name($class, array())->willReturn('spec\Prophecy\Doubler\WithFinalConstructor'); - - $double = $this->double($class, array()); - - $double->shouldBeAnInstanceOf('spec\Prophecy\Doubler\WithFinalConstructor'); - } -} - -class WithFinalConstructor -{ - final public function __construct() {} -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php deleted file mode 100644 index 2e85b6ca..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php +++ /dev/null @@ -1,362 +0,0 @@ -getParentClass()->willReturn('RuntimeException'); - $class->getInterfaces()->willReturn(array( - 'Prophecy\Doubler\Generator\MirroredInterface', 'ArrayAccess', 'ArrayIterator' - )); - $class->getProperties()->willReturn(array('name' => 'public', 'email' => 'private')); - $class->getMethods()->willReturn(array($method1, $method2, $method3, $method4)); - - $method1->getName()->willReturn('getName'); - $method1->getVisibility()->willReturn('public'); - $method1->returnsReference()->willReturn(false); - $method1->isStatic()->willReturn(true); - $method1->getArguments()->willReturn(array($argument11, $argument12)); - $method1->hasReturnType()->willReturn(true); - $method1->getReturnType()->willReturn('string'); - $method1->hasNullableReturnType()->willReturn(true); - $method1->getCode()->willReturn('return $this->name;'); - - $method2->getName()->willReturn('getEmail'); - $method2->getVisibility()->willReturn('protected'); - $method2->returnsReference()->willReturn(false); - $method2->isStatic()->willReturn(false); - $method2->getArguments()->willReturn(array($argument21)); - $method2->hasReturnType()->willReturn(false); - $method2->hasNullableReturnType()->willReturn(true); - $method2->getCode()->willReturn('return $this->email;'); - - $method3->getName()->willReturn('getRefValue'); - $method3->getVisibility()->willReturn('public'); - $method3->returnsReference()->willReturn(true); - $method3->isStatic()->willReturn(false); - $method3->getArguments()->willReturn(array($argument31)); - $method3->hasReturnType()->willReturn(true); - $method3->getReturnType()->willReturn('string'); - $method3->hasNullableReturnType()->willReturn(false); - $method3->getCode()->willReturn('return $this->refValue;'); - - $method4->getName()->willReturn('doSomething'); - $method4->getVisibility()->willReturn('public'); - $method4->returnsReference()->willReturn(false); - $method4->isStatic()->willReturn(false); - $method4->getArguments()->willReturn(array()); - $method4->hasReturnType()->willReturn(true); - $method4->getReturnType()->willReturn('void'); - $method4->hasNullableReturnType()->willReturn(false); - $method4->getCode()->willReturn('return;'); - - $argument11->getName()->willReturn('fullname'); - $argument11->getTypeHint()->willReturn('array'); - $argument11->isOptional()->willReturn(true); - $argument11->getDefault()->willReturn(null); - $argument11->isPassedByReference()->willReturn(false); - $argument11->isVariadic()->willReturn(false); - $argument11->isNullable()->willReturn(false); - - $argument12->getName()->willReturn('class'); - $argument12->getTypeHint()->willReturn('ReflectionClass'); - $argument12->isOptional()->willReturn(false); - $argument12->isPassedByReference()->willReturn(false); - $argument12->isVariadic()->willReturn(false); - $argument12->isNullable()->willReturn(false); - - $argument21->getName()->willReturn('default'); - $argument21->getTypeHint()->willReturn('string'); - $argument21->isOptional()->willReturn(true); - $argument21->getDefault()->willReturn('ever.zet@gmail.com'); - $argument21->isPassedByReference()->willReturn(false); - $argument21->isVariadic()->willReturn(false); - $argument21->isNullable()->willReturn(true); - - $argument31->getName()->willReturn('refValue'); - $argument31->getTypeHint()->willReturn(null); - $argument31->isOptional()->willReturn(false); - $argument31->getDefault()->willReturn(); - $argument31->isPassedByReference()->willReturn(false); - $argument31->isVariadic()->willReturn(false); - $argument31->isNullable()->willReturn(false); - - $code = $this->generate('CustomClass', $class); - - if (version_compare(PHP_VERSION, '7.1', '>=')) { - $expected = <<<'PHP' -namespace { -class CustomClass extends \RuntimeException implements \Prophecy\Doubler\Generator\MirroredInterface, \ArrayAccess, \ArrayIterator { -public $name; -private $email; - -public static function getName(array $fullname = NULL, \ReflectionClass $class): ?string { -return $this->name; -} -protected function getEmail(?string $default = 'ever.zet@gmail.com') { -return $this->email; -} -public function &getRefValue( $refValue): string { -return $this->refValue; -} -public function doSomething(): void { -return; -} - -} -} -PHP; - } elseif (version_compare(PHP_VERSION, '7.0', '>=')) { - $expected = <<<'PHP' -namespace { -class CustomClass extends \RuntimeException implements \Prophecy\Doubler\Generator\MirroredInterface, \ArrayAccess, \ArrayIterator { -public $name; -private $email; - -public static function getName(array $fullname = NULL, \ReflectionClass $class): string { -return $this->name; -} -protected function getEmail(string $default = 'ever.zet@gmail.com') { -return $this->email; -} -public function &getRefValue( $refValue): string { -return $this->refValue; -} -public function doSomething() { -return; -} - -} -} -PHP; - } else { - $expected = <<<'PHP' -namespace { -class CustomClass extends \RuntimeException implements \Prophecy\Doubler\Generator\MirroredInterface, \ArrayAccess, \ArrayIterator { -public $name; -private $email; - -public static function getName(array $fullname = NULL, \ReflectionClass $class) { -return $this->name; -} -protected function getEmail(\string $default = 'ever.zet@gmail.com') { -return $this->email; -} -public function &getRefValue( $refValue) { -return $this->refValue; -} -public function doSomething() { -return; -} - -} -} -PHP; - } - $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n")); - $code->shouldBe($expected); - } - - function it_generates_proper_php_code_for_variadics( - ClassNode $class, - MethodNode $method1, - MethodNode $method2, - MethodNode $method3, - MethodNode $method4, - ArgumentNode $argument1, - ArgumentNode $argument2, - ArgumentNode $argument3, - ArgumentNode $argument4 - ) { - $class->getParentClass()->willReturn('stdClass'); - $class->getInterfaces()->willReturn(array('Prophecy\Doubler\Generator\MirroredInterface')); - $class->getProperties()->willReturn(array()); - $class->getMethods()->willReturn(array( - $method1, $method2, $method3, $method4 - )); - - $method1->getName()->willReturn('variadic'); - $method1->getVisibility()->willReturn('public'); - $method1->returnsReference()->willReturn(false); - $method1->isStatic()->willReturn(false); - $method1->getArguments()->willReturn(array($argument1)); - $method1->hasReturnType()->willReturn(false); - $method1->getCode()->willReturn(''); - - $method2->getName()->willReturn('variadicByRef'); - $method2->getVisibility()->willReturn('public'); - $method2->returnsReference()->willReturn(false); - $method2->isStatic()->willReturn(false); - $method2->getArguments()->willReturn(array($argument2)); - $method2->hasReturnType()->willReturn(false); - $method2->getCode()->willReturn(''); - - $method3->getName()->willReturn('variadicWithType'); - $method3->getVisibility()->willReturn('public'); - $method3->returnsReference()->willReturn(false); - $method3->isStatic()->willReturn(false); - $method3->getArguments()->willReturn(array($argument3)); - $method3->hasReturnType()->willReturn(false); - $method3->getCode()->willReturn(''); - - $method4->getName()->willReturn('variadicWithTypeByRef'); - $method4->getVisibility()->willReturn('public'); - $method4->returnsReference()->willReturn(false); - $method4->isStatic()->willReturn(false); - $method4->getArguments()->willReturn(array($argument4)); - $method4->hasReturnType()->willReturn(false); - $method4->getCode()->willReturn(''); - - $argument1->getName()->willReturn('args'); - $argument1->getTypeHint()->willReturn(null); - $argument1->isOptional()->willReturn(false); - $argument1->isPassedByReference()->willReturn(false); - $argument1->isVariadic()->willReturn(true); - $argument1->isNullable()->willReturn(false); - - $argument2->getName()->willReturn('args'); - $argument2->getTypeHint()->willReturn(null); - $argument2->isOptional()->willReturn(false); - $argument2->isPassedByReference()->willReturn(true); - $argument2->isVariadic()->willReturn(true); - $argument2->isNullable()->willReturn(false); - - $argument3->getName()->willReturn('args'); - $argument3->getTypeHint()->willReturn('\ReflectionClass'); - $argument3->isOptional()->willReturn(false); - $argument3->isPassedByReference()->willReturn(false); - $argument3->isVariadic()->willReturn(true); - $argument3->isNullable()->willReturn(false); - - $argument4->getName()->willReturn('args'); - $argument4->getTypeHint()->willReturn('\ReflectionClass'); - $argument4->isOptional()->willReturn(false); - $argument4->isPassedByReference()->willReturn(true); - $argument4->isVariadic()->willReturn(true); - $argument4->isNullable()->willReturn(false); - - $code = $this->generate('CustomClass', $class); - $expected = <<<'PHP' -namespace { -class CustomClass extends \stdClass implements \Prophecy\Doubler\Generator\MirroredInterface { - -public function variadic( ...$args) { - -} -public function variadicByRef( &...$args) { - -} -public function variadicWithType(\\ReflectionClass ...$args) { - -} -public function variadicWithTypeByRef(\\ReflectionClass &...$args) { - -} - -} -} -PHP; - $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n")); - $code->shouldBe($expected); - } - - function it_overrides_properly_methods_with_args_passed_by_reference( - ClassNode $class, - MethodNode $method, - ArgumentNode $argument - ) { - $class->getParentClass()->willReturn('RuntimeException'); - $class->getInterfaces()->willReturn(array('Prophecy\Doubler\Generator\MirroredInterface')); - $class->getProperties()->willReturn(array()); - $class->getMethods()->willReturn(array($method)); - - $method->getName()->willReturn('getName'); - $method->getVisibility()->willReturn('public'); - $method->isStatic()->willReturn(false); - $method->getArguments()->willReturn(array($argument)); - $method->hasReturnType()->willReturn(false); - $method->returnsReference()->willReturn(false); - $method->getCode()->willReturn('return $this->name;'); - - $argument->getName()->willReturn('fullname'); - $argument->getTypeHint()->willReturn('array'); - $argument->isOptional()->willReturn(true); - $argument->getDefault()->willReturn(null); - $argument->isPassedByReference()->willReturn(true); - $argument->isVariadic()->willReturn(false); - $argument->isNullable()->willReturn(false); - - $code = $this->generate('CustomClass', $class); - $expected =<<<'PHP' -namespace { -class CustomClass extends \RuntimeException implements \Prophecy\Doubler\Generator\MirroredInterface { - -public function getName(array &$fullname = NULL) { -return $this->name; -} - -} -} -PHP; - $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n")); - $code->shouldBe($expected); - } - - function it_generates_empty_class_for_empty_ClassNode(ClassNode $class) - { - $class->getParentClass()->willReturn('stdClass'); - $class->getInterfaces()->willReturn(array('Prophecy\Doubler\Generator\MirroredInterface')); - $class->getProperties()->willReturn(array()); - $class->getMethods()->willReturn(array()); - - $code = $this->generate('CustomClass', $class); - $expected =<<<'PHP' -namespace { -class CustomClass extends \stdClass implements \Prophecy\Doubler\Generator\MirroredInterface { - - -} -} -PHP; - $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n")); - $code->shouldBe($expected); - } - - function it_wraps_class_in_namespace_if_it_is_namespaced(ClassNode $class) - { - $class->getParentClass()->willReturn('stdClass'); - $class->getInterfaces()->willReturn(array('Prophecy\Doubler\Generator\MirroredInterface')); - $class->getProperties()->willReturn(array()); - $class->getMethods()->willReturn(array()); - - $code = $this->generate('My\Awesome\CustomClass', $class); - $expected =<<<'PHP' -namespace My\Awesome { -class CustomClass extends \stdClass implements \Prophecy\Doubler\Generator\MirroredInterface { - - -} -} -PHP; - $expected = strtr($expected, array("\r\n" => "\n", "\r" => "\n")); - $code->shouldBe($expected); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php deleted file mode 100644 index e7cae23b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php +++ /dev/null @@ -1,37 +0,0 @@ -beConstructedWith($generator); - } - - function it_evaluates_code_generated_by_ClassCodeGenerator($generator, ClassNode $class) - { - $generator->generate('stdClass', $class)->shouldBeCalled()->willReturn( - 'return 42;' - ); - - $this->create('stdClass', $class)->shouldReturn(42); - } - - function it_throws_an_exception_if_class_does_not_exist_after_evaluation($generator, ClassNode $class) - { - $generator->generate('CustomClass', $class)->shouldBeCalled()->willReturn( - 'return 42;' - ); - - $class->getParentClass()->willReturn('stdClass'); - $class->getInterfaces()->willReturn(array('Interface1', 'Interface2')); - - $this->shouldThrow('Prophecy\Exception\Doubler\ClassCreatorException') - ->duringCreate('CustomClass', $class); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php deleted file mode 100644 index 2c8d1886..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php +++ /dev/null @@ -1,92 +0,0 @@ -beConstructedWith('name'); - } - - function it_is_not_be_passed_by_reference_by_default() - { - $this->shouldNotBePassedByReference(); - } - - function it_is_passed_by_reference_if_marked() - { - $this->setAsPassedByReference(); - $this->shouldBePassedByReference(); - } - - function it_is_not_variadic_by_default() - { - $this->shouldNotBeVariadic(); - } - - function it_is_variadic_if_marked() - { - $this->setAsVariadic(); - $this->shouldBeVariadic(); - } - - function it_does_not_have_default_by_default() - { - $this->shouldNotHaveDefault(); - } - - function it_does_not_have_default_if_variadic() - { - $this->setDefault(null); - $this->setAsVariadic(); - $this->shouldNotHaveDefault(); - } - - function it_does_have_default_if_not_variadic() - { - $this->setDefault(null); - $this->setAsVariadic(false); - $this->hasDefault()->shouldReturn(true); - } - - function it_has_name_with_which_it_was_been_constructed() - { - $this->getName()->shouldReturn('name'); - } - - function it_has_no_typehint_by_default() - { - $this->getTypeHint()->shouldReturn(null); - } - - function its_typeHint_is_mutable() - { - $this->setTypeHint('array'); - $this->getTypeHint()->shouldReturn('array'); - } - - function it_does_not_have_default_value_by_default() - { - $this->getDefault()->shouldReturn(null); - } - - function it_is_not_optional_by_default() - { - $this->isOptional()->shouldReturn(false); - } - - function its_default_is_mutable() - { - $this->setDefault(array()); - $this->getDefault()->shouldReturn(array()); - } - - function it_is_marked_as_optional_when_default_is_set() - { - $this->setDefault(null); - $this->isOptional()->shouldReturn(true); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php deleted file mode 100644 index 16fc498b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php +++ /dev/null @@ -1,185 +0,0 @@ -getParentClass()->shouldReturn('stdClass'); - } - - function its_parentClass_is_mutable() - { - $this->setParentClass('Exception'); - $this->getParentClass()->shouldReturn('Exception'); - } - - function its_parentClass_is_set_to_stdClass_if_user_set_null() - { - $this->setParentClass(null); - $this->getParentClass()->shouldReturn('stdClass'); - } - - function it_does_not_implement_any_interface_by_default() - { - $this->getInterfaces()->shouldHaveCount(0); - } - - function its_addInterface_adds_item_to_the_list_of_implemented_interfaces() - { - $this->addInterface('MyInterface'); - $this->getInterfaces()->shouldHaveCount(1); - } - - function its_hasInterface_returns_true_if_class_implements_interface() - { - $this->addInterface('MyInterface'); - $this->hasInterface('MyInterface')->shouldReturn(true); - } - - function its_hasInterface_returns_false_if_class_does_not_implements_interface() - { - $this->hasInterface('MyInterface')->shouldReturn(false); - } - - function it_supports_implementation_of_multiple_interfaces() - { - $this->addInterface('MyInterface'); - $this->addInterface('MySecondInterface'); - $this->getInterfaces()->shouldHaveCount(2); - } - - function it_ignores_same_interfaces_added_twice() - { - $this->addInterface('MyInterface'); - $this->addInterface('MyInterface'); - - $this->getInterfaces()->shouldHaveCount(1); - $this->getInterfaces()->shouldReturn(array('MyInterface')); - } - - function it_does_not_have_methods_by_default() - { - $this->getMethods()->shouldHaveCount(0); - } - - function it_can_has_methods(MethodNode $method1, MethodNode $method2) - { - $method1->getName()->willReturn('__construct'); - $method2->getName()->willReturn('getName'); - - $this->addMethod($method1); - $this->addMethod($method2); - - $this->getMethods()->shouldReturn(array( - '__construct' => $method1, - 'getName' => $method2 - )); - } - - function its_hasMethod_returns_true_if_method_exists(MethodNode $method) - { - $method->getName()->willReturn('getName'); - - $this->addMethod($method); - - $this->hasMethod('getName')->shouldReturn(true); - } - - function its_getMethod_returns_method_by_name(MethodNode $method) - { - $method->getName()->willReturn('getName'); - - $this->addMethod($method); - - $this->getMethod('getName')->shouldReturn($method); - } - - function its_hasMethod_returns_false_if_method_does_not_exists() - { - $this->hasMethod('getName')->shouldReturn(false); - } - - function its_hasMethod_returns_false_if_method_has_been_removed(MethodNode $method) - { - $method->getName()->willReturn('getName'); - $this->addMethod($method); - $this->removeMethod('getName'); - - $this->hasMethod('getName')->shouldReturn(false); - } - - - function it_does_not_have_properties_by_default() - { - $this->getProperties()->shouldHaveCount(0); - } - - function it_is_able_to_have_properties() - { - $this->addProperty('title'); - $this->addProperty('text', 'private'); - $this->getProperties()->shouldReturn(array( - 'title' => 'public', - 'text' => 'private' - )); - } - - function its_addProperty_does_not_accept_unsupported_visibility() - { - $this->shouldThrow('InvalidArgumentException')->duringAddProperty('title', 'town'); - } - - function its_addProperty_lowercases_visibility_before_setting() - { - $this->addProperty('text', 'PRIVATE'); - $this->getProperties()->shouldReturn(array('text' => 'private')); - } - - function its_has_no_unextendable_methods_by_default() - { - $this->getUnextendableMethods()->shouldHaveCount(0); - } - - function its_addUnextendableMethods_adds_an_unextendable_method() - { - $this->addUnextendableMethod('testMethod'); - $this->getUnextendableMethods()->shouldHaveCount(1); - } - - function its_methods_are_extendable_by_default() - { - $this->isExtendable('testMethod')->shouldReturn(true); - } - - function its_unextendable_methods_are_not_extendable() - { - $this->addUnextendableMethod('testMethod'); - $this->isExtendable('testMethod')->shouldReturn(false); - } - - function its_addUnextendableMethods_doesnt_create_duplicates() - { - $this->addUnextendableMethod('testMethod'); - $this->addUnextendableMethod('testMethod'); - $this->getUnextendableMethods()->shouldHaveCount(1); - } - - function it_throws_an_exception_when_adding_a_method_that_isnt_extendable(MethodNode $method) - { - $this->addUnextendableMethod('testMethod'); - $method->getName()->willReturn('testMethod'); - - $expectedException = new MethodNotExtendableException( - "Method `testMethod` is not extendable, so can not be added.", - "stdClass", - "testMethod" - ); - $this->shouldThrow($expectedException)->duringAddMethod($method); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php deleted file mode 100644 index 14cfe8de..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php +++ /dev/null @@ -1,134 +0,0 @@ -beConstructedWith('getTitle'); - } - - function it_has_a_name() - { - $this->getName()->shouldReturn('getTitle'); - } - - function it_has_public_visibility_by_default() - { - $this->getVisibility()->shouldReturn('public'); - } - - function its_visibility_is_mutable() - { - $this->setVisibility('private'); - $this->getVisibility()->shouldReturn('private'); - } - - function it_is_not_static_by_default() - { - $this->shouldNotBeStatic(); - } - - function it_does_not_return_a_reference_by_default() - { - $this->returnsReference()->shouldReturn(false); - } - - function it_should_be_settable_as_returning_a_reference_through_setter() - { - $this->setReturnsReference(); - $this->returnsReference()->shouldReturn(true); - } - - function it_should_be_settable_as_static_through_setter() - { - $this->setStatic(); - $this->shouldBeStatic(); - } - - function it_accepts_only_supported_visibilities() - { - $this->shouldThrow('InvalidArgumentException')->duringSetVisibility('stealth'); - } - - function it_lowercases_visibility_before_setting_it() - { - $this->setVisibility('Public'); - $this->getVisibility()->shouldReturn('public'); - } - - function its_useParentCode_causes_method_to_call_parent(ArgumentNode $argument1, ArgumentNode $argument2) - { - $argument1->getName()->willReturn('objectName'); - $argument2->getName()->willReturn('default'); - - $argument1->isVariadic()->willReturn(false); - $argument2->isVariadic()->willReturn(true); - - $this->addArgument($argument1); - $this->addArgument($argument2); - - $this->useParentCode(); - - $this->getCode()->shouldReturn( - 'return parent::getTitle($objectName, ...$default);' - ); - } - - function its_code_is_mutable() - { - $this->setCode('echo "code";'); - $this->getCode()->shouldReturn('echo "code";'); - } - - function its_reference_returning_methods_will_generate_exceptions() - { - $this->setCode('echo "code";'); - $this->setReturnsReference(); - $this->getCode()->shouldReturn("throw new \Prophecy\Exception\Doubler\ReturnByReferenceException('Returning by reference not supported', get_class(\$this), 'getTitle');"); - } - - function its_setCode_provided_with_null_cleans_method_body() - { - $this->setCode(null); - $this->getCode()->shouldReturn(''); - } - - function it_is_constructable_with_code() - { - $this->beConstructedWith('getTitle', 'die();'); - $this->getCode()->shouldReturn('die();'); - } - - function it_does_not_have_arguments_by_default() - { - $this->getArguments()->shouldHaveCount(0); - } - - function it_supports_adding_arguments(ArgumentNode $argument1, ArgumentNode $argument2) - { - $this->addArgument($argument1); - $this->addArgument($argument2); - - $this->getArguments()->shouldReturn(array($argument1, $argument2)); - } - - function it_does_not_have_return_type_by_default() - { - $this->hasReturnType()->shouldReturn(false); - } - - function it_setReturnType_sets_return_type() - { - $returnType = 'string'; - - $this->setReturnType($returnType); - - $this->hasReturnType()->shouldReturn(true); - $this->getReturnType()->shouldReturn($returnType); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php deleted file mode 100644 index fdf1e962..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php +++ /dev/null @@ -1,79 +0,0 @@ -beConstructedWith($doubler); - } - - function it_returns_anonymous_double_instance_by_default($doubler, ProphecySubjectInterface $double) - { - $doubler->double(null, array())->willReturn($double); - - $this->getInstance()->shouldReturn($double); - } - - function it_returns_class_double_instance_if_set($doubler, ProphecySubjectInterface $double, \ReflectionClass $class) - { - $doubler->double($class, array())->willReturn($double); - - $this->setParentClass($class); - - $this->getInstance()->shouldReturn($double); - } - - function it_returns_same_double_instance_if_called_2_times( - $doubler, - ProphecySubjectInterface $double1, - ProphecySubjectInterface $double2 - ) { - $doubler->double(null, array())->willReturn($double1); - $doubler->double(null, array())->willReturn($double2); - - $this->getInstance()->shouldReturn($double2); - $this->getInstance()->shouldReturn($double2); - } - - function its_setParentClass_throws_ClassNotFoundException_if_class_not_found() - { - $this->shouldThrow('Prophecy\Exception\Doubler\ClassNotFoundException') - ->duringSetParentClass('SomeUnexistingClass'); - } - - function its_setParentClass_throws_exception_if_prophecy_is_already_created( - $doubler, - ProphecySubjectInterface $double - ) { - $doubler->double(null, array())->willReturn($double); - - $this->getInstance(); - - $this->shouldThrow('Prophecy\Exception\Doubler\DoubleException') - ->duringSetParentClass('stdClass'); - } - - function its_addInterface_throws_InterfaceNotFoundException_if_no_interface_found() - { - $this->shouldThrow('Prophecy\Exception\Doubler\InterfaceNotFoundException') - ->duringAddInterface('SomeUnexistingInterface'); - } - - function its_addInterface_throws_exception_if_prophecy_is_already_created( - $doubler, - ProphecySubjectInterface $double - ) { - $doubler->double(null, array())->willReturn($double); - - $this->getInstance(); - - $this->shouldThrow('Prophecy\Exception\Doubler\DoubleException') - ->duringAddInterface('ArrayAccess'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php deleted file mode 100644 index 1e9b17fb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php +++ /dev/null @@ -1,60 +0,0 @@ -getName()->willReturn('stdClass'); - $this->name($class, array())->shouldStartWith('Double\stdClass\\'); - } - - function its_name_generates_name_based_on_namespaced_class_reflection(\ReflectionClass $class) - { - $class->getName()->willReturn('Some\Custom\Class'); - $this->name($class, array())->shouldStartWith('Double\Some\Custom\Class\P'); - } - - function its_name_generates_name_based_on_interface_shortnames( - \ReflectionClass $interface1, - \ReflectionClass $interface2 - ) { - $interface1->getShortName()->willReturn('HandlerInterface'); - $interface2->getShortName()->willReturn('LoaderInterface'); - - $this->name(null, array($interface1, $interface2))->shouldStartWith( - 'Double\HandlerInterface\LoaderInterface\P' - ); - } - - function it_generates_proper_name_for_no_class_and_interfaces_list() - { - $this->name(null, array())->shouldStartWith('Double\stdClass\P'); - } - - function its_name_generates_name_based_only_on_class_if_its_available( - \ReflectionClass $class, - \ReflectionClass $interface1, - \ReflectionClass $interface2 - ) { - $class->getName()->willReturn('Some\Custom\Class'); - $interface1->getShortName()->willReturn('HandlerInterface'); - $interface2->getShortName()->willReturn('LoaderInterface'); - - $this->name($class, array($interface1, $interface2))->shouldStartWith( - 'Double\Some\Custom\Class\P' - ); - } - - public function getMatchers() - { - return array( - 'startWith' => function ($subject, $string) { - return 0 === strpos($subject, $string); - }, - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php deleted file mode 100644 index 5e2c635b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php +++ /dev/null @@ -1,30 +0,0 @@ -beConstructedWith('msg', $objectProphecy, 'getName', array('arg1', 'arg2')); - } - - function it_is_prophecy_exception() - { - $this->shouldBeAnInstanceOf('Prophecy\Exception\Prophecy\ObjectProphecyException'); - } - - function it_exposes_method_name_through_getter() - { - $this->getMethodName()->shouldReturn('getName'); - } - - function it_exposes_arguments_through_getter() - { - $this->getArguments()->shouldReturn(array('arg1', 'arg2')); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php deleted file mode 100644 index da3aa580..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php +++ /dev/null @@ -1,26 +0,0 @@ -beConstructedWith('', $node); - } - - function it_is_a_prophecy_exception() - { - $this->shouldBeAnInstanceOf('Prophecy\Exception\Exception'); - $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\DoublerException'); - } - - function it_contains_a_reflected_node($node) - { - $this->getClassNode()->shouldReturn($node); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php deleted file mode 100644 index c4f547a7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php +++ /dev/null @@ -1,24 +0,0 @@ -beConstructedWith('', $class); - } - - function it_is_a_prophecy_exception() - { - $this->shouldBeAnInstanceOf('Prophecy\Exception\Exception'); - $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\DoublerException'); - } - - function it_contains_a_reflected_class_link($class) - { - $this->getReflectedClass()->shouldReturn($class); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php deleted file mode 100644 index 251512b9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php +++ /dev/null @@ -1,25 +0,0 @@ -beConstructedWith('msg', 'CustomClass'); - } - - function it_is_a_prophecy_exception() - { - $this->shouldBeAnInstanceOf('Prophecy\Exception\Exception'); - $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\DoubleException'); - } - - function its_getClassname_returns_classname() - { - $this->getClassname()->shouldReturn('CustomClass'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php deleted file mode 100644 index 6fe5a19a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php +++ /dev/null @@ -1,14 +0,0 @@ -shouldBeAnInstanceOf('RuntimeException'); - $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\DoublerException'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php deleted file mode 100644 index ad1a439e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php +++ /dev/null @@ -1,24 +0,0 @@ -beConstructedWith('msg', 'CustomInterface'); - } - - function it_extends_ClassNotFoundException() - { - $this->shouldBeAnInstanceOf('Prophecy\Exception\Doubler\ClassNotFoundException'); - } - - function its_getClassname_returns_classname() - { - $this->getClassname()->shouldReturn('CustomInterface'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotExtendableExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotExtendableExceptionSpec.php deleted file mode 100644 index 5028b026..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotExtendableExceptionSpec.php +++ /dev/null @@ -1,29 +0,0 @@ -beConstructedWith('', 'User', 'getName'); - } - - function it_is_DoubleException() - { - $this->shouldHaveType('Prophecy\Exception\Doubler\DoubleException'); - } - - function it_has_MethodName() - { - $this->getMethodName()->shouldReturn('getName'); - } - - function it_has_classname() - { - $this->getClassName()->shouldReturn('User'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php deleted file mode 100644 index a889dd7e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php +++ /dev/null @@ -1,40 +0,0 @@ -beConstructedWith('', 'User', 'getName', array(1, 2, 3)); - } - - function it_is_DoubleException() - { - $this->shouldHaveType('Prophecy\Exception\Doubler\DoubleException'); - } - - function it_has_MethodName() - { - $this->getMethodName()->shouldReturn('getName'); - } - - function it_has_classnamej() - { - $this->getClassname()->shouldReturn('User'); - } - - function it_has_an_arguments_list() - { - $this->getArguments()->shouldReturn(array(1, 2, 3)); - } - - function it_has_a_default_null_argument_list() - { - $this->beConstructedWith('', 'User', 'getName'); - $this->getArguments()->shouldReturn(null); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php deleted file mode 100644 index d78ea738..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php +++ /dev/null @@ -1,50 +0,0 @@ -beConstructedWith(null); - } - - function it_is_prediction_exception() - { - $this->shouldBeAnInstanceOf('RuntimeException'); - $this->shouldBeAnInstanceOf('Prophecy\Exception\Prediction\PredictionException'); - } - - function it_can_store_objectProphecy_link(ObjectProphecy $object) - { - $this->setObjectProphecy($object); - $this->getObjectProphecy()->shouldReturn($object); - } - - function it_should_not_have_exceptions_at_the_beginning() - { - $this->getExceptions()->shouldHaveCount(0); - } - - function it_should_append_exception_through_append_method(PredictionException $exception) - { - $exception->getMessage()->willReturn('Exception #1'); - - $this->append($exception); - - $this->getExceptions()->shouldReturn(array($exception)); - } - - function it_should_update_message_during_append(PredictionException $exception) - { - $exception->getMessage()->willReturn('Exception #1'); - - $this->append($exception); - - $this->getMessage()->shouldReturn(" Exception #1"); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php deleted file mode 100644 index c2aa31df..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php +++ /dev/null @@ -1,27 +0,0 @@ -getObjectProphecy()->willReturn($objectProphecy); - - $this->beConstructedWith('message', $methodProphecy); - } - - function it_is_PredictionException() - { - $this->shouldHaveType('Prophecy\Exception\Prediction\PredictionException'); - } - - function it_extends_MethodProphecyException() - { - $this->shouldHaveType('Prophecy\Exception\Prophecy\MethodProphecyException'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php deleted file mode 100644 index e18932ed..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php +++ /dev/null @@ -1,27 +0,0 @@ -getObjectProphecy()->willReturn($objectProphecy); - - $this->beConstructedWith('message', $methodProphecy, 5, array($call1, $call2)); - } - - function it_extends_UnexpectedCallsException() - { - $this->shouldBeAnInstanceOf('Prophecy\Exception\Prediction\UnexpectedCallsException'); - } - - function it_should_expose_expectedCount_through_getter() - { - $this->getExpectedCount()->shouldReturn(5); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php deleted file mode 100644 index 49d12d59..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php +++ /dev/null @@ -1,33 +0,0 @@ -getObjectProphecy()->willReturn($objectProphecy); - - $this->beConstructedWith('message', $methodProphecy, array($call1, $call2)); - } - - function it_is_PredictionException() - { - $this->shouldHaveType('Prophecy\Exception\Prediction\PredictionException'); - } - - function it_extends_MethodProphecyException() - { - $this->shouldHaveType('Prophecy\Exception\Prophecy\MethodProphecyException'); - } - - function it_should_expose_calls_list_through_getter($call1, $call2) - { - $this->getCalls()->shouldReturn(array($call1, $call2)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php deleted file mode 100644 index d05c66a5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php +++ /dev/null @@ -1,28 +0,0 @@ -getObjectProphecy()->willReturn($objectProphecy); - - $this->beConstructedWith('message', $methodProphecy); - } - - function it_extends_DoubleException() - { - $this->shouldBeAnInstanceOf('Prophecy\Exception\Prophecy\ObjectProphecyException'); - } - - function it_holds_a_stub_reference($methodProphecy) - { - $this->getMethodProphecy()->shouldReturn($methodProphecy); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php deleted file mode 100644 index 91ffd5b9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php +++ /dev/null @@ -1,24 +0,0 @@ -beConstructedWith('message', $objectProphecy); - } - - function it_should_be_a_prophecy_exception() - { - $this->shouldBeAnInstanceOf('Prophecy\Exception\Prophecy\ProphecyException'); - } - - function it_holds_double_reference($objectProphecy) - { - $this->getObjectProphecy()->shouldReturn($objectProphecy); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php deleted file mode 100644 index 4f03db2f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php +++ /dev/null @@ -1,42 +0,0 @@ -shouldHaveType('Prophecy\Prediction\PredictionInterface'); - } - - function it_does_nothing_if_there_is_more_than_one_call_been_made( - ObjectProphecy $object, - MethodProphecy $method, - Call $call - ) { - $this->check(array($call), $object, $method)->shouldReturn(null); - } - - function it_throws_NoCallsException_if_no_calls_found( - ObjectProphecy $object, - MethodProphecy $method, - ArgumentsWildcard $arguments - ) { - $method->getObjectProphecy()->willReturn($object); - $method->getMethodName()->willReturn('getName'); - $method->getArgumentsWildcard()->willReturn($arguments); - $arguments->__toString()->willReturn('123'); - $object->reveal()->willReturn(new \stdClass()); - $object->findProphecyMethodCalls('getName', Argument::any())->willReturn(array()); - - $this->shouldThrow('Prophecy\Exception\Prediction\NoCallsException') - ->duringCheck(array(), $object, $method); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php deleted file mode 100644 index 52ce31cf..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php +++ /dev/null @@ -1,50 +0,0 @@ -beConstructedWith(2); - } - - function it_is_prediction() - { - $this->shouldHaveType('Prophecy\Prediction\PredictionInterface'); - } - - function it_does_nothing_if_there_were_exact_amount_of_calls_being_made( - ObjectProphecy $object, - MethodProphecy $method, - Call $call1, - Call $call2 - ) { - $this->check(array($call1, $call2), $object, $method)->shouldReturn(null); - } - - function it_throws_UnexpectedCallsCountException_if_calls_found( - ObjectProphecy $object, - MethodProphecy $method, - Call $call, - ArgumentsWildcard $arguments - ) { - $method->getObjectProphecy()->willReturn($object); - $method->getMethodName()->willReturn('getName'); - $method->getArgumentsWildcard()->willReturn($arguments); - $arguments->__toString()->willReturn('123'); - - $call->getMethodName()->willReturn('getName'); - $call->getArguments()->willReturn(array(5, 4, 'three')); - $call->getCallPlace()->willReturn('unknown'); - - $this->shouldThrow('Prophecy\Exception\Prediction\UnexpectedCallsCountException') - ->duringCheck(array($call), $object, $method); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php deleted file mode 100644 index 6da95f06..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php +++ /dev/null @@ -1,34 +0,0 @@ -beConstructedWith('get_class'); - } - - function it_is_prediction() - { - $this->shouldHaveType('Prophecy\Prediction\PredictionInterface'); - } - - function it_proxies_call_to_callback(ObjectProphecy $object, MethodProphecy $method, Call $call) - { - $returnFirstCallCallback = function ($calls, $object, $method) { - throw new RuntimeException; - }; - - $this->beConstructedWith($returnFirstCallCallback); - - $this->shouldThrow('RuntimeException')->duringCheck(array($call), $object, $method); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php deleted file mode 100644 index b5fa28a9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php +++ /dev/null @@ -1,41 +0,0 @@ -shouldHaveType('Prophecy\Prediction\PredictionInterface'); - } - - function it_does_nothing_if_there_is_no_calls_made(ObjectProphecy $object, MethodProphecy $method) - { - $this->check(array(), $object, $method)->shouldReturn(null); - } - - function it_throws_UnexpectedCallsException_if_calls_found( - ObjectProphecy $object, - MethodProphecy $method, - Call $call, - ArgumentsWildcard $arguments - ) { - $method->getObjectProphecy()->willReturn($object); - $method->getMethodName()->willReturn('getName'); - $method->getArgumentsWildcard()->willReturn($arguments); - $arguments->__toString()->willReturn('123'); - - $call->getMethodName()->willReturn('getName'); - $call->getArguments()->willReturn(array(5, 4, 'three')); - $call->getCallPlace()->willReturn('unknown'); - - $this->shouldThrow('Prophecy\Exception\Prediction\UnexpectedCallsException') - ->duringCheck(array($call), $object, $method); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php deleted file mode 100644 index fb1dc62e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php +++ /dev/null @@ -1,96 +0,0 @@ -beConstructedWith('get_class'); - } - - function it_is_promise() - { - $this->shouldBeAnInstanceOf('Prophecy\Promise\PromiseInterface'); - } - - function it_should_execute_closure_callback(ObjectProphecy $object, MethodProphecy $method) - { - $firstArgumentCallback = function ($args) { - return $args[0]; - }; - - $this->beConstructedWith($firstArgumentCallback); - - $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one'); - } - - function it_should_execute_static_array_callback(ObjectProphecy $object, MethodProphecy $method) - { - $firstArgumentCallback = array('spec\Prophecy\Promise\ClassCallback', 'staticCallbackMethod'); - - $this->beConstructedWith($firstArgumentCallback); - - $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one'); - } - - function it_should_execute_instance_array_callback(ObjectProphecy $object, MethodProphecy $method) - { - $class = new ClassCallback(); - $firstArgumentCallback = array($class, 'callbackMethod'); - - $this->beConstructedWith($firstArgumentCallback); - - $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one'); - } - - function it_should_execute_string_function_callback(ObjectProphecy $object, MethodProphecy $method) - { - $firstArgumentCallback = 'spec\Prophecy\Promise\functionCallbackFirstArgument'; - - $this->beConstructedWith($firstArgumentCallback); - - $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one'); - } - -} - -/** - * Class used to test callbackpromise - * - * @param array - * @return string - */ -class ClassCallback -{ - /** - * @param array $args - */ - function callbackMethod($args) - { - return $args[0]; - } - - /** - * @param array $args - */ - static function staticCallbackMethod($args) - { - return $args[0]; - } -} - -/** - * Callback function used to test callbackpromise - * - * @param array - * @return string - */ -function functionCallbackFirstArgument($args) -{ - return $args[0]; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php deleted file mode 100644 index 1cef3aa6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php +++ /dev/null @@ -1,31 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Promise\PromiseInterface'); - } - - function it_should_return_first_argument_if_provided(ObjectProphecy $object, MethodProphecy $method) - { - $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one'); - } - - function it_should_return_null_if_no_arguments_provided(ObjectProphecy $object, MethodProphecy $method) - { - $this->execute(array(), $object, $method)->shouldReturn(null); - } - - function it_should_return_nth_argument_if_provided(ObjectProphecy $object, MethodProphecy $method) - { - $this->beConstructedWith(1); - $this->execute(array('one', 'two'), $object, $method)->shouldReturn('two'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php deleted file mode 100644 index bc6a9918..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php +++ /dev/null @@ -1,49 +0,0 @@ -beConstructedWith(array(42)); - } - - function it_is_promise() - { - $this->shouldBeAnInstanceOf('Prophecy\Promise\PromiseInterface'); - } - - function it_returns_value_it_was_constructed_with(ObjectProphecy $object, MethodProphecy $method) - { - $this->execute(array(), $object, $method)->shouldReturn(42); - } - - function it_always_returns_last_value_left_in_the_return_values(ObjectProphecy $object, MethodProphecy $method) - { - $this->execute(array(), $object, $method)->shouldReturn(42); - $this->execute(array(), $object, $method)->shouldReturn(42); - } - - function it_consequently_returns_multiple_values_it_was_constructed_with( - ObjectProphecy $object, - MethodProphecy $method - ) { - $this->beConstructedWith(array(42, 24, 12)); - - $this->execute(array(), $object, $method)->shouldReturn(42); - $this->execute(array(), $object, $method)->shouldReturn(24); - $this->execute(array(), $object, $method)->shouldReturn(12); - } - - function it_returns_null_if_constructed_with_empty_array(ObjectProphecy $object, MethodProphecy $method) - { - $this->beConstructedWith(array()); - - $this->execute(array(), $object, $method)->shouldReturn(null); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php deleted file mode 100644 index b5a10bc1..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php +++ /dev/null @@ -1,92 +0,0 @@ -beConstructedWith('RuntimeException'); - } - - function it_is_promise() - { - $this->shouldBeAnInstanceOf('Prophecy\Promise\PromiseInterface'); - } - - function it_instantiates_and_throws_exception_from_provided_classname(ObjectProphecy $object, MethodProphecy $method) - { - $this->beConstructedWith('InvalidArgumentException'); - - $this->shouldThrow('InvalidArgumentException') - ->duringExecute(array(), $object, $method); - } - - function it_instantiates_exceptions_with_required_arguments(ObjectProphecy $object, MethodProphecy $method) - { - $this->beConstructedWith('spec\Prophecy\Promise\RequiredArgumentException'); - - $this->shouldThrow('spec\Prophecy\Promise\RequiredArgumentException') - ->duringExecute(array(), $object, $method); - } - - function it_throws_provided_exception(ObjectProphecy $object, MethodProphecy $method) - { - $this->beConstructedWith($exc = new \RuntimeException('Some exception')); - - $this->shouldThrow($exc)->duringExecute(array(), $object, $method); - } - - function it_throws_error_instances(ObjectProphecy $object, MethodProphecy $method) - { - if (!class_exists('\Error')) { - throw new SkippingException('The class Error, introduced in PHP 7, does not exist'); - } - - $this->beConstructedWith($exc = new \Error('Error exception')); - - $this->shouldThrow($exc)->duringExecute(array(), $object, $method); - } - - function it_throws_errors_by_class_name() - { - if (!class_exists('\Error')) { - throw new SkippingException('The class Error, introduced in PHP 7, does not exist'); - } - - $this->beConstructedWith('\Error'); - - $this->shouldNotThrow('Prophecy\Exception\InvalidArgumentException')->duringInstantiation(); - } - - function it_does_not_throw_something_that_is_not_throwable_by_class_name() - { - $this->beConstructedWith('\stdClass'); - - $this->shouldThrow('Prophecy\Exception\InvalidArgumentException')->duringInstantiation(); - } - - function it_does_not_throw_something_that_is_not_throwable_by_instance() - { - $this->beConstructedWith(new \stdClass()); - - $this->shouldThrow('Prophecy\Exception\InvalidArgumentException')->duringInstantiation(); - } - - function it_throws_an_exception_by_class_name() - { - $this->beConstructedWith('\Exception'); - - $this->shouldNotThrow('Prophecy\Exception\InvalidArgumentException')->duringInstantiation(); - } -} - -class RequiredArgumentException extends \Exception -{ - final public function __construct($message, $code) {} -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php deleted file mode 100644 index 969e644a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php +++ /dev/null @@ -1,342 +0,0 @@ -reveal()->willReturn($reflection); - - $this->beConstructedWith($objectProphecy, 'getName', null); - } - - function it_is_initializable() - { - $this->shouldHaveType('Prophecy\Prophecy\MethodProphecy'); - } - - function its_constructor_throws_MethodNotFoundException_for_unexisting_method($objectProphecy) - { - $this->shouldThrow('Prophecy\Exception\Doubler\MethodNotFoundException')->during( - '__construct', array($objectProphecy, 'getUnexisting', null) - ); - } - - function its_constructor_throws_MethodProphecyException_for_final_methods($objectProphecy, ClassWithFinalMethod $subject) - { - $objectProphecy->reveal()->willReturn($subject); - - $this->shouldThrow('Prophecy\Exception\Prophecy\MethodProphecyException')->during( - '__construct', array($objectProphecy, 'finalMethod', null) - ); - } - - function its_constructor_transforms_array_passed_as_3rd_argument_to_ArgumentsWildcard( - $objectProphecy - ) - { - $this->beConstructedWith($objectProphecy, 'getName', array(42, 33)); - - $wildcard = $this->getArgumentsWildcard(); - $wildcard->shouldNotBe(null); - $wildcard->__toString()->shouldReturn('exact(42), exact(33)'); - } - - function its_constructor_does_not_touch_third_argument_if_it_is_null($objectProphecy) - { - $this->beConstructedWith($objectProphecy, 'getName', null); - - $wildcard = $this->getArgumentsWildcard(); - $wildcard->shouldBe(null); - } - - function it_records_promise_through_will_method(PromiseInterface $promise, $objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->will($promise); - $this->getPromise()->shouldReturn($promise); - } - - function it_adds_itself_to_ObjectProphecy_during_call_to_will(PromiseInterface $objectProphecy, $promise) - { - $objectProphecy->addMethodProphecy($this)->shouldBeCalled(); - - $this->will($promise); - } - - function it_adds_ReturnPromise_during_willReturn_call($objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->willReturn(42); - $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\ReturnPromise'); - } - - function it_adds_ThrowPromise_during_willThrow_call($objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->willThrow('RuntimeException'); - $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\ThrowPromise'); - } - - function it_adds_ReturnArgumentPromise_during_willReturnArgument_call($objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->willReturnArgument(); - $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\ReturnArgumentPromise'); - } - - function it_adds_ReturnArgumentPromise_during_willReturnArgument_call_with_index_argument($objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->willReturnArgument(1); - $promise = $this->getPromise(); - $promise->shouldBeAnInstanceOf('Prophecy\Promise\ReturnArgumentPromise'); - $promise->execute(array('one', 'two'), $objectProphecy, $this)->shouldReturn('two'); - } - - function it_adds_CallbackPromise_during_will_call_with_callback_argument($objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $callback = function () {}; - - $this->will($callback); - $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\CallbackPromise'); - } - - function it_records_prediction_through_should_method(PredictionInterface $prediction, $objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->callOnWrappedObject('should', array($prediction)); - $this->getPrediction()->shouldReturn($prediction); - } - - function it_adds_CallbackPrediction_during_should_call_with_callback_argument($objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $callback = function () {}; - - $this->callOnWrappedObject('should', array($callback)); - $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\CallbackPrediction'); - } - - function it_adds_itself_to_ObjectProphecy_during_call_to_should($objectProphecy, PredictionInterface $prediction) - { - $objectProphecy->addMethodProphecy($this)->shouldBeCalled(); - - $this->callOnWrappedObject('should', array($prediction)); - } - - function it_adds_CallPrediction_during_shouldBeCalled_call($objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->callOnWrappedObject('shouldBeCalled', array()); - $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\CallPrediction'); - } - - function it_adds_NoCallsPrediction_during_shouldNotBeCalled_call($objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->callOnWrappedObject('shouldNotBeCalled', array()); - $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\NoCallsPrediction'); - } - - function it_adds_CallTimesPrediction_during_shouldBeCalledTimes_call($objectProphecy) - { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->callOnWrappedObject('shouldBeCalledTimes', array(5)); - $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\CallTimesPrediction'); - } - - function it_checks_prediction_via_shouldHave_method_call( - $objectProphecy, - ArgumentsWildcard $arguments, - PredictionInterface $prediction, - Call $call1, - Call $call2 - ) { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled(); - $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); - - $this->withArguments($arguments); - $this->callOnWrappedObject('shouldHave', array($prediction)); - } - - function it_sets_return_promise_during_shouldHave_call_if_none_was_set_before( - $objectProphecy, - ArgumentsWildcard $arguments, - PredictionInterface $prediction, - Call $call1, - Call $call2 - ) { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled(); - $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); - - $this->withArguments($arguments); - $this->callOnWrappedObject('shouldHave', array($prediction)); - - $this->getPromise()->shouldReturnAnInstanceOf('Prophecy\Promise\ReturnPromise'); - } - - function it_does_not_set_return_promise_during_shouldHave_call_if_it_was_set_before( - $objectProphecy, - ArgumentsWildcard $arguments, - PredictionInterface $prediction, - Call $call1, - Call $call2, - PromiseInterface $promise - ) { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled(); - $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); - - $this->will($promise); - $this->withArguments($arguments); - $this->callOnWrappedObject('shouldHave', array($prediction)); - - $this->getPromise()->shouldReturn($promise); - } - - function it_records_checked_predictions( - $objectProphecy, - ArgumentsWildcard $arguments, - PredictionInterface $prediction1, - PredictionInterface $prediction2, - Call $call1, - Call $call2, - PromiseInterface $promise - ) { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - $prediction1->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->willReturn(); - $prediction2->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->willReturn(); - $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); - - $this->will($promise); - $this->withArguments($arguments); - $this->callOnWrappedObject('shouldHave', array($prediction1)); - $this->callOnWrappedObject('shouldHave', array($prediction2)); - - $this->getCheckedPredictions()->shouldReturn(array($prediction1, $prediction2)); - } - - function it_records_even_failed_checked_predictions( - $objectProphecy, - ArgumentsWildcard $arguments, - PredictionInterface $prediction, - Call $call1, - Call $call2, - PromiseInterface $promise - ) { - $objectProphecy->addMethodProphecy($this)->willReturn(null); - $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->willThrow(new \RuntimeException()); - $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); - - $this->will($promise); - $this->withArguments($arguments); - - try { - $this->callOnWrappedObject('shouldHave', array($prediction)); - } catch (\Exception $e) {} - - $this->getCheckedPredictions()->shouldReturn(array($prediction)); - } - - function it_checks_prediction_via_shouldHave_method_call_with_callback( - $objectProphecy, - ArgumentsWildcard $arguments, - Call $call1, - Call $call2 - ) { - $callback = function ($calls, $object, $method) { - throw new \RuntimeException; - }; - $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); - - $this->withArguments($arguments); - $this->shouldThrow('RuntimeException')->duringShouldHave($callback); - } - - function it_does_nothing_during_checkPrediction_if_no_prediction_set() - { - $this->checkPrediction()->shouldReturn(null); - } - - function it_checks_set_prediction_during_checkPrediction( - $objectProphecy, - ArgumentsWildcard $arguments, - PredictionInterface $prediction, - Call $call1, - Call $call2 - ) { - $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled(); - $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); - $objectProphecy->addMethodProphecy($this)->willReturn(null); - - $this->withArguments($arguments); - $this->callOnWrappedObject('should', array($prediction)); - $this->checkPrediction(); - } - - function it_links_back_to_ObjectProphecy_through_getter($objectProphecy) - { - $this->getObjectProphecy()->shouldReturn($objectProphecy); - } - - function it_has_MethodName() - { - $this->getMethodName()->shouldReturn('getName'); - } - - function it_contains_ArgumentsWildcard_it_was_constructed_with($objectProphecy, ArgumentsWildcard $wildcard) - { - $this->beConstructedWith($objectProphecy, 'getName', $wildcard); - - $this->getArgumentsWildcard()->shouldReturn($wildcard); - } - - function its_ArgumentWildcard_is_mutable_through_setter(ArgumentsWildcard $wildcard) - { - $this->withArguments($wildcard); - - $this->getArgumentsWildcard()->shouldReturn($wildcard); - } - - function its_withArguments_transforms_passed_array_into_ArgumentsWildcard() - { - $this->withArguments(array(42, 33)); - - $wildcard = $this->getArgumentsWildcard(); - $wildcard->shouldNotBe(null); - $wildcard->__toString()->shouldReturn('exact(42), exact(33)'); - } - - function its_withArguments_throws_exception_if_wrong_arguments_provided() - { - $this->shouldThrow('Prophecy\Exception\InvalidArgumentException')->duringWithArguments(42); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php deleted file mode 100644 index c6afb3ef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php +++ /dev/null @@ -1,283 +0,0 @@ -beConstructedWith($lazyDouble); - - $lazyDouble->getInstance()->willReturn($double); - } - - function it_implements_ProphecyInterface() - { - $this->shouldBeAnInstanceOf('Prophecy\Prophecy\ProphecyInterface'); - } - - function it_sets_parentClass_during_willExtend_call($lazyDouble) - { - $lazyDouble->setParentClass('123')->shouldBeCalled(); - - $this->willExtend('123'); - } - - function it_adds_interface_during_willImplement_call($lazyDouble) - { - $lazyDouble->addInterface('222')->shouldBeCalled(); - - $this->willImplement('222'); - } - - function it_sets_constructor_arguments_during_willBeConstructedWith_call($lazyDouble) - { - $lazyDouble->setArguments(array(1, 2, 5))->shouldBeCalled(); - - $this->willBeConstructedWith(array(1, 2, 5)); - } - - function it_does_not_have_method_prophecies_by_default() - { - $this->getMethodProphecies()->shouldHaveCount(0); - } - - function it_should_get_method_prophecies_by_method_name( - MethodProphecy $method1, - MethodProphecy $method2, - ArgumentsWildcard $arguments - ) { - $method1->getMethodName()->willReturn('getName'); - $method1->getArgumentsWildcard()->willReturn($arguments); - $method2->getMethodName()->willReturn('setName'); - $method2->getArgumentsWildcard()->willReturn($arguments); - - $this->addMethodProphecy($method1); - $this->addMethodProphecy($method2); - - $methods = $this->getMethodProphecies('setName'); - $methods->shouldHaveCount(1); - $methods[0]->getMethodName()->shouldReturn('setName'); - } - - function it_should_return_empty_array_if_no_method_prophecies_found() - { - $methods = $this->getMethodProphecies('setName'); - $methods->shouldHaveCount(0); - } - - function it_should_proxy_makeProphecyMethodCall_to_CallCenter($lazyDouble, CallCenter $callCenter) - { - $this->beConstructedWith($lazyDouble, $callCenter); - - $callCenter->makeCall($this->getWrappedObject(), 'setName', array('everzet'))->willReturn(42); - - $this->makeProphecyMethodCall('setName', array('everzet'))->shouldReturn(42); - } - - function it_should_reveal_arguments_and_return_values_from_callCenter( - $lazyDouble, - CallCenter $callCenter, - RevealerInterface $revealer - ) { - $this->beConstructedWith($lazyDouble, $callCenter, $revealer); - - $revealer->reveal(array('question'))->willReturn(array('life')); - $revealer->reveal('answer')->willReturn(42); - - $callCenter->makeCall($this->getWrappedObject(), 'setName', array('life'))->willReturn('answer'); - - $this->makeProphecyMethodCall('setName', array('question'))->shouldReturn(42); - } - - function it_should_proxy_getProphecyMethodCalls_to_CallCenter( - $lazyDouble, - CallCenter $callCenter, - ArgumentsWildcard $wildcard, - Call $call - ) { - $this->beConstructedWith($lazyDouble, $callCenter); - - $callCenter->findCalls('setName', $wildcard)->willReturn(array($call)); - - $this->findProphecyMethodCalls('setName', $wildcard)->shouldReturn(array($call)); - } - - function its_addMethodProphecy_adds_method_prophecy( - MethodProphecy $methodProphecy, - ArgumentsWildcard $argumentsWildcard - ) { - $methodProphecy->getArgumentsWildcard()->willReturn($argumentsWildcard); - $methodProphecy->getMethodName()->willReturn('getUsername'); - - $this->addMethodProphecy($methodProphecy); - - $this->getMethodProphecies()->shouldReturn(array( - 'getUsername' => array($methodProphecy) - )); - } - - function its_addMethodProphecy_handles_prophecies_with_different_arguments( - MethodProphecy $methodProphecy1, - MethodProphecy $methodProphecy2, - ArgumentsWildcard $argumentsWildcard1, - ArgumentsWildcard $argumentsWildcard2 - ) { - $methodProphecy1->getArgumentsWildcard()->willReturn($argumentsWildcard1); - $methodProphecy1->getMethodName()->willReturn('getUsername'); - - $methodProphecy2->getArgumentsWildcard()->willReturn($argumentsWildcard2); - $methodProphecy2->getMethodName()->willReturn('getUsername'); - - $this->addMethodProphecy($methodProphecy1); - $this->addMethodProphecy($methodProphecy2); - - $this->getMethodProphecies()->shouldReturn(array( - 'getUsername' => array( - $methodProphecy1, - $methodProphecy2, - ) - )); - } - - function its_addMethodProphecy_handles_prophecies_for_different_methods( - MethodProphecy $methodProphecy1, - MethodProphecy $methodProphecy2, - ArgumentsWildcard $argumentsWildcard1, - ArgumentsWildcard $argumentsWildcard2 - ) { - $methodProphecy1->getArgumentsWildcard()->willReturn($argumentsWildcard1); - $methodProphecy1->getMethodName()->willReturn('getUsername'); - - $methodProphecy2->getArgumentsWildcard()->willReturn($argumentsWildcard2); - $methodProphecy2->getMethodName()->willReturn('isUsername'); - - $this->addMethodProphecy($methodProphecy1); - $this->addMethodProphecy($methodProphecy2); - - $this->getMethodProphecies()->shouldReturn(array( - 'getUsername' => array( - $methodProphecy1 - ), - 'isUsername' => array( - $methodProphecy2 - ) - )); - } - - function its_addMethodProphecy_throws_exception_when_method_has_no_ArgumentsWildcard(MethodProphecy $methodProphecy) - { - $methodProphecy->getArgumentsWildcard()->willReturn(null); - $methodProphecy->getObjectProphecy()->willReturn($this); - $methodProphecy->getMethodName()->willReturn('getTitle'); - - $this->shouldThrow('Prophecy\Exception\Prophecy\MethodProphecyException')->duringAddMethodProphecy( - $methodProphecy - ); - } - - function it_returns_null_after_checkPredictions_call_if_there_is_no_method_prophecies() - { - $this->checkProphecyMethodsPredictions()->shouldReturn(null); - } - - function it_throws_AggregateException_during_checkPredictions_if_predictions_fail( - MethodProphecy $methodProphecy1, MethodProphecy $methodProphecy2, - ArgumentsWildcard $argumentsWildcard1, - ArgumentsWildcard $argumentsWildcard2 - ) { - $methodProphecy1->getMethodName()->willReturn('getName'); - $methodProphecy1->getArgumentsWildcard()->willReturn($argumentsWildcard1); - $methodProphecy1->checkPrediction() - ->willThrow('Prophecy\Exception\Prediction\AggregateException'); - - $methodProphecy2->getMethodName()->willReturn('setName'); - $methodProphecy2->getArgumentsWildcard()->willReturn($argumentsWildcard2); - $methodProphecy2->checkPrediction() - ->willThrow('Prophecy\Exception\Prediction\AggregateException'); - - $this->addMethodProphecy($methodProphecy1); - $this->addMethodProphecy($methodProphecy2); - - $this->shouldThrow('Prophecy\Exception\Prediction\AggregateException') - ->duringCheckProphecyMethodsPredictions(); - } - - function it_returns_new_MethodProphecy_instance_for_arbitrary_call( - Doubler $doubler, - ProphecySubjectInterface $reflection - ) { - $doubler->double(Argument::any())->willReturn($reflection); - - $return = $this->getProphecy(); - $return->shouldBeAnInstanceOf('Prophecy\Prophecy\MethodProphecy'); - $return->getMethodName()->shouldReturn('getProphecy'); - } - - function it_returns_same_MethodProphecy_for_same_registered_signature( - Doubler $doubler, - ProphecySubjectInterface $reflection - ) { - $doubler->double(Argument::any())->willReturn($reflection); - - $this->addMethodProphecy($methodProphecy1 = $this->getProphecy(1, 2, 3)); - $methodProphecy2 = $this->getProphecy(1, 2, 3); - - $methodProphecy2->shouldBe($methodProphecy1); - } - - function it_returns_new_MethodProphecy_for_different_signatures( - Doubler $doubler, - ProphecySubjectInterface $reflection - ) { - $doubler->double(Argument::any())->willReturn($reflection); - - $value = new ObjectProphecySpecFixtureB('ABC'); - $value2 = new ObjectProphecySpecFixtureB('CBA'); - - $this->addMethodProphecy($methodProphecy1 = $this->getProphecy(1, 2, 3, $value)); - $methodProphecy2 = $this->getProphecy(1, 2, 3, $value2); - - $methodProphecy2->shouldNotBe($methodProphecy1); - } - - function it_returns_new_MethodProphecy_for_all_callback_signatures( - Doubler $doubler, - ProphecySubjectInterface $reflection - ) { - $doubler->double(Argument::any())->willReturn($reflection); - - $this->addMethodProphecy($methodProphecy1 = $this->getProphecy(function(){})); - $methodProphecy2 = $this->getProphecy(function(){}); - - $methodProphecy2->shouldNotBe($methodProphecy1); - } -} - -class ObjectProphecySpecFixtureA -{ - public $errors; -} - -class ObjectProphecySpecFixtureB extends ObjectProphecySpecFixtureA -{ - public $errors; - public $value = null; - - public function __construct($value) - { - $this->value = $value; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php deleted file mode 100644 index fcaa7ca3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php +++ /dev/null @@ -1,44 +0,0 @@ -shouldBeAnInstanceOf('Prophecy\Prophecy\RevealerInterface'); - } - - function it_reveals_single_instance_of_ProphecyInterface(ProphecyInterface $prophecy, \stdClass $object) - { - $prophecy->reveal()->willReturn($object); - - $this->reveal($prophecy)->shouldReturn($object); - } - - function it_reveals_instances_of_ProphecyInterface_inside_array( - ProphecyInterface $prophecy1, - ProphecyInterface $prophecy2, - \stdClass $object1, - \stdClass $object2 - ) { - $prophecy1->reveal()->willReturn($object1); - $prophecy2->reveal()->willReturn($object2); - - $this->reveal(array( - array('item' => $prophecy2), - $prophecy1 - ))->shouldReturn(array( - array('item' => $object2), - $object1 - )); - } - - function it_does_not_touch_non_prophecy_interface() - { - $this->reveal(42)->shouldReturn(42); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php deleted file mode 100644 index 67f02752..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php +++ /dev/null @@ -1,81 +0,0 @@ -double(null, array())->willReturn($double); - - $this->beConstructedWith($doubler); - } - - function it_constructs_new_prophecy_on_prophesize_call() - { - $prophecy = $this->prophesize(); - $prophecy->shouldBeAnInstanceOf('Prophecy\Prophecy\ObjectProphecy'); - } - - function it_constructs_new_prophecy_with_parent_class_if_specified($doubler, ProphecySubjectInterface $newDouble) - { - $doubler->double(Argument::any(), array())->willReturn($newDouble); - - $this->prophesize('Prophecy\Prophet')->reveal()->shouldReturn($newDouble); - } - - function it_constructs_new_prophecy_with_interface_if_specified($doubler, ProphecySubjectInterface $newDouble) - { - $doubler->double(null, Argument::any())->willReturn($newDouble); - - $this->prophesize('ArrayAccess')->reveal()->shouldReturn($newDouble); - } - - function it_exposes_all_created_prophecies_through_getter() - { - $prophecy1 = $this->prophesize(); - $prophecy2 = $this->prophesize(); - - $this->getProphecies()->shouldReturn(array($prophecy1, $prophecy2)); - } - - function it_does_nothing_during_checkPredictions_call_if_no_predictions_defined() - { - $this->checkPredictions()->shouldReturn(null); - } - - function it_throws_AggregateException_if_defined_predictions_fail( - MethodProphecy $method1, - MethodProphecy $method2, - ArgumentsWildcard $arguments1, - ArgumentsWildcard $arguments2 - ) { - $method1->getMethodName()->willReturn('getName'); - $method1->getArgumentsWildcard()->willReturn($arguments1); - $method1->checkPrediction()->willReturn(null); - - $method2->getMethodName()->willReturn('isSet'); - $method2->getArgumentsWildcard()->willReturn($arguments2); - $method2->checkPrediction()->willThrow( - 'Prophecy\Exception\Prediction\AggregateException' - ); - - $this->prophesize()->addMethodProphecy($method1); - $this->prophesize()->addMethodProphecy($method2); - - $this->shouldThrow('Prophecy\Exception\Prediction\AggregateException') - ->duringCheckPredictions(); - } - - function it_exposes_doubler_through_getter($doubler) - { - $this->getDoubler()->shouldReturn($doubler); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php deleted file mode 100644 index 80573cff..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php +++ /dev/null @@ -1,91 +0,0 @@ -stringify(42)->shouldReturn('42'); - } - - function it_generates_proper_string_representation_for_string() - { - $this->stringify('some string')->shouldReturn('"some string"'); - } - - function it_generates_single_line_representation_for_multiline_string() - { - $this->stringify("some\nstring")->shouldReturn('"some\\nstring"'); - } - - function it_generates_proper_string_representation_for_double() - { - $this->stringify(42.3)->shouldReturn('42.3'); - } - - function it_generates_proper_string_representation_for_boolean_true() - { - $this->stringify(true)->shouldReturn('true'); - } - - function it_generates_proper_string_representation_for_boolean_false() - { - $this->stringify(false)->shouldReturn('false'); - } - - function it_generates_proper_string_representation_for_null() - { - $this->stringify(null)->shouldReturn('null'); - } - - function it_generates_proper_string_representation_for_empty_array() - { - $this->stringify(array())->shouldReturn('[]'); - } - - function it_generates_proper_string_representation_for_array() - { - $this->stringify(array('zet', 42))->shouldReturn('["zet", 42]'); - } - - function it_generates_proper_string_representation_for_hash_containing_one_value() - { - $this->stringify(array('ever' => 'zet'))->shouldReturn('["ever" => "zet"]'); - } - - function it_generates_proper_string_representation_for_hash() - { - $this->stringify(array('ever' => 'zet', 52 => 'hey', 'num' => 42))->shouldReturn( - '["ever" => "zet", 52 => "hey", "num" => 42]' - ); - } - - function it_generates_proper_string_representation_for_resource() - { - $resource = fopen(__FILE__, 'r'); - $this->stringify($resource)->shouldReturn('stream:'.$resource); - } - - function it_generates_proper_string_representation_for_object(\stdClass $object) - { - $objHash = sprintf('%s:%s', - get_class($object->getWrappedObject()), - spl_object_hash($object->getWrappedObject()) - ) . " Object (\n 'objectProphecy' => Prophecy\Prophecy\ObjectProphecy Object (*Prophecy*)\n)"; - - $this->stringify($object)->shouldReturn("$objHash"); - } - - function it_generates_proper_string_representation_for_object_without_exporting(\stdClass $object) - { - $objHash = sprintf('%s:%s', - get_class($object->getWrappedObject()), - spl_object_hash($object->getWrappedObject()) - ); - - $this->stringify($object, false)->shouldReturn("$objHash"); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument.php deleted file mode 100644 index fde6aa90..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument.php +++ /dev/null @@ -1,212 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy; - -use Prophecy\Argument\Token; - -/** - * Argument tokens shortcuts. - * - * @author Konstantin Kudryashov - */ -class Argument -{ - /** - * Checks that argument is exact value or object. - * - * @param mixed $value - * - * @return Token\ExactValueToken - */ - public static function exact($value) - { - return new Token\ExactValueToken($value); - } - - /** - * Checks that argument is of specific type or instance of specific class. - * - * @param string $type Type name (`integer`, `string`) or full class name - * - * @return Token\TypeToken - */ - public static function type($type) - { - return new Token\TypeToken($type); - } - - /** - * Checks that argument object has specific state. - * - * @param string $methodName - * @param mixed $value - * - * @return Token\ObjectStateToken - */ - public static function which($methodName, $value) - { - return new Token\ObjectStateToken($methodName, $value); - } - - /** - * Checks that argument matches provided callback. - * - * @param callable $callback - * - * @return Token\CallbackToken - */ - public static function that($callback) - { - return new Token\CallbackToken($callback); - } - - /** - * Matches any single value. - * - * @return Token\AnyValueToken - */ - public static function any() - { - return new Token\AnyValueToken; - } - - /** - * Matches all values to the rest of the signature. - * - * @return Token\AnyValuesToken - */ - public static function cetera() - { - return new Token\AnyValuesToken; - } - - /** - * Checks that argument matches all tokens - * - * @param mixed ... a list of tokens - * - * @return Token\LogicalAndToken - */ - public static function allOf() - { - return new Token\LogicalAndToken(func_get_args()); - } - - /** - * Checks that argument array or countable object has exact number of elements. - * - * @param integer $value array elements count - * - * @return Token\ArrayCountToken - */ - public static function size($value) - { - return new Token\ArrayCountToken($value); - } - - /** - * Checks that argument array contains (key, value) pair - * - * @param mixed $key exact value or token - * @param mixed $value exact value or token - * - * @return Token\ArrayEntryToken - */ - public static function withEntry($key, $value) - { - return new Token\ArrayEntryToken($key, $value); - } - - /** - * Checks that arguments array entries all match value - * - * @param mixed $value - * - * @return Token\ArrayEveryEntryToken - */ - public static function withEveryEntry($value) - { - return new Token\ArrayEveryEntryToken($value); - } - - /** - * Checks that argument array contains value - * - * @param mixed $value - * - * @return Token\ArrayEntryToken - */ - public static function containing($value) - { - return new Token\ArrayEntryToken(self::any(), $value); - } - - /** - * Checks that argument array has key - * - * @param mixed $key exact value or token - * - * @return Token\ArrayEntryToken - */ - public static function withKey($key) - { - return new Token\ArrayEntryToken($key, self::any()); - } - - /** - * Checks that argument does not match the value|token. - * - * @param mixed $value either exact value or argument token - * - * @return Token\LogicalNotToken - */ - public static function not($value) - { - return new Token\LogicalNotToken($value); - } - - /** - * @param string $value - * - * @return Token\StringContainsToken - */ - public static function containingString($value) - { - return new Token\StringContainsToken($value); - } - - /** - * Checks that argument is identical value. - * - * @param mixed $value - * - * @return Token\IdenticalValueToken - */ - public static function is($value) - { - return new Token\IdenticalValueToken($value); - } - - /** - * Check that argument is same value when rounding to the - * given precision. - * - * @param float $value - * @param float $precision - * - * @return Token\ApproximateValueToken - */ - public static function approximate($value, $precision = 0) - { - return new Token\ApproximateValueToken($value, $precision); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php deleted file mode 100644 index a088f21d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php +++ /dev/null @@ -1,101 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument; - -/** - * Arguments wildcarding. - * - * @author Konstantin Kudryashov - */ -class ArgumentsWildcard -{ - /** - * @var Token\TokenInterface[] - */ - private $tokens = array(); - private $string; - - /** - * Initializes wildcard. - * - * @param array $arguments Array of argument tokens or values - */ - public function __construct(array $arguments) - { - foreach ($arguments as $argument) { - if (!$argument instanceof Token\TokenInterface) { - $argument = new Token\ExactValueToken($argument); - } - - $this->tokens[] = $argument; - } - } - - /** - * Calculates wildcard match score for provided arguments. - * - * @param array $arguments - * - * @return false|int False OR integer score (higher - better) - */ - public function scoreArguments(array $arguments) - { - if (0 == count($arguments) && 0 == count($this->tokens)) { - return 1; - } - - $arguments = array_values($arguments); - $totalScore = 0; - foreach ($this->tokens as $i => $token) { - $argument = isset($arguments[$i]) ? $arguments[$i] : null; - if (1 >= $score = $token->scoreArgument($argument)) { - return false; - } - - $totalScore += $score; - - if (true === $token->isLast()) { - return $totalScore; - } - } - - if (count($arguments) > count($this->tokens)) { - return false; - } - - return $totalScore; - } - - /** - * Returns string representation for wildcard. - * - * @return string - */ - public function __toString() - { - if (null === $this->string) { - $this->string = implode(', ', array_map(function ($token) { - return (string) $token; - }, $this->tokens)); - } - - return $this->string; - } - - /** - * @return array - */ - public function getTokens() - { - return $this->tokens; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php deleted file mode 100644 index 50988112..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php +++ /dev/null @@ -1,52 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Any single value token. - * - * @author Konstantin Kudryashov - */ -class AnyValueToken implements TokenInterface -{ - /** - * Always scores 3 for any argument. - * - * @param $argument - * - * @return int - */ - public function scoreArgument($argument) - { - return 3; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return '*'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php deleted file mode 100644 index f76b17bc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php +++ /dev/null @@ -1,52 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Any values token. - * - * @author Konstantin Kudryashov - */ -class AnyValuesToken implements TokenInterface -{ - /** - * Always scores 2 for any argument. - * - * @param $argument - * - * @return int - */ - public function scoreArgument($argument) - { - return 2; - } - - /** - * Returns true to stop wildcard from processing other tokens. - * - * @return bool - */ - public function isLast() - { - return true; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return '* [, ...]'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php deleted file mode 100644 index d4918b1a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php +++ /dev/null @@ -1,55 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Approximate value token - * - * @author Daniel Leech - */ -class ApproximateValueToken implements TokenInterface -{ - private $value; - private $precision; - - public function __construct($value, $precision = 0) - { - $this->value = $value; - $this->precision = $precision; - } - - /** - * {@inheritdoc} - */ - public function scoreArgument($argument) - { - return round($argument, $this->precision) === round($this->value, $this->precision) ? 10 : false; - } - - /** - * {@inheritdoc} - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('≅%s', round($this->value, $this->precision)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php deleted file mode 100644 index 96b4befd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php +++ /dev/null @@ -1,86 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Array elements count token. - * - * @author Boris Mikhaylov - */ - -class ArrayCountToken implements TokenInterface -{ - private $count; - - /** - * @param integer $value - */ - public function __construct($value) - { - $this->count = $value; - } - - /** - * Scores 6 when argument has preset number of elements. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - return $this->isCountable($argument) && $this->hasProperCount($argument) ? 6 : false; - } - - /** - * Returns false. - * - * @return boolean - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('count(%s)', $this->count); - } - - /** - * Returns true if object is either array or instance of \Countable - * - * @param $argument - * @return bool - */ - private function isCountable($argument) - { - return (is_array($argument) || $argument instanceof \Countable); - } - - /** - * Returns true if $argument has expected number of elements - * - * @param array|\Countable $argument - * - * @return bool - */ - private function hasProperCount($argument) - { - return $this->count === count($argument); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php deleted file mode 100644 index 0305fc72..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php +++ /dev/null @@ -1,143 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use Prophecy\Exception\InvalidArgumentException; - -/** - * Array entry token. - * - * @author Boris Mikhaylov - */ -class ArrayEntryToken implements TokenInterface -{ - /** @var \Prophecy\Argument\Token\TokenInterface */ - private $key; - /** @var \Prophecy\Argument\Token\TokenInterface */ - private $value; - - /** - * @param mixed $key exact value or token - * @param mixed $value exact value or token - */ - public function __construct($key, $value) - { - $this->key = $this->wrapIntoExactValueToken($key); - $this->value = $this->wrapIntoExactValueToken($value); - } - - /** - * Scores half of combined scores from key and value tokens for same entry. Capped at 8. - * If argument implements \ArrayAccess without \Traversable, then key token is restricted to ExactValueToken. - * - * @param array|\ArrayAccess|\Traversable $argument - * - * @throws \Prophecy\Exception\InvalidArgumentException - * @return bool|int - */ - public function scoreArgument($argument) - { - if ($argument instanceof \Traversable) { - $argument = iterator_to_array($argument); - } - - if ($argument instanceof \ArrayAccess) { - $argument = $this->convertArrayAccessToEntry($argument); - } - - if (!is_array($argument) || empty($argument)) { - return false; - } - - $keyScores = array_map(array($this->key,'scoreArgument'), array_keys($argument)); - $valueScores = array_map(array($this->value,'scoreArgument'), $argument); - $scoreEntry = function ($value, $key) { - return $value && $key ? min(8, ($key + $value) / 2) : false; - }; - - return max(array_map($scoreEntry, $valueScores, $keyScores)); - } - - /** - * Returns false. - * - * @return boolean - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('[..., %s => %s, ...]', $this->key, $this->value); - } - - /** - * Returns key - * - * @return TokenInterface - */ - public function getKey() - { - return $this->key; - } - - /** - * Returns value - * - * @return TokenInterface - */ - public function getValue() - { - return $this->value; - } - - /** - * Wraps non token $value into ExactValueToken - * - * @param $value - * @return TokenInterface - */ - private function wrapIntoExactValueToken($value) - { - return $value instanceof TokenInterface ? $value : new ExactValueToken($value); - } - - /** - * Converts instance of \ArrayAccess to key => value array entry - * - * @param \ArrayAccess $object - * - * @return array|null - * @throws \Prophecy\Exception\InvalidArgumentException - */ - private function convertArrayAccessToEntry(\ArrayAccess $object) - { - if (!$this->key instanceof ExactValueToken) { - throw new InvalidArgumentException(sprintf( - 'You can only use exact value tokens to match key of ArrayAccess object'.PHP_EOL. - 'But you used `%s`.', - $this->key - )); - } - - $key = $this->key->getValue(); - - return $object->offsetExists($key) ? array($key => $object[$key]) : array(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php deleted file mode 100644 index 5d41fa48..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php +++ /dev/null @@ -1,82 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Array every entry token. - * - * @author Adrien Brault - */ -class ArrayEveryEntryToken implements TokenInterface -{ - /** - * @var TokenInterface - */ - private $value; - - /** - * @param mixed $value exact value or token - */ - public function __construct($value) - { - if (!$value instanceof TokenInterface) { - $value = new ExactValueToken($value); - } - - $this->value = $value; - } - - /** - * {@inheritdoc} - */ - public function scoreArgument($argument) - { - if (!$argument instanceof \Traversable && !is_array($argument)) { - return false; - } - - $scores = array(); - foreach ($argument as $key => $argumentEntry) { - $scores[] = $this->value->scoreArgument($argumentEntry); - } - - if (empty($scores) || in_array(false, $scores, true)) { - return false; - } - - return array_sum($scores) / count($scores); - } - - /** - * {@inheritdoc} - */ - public function isLast() - { - return false; - } - - /** - * {@inheritdoc} - */ - public function __toString() - { - return sprintf('[%s, ..., %s]', $this->value, $this->value); - } - - /** - * @return TokenInterface - */ - public function getValue() - { - return $this->value; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php deleted file mode 100644 index f45ba20b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php +++ /dev/null @@ -1,75 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use Prophecy\Exception\InvalidArgumentException; - -/** - * Callback-verified token. - * - * @author Konstantin Kudryashov - */ -class CallbackToken implements TokenInterface -{ - private $callback; - - /** - * Initializes token. - * - * @param callable $callback - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($callback) - { - if (!is_callable($callback)) { - throw new InvalidArgumentException(sprintf( - 'Callable expected as an argument to CallbackToken, but got %s.', - gettype($callback) - )); - } - - $this->callback = $callback; - } - - /** - * Scores 7 if callback returns true, false otherwise. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - return call_user_func($this->callback, $argument) ? 7 : false; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return 'callback()'; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php deleted file mode 100644 index aa960f3f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php +++ /dev/null @@ -1,116 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use SebastianBergmann\Comparator\ComparisonFailure; -use Prophecy\Comparator\Factory as ComparatorFactory; -use Prophecy\Util\StringUtil; - -/** - * Exact value token. - * - * @author Konstantin Kudryashov - */ -class ExactValueToken implements TokenInterface -{ - private $value; - private $string; - private $util; - private $comparatorFactory; - - /** - * Initializes token. - * - * @param mixed $value - * @param StringUtil $util - * @param ComparatorFactory $comparatorFactory - */ - public function __construct($value, StringUtil $util = null, ComparatorFactory $comparatorFactory = null) - { - $this->value = $value; - $this->util = $util ?: new StringUtil(); - - $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance(); - } - - /** - * Scores 10 if argument matches preset value. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - if (is_object($argument) && is_object($this->value)) { - $comparator = $this->comparatorFactory->getComparatorFor( - $argument, $this->value - ); - - try { - $comparator->assertEquals($argument, $this->value); - return 10; - } catch (ComparisonFailure $failure) {} - } - - // If either one is an object it should be castable to a string - if (is_object($argument) xor is_object($this->value)) { - if (is_object($argument) && !method_exists($argument, '__toString')) { - return false; - } - - if (is_object($this->value) && !method_exists($this->value, '__toString')) { - return false; - } - } elseif (is_numeric($argument) && is_numeric($this->value)) { - // noop - } elseif (gettype($argument) !== gettype($this->value)) { - return false; - } - - return $argument == $this->value ? 10 : false; - } - - /** - * Returns preset value against which token checks arguments. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - if (null === $this->string) { - $this->string = sprintf('exact(%s)', $this->util->stringify($this->value)); - } - - return $this->string; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php deleted file mode 100644 index 0b6d23ab..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php +++ /dev/null @@ -1,74 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use Prophecy\Util\StringUtil; - -/** - * Identical value token. - * - * @author Florian Voutzinos - */ -class IdenticalValueToken implements TokenInterface -{ - private $value; - private $string; - private $util; - - /** - * Initializes token. - * - * @param mixed $value - * @param StringUtil $util - */ - public function __construct($value, StringUtil $util = null) - { - $this->value = $value; - $this->util = $util ?: new StringUtil(); - } - - /** - * Scores 11 if argument matches preset value. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - return $argument === $this->value ? 11 : false; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - if (null === $this->string) { - $this->string = sprintf('identical(%s)', $this->util->stringify($this->value)); - } - - return $this->string; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php deleted file mode 100644 index 4ee1b25e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php +++ /dev/null @@ -1,80 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Logical AND token. - * - * @author Boris Mikhaylov - */ -class LogicalAndToken implements TokenInterface -{ - private $tokens = array(); - - /** - * @param array $arguments exact values or tokens - */ - public function __construct(array $arguments) - { - foreach ($arguments as $argument) { - if (!$argument instanceof TokenInterface) { - $argument = new ExactValueToken($argument); - } - $this->tokens[] = $argument; - } - } - - /** - * Scores maximum score from scores returned by tokens for this argument if all of them score. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - if (0 === count($this->tokens)) { - return false; - } - - $maxScore = 0; - foreach ($this->tokens as $token) { - $score = $token->scoreArgument($argument); - if (false === $score) { - return false; - } - $maxScore = max($score, $maxScore); - } - - return $maxScore; - } - - /** - * Returns false. - * - * @return boolean - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('bool(%s)', implode(' AND ', $this->tokens)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php deleted file mode 100644 index 623efa57..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php +++ /dev/null @@ -1,73 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Logical NOT token. - * - * @author Boris Mikhaylov - */ -class LogicalNotToken implements TokenInterface -{ - /** @var \Prophecy\Argument\Token\TokenInterface */ - private $token; - - /** - * @param mixed $value exact value or token - */ - public function __construct($value) - { - $this->token = $value instanceof TokenInterface? $value : new ExactValueToken($value); - } - - /** - * Scores 4 when preset token does not match the argument. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - return false === $this->token->scoreArgument($argument) ? 4 : false; - } - - /** - * Returns true if preset token is last. - * - * @return bool|int - */ - public function isLast() - { - return $this->token->isLast(); - } - - /** - * Returns originating token. - * - * @return TokenInterface - */ - public function getOriginatingToken() - { - return $this->token; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('not(%s)', $this->token); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php deleted file mode 100644 index d7710776..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php +++ /dev/null @@ -1,104 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use SebastianBergmann\Comparator\ComparisonFailure; -use Prophecy\Comparator\Factory as ComparatorFactory; -use Prophecy\Util\StringUtil; - -/** - * Object state-checker token. - * - * @author Konstantin Kudryashov - */ -class ObjectStateToken implements TokenInterface -{ - private $name; - private $value; - private $util; - private $comparatorFactory; - - /** - * Initializes token. - * - * @param string $methodName - * @param mixed $value Expected return value - * @param null|StringUtil $util - * @param ComparatorFactory $comparatorFactory - */ - public function __construct( - $methodName, - $value, - StringUtil $util = null, - ComparatorFactory $comparatorFactory = null - ) { - $this->name = $methodName; - $this->value = $value; - $this->util = $util ?: new StringUtil; - - $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance(); - } - - /** - * Scores 8 if argument is an object, which method returns expected value. - * - * @param mixed $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - if (is_object($argument) && method_exists($argument, $this->name)) { - $actual = call_user_func(array($argument, $this->name)); - - $comparator = $this->comparatorFactory->getComparatorFor( - $this->value, $actual - ); - - try { - $comparator->assertEquals($this->value, $actual); - return 8; - } catch (ComparisonFailure $failure) { - return false; - } - } - - if (is_object($argument) && property_exists($argument, $this->name)) { - return $argument->{$this->name} === $this->value ? 8 : false; - } - - return false; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('state(%s(), %s)', - $this->name, - $this->util->stringify($this->value) - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php deleted file mode 100644 index 24ff8c2e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php +++ /dev/null @@ -1,67 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * String contains token. - * - * @author Peter Mitchell - */ -class StringContainsToken implements TokenInterface -{ - private $value; - - /** - * Initializes token. - * - * @param string $value - */ - public function __construct($value) - { - $this->value = $value; - } - - public function scoreArgument($argument) - { - return strpos($argument, $this->value) !== false ? 6 : false; - } - - /** - * Returns preset value against which token checks arguments. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('contains("%s")', $this->value); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php deleted file mode 100644 index 625d3bad..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php +++ /dev/null @@ -1,43 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -/** - * Argument token interface. - * - * @author Konstantin Kudryashov - */ -interface TokenInterface -{ - /** - * Calculates token match score for provided argument. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument); - - /** - * Returns true if this token prevents check of other tokens (is last one). - * - * @return bool|int - */ - public function isLast(); - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php deleted file mode 100644 index cb65132c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php +++ /dev/null @@ -1,76 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Argument\Token; - -use Prophecy\Exception\InvalidArgumentException; - -/** - * Value type token. - * - * @author Konstantin Kudryashov - */ -class TypeToken implements TokenInterface -{ - private $type; - - /** - * @param string $type - */ - public function __construct($type) - { - $checker = "is_{$type}"; - if (!function_exists($checker) && !interface_exists($type) && !class_exists($type)) { - throw new InvalidArgumentException(sprintf( - 'Type or class name expected as an argument to TypeToken, but got %s.', $type - )); - } - - $this->type = $type; - } - - /** - * Scores 5 if argument has the same type this token was constructed with. - * - * @param $argument - * - * @return bool|int - */ - public function scoreArgument($argument) - { - $checker = "is_{$this->type}"; - if (function_exists($checker)) { - return call_user_func($checker, $argument) ? 5 : false; - } - - return $argument instanceof $this->type ? 5 : false; - } - - /** - * Returns false. - * - * @return bool - */ - public function isLast() - { - return false; - } - - /** - * Returns string representation for token. - * - * @return string - */ - public function __toString() - { - return sprintf('type(%s)', $this->type); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php deleted file mode 100644 index 2f3fbadb..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php +++ /dev/null @@ -1,127 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Call; - -use Exception; - -/** - * Call object. - * - * @author Konstantin Kudryashov - */ -class Call -{ - private $methodName; - private $arguments; - private $returnValue; - private $exception; - private $file; - private $line; - - /** - * Initializes call. - * - * @param string $methodName - * @param array $arguments - * @param mixed $returnValue - * @param Exception $exception - * @param null|string $file - * @param null|int $line - */ - public function __construct($methodName, array $arguments, $returnValue, - Exception $exception = null, $file, $line) - { - $this->methodName = $methodName; - $this->arguments = $arguments; - $this->returnValue = $returnValue; - $this->exception = $exception; - - if ($file) { - $this->file = $file; - $this->line = intval($line); - } - } - - /** - * Returns called method name. - * - * @return string - */ - public function getMethodName() - { - return $this->methodName; - } - - /** - * Returns called method arguments. - * - * @return array - */ - public function getArguments() - { - return $this->arguments; - } - - /** - * Returns called method return value. - * - * @return null|mixed - */ - public function getReturnValue() - { - return $this->returnValue; - } - - /** - * Returns exception that call thrown. - * - * @return null|Exception - */ - public function getException() - { - return $this->exception; - } - - /** - * Returns callee filename. - * - * @return string - */ - public function getFile() - { - return $this->file; - } - - /** - * Returns callee line number. - * - * @return int - */ - public function getLine() - { - return $this->line; - } - - /** - * Returns short notation for callee place. - * - * @return string - */ - public function getCallPlace() - { - if (null === $this->file) { - return 'unknown'; - } - - return sprintf('%s:%d', $this->file, $this->line); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php deleted file mode 100644 index 53b80f05..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php +++ /dev/null @@ -1,171 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Call; - -use Prophecy\Exception\Prophecy\MethodProphecyException; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Argument\ArgumentsWildcard; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Call\UnexpectedCallException; - -/** - * Calls receiver & manager. - * - * @author Konstantin Kudryashov - */ -class CallCenter -{ - private $util; - - /** - * @var Call[] - */ - private $recordedCalls = array(); - - /** - * Initializes call center. - * - * @param StringUtil $util - */ - public function __construct(StringUtil $util = null) - { - $this->util = $util ?: new StringUtil; - } - - /** - * Makes and records specific method call for object prophecy. - * - * @param ObjectProphecy $prophecy - * @param string $methodName - * @param array $arguments - * - * @return mixed Returns null if no promise for prophecy found or promise return value. - * - * @throws \Prophecy\Exception\Call\UnexpectedCallException If no appropriate method prophecy found - */ - public function makeCall(ObjectProphecy $prophecy, $methodName, array $arguments) - { - // For efficiency exclude 'args' from the generated backtrace - if (PHP_VERSION_ID >= 50400) { - // Limit backtrace to last 3 calls as we don't use the rest - // Limit argument was introduced in PHP 5.4.0 - $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3); - } elseif (defined('DEBUG_BACKTRACE_IGNORE_ARGS')) { - // DEBUG_BACKTRACE_IGNORE_ARGS was introduced in PHP 5.3.6 - $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); - } else { - $backtrace = debug_backtrace(); - } - - $file = $line = null; - if (isset($backtrace[2]) && isset($backtrace[2]['file'])) { - $file = $backtrace[2]['file']; - $line = $backtrace[2]['line']; - } - - // If no method prophecies defined, then it's a dummy, so we'll just return null - if ('__destruct' === $methodName || 0 == count($prophecy->getMethodProphecies())) { - $this->recordedCalls[] = new Call($methodName, $arguments, null, null, $file, $line); - - return null; - } - - // There are method prophecies, so it's a fake/stub. Searching prophecy for this call - $matches = array(); - foreach ($prophecy->getMethodProphecies($methodName) as $methodProphecy) { - if (0 < $score = $methodProphecy->getArgumentsWildcard()->scoreArguments($arguments)) { - $matches[] = array($score, $methodProphecy); - } - } - - // If fake/stub doesn't have method prophecy for this call - throw exception - if (!count($matches)) { - throw $this->createUnexpectedCallException($prophecy, $methodName, $arguments); - } - - // Sort matches by their score value - @usort($matches, function ($match1, $match2) { return $match2[0] - $match1[0]; }); - - // If Highest rated method prophecy has a promise - execute it or return null instead - $methodProphecy = $matches[0][1]; - $returnValue = null; - $exception = null; - if ($promise = $methodProphecy->getPromise()) { - try { - $returnValue = $promise->execute($arguments, $prophecy, $methodProphecy); - } catch (\Exception $e) { - $exception = $e; - } - } - - if ($methodProphecy->hasReturnVoid() && $returnValue !== null) { - throw new MethodProphecyException( - "The method \"$methodName\" has a void return type, but the promise returned a value", - $methodProphecy - ); - } - - $this->recordedCalls[] = new Call( - $methodName, $arguments, $returnValue, $exception, $file, $line - ); - - if (null !== $exception) { - throw $exception; - } - - return $returnValue; - } - - /** - * Searches for calls by method name & arguments wildcard. - * - * @param string $methodName - * @param ArgumentsWildcard $wildcard - * - * @return Call[] - */ - public function findCalls($methodName, ArgumentsWildcard $wildcard) - { - return array_values( - array_filter($this->recordedCalls, function (Call $call) use ($methodName, $wildcard) { - return $methodName === $call->getMethodName() - && 0 < $wildcard->scoreArguments($call->getArguments()) - ; - }) - ); - } - - private function createUnexpectedCallException(ObjectProphecy $prophecy, $methodName, - array $arguments) - { - $classname = get_class($prophecy->reveal()); - $argstring = implode(', ', array_map(array($this->util, 'stringify'), $arguments)); - $expected = implode("\n", array_map(function (MethodProphecy $methodProphecy) { - return sprintf(' - %s(%s)', - $methodProphecy->getMethodName(), - $methodProphecy->getArgumentsWildcard() - ); - }, call_user_func_array('array_merge', $prophecy->getMethodProphecies()))); - - return new UnexpectedCallException( - sprintf( - "Method call:\n". - " - %s(%s)\n". - "on %s was not expected, expected calls were:\n%s", - - $methodName, $argstring, $classname, $expected - ), - $prophecy, $methodName, $arguments - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php deleted file mode 100644 index 874e474c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php +++ /dev/null @@ -1,42 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Comparator; - -use SebastianBergmann\Comparator\Comparator; -use SebastianBergmann\Comparator\ComparisonFailure; - -/** - * Closure comparator. - * - * @author Konstantin Kudryashov - */ -final class ClosureComparator extends Comparator -{ - public function accepts($expected, $actual) - { - return is_object($expected) && $expected instanceof \Closure - && is_object($actual) && $actual instanceof \Closure; - } - - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false) - { - throw new ComparisonFailure( - $expected, - $actual, - // we don't need a diff - '', - '', - false, - 'all closures are born different' - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php deleted file mode 100644 index 2070db14..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php +++ /dev/null @@ -1,47 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Comparator; - -use SebastianBergmann\Comparator\Factory as BaseFactory; - -/** - * Prophecy comparator factory. - * - * @author Konstantin Kudryashov - */ -final class Factory extends BaseFactory -{ - /** - * @var Factory - */ - private static $instance; - - public function __construct() - { - parent::__construct(); - - $this->register(new ClosureComparator()); - $this->register(new ProphecyComparator()); - } - - /** - * @return Factory - */ - public static function getInstance() - { - if (self::$instance === null) { - self::$instance = new Factory; - } - - return self::$instance; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php deleted file mode 100644 index 298a8e35..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php +++ /dev/null @@ -1,28 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Comparator; - -use Prophecy\Prophecy\ProphecyInterface; -use SebastianBergmann\Comparator\ObjectComparator; - -class ProphecyComparator extends ObjectComparator -{ - public function accepts($expected, $actual) - { - return is_object($expected) && is_object($actual) && $actual instanceof ProphecyInterface; - } - - public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = array()) - { - parent::assertEquals($expected, $actual->reveal(), $delta, $canonicalize, $ignoreCase, $processed); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php deleted file mode 100644 index d6b6b1a9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php +++ /dev/null @@ -1,68 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -use ReflectionClass; - -/** - * Cached class doubler. - * Prevents mirroring/creation of the same structure twice. - * - * @author Konstantin Kudryashov - */ -class CachedDoubler extends Doubler -{ - private $classes = array(); - - /** - * {@inheritdoc} - */ - public function registerClassPatch(ClassPatch\ClassPatchInterface $patch) - { - $this->classes[] = array(); - - parent::registerClassPatch($patch); - } - - /** - * {@inheritdoc} - */ - protected function createDoubleClass(ReflectionClass $class = null, array $interfaces) - { - $classId = $this->generateClassId($class, $interfaces); - if (isset($this->classes[$classId])) { - return $this->classes[$classId]; - } - - return $this->classes[$classId] = parent::createDoubleClass($class, $interfaces); - } - - /** - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces - * - * @return string - */ - private function generateClassId(ReflectionClass $class = null, array $interfaces) - { - $parts = array(); - if (null !== $class) { - $parts[] = $class->getName(); - } - foreach ($interfaces as $interface) { - $parts[] = $interface->getName(); - } - sort($parts); - - return md5(implode('', $parts)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php deleted file mode 100644 index d6d19685..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php +++ /dev/null @@ -1,48 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -/** - * Class patch interface. - * Class patches extend doubles functionality or help - * Prophecy to avoid some internal PHP bugs. - * - * @author Konstantin Kudryashov - */ -interface ClassPatchInterface -{ - /** - * Checks if patch supports specific class node. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node); - - /** - * Applies patch to the specific class node. - * - * @param ClassNode $node - * @return void - */ - public function apply(ClassNode $node); - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php deleted file mode 100644 index 61998fc4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php +++ /dev/null @@ -1,72 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; - -/** - * Disable constructor. - * Makes all constructor arguments optional. - * - * @author Konstantin Kudryashov - */ -class DisableConstructorPatch implements ClassPatchInterface -{ - /** - * Checks if class has `__construct` method. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - return true; - } - - /** - * Makes all class constructor arguments optional. - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - if (!$node->hasMethod('__construct')) { - $node->addMethod(new MethodNode('__construct', '')); - - return; - } - - $constructor = $node->getMethod('__construct'); - foreach ($constructor->getArguments() as $argument) { - $argument->setDefault(null); - } - - $constructor->setCode(<< - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -/** - * Exception patch for HHVM to remove the stubs from special methods - * - * @author Christophe Coevoet - */ -class HhvmExceptionPatch implements ClassPatchInterface -{ - /** - * Supports exceptions on HHVM. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - if (!defined('HHVM_VERSION')) { - return false; - } - - return 'Exception' === $node->getParentClass() || is_subclass_of($node->getParentClass(), 'Exception'); - } - - /** - * Removes special exception static methods from the doubled methods. - * - * @param ClassNode $node - * - * @return void - */ - public function apply(ClassNode $node) - { - if ($node->hasMethod('setTraceOptions')) { - $node->getMethod('setTraceOptions')->useParentCode(); - } - if ($node->hasMethod('getTraceOptions')) { - $node->getMethod('getTraceOptions')->useParentCode(); - } - } - - /** - * {@inheritdoc} - */ - public function getPriority() - { - return -50; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php deleted file mode 100644 index b0d9793a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php +++ /dev/null @@ -1,135 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -/** - * Remove method functionality from the double which will clash with php keywords. - * - * @author Milan Magudia - */ -class KeywordPatch implements ClassPatchInterface -{ - /** - * Support any class - * - * @param ClassNode $node - * - * @return boolean - */ - public function supports(ClassNode $node) - { - return true; - } - - /** - * Remove methods that clash with php keywords - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - $methodNames = array_keys($node->getMethods()); - $methodsToRemove = array_intersect($methodNames, $this->getKeywords()); - foreach ($methodsToRemove as $methodName) { - $node->removeMethod($methodName); - } - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority() { - return 49; - } - - /** - * Returns array of php keywords. - * - * @return array - */ - private function getKeywords() { - - return array( - '__halt_compiler', - 'abstract', - 'and', - 'array', - 'as', - 'break', - 'callable', - 'case', - 'catch', - 'class', - 'clone', - 'const', - 'continue', - 'declare', - 'default', - 'die', - 'do', - 'echo', - 'else', - 'elseif', - 'empty', - 'enddeclare', - 'endfor', - 'endforeach', - 'endif', - 'endswitch', - 'endwhile', - 'eval', - 'exit', - 'extends', - 'final', - 'finally', - 'for', - 'foreach', - 'function', - 'global', - 'goto', - 'if', - 'implements', - 'include', - 'include_once', - 'instanceof', - 'insteadof', - 'interface', - 'isset', - 'list', - 'namespace', - 'new', - 'or', - 'print', - 'private', - 'protected', - 'public', - 'require', - 'require_once', - 'return', - 'static', - 'switch', - 'throw', - 'trait', - 'try', - 'unset', - 'use', - 'var', - 'while', - 'xor', - 'yield', - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php deleted file mode 100644 index 5f2c6077..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php +++ /dev/null @@ -1,89 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; -use Prophecy\PhpDocumentor\ClassAndInterfaceTagRetriever; -use Prophecy\PhpDocumentor\MethodTagRetrieverInterface; - -/** - * Discover Magical API using "@method" PHPDoc format. - * - * @author Thomas Tourlourat - * @author Kévin Dunglas - * @author Théo FIDRY - */ -class MagicCallPatch implements ClassPatchInterface -{ - private $tagRetriever; - - public function __construct(MethodTagRetrieverInterface $tagRetriever = null) - { - $this->tagRetriever = null === $tagRetriever ? new ClassAndInterfaceTagRetriever() : $tagRetriever; - } - - /** - * Support any class - * - * @param ClassNode $node - * - * @return boolean - */ - public function supports(ClassNode $node) - { - return true; - } - - /** - * Discover Magical API - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - $types = array_filter($node->getInterfaces(), function ($interface) { - return 0 !== strpos($interface, 'Prophecy\\'); - }); - $types[] = $node->getParentClass(); - - foreach ($types as $type) { - $reflectionClass = new \ReflectionClass($type); - $tagList = $this->tagRetriever->getTagList($reflectionClass); - - foreach($tagList as $tag) { - $methodName = $tag->getMethodName(); - - if (empty($methodName)) { - continue; - } - - if (!$reflectionClass->hasMethod($methodName)) { - $methodNode = new MethodNode($methodName); - $methodNode->setStatic($tag->isStatic()); - $node->addMethod($methodNode); - } - } - } - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return integer Priority number (higher - earlier) - */ - public function getPriority() - { - return 50; - } -} - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php deleted file mode 100644 index fc2cc4de..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php +++ /dev/null @@ -1,104 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; -use Prophecy\Doubler\Generator\Node\ArgumentNode; - -/** - * Add Prophecy functionality to the double. - * This is a core class patch for Prophecy. - * - * @author Konstantin Kudryashov - */ -class ProphecySubjectPatch implements ClassPatchInterface -{ - /** - * Always returns true. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - return true; - } - - /** - * Apply Prophecy functionality to class node. - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - $node->addInterface('Prophecy\Prophecy\ProphecySubjectInterface'); - $node->addProperty('objectProphecy', 'private'); - - foreach ($node->getMethods() as $name => $method) { - if ('__construct' === strtolower($name)) { - continue; - } - - if ($method->getReturnType() === 'void') { - $method->setCode( - '$this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());' - ); - } else { - $method->setCode( - 'return $this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());' - ); - } - } - - $prophecySetter = new MethodNode('setProphecy'); - $prophecyArgument = new ArgumentNode('prophecy'); - $prophecyArgument->setTypeHint('Prophecy\Prophecy\ProphecyInterface'); - $prophecySetter->addArgument($prophecyArgument); - $prophecySetter->setCode('$this->objectProphecy = $prophecy;'); - - $prophecyGetter = new MethodNode('getProphecy'); - $prophecyGetter->setCode('return $this->objectProphecy;'); - - if ($node->hasMethod('__call')) { - $__call = $node->getMethod('__call'); - } else { - $__call = new MethodNode('__call'); - $__call->addArgument(new ArgumentNode('name')); - $__call->addArgument(new ArgumentNode('arguments')); - - $node->addMethod($__call); - } - - $__call->setCode(<<getProphecy(), func_get_arg(0) -); -PHP - ); - - $node->addMethod($prophecySetter); - $node->addMethod($prophecyGetter); - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority() - { - return 0; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php deleted file mode 100644 index 9166aeef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php +++ /dev/null @@ -1,57 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -/** - * ReflectionClass::newInstance patch. - * Makes first argument of newInstance optional, since it works but signature is misleading - * - * @author Florian Klein - */ -class ReflectionClassNewInstancePatch implements ClassPatchInterface -{ - /** - * Supports ReflectionClass - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - return 'ReflectionClass' === $node->getParentClass(); - } - - /** - * Updates newInstance's first argument to make it optional - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - foreach ($node->getMethod('newInstance')->getArguments() as $argument) { - $argument->setDefault(null); - } - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher = earlier) - */ - public function getPriority() - { - return 50; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php deleted file mode 100644 index eba82980..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php +++ /dev/null @@ -1,105 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; - -/** - * SplFileInfo patch. - * Makes SplFileInfo and derivative classes usable with Prophecy. - * - * @author Konstantin Kudryashov - */ -class SplFileInfoPatch implements ClassPatchInterface -{ - /** - * Supports everything that extends SplFileInfo. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - if (null === $node->getParentClass()) { - return false; - } - - return 'SplFileInfo' === $node->getParentClass() - || is_subclass_of($node->getParentClass(), 'SplFileInfo') - ; - } - - /** - * Updated constructor code to call parent one with dummy file argument. - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - if ($node->hasMethod('__construct')) { - $constructor = $node->getMethod('__construct'); - } else { - $constructor = new MethodNode('__construct'); - $node->addMethod($constructor); - } - - if ($this->nodeIsDirectoryIterator($node)) { - $constructor->setCode('return parent::__construct("' . __DIR__ . '");'); - - return; - } - - if ($this->nodeIsSplFileObject($node)) { - $constructor->setCode('return parent::__construct("' . __FILE__ .'");'); - - return; - } - - $constructor->useParentCode(); - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority() - { - return 50; - } - - /** - * @param ClassNode $node - * @return boolean - */ - private function nodeIsDirectoryIterator(ClassNode $node) - { - $parent = $node->getParentClass(); - - return 'DirectoryIterator' === $parent - || is_subclass_of($parent, 'DirectoryIterator'); - } - - /** - * @param ClassNode $node - * @return boolean - */ - private function nodeIsSplFileObject(ClassNode $node) - { - $parent = $node->getParentClass(); - - return 'SplFileObject' === $parent - || is_subclass_of($parent, 'SplFileObject'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php deleted file mode 100644 index eea02028..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php +++ /dev/null @@ -1,83 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\ClassPatch; - -use Prophecy\Doubler\Generator\Node\ClassNode; -use Prophecy\Doubler\Generator\Node\MethodNode; - -/** - * Traversable interface patch. - * Forces classes that implement interfaces, that extend Traversable to also implement Iterator. - * - * @author Konstantin Kudryashov - */ -class TraversablePatch implements ClassPatchInterface -{ - /** - * Supports nodetree, that implement Traversable, but not Iterator or IteratorAggregate. - * - * @param ClassNode $node - * - * @return bool - */ - public function supports(ClassNode $node) - { - if (in_array('Iterator', $node->getInterfaces())) { - return false; - } - if (in_array('IteratorAggregate', $node->getInterfaces())) { - return false; - } - - foreach ($node->getInterfaces() as $interface) { - if ('Traversable' !== $interface && !is_subclass_of($interface, 'Traversable')) { - continue; - } - if ('Iterator' === $interface || is_subclass_of($interface, 'Iterator')) { - continue; - } - if ('IteratorAggregate' === $interface || is_subclass_of($interface, 'IteratorAggregate')) { - continue; - } - - return true; - } - - return false; - } - - /** - * Forces class to implement Iterator interface. - * - * @param ClassNode $node - */ - public function apply(ClassNode $node) - { - $node->addInterface('Iterator'); - - $node->addMethod(new MethodNode('current')); - $node->addMethod(new MethodNode('key')); - $node->addMethod(new MethodNode('next')); - $node->addMethod(new MethodNode('rewind')); - $node->addMethod(new MethodNode('valid')); - } - - /** - * Returns patch priority, which determines when patch will be applied. - * - * @return int Priority number (higher - earlier) - */ - public function getPriority() - { - return 100; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php deleted file mode 100644 index 699be3a2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php +++ /dev/null @@ -1,22 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -/** - * Core double interface. - * All doubled classes will implement this one. - * - * @author Konstantin Kudryashov - */ -interface DoubleInterface -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php deleted file mode 100644 index a378ae27..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php +++ /dev/null @@ -1,146 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -use Doctrine\Instantiator\Instantiator; -use Prophecy\Doubler\ClassPatch\ClassPatchInterface; -use Prophecy\Doubler\Generator\ClassMirror; -use Prophecy\Doubler\Generator\ClassCreator; -use Prophecy\Exception\InvalidArgumentException; -use ReflectionClass; - -/** - * Cached class doubler. - * Prevents mirroring/creation of the same structure twice. - * - * @author Konstantin Kudryashov - */ -class Doubler -{ - private $mirror; - private $creator; - private $namer; - - /** - * @var ClassPatchInterface[] - */ - private $patches = array(); - - /** - * @var \Doctrine\Instantiator\Instantiator - */ - private $instantiator; - - /** - * Initializes doubler. - * - * @param ClassMirror $mirror - * @param ClassCreator $creator - * @param NameGenerator $namer - */ - public function __construct(ClassMirror $mirror = null, ClassCreator $creator = null, - NameGenerator $namer = null) - { - $this->mirror = $mirror ?: new ClassMirror; - $this->creator = $creator ?: new ClassCreator; - $this->namer = $namer ?: new NameGenerator; - } - - /** - * Returns list of registered class patches. - * - * @return ClassPatchInterface[] - */ - public function getClassPatches() - { - return $this->patches; - } - - /** - * Registers new class patch. - * - * @param ClassPatchInterface $patch - */ - public function registerClassPatch(ClassPatchInterface $patch) - { - $this->patches[] = $patch; - - @usort($this->patches, function (ClassPatchInterface $patch1, ClassPatchInterface $patch2) { - return $patch2->getPriority() - $patch1->getPriority(); - }); - } - - /** - * Creates double from specific class or/and list of interfaces. - * - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces Array of ReflectionClass instances - * @param array $args Constructor arguments - * - * @return DoubleInterface - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function double(ReflectionClass $class = null, array $interfaces, array $args = null) - { - foreach ($interfaces as $interface) { - if (!$interface instanceof ReflectionClass) { - throw new InvalidArgumentException(sprintf( - "[ReflectionClass \$interface1 [, ReflectionClass \$interface2]] array expected as\n". - "a second argument to `Doubler::double(...)`, but got %s.", - is_object($interface) ? get_class($interface).' class' : gettype($interface) - )); - } - } - - $classname = $this->createDoubleClass($class, $interfaces); - $reflection = new ReflectionClass($classname); - - if (null !== $args) { - return $reflection->newInstanceArgs($args); - } - if ((null === $constructor = $reflection->getConstructor()) - || ($constructor->isPublic() && !$constructor->isFinal())) { - return $reflection->newInstance(); - } - - if (!$this->instantiator) { - $this->instantiator = new Instantiator(); - } - - return $this->instantiator->instantiate($classname); - } - - /** - * Creates double class and returns its FQN. - * - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces - * - * @return string - */ - protected function createDoubleClass(ReflectionClass $class = null, array $interfaces) - { - $name = $this->namer->name($class, $interfaces); - $node = $this->mirror->reflect($class, $interfaces); - - foreach ($this->patches as $patch) { - if ($patch->supports($node)) { - $patch->apply($node); - } - } - - $this->creator->create($name, $node); - - return $name; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php deleted file mode 100644 index fc1079c5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php +++ /dev/null @@ -1,145 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator; - -/** - * Class code creator. - * Generates PHP code for specific class node tree. - * - * @author Konstantin Kudryashov - */ -class ClassCodeGenerator -{ - /** - * Generates PHP code for class node. - * - * @param string $classname - * @param Node\ClassNode $class - * - * @return string - */ - public function generate($classname, Node\ClassNode $class) - { - $parts = explode('\\', $classname); - $classname = array_pop($parts); - $namespace = implode('\\', $parts); - - $code = sprintf("class %s extends \%s implements %s {\n", - $classname, $class->getParentClass(), implode(', ', - array_map(function ($interface) {return '\\'.$interface;}, $class->getInterfaces()) - ) - ); - - foreach ($class->getProperties() as $name => $visibility) { - $code .= sprintf("%s \$%s;\n", $visibility, $name); - } - $code .= "\n"; - - foreach ($class->getMethods() as $method) { - $code .= $this->generateMethod($method)."\n"; - } - $code .= "\n}"; - - return sprintf("namespace %s {\n%s\n}", $namespace, $code); - } - - private function generateMethod(Node\MethodNode $method) - { - $php = sprintf("%s %s function %s%s(%s)%s {\n", - $method->getVisibility(), - $method->isStatic() ? 'static' : '', - $method->returnsReference() ? '&':'', - $method->getName(), - implode(', ', $this->generateArguments($method->getArguments())), - $this->getReturnType($method) - ); - $php .= $method->getCode()."\n"; - - return $php.'}'; - } - - /** - * @return string - */ - private function getReturnType(Node\MethodNode $method) - { - if (version_compare(PHP_VERSION, '7.1', '>=')) { - if ($method->hasReturnType()) { - return $method->hasNullableReturnType() - ? sprintf(': ?%s', $method->getReturnType()) - : sprintf(': %s', $method->getReturnType()); - } - } - - if (version_compare(PHP_VERSION, '7.0', '>=')) { - return $method->hasReturnType() && $method->getReturnType() !== 'void' - ? sprintf(': %s', $method->getReturnType()) - : ''; - } - - return ''; - } - - private function generateArguments(array $arguments) - { - return array_map(function (Node\ArgumentNode $argument) { - $php = ''; - - if (version_compare(PHP_VERSION, '7.1', '>=')) { - $php .= $argument->isNullable() ? '?' : ''; - } - - if ($hint = $argument->getTypeHint()) { - switch ($hint) { - case 'array': - case 'callable': - $php .= $hint; - break; - - case 'iterable': - if (version_compare(PHP_VERSION, '7.1', '>=')) { - $php .= $hint; - break; - } - - $php .= '\\'.$hint; - break; - - case 'string': - case 'int': - case 'float': - case 'bool': - if (version_compare(PHP_VERSION, '7.0', '>=')) { - $php .= $hint; - break; - } - // Fall-through to default case for PHP 5.x - - default: - $php .= '\\'.$hint; - } - } - - $php .= ' '.($argument->isPassedByReference() ? '&' : ''); - - $php .= $argument->isVariadic() ? '...' : ''; - - $php .= '$'.$argument->getName(); - - if ($argument->isOptional() && !$argument->isVariadic()) { - $php .= ' = '.var_export($argument->getDefault(), true); - } - - return $php; - }, $arguments); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php deleted file mode 100644 index 882a4a4b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php +++ /dev/null @@ -1,67 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator; - -use Prophecy\Exception\Doubler\ClassCreatorException; - -/** - * Class creator. - * Creates specific class in current environment. - * - * @author Konstantin Kudryashov - */ -class ClassCreator -{ - private $generator; - - /** - * Initializes creator. - * - * @param ClassCodeGenerator $generator - */ - public function __construct(ClassCodeGenerator $generator = null) - { - $this->generator = $generator ?: new ClassCodeGenerator; - } - - /** - * Creates class. - * - * @param string $classname - * @param Node\ClassNode $class - * - * @return mixed - * - * @throws \Prophecy\Exception\Doubler\ClassCreatorException - */ - public function create($classname, Node\ClassNode $class) - { - $code = $this->generator->generate($classname, $class); - $return = eval($code); - - if (!class_exists($classname, false)) { - if (count($class->getInterfaces())) { - throw new ClassCreatorException(sprintf( - 'Could not double `%s` and implement interfaces: [%s].', - $class->getParentClass(), implode(', ', $class->getInterfaces()) - ), $class); - } - - throw new ClassCreatorException( - sprintf('Could not double `%s`.', $class->getParentClass()), - $class - ); - } - - return $return; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php deleted file mode 100644 index 9f99239f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php +++ /dev/null @@ -1,258 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator; - -use Prophecy\Exception\InvalidArgumentException; -use Prophecy\Exception\Doubler\ClassMirrorException; -use ReflectionClass; -use ReflectionMethod; -use ReflectionParameter; - -/** - * Class mirror. - * Core doubler class. Mirrors specific class and/or interfaces into class node tree. - * - * @author Konstantin Kudryashov - */ -class ClassMirror -{ - private static $reflectableMethods = array( - '__construct', - '__destruct', - '__sleep', - '__wakeup', - '__toString', - '__call', - '__invoke' - ); - - /** - * Reflects provided arguments into class node. - * - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces - * - * @return Node\ClassNode - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function reflect(ReflectionClass $class = null, array $interfaces) - { - $node = new Node\ClassNode; - - if (null !== $class) { - if (true === $class->isInterface()) { - throw new InvalidArgumentException(sprintf( - "Could not reflect %s as a class, because it\n". - "is interface - use the second argument instead.", - $class->getName() - )); - } - - $this->reflectClassToNode($class, $node); - } - - foreach ($interfaces as $interface) { - if (!$interface instanceof ReflectionClass) { - throw new InvalidArgumentException(sprintf( - "[ReflectionClass \$interface1 [, ReflectionClass \$interface2]] array expected as\n". - "a second argument to `ClassMirror::reflect(...)`, but got %s.", - is_object($interface) ? get_class($interface).' class' : gettype($interface) - )); - } - if (false === $interface->isInterface()) { - throw new InvalidArgumentException(sprintf( - "Could not reflect %s as an interface, because it\n". - "is class - use the first argument instead.", - $interface->getName() - )); - } - - $this->reflectInterfaceToNode($interface, $node); - } - - $node->addInterface('Prophecy\Doubler\Generator\ReflectionInterface'); - - return $node; - } - - private function reflectClassToNode(ReflectionClass $class, Node\ClassNode $node) - { - if (true === $class->isFinal()) { - throw new ClassMirrorException(sprintf( - 'Could not reflect class %s as it is marked final.', $class->getName() - ), $class); - } - - $node->setParentClass($class->getName()); - - foreach ($class->getMethods(ReflectionMethod::IS_ABSTRACT) as $method) { - if (false === $method->isProtected()) { - continue; - } - - $this->reflectMethodToNode($method, $node); - } - - foreach ($class->getMethods(ReflectionMethod::IS_PUBLIC) as $method) { - if (0 === strpos($method->getName(), '_') - && !in_array($method->getName(), self::$reflectableMethods)) { - continue; - } - - if (true === $method->isFinal()) { - $node->addUnextendableMethod($method->getName()); - continue; - } - - $this->reflectMethodToNode($method, $node); - } - } - - private function reflectInterfaceToNode(ReflectionClass $interface, Node\ClassNode $node) - { - $node->addInterface($interface->getName()); - - foreach ($interface->getMethods() as $method) { - $this->reflectMethodToNode($method, $node); - } - } - - private function reflectMethodToNode(ReflectionMethod $method, Node\ClassNode $classNode) - { - $node = new Node\MethodNode($method->getName()); - - if (true === $method->isProtected()) { - $node->setVisibility('protected'); - } - - if (true === $method->isStatic()) { - $node->setStatic(); - } - - if (true === $method->returnsReference()) { - $node->setReturnsReference(); - } - - if (version_compare(PHP_VERSION, '7.0', '>=') && $method->hasReturnType()) { - $returnType = (string) $method->getReturnType(); - $returnTypeLower = strtolower($returnType); - - if ('self' === $returnTypeLower) { - $returnType = $method->getDeclaringClass()->getName(); - } - if ('parent' === $returnTypeLower) { - $returnType = $method->getDeclaringClass()->getParentClass()->getName(); - } - - $node->setReturnType($returnType); - - if (version_compare(PHP_VERSION, '7.1', '>=') && $method->getReturnType()->allowsNull()) { - $node->setNullableReturnType(true); - } - } - - if (is_array($params = $method->getParameters()) && count($params)) { - foreach ($params as $param) { - $this->reflectArgumentToNode($param, $node); - } - } - - $classNode->addMethod($node); - } - - private function reflectArgumentToNode(ReflectionParameter $parameter, Node\MethodNode $methodNode) - { - $name = $parameter->getName() == '...' ? '__dot_dot_dot__' : $parameter->getName(); - $node = new Node\ArgumentNode($name); - - $node->setTypeHint($this->getTypeHint($parameter)); - - if ($this->isVariadic($parameter)) { - $node->setAsVariadic(); - } - - if ($this->hasDefaultValue($parameter)) { - $node->setDefault($this->getDefaultValue($parameter)); - } - - if ($parameter->isPassedByReference()) { - $node->setAsPassedByReference(); - } - - $methodNode->addArgument($node); - } - - private function hasDefaultValue(ReflectionParameter $parameter) - { - if ($this->isVariadic($parameter)) { - return false; - } - - if ($parameter->isDefaultValueAvailable()) { - return true; - } - - return $parameter->isOptional() || $this->isNullable($parameter); - } - - private function getDefaultValue(ReflectionParameter $parameter) - { - if (!$parameter->isDefaultValueAvailable()) { - return null; - } - - return $parameter->getDefaultValue(); - } - - private function getTypeHint(ReflectionParameter $parameter) - { - if (null !== $className = $this->getParameterClassName($parameter)) { - return $className; - } - - if (true === $parameter->isArray()) { - return 'array'; - } - - if (version_compare(PHP_VERSION, '5.4', '>=') && true === $parameter->isCallable()) { - return 'callable'; - } - - if (version_compare(PHP_VERSION, '7.0', '>=') && true === $parameter->hasType()) { - return (string) $parameter->getType(); - } - - return null; - } - - private function isVariadic(ReflectionParameter $parameter) - { - return PHP_VERSION_ID >= 50600 && $parameter->isVariadic(); - } - - private function isNullable(ReflectionParameter $parameter) - { - return $parameter->allowsNull() && null !== $this->getTypeHint($parameter); - } - - private function getParameterClassName(ReflectionParameter $parameter) - { - try { - return $parameter->getClass() ? $parameter->getClass()->getName() : null; - } catch (\ReflectionException $e) { - preg_match('/\[\s\<\w+?>\s([\w,\\\]+)/s', $parameter, $matches); - - return isset($matches[1]) ? $matches[1] : null; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php deleted file mode 100644 index dd29b68f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php +++ /dev/null @@ -1,102 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator\Node; - -/** - * Argument node. - * - * @author Konstantin Kudryashov - */ -class ArgumentNode -{ - private $name; - private $typeHint; - private $default; - private $optional = false; - private $byReference = false; - private $isVariadic = false; - private $isNullable = false; - - /** - * @param string $name - */ - public function __construct($name) - { - $this->name = $name; - } - - public function getName() - { - return $this->name; - } - - public function getTypeHint() - { - return $this->typeHint; - } - - public function setTypeHint($typeHint = null) - { - $this->typeHint = $typeHint; - } - - public function hasDefault() - { - return $this->isOptional() && !$this->isVariadic(); - } - - public function getDefault() - { - return $this->default; - } - - public function setDefault($default = null) - { - $this->optional = true; - $this->default = $default; - } - - public function isOptional() - { - return $this->optional; - } - - public function setAsPassedByReference($byReference = true) - { - $this->byReference = $byReference; - } - - public function isPassedByReference() - { - return $this->byReference; - } - - public function setAsVariadic($isVariadic = true) - { - $this->isVariadic = $isVariadic; - } - - public function isVariadic() - { - return $this->isVariadic; - } - - public function isNullable() - { - return $this->isNullable; - } - - public function setAsNullable($isNullable = true) - { - $this->isNullable = $isNullable; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php deleted file mode 100644 index 1499a1d3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php +++ /dev/null @@ -1,166 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator\Node; - -use Prophecy\Exception\Doubler\MethodNotExtendableException; -use Prophecy\Exception\InvalidArgumentException; - -/** - * Class node. - * - * @author Konstantin Kudryashov - */ -class ClassNode -{ - private $parentClass = 'stdClass'; - private $interfaces = array(); - private $properties = array(); - private $unextendableMethods = array(); - - /** - * @var MethodNode[] - */ - private $methods = array(); - - public function getParentClass() - { - return $this->parentClass; - } - - /** - * @param string $class - */ - public function setParentClass($class) - { - $this->parentClass = $class ?: 'stdClass'; - } - - /** - * @return string[] - */ - public function getInterfaces() - { - return $this->interfaces; - } - - /** - * @param string $interface - */ - public function addInterface($interface) - { - if ($this->hasInterface($interface)) { - return; - } - - array_unshift($this->interfaces, $interface); - } - - /** - * @param string $interface - * - * @return bool - */ - public function hasInterface($interface) - { - return in_array($interface, $this->interfaces); - } - - public function getProperties() - { - return $this->properties; - } - - public function addProperty($name, $visibility = 'public') - { - $visibility = strtolower($visibility); - - if (!in_array($visibility, array('public', 'private', 'protected'))) { - throw new InvalidArgumentException(sprintf( - '`%s` property visibility is not supported.', $visibility - )); - } - - $this->properties[$name] = $visibility; - } - - /** - * @return MethodNode[] - */ - public function getMethods() - { - return $this->methods; - } - - public function addMethod(MethodNode $method) - { - if (!$this->isExtendable($method->getName())){ - $message = sprintf( - 'Method `%s` is not extendable, so can not be added.', $method->getName() - ); - throw new MethodNotExtendableException($message, $this->getParentClass(), $method->getName()); - } - $this->methods[$method->getName()] = $method; - } - - public function removeMethod($name) - { - unset($this->methods[$name]); - } - - /** - * @param string $name - * - * @return MethodNode|null - */ - public function getMethod($name) - { - return $this->hasMethod($name) ? $this->methods[$name] : null; - } - - /** - * @param string $name - * - * @return bool - */ - public function hasMethod($name) - { - return isset($this->methods[$name]); - } - - /** - * @return string[] - */ - public function getUnextendableMethods() - { - return $this->unextendableMethods; - } - - /** - * @param string $unextendableMethod - */ - public function addUnextendableMethod($unextendableMethod) - { - if (!$this->isExtendable($unextendableMethod)){ - return; - } - $this->unextendableMethods[] = $unextendableMethod; - } - - /** - * @param string $method - * @return bool - */ - public function isExtendable($method) - { - return !in_array($method, $this->unextendableMethods); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php deleted file mode 100644 index 71aabfa9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php +++ /dev/null @@ -1,207 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator\Node; - -use Prophecy\Exception\InvalidArgumentException; - -/** - * Method node. - * - * @author Konstantin Kudryashov - */ -class MethodNode -{ - private $name; - private $code; - private $visibility = 'public'; - private $static = false; - private $returnsReference = false; - private $returnType; - private $nullableReturnType = false; - - /** - * @var ArgumentNode[] - */ - private $arguments = array(); - - /** - * @param string $name - * @param string $code - */ - public function __construct($name, $code = null) - { - $this->name = $name; - $this->code = $code; - } - - public function getVisibility() - { - return $this->visibility; - } - - /** - * @param string $visibility - */ - public function setVisibility($visibility) - { - $visibility = strtolower($visibility); - - if (!in_array($visibility, array('public', 'private', 'protected'))) { - throw new InvalidArgumentException(sprintf( - '`%s` method visibility is not supported.', $visibility - )); - } - - $this->visibility = $visibility; - } - - public function isStatic() - { - return $this->static; - } - - public function setStatic($static = true) - { - $this->static = (bool) $static; - } - - public function returnsReference() - { - return $this->returnsReference; - } - - public function setReturnsReference() - { - $this->returnsReference = true; - } - - public function getName() - { - return $this->name; - } - - public function addArgument(ArgumentNode $argument) - { - $this->arguments[] = $argument; - } - - /** - * @return ArgumentNode[] - */ - public function getArguments() - { - return $this->arguments; - } - - public function hasReturnType() - { - return null !== $this->returnType; - } - - /** - * @param string $type - */ - public function setReturnType($type = null) - { - switch ($type) { - case '': - $this->returnType = null; - break; - - case 'string'; - case 'float': - case 'int': - case 'bool': - case 'array': - case 'callable': - case 'iterable': - case 'void': - $this->returnType = $type; - break; - - case 'double': - case 'real': - $this->returnType = 'float'; - break; - - case 'boolean': - $this->returnType = 'bool'; - break; - - case 'integer': - $this->returnType = 'int'; - break; - - default: - $this->returnType = '\\' . ltrim($type, '\\'); - } - } - - public function getReturnType() - { - return $this->returnType; - } - - /** - * @param bool $bool - */ - public function setNullableReturnType($bool = true) - { - $this->nullableReturnType = (bool) $bool; - } - - /** - * @return bool - */ - public function hasNullableReturnType() - { - return $this->nullableReturnType; - } - - /** - * @param string $code - */ - public function setCode($code) - { - $this->code = $code; - } - - public function getCode() - { - if ($this->returnsReference) - { - return "throw new \Prophecy\Exception\Doubler\ReturnByReferenceException('Returning by reference not supported', get_class(\$this), '{$this->name}');"; - } - - return (string) $this->code; - } - - public function useParentCode() - { - $this->code = sprintf( - 'return parent::%s(%s);', $this->getName(), implode(', ', - array_map(array($this, 'generateArgument'), $this->arguments) - ) - ); - } - - private function generateArgument(ArgumentNode $arg) - { - $argument = '$'.$arg->getName(); - - if ($arg->isVariadic()) { - $argument = '...'.$argument; - } - - return $argument; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php deleted file mode 100644 index d720b151..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php +++ /dev/null @@ -1,22 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler\Generator; - -/** - * Reflection interface. - * All reflected classes implement this interface. - * - * @author Konstantin Kudryashov - */ -interface ReflectionInterface -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php deleted file mode 100644 index 8a99c4ce..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php +++ /dev/null @@ -1,127 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -use Prophecy\Exception\Doubler\DoubleException; -use Prophecy\Exception\Doubler\ClassNotFoundException; -use Prophecy\Exception\Doubler\InterfaceNotFoundException; -use ReflectionClass; - -/** - * Lazy double. - * Gives simple interface to describe double before creating it. - * - * @author Konstantin Kudryashov - */ -class LazyDouble -{ - private $doubler; - private $class; - private $interfaces = array(); - private $arguments = null; - private $double; - - /** - * Initializes lazy double. - * - * @param Doubler $doubler - */ - public function __construct(Doubler $doubler) - { - $this->doubler = $doubler; - } - - /** - * Tells doubler to use specific class as parent one for double. - * - * @param string|ReflectionClass $class - * - * @throws \Prophecy\Exception\Doubler\ClassNotFoundException - * @throws \Prophecy\Exception\Doubler\DoubleException - */ - public function setParentClass($class) - { - if (null !== $this->double) { - throw new DoubleException('Can not extend class with already instantiated double.'); - } - - if (!$class instanceof ReflectionClass) { - if (!class_exists($class)) { - throw new ClassNotFoundException(sprintf('Class %s not found.', $class), $class); - } - - $class = new ReflectionClass($class); - } - - $this->class = $class; - } - - /** - * Tells doubler to implement specific interface with double. - * - * @param string|ReflectionClass $interface - * - * @throws \Prophecy\Exception\Doubler\InterfaceNotFoundException - * @throws \Prophecy\Exception\Doubler\DoubleException - */ - public function addInterface($interface) - { - if (null !== $this->double) { - throw new DoubleException( - 'Can not implement interface with already instantiated double.' - ); - } - - if (!$interface instanceof ReflectionClass) { - if (!interface_exists($interface)) { - throw new InterfaceNotFoundException( - sprintf('Interface %s not found.', $interface), - $interface - ); - } - - $interface = new ReflectionClass($interface); - } - - $this->interfaces[] = $interface; - } - - /** - * Sets constructor arguments. - * - * @param array $arguments - */ - public function setArguments(array $arguments = null) - { - $this->arguments = $arguments; - } - - /** - * Creates double instance or returns already created one. - * - * @return DoubleInterface - */ - public function getInstance() - { - if (null === $this->double) { - if (null !== $this->arguments) { - return $this->double = $this->doubler->double( - $this->class, $this->interfaces, $this->arguments - ); - } - - $this->double = $this->doubler->double($this->class, $this->interfaces); - } - - return $this->double; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php deleted file mode 100644 index d67ec6a4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php +++ /dev/null @@ -1,52 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Doubler; - -use ReflectionClass; - -/** - * Name generator. - * Generates classname for double. - * - * @author Konstantin Kudryashov - */ -class NameGenerator -{ - private static $counter = 1; - - /** - * Generates name. - * - * @param ReflectionClass $class - * @param ReflectionClass[] $interfaces - * - * @return string - */ - public function name(ReflectionClass $class = null, array $interfaces) - { - $parts = array(); - - if (null !== $class) { - $parts[] = $class->getName(); - } else { - foreach ($interfaces as $interface) { - $parts[] = $interface->getShortName(); - } - } - - if (!count($parts)) { - $parts[] = 'stdClass'; - } - - return sprintf('Double\%s\P%d', implode('\\', $parts), self::$counter++); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php deleted file mode 100644 index 48ed2254..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php +++ /dev/null @@ -1,40 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Call; - -use Prophecy\Exception\Prophecy\ObjectProphecyException; -use Prophecy\Prophecy\ObjectProphecy; - -class UnexpectedCallException extends ObjectProphecyException -{ - private $methodName; - private $arguments; - - public function __construct($message, ObjectProphecy $objectProphecy, - $methodName, array $arguments) - { - parent::__construct($message, $objectProphecy); - - $this->methodName = $methodName; - $this->arguments = $arguments; - } - - public function getMethodName() - { - return $this->methodName; - } - - public function getArguments() - { - return $this->arguments; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php deleted file mode 100644 index 822918a2..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php +++ /dev/null @@ -1,31 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -use Prophecy\Doubler\Generator\Node\ClassNode; - -class ClassCreatorException extends \RuntimeException implements DoublerException -{ - private $node; - - public function __construct($message, ClassNode $node) - { - parent::__construct($message); - - $this->node = $node; - } - - public function getClassNode() - { - return $this->node; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php deleted file mode 100644 index 8fc53b8b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php +++ /dev/null @@ -1,31 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -use ReflectionClass; - -class ClassMirrorException extends \RuntimeException implements DoublerException -{ - private $class; - - public function __construct($message, ReflectionClass $class) - { - parent::__construct($message); - - $this->class = $class; - } - - public function getReflectedClass() - { - return $this->class; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php deleted file mode 100644 index 5bc826d7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php +++ /dev/null @@ -1,33 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -class ClassNotFoundException extends DoubleException -{ - private $classname; - - /** - * @param string $message - * @param string $classname - */ - public function __construct($message, $classname) - { - parent::__construct($message); - - $this->classname = $classname; - } - - public function getClassname() - { - return $this->classname; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php deleted file mode 100644 index 6642a58f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -use RuntimeException; - -class DoubleException extends RuntimeException implements DoublerException -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php deleted file mode 100644 index 9d6be179..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -use Prophecy\Exception\Exception; - -interface DoublerException extends Exception -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php deleted file mode 100644 index e344dead..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php +++ /dev/null @@ -1,20 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -class InterfaceNotFoundException extends ClassNotFoundException -{ - public function getInterfaceName() - { - return $this->getClassname(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php deleted file mode 100644 index 56f47b11..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php +++ /dev/null @@ -1,41 +0,0 @@ -methodName = $methodName; - $this->className = $className; - } - - - /** - * @return string - */ - public function getMethodName() - { - return $this->methodName; - } - - /** - * @return string - */ - public function getClassName() - { - return $this->className; - } - - } diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php deleted file mode 100644 index b113941f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php +++ /dev/null @@ -1,60 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -class MethodNotFoundException extends DoubleException -{ - /** - * @var string - */ - private $classname; - - /** - * @var string - */ - private $methodName; - - /** - * @var array - */ - private $arguments; - - /** - * @param string $message - * @param string $classname - * @param string $methodName - * @param null|Argument\ArgumentsWildcard|array $arguments - */ - public function __construct($message, $classname, $methodName, $arguments = null) - { - parent::__construct($message); - - $this->classname = $classname; - $this->methodName = $methodName; - $this->arguments = $arguments; - } - - public function getClassname() - { - return $this->classname; - } - - public function getMethodName() - { - return $this->methodName; - } - - public function getArguments() - { - return $this->arguments; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php deleted file mode 100644 index 63030497..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php +++ /dev/null @@ -1,41 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Doubler; - -class ReturnByReferenceException extends DoubleException -{ - private $classname; - private $methodName; - - /** - * @param string $message - * @param string $classname - * @param string $methodName - */ - public function __construct($message, $classname, $methodName) - { - parent::__construct($message); - - $this->classname = $classname; - $this->methodName = $methodName; - } - - public function getClassname() - { - return $this->classname; - } - - public function getMethodName() - { - return $this->methodName; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php deleted file mode 100644 index ac9fe4dd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php +++ /dev/null @@ -1,26 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception; - -/** - * Core Prophecy exception interface. - * All Prophecy exceptions implement it. - * - * @author Konstantin Kudryashov - */ -interface Exception -{ - /** - * @return string - */ - public function getMessage(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php deleted file mode 100644 index bc91c690..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php +++ /dev/null @@ -1,16 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception; - -class InvalidArgumentException extends \InvalidArgumentException implements Exception -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php deleted file mode 100644 index 44b598a4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php +++ /dev/null @@ -1,50 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Prophecy\ObjectProphecy; - -class AggregateException extends \RuntimeException implements PredictionException -{ - private $exceptions = array(); - private $objectProphecy; - - public function append(PredictionException $exception) - { - $message = $exception->getMessage(); - $message = ' '.strtr($message, array("\n" => "\n "))."\n"; - - $this->message = rtrim($this->message.$message); - $this->exceptions[] = $exception; - } - - /** - * @return PredictionException[] - */ - public function getExceptions() - { - return $this->exceptions; - } - - public function setObjectProphecy(ObjectProphecy $objectProphecy) - { - $this->objectProphecy = $objectProphecy; - } - - /** - * @return ObjectProphecy - */ - public function getObjectProphecy() - { - return $this->objectProphecy; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php deleted file mode 100644 index bbbbc3d9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php +++ /dev/null @@ -1,24 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use RuntimeException; - -/** - * Basic failed prediction exception. - * Use it for custom prediction failures. - * - * @author Konstantin Kudryashov - */ -class FailedPredictionException extends RuntimeException implements PredictionException -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php deleted file mode 100644 index 05ea4aad..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Exception\Prophecy\MethodProphecyException; - -class NoCallsException extends MethodProphecyException implements PredictionException -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php deleted file mode 100644 index 2596b1ef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Exception\Exception; - -interface PredictionException extends Exception -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php deleted file mode 100644 index 9d905431..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php +++ /dev/null @@ -1,31 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Prophecy\MethodProphecy; - -class UnexpectedCallsCountException extends UnexpectedCallsException -{ - private $expectedCount; - - public function __construct($message, MethodProphecy $methodProphecy, $count, array $calls) - { - parent::__construct($message, $methodProphecy, $calls); - - $this->expectedCount = intval($count); - } - - public function getExpectedCount() - { - return $this->expectedCount; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php deleted file mode 100644 index 7a99c2d7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php +++ /dev/null @@ -1,32 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prediction; - -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Exception\Prophecy\MethodProphecyException; - -class UnexpectedCallsException extends MethodProphecyException implements PredictionException -{ - private $calls = array(); - - public function __construct($message, MethodProphecy $methodProphecy, array $calls) - { - parent::__construct($message, $methodProphecy); - - $this->calls = $calls; - } - - public function getCalls() - { - return $this->calls; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php deleted file mode 100644 index 1b03eaf4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php +++ /dev/null @@ -1,34 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prophecy; - -use Prophecy\Prophecy\MethodProphecy; - -class MethodProphecyException extends ObjectProphecyException -{ - private $methodProphecy; - - public function __construct($message, MethodProphecy $methodProphecy) - { - parent::__construct($message, $methodProphecy->getObjectProphecy()); - - $this->methodProphecy = $methodProphecy; - } - - /** - * @return MethodProphecy - */ - public function getMethodProphecy() - { - return $this->methodProphecy; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php deleted file mode 100644 index e345402e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php +++ /dev/null @@ -1,34 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prophecy; - -use Prophecy\Prophecy\ObjectProphecy; - -class ObjectProphecyException extends \RuntimeException implements ProphecyException -{ - private $objectProphecy; - - public function __construct($message, ObjectProphecy $objectProphecy) - { - parent::__construct($message); - - $this->objectProphecy = $objectProphecy; - } - - /** - * @return ObjectProphecy - */ - public function getObjectProphecy() - { - return $this->objectProphecy; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php deleted file mode 100644 index 91573328..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php +++ /dev/null @@ -1,18 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Exception\Prophecy; - -use Prophecy\Exception\Exception; - -interface ProphecyException extends Exception -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php deleted file mode 100644 index 209821ce..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php +++ /dev/null @@ -1,69 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\PhpDocumentor; - -use phpDocumentor\Reflection\DocBlock\Tag\MethodTag as LegacyMethodTag; -use phpDocumentor\Reflection\DocBlock\Tags\Method; - -/** - * @author Théo FIDRY - * - * @internal - */ -final class ClassAndInterfaceTagRetriever implements MethodTagRetrieverInterface -{ - private $classRetriever; - - public function __construct(MethodTagRetrieverInterface $classRetriever = null) - { - if (null !== $classRetriever) { - $this->classRetriever = $classRetriever; - - return; - } - - $this->classRetriever = class_exists('phpDocumentor\Reflection\DocBlockFactory') && class_exists('phpDocumentor\Reflection\Types\ContextFactory') - ? new ClassTagRetriever() - : new LegacyClassTagRetriever() - ; - } - - /** - * @param \ReflectionClass $reflectionClass - * - * @return LegacyMethodTag[]|Method[] - */ - public function getTagList(\ReflectionClass $reflectionClass) - { - return array_merge( - $this->classRetriever->getTagList($reflectionClass), - $this->getInterfacesTagList($reflectionClass) - ); - } - - /** - * @param \ReflectionClass $reflectionClass - * - * @return LegacyMethodTag[]|Method[] - */ - private function getInterfacesTagList(\ReflectionClass $reflectionClass) - { - $interfaces = $reflectionClass->getInterfaces(); - $tagList = array(); - - foreach($interfaces as $interface) { - $tagList = array_merge($tagList, $this->classRetriever->getTagList($interface)); - } - - return $tagList; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php deleted file mode 100644 index 1d2da8f0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php +++ /dev/null @@ -1,52 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\PhpDocumentor; - -use phpDocumentor\Reflection\DocBlock\Tags\Method; -use phpDocumentor\Reflection\DocBlockFactory; -use phpDocumentor\Reflection\Types\ContextFactory; - -/** - * @author Théo FIDRY - * - * @internal - */ -final class ClassTagRetriever implements MethodTagRetrieverInterface -{ - private $docBlockFactory; - private $contextFactory; - - public function __construct() - { - $this->docBlockFactory = DocBlockFactory::createInstance(); - $this->contextFactory = new ContextFactory(); - } - - /** - * @param \ReflectionClass $reflectionClass - * - * @return Method[] - */ - public function getTagList(\ReflectionClass $reflectionClass) - { - try { - $phpdoc = $this->docBlockFactory->create( - $reflectionClass, - $this->contextFactory->createFromReflector($reflectionClass) - ); - - return $phpdoc->getTagsByName('method'); - } catch (\InvalidArgumentException $e) { - return array(); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php deleted file mode 100644 index c0dec3de..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php +++ /dev/null @@ -1,35 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\PhpDocumentor; - -use phpDocumentor\Reflection\DocBlock; -use phpDocumentor\Reflection\DocBlock\Tag\MethodTag as LegacyMethodTag; - -/** - * @author Théo FIDRY - * - * @internal - */ -final class LegacyClassTagRetriever implements MethodTagRetrieverInterface -{ - /** - * @param \ReflectionClass $reflectionClass - * - * @return LegacyMethodTag[] - */ - public function getTagList(\ReflectionClass $reflectionClass) - { - $phpdoc = new DocBlock($reflectionClass->getDocComment()); - - return $phpdoc->getTagsByName('method'); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php deleted file mode 100644 index d3989dad..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php +++ /dev/null @@ -1,30 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\PhpDocumentor; - -use phpDocumentor\Reflection\DocBlock\Tag\MethodTag as LegacyMethodTag; -use phpDocumentor\Reflection\DocBlock\Tags\Method; - -/** - * @author Théo FIDRY - * - * @internal - */ -interface MethodTagRetrieverInterface -{ - /** - * @param \ReflectionClass $reflectionClass - * - * @return LegacyMethodTag[]|Method[] - */ - public function getTagList(\ReflectionClass $reflectionClass); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php deleted file mode 100644 index b4787366..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php +++ /dev/null @@ -1,86 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Argument\ArgumentsWildcard; -use Prophecy\Argument\Token\AnyValuesToken; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Prediction\NoCallsException; - -/** - * Call prediction. - * - * @author Konstantin Kudryashov - */ -class CallPrediction implements PredictionInterface -{ - private $util; - - /** - * Initializes prediction. - * - * @param StringUtil $util - */ - public function __construct(StringUtil $util = null) - { - $this->util = $util ?: new StringUtil; - } - - /** - * Tests that there was at least one call. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws \Prophecy\Exception\Prediction\NoCallsException - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method) - { - if (count($calls)) { - return; - } - - $methodCalls = $object->findProphecyMethodCalls( - $method->getMethodName(), - new ArgumentsWildcard(array(new AnyValuesToken)) - ); - - if (count($methodCalls)) { - throw new NoCallsException(sprintf( - "No calls have been made that match:\n". - " %s->%s(%s)\n". - "but expected at least one.\n". - "Recorded `%s(...)` calls:\n%s", - - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard(), - $method->getMethodName(), - $this->util->stringifyCalls($methodCalls) - ), $method); - } - - throw new NoCallsException(sprintf( - "No calls have been made that match:\n". - " %s->%s(%s)\n". - "but expected at least one.", - - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard() - ), $method); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php deleted file mode 100644 index 31c6c575..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php +++ /dev/null @@ -1,107 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Argument\ArgumentsWildcard; -use Prophecy\Argument\Token\AnyValuesToken; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Prediction\UnexpectedCallsCountException; - -/** - * Prediction interface. - * Predictions are logical test blocks, tied to `should...` keyword. - * - * @author Konstantin Kudryashov - */ -class CallTimesPrediction implements PredictionInterface -{ - private $times; - private $util; - - /** - * Initializes prediction. - * - * @param int $times - * @param StringUtil $util - */ - public function __construct($times, StringUtil $util = null) - { - $this->times = intval($times); - $this->util = $util ?: new StringUtil; - } - - /** - * Tests that there was exact amount of calls made. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws \Prophecy\Exception\Prediction\UnexpectedCallsCountException - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method) - { - if ($this->times == count($calls)) { - return; - } - - $methodCalls = $object->findProphecyMethodCalls( - $method->getMethodName(), - new ArgumentsWildcard(array(new AnyValuesToken)) - ); - - if (count($calls)) { - $message = sprintf( - "Expected exactly %d calls that match:\n". - " %s->%s(%s)\n". - "but %d were made:\n%s", - - $this->times, - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard(), - count($calls), - $this->util->stringifyCalls($calls) - ); - } elseif (count($methodCalls)) { - $message = sprintf( - "Expected exactly %d calls that match:\n". - " %s->%s(%s)\n". - "but none were made.\n". - "Recorded `%s(...)` calls:\n%s", - - $this->times, - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard(), - $method->getMethodName(), - $this->util->stringifyCalls($methodCalls) - ); - } else { - $message = sprintf( - "Expected exactly %d calls that match:\n". - " %s->%s(%s)\n". - "but none were made.", - - $this->times, - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard() - ); - } - - throw new UnexpectedCallsCountException($message, $method, $this->times, $calls); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php deleted file mode 100644 index 44bc782c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php +++ /dev/null @@ -1,65 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Exception\InvalidArgumentException; -use Closure; - -/** - * Callback prediction. - * - * @author Konstantin Kudryashov - */ -class CallbackPrediction implements PredictionInterface -{ - private $callback; - - /** - * Initializes callback prediction. - * - * @param callable $callback Custom callback - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($callback) - { - if (!is_callable($callback)) { - throw new InvalidArgumentException(sprintf( - 'Callable expected as an argument to CallbackPrediction, but got %s.', - gettype($callback) - )); - } - - $this->callback = $callback; - } - - /** - * Executes preset callback. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method) - { - $callback = $this->callback; - - if ($callback instanceof Closure && method_exists('Closure', 'bind')) { - $callback = Closure::bind($callback, $object); - } - - call_user_func($callback, $calls, $object, $method); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php deleted file mode 100644 index 46ac5bfc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php +++ /dev/null @@ -1,68 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Prediction\UnexpectedCallsException; - -/** - * No calls prediction. - * - * @author Konstantin Kudryashov - */ -class NoCallsPrediction implements PredictionInterface -{ - private $util; - - /** - * Initializes prediction. - * - * @param null|StringUtil $util - */ - public function __construct(StringUtil $util = null) - { - $this->util = $util ?: new StringUtil; - } - - /** - * Tests that there were no calls made. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws \Prophecy\Exception\Prediction\UnexpectedCallsException - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method) - { - if (!count($calls)) { - return; - } - - $verb = count($calls) === 1 ? 'was' : 'were'; - - throw new UnexpectedCallsException(sprintf( - "No calls expected that match:\n". - " %s->%s(%s)\n". - "but %d %s made:\n%s", - get_class($object->reveal()), - $method->getMethodName(), - $method->getArgumentsWildcard(), - count($calls), - $verb, - $this->util->stringifyCalls($calls) - ), $method, $calls); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php deleted file mode 100644 index f7fb06a9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php +++ /dev/null @@ -1,37 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prediction; - -use Prophecy\Call\Call; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; - -/** - * Prediction interface. - * Predictions are logical test blocks, tied to `should...` keyword. - * - * @author Konstantin Kudryashov - */ -interface PredictionInterface -{ - /** - * Tests that double fulfilled prediction. - * - * @param Call[] $calls - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws object - * @return void - */ - public function check(array $calls, ObjectProphecy $object, MethodProphecy $method); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php deleted file mode 100644 index 5f406bf7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php +++ /dev/null @@ -1,66 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Exception\InvalidArgumentException; -use Closure; - -/** - * Callback promise. - * - * @author Konstantin Kudryashov - */ -class CallbackPromise implements PromiseInterface -{ - private $callback; - - /** - * Initializes callback promise. - * - * @param callable $callback Custom callback - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($callback) - { - if (!is_callable($callback)) { - throw new InvalidArgumentException(sprintf( - 'Callable expected as an argument to CallbackPromise, but got %s.', - gettype($callback) - )); - } - - $this->callback = $callback; - } - - /** - * Evaluates promise callback. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @return mixed - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method) - { - $callback = $this->callback; - - if ($callback instanceof Closure && method_exists('Closure', 'bind')) { - $callback = Closure::bind($callback, $object); - } - - return call_user_func($callback, $args, $object, $method); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php deleted file mode 100644 index 382537b4..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php +++ /dev/null @@ -1,35 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; - -/** - * Promise interface. - * Promises are logical blocks, tied to `will...` keyword. - * - * @author Konstantin Kudryashov - */ -interface PromiseInterface -{ - /** - * Evaluates promise. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @return mixed - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php deleted file mode 100644 index 39bfeea0..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php +++ /dev/null @@ -1,61 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Prophecy\Exception\InvalidArgumentException; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; - -/** - * Return argument promise. - * - * @author Konstantin Kudryashov - */ -class ReturnArgumentPromise implements PromiseInterface -{ - /** - * @var int - */ - private $index; - - /** - * Initializes callback promise. - * - * @param int $index The zero-indexed number of the argument to return - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($index = 0) - { - if (!is_int($index) || $index < 0) { - throw new InvalidArgumentException(sprintf( - 'Zero-based index expected as argument to ReturnArgumentPromise, but got %s.', - $index - )); - } - $this->index = $index; - } - - /** - * Returns nth argument if has one, null otherwise. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @return null|mixed - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method) - { - return count($args) > $this->index ? $args[$this->index] : null; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php deleted file mode 100644 index c7d5ac59..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php +++ /dev/null @@ -1,55 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; - -/** - * Return promise. - * - * @author Konstantin Kudryashov - */ -class ReturnPromise implements PromiseInterface -{ - private $returnValues = array(); - - /** - * Initializes promise. - * - * @param array $returnValues Array of values - */ - public function __construct(array $returnValues) - { - $this->returnValues = $returnValues; - } - - /** - * Returns saved values one by one until last one, then continuously returns last value. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @return mixed - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method) - { - $value = array_shift($this->returnValues); - - if (!count($this->returnValues)) { - $this->returnValues[] = $value; - } - - return $value; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php deleted file mode 100644 index 7250fa3c..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php +++ /dev/null @@ -1,99 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Promise; - -use Doctrine\Instantiator\Instantiator; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\MethodProphecy; -use Prophecy\Exception\InvalidArgumentException; -use ReflectionClass; - -/** - * Throw promise. - * - * @author Konstantin Kudryashov - */ -class ThrowPromise implements PromiseInterface -{ - private $exception; - - /** - * @var \Doctrine\Instantiator\Instantiator - */ - private $instantiator; - - /** - * Initializes promise. - * - * @param string|\Exception|\Throwable $exception Exception class name or instance - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function __construct($exception) - { - if (is_string($exception)) { - if (!class_exists($exception) || !$this->isAValidThrowable($exception)) { - throw new InvalidArgumentException(sprintf( - 'Exception / Throwable class or instance expected as argument to ThrowPromise, but got %s.', - $exception - )); - } - } elseif (!$exception instanceof \Exception && !$exception instanceof \Throwable) { - throw new InvalidArgumentException(sprintf( - 'Exception / Throwable class or instance expected as argument to ThrowPromise, but got %s.', - is_object($exception) ? get_class($exception) : gettype($exception) - )); - } - - $this->exception = $exception; - } - - /** - * Throws predefined exception. - * - * @param array $args - * @param ObjectProphecy $object - * @param MethodProphecy $method - * - * @throws object - */ - public function execute(array $args, ObjectProphecy $object, MethodProphecy $method) - { - if (is_string($this->exception)) { - $classname = $this->exception; - $reflection = new ReflectionClass($classname); - $constructor = $reflection->getConstructor(); - - if ($constructor->isPublic() && 0 == $constructor->getNumberOfRequiredParameters()) { - throw $reflection->newInstance(); - } - - if (!$this->instantiator) { - $this->instantiator = new Instantiator(); - } - - throw $this->instantiator->instantiate($classname); - } - - throw $this->exception; - } - - /** - * @param string $exception - * - * @return bool - */ - private function isAValidThrowable($exception) - { - return is_a($exception, 'Exception', true) || is_subclass_of($exception, 'Throwable', true); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php deleted file mode 100644 index 5c0ede9a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php +++ /dev/null @@ -1,464 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -use Prophecy\Argument; -use Prophecy\Prophet; -use Prophecy\Promise; -use Prophecy\Prediction; -use Prophecy\Exception\Doubler\MethodNotFoundException; -use Prophecy\Exception\InvalidArgumentException; -use Prophecy\Exception\Prophecy\MethodProphecyException; - -/** - * Method prophecy. - * - * @author Konstantin Kudryashov - */ -class MethodProphecy -{ - private $objectProphecy; - private $methodName; - private $argumentsWildcard; - private $promise; - private $prediction; - private $checkedPredictions = array(); - private $bound = false; - private $voidReturnType = false; - - /** - * Initializes method prophecy. - * - * @param ObjectProphecy $objectProphecy - * @param string $methodName - * @param null|Argument\ArgumentsWildcard|array $arguments - * - * @throws \Prophecy\Exception\Doubler\MethodNotFoundException If method not found - */ - public function __construct(ObjectProphecy $objectProphecy, $methodName, $arguments = null) - { - $double = $objectProphecy->reveal(); - if (!method_exists($double, $methodName)) { - throw new MethodNotFoundException(sprintf( - 'Method `%s::%s()` is not defined.', get_class($double), $methodName - ), get_class($double), $methodName, $arguments); - } - - $this->objectProphecy = $objectProphecy; - $this->methodName = $methodName; - - $reflectedMethod = new \ReflectionMethod($double, $methodName); - if ($reflectedMethod->isFinal()) { - throw new MethodProphecyException(sprintf( - "Can not add prophecy for a method `%s::%s()`\n". - "as it is a final method.", - get_class($double), - $methodName - ), $this); - } - - if (null !== $arguments) { - $this->withArguments($arguments); - } - - if (version_compare(PHP_VERSION, '7.0', '>=') && true === $reflectedMethod->hasReturnType()) { - $type = (string) $reflectedMethod->getReturnType(); - - if ('void' === $type) { - $this->voidReturnType = true; - return; - } - - $this->will(function () use ($type) { - switch ($type) { - case 'string': return ''; - case 'float': return 0.0; - case 'int': return 0; - case 'bool': return false; - case 'array': return array(); - - case 'callable': - case 'Closure': - return function () {}; - - case 'Traversable': - case 'Generator': - // Remove eval() when minimum version >=5.5 - /** @var callable $generator */ - $generator = eval('return function () { yield; };'); - return $generator(); - - default: - $prophet = new Prophet; - return $prophet->prophesize($type)->reveal(); - } - }); - } - } - - /** - * Sets argument wildcard. - * - * @param array|Argument\ArgumentsWildcard $arguments - * - * @return $this - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function withArguments($arguments) - { - if (is_array($arguments)) { - $arguments = new Argument\ArgumentsWildcard($arguments); - } - - if (!$arguments instanceof Argument\ArgumentsWildcard) { - throw new InvalidArgumentException(sprintf( - "Either an array or an instance of ArgumentsWildcard expected as\n". - 'a `MethodProphecy::withArguments()` argument, but got %s.', - gettype($arguments) - )); - } - - $this->argumentsWildcard = $arguments; - - return $this; - } - - /** - * Sets custom promise to the prophecy. - * - * @param callable|Promise\PromiseInterface $promise - * - * @return $this - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function will($promise) - { - if (is_callable($promise)) { - $promise = new Promise\CallbackPromise($promise); - } - - if (!$promise instanceof Promise\PromiseInterface) { - throw new InvalidArgumentException(sprintf( - 'Expected callable or instance of PromiseInterface, but got %s.', - gettype($promise) - )); - } - - $this->bindToObjectProphecy(); - $this->promise = $promise; - - return $this; - } - - /** - * Sets return promise to the prophecy. - * - * @see Prophecy\Promise\ReturnPromise - * - * @return $this - */ - public function willReturn() - { - if ($this->voidReturnType) { - throw new MethodProphecyException( - "The method \"$this->methodName\" has a void return type, and so cannot return anything", - $this - ); - } - - return $this->will(new Promise\ReturnPromise(func_get_args())); - } - - /** - * Sets return argument promise to the prophecy. - * - * @param int $index The zero-indexed number of the argument to return - * - * @see Prophecy\Promise\ReturnArgumentPromise - * - * @return $this - */ - public function willReturnArgument($index = 0) - { - if ($this->voidReturnType) { - throw new MethodProphecyException("The method \"$this->methodName\" has a void return type", $this); - } - - return $this->will(new Promise\ReturnArgumentPromise($index)); - } - - /** - * Sets throw promise to the prophecy. - * - * @see Prophecy\Promise\ThrowPromise - * - * @param string|\Exception $exception Exception class or instance - * - * @return $this - */ - public function willThrow($exception) - { - return $this->will(new Promise\ThrowPromise($exception)); - } - - /** - * Sets custom prediction to the prophecy. - * - * @param callable|Prediction\PredictionInterface $prediction - * - * @return $this - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function should($prediction) - { - if (is_callable($prediction)) { - $prediction = new Prediction\CallbackPrediction($prediction); - } - - if (!$prediction instanceof Prediction\PredictionInterface) { - throw new InvalidArgumentException(sprintf( - 'Expected callable or instance of PredictionInterface, but got %s.', - gettype($prediction) - )); - } - - $this->bindToObjectProphecy(); - $this->prediction = $prediction; - - return $this; - } - - /** - * Sets call prediction to the prophecy. - * - * @see Prophecy\Prediction\CallPrediction - * - * @return $this - */ - public function shouldBeCalled() - { - return $this->should(new Prediction\CallPrediction); - } - - /** - * Sets no calls prediction to the prophecy. - * - * @see Prophecy\Prediction\NoCallsPrediction - * - * @return $this - */ - public function shouldNotBeCalled() - { - return $this->should(new Prediction\NoCallsPrediction); - } - - /** - * Sets call times prediction to the prophecy. - * - * @see Prophecy\Prediction\CallTimesPrediction - * - * @param $count - * - * @return $this - */ - public function shouldBeCalledTimes($count) - { - return $this->should(new Prediction\CallTimesPrediction($count)); - } - - /** - * Checks provided prediction immediately. - * - * @param callable|Prediction\PredictionInterface $prediction - * - * @return $this - * - * @throws \Prophecy\Exception\InvalidArgumentException - */ - public function shouldHave($prediction) - { - if (is_callable($prediction)) { - $prediction = new Prediction\CallbackPrediction($prediction); - } - - if (!$prediction instanceof Prediction\PredictionInterface) { - throw new InvalidArgumentException(sprintf( - 'Expected callable or instance of PredictionInterface, but got %s.', - gettype($prediction) - )); - } - - if (null === $this->promise && !$this->voidReturnType) { - $this->willReturn(); - } - - $calls = $this->getObjectProphecy()->findProphecyMethodCalls( - $this->getMethodName(), - $this->getArgumentsWildcard() - ); - - try { - $prediction->check($calls, $this->getObjectProphecy(), $this); - $this->checkedPredictions[] = $prediction; - } catch (\Exception $e) { - $this->checkedPredictions[] = $prediction; - - throw $e; - } - - return $this; - } - - /** - * Checks call prediction. - * - * @see Prophecy\Prediction\CallPrediction - * - * @return $this - */ - public function shouldHaveBeenCalled() - { - return $this->shouldHave(new Prediction\CallPrediction); - } - - /** - * Checks no calls prediction. - * - * @see Prophecy\Prediction\NoCallsPrediction - * - * @return $this - */ - public function shouldNotHaveBeenCalled() - { - return $this->shouldHave(new Prediction\NoCallsPrediction); - } - - /** - * Checks no calls prediction. - * - * @see Prophecy\Prediction\NoCallsPrediction - * @deprecated - * - * @return $this - */ - public function shouldNotBeenCalled() - { - return $this->shouldNotHaveBeenCalled(); - } - - /** - * Checks call times prediction. - * - * @see Prophecy\Prediction\CallTimesPrediction - * - * @param int $count - * - * @return $this - */ - public function shouldHaveBeenCalledTimes($count) - { - return $this->shouldHave(new Prediction\CallTimesPrediction($count)); - } - - /** - * Checks currently registered [with should(...)] prediction. - */ - public function checkPrediction() - { - if (null === $this->prediction) { - return; - } - - $this->shouldHave($this->prediction); - } - - /** - * Returns currently registered promise. - * - * @return null|Promise\PromiseInterface - */ - public function getPromise() - { - return $this->promise; - } - - /** - * Returns currently registered prediction. - * - * @return null|Prediction\PredictionInterface - */ - public function getPrediction() - { - return $this->prediction; - } - - /** - * Returns predictions that were checked on this object. - * - * @return Prediction\PredictionInterface[] - */ - public function getCheckedPredictions() - { - return $this->checkedPredictions; - } - - /** - * Returns object prophecy this method prophecy is tied to. - * - * @return ObjectProphecy - */ - public function getObjectProphecy() - { - return $this->objectProphecy; - } - - /** - * Returns method name. - * - * @return string - */ - public function getMethodName() - { - return $this->methodName; - } - - /** - * Returns arguments wildcard. - * - * @return Argument\ArgumentsWildcard - */ - public function getArgumentsWildcard() - { - return $this->argumentsWildcard; - } - - /** - * @return bool - */ - public function hasReturnVoid() - { - return $this->voidReturnType; - } - - private function bindToObjectProphecy() - { - if ($this->bound) { - return; - } - - $this->getObjectProphecy()->addMethodProphecy($this); - $this->bound = true; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php deleted file mode 100644 index 8d8f8a1b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php +++ /dev/null @@ -1,281 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -use SebastianBergmann\Comparator\ComparisonFailure; -use Prophecy\Comparator\Factory as ComparatorFactory; -use Prophecy\Call\Call; -use Prophecy\Doubler\LazyDouble; -use Prophecy\Argument\ArgumentsWildcard; -use Prophecy\Call\CallCenter; -use Prophecy\Exception\Prophecy\ObjectProphecyException; -use Prophecy\Exception\Prophecy\MethodProphecyException; -use Prophecy\Exception\Prediction\AggregateException; -use Prophecy\Exception\Prediction\PredictionException; - -/** - * Object prophecy. - * - * @author Konstantin Kudryashov - */ -class ObjectProphecy implements ProphecyInterface -{ - private $lazyDouble; - private $callCenter; - private $revealer; - private $comparatorFactory; - - /** - * @var MethodProphecy[][] - */ - private $methodProphecies = array(); - - /** - * Initializes object prophecy. - * - * @param LazyDouble $lazyDouble - * @param CallCenter $callCenter - * @param RevealerInterface $revealer - * @param ComparatorFactory $comparatorFactory - */ - public function __construct( - LazyDouble $lazyDouble, - CallCenter $callCenter = null, - RevealerInterface $revealer = null, - ComparatorFactory $comparatorFactory = null - ) { - $this->lazyDouble = $lazyDouble; - $this->callCenter = $callCenter ?: new CallCenter; - $this->revealer = $revealer ?: new Revealer; - - $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance(); - } - - /** - * Forces double to extend specific class. - * - * @param string $class - * - * @return $this - */ - public function willExtend($class) - { - $this->lazyDouble->setParentClass($class); - - return $this; - } - - /** - * Forces double to implement specific interface. - * - * @param string $interface - * - * @return $this - */ - public function willImplement($interface) - { - $this->lazyDouble->addInterface($interface); - - return $this; - } - - /** - * Sets constructor arguments. - * - * @param array $arguments - * - * @return $this - */ - public function willBeConstructedWith(array $arguments = null) - { - $this->lazyDouble->setArguments($arguments); - - return $this; - } - - /** - * Reveals double. - * - * @return object - * - * @throws \Prophecy\Exception\Prophecy\ObjectProphecyException If double doesn't implement needed interface - */ - public function reveal() - { - $double = $this->lazyDouble->getInstance(); - - if (null === $double || !$double instanceof ProphecySubjectInterface) { - throw new ObjectProphecyException( - "Generated double must implement ProphecySubjectInterface, but it does not.\n". - 'It seems you have wrongly configured doubler without required ClassPatch.', - $this - ); - } - - $double->setProphecy($this); - - return $double; - } - - /** - * Adds method prophecy to object prophecy. - * - * @param MethodProphecy $methodProphecy - * - * @throws \Prophecy\Exception\Prophecy\MethodProphecyException If method prophecy doesn't - * have arguments wildcard - */ - public function addMethodProphecy(MethodProphecy $methodProphecy) - { - $argumentsWildcard = $methodProphecy->getArgumentsWildcard(); - if (null === $argumentsWildcard) { - throw new MethodProphecyException(sprintf( - "Can not add prophecy for a method `%s::%s()`\n". - "as you did not specify arguments wildcard for it.", - get_class($this->reveal()), - $methodProphecy->getMethodName() - ), $methodProphecy); - } - - $methodName = $methodProphecy->getMethodName(); - - if (!isset($this->methodProphecies[$methodName])) { - $this->methodProphecies[$methodName] = array(); - } - - $this->methodProphecies[$methodName][] = $methodProphecy; - } - - /** - * Returns either all or related to single method prophecies. - * - * @param null|string $methodName - * - * @return MethodProphecy[] - */ - public function getMethodProphecies($methodName = null) - { - if (null === $methodName) { - return $this->methodProphecies; - } - - if (!isset($this->methodProphecies[$methodName])) { - return array(); - } - - return $this->methodProphecies[$methodName]; - } - - /** - * Makes specific method call. - * - * @param string $methodName - * @param array $arguments - * - * @return mixed - */ - public function makeProphecyMethodCall($methodName, array $arguments) - { - $arguments = $this->revealer->reveal($arguments); - $return = $this->callCenter->makeCall($this, $methodName, $arguments); - - return $this->revealer->reveal($return); - } - - /** - * Finds calls by method name & arguments wildcard. - * - * @param string $methodName - * @param ArgumentsWildcard $wildcard - * - * @return Call[] - */ - public function findProphecyMethodCalls($methodName, ArgumentsWildcard $wildcard) - { - return $this->callCenter->findCalls($methodName, $wildcard); - } - - /** - * Checks that registered method predictions do not fail. - * - * @throws \Prophecy\Exception\Prediction\AggregateException If any of registered predictions fail - */ - public function checkProphecyMethodsPredictions() - { - $exception = new AggregateException(sprintf("%s:\n", get_class($this->reveal()))); - $exception->setObjectProphecy($this); - - foreach ($this->methodProphecies as $prophecies) { - foreach ($prophecies as $prophecy) { - try { - $prophecy->checkPrediction(); - } catch (PredictionException $e) { - $exception->append($e); - } - } - } - - if (count($exception->getExceptions())) { - throw $exception; - } - } - - /** - * Creates new method prophecy using specified method name and arguments. - * - * @param string $methodName - * @param array $arguments - * - * @return MethodProphecy - */ - public function __call($methodName, array $arguments) - { - $arguments = new ArgumentsWildcard($this->revealer->reveal($arguments)); - - foreach ($this->getMethodProphecies($methodName) as $prophecy) { - $argumentsWildcard = $prophecy->getArgumentsWildcard(); - $comparator = $this->comparatorFactory->getComparatorFor( - $argumentsWildcard, $arguments - ); - - try { - $comparator->assertEquals($argumentsWildcard, $arguments); - return $prophecy; - } catch (ComparisonFailure $failure) {} - } - - return new MethodProphecy($this, $methodName, $arguments); - } - - /** - * Tries to get property value from double. - * - * @param string $name - * - * @return mixed - */ - public function __get($name) - { - return $this->reveal()->$name; - } - - /** - * Tries to set property value to double. - * - * @param string $name - * @param mixed $value - */ - public function __set($name, $value) - { - $this->reveal()->$name = $this->revealer->reveal($value); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php deleted file mode 100644 index 462f15a9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php +++ /dev/null @@ -1,27 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -/** - * Core Prophecy interface. - * - * @author Konstantin Kudryashov - */ -interface ProphecyInterface -{ - /** - * Reveals prophecy object (double) . - * - * @return object - */ - public function reveal(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php deleted file mode 100644 index 2d839585..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php +++ /dev/null @@ -1,34 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -/** - * Controllable doubles interface. - * - * @author Konstantin Kudryashov - */ -interface ProphecySubjectInterface -{ - /** - * Sets subject prophecy. - * - * @param ProphecyInterface $prophecy - */ - public function setProphecy(ProphecyInterface $prophecy); - - /** - * Returns subject prophecy. - * - * @return ProphecyInterface - */ - public function getProphecy(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php deleted file mode 100644 index 60ecdac8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php +++ /dev/null @@ -1,44 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -/** - * Basic prophecies revealer. - * - * @author Konstantin Kudryashov - */ -class Revealer implements RevealerInterface -{ - /** - * Unwraps value(s). - * - * @param mixed $value - * - * @return mixed - */ - public function reveal($value) - { - if (is_array($value)) { - return array_map(array($this, __FUNCTION__), $value); - } - - if (!is_object($value)) { - return $value; - } - - if ($value instanceof ProphecyInterface) { - $value = $value->reveal(); - } - - return $value; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php deleted file mode 100644 index ffc82bb6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Prophecy; - -/** - * Prophecies revealer interface. - * - * @author Konstantin Kudryashov - */ -interface RevealerInterface -{ - /** - * Unwraps value(s). - * - * @param mixed $value - * - * @return mixed - */ - public function reveal($value); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophet.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophet.php deleted file mode 100644 index ac649234..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Prophet.php +++ /dev/null @@ -1,134 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy; - -use Prophecy\Doubler\Doubler; -use Prophecy\Doubler\LazyDouble; -use Prophecy\Doubler\ClassPatch; -use Prophecy\Prophecy\ObjectProphecy; -use Prophecy\Prophecy\RevealerInterface; -use Prophecy\Prophecy\Revealer; -use Prophecy\Call\CallCenter; -use Prophecy\Util\StringUtil; -use Prophecy\Exception\Prediction\PredictionException; -use Prophecy\Exception\Prediction\AggregateException; - -/** - * Prophet creates prophecies. - * - * @author Konstantin Kudryashov - */ -class Prophet -{ - private $doubler; - private $revealer; - private $util; - - /** - * @var ObjectProphecy[] - */ - private $prophecies = array(); - - /** - * Initializes Prophet. - * - * @param null|Doubler $doubler - * @param null|RevealerInterface $revealer - * @param null|StringUtil $util - */ - public function __construct(Doubler $doubler = null, RevealerInterface $revealer = null, - StringUtil $util = null) - { - if (null === $doubler) { - $doubler = new Doubler; - $doubler->registerClassPatch(new ClassPatch\SplFileInfoPatch); - $doubler->registerClassPatch(new ClassPatch\TraversablePatch); - $doubler->registerClassPatch(new ClassPatch\DisableConstructorPatch); - $doubler->registerClassPatch(new ClassPatch\ProphecySubjectPatch); - $doubler->registerClassPatch(new ClassPatch\ReflectionClassNewInstancePatch); - $doubler->registerClassPatch(new ClassPatch\HhvmExceptionPatch()); - $doubler->registerClassPatch(new ClassPatch\MagicCallPatch); - $doubler->registerClassPatch(new ClassPatch\KeywordPatch); - } - - $this->doubler = $doubler; - $this->revealer = $revealer ?: new Revealer; - $this->util = $util ?: new StringUtil; - } - - /** - * Creates new object prophecy. - * - * @param null|string $classOrInterface Class or interface name - * - * @return ObjectProphecy - */ - public function prophesize($classOrInterface = null) - { - $this->prophecies[] = $prophecy = new ObjectProphecy( - new LazyDouble($this->doubler), - new CallCenter($this->util), - $this->revealer - ); - - if ($classOrInterface && class_exists($classOrInterface)) { - return $prophecy->willExtend($classOrInterface); - } - - if ($classOrInterface && interface_exists($classOrInterface)) { - return $prophecy->willImplement($classOrInterface); - } - - return $prophecy; - } - - /** - * Returns all created object prophecies. - * - * @return ObjectProphecy[] - */ - public function getProphecies() - { - return $this->prophecies; - } - - /** - * Returns Doubler instance assigned to this Prophet. - * - * @return Doubler - */ - public function getDoubler() - { - return $this->doubler; - } - - /** - * Checks all predictions defined by prophecies of this Prophet. - * - * @throws Exception\Prediction\AggregateException If any prediction fails - */ - public function checkPredictions() - { - $exception = new AggregateException("Some predictions failed:\n"); - foreach ($this->prophecies as $prophecy) { - try { - $prophecy->checkProphecyMethodsPredictions(); - } catch (PredictionException $e) { - $exception->append($e); - } - } - - if (count($exception->getExceptions())) { - throw $exception; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php deleted file mode 100644 index 50dd3f32..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php +++ /dev/null @@ -1,212 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * This class is a modification from sebastianbergmann/exporter - * @see https://github.com/sebastianbergmann/exporter - */ -class ExportUtil -{ - /** - * Exports a value as a string - * - * The output of this method is similar to the output of print_r(), but - * improved in various aspects: - * - * - NULL is rendered as "null" (instead of "") - * - TRUE is rendered as "true" (instead of "1") - * - FALSE is rendered as "false" (instead of "") - * - Strings are always quoted with single quotes - * - Carriage returns and newlines are normalized to \n - * - Recursion and repeated rendering is treated properly - * - * @param mixed $value - * @param int $indentation The indentation level of the 2nd+ line - * @return string - */ - public static function export($value, $indentation = 0) - { - return self::recursiveExport($value, $indentation); - } - - /** - * Converts an object to an array containing all of its private, protected - * and public properties. - * - * @param mixed $value - * @return array - */ - public static function toArray($value) - { - if (!is_object($value)) { - return (array) $value; - } - - $array = array(); - - foreach ((array) $value as $key => $val) { - // properties are transformed to keys in the following way: - // private $property => "\0Classname\0property" - // protected $property => "\0*\0property" - // public $property => "property" - if (preg_match('/^\0.+\0(.+)$/', $key, $matches)) { - $key = $matches[1]; - } - - // See https://github.com/php/php-src/commit/5721132 - if ($key === "\0gcdata") { - continue; - } - - $array[$key] = $val; - } - - // Some internal classes like SplObjectStorage don't work with the - // above (fast) mechanism nor with reflection in Zend. - // Format the output similarly to print_r() in this case - if ($value instanceof \SplObjectStorage) { - // However, the fast method does work in HHVM, and exposes the - // internal implementation. Hide it again. - if (property_exists('\SplObjectStorage', '__storage')) { - unset($array['__storage']); - } elseif (property_exists('\SplObjectStorage', 'storage')) { - unset($array['storage']); - } - - if (property_exists('\SplObjectStorage', '__key')) { - unset($array['__key']); - } - - foreach ($value as $key => $val) { - $array[spl_object_hash($val)] = array( - 'obj' => $val, - 'inf' => $value->getInfo(), - ); - } - } - - return $array; - } - - /** - * Recursive implementation of export - * - * @param mixed $value The value to export - * @param int $indentation The indentation level of the 2nd+ line - * @param \SebastianBergmann\RecursionContext\Context $processed Previously processed objects - * @return string - * @see SebastianBergmann\Exporter\Exporter::export - */ - protected static function recursiveExport(&$value, $indentation, $processed = null) - { - if ($value === null) { - return 'null'; - } - - if ($value === true) { - return 'true'; - } - - if ($value === false) { - return 'false'; - } - - if (is_float($value) && floatval(intval($value)) === $value) { - return "$value.0"; - } - - if (is_resource($value)) { - return sprintf( - 'resource(%d) of type (%s)', - $value, - get_resource_type($value) - ); - } - - if (is_string($value)) { - // Match for most non printable chars somewhat taking multibyte chars into account - if (preg_match('/[^\x09-\x0d\x20-\xff]/', $value)) { - return 'Binary String: 0x' . bin2hex($value); - } - - return "'" . - str_replace(array("\r\n", "\n\r", "\r"), array("\n", "\n", "\n"), $value) . - "'"; - } - - $whitespace = str_repeat(' ', 4 * $indentation); - - if (!$processed) { - $processed = new Context; - } - - if (is_array($value)) { - if (($key = $processed->contains($value)) !== false) { - return 'Array &' . $key; - } - - $array = $value; - $key = $processed->add($value); - $values = ''; - - if (count($array) > 0) { - foreach ($array as $k => $v) { - $values .= sprintf( - '%s %s => %s' . "\n", - $whitespace, - self::recursiveExport($k, $indentation), - self::recursiveExport($value[$k], $indentation + 1, $processed) - ); - } - - $values = "\n" . $values . $whitespace; - } - - return sprintf('Array &%s (%s)', $key, $values); - } - - if (is_object($value)) { - $class = get_class($value); - - if ($value instanceof ProphecyInterface) { - return sprintf('%s Object (*Prophecy*)', $class); - } elseif ($hash = $processed->contains($value)) { - return sprintf('%s:%s Object', $class, $hash); - } - - $hash = $processed->add($value); - $values = ''; - $array = self::toArray($value); - - if (count($array) > 0) { - foreach ($array as $k => $v) { - $values .= sprintf( - '%s %s => %s' . "\n", - $whitespace, - self::recursiveExport($k, $indentation), - self::recursiveExport($v, $indentation + 1, $processed) - ); - } - - $values = "\n" . $values . $whitespace; - } - - return sprintf('%s:%s Object (%s)', $class, $hash, $values); - } - - return var_export($value, true); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php deleted file mode 100644 index bb90156a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php +++ /dev/null @@ -1,89 +0,0 @@ - - * Marcello Duarte - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Prophecy\Util; - -use Prophecy\Call\Call; - -/** - * String utility. - * - * @author Konstantin Kudryashov - */ -class StringUtil -{ - /** - * Stringifies any provided value. - * - * @param mixed $value - * @param boolean $exportObject - * - * @return string - */ - public function stringify($value, $exportObject = true) - { - if (is_array($value)) { - if (range(0, count($value) - 1) === array_keys($value)) { - return '['.implode(', ', array_map(array($this, __FUNCTION__), $value)).']'; - } - - $stringify = array($this, __FUNCTION__); - - return '['.implode(', ', array_map(function ($item, $key) use ($stringify) { - return (is_integer($key) ? $key : '"'.$key.'"'). - ' => '.call_user_func($stringify, $item); - }, $value, array_keys($value))).']'; - } - if (is_resource($value)) { - return get_resource_type($value).':'.$value; - } - if (is_object($value)) { - return $exportObject ? ExportUtil::export($value) : sprintf('%s:%s', get_class($value), spl_object_hash($value)); - } - if (true === $value || false === $value) { - return $value ? 'true' : 'false'; - } - if (is_string($value)) { - $str = sprintf('"%s"', str_replace("\n", '\\n', $value)); - - if (50 <= strlen($str)) { - return substr($str, 0, 50).'"...'; - } - - return $str; - } - if (null === $value) { - return 'null'; - } - - return (string) $value; - } - - /** - * Stringifies provided array of calls. - * - * @param Call[] $calls Array of Call instances - * - * @return string - */ - public function stringifyCalls(array $calls) - { - $self = $this; - - return implode(PHP_EOL, array_map(function (Call $call) use ($self) { - return sprintf(' - %s(%s) @ %s', - $call->getMethodName(), - implode(', ', array_map(array($self, 'stringify'), $call->getArguments())), - str_replace(GETCWD().DIRECTORY_SEPARATOR, '', $call->getCallPlace()) - ); - }, $calls)); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/tests/Doubler/Generator/ClassMirrorTest.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/tests/Doubler/Generator/ClassMirrorTest.php deleted file mode 100644 index 77f3ad8f..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpspec/prophecy/tests/Doubler/Generator/ClassMirrorTest.php +++ /dev/null @@ -1,469 +0,0 @@ -reflect($class, array()); - - $this->assertCount(7, $node->getMethods()); - } - - /** - * @test - */ - public function it_reflects_protected_abstract_methods() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithProtectedAbstractMethod'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - - $this->assertEquals('Fixtures\Prophecy\WithProtectedAbstractMethod', $classNode->getParentClass()); - - $methodNodes = $classNode->getMethods(); - $this->assertCount(1, $methodNodes); - - $this->assertEquals('protected', $methodNodes['innerDetail']->getVisibility()); - } - - /** - * @test - */ - public function it_reflects_public_static_methods() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithStaticMethod'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - - $this->assertEquals('Fixtures\Prophecy\WithStaticMethod', $classNode->getParentClass()); - - $methodNodes = $classNode->getMethods(); - $this->assertCount(1, $methodNodes); - - $this->assertTrue($methodNodes['innerDetail']->isStatic()); - } - - /** - * @test - */ - public function it_marks_required_args_without_types_as_not_optional() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithArguments'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - $methodNode = $classNode->getMethod('methodWithoutTypeHints'); - $argNodes = $methodNode->getArguments(); - - $this->assertCount(1, $argNodes); - - $this->assertEquals('arg', $argNodes[0]->getName()); - $this->assertNull($argNodes[0]->getTypeHint()); - $this->assertFalse($argNodes[0]->isOptional()); - $this->assertNull($argNodes[0]->getDefault()); - $this->assertFalse($argNodes[0]->isPassedByReference()); - $this->assertFalse($argNodes[0]->isVariadic()); - } - - /** - * @test - */ - public function it_properly_reads_methods_arguments_with_types() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithArguments'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - $methodNode = $classNode->getMethod('methodWithArgs'); - $argNodes = $methodNode->getArguments(); - - $this->assertCount(3, $argNodes); - - $this->assertEquals('arg_1', $argNodes[0]->getName()); - $this->assertEquals('array', $argNodes[0]->getTypeHint()); - $this->assertTrue($argNodes[0]->isOptional()); - $this->assertEquals(array(), $argNodes[0]->getDefault()); - $this->assertFalse($argNodes[0]->isPassedByReference()); - $this->assertFalse($argNodes[0]->isVariadic()); - - $this->assertEquals('arg_2', $argNodes[1]->getName()); - $this->assertEquals('ArrayAccess', $argNodes[1]->getTypeHint()); - $this->assertFalse($argNodes[1]->isOptional()); - - $this->assertEquals('arg_3', $argNodes[2]->getName()); - $this->assertEquals('ArrayAccess', $argNodes[2]->getTypeHint()); - $this->assertTrue($argNodes[2]->isOptional()); - $this->assertNull($argNodes[2]->getDefault()); - $this->assertFalse($argNodes[2]->isPassedByReference()); - $this->assertFalse($argNodes[2]->isVariadic()); - } - - /** - * @test - * @requires PHP 5.4 - */ - public function it_properly_reads_methods_arguments_with_callable_types() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithCallableArgument'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - $methodNode = $classNode->getMethod('methodWithArgs'); - $argNodes = $methodNode->getArguments(); - - $this->assertCount(2, $argNodes); - - $this->assertEquals('arg_1', $argNodes[0]->getName()); - $this->assertEquals('callable', $argNodes[0]->getTypeHint()); - $this->assertFalse($argNodes[0]->isOptional()); - $this->assertFalse($argNodes[0]->isPassedByReference()); - $this->assertFalse($argNodes[0]->isVariadic()); - - $this->assertEquals('arg_2', $argNodes[1]->getName()); - $this->assertEquals('callable', $argNodes[1]->getTypeHint()); - $this->assertTrue($argNodes[1]->isOptional()); - $this->assertNull($argNodes[1]->getDefault()); - $this->assertFalse($argNodes[1]->isPassedByReference()); - $this->assertFalse($argNodes[1]->isVariadic()); - } - - /** - * @test - * @requires PHP 5.6 - */ - public function it_properly_reads_methods_variadic_arguments() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithVariadicArgument'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - $methodNode = $classNode->getMethod('methodWithArgs'); - $argNodes = $methodNode->getArguments(); - - $this->assertCount(1, $argNodes); - - $this->assertEquals('args', $argNodes[0]->getName()); - $this->assertNull($argNodes[0]->getTypeHint()); - $this->assertFalse($argNodes[0]->isOptional()); - $this->assertFalse($argNodes[0]->isPassedByReference()); - $this->assertTrue($argNodes[0]->isVariadic()); - } - - /** - * @test - * @requires PHP 5.6 - */ - public function it_properly_reads_methods_typehinted_variadic_arguments() - { - if (defined('HHVM_VERSION_ID')) { - $this->markTestSkipped('HHVM does not support typehints on variadic arguments.'); - } - - $class = new \ReflectionClass('Fixtures\Prophecy\WithTypehintedVariadicArgument'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - $methodNode = $classNode->getMethod('methodWithTypeHintedArgs'); - $argNodes = $methodNode->getArguments(); - - $this->assertCount(1, $argNodes); - - $this->assertEquals('args', $argNodes[0]->getName()); - $this->assertEquals('array', $argNodes[0]->getTypeHint()); - $this->assertFalse($argNodes[0]->isOptional()); - $this->assertFalse($argNodes[0]->isPassedByReference()); - $this->assertTrue($argNodes[0]->isVariadic()); - } - - /** - * @test - */ - public function it_marks_passed_by_reference_args_as_passed_by_reference() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithReferences'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - - $this->assertTrue($classNode->hasMethod('methodWithReferenceArgument')); - - $argNodes = $classNode->getMethod('methodWithReferenceArgument')->getArguments(); - - $this->assertCount(2, $argNodes); - - $this->assertTrue($argNodes[0]->isPassedByReference()); - $this->assertTrue($argNodes[1]->isPassedByReference()); - } - - /** - * @test - */ - public function it_throws_an_exception_if_class_is_final() - { - $class = new \ReflectionClass('Fixtures\Prophecy\FinalClass'); - - $mirror = new ClassMirror(); - - $this->setExpectedException('Prophecy\Exception\Doubler\ClassMirrorException'); - - $mirror->reflect($class, array()); - } - - /** - * @test - */ - public function it_ignores_final_methods() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithFinalMethod'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - - $this->assertCount(0, $classNode->getMethods()); - } - - /** - * @test - */ - public function it_marks_final_methods_as_unextendable() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithFinalMethod'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - - $this->assertCount(1, $classNode->getUnextendableMethods()); - $this->assertFalse($classNode->isExtendable('finalImplementation')); - } - - /** - * @test - */ - public function it_throws_an_exception_if_interface_provided_instead_of_class() - { - $class = new \ReflectionClass('Fixtures\Prophecy\EmptyInterface'); - - $mirror = new ClassMirror(); - - $this->setExpectedException('Prophecy\Exception\InvalidArgumentException'); - - $mirror->reflect($class, array()); - } - - /** - * @test - */ - public function it_reflects_all_interfaces_methods() - { - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect(null, array( - new \ReflectionClass('Fixtures\Prophecy\Named'), - new \ReflectionClass('Fixtures\Prophecy\ModifierInterface'), - )); - - $this->assertEquals('stdClass', $classNode->getParentClass()); - $this->assertEquals(array( - 'Prophecy\Doubler\Generator\ReflectionInterface', - 'Fixtures\Prophecy\ModifierInterface', - 'Fixtures\Prophecy\Named', - ), $classNode->getInterfaces()); - - $this->assertCount(3, $classNode->getMethods()); - $this->assertTrue($classNode->hasMethod('getName')); - $this->assertTrue($classNode->hasMethod('isAbstract')); - $this->assertTrue($classNode->hasMethod('getVisibility')); - } - - /** - * @test - */ - public function it_ignores_virtually_private_methods() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithVirtuallyPrivateMethod'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - - $this->assertCount(2, $classNode->getMethods()); - $this->assertTrue($classNode->hasMethod('isAbstract')); - $this->assertTrue($classNode->hasMethod('__toString')); - $this->assertFalse($classNode->hasMethod('_getName')); - } - - /** - * @test - */ - public function it_does_not_throw_exception_for_virtually_private_finals() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithFinalVirtuallyPrivateMethod'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - - $this->assertCount(0, $classNode->getMethods()); - } - - /** - * @test - * @requires PHP 7 - */ - public function it_reflects_return_typehints() - { - $class = new \ReflectionClass('Fixtures\Prophecy\WithReturnTypehints'); - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class, array()); - - $this->assertCount(3, $classNode->getMethods()); - $this->assertTrue($classNode->hasMethod('getName')); - $this->assertTrue($classNode->hasMethod('getSelf')); - $this->assertTrue($classNode->hasMethod('getParent')); - - $this->assertEquals('string', $classNode->getMethod('getName')->getReturnType()); - $this->assertEquals('\Fixtures\Prophecy\WithReturnTypehints', $classNode->getMethod('getSelf')->getReturnType()); - $this->assertEquals('\Fixtures\Prophecy\EmptyClass', $classNode->getMethod('getParent')->getReturnType()); - } - - /** - * @test - */ - public function it_throws_an_exception_if_class_provided_in_interfaces_list() - { - $class = new \ReflectionClass('Fixtures\Prophecy\EmptyClass'); - - $mirror = new ClassMirror(); - - $this->setExpectedException('InvalidArgumentException'); - - $mirror->reflect(null, array($class)); - } - - /** - * @test - */ - public function it_throws_an_exception_if_not_reflection_provided_as_interface() - { - $mirror = new ClassMirror(); - - $this->setExpectedException('InvalidArgumentException'); - - $mirror->reflect(null, array(null)); - } - - /** - * @test - */ - public function it_doesnt_use_scalar_typehints() - { - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect(new \ReflectionClass('ReflectionMethod'), array()); - $method = $classNode->getMethod('export'); - $arguments = $method->getArguments(); - - $this->assertNull($arguments[0]->getTypeHint()); - $this->assertNull($arguments[1]->getTypeHint()); - $this->assertNull($arguments[2]->getTypeHint()); - } - - /** - * @test - */ - public function it_doesnt_fail_to_typehint_nonexistent_FQCN() - { - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect(new \ReflectionClass('Fixtures\Prophecy\OptionalDepsClass'), array()); - $method = $classNode->getMethod('iHaveAStrangeTypeHintedArg'); - $arguments = $method->getArguments(); - $this->assertEquals('I\Simply\Am\Nonexistent', $arguments[0]->getTypeHint()); - } - - /** - * @test - */ - public function it_doesnt_fail_to_typehint_nonexistent_RQCN() - { - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect(new \ReflectionClass('Fixtures\Prophecy\OptionalDepsClass'), array()); - $method = $classNode->getMethod('iHaveAnEvenStrangerTypeHintedArg'); - $arguments = $method->getArguments(); - $this->assertEquals('I\Simply\Am\Not', $arguments[0]->getTypeHint()); - } - - /** - * @test - */ - function it_changes_argument_names_if_they_are_varying() - { - // Use test doubles in this test, as arguments named ... in the Reflection API can only happen for internal classes - $class = $this->prophesize('ReflectionClass'); - $method = $this->prophesize('ReflectionMethod'); - $parameter = $this->prophesize('ReflectionParameter'); - - $class->getName()->willReturn('Custom\ClassName'); - $class->isInterface()->willReturn(false); - $class->isFinal()->willReturn(false); - $class->getMethods(\ReflectionMethod::IS_PUBLIC)->willReturn(array($method)); - $class->getMethods(\ReflectionMethod::IS_ABSTRACT)->willReturn(array()); - - $method->getParameters()->willReturn(array($parameter)); - $method->getName()->willReturn('methodName'); - $method->isFinal()->willReturn(false); - $method->isProtected()->willReturn(false); - $method->isStatic()->willReturn(false); - $method->returnsReference()->willReturn(false); - - if (version_compare(PHP_VERSION, '7.0', '>=')) { - $method->hasReturnType()->willReturn(false); - } - - $parameter->getName()->willReturn('...'); - $parameter->isDefaultValueAvailable()->willReturn(true); - $parameter->getDefaultValue()->willReturn(null); - $parameter->isPassedByReference()->willReturn(false); - $parameter->getClass()->willReturn($class); - if (version_compare(PHP_VERSION, '5.6', '>=')) { - $parameter->isVariadic()->willReturn(false); - } - - $mirror = new ClassMirror(); - - $classNode = $mirror->reflect($class->reveal(), array()); - - $methodNodes = $classNode->getMethods(); - - $argumentNodes = $methodNodes['methodName']->getArguments(); - $argumentNode = $argumentNodes[0]; - - $this->assertEquals('__dot_dot_dot__', $argumentNode->getName()); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/.gitattributes b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/.gitattributes deleted file mode 100644 index 461090b7..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.php diff=php diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/.travis.yml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/.travis.yml deleted file mode 100644 index ad88a08d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: php - -php: - - 5.3.3 - - 5.3 - - 5.4 - - 5.5 - - 5.6 - -before_script: - - COMPOSER_ROOT_VERSION=dev-master composer install --prefer-source - -script: vendor/bin/phpunit --configuration ./build/travis-ci.xml - -notifications: - email: false - irc: - channels: - - "irc.freenode.org#phpunit" - use_notice: true diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/CONTRIBUTING.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/CONTRIBUTING.md deleted file mode 100644 index 40dbc25e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/CONTRIBUTING.md +++ /dev/null @@ -1,5 +0,0 @@ -Pull Requests for bug fixes should be made against the current release branch (2.0). - -Pull Requests for new features should be made against master. - -For further notes please refer to [https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md) diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md deleted file mode 100644 index 353b6f65..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md +++ /dev/null @@ -1,56 +0,0 @@ -# Changes in PHP_CodeCoverage 2.2 - -All notable changes of the PHP_CodeCoverage 2.2 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [2.2.4] - 2015-10-06 - -### Fixed - -* Fixed [#391](https://github.com/sebastianbergmann/php-code-coverage/pull/391): Missing `` tag - -## [2.2.3] - 2015-09-14 - -### Fixed - -* Fixed [#368](https://github.com/sebastianbergmann/php-code-coverage/pull/368): Blacklists and whitelists are not merged when merging data sets -* Fixed [#370](https://github.com/sebastianbergmann/php-code-coverage/issues/370): Confusing statistics for source file that declares a class without methods -* Fixed [#372](https://github.com/sebastianbergmann/php-code-coverage/pull/372): Nested classes and functions are not handled correctly -* Fixed [#382](https://github.com/sebastianbergmann/php-code-coverage/issues/382): Crap4J report generates incorrect XML logfile - -## [2.2.2] - 2015-08-04 - -### Added - -* Reintroduced the `PHP_CodeCoverage_Driver_HHVM` driver as an extension of `PHP_CodeCoverage_Driver_Xdebug` that does not use `xdebug_start_code_coverage()` with options not supported by HHVM - -### Changed - -* Bumped required version of `sebastian/environment` to 1.3.2 for [#365](https://github.com/sebastianbergmann/php-code-coverage/issues/365) - -## [2.2.1] - 2015-08-02 - -### Changed - -* Bumped required version of `sebastian/environment` to 1.3.1 for [#365](https://github.com/sebastianbergmann/php-code-coverage/issues/365) - -## [2.2.0] - 2015-08-01 - -### Added - -* Added a driver for PHPDBG (requires PHP 7) -* Added `PHP_CodeCoverage::setDisableIgnoredLines()` to disable the ignoring of lines using annotations such as `@codeCoverageIgnore` - -### Changed - -* Annotating a method with `@deprecated` now has the same effect as annotating it with `@codeCoverageIgnore` - -### Removed - -* The dedicated driver for HHVM, `PHP_CodeCoverage_Driver_HHVM` has been removed - -[2.2.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.3...2.2.4 -[2.2.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.2...2.2.3 -[2.2.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.1...2.2.2 -[2.2.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.0...2.2.1 -[2.2.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.1...2.2.0 - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/LICENSE b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/LICENSE deleted file mode 100644 index fcfa37e8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -PHP_CodeCoverage - -Copyright (c) 2009-2015, Sebastian Bergmann . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Sebastian Bergmann nor the names of his - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/README.md b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/README.md deleted file mode 100644 index 4411d7fc..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/README.md +++ /dev/null @@ -1,50 +0,0 @@ -[![Latest Stable Version](https://poser.pugx.org/phpunit/php-code-coverage/v/stable.png)](https://packagist.org/packages/phpunit/php-code-coverage) -[![Build Status](https://travis-ci.org/sebastianbergmann/php-code-coverage.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-code-coverage) - -# PHP_CodeCoverage - -**PHP_CodeCoverage** is a library that provides collection, processing, and rendering functionality for PHP code coverage information. - -## Requirements - -PHP 5.3.3 is required but using the latest version of PHP is highly recommended - -### PHP 5 - -[Xdebug](http://xdebug.org/) is the only source of raw code coverage data supported for PHP 5. Version 2.1.3 of Xdebug is required but using the latest version is highly recommended. - -### PHP 7 - -[phpdbg](http://phpdbg.com/docs) is currently the only source of raw code coverage data supported for PHP 7. Once Xdebug has been updated for PHP 7 it, too, will be supported. - -### HHVM - -A version of HHVM that implements the Xdebug API for code coverage (`xdebug_*_code_coverage()`) is required. - -## Installation - -To add PHP_CodeCoverage as a local, per-project dependency to your project, simply add a dependency on `phpunit/php-code-coverage` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on PHP_CodeCoverage 2.0: - - { - "require": { - "phpunit/php-code-coverage": "^2" - } - } - -## Using the PHP_CodeCoverage API - -```php -start(''); - -// ... - -$coverage->stop(); - -$writer = new PHP_CodeCoverage_Report_Clover; -$writer->process($coverage, '/tmp/clover.xml'); - -$writer = new PHP_CodeCoverage_Report_HTML; -$writer->process($coverage, '/tmp/code-coverage-report'); -``` diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/build.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/build.xml deleted file mode 100644 index c335d158..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/build.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/build/travis-ci.xml b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/build/travis-ci.xml deleted file mode 100644 index 15e879fa..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/build/travis-ci.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - ../tests/PHP - - - - - - - - - - ../src - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/composer.json b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/composer.json deleted file mode 100644 index 55f9fd07..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/composer.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "phpunit/php-code-coverage", - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "type": "library", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "license": "BSD-3-Clause", - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "irc": "irc://irc.freenode.net/phpunit" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-token-stream": "~1.3", - "phpunit/php-text-template": "~1.2", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4", - "ext-xdebug": ">=2.1.4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/phpunit.xml.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/phpunit.xml.dist deleted file mode 100644 index f5fa606e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/phpunit.xml.dist +++ /dev/null @@ -1,23 +0,0 @@ - - - - - tests/PHP - - - - - - - - - - - - src - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/scripts/auto_append.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/scripts/auto_append.php deleted file mode 100644 index 6cd768d3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/scripts/auto_append.php +++ /dev/null @@ -1,5 +0,0 @@ -stop(); - -$writer = new PHP_CodeCoverage_Report_HTML; -$writer->process($coverage, '/tmp/coverage'); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php deleted file mode 100644 index 7a8887a5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php +++ /dev/null @@ -1,10 +0,0 @@ -filter(); - -$filter->addFileToBlacklist(__FILE__); -$filter->addFileToBlacklist(dirname(__FILE__) . '/auto_append.php'); - -$coverage->start($_SERVER['SCRIPT_FILENAME']); diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage.php deleted file mode 100644 index 88326f0b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage.php +++ /dev/null @@ -1,920 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use SebastianBergmann\Environment\Runtime; - -/** - * Provides collection functionality for PHP code coverage information. - * - * @since Class available since Release 1.0.0 - */ -class PHP_CodeCoverage -{ - /** - * @var PHP_CodeCoverage_Driver - */ - private $driver; - - /** - * @var PHP_CodeCoverage_Filter - */ - private $filter; - - /** - * @var bool - */ - private $cacheTokens = false; - - /** - * @var bool - */ - private $checkForUnintentionallyCoveredCode = false; - - /** - * @var bool - */ - private $forceCoversAnnotation = false; - - /** - * @var bool - */ - private $mapTestClassNameToCoveredClassName = false; - - /** - * @var bool - */ - private $addUncoveredFilesFromWhitelist = true; - - /** - * @var bool - */ - private $processUncoveredFilesFromWhitelist = false; - - /** - * @var mixed - */ - private $currentId; - - /** - * Code coverage data. - * - * @var array - */ - private $data = array(); - - /** - * @var array - */ - private $ignoredLines = array(); - - /** - * @var bool - */ - private $disableIgnoredLines = false; - - /** - * Test data. - * - * @var array - */ - private $tests = array(); - - /** - * Constructor. - * - * @param PHP_CodeCoverage_Driver $driver - * @param PHP_CodeCoverage_Filter $filter - * @throws PHP_CodeCoverage_Exception - */ - public function __construct(PHP_CodeCoverage_Driver $driver = null, PHP_CodeCoverage_Filter $filter = null) - { - if ($driver === null) { - $driver = $this->selectDriver(); - } - - if ($filter === null) { - $filter = new PHP_CodeCoverage_Filter; - } - - $this->driver = $driver; - $this->filter = $filter; - } - - /** - * Returns the PHP_CodeCoverage_Report_Node_* object graph - * for this PHP_CodeCoverage object. - * - * @return PHP_CodeCoverage_Report_Node_Directory - * @since Method available since Release 1.1.0 - */ - public function getReport() - { - $factory = new PHP_CodeCoverage_Report_Factory; - - return $factory->create($this); - } - - /** - * Clears collected code coverage data. - */ - public function clear() - { - $this->currentId = null; - $this->data = array(); - $this->tests = array(); - } - - /** - * Returns the PHP_CodeCoverage_Filter used. - * - * @return PHP_CodeCoverage_Filter - */ - public function filter() - { - return $this->filter; - } - - /** - * Returns the collected code coverage data. - * Set $raw = true to bypass all filters. - * - * @param bool $raw - * @return array - * @since Method available since Release 1.1.0 - */ - public function getData($raw = false) - { - if (!$raw && $this->addUncoveredFilesFromWhitelist) { - $this->addUncoveredFilesFromWhitelist(); - } - - // We need to apply the blacklist filter a second time - // when no whitelist is used. - if (!$raw && !$this->filter->hasWhitelist()) { - $this->applyListsFilter($this->data); - } - - return $this->data; - } - - /** - * Sets the coverage data. - * - * @param array $data - * @since Method available since Release 2.0.0 - */ - public function setData(array $data) - { - $this->data = $data; - } - - /** - * Returns the test data. - * - * @return array - * @since Method available since Release 1.1.0 - */ - public function getTests() - { - return $this->tests; - } - - /** - * Sets the test data. - * - * @param array $tests - * @since Method available since Release 2.0.0 - */ - public function setTests(array $tests) - { - $this->tests = $tests; - } - - /** - * Start collection of code coverage information. - * - * @param mixed $id - * @param bool $clear - * @throws PHP_CodeCoverage_Exception - */ - public function start($id, $clear = false) - { - if (!is_bool($clear)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'boolean' - ); - } - - if ($clear) { - $this->clear(); - } - - $this->currentId = $id; - - $this->driver->start(); - } - - /** - * Stop collection of code coverage information. - * - * @param bool $append - * @param mixed $linesToBeCovered - * @param array $linesToBeUsed - * @return array - * @throws PHP_CodeCoverage_Exception - */ - public function stop($append = true, $linesToBeCovered = array(), array $linesToBeUsed = array()) - { - if (!is_bool($append)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'boolean' - ); - } - - if (!is_array($linesToBeCovered) && $linesToBeCovered !== false) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 2, - 'array or false' - ); - } - - $data = $this->driver->stop(); - $this->append($data, null, $append, $linesToBeCovered, $linesToBeUsed); - - $this->currentId = null; - - return $data; - } - - /** - * Appends code coverage data. - * - * @param array $data - * @param mixed $id - * @param bool $append - * @param mixed $linesToBeCovered - * @param array $linesToBeUsed - * @throws PHP_CodeCoverage_Exception - */ - public function append(array $data, $id = null, $append = true, $linesToBeCovered = array(), array $linesToBeUsed = array()) - { - if ($id === null) { - $id = $this->currentId; - } - - if ($id === null) { - throw new PHP_CodeCoverage_Exception; - } - - $this->applyListsFilter($data); - $this->applyIgnoredLinesFilter($data); - $this->initializeFilesThatAreSeenTheFirstTime($data); - - if (!$append) { - return; - } - - if ($id != 'UNCOVERED_FILES_FROM_WHITELIST') { - $this->applyCoversAnnotationFilter( - $data, - $linesToBeCovered, - $linesToBeUsed - ); - } - - if (empty($data)) { - return; - } - - $size = 'unknown'; - $status = null; - - if ($id instanceof PHPUnit_Framework_TestCase) { - $_size = $id->getSize(); - - if ($_size == PHPUnit_Util_Test::SMALL) { - $size = 'small'; - } elseif ($_size == PHPUnit_Util_Test::MEDIUM) { - $size = 'medium'; - } elseif ($_size == PHPUnit_Util_Test::LARGE) { - $size = 'large'; - } - - $status = $id->getStatus(); - $id = get_class($id) . '::' . $id->getName(); - } elseif ($id instanceof PHPUnit_Extensions_PhptTestCase) { - $size = 'large'; - $id = $id->getName(); - } - - $this->tests[$id] = array('size' => $size, 'status' => $status); - - foreach ($data as $file => $lines) { - if (!$this->filter->isFile($file)) { - continue; - } - - foreach ($lines as $k => $v) { - if ($v == PHP_CodeCoverage_Driver::LINE_EXECUTED) { - if (empty($this->data[$file][$k]) || !in_array($id, $this->data[$file][$k])) { - $this->data[$file][$k][] = $id; - } - } - } - } - } - - /** - * Merges the data from another instance of PHP_CodeCoverage. - * - * @param PHP_CodeCoverage $that - */ - public function merge(PHP_CodeCoverage $that) - { - $this->filter->setBlacklistedFiles( - array_merge($this->filter->getBlacklistedFiles(), $that->filter()->getBlacklistedFiles()) - ); - - $this->filter->setWhitelistedFiles( - array_merge($this->filter->getWhitelistedFiles(), $that->filter()->getWhitelistedFiles()) - ); - - foreach ($that->data as $file => $lines) { - if (!isset($this->data[$file])) { - if (!$this->filter->isFiltered($file)) { - $this->data[$file] = $lines; - } - - continue; - } - - foreach ($lines as $line => $data) { - if ($data !== null) { - if (!isset($this->data[$file][$line])) { - $this->data[$file][$line] = $data; - } else { - $this->data[$file][$line] = array_unique( - array_merge($this->data[$file][$line], $data) - ); - } - } - } - } - - $this->tests = array_merge($this->tests, $that->getTests()); - - } - - /** - * @param bool $flag - * @throws PHP_CodeCoverage_Exception - * @since Method available since Release 1.1.0 - */ - public function setCacheTokens($flag) - { - if (!is_bool($flag)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'boolean' - ); - } - - $this->cacheTokens = $flag; - } - - /** - * @since Method available since Release 1.1.0 - */ - public function getCacheTokens() - { - return $this->cacheTokens; - } - - /** - * @param bool $flag - * @throws PHP_CodeCoverage_Exception - * @since Method available since Release 2.0.0 - */ - public function setCheckForUnintentionallyCoveredCode($flag) - { - if (!is_bool($flag)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'boolean' - ); - } - - $this->checkForUnintentionallyCoveredCode = $flag; - } - - /** - * @param bool $flag - * @throws PHP_CodeCoverage_Exception - */ - public function setForceCoversAnnotation($flag) - { - if (!is_bool($flag)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'boolean' - ); - } - - $this->forceCoversAnnotation = $flag; - } - - /** - * @param bool $flag - * @throws PHP_CodeCoverage_Exception - */ - public function setMapTestClassNameToCoveredClassName($flag) - { - if (!is_bool($flag)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'boolean' - ); - } - - $this->mapTestClassNameToCoveredClassName = $flag; - } - - /** - * @param bool $flag - * @throws PHP_CodeCoverage_Exception - */ - public function setAddUncoveredFilesFromWhitelist($flag) - { - if (!is_bool($flag)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'boolean' - ); - } - - $this->addUncoveredFilesFromWhitelist = $flag; - } - - /** - * @param bool $flag - * @throws PHP_CodeCoverage_Exception - */ - public function setProcessUncoveredFilesFromWhitelist($flag) - { - if (!is_bool($flag)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'boolean' - ); - } - - $this->processUncoveredFilesFromWhitelist = $flag; - } - - /** - * @param bool $flag - * @throws PHP_CodeCoverage_Exception - */ - public function setDisableIgnoredLines($flag) - { - if (!is_bool($flag)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'boolean' - ); - } - - $this->disableIgnoredLines = $flag; - } - - /** - * Applies the @covers annotation filtering. - * - * @param array $data - * @param mixed $linesToBeCovered - * @param array $linesToBeUsed - * @throws PHP_CodeCoverage_Exception_UnintentionallyCoveredCode - */ - private function applyCoversAnnotationFilter(array &$data, $linesToBeCovered, array $linesToBeUsed) - { - if ($linesToBeCovered === false || - ($this->forceCoversAnnotation && empty($linesToBeCovered))) { - $data = array(); - - return; - } - - if (empty($linesToBeCovered)) { - return; - } - - if ($this->checkForUnintentionallyCoveredCode) { - $this->performUnintentionallyCoveredCodeCheck( - $data, - $linesToBeCovered, - $linesToBeUsed - ); - } - - $data = array_intersect_key($data, $linesToBeCovered); - - foreach (array_keys($data) as $filename) { - $_linesToBeCovered = array_flip($linesToBeCovered[$filename]); - - $data[$filename] = array_intersect_key( - $data[$filename], - $_linesToBeCovered - ); - } - } - - /** - * Applies the blacklist/whitelist filtering. - * - * @param array $data - */ - private function applyListsFilter(array &$data) - { - foreach (array_keys($data) as $filename) { - if ($this->filter->isFiltered($filename)) { - unset($data[$filename]); - } - } - } - - /** - * Applies the "ignored lines" filtering. - * - * @param array $data - */ - private function applyIgnoredLinesFilter(array &$data) - { - foreach (array_keys($data) as $filename) { - if (!$this->filter->isFile($filename)) { - continue; - } - - foreach ($this->getLinesToBeIgnored($filename) as $line) { - unset($data[$filename][$line]); - } - } - } - - /** - * @param array $data - * @since Method available since Release 1.1.0 - */ - private function initializeFilesThatAreSeenTheFirstTime(array $data) - { - foreach ($data as $file => $lines) { - if ($this->filter->isFile($file) && !isset($this->data[$file])) { - $this->data[$file] = array(); - - foreach ($lines as $k => $v) { - $this->data[$file][$k] = $v == -2 ? null : array(); - } - } - } - } - - /** - * Processes whitelisted files that are not covered. - */ - private function addUncoveredFilesFromWhitelist() - { - $data = array(); - $uncoveredFiles = array_diff( - $this->filter->getWhitelist(), - array_keys($this->data) - ); - - foreach ($uncoveredFiles as $uncoveredFile) { - if (!file_exists($uncoveredFile)) { - continue; - } - - if ($this->processUncoveredFilesFromWhitelist) { - $this->processUncoveredFileFromWhitelist( - $uncoveredFile, - $data, - $uncoveredFiles - ); - } else { - $data[$uncoveredFile] = array(); - - $lines = count(file($uncoveredFile)); - - for ($i = 1; $i <= $lines; $i++) { - $data[$uncoveredFile][$i] = PHP_CodeCoverage_Driver::LINE_NOT_EXECUTED; - } - } - } - - $this->append($data, 'UNCOVERED_FILES_FROM_WHITELIST'); - } - - /** - * @param string $uncoveredFile - * @param array $data - * @param array $uncoveredFiles - */ - private function processUncoveredFileFromWhitelist($uncoveredFile, array &$data, array $uncoveredFiles) - { - $this->driver->start(); - include_once $uncoveredFile; - $coverage = $this->driver->stop(); - - foreach ($coverage as $file => $fileCoverage) { - if (!isset($data[$file]) && - in_array($file, $uncoveredFiles)) { - foreach (array_keys($fileCoverage) as $key) { - if ($fileCoverage[$key] == PHP_CodeCoverage_Driver::LINE_EXECUTED) { - $fileCoverage[$key] = PHP_CodeCoverage_Driver::LINE_NOT_EXECUTED; - } - } - - $data[$file] = $fileCoverage; - } - } - } - - /** - * Returns the lines of a source file that should be ignored. - * - * @param string $filename - * @return array - * @throws PHP_CodeCoverage_Exception - * @since Method available since Release 2.0.0 - */ - private function getLinesToBeIgnored($filename) - { - if (!is_string($filename)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'string' - ); - } - - if (!isset($this->ignoredLines[$filename])) { - $this->ignoredLines[$filename] = array(); - - if ($this->disableIgnoredLines) { - return $this->ignoredLines[$filename]; - } - - $ignore = false; - $stop = false; - $lines = file($filename); - $numLines = count($lines); - - foreach ($lines as $index => $line) { - if (!trim($line)) { - $this->ignoredLines[$filename][] = $index + 1; - } - } - - if ($this->cacheTokens) { - $tokens = PHP_Token_Stream_CachingFactory::get($filename); - } else { - $tokens = new PHP_Token_Stream($filename); - } - - $classes = array_merge($tokens->getClasses(), $tokens->getTraits()); - $tokens = $tokens->tokens(); - - foreach ($tokens as $token) { - switch (get_class($token)) { - case 'PHP_Token_COMMENT': - case 'PHP_Token_DOC_COMMENT': - $_token = trim($token); - $_line = trim($lines[$token->getLine() - 1]); - - if ($_token == '// @codeCoverageIgnore' || - $_token == '//@codeCoverageIgnore') { - $ignore = true; - $stop = true; - } elseif ($_token == '// @codeCoverageIgnoreStart' || - $_token == '//@codeCoverageIgnoreStart') { - $ignore = true; - } elseif ($_token == '// @codeCoverageIgnoreEnd' || - $_token == '//@codeCoverageIgnoreEnd') { - $stop = true; - } - - if (!$ignore) { - $start = $token->getLine(); - $end = $start + substr_count($token, "\n"); - - // Do not ignore the first line when there is a token - // before the comment - if (0 !== strpos($_token, $_line)) { - $start++; - } - - for ($i = $start; $i < $end; $i++) { - $this->ignoredLines[$filename][] = $i; - } - - // A DOC_COMMENT token or a COMMENT token starting with "/*" - // does not contain the final \n character in its text - if (isset($lines[$i-1]) && 0 === strpos($_token, '/*') && '*/' === substr(trim($lines[$i-1]), -2)) { - $this->ignoredLines[$filename][] = $i; - } - } - break; - - case 'PHP_Token_INTERFACE': - case 'PHP_Token_TRAIT': - case 'PHP_Token_CLASS': - case 'PHP_Token_FUNCTION': - $docblock = $token->getDocblock(); - - $this->ignoredLines[$filename][] = $token->getLine(); - - if (strpos($docblock, '@codeCoverageIgnore') || strpos($docblock, '@deprecated')) { - $endLine = $token->getEndLine(); - - for ($i = $token->getLine(); $i <= $endLine; $i++) { - $this->ignoredLines[$filename][] = $i; - } - } elseif ($token instanceof PHP_Token_INTERFACE || - $token instanceof PHP_Token_TRAIT || - $token instanceof PHP_Token_CLASS) { - if (empty($classes[$token->getName()]['methods'])) { - for ($i = $token->getLine(); - $i <= $token->getEndLine(); - $i++) { - $this->ignoredLines[$filename][] = $i; - } - } else { - $firstMethod = array_shift( - $classes[$token->getName()]['methods'] - ); - - do { - $lastMethod = array_pop( - $classes[$token->getName()]['methods'] - ); - } while ($lastMethod !== null && - substr($lastMethod['signature'], 0, 18) == 'anonymous function'); - - if ($lastMethod === null) { - $lastMethod = $firstMethod; - } - - for ($i = $token->getLine(); - $i < $firstMethod['startLine']; - $i++) { - $this->ignoredLines[$filename][] = $i; - } - - for ($i = $token->getEndLine(); - $i > $lastMethod['endLine']; - $i--) { - $this->ignoredLines[$filename][] = $i; - } - } - } - break; - - case 'PHP_Token_NAMESPACE': - $this->ignoredLines[$filename][] = $token->getEndLine(); - - // Intentional fallthrough - case 'PHP_Token_OPEN_TAG': - case 'PHP_Token_CLOSE_TAG': - case 'PHP_Token_USE': - $this->ignoredLines[$filename][] = $token->getLine(); - break; - } - - if ($ignore) { - $this->ignoredLines[$filename][] = $token->getLine(); - - if ($stop) { - $ignore = false; - $stop = false; - } - } - } - - $this->ignoredLines[$filename][] = $numLines + 1; - - $this->ignoredLines[$filename] = array_unique( - $this->ignoredLines[$filename] - ); - - sort($this->ignoredLines[$filename]); - } - - return $this->ignoredLines[$filename]; - } - - /** - * @param array $data - * @param array $linesToBeCovered - * @param array $linesToBeUsed - * @throws PHP_CodeCoverage_Exception_UnintentionallyCoveredCode - * @since Method available since Release 2.0.0 - */ - private function performUnintentionallyCoveredCodeCheck(array &$data, array $linesToBeCovered, array $linesToBeUsed) - { - $allowedLines = $this->getAllowedLines( - $linesToBeCovered, - $linesToBeUsed - ); - - $message = ''; - - foreach ($data as $file => $_data) { - foreach ($_data as $line => $flag) { - if ($flag == 1 && - (!isset($allowedLines[$file]) || - !isset($allowedLines[$file][$line]))) { - $message .= sprintf( - '- %s:%d' . PHP_EOL, - $file, - $line - ); - } - } - } - - if (!empty($message)) { - throw new PHP_CodeCoverage_Exception_UnintentionallyCoveredCode( - $message - ); - } - } - - /** - * @param array $linesToBeCovered - * @param array $linesToBeUsed - * @return array - * @since Method available since Release 2.0.0 - */ - private function getAllowedLines(array $linesToBeCovered, array $linesToBeUsed) - { - $allowedLines = array(); - - foreach (array_keys($linesToBeCovered) as $file) { - if (!isset($allowedLines[$file])) { - $allowedLines[$file] = array(); - } - - $allowedLines[$file] = array_merge( - $allowedLines[$file], - $linesToBeCovered[$file] - ); - } - - foreach (array_keys($linesToBeUsed) as $file) { - if (!isset($allowedLines[$file])) { - $allowedLines[$file] = array(); - } - - $allowedLines[$file] = array_merge( - $allowedLines[$file], - $linesToBeUsed[$file] - ); - } - - foreach (array_keys($allowedLines) as $file) { - $allowedLines[$file] = array_flip( - array_unique($allowedLines[$file]) - ); - } - - return $allowedLines; - } - - /** - * @return PHP_CodeCoverage_Driver - * @throws PHP_CodeCoverage_Exception - */ - private function selectDriver() - { - $runtime = new Runtime; - - if (!$runtime->canCollectCodeCoverage()) { - throw new PHP_CodeCoverage_Exception('No code coverage driver available'); - } - - if ($runtime->isHHVM()) { - return new PHP_CodeCoverage_Driver_HHVM; - } elseif ($runtime->isPHPDBG()) { - return new PHP_CodeCoverage_Driver_PHPDBG; - } else { - return new PHP_CodeCoverage_Driver_Xdebug; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php deleted file mode 100644 index 8635acef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Interface for code coverage drivers. - * - * @since Class available since Release 1.0.0 - */ -interface PHP_CodeCoverage_Driver -{ - /** - * @var int - * @see http://xdebug.org/docs/code_coverage - */ - const LINE_EXECUTED = 1; - - /** - * @var int - * @see http://xdebug.org/docs/code_coverage - */ - const LINE_NOT_EXECUTED = -1; - - /** - * @var int - * @see http://xdebug.org/docs/code_coverage - */ - const LINE_NOT_EXECUTABLE = -2; - - /** - * Start collection of code coverage information. - */ - public function start(); - - /** - * Stop collection of code coverage information. - * - * @return array - */ - public function stop(); -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php deleted file mode 100644 index a9d8f0ce..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php +++ /dev/null @@ -1,26 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Driver for HHVM's code coverage functionality. - * - * @since Class available since Release 2.2.2 - * @codeCoverageIgnore - */ -class PHP_CodeCoverage_Driver_HHVM extends PHP_CodeCoverage_Driver_Xdebug -{ - /** - * Start collection of code coverage information. - */ - public function start() - { - xdebug_start_code_coverage(); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php deleted file mode 100644 index f3eb6214..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php +++ /dev/null @@ -1,105 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Driver for PHPDBG's code coverage functionality. - * - * @since Class available since Release 2.2.0 - * @codeCoverageIgnore - */ -class PHP_CodeCoverage_Driver_PHPDBG implements PHP_CodeCoverage_Driver -{ - /** - * Constructor. - */ - public function __construct() - { - if (PHP_SAPI !== 'phpdbg') { - throw new PHP_CodeCoverage_Exception( - 'This driver requires the PHPDBG SAPI' - ); - } - - if (!function_exists('phpdbg_start_oplog')) { - throw new PHP_CodeCoverage_Exception( - 'This build of PHPDBG does not support code coverage' - ); - } - } - - /** - * Start collection of code coverage information. - */ - public function start() - { - phpdbg_start_oplog(); - } - - /** - * Stop collection of code coverage information. - * - * @return array - */ - public function stop() - { - static $fetchedLines = array(); - - $dbgData = phpdbg_end_oplog(); - - if ($fetchedLines == array()) { - $sourceLines = phpdbg_get_executable(); - } else { - $newFiles = array_diff( - get_included_files(), - array_keys($fetchedLines) - ); - - if ($newFiles) { - $sourceLines = phpdbg_get_executable( - array('files' => $newFiles) - ); - } else { - $sourceLines = array(); - } - } - - foreach ($sourceLines as $file => $lines) { - foreach ($lines as $lineNo => $numExecuted) { - $sourceLines[$file][$lineNo] = self::LINE_NOT_EXECUTED; - } - } - - $fetchedLines = array_merge($fetchedLines, $sourceLines); - - return $this->detectExecutedLines($fetchedLines, $dbgData); - } - - /** - * Convert phpdbg based data into the format CodeCoverage expects - * - * @param array $sourceLines - * @param array $dbgData - * @return array - */ - private function detectExecutedLines(array $sourceLines, array $dbgData) - { - foreach ($dbgData as $file => $coveredLines) { - foreach ($coveredLines as $lineNo => $numExecuted) { - // phpdbg also reports $lineNo=0 when e.g. exceptions get thrown. - // make sure we only mark lines executed which are actually executable. - if (isset($sourceLines[$file][$lineNo])) { - $sourceLines[$file][$lineNo] = self::LINE_EXECUTED; - } - } - } - - return $sourceLines; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php deleted file mode 100644 index 0cd7b9ad..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Driver for Xdebug's code coverage functionality. - * - * @since Class available since Release 1.0.0 - * @codeCoverageIgnore - */ -class PHP_CodeCoverage_Driver_Xdebug implements PHP_CodeCoverage_Driver -{ - /** - * Constructor. - */ - public function __construct() - { - if (!extension_loaded('xdebug')) { - throw new PHP_CodeCoverage_Exception('This driver requires Xdebug'); - } - - if (version_compare(phpversion('xdebug'), '2.2.0-dev', '>=') && - !ini_get('xdebug.coverage_enable')) { - throw new PHP_CodeCoverage_Exception( - 'xdebug.coverage_enable=On has to be set in php.ini' - ); - } - } - - /** - * Start collection of code coverage information. - */ - public function start() - { - xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE); - } - - /** - * Stop collection of code coverage information. - * - * @return array - */ - public function stop() - { - $data = xdebug_get_code_coverage(); - xdebug_stop_code_coverage(); - - return $this->cleanup($data); - } - - /** - * @param array $data - * @return array - * @since Method available since Release 2.0.0 - */ - private function cleanup(array $data) - { - foreach (array_keys($data) as $file) { - unset($data[$file][0]); - - if ($file != 'xdebug://debug-eval' && file_exists($file)) { - $numLines = $this->getNumberOfLinesInFile($file); - - foreach (array_keys($data[$file]) as $line) { - if (isset($data[$file][$line]) && $line > $numLines) { - unset($data[$file][$line]); - } - } - } - } - - return $data; - } - - /** - * @param string $file - * @return int - * @since Method available since Release 2.0.0 - */ - private function getNumberOfLinesInFile($file) - { - $buffer = file_get_contents($file); - $lines = substr_count($buffer, "\n"); - - if (substr($buffer, -1) !== "\n") { - $lines++; - } - - return $lines; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php deleted file mode 100644 index bded3c09..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Exception class for PHP_CodeCoverage component. - * - * @since Class available since Release 1.1.0 - */ -class PHP_CodeCoverage_Exception extends RuntimeException -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php deleted file mode 100644 index 463785ef..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php +++ /dev/null @@ -1,18 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Exception that is raised when code is unintentionally covered. - * - * @since Class available since Release 2.0.0 - */ -class PHP_CodeCoverage_Exception_UnintentionallyCoveredCode extends PHP_CodeCoverage_Exception -{ -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php deleted file mode 100644 index bb4a2516..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php +++ /dev/null @@ -1,293 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Filter for blacklisting and whitelisting of code coverage information. - * - * @since Class available since Release 1.0.0 - */ -class PHP_CodeCoverage_Filter -{ - /** - * Source files that are blacklisted. - * - * @var array - */ - private $blacklistedFiles = array(); - - /** - * Source files that are whitelisted. - * - * @var array - */ - private $whitelistedFiles = array(); - - /** - * Adds a directory to the blacklist (recursively). - * - * @param string $directory - * @param string $suffix - * @param string $prefix - */ - public function addDirectoryToBlacklist($directory, $suffix = '.php', $prefix = '') - { - $facade = new File_Iterator_Facade; - $files = $facade->getFilesAsArray($directory, $suffix, $prefix); - - foreach ($files as $file) { - $this->addFileToBlacklist($file); - } - } - - /** - * Adds a file to the blacklist. - * - * @param string $filename - */ - public function addFileToBlacklist($filename) - { - $this->blacklistedFiles[realpath($filename)] = true; - } - - /** - * Adds files to the blacklist. - * - * @param array $files - */ - public function addFilesToBlacklist(array $files) - { - foreach ($files as $file) { - $this->addFileToBlacklist($file); - } - } - - /** - * Removes a directory from the blacklist (recursively). - * - * @param string $directory - * @param string $suffix - * @param string $prefix - */ - public function removeDirectoryFromBlacklist($directory, $suffix = '.php', $prefix = '') - { - $facade = new File_Iterator_Facade; - $files = $facade->getFilesAsArray($directory, $suffix, $prefix); - - foreach ($files as $file) { - $this->removeFileFromBlacklist($file); - } - } - - /** - * Removes a file from the blacklist. - * - * @param string $filename - */ - public function removeFileFromBlacklist($filename) - { - $filename = realpath($filename); - - if (isset($this->blacklistedFiles[$filename])) { - unset($this->blacklistedFiles[$filename]); - } - } - - /** - * Adds a directory to the whitelist (recursively). - * - * @param string $directory - * @param string $suffix - * @param string $prefix - */ - public function addDirectoryToWhitelist($directory, $suffix = '.php', $prefix = '') - { - $facade = new File_Iterator_Facade; - $files = $facade->getFilesAsArray($directory, $suffix, $prefix); - - foreach ($files as $file) { - $this->addFileToWhitelist($file); - } - } - - /** - * Adds a file to the whitelist. - * - * @param string $filename - */ - public function addFileToWhitelist($filename) - { - $this->whitelistedFiles[realpath($filename)] = true; - } - - /** - * Adds files to the whitelist. - * - * @param array $files - */ - public function addFilesToWhitelist(array $files) - { - foreach ($files as $file) { - $this->addFileToWhitelist($file); - } - } - - /** - * Removes a directory from the whitelist (recursively). - * - * @param string $directory - * @param string $suffix - * @param string $prefix - */ - public function removeDirectoryFromWhitelist($directory, $suffix = '.php', $prefix = '') - { - $facade = new File_Iterator_Facade; - $files = $facade->getFilesAsArray($directory, $suffix, $prefix); - - foreach ($files as $file) { - $this->removeFileFromWhitelist($file); - } - } - - /** - * Removes a file from the whitelist. - * - * @param string $filename - */ - public function removeFileFromWhitelist($filename) - { - $filename = realpath($filename); - - if (isset($this->whitelistedFiles[$filename])) { - unset($this->whitelistedFiles[$filename]); - } - } - - /** - * Checks whether a filename is a real filename. - * - * @param string $filename - * @return bool - */ - public function isFile($filename) - { - if ($filename == '-' || - strpos($filename, 'vfs://') === 0 || - strpos($filename, 'xdebug://debug-eval') !== false || - strpos($filename, 'eval()\'d code') !== false || - strpos($filename, 'runtime-created function') !== false || - strpos($filename, 'runkit created function') !== false || - strpos($filename, 'assert code') !== false || - strpos($filename, 'regexp code') !== false) { - return false; - } - - return file_exists($filename); - } - - /** - * Checks whether or not a file is filtered. - * - * When the whitelist is empty (default), blacklisting is used. - * When the whitelist is not empty, whitelisting is used. - * - * @param string $filename - * @return bool - * @throws PHP_CodeCoverage_Exception - */ - public function isFiltered($filename) - { - if (!$this->isFile($filename)) { - return true; - } - - $filename = realpath($filename); - - if (!empty($this->whitelistedFiles)) { - return !isset($this->whitelistedFiles[$filename]); - } - - return isset($this->blacklistedFiles[$filename]); - } - - /** - * Returns the list of blacklisted files. - * - * @return array - */ - public function getBlacklist() - { - return array_keys($this->blacklistedFiles); - } - - /** - * Returns the list of whitelisted files. - * - * @return array - */ - public function getWhitelist() - { - return array_keys($this->whitelistedFiles); - } - - /** - * Returns whether this filter has a whitelist. - * - * @return bool - * @since Method available since Release 1.1.0 - */ - public function hasWhitelist() - { - return !empty($this->whitelistedFiles); - } - - /** - * Returns the blacklisted files. - * - * @return array - * @since Method available since Release 2.0.0 - */ - public function getBlacklistedFiles() - { - return $this->blacklistedFiles; - } - - /** - * Sets the blacklisted files. - * - * @param array $blacklistedFiles - * @since Method available since Release 2.0.0 - */ - public function setBlacklistedFiles($blacklistedFiles) - { - $this->blacklistedFiles = $blacklistedFiles; - } - - /** - * Returns the whitelisted files. - * - * @return array - * @since Method available since Release 2.0.0 - */ - public function getWhitelistedFiles() - { - return $this->whitelistedFiles; - } - - /** - * Sets the whitelisted files. - * - * @param array $whitelistedFiles - * @since Method available since Release 2.0.0 - */ - public function setWhitelistedFiles($whitelistedFiles) - { - $this->whitelistedFiles = $whitelistedFiles; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php deleted file mode 100644 index c0ea8d82..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php +++ /dev/null @@ -1,284 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Generates a Clover XML logfile from an PHP_CodeCoverage object. - * - * @since Class available since Release 1.0.0 - */ -class PHP_CodeCoverage_Report_Clover -{ - /** - * @param PHP_CodeCoverage $coverage - * @param string $target - * @param string $name - * @return string - */ - public function process(PHP_CodeCoverage $coverage, $target = null, $name = null) - { - $xmlDocument = new DOMDocument('1.0', 'UTF-8'); - $xmlDocument->formatOutput = true; - - $xmlCoverage = $xmlDocument->createElement('coverage'); - $xmlCoverage->setAttribute('generated', (int) $_SERVER['REQUEST_TIME']); - $xmlDocument->appendChild($xmlCoverage); - - $xmlProject = $xmlDocument->createElement('project'); - $xmlProject->setAttribute('timestamp', (int) $_SERVER['REQUEST_TIME']); - - if (is_string($name)) { - $xmlProject->setAttribute('name', $name); - } - - $xmlCoverage->appendChild($xmlProject); - - $packages = array(); - $report = $coverage->getReport(); - unset($coverage); - - foreach ($report as $item) { - $namespace = 'global'; - - if (!$item instanceof PHP_CodeCoverage_Report_Node_File) { - continue; - } - - $xmlFile = $xmlDocument->createElement('file'); - $xmlFile->setAttribute('name', $item->getPath()); - - $classes = $item->getClassesAndTraits(); - $coverage = $item->getCoverageData(); - $lines = array(); - - foreach ($classes as $className => $class) { - $classStatements = 0; - $coveredClassStatements = 0; - $coveredMethods = 0; - $classMethods = 0; - - foreach ($class['methods'] as $methodName => $method) { - if ($method['executableLines'] == 0) { - continue; - } - - $classMethods++; - $classStatements += $method['executableLines']; - $coveredClassStatements += $method['executedLines']; - if ($method['coverage'] == 100) { - $coveredMethods++; - } - - $methodCount = 0; - for ($i = $method['startLine']; - $i <= $method['endLine']; - $i++) { - if (isset($coverage[$i]) && ($coverage[$i] !== null)) { - $methodCount = max($methodCount, count($coverage[$i])); - } - } - - $lines[$method['startLine']] = array( - 'count' => $methodCount, - 'crap' => $method['crap'], - 'type' => 'method', - 'name' => $methodName - ); - } - - if (!empty($class['package']['namespace'])) { - $namespace = $class['package']['namespace']; - } - - $xmlClass = $xmlDocument->createElement('class'); - $xmlClass->setAttribute('name', $className); - $xmlClass->setAttribute('namespace', $namespace); - - if (!empty($class['package']['fullPackage'])) { - $xmlClass->setAttribute( - 'fullPackage', - $class['package']['fullPackage'] - ); - } - - if (!empty($class['package']['category'])) { - $xmlClass->setAttribute( - 'category', - $class['package']['category'] - ); - } - - if (!empty($class['package']['package'])) { - $xmlClass->setAttribute( - 'package', - $class['package']['package'] - ); - } - - if (!empty($class['package']['subpackage'])) { - $xmlClass->setAttribute( - 'subpackage', - $class['package']['subpackage'] - ); - } - - $xmlFile->appendChild($xmlClass); - - $xmlMetrics = $xmlDocument->createElement('metrics'); - $xmlMetrics->setAttribute('methods', $classMethods); - $xmlMetrics->setAttribute('coveredmethods', $coveredMethods); - $xmlMetrics->setAttribute('conditionals', 0); - $xmlMetrics->setAttribute('coveredconditionals', 0); - $xmlMetrics->setAttribute('statements', $classStatements); - $xmlMetrics->setAttribute( - 'coveredstatements', - $coveredClassStatements - ); - $xmlMetrics->setAttribute( - 'elements', - $classMethods + - $classStatements - /* + conditionals */ - ); - $xmlMetrics->setAttribute( - 'coveredelements', - $coveredMethods + - $coveredClassStatements - /* + coveredconditionals */ - ); - $xmlClass->appendChild($xmlMetrics); - } - - foreach ($coverage as $line => $data) { - if ($data === null || isset($lines[$line])) { - continue; - } - - $lines[$line] = array( - 'count' => count($data), 'type' => 'stmt' - ); - } - - ksort($lines); - - foreach ($lines as $line => $data) { - $xmlLine = $xmlDocument->createElement('line'); - $xmlLine->setAttribute('num', $line); - $xmlLine->setAttribute('type', $data['type']); - - if (isset($data['name'])) { - $xmlLine->setAttribute('name', $data['name']); - } - - if (isset($data['crap'])) { - $xmlLine->setAttribute('crap', $data['crap']); - } - - $xmlLine->setAttribute('count', $data['count']); - $xmlFile->appendChild($xmlLine); - } - - $linesOfCode = $item->getLinesOfCode(); - - $xmlMetrics = $xmlDocument->createElement('metrics'); - $xmlMetrics->setAttribute('loc', $linesOfCode['loc']); - $xmlMetrics->setAttribute('ncloc', $linesOfCode['ncloc']); - $xmlMetrics->setAttribute('classes', $item->getNumClassesAndTraits()); - $xmlMetrics->setAttribute('methods', $item->getNumMethods()); - $xmlMetrics->setAttribute( - 'coveredmethods', - $item->getNumTestedMethods() - ); - $xmlMetrics->setAttribute('conditionals', 0); - $xmlMetrics->setAttribute('coveredconditionals', 0); - $xmlMetrics->setAttribute( - 'statements', - $item->getNumExecutableLines() - ); - $xmlMetrics->setAttribute( - 'coveredstatements', - $item->getNumExecutedLines() - ); - $xmlMetrics->setAttribute( - 'elements', - $item->getNumMethods() + $item->getNumExecutableLines() - /* + conditionals */ - ); - $xmlMetrics->setAttribute( - 'coveredelements', - $item->getNumTestedMethods() + $item->getNumExecutedLines() - /* + coveredconditionals */ - ); - $xmlFile->appendChild($xmlMetrics); - - if ($namespace == 'global') { - $xmlProject->appendChild($xmlFile); - } else { - if (!isset($packages[$namespace])) { - $packages[$namespace] = $xmlDocument->createElement( - 'package' - ); - - $packages[$namespace]->setAttribute('name', $namespace); - $xmlProject->appendChild($packages[$namespace]); - } - - $packages[$namespace]->appendChild($xmlFile); - } - } - - $linesOfCode = $report->getLinesOfCode(); - - $xmlMetrics = $xmlDocument->createElement('metrics'); - $xmlMetrics->setAttribute('files', count($report)); - $xmlMetrics->setAttribute('loc', $linesOfCode['loc']); - $xmlMetrics->setAttribute('ncloc', $linesOfCode['ncloc']); - $xmlMetrics->setAttribute( - 'classes', - $report->getNumClassesAndTraits() - ); - $xmlMetrics->setAttribute('methods', $report->getNumMethods()); - $xmlMetrics->setAttribute( - 'coveredmethods', - $report->getNumTestedMethods() - ); - $xmlMetrics->setAttribute('conditionals', 0); - $xmlMetrics->setAttribute('coveredconditionals', 0); - $xmlMetrics->setAttribute( - 'statements', - $report->getNumExecutableLines() - ); - $xmlMetrics->setAttribute( - 'coveredstatements', - $report->getNumExecutedLines() - ); - $xmlMetrics->setAttribute( - 'elements', - $report->getNumMethods() + $report->getNumExecutableLines() - /* + conditionals */ - ); - $xmlMetrics->setAttribute( - 'coveredelements', - $report->getNumTestedMethods() + $report->getNumExecutedLines() - /* + coveredconditionals */ - ); - - $xmlProject->appendChild($xmlMetrics); - - if ($target !== null) { - if (!is_dir(dirname($target))) { - mkdir(dirname($target), 0777, true); - } - - return $xmlDocument->save($target); - } else { - return $xmlDocument->saveXML(); - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php deleted file mode 100644 index c006ea61..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php +++ /dev/null @@ -1,164 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * @since Class available since Release 2.0.0 - */ -class PHP_CodeCoverage_Report_Crap4j -{ - /** - * @var int - */ - private $threshold; - - /** - * @param int $threshold - */ - public function __construct($threshold = 30) - { - if (!is_int($threshold)) { - throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory( - 1, - 'integer' - ); - } - - $this->threshold = $threshold; - } - - /** - * @param PHP_CodeCoverage $coverage - * @param string $target - * @param string $name - * @return string - */ - public function process(PHP_CodeCoverage $coverage, $target = null, $name = null) - { - $document = new DOMDocument('1.0', 'UTF-8'); - $document->formatOutput = true; - - $root = $document->createElement('crap_result'); - $document->appendChild($root); - - $project = $document->createElement('project', is_string($name) ? $name : ''); - $root->appendChild($project); - $root->appendChild($document->createElement('timestamp', date('Y-m-d H:i:s', (int) $_SERVER['REQUEST_TIME']))); - - $stats = $document->createElement('stats'); - $methodsNode = $document->createElement('methods'); - - $report = $coverage->getReport(); - unset($coverage); - - $fullMethodCount = 0; - $fullCrapMethodCount = 0; - $fullCrapLoad = 0; - $fullCrap = 0; - - foreach ($report as $item) { - $namespace = 'global'; - - if (!$item instanceof PHP_CodeCoverage_Report_Node_File) { - continue; - } - - $file = $document->createElement('file'); - $file->setAttribute('name', $item->getPath()); - - $classes = $item->getClassesAndTraits(); - - foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { - $crapLoad = $this->getCrapLoad($method['crap'], $method['ccn'], $method['coverage']); - - $fullCrap += $method['crap']; - $fullCrapLoad += $crapLoad; - $fullMethodCount++; - - if ($method['crap'] >= $this->threshold) { - $fullCrapMethodCount++; - } - - $methodNode = $document->createElement('method'); - - if (!empty($class['package']['namespace'])) { - $namespace = $class['package']['namespace']; - } - - $methodNode->appendChild($document->createElement('package', $namespace)); - $methodNode->appendChild($document->createElement('className', $className)); - $methodNode->appendChild($document->createElement('methodName', $methodName)); - $methodNode->appendChild($document->createElement('methodSignature', htmlspecialchars($method['signature']))); - $methodNode->appendChild($document->createElement('fullMethod', htmlspecialchars($method['signature']))); - $methodNode->appendChild($document->createElement('crap', $this->roundValue($method['crap']))); - $methodNode->appendChild($document->createElement('complexity', $method['ccn'])); - $methodNode->appendChild($document->createElement('coverage', $this->roundValue($method['coverage']))); - $methodNode->appendChild($document->createElement('crapLoad', round($crapLoad))); - - $methodsNode->appendChild($methodNode); - } - } - } - - $stats->appendChild($document->createElement('name', 'Method Crap Stats')); - $stats->appendChild($document->createElement('methodCount', $fullMethodCount)); - $stats->appendChild($document->createElement('crapMethodCount', $fullCrapMethodCount)); - $stats->appendChild($document->createElement('crapLoad', round($fullCrapLoad))); - $stats->appendChild($document->createElement('totalCrap', $fullCrap)); - - if ($fullMethodCount > 0) { - $crapMethodPercent = $this->roundValue((100 * $fullCrapMethodCount) / $fullMethodCount); - } else { - $crapMethodPercent = 0; - } - - $stats->appendChild($document->createElement('crapMethodPercent', $crapMethodPercent)); - - $root->appendChild($stats); - $root->appendChild($methodsNode); - - if ($target !== null) { - if (!is_dir(dirname($target))) { - mkdir(dirname($target), 0777, true); - } - - return $document->save($target); - } else { - return $document->saveXML(); - } - } - - /** - * @param float $crapValue - * @param int $cyclomaticComplexity - * @param float $coveragePercent - * @return float - */ - private function getCrapLoad($crapValue, $cyclomaticComplexity, $coveragePercent) - { - $crapLoad = 0; - - if ($crapValue >= $this->threshold) { - $crapLoad += $cyclomaticComplexity * (1.0 - $coveragePercent / 100); - $crapLoad += $cyclomaticComplexity / $this->threshold; - } - - return $crapLoad; - } - - /** - * @param float $value - * @return float - */ - private function roundValue($value) - { - return round($value, 2); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php deleted file mode 100644 index b28964e8..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php +++ /dev/null @@ -1,242 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Factory for PHP_CodeCoverage_Report_Node_* object graphs. - * - * @since Class available since Release 1.1.0 - */ -class PHP_CodeCoverage_Report_Factory -{ - /** - * @param PHP_CodeCoverage $coverage - * @return PHP_CodeCoverage_Report_Node_Directory - */ - public function create(PHP_CodeCoverage $coverage) - { - $files = $coverage->getData(); - $commonPath = $this->reducePaths($files); - $root = new PHP_CodeCoverage_Report_Node_Directory( - $commonPath, - null - ); - - $this->addItems( - $root, - $this->buildDirectoryStructure($files), - $coverage->getTests(), - $coverage->getCacheTokens() - ); - - return $root; - } - - /** - * @param PHP_CodeCoverage_Report_Node_Directory $root - * @param array $items - * @param array $tests - * @param bool $cacheTokens - */ - private function addItems(PHP_CodeCoverage_Report_Node_Directory $root, array $items, array $tests, $cacheTokens) - { - foreach ($items as $key => $value) { - if (substr($key, -2) == '/f') { - $key = substr($key, 0, -2); - - if (file_exists($root->getPath() . DIRECTORY_SEPARATOR . $key)) { - $root->addFile($key, $value, $tests, $cacheTokens); - } - } else { - $child = $root->addDirectory($key); - $this->addItems($child, $value, $tests, $cacheTokens); - } - } - } - - /** - * Builds an array representation of the directory structure. - * - * For instance, - * - * - * Array - * ( - * [Money.php] => Array - * ( - * ... - * ) - * - * [MoneyBag.php] => Array - * ( - * ... - * ) - * ) - * - * - * is transformed into - * - * - * Array - * ( - * [.] => Array - * ( - * [Money.php] => Array - * ( - * ... - * ) - * - * [MoneyBag.php] => Array - * ( - * ... - * ) - * ) - * ) - * - * - * @param array $files - * @return array - */ - private function buildDirectoryStructure($files) - { - $result = array(); - - foreach ($files as $path => $file) { - $path = explode('/', $path); - $pointer = &$result; - $max = count($path); - - for ($i = 0; $i < $max; $i++) { - if ($i == ($max - 1)) { - $type = '/f'; - } else { - $type = ''; - } - - $pointer = &$pointer[$path[$i] . $type]; - } - - $pointer = $file; - } - - return $result; - } - - /** - * Reduces the paths by cutting the longest common start path. - * - * For instance, - * - * - * Array - * ( - * [/home/sb/Money/Money.php] => Array - * ( - * ... - * ) - * - * [/home/sb/Money/MoneyBag.php] => Array - * ( - * ... - * ) - * ) - * - * - * is reduced to - * - * - * Array - * ( - * [Money.php] => Array - * ( - * ... - * ) - * - * [MoneyBag.php] => Array - * ( - * ... - * ) - * ) - * - * - * @param array $files - * @return string - */ - private function reducePaths(&$files) - { - if (empty($files)) { - return '.'; - } - - $commonPath = ''; - $paths = array_keys($files); - - if (count($files) == 1) { - $commonPath = dirname($paths[0]) . '/'; - $files[basename($paths[0])] = $files[$paths[0]]; - - unset($files[$paths[0]]); - - return $commonPath; - } - - $max = count($paths); - - for ($i = 0; $i < $max; $i++) { - // strip phar:// prefixes - if (strpos($paths[$i], 'phar://') === 0) { - $paths[$i] = substr($paths[$i], 7); - $paths[$i] = strtr($paths[$i], '/', DIRECTORY_SEPARATOR); - } - $paths[$i] = explode(DIRECTORY_SEPARATOR, $paths[$i]); - - if (empty($paths[$i][0])) { - $paths[$i][0] = DIRECTORY_SEPARATOR; - } - } - - $done = false; - $max = count($paths); - - while (!$done) { - for ($i = 0; $i < $max - 1; $i++) { - if (!isset($paths[$i][0]) || - !isset($paths[$i+1][0]) || - $paths[$i][0] != $paths[$i+1][0]) { - $done = true; - break; - } - } - - if (!$done) { - $commonPath .= $paths[0][0]; - - if ($paths[0][0] != DIRECTORY_SEPARATOR) { - $commonPath .= DIRECTORY_SEPARATOR; - } - - for ($i = 0; $i < $max; $i++) { - array_shift($paths[$i]); - } - } - } - - $original = array_keys($files); - $max = count($original); - - for ($i = 0; $i < $max; $i++) { - $files[implode('/', $paths[$i])] = $files[$original[$i]]; - unset($files[$original[$i]]); - } - - ksort($files); - - return substr($commonPath, 0, -1); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php deleted file mode 100644 index 80916ef3..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php +++ /dev/null @@ -1,182 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Generates an HTML report from an PHP_CodeCoverage object. - * - * @since Class available since Release 1.0.0 - */ -class PHP_CodeCoverage_Report_HTML -{ - /** - * @var string - */ - private $templatePath; - - /** - * @var string - */ - private $generator; - - /** - * @var int - */ - private $lowUpperBound; - - /** - * @var int - */ - private $highLowerBound; - - /** - * Constructor. - * - * @param int $lowUpperBound - * @param int $highLowerBound - * @param string $generator - */ - public function __construct($lowUpperBound = 50, $highLowerBound = 90, $generator = '') - { - $this->generator = $generator; - $this->highLowerBound = $highLowerBound; - $this->lowUpperBound = $lowUpperBound; - - $this->templatePath = sprintf( - '%s%sHTML%sRenderer%sTemplate%s', - dirname(__FILE__), - DIRECTORY_SEPARATOR, - DIRECTORY_SEPARATOR, - DIRECTORY_SEPARATOR, - DIRECTORY_SEPARATOR - ); - } - - /** - * @param PHP_CodeCoverage $coverage - * @param string $target - */ - public function process(PHP_CodeCoverage $coverage, $target) - { - $target = $this->getDirectory($target); - $report = $coverage->getReport(); - unset($coverage); - - if (!isset($_SERVER['REQUEST_TIME'])) { - $_SERVER['REQUEST_TIME'] = time(); - } - - $date = date('D M j G:i:s T Y', $_SERVER['REQUEST_TIME']); - - $dashboard = new PHP_CodeCoverage_Report_HTML_Renderer_Dashboard( - $this->templatePath, - $this->generator, - $date, - $this->lowUpperBound, - $this->highLowerBound - ); - - $directory = new PHP_CodeCoverage_Report_HTML_Renderer_Directory( - $this->templatePath, - $this->generator, - $date, - $this->lowUpperBound, - $this->highLowerBound - ); - - $file = new PHP_CodeCoverage_Report_HTML_Renderer_File( - $this->templatePath, - $this->generator, - $date, - $this->lowUpperBound, - $this->highLowerBound - ); - - $directory->render($report, $target . 'index.html'); - $dashboard->render($report, $target . 'dashboard.html'); - - foreach ($report as $node) { - $id = $node->getId(); - - if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) { - if (!file_exists($target . $id)) { - mkdir($target . $id, 0777, true); - } - - $directory->render($node, $target . $id . '/index.html'); - $dashboard->render($node, $target . $id . '/dashboard.html'); - } else { - $dir = dirname($target . $id); - - if (!file_exists($dir)) { - mkdir($dir, 0777, true); - } - - $file->render($node, $target . $id . '.html'); - } - } - - $this->copyFiles($target); - } - - /** - * @param string $target - */ - private function copyFiles($target) - { - $dir = $this->getDirectory($target . 'css'); - copy($this->templatePath . 'css/bootstrap.min.css', $dir . 'bootstrap.min.css'); - copy($this->templatePath . 'css/nv.d3.min.css', $dir . 'nv.d3.min.css'); - copy($this->templatePath . 'css/style.css', $dir . 'style.css'); - - $dir = $this->getDirectory($target . 'fonts'); - copy($this->templatePath . 'fonts/glyphicons-halflings-regular.eot', $dir . 'glyphicons-halflings-regular.eot'); - copy($this->templatePath . 'fonts/glyphicons-halflings-regular.svg', $dir . 'glyphicons-halflings-regular.svg'); - copy($this->templatePath . 'fonts/glyphicons-halflings-regular.ttf', $dir . 'glyphicons-halflings-regular.ttf'); - copy($this->templatePath . 'fonts/glyphicons-halflings-regular.woff', $dir . 'glyphicons-halflings-regular.woff'); - copy($this->templatePath . 'fonts/glyphicons-halflings-regular.woff2', $dir . 'glyphicons-halflings-regular.woff2'); - - $dir = $this->getDirectory($target . 'js'); - copy($this->templatePath . 'js/bootstrap.min.js', $dir . 'bootstrap.min.js'); - copy($this->templatePath . 'js/d3.min.js', $dir . 'd3.min.js'); - copy($this->templatePath . 'js/holder.min.js', $dir . 'holder.min.js'); - copy($this->templatePath . 'js/html5shiv.min.js', $dir . 'html5shiv.min.js'); - copy($this->templatePath . 'js/jquery.min.js', $dir . 'jquery.min.js'); - copy($this->templatePath . 'js/nv.d3.min.js', $dir . 'nv.d3.min.js'); - copy($this->templatePath . 'js/respond.min.js', $dir . 'respond.min.js'); - } - - /** - * @param string $directory - * @return string - * @throws PHP_CodeCoverage_Exception - * @since Method available since Release 1.2.0 - */ - private function getDirectory($directory) - { - if (substr($directory, -1, 1) != DIRECTORY_SEPARATOR) { - $directory .= DIRECTORY_SEPARATOR; - } - - if (is_dir($directory)) { - return $directory; - } - - if (@mkdir($directory, 0777, true)) { - return $directory; - } - - throw new PHP_CodeCoverage_Exception( - sprintf( - 'Directory "%s" does not exist.', - $directory - ) - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php deleted file mode 100644 index 51aa15e6..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php +++ /dev/null @@ -1,271 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use SebastianBergmann\Environment\Runtime; - -/** - * Base class for PHP_CodeCoverage_Report_Node renderers. - * - * @since Class available since Release 1.1.0 - */ -abstract class PHP_CodeCoverage_Report_HTML_Renderer -{ - /** - * @var string - */ - protected $templatePath; - - /** - * @var string - */ - protected $generator; - - /** - * @var string - */ - protected $date; - - /** - * @var int - */ - protected $lowUpperBound; - - /** - * @var int - */ - protected $highLowerBound; - - /** - * @var string - */ - protected $version; - - /** - * Constructor. - * - * @param string $templatePath - * @param string $generator - * @param string $date - * @param int $lowUpperBound - * @param int $highLowerBound - */ - public function __construct($templatePath, $generator, $date, $lowUpperBound, $highLowerBound) - { - $version = new SebastianBergmann\Version('2.2.4', dirname(dirname(dirname(dirname(__DIR__))))); - - $this->templatePath = $templatePath; - $this->generator = $generator; - $this->date = $date; - $this->lowUpperBound = $lowUpperBound; - $this->highLowerBound = $highLowerBound; - $this->version = $version->getVersion(); - } - - /** - * @param Text_Template $template - * @param array $data - * @return string - */ - protected function renderItemTemplate(Text_Template $template, array $data) - { - $numSeparator = ' / '; - - if (isset($data['numClasses']) && $data['numClasses'] > 0) { - $classesLevel = $this->getColorLevel($data['testedClassesPercent']); - - $classesNumber = $data['numTestedClasses'] . $numSeparator . - $data['numClasses']; - - $classesBar = $this->getCoverageBar( - $data['testedClassesPercent'] - ); - } else { - $classesLevel = 'success'; - $classesNumber = '0' . $numSeparator . '0'; - $classesBar = $this->getCoverageBar(100); - } - - if ($data['numMethods'] > 0) { - $methodsLevel = $this->getColorLevel($data['testedMethodsPercent']); - - $methodsNumber = $data['numTestedMethods'] . $numSeparator . - $data['numMethods']; - - $methodsBar = $this->getCoverageBar( - $data['testedMethodsPercent'] - ); - } else { - $methodsLevel = 'success'; - $methodsNumber = '0' . $numSeparator . '0'; - $methodsBar = $this->getCoverageBar(100); - $data['testedMethodsPercentAsString'] = '100.00%'; - } - - if ($data['numExecutableLines'] > 0) { - $linesLevel = $this->getColorLevel($data['linesExecutedPercent']); - - $linesNumber = $data['numExecutedLines'] . $numSeparator . - $data['numExecutableLines']; - - $linesBar = $this->getCoverageBar( - $data['linesExecutedPercent'] - ); - } else { - $linesLevel = 'success'; - $linesNumber = '0' . $numSeparator . '0'; - $linesBar = $this->getCoverageBar(100); - $data['linesExecutedPercentAsString'] = '100.00%'; - } - - $template->setVar( - array( - 'icon' => isset($data['icon']) ? $data['icon'] : '', - 'crap' => isset($data['crap']) ? $data['crap'] : '', - 'name' => $data['name'], - 'lines_bar' => $linesBar, - 'lines_executed_percent' => $data['linesExecutedPercentAsString'], - 'lines_level' => $linesLevel, - 'lines_number' => $linesNumber, - 'methods_bar' => $methodsBar, - 'methods_tested_percent' => $data['testedMethodsPercentAsString'], - 'methods_level' => $methodsLevel, - 'methods_number' => $methodsNumber, - 'classes_bar' => $classesBar, - 'classes_tested_percent' => isset($data['testedClassesPercentAsString']) ? $data['testedClassesPercentAsString'] : '', - 'classes_level' => $classesLevel, - 'classes_number' => $classesNumber - ) - ); - - return $template->render(); - } - - /** - * @param Text_Template $template - * @param PHP_CodeCoverage_Report_Node $node - */ - protected function setCommonTemplateVariables(Text_Template $template, PHP_CodeCoverage_Report_Node $node) - { - $runtime = new Runtime; - - $template->setVar( - array( - 'id' => $node->getId(), - 'full_path' => $node->getPath(), - 'path_to_root' => $this->getPathToRoot($node), - 'breadcrumbs' => $this->getBreadcrumbs($node), - 'date' => $this->date, - 'version' => $this->version, - 'runtime_name' => $runtime->getName(), - 'runtime_version' => $runtime->getVersion(), - 'runtime_link' => $runtime->getVendorUrl(), - 'generator' => $this->generator, - 'low_upper_bound' => $this->lowUpperBound, - 'high_lower_bound' => $this->highLowerBound - ) - ); - } - - protected function getBreadcrumbs(PHP_CodeCoverage_Report_Node $node) - { - $breadcrumbs = ''; - $path = $node->getPathAsArray(); - $pathToRoot = array(); - $max = count($path); - - if ($node instanceof PHP_CodeCoverage_Report_Node_File) { - $max--; - } - - for ($i = 0; $i < $max; $i++) { - $pathToRoot[] = str_repeat('../', $i); - } - - foreach ($path as $step) { - if ($step !== $node) { - $breadcrumbs .= $this->getInactiveBreadcrumb( - $step, - array_pop($pathToRoot) - ); - } else { - $breadcrumbs .= $this->getActiveBreadcrumb($step); - } - } - - return $breadcrumbs; - } - - protected function getActiveBreadcrumb(PHP_CodeCoverage_Report_Node $node) - { - $buffer = sprintf( - '
  • %s
  • ' . "\n", - $node->getName() - ); - - if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) { - $buffer .= '
  • (Dashboard)
  • ' . "\n"; - } - - return $buffer; - } - - protected function getInactiveBreadcrumb(PHP_CodeCoverage_Report_Node $node, $pathToRoot) - { - return sprintf( - '
  • %s
  • ' . "\n", - $pathToRoot, - $node->getName() - ); - } - - protected function getPathToRoot(PHP_CodeCoverage_Report_Node $node) - { - $id = $node->getId(); - $depth = substr_count($id, '/'); - - if ($id != 'index' && - $node instanceof PHP_CodeCoverage_Report_Node_Directory) { - $depth++; - } - - return str_repeat('../', $depth); - } - - protected function getCoverageBar($percent) - { - $level = $this->getColorLevel($percent); - - $template = new Text_Template( - $this->templatePath . 'coverage_bar.html', - '{{', - '}}' - ); - - $template->setVar(array('level' => $level, 'percent' => sprintf('%.2F', $percent))); - - return $template->render(); - } - - /** - * @param int $percent - * @return string - */ - protected function getColorLevel($percent) - { - if ($percent <= $this->lowUpperBound) { - return 'danger'; - } elseif ($percent > $this->lowUpperBound && - $percent < $this->highLowerBound) { - return 'warning'; - } else { - return 'success'; - } - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php deleted file mode 100644 index f648097d..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php +++ /dev/null @@ -1,295 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Renders the dashboard for a PHP_CodeCoverage_Report_Node_Directory node. - * - * @since Class available since Release 1.1.0 - */ -class PHP_CodeCoverage_Report_HTML_Renderer_Dashboard extends PHP_CodeCoverage_Report_HTML_Renderer -{ - /** - * @param PHP_CodeCoverage_Report_Node_Directory $node - * @param string $file - */ - public function render(PHP_CodeCoverage_Report_Node_Directory $node, $file) - { - $classes = $node->getClassesAndTraits(); - $template = new Text_Template( - $this->templatePath . 'dashboard.html', - '{{', - '}}' - ); - - $this->setCommonTemplateVariables($template, $node); - - $baseLink = $node->getId() . '/'; - $complexity = $this->complexity($classes, $baseLink); - $coverageDistribution = $this->coverageDistribution($classes); - $insufficientCoverage = $this->insufficientCoverage($classes, $baseLink); - $projectRisks = $this->projectRisks($classes, $baseLink); - - $template->setVar( - array( - 'insufficient_coverage_classes' => $insufficientCoverage['class'], - 'insufficient_coverage_methods' => $insufficientCoverage['method'], - 'project_risks_classes' => $projectRisks['class'], - 'project_risks_methods' => $projectRisks['method'], - 'complexity_class' => $complexity['class'], - 'complexity_method' => $complexity['method'], - 'class_coverage_distribution' => $coverageDistribution['class'], - 'method_coverage_distribution' => $coverageDistribution['method'] - ) - ); - - $template->renderTo($file); - } - - /** - * Returns the data for the Class/Method Complexity charts. - * - * @param array $classes - * @param string $baseLink - * @return array - */ - protected function complexity(array $classes, $baseLink) - { - $result = array('class' => array(), 'method' => array()); - - foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { - if ($className != '*') { - $methodName = $className . '::' . $methodName; - } - - $result['method'][] = array( - $method['coverage'], - $method['ccn'], - sprintf( - '%s', - str_replace($baseLink, '', $method['link']), - $methodName - ) - ); - } - - $result['class'][] = array( - $class['coverage'], - $class['ccn'], - sprintf( - '%s', - str_replace($baseLink, '', $class['link']), - $className - ) - ); - } - - return array( - 'class' => json_encode($result['class']), - 'method' => json_encode($result['method']) - ); - } - - /** - * Returns the data for the Class / Method Coverage Distribution chart. - * - * @param array $classes - * @return array - */ - protected function coverageDistribution(array $classes) - { - $result = array( - 'class' => array( - '0%' => 0, - '0-10%' => 0, - '10-20%' => 0, - '20-30%' => 0, - '30-40%' => 0, - '40-50%' => 0, - '50-60%' => 0, - '60-70%' => 0, - '70-80%' => 0, - '80-90%' => 0, - '90-100%' => 0, - '100%' => 0 - ), - 'method' => array( - '0%' => 0, - '0-10%' => 0, - '10-20%' => 0, - '20-30%' => 0, - '30-40%' => 0, - '40-50%' => 0, - '50-60%' => 0, - '60-70%' => 0, - '70-80%' => 0, - '80-90%' => 0, - '90-100%' => 0, - '100%' => 0 - ) - ); - - foreach ($classes as $class) { - foreach ($class['methods'] as $methodName => $method) { - if ($method['coverage'] == 0) { - $result['method']['0%']++; - } elseif ($method['coverage'] == 100) { - $result['method']['100%']++; - } else { - $key = floor($method['coverage'] / 10) * 10; - $key = $key . '-' . ($key + 10) . '%'; - $result['method'][$key]++; - } - } - - if ($class['coverage'] == 0) { - $result['class']['0%']++; - } elseif ($class['coverage'] == 100) { - $result['class']['100%']++; - } else { - $key = floor($class['coverage'] / 10) * 10; - $key = $key . '-' . ($key + 10) . '%'; - $result['class'][$key]++; - } - } - - return array( - 'class' => json_encode(array_values($result['class'])), - 'method' => json_encode(array_values($result['method'])) - ); - } - - /** - * Returns the classes / methods with insufficient coverage. - * - * @param array $classes - * @param string $baseLink - * @return array - */ - protected function insufficientCoverage(array $classes, $baseLink) - { - $leastTestedClasses = array(); - $leastTestedMethods = array(); - $result = array('class' => '', 'method' => ''); - - foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { - if ($method['coverage'] < $this->highLowerBound) { - if ($className != '*') { - $key = $className . '::' . $methodName; - } else { - $key = $methodName; - } - - $leastTestedMethods[$key] = $method['coverage']; - } - } - - if ($class['coverage'] < $this->highLowerBound) { - $leastTestedClasses[$className] = $class['coverage']; - } - } - - asort($leastTestedClasses); - asort($leastTestedMethods); - - foreach ($leastTestedClasses as $className => $coverage) { - $result['class'] .= sprintf( - ' %s%d%%' . "\n", - str_replace($baseLink, '', $classes[$className]['link']), - $className, - $coverage - ); - } - - foreach ($leastTestedMethods as $methodName => $coverage) { - list($class, $method) = explode('::', $methodName); - - $result['method'] .= sprintf( - ' %s%d%%' . "\n", - str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']), - $methodName, - $method, - $coverage - ); - } - - return $result; - } - - /** - * Returns the project risks according to the CRAP index. - * - * @param array $classes - * @param string $baseLink - * @return array - */ - protected function projectRisks(array $classes, $baseLink) - { - $classRisks = array(); - $methodRisks = array(); - $result = array('class' => '', 'method' => ''); - - foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { - if ($method['coverage'] < $this->highLowerBound && - $method['ccn'] > 1) { - if ($className != '*') { - $key = $className . '::' . $methodName; - } else { - $key = $methodName; - } - - $methodRisks[$key] = $method['crap']; - } - } - - if ($class['coverage'] < $this->highLowerBound && - $class['ccn'] > count($class['methods'])) { - $classRisks[$className] = $class['crap']; - } - } - - arsort($classRisks); - arsort($methodRisks); - - foreach ($classRisks as $className => $crap) { - $result['class'] .= sprintf( - ' %s%d' . "\n", - str_replace($baseLink, '', $classes[$className]['link']), - $className, - $crap - ); - } - - foreach ($methodRisks as $methodName => $crap) { - list($class, $method) = explode('::', $methodName); - - $result['method'] .= sprintf( - ' %s%d' . "\n", - str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']), - $methodName, - $method, - $crap - ); - } - - return $result; - } - - protected function getActiveBreadcrumb(PHP_CodeCoverage_Report_Node $node) - { - return sprintf( - '
  • %s
  • ' . "\n" . - '
  • (Dashboard)
  • ' . "\n", - $node->getName() - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php deleted file mode 100644 index 4415c520..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * Renders a PHP_CodeCoverage_Report_Node_Directory node. - * - * @since Class available since Release 1.1.0 - */ -class PHP_CodeCoverage_Report_HTML_Renderer_Directory extends PHP_CodeCoverage_Report_HTML_Renderer -{ - /** - * @param PHP_CodeCoverage_Report_Node_Directory $node - * @param string $file - */ - public function render(PHP_CodeCoverage_Report_Node_Directory $node, $file) - { - $template = new Text_Template($this->templatePath . 'directory.html', '{{', '}}'); - - $this->setCommonTemplateVariables($template, $node); - - $items = $this->renderItem($node, true); - - foreach ($node->getDirectories() as $item) { - $items .= $this->renderItem($item); - } - - foreach ($node->getFiles() as $item) { - $items .= $this->renderItem($item); - } - - $template->setVar( - array( - 'id' => $node->getId(), - 'items' => $items - ) - ); - - $template->renderTo($file); - } - - /** - * @param PHP_CodeCoverage_Report_Node $item - * @param bool $total - * @return string - */ - protected function renderItem(PHP_CodeCoverage_Report_Node $item, $total = false) - { - $data = array( - 'numClasses' => $item->getNumClassesAndTraits(), - 'numTestedClasses' => $item->getNumTestedClassesAndTraits(), - 'numMethods' => $item->getNumMethods(), - 'numTestedMethods' => $item->getNumTestedMethods(), - 'linesExecutedPercent' => $item->getLineExecutedPercent(false), - 'linesExecutedPercentAsString' => $item->getLineExecutedPercent(), - 'numExecutedLines' => $item->getNumExecutedLines(), - 'numExecutableLines' => $item->getNumExecutableLines(), - 'testedMethodsPercent' => $item->getTestedMethodsPercent(false), - 'testedMethodsPercentAsString' => $item->getTestedMethodsPercent(), - 'testedClassesPercent' => $item->getTestedClassesAndTraitsPercent(false), - 'testedClassesPercentAsString' => $item->getTestedClassesAndTraitsPercent() - ); - - if ($total) { - $data['name'] = 'Total'; - } else { - if ($item instanceof PHP_CodeCoverage_Report_Node_Directory) { - $data['name'] = sprintf( - '%s', - $item->getName(), - $item->getName() - ); - - $data['icon'] = ' '; - } else { - $data['name'] = sprintf( - '%s', - $item->getName(), - $item->getName() - ); - - $data['icon'] = ' '; - } - } - - return $this->renderItemTemplate( - new Text_Template($this->templatePath . 'directory_item.html', '{{', '}}'), - $data - ); - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php deleted file mode 100644 index d52345d5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php +++ /dev/null @@ -1,556 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -// @codeCoverageIgnoreStart -if (!defined('T_TRAIT')) { - define('T_TRAIT', 1001); -} - -if (!defined('T_INSTEADOF')) { - define('T_INSTEADOF', 1002); -} - -if (!defined('T_CALLABLE')) { - define('T_CALLABLE', 1003); -} - -if (!defined('T_FINALLY')) { - define('T_FINALLY', 1004); -} - -if (!defined('T_YIELD')) { - define('T_YIELD', 1005); -} -// @codeCoverageIgnoreEnd - -/** - * Renders a PHP_CodeCoverage_Report_Node_File node. - * - * @since Class available since Release 1.1.0 - */ -class PHP_CodeCoverage_Report_HTML_Renderer_File extends PHP_CodeCoverage_Report_HTML_Renderer -{ - /** - * @var int - */ - private $htmlspecialcharsFlags; - - /** - * Constructor. - * - * @param string $templatePath - * @param string $generator - * @param string $date - * @param int $lowUpperBound - * @param int $highLowerBound - */ - public function __construct($templatePath, $generator, $date, $lowUpperBound, $highLowerBound) - { - parent::__construct( - $templatePath, - $generator, - $date, - $lowUpperBound, - $highLowerBound - ); - - $this->htmlspecialcharsFlags = ENT_COMPAT; - - if (PHP_VERSION_ID >= 50400 && defined('ENT_SUBSTITUTE')) { - $this->htmlspecialcharsFlags = $this->htmlspecialcharsFlags | ENT_HTML401 | ENT_SUBSTITUTE; - } - } - - /** - * @param PHP_CodeCoverage_Report_Node_File $node - * @param string $file - */ - public function render(PHP_CodeCoverage_Report_Node_File $node, $file) - { - $template = new Text_Template($this->templatePath . 'file.html', '{{', '}}'); - - $template->setVar( - array( - 'items' => $this->renderItems($node), - 'lines' => $this->renderSource($node) - ) - ); - - $this->setCommonTemplateVariables($template, $node); - - $template->renderTo($file); - } - - /** - * @param PHP_CodeCoverage_Report_Node_File $node - * @return string - */ - protected function renderItems(PHP_CodeCoverage_Report_Node_File $node) - { - $template = new Text_Template($this->templatePath . 'file_item.html', '{{', '}}'); - - $methodItemTemplate = new Text_Template( - $this->templatePath . 'method_item.html', - '{{', - '}}' - ); - - $items = $this->renderItemTemplate( - $template, - array( - 'name' => 'Total', - 'numClasses' => $node->getNumClassesAndTraits(), - 'numTestedClasses' => $node->getNumTestedClassesAndTraits(), - 'numMethods' => $node->getNumMethods(), - 'numTestedMethods' => $node->getNumTestedMethods(), - 'linesExecutedPercent' => $node->getLineExecutedPercent(false), - 'linesExecutedPercentAsString' => $node->getLineExecutedPercent(), - 'numExecutedLines' => $node->getNumExecutedLines(), - 'numExecutableLines' => $node->getNumExecutableLines(), - 'testedMethodsPercent' => $node->getTestedMethodsPercent(false), - 'testedMethodsPercentAsString' => $node->getTestedMethodsPercent(), - 'testedClassesPercent' => $node->getTestedClassesAndTraitsPercent(false), - 'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent(), - 'crap' => 'CRAP' - ) - ); - - $items .= $this->renderFunctionItems( - $node->getFunctions(), - $methodItemTemplate - ); - - $items .= $this->renderTraitOrClassItems( - $node->getTraits(), - $template, - $methodItemTemplate - ); - - $items .= $this->renderTraitOrClassItems( - $node->getClasses(), - $template, - $methodItemTemplate - ); - - return $items; - } - - /** - * @param array $items - * @param Text_Template $template - * @param Text_Template $methodItemTemplate - * @return string - */ - protected function renderTraitOrClassItems(array $items, Text_Template $template, Text_Template $methodItemTemplate) - { - if (empty($items)) { - return ''; - } - - $buffer = ''; - - foreach ($items as $name => $item) { - $numMethods = count($item['methods']); - $numTestedMethods = 0; - - foreach ($item['methods'] as $method) { - if ($method['executedLines'] == $method['executableLines']) { - $numTestedMethods++; - } - } - - $buffer .= $this->renderItemTemplate( - $template, - array( - 'name' => $name, - 'numClasses' => 1, - 'numTestedClasses' => $numTestedMethods == $numMethods ? 1 : 0, - 'numMethods' => $numMethods, - 'numTestedMethods' => $numTestedMethods, - 'linesExecutedPercent' => PHP_CodeCoverage_Util::percent( - $item['executedLines'], - $item['executableLines'], - false - ), - 'linesExecutedPercentAsString' => PHP_CodeCoverage_Util::percent( - $item['executedLines'], - $item['executableLines'], - true - ), - 'numExecutedLines' => $item['executedLines'], - 'numExecutableLines' => $item['executableLines'], - 'testedMethodsPercent' => PHP_CodeCoverage_Util::percent( - $numTestedMethods, - $numMethods, - false - ), - 'testedMethodsPercentAsString' => PHP_CodeCoverage_Util::percent( - $numTestedMethods, - $numMethods, - true - ), - 'testedClassesPercent' => PHP_CodeCoverage_Util::percent( - $numTestedMethods == $numMethods ? 1 : 0, - 1, - false - ), - 'testedClassesPercentAsString' => PHP_CodeCoverage_Util::percent( - $numTestedMethods == $numMethods ? 1 : 0, - 1, - true - ), - 'crap' => $item['crap'] - ) - ); - - foreach ($item['methods'] as $method) { - $buffer .= $this->renderFunctionOrMethodItem( - $methodItemTemplate, - $method, - ' ' - ); - } - } - - return $buffer; - } - - /** - * @param array $functions - * @param Text_Template $template - * @return string - */ - protected function renderFunctionItems(array $functions, Text_Template $template) - { - if (empty($functions)) { - return ''; - } - - $buffer = ''; - - foreach ($functions as $function) { - $buffer .= $this->renderFunctionOrMethodItem( - $template, - $function - ); - } - - return $buffer; - } - - /** - * @param Text_Template $template - * @return string - */ - protected function renderFunctionOrMethodItem(Text_Template $template, array $item, $indent = '') - { - $numTestedItems = $item['executedLines'] == $item['executableLines'] ? 1 : 0; - - return $this->renderItemTemplate( - $template, - array( - 'name' => sprintf( - '%s%s', - $indent, - $item['startLine'], - htmlspecialchars($item['signature']), - isset($item['functionName']) ? $item['functionName'] : $item['methodName'] - ), - 'numMethods' => 1, - 'numTestedMethods' => $numTestedItems, - 'linesExecutedPercent' => PHP_CodeCoverage_Util::percent( - $item['executedLines'], - $item['executableLines'], - false - ), - 'linesExecutedPercentAsString' => PHP_CodeCoverage_Util::percent( - $item['executedLines'], - $item['executableLines'], - true - ), - 'numExecutedLines' => $item['executedLines'], - 'numExecutableLines' => $item['executableLines'], - 'testedMethodsPercent' => PHP_CodeCoverage_Util::percent( - $numTestedItems, - 1, - false - ), - 'testedMethodsPercentAsString' => PHP_CodeCoverage_Util::percent( - $numTestedItems, - 1, - true - ), - 'crap' => $item['crap'] - ) - ); - } - - /** - * @param PHP_CodeCoverage_Report_Node_File $node - * @return string - */ - protected function renderSource(PHP_CodeCoverage_Report_Node_File $node) - { - $coverageData = $node->getCoverageData(); - $testData = $node->getTestData(); - $codeLines = $this->loadFile($node->getPath()); - $lines = ''; - $i = 1; - - foreach ($codeLines as $line) { - $trClass = ''; - $popoverContent = ''; - $popoverTitle = ''; - - if (array_key_exists($i, $coverageData)) { - $numTests = count($coverageData[$i]); - - if ($coverageData[$i] === null) { - $trClass = ' class="warning"'; - } elseif ($numTests == 0) { - $trClass = ' class="danger"'; - } else { - $lineCss = 'covered-by-large-tests'; - $popoverContent = '
      '; - - if ($numTests > 1) { - $popoverTitle = $numTests . ' tests cover line ' . $i; - } else { - $popoverTitle = '1 test covers line ' . $i; - } - - foreach ($coverageData[$i] as $test) { - if ($lineCss == 'covered-by-large-tests' && $testData[$test]['size'] == 'medium') { - $lineCss = 'covered-by-medium-tests'; - } elseif ($testData[$test]['size'] == 'small') { - $lineCss = 'covered-by-small-tests'; - } - - switch ($testData[$test]['status']) { - case 0: - switch ($testData[$test]['size']) { - case 'small': - $testCSS = ' class="covered-by-small-tests"'; - break; - - case 'medium': - $testCSS = ' class="covered-by-medium-tests"'; - break; - - default: - $testCSS = ' class="covered-by-large-tests"'; - break; - } - break; - - case 1: - case 2: - $testCSS = ' class="warning"'; - break; - - case 3: - $testCSS = ' class="danger"'; - break; - - case 4: - $testCSS = ' class="danger"'; - break; - - default: - $testCSS = ''; - } - - $popoverContent .= sprintf( - '%s', - $testCSS, - htmlspecialchars($test) - ); - } - - $popoverContent .= '
    '; - $trClass = ' class="' . $lineCss . ' popin"'; - } - } - - if (!empty($popoverTitle)) { - $popover = sprintf( - ' data-title="%s" data-content="%s" data-placement="bottom" data-html="true"', - $popoverTitle, - htmlspecialchars($popoverContent) - ); - } else { - $popover = ''; - } - - $lines .= sprintf( - ' %s' . "\n", - $trClass, - $popover, - $i, - $i, - $i, - $line - ); - - $i++; - } - - return $lines; - } - - /** - * @param string $file - * @return array - */ - protected function loadFile($file) - { - $buffer = file_get_contents($file); - $tokens = token_get_all($buffer); - $result = array(''); - $i = 0; - $stringFlag = false; - $fileEndsWithNewLine = substr($buffer, -1) == "\n"; - - unset($buffer); - - foreach ($tokens as $j => $token) { - if (is_string($token)) { - if ($token === '"' && $tokens[$j - 1] !== '\\') { - $result[$i] .= sprintf( - '%s', - htmlspecialchars($token) - ); - - $stringFlag = !$stringFlag; - } else { - $result[$i] .= sprintf( - '%s', - htmlspecialchars($token) - ); - } - - continue; - } - - list($token, $value) = $token; - - $value = str_replace( - array("\t", ' '), - array('    ', ' '), - htmlspecialchars($value, $this->htmlspecialcharsFlags) - ); - - if ($value === "\n") { - $result[++$i] = ''; - } else { - $lines = explode("\n", $value); - - foreach ($lines as $jj => $line) { - $line = trim($line); - - if ($line !== '') { - if ($stringFlag) { - $colour = 'string'; - } else { - switch ($token) { - case T_INLINE_HTML: - $colour = 'html'; - break; - - case T_COMMENT: - case T_DOC_COMMENT: - $colour = 'comment'; - break; - - case T_ABSTRACT: - case T_ARRAY: - case T_AS: - case T_BREAK: - case T_CALLABLE: - case T_CASE: - case T_CATCH: - case T_CLASS: - case T_CLONE: - case T_CONTINUE: - case T_DEFAULT: - case T_ECHO: - case T_ELSE: - case T_ELSEIF: - case T_EMPTY: - case T_ENDDECLARE: - case T_ENDFOR: - case T_ENDFOREACH: - case T_ENDIF: - case T_ENDSWITCH: - case T_ENDWHILE: - case T_EXIT: - case T_EXTENDS: - case T_FINAL: - case T_FINALLY: - case T_FOREACH: - case T_FUNCTION: - case T_GLOBAL: - case T_IF: - case T_IMPLEMENTS: - case T_INCLUDE: - case T_INCLUDE_ONCE: - case T_INSTANCEOF: - case T_INSTEADOF: - case T_INTERFACE: - case T_ISSET: - case T_LOGICAL_AND: - case T_LOGICAL_OR: - case T_LOGICAL_XOR: - case T_NAMESPACE: - case T_NEW: - case T_PRIVATE: - case T_PROTECTED: - case T_PUBLIC: - case T_REQUIRE: - case T_REQUIRE_ONCE: - case T_RETURN: - case T_STATIC: - case T_THROW: - case T_TRAIT: - case T_TRY: - case T_UNSET: - case T_USE: - case T_VAR: - case T_WHILE: - case T_YIELD: - $colour = 'keyword'; - break; - - default: - $colour = 'default'; - } - } - - $result[$i] .= sprintf( - '%s', - $colour, - $line - ); - } - - if (isset($lines[$jj + 1])) { - $result[++$i] = ''; - } - } - } - } - - if ($fileEndsWithNewLine) { - unset($result[count($result)-1]); - } - - return $result; - } -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist deleted file mode 100644 index 5a09c354..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist +++ /dev/null @@ -1,5 +0,0 @@ -
    -
    - {{percent}}% covered ({{level}}) -
    -
    diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css deleted file mode 100644 index cd1c616a..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css +++ /dev/null @@ -1,5 +0,0 @@ -/*! - * Bootstrap v3.3.4 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.min.css b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.min.css deleted file mode 100644 index 7a6f7fe9..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.min.css +++ /dev/null @@ -1 +0,0 @@ -.nvd3 .nv-axis{pointer-events:none;opacity:1}.nvd3 .nv-axis path{fill:none;stroke:#000;stroke-opacity:.75;shape-rendering:crispEdges}.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{fill:none;stroke:#e5e5e5;shape-rendering:crispEdges}.nvd3 .nv-axis .zero line,.nvd3 .nv-axis line.zero{stroke-opacity:.75}.nvd3 .nv-axis .nv-axisMaxMin text{font-weight:700}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nvd3 .nv-axis.nv-disabled{opacity:0}.nvd3 .nv-bars rect{fill-opacity:.75;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-bars rect.hover{fill-opacity:1}.nvd3 .nv-bars .hover rect{fill:#add8e6}.nvd3 .nv-bars text{fill:rgba(0,0,0,0)}.nvd3 .nv-bars .hover text{fill:rgba(0,0,0,1)}.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect,.nvd3 .nv-discretebar .nv-groups rect{stroke-opacity:0;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,.nvd3 .nv-candlestickBar .nv-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover{fill-opacity:1}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:700;fill:rgba(0,0,0,1);stroke:rgba(0,0,0,0)}.nvd3 .nv-boxplot circle{fill-opacity:.5}.nvd3 .nv-boxplot circle:hover{fill-opacity:1}.nvd3 .nv-boxplot rect:hover{fill-opacity:1}.nvd3 line.nv-boxplot-median{stroke:#000}.nv-boxplot-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-measure:hover{fill-opacity:1}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect{stroke:#d62728;fill:#d62728}.with-transitions .nv-candlestickBar .nv-ticks .nv-tick{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-candlestickBar .nv-ticks line{stroke:#333}.nvd3 .nv-legend .nv-disabled rect{}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-width:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3.nv-linePlusBar .nv-bar rect:hover{fill-opacity:1}.nvd3 .nv-groups path.nv-line{fill:none}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point{fill-opacity:0;stroke-opacity:0}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.with-transitions .nvd3 .nv-groups .nv-point{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-scatter .nv-groups .nv-point.hover,.nvd3 .nv-groups .nv-point.hover{stroke-width:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}svg.nvd3-svg{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none;display:block;width:100%;height:100%}.nvtooltip.with-3d-shadow,.with-3d-shadow .nvtooltip{-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nvd3 text{font:400 12px Arial}.nvd3 .title{font:700 14px Arial}.nvd3 .nv-background{fill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brush .extent{fill-opacity:.125;shape-rendering:crispEdges}.nv-brush .resize path{fill:#eee;stroke:#666}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-opacity:0}.nvd3 .nv-brush .extent{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background path{fill:none;stroke:#EEE;stroke-opacity:.4;shape-rendering:crispEdges}.nvd3 .foreground path{fill:none;stroke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .extent{fill:#fff;fill-opacity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .hover{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;stroke:#000;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie path{stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-pie .nv-pie-title{font-size:24px;fill:rgba(19,196,249,.59)}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3.nv-pie path{stroke:#fff;stroke-width:1px;stroke-opacity:1}.nvd3.nv-pie .hover path{fill-opacity:.7}.nvd3.nv-pie .nv-label{pointer-events:none}.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3 .nv-scatter .nv-point.hover{fill-opacity:1}.nv-noninteractive{pointer-events:none}.nv-distx,.nv-disty{pointer-events:none}.nvd3.nv-sparkline path{fill:none}.nvd3.nv-sparklineplus g.nv-hoverValue{pointer-events:none}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3 .nv-hoverArea{fill-opacity:0;stroke-opacity:0}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position:absolute;background-color:rgba(255,255,255,1);color:rgba(0,0,0,1);padding:1px;border:1px solid rgba(0,0,0,.2);z-index:10000;display:block;font-family:Arial;font-size:13px;text-align:left;pointer-events:none;white-space:nowrap;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.nvtooltip{background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.5);border-radius:4px}.nvtooltip.with-transitions,.with-transitions .nvtooltip{transition:opacity 50ms linear;-moz-transition:opacity 50ms linear;-webkit-transition:opacity 50ms linear;transition-delay:200ms;-moz-transition-delay:200ms;-webkit-transition-delay:200ms}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtooltip{padding:8px}.nvtooltip h3{margin:0;padding:4px 14px;line-height:18px;font-weight:400;background-color:rgba(247,247,247,.75);color:rgba(0,0,0,1);text-align:center;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.nvtooltip p{margin:0;padding:5px 14px;text-align:center}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padding:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.key{font-weight:400}.nvtooltip table td.value{text-align:right;font-weight:700}.nvtooltip table tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bottom-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.legend-color-guide div{width:8px;height:8px;vertical-align:middle}.nvtooltip table td.legend-color-guide div{width:12px;height:12px;border:1px solid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-removal{pointer-events:none;display:none}.nvd3 .nv-interactiveGuideLine{pointer-events:none}.nvd3 line.nv-guideline{stroke:#ccc} \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css deleted file mode 100644 index 824fb317..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css +++ /dev/null @@ -1,122 +0,0 @@ -body { - padding-top: 10px; -} - -.popover { - max-width: none; -} - -.glyphicon { - margin-right:.25em; -} - -.table-bordered>thead>tr>td { - border-bottom-width: 1px; -} - -.table tbody>tr>td, .table thead>tr>td { - padding-top: 3px; - padding-bottom: 3px; -} - -.table-condensed tbody>tr>td { - padding-top: 0; - padding-bottom: 0; -} - -.table .progress { - margin-bottom: inherit; -} - -.table-borderless th, .table-borderless td { - border: 0 !important; -} - -.table tbody tr.covered-by-large-tests, li.covered-by-large-tests, tr.success, td.success, li.success, span.success { - background-color: #dff0d8; -} - -.table tbody tr.covered-by-medium-tests, li.covered-by-medium-tests { - background-color: #c3e3b5; -} - -.table tbody tr.covered-by-small-tests, li.covered-by-small-tests { - background-color: #99cb84; -} - -.table tbody tr.danger, .table tbody td.danger, li.danger, span.danger { - background-color: #f2dede; -} - -.table tbody td.warning, li.warning, span.warning { - background-color: #fcf8e3; -} - -.table tbody td.info { - background-color: #d9edf7; -} - -td.big { - width: 117px; -} - -td.small { -} - -td.codeLine { - font-family: monospace; - white-space: pre; -} - -td span.comment { - color: #888a85; -} - -td span.default { - color: #2e3436; -} - -td span.html { - color: #888a85; -} - -td span.keyword { - color: #2e3436; - font-weight: bold; -} - -pre span.string { - color: #2e3436; -} - -span.success, span.warning, span.danger { - margin-right: 2px; - padding-left: 10px; - padding-right: 10px; - text-align: center; -} - -#classCoverageDistribution, #classComplexity { - height: 200px; - width: 475px; -} - -#toplink { - position: fixed; - left: 5px; - bottom: 5px; - outline: 0; -} - -svg text { - font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; - color: #666; - fill: #666; -} - -.scrollbox { - height:245px; - overflow-x:hidden; - overflow-y:scroll; -} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist deleted file mode 100644 index ed189886..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist +++ /dev/null @@ -1,284 +0,0 @@ - - - - - Dashboard for {{full_path}} - - - - - - - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -

    Classes

    -
    -
    -
    -
    -

    Coverage Distribution

    -
    - -
    -
    -
    -

    Complexity

    -
    - -
    -
    -
    -
    -
    -

    Insufficient Coverage

    -
    - - - - - - - - -{{insufficient_coverage_classes}} - -
    ClassCoverage
    -
    -
    -
    -

    Project Risks

    -
    - - - - - - - - -{{project_risks_classes}} - -
    ClassCRAP
    -
    -
    -
    -
    -
    -

    Methods

    -
    -
    -
    -
    -

    Coverage Distribution

    -
    - -
    -
    -
    -

    Complexity

    -
    - -
    -
    -
    -
    -
    -

    Insufficient Coverage

    -
    - - - - - - - - -{{insufficient_coverage_methods}} - -
    MethodCoverage
    -
    -
    -
    -

    Project Risks

    -
    - - - - - - - - -{{project_risks_methods}} - -
    MethodCRAP
    -
    -
    -
    - -
    - - - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist deleted file mode 100644 index efe743f5..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Code Coverage for {{full_path}} - - - - - - -
    -
    -
    -
    - -
    -
    -
    -
    -
    - - - - - - - - - - - - - - -{{items}} - -
     
    Code Coverage
     
    Lines
    Functions and Methods
    Classes and Traits
    - -
    - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist deleted file mode 100644 index 78dbb356..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist +++ /dev/null @@ -1,13 +0,0 @@ - - {{icon}}{{name}} - {{lines_bar}} -
    {{lines_executed_percent}}
    -
    {{lines_number}}
    - {{methods_bar}} -
    {{methods_tested_percent}}
    -
    {{methods_number}}
    - {{classes_bar}} -
    {{classes_tested_percent}}
    -
    {{classes_number}}
    - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist deleted file mode 100644 index 59a06843..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist +++ /dev/null @@ -1,90 +0,0 @@ - - - - - Code Coverage for {{full_path}} - - - - - - -
    -
    -
    -
    - -
    -
    -
    -
    -
    - - - - - - - - - - - - - - -{{items}} - -
     
    Code Coverage
     
    Classes and Traits
    Functions and Methods
    Lines
    - - -{{lines}} - -
    - -
    - - - - - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist deleted file mode 100644 index 756fdd69..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist +++ /dev/null @@ -1,14 +0,0 @@ - - {{name}} - {{classes_bar}} -
    {{classes_tested_percent}}
    -
    {{classes_number}}
    - {{methods_bar}} -
    {{methods_tested_percent}}
    -
    {{methods_number}}
    - {{crap}} - {{lines_bar}} -
    {{lines_executed_percent}}
    -
    {{lines_number}}
    - - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index b93a4953fff68df523aa7656497ee339d6026d64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20127 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc609ab6f21774de0cb7e01360095584f65b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45404 zcmd?Sd0-pWwLh*qi$?oCk~i6sWlOeWJC3|4juU5JNSu9hSVACzERcmjLV&P^utNzg zIE4Kr1=5g!SxTX#Ern9_%4&01rlrW`Z!56xXTGQR4C z3vR~wXq>NDx$c~e?;ia3YjJ*$!C>69a?2$lLyhpI!CFfJsP=|`8@K0|bbMpWwVUEygg0=0x_)HeHpGSJagJNLA3c!$EuOV>j$wi! zbo{vZ(s8tl>@!?}dmNHXo)ABy7ohD7_1G-P@SdJWT8*oeyBVYVW9*vn}&VI4q++W;Z+uz=QTK}^C75!`aFYCX# zf7fC2;o`%!huaTNJAB&VWrx=szU=VLhwnbT`vc<#<`4WI6n_x@AofA~2d90o?1L3w z9!I|#P*NQ)$#9aASijuw>JRld^-t)Zhmy|i-`Iam|IWkguaMR%lhi4p~cX-9& zjfbx}yz}s`4-6>D^+6FzihR)Y!GsUy=_MWi_v7y#KmYi-{iZ+s@ekkq!@Wxz!~BQwiI&ti z>hC&iBe2m(dpNVvSbZe3DVgl(dxHt-k@{xv;&`^c8GJY%&^LpM;}7)B;5Qg5J^E${ z7z~k8eWOucjX6)7q1a%EVtmnND8cclz8R1=X4W@D8IDeUGXxEWe&p>Z*voO0u_2!! zj3dT(Ki+4E;uykKi*yr?w6!BW2FD55PD6SMj`OfBLwXL5EA-9KjpMo4*5Eqs^>4&> z8PezAcn!9jk-h-Oo!E9EjX8W6@EkTHeI<@AY{f|5fMW<-Ez-z)xCvW3()Z#x0oydB zzm4MzY^NdpIF9qMp-jU;99LjlgY@@s+=z`}_%V*xV7nRV*Kwrx-i`FzI0BZ#yOI8# z!SDeNA5b6u9!Imj89v0(g$;dT_y|Yz!3V`i{{_dez8U@##|X9A};s^7vEd!3AcdyVlhVk$v?$O442KIM1-wX^R{U7`JW&lPr3N(%kXfXT_`7w^? z=#ntx`tTF|N$UT?pELvw7T*2;=Q-x@KmDUIbLyXZ>f5=y7z1DT<7>Bp0k;eItHF?1 zErzhlD2B$Tm|^7DrxnTYm-tgg`Mt4Eivp5{r$o9e)8(fXBO4g|G^6Xy?y$SM*&V52 z6SR*%`%DZC^w(gOWQL?6DRoI*hBNT)xW9sxvmi@!vI^!mI$3kvAMmR_q#SGn3zRb_ zGe$=;Tv3dXN~9XuIHow*NEU4y&u}FcZEZoSlXb9IBOA}!@J3uovp}yerhPMaiI8|SDhvWVr z^BE&yx6e3&RYqIg;mYVZ*3#A-cDJ;#ms4txEmwm@g^s`BB}KmSr7K+ruIoKs=s|gOXP|2 zb1!)87h9?(+1^QRWb(Vo8+@G=o24gyuzF3ytfsKjTHZJ}o{YznGcTDm!s)DRnmOX} z3pPL4wExoN$kyc2>#J`k+<67sy-VsfbQ-1u+HkyFR?9G`9r6g4*8!(!c65Be-5hUg zZHY$M0k(Yd+DT1*8)G(q)1&tDl=g9H7!bZTOvEEFnBOk_K=DXF(d4JOaH zI}*A3jGmy{gR>s}EQzyJa_q_?TYPNXRU1O;fcV_&TQZhd{@*8Tgpraf~nT0BYktu*n{a~ub^UUqQPyr~yBY{k2O zgV)honv{B_CqY|*S~3up%Wn%7i*_>Lu|%5~j)}rQLT1ZN?5%QN`LTJ}vA!EE=1`So z!$$Mv?6T)xk)H8JTrZ~m)oNXxS}pwPd#);<*>zWsYoL6iK!gRSBB{JCgB28C#E{T? z5VOCMW^;h~eMke(w6vLlKvm!!TyIf;k*RtK)|Q>_@nY#J%=h%aVb)?Ni_By)XNxY)E3`|}_u}fn+Kp^3p4RbhFUBRtGsDyx9Eolg77iWN z2iH-}CiM!pfYDIn7;i#Ui1KG01{3D<{e}uWTdlX4Vr*nsb^>l0%{O?0L9tP|KGw8w z+T5F}md>3qDZQ_IVkQ|BzuN08uN?SsVt$~wcHO4pB9~ykFTJO3g<4X({-Tm1w{Ufo zI03<6KK`ZjqVyQ(>{_aMxu7Zm^ck&~)Q84MOsQ-XS~{6j>0lTl@lMtfWjj;PT{nlZ zIn0YL?kK7CYJa)(8?unZ)j8L(O}%$5S#lTcq{rr5_gqqtZ@*0Yw4}OdjL*kBv+>+@ z&*24U=y{Nl58qJyW1vTwqsvs=VRAzojm&V zEn6=WzdL1y+^}%Vg!ap>x%%nFi=V#wn# zUuheBR@*KS)5Mn0`f=3fMwR|#-rPMQJg(fW*5e`7xO&^UUH{L(U8D$JtI!ac!g(Ze89<`UiO@L+)^D zjPk2_Ie0p~4|LiI?-+pHXuRaZKG$%zVT0jn!yTvvM^jlcp`|VSHRt-G@_&~<4&qW@ z?b#zIN)G(}L|60jer*P7#KCu*Af;{mpWWvYK$@Squ|n-Vtfgr@ZOmR5Xpl;0q~VILmjk$$mgp+`<2jP z@+nW5Oap%fF4nFwnVwR7rpFaOdmnfB$-rkO6T3#w^|*rft~acgCP|ZkgA6PHD#Of| zY%E!3tXtsWS`udLsE7cSE8g@p$ceu*tI71V31uA7jwmXUCT7+Cu3uv|W>ZwD{&O4Nfjjvl43N#A$|FWxId! z%=X!HSiQ-#4nS&smww~iXRn<-`&zc)nR~js?|Ei-cei$^$KsqtxNDZvl1oavXK#Pz zT&%Wln^Y5M95w=vJxj0a-ko_iQt(LTX_5x#*QfQLtPil;kkR|kz}`*xHiLWr35ajx zHRL-QQv$|PK-$ges|NHw8k6v?&d;{A$*q15hz9{}-`e6ys1EQ1oNNKDFGQ0xA!x^( zkG*-ueZT(GukSnK&Bs=4+w|(kuWs5V_2#3`!;f}q?>xU5IgoMl^DNf+Xd<=sl2XvkqviJ>d?+G@Z5nxxd5Sqd$*ENUB_mb8Z+7CyyU zA6mDQ&e+S~w49csl*UePzY;^K)Fbs^%?7;+hFc(xz#mWoek4_&QvmT7Fe)*{h-9R4 zqyXuN5{)HdQ6yVi#tRUO#M%;pL>rQxN~6yoZ)*{{!?jU)RD*oOxDoTjVh6iNmhWNC zB5_{R=o{qvxEvi(khbRS`FOXmOO|&Dj$&~>*oo)bZz%lPhEA@ zQ;;w5eu5^%i;)w?T&*=UaK?*|U3~{0tC`rvfEsRPgR~16;~{_S2&=E{fE2=c>{+y} zx1*NTv-*zO^px5TA|B```#NetKg`19O!BK*-#~wDM@KEllk^nfQ2quy25G%)l72<> zzL$^{DDM#jKt?<>m;!?E2p0l12`j+QJjr{Lx*47Nq(v6i3M&*P{jkZB{xR?NOSPN% zU>I+~d_ny=pX??qjF*E78>}Mgts@_yn`)C`wN-He_!OyE+gRI?-a>Om>Vh~3OX5+& z6MX*d1`SkdXwvb7KH&=31RCC|&H!aA1g_=ZY0hP)-Wm6?A7SG0*|$mC7N^SSBh@MG z9?V0tv_sE>X==yV{)^LsygK2=$Mo_0N!JCOU?r}rmWdHD%$h~~G3;bt`lH& zAuOOZ=G1Mih**0>lB5x+r)X^8mz!0K{SScj4|a=s^VhUEp#2M=^#WRqe?T&H9GnWa zYOq{+gBn9Q0e0*Zu>C(BAX=I-Af9wIFhCW6_>TsIH$d>|{fIrs&BX?2G>GvFc=<8` zVJ`#^knMU~65dWGgXcht`Kb>{V2oo%<{NK|iH+R^|Gx%q+env#Js*(EBT3V0=w4F@W+oLFsA)l7Qy8mx_;6Vrk;F2RjKFvmeq} zro&>@b^(?f))OoQ#^#s)tRL>b0gzhRYRG}EU%wr9GjQ#~Rpo|RSkeik^p9x2+=rUr}vfnQoeFAlv=oX%YqbLpvyvcZ3l$B z5bo;hDd(fjT;9o7g9xUg3|#?wU2#BJ0G&W1#wn?mfNR{O7bq747tc~mM%m%t+7YN}^tMa24O4@w<|$lk@pGx!;%pKiq&mZB z?3h<&w>un8r?Xua6(@Txu~Za9tI@|C4#!dmHMzDF_-_~Jolztm=e)@vG11bZQAs!tFvd9{C;oxC7VfWq377Y(LR^X_TyX9bn$)I765l=rJ%9uXcjggX*r?u zk|0!db_*1$&i8>d&G3C}A`{Fun_1J;Vx0gk7P_}8KBZDowr*8$@X?W6v^LYmNWI)lN92yQ;tDpN zOUdS-W4JZUjwF-X#w0r;97;i(l}ZZT$DRd4u#?pf^e2yaFo zbm>I@5}#8FjsmigM8w_f#m4fEP~r~_?OWB%SGWcn$ThnJ@Y`ZI-O&Qs#Y14To( zWAl>9Gw7#}eT(!c%D0m>5D8**a@h;sLW=6_AsT5v1Sd_T-C4pgu_kvc?7+X&n_fct znkHy(_LExh=N%o3I-q#f$F4QJpy>jZBW zRF7?EhqTGk)w&Koi}QQY3sVh?@e-Z3C9)P!(hMhxmXLC zF_+ZSTQU`Gqx@o(~B$dbr zHlEUKoK&`2gl>zKXlEi8w6}`X3kh3as1~sX5@^`X_nYl}hlbpeeVlj#2sv)CIMe%b zBs7f|37f8qq}gA~Is9gj&=te^wN8ma?;vF)7gce;&sZ64!7LqpR!fy)?4cEZposQ8 zf;rZF7Q>YMF1~eQ|Z*!5j0DuA=`~VG$Gg6B?Om1 z6fM@`Ck-K*k(eJ)Kvysb8sccsFf@7~3vfnC=<$q+VNv)FyVh6ZsWw}*vs>%k3$)9| zR9ek-@pA23qswe1io)(Vz!vS1o*XEN*LhVYOq#T`;rDkgt86T@O`23xW~;W_#ZS|x zvwx-XMb7_!hIte-#JNpFxskMMpo2OYhHRr0Yn8d^(jh3-+!CNs0K2B!1dL$9UuAD= zQ%7Ae(Y@}%Cd~!`h|wAdm$2WoZ(iA1(a_-1?znZ%8h72o&Mm*4x8Ta<4++;Yr6|}u zW8$p&izhdqF=m8$)HyS2J6cKyo;Yvb>DTfx4`4R{ zPSODe9E|uflE<`xTO=r>u~u=NuyB&H!(2a8vwh!jP!yfE3N>IiO1jI>7e&3rR#RO3_}G23W?gwDHgSgekzQ^PU&G5z&}V5GO? zfg#*72*$DP1T8i`S7=P;bQ8lYF9_@8^C(|;9v8ZaK2GnWz4$Th2a0$)XTiaxNWfdq z;yNi9veH!j)ba$9pke8`y2^63BP zIyYKj^7;2don3se!P&%I2jzFf|LA&tQ=NDs{r9fIi-F{-yiG-}@2`VR^-LIFN8BC4 z&?*IvLiGHH5>NY(Z^CL_A;yISNdq58}=u~9!Ia7 zm7MkDiK~lsfLpvmPMo!0$keA$`%Tm`>Fx9JpG^EfEb(;}%5}B4Dw!O3BCkf$$W-dF z$BupUPgLpHvr<<+QcNX*w@+Rz&VQz)Uh!j4|DYeKm5IC05T$KqVV3Y|MSXom+Jn8c zgUEaFW1McGi^44xoG*b0JWE4T`vka7qTo#dcS4RauUpE{O!ZQ?r=-MlY#;VBzhHGU zS@kCaZ*H73XX6~HtHd*4qr2h}Pf0Re@!WOyvres_9l2!AhPiV$@O2sX>$21)-3i+_ z*sHO4Ika^!&2utZ@5%VbpH(m2wE3qOPn-I5Tbnt&yn9{k*eMr3^u6zG-~PSr(w$p> zw)x^a*8Ru$PE+{&)%VQUvAKKiWiwvc{`|GqK2K|ZMy^Tv3g|zENL86z7i<c zW`W>zV1u}X%P;Ajn+>A)2iXZbJ5YB_r>K-h5g^N=LkN^h0Y6dPFfSBh(L`G$D%7c` z&0RXDv$}c7#w*7!x^LUes_|V*=bd&aP+KFi((tG*gakSR+FA26%{QJdB5G1F=UuU&koU*^zQA=cEN9}Vd?OEh| zgzbFf1?@LlPkcXH$;YZe`WEJ3si6&R2MRb}LYK&zK9WRD=kY-JMPUurX-t4(Wy{%` zZ@0WM2+IqPa9D(^*+MXw2NWwSX-_WdF0nMWpEhAyotIgqu5Y$wA=zfuXJ0Y2lL3#ji26-P3Z?-&0^KBc*`T$+8+cqp`%g0WB zTH9L)FZ&t073H4?t=(U6{8B+uRW_J_n*vW|p`DugT^3xe8Tomh^d}0k^G7$3wLgP& zn)vTWiMA&=bR8lX9H=uh4G04R6>C&Zjnx_f@MMY!6HK5v$T%vaFm;E8q=`w2Y}ucJ zkz~dKGqv9$E80NTtnx|Rf_)|3wxpnY6nh3U9<)fv2-vhQ6v=WhKO@~@X57N-`7Ppc zF;I7)eL?RN23FmGh0s;Z#+p)}-TgTJE%&>{W+}C`^-sy{gTm<$>rR z-X7F%MB9Sf%6o7A%ZHReD4R;imU6<9h81{%avv}hqugeaf=~^3A=x(Om6Lku-Pn9i zC;LP%Q7Xw*0`Kg1)X~nAsUfdV%HWrpr8dZRpd-#%)c#Fu^mqo|^b{9Mam`^Zw_@j@ zR&ZdBr3?@<@%4Z-%LT&RLgDUFs4a(CTah_5x4X`xDRugi#vI-cw*^{ncwMtA4NKjByYBza)Y$hozZCpuxL{IP&=tw6ZO52WY3|iwGf&IJCn+u(>icK zZB1~bWXCmwAUz|^<&ysd#*!DSp8}DLNbl5lRFat4NkvItxy;9tpp9~|@ z;JctShv^Iq4(z+y7^j&I?GCdKMVg&jCwtCkc4*@O7HY*veGDBtAIn*JgD$QftP}8= zxFAdF=(S>Ra6(4slk#h%b?EOU-96TIX$Jbfl*_7IY-|R%H zF8u|~hYS-YwWt5+^!uGcnKL~jM;)ObZ#q68ZkA?}CzV-%6_vPIdzh_wHT_$mM%vws9lxUj;E@#1UX?WO2R^41(X!nk$+2oJGr!sgcbn1f^yl1 z#pbPB&Bf;1&2+?};Jg5qgD1{4_|%X#s48rOLE!vx3@ktstyBsDQWwDz4GYlcgu$UJ zp|z_32yN72T*oT$SF8<}>e;FN^X&vWNCz>b2W0rwK#<1#kbV)Cf`vN-F$&knLo5T& z8!sO-*^x4=kJ$L&*h%rQ@49l?7_9IG99~xJDDil00<${~D&;kiqRQqeW5*22A`8I2 z(^@`qZoF7_`CO_e;8#qF!&g>UY;wD5MxWU>azoo=E{kW(GU#pbOi%XAn%?W{b>-bTt&2?G=E&BnK9m0zs{qr$*&g8afR_x`B~o zd#dxPpaap;I=>1j8=9Oj)i}s@V}oXhP*{R|@DAQXzQJekJnmuQ;vL90_)H_nD1g6e zS1H#dzg)U&6$fz0g%|jxDdz|FQN{KJ&Yx0vfuzAFewJjv`pdMRpY-wU`-Y6WQnJ(@ zGVb!-8DRJZvHnRFiR3PG3Tu^nCn(CcZHh7hQvyd7i6Q3&ot86XI{jo%WZqCPcTR0< zMRg$ZE=PQx66ovJDvI_JChN~k@L^Pyxv#?X^<)-TS5gk`M~d<~j%!UOWG;ZMi1af< z+86U0=sm!qAVJAIqqU`Qs1uJhQJA&n@9F1PUrYuW!-~IT>l$I!#5dBaiAK}RUufjg{$#GdQBkxF1=KU2E@N=i^;xgG2Y4|{H>s` z$t`k8c-8`fS7Yfb1FM#)vPKVE4Uf(Pk&%HLe z%^4L>@Z^9Z{ZOX<^e)~adVRkKJDanJ6VBC_m@6qUq_WF@Epw>AYqf%r6qDzQ~AEJ!jtUvLp^CcqZ^G-;Kz3T;O4WG45Z zFhrluCxlY`M+OKr2SeI697btH7Kj`O>A!+2DTEQ=48cR>Gg2^5uqp(+y5Sl09MRl* zp|28!v*wvMd_~e2DdKDMMQ|({HMn3D%%ATEecGG8V9>`JeL)T0KG}=}6K8NiSN5W< z79-ZdYWRUb`T}(b{RjN8>?M~opnSRl$$^gT`B27kMym5LNHu-k;A;VF8R(HtDYJHS zU7;L{a@`>jd0svOYKbwzq+pWSC(C~SPgG~nWR3pBA8@OICK$Cy#U`kS$I;?|^-SBC zBFkoO8Z^%8Fc-@X!KebF2Ob3%`8zlVHj6H;^(m7J35(_bS;cZPd}TY~qixY{MhykQ zV&7u7s%E=?i`}Ax-7dB0ih47w*7!@GBt<*7ImM|_mYS|9_K7CH+i}?*#o~a&tF-?C zlynEu1DmiAbGurEX2Flfy$wEVk7AU;`k#=IQE*6DMWafTL|9-vT0qs{A3mmZGzOyN zcM9#Rgo7WgB_ujU+?Q@Ql?V-!E=jbypS+*chI&zA+C_3_@aJal}!Q54?qsL0In({Ly zjH;e+_SK8yi0NQB%TO+Dl77jp#2pMGtwsgaC>K!)NimXG3;m7y`W+&<(ZaV>N*K$j zLL~I+6ouPk6_(iO>61cIsinx`5}DcKSaHjYkkMuDoVl>mKO<4$F<>YJ5J9A2Vl}#BP7+u~L8C6~D zsk`pZ$9Bz3teQS1Wb|8&c2SZ;qo<#F&gS;j`!~!ADr(jJXMtcDJ9cVi>&p3~{bqaP zgo%s8i+8V{UrYTc9)HiUR_c?cfx{Yan2#%PqJ{%?Wux4J;T$#cumM0{Es3@$>}DJg zqe*c8##t;X(4$?A`ve)e@YU3d2Balcivot{1(ahlE5qg@S-h(mPNH&`pBX$_~HdG48~)$x5p z{>ghzqqn_t8~pY<5?-To>cy^6o~mifr;KWvx_oMtXOw$$d6jddXG)V@a#lL4o%N@A zNJlQAz6R8{7jax-kQsH6JU_u*En%k^NHlvBB!$JAK!cYmS)HkLAkm0*9G3!vwMIWv zo#)+EamIJHEUV|$d|<)2iJ`lqBQLx;HgD}c3mRu{iK23C>G{0Mp1K)bt6OU?xC4!_ zZLqpFzeu&+>O1F>%g-%U^~yRg(-wSp@vmD-PT#bCWy!%&H;qT7rfuRCEgw67V!Qob z&tvPU@*4*$YF#2_>M0(75QxqrJr3Tvh~iDeFhxl=MzV@(psx%G8|I{~9;tv#BBE`l z3)_98eZqFNwEF1h)uqhBmT~mSmT8k$7vSHdR97K~kM)P9PuZdS;|Op4A?O<*%!?h` zn`}r_j%xvffs46x2hCWuo0BfIQWCw9aKkH==#B(TJ%p}p-RuIVzsRlaPL_Co{&R0h zQrqn=g1PGjQg3&sc2IlKG0Io#v%@p>tFwF)RG0ahYs@Zng6}M*d}Xua)+h&?$`%rb z;>M=iMh5eIHuJ5c$aC`y@CYjbFsJnSPH&}LQz4}za9YjDuao>Z^EdL@%saRm&LGQWXs*;FzwN#pH&j~SLhDZ+QzhplV_ij(NyMl z;v|}amvxRddO81LJFa~2QFUs z+Lk zZck)}9uK^buJNMo4G(rSdX{57(7&n=Q6$QZ@lIO9#<3pA2ceDpO_340B*pHlh_y{>i&c1?vdpN1j>3UN-;;Yq?P+V5oY`4Z(|P8SwWq<)n`W@AwcQ?E9 zd5j8>FT^m=MHEWfN9jS}UHHsU`&SScib$qd0i=ky0>4dz5ADy70AeIuSzw#gHhQ_c zOp1!v6qU)@8MY+ zMNIID?(CysRc2uZQ$l*QZVY)$X?@4$VT^>djbugLQJdm^P>?51#lXBkdXglYm|4{L zL%Sr?2f`J+xrcN@=0tiJt(<-=+v>tHy{XaGj7^cA6felUn_KPa?V4ebfq7~4i~GKE zpm)e@1=E;PP%?`vK6KVPKXjUXyLS1^NbnQ&?z>epHCd+J$ktT1G&L~T)nQeExe;0Z zlei}<_ni ztFo}j7nBl$)s_3odmdafVieFxc)m!wM+U`2u%yhJ90giFcU1`dR6BBTKc2cQ*d zm-{?M&%(={xYHy?VCx!ogr|4g5;V{2q(L?QzJGsirn~kWHU`l`rHiIrc-Nan!hR7zaLsPr4uR zG{En&gaRK&B@lyWV@yfFpD_^&z>84~_0Rd!v(Nr%PJhFF_ci3D#ixf|(r@$igZiWw za*qbXIJ_Hm4)TaQ=zW^g)FC6uvyO~Hg-#Z5Vsrybz6uOTF>Rq1($JS`imyNB7myWWpxYL(t7`H8*voI3Qz6mvm z$JxtArLJ(1wlCO_te?L{>8YPzQ})xJlvc5wv8p7Z=HviPYB#^#_vGO#*`<0r%MR#u zN_mV4vaBb2RwtoOYCw)X^>r{2a0kK|WyEYoBjGxcObFl&P*??)WEWKU*V~zG5o=s@ z;rc~uuQQf9wf)MYWsWgPR!wKGt6q;^8!cD_vxrG8GMoFGOVV=(J3w6Xk;}i)9(7*U zwR4VkP_5Zx7wqn8%M8uDj4f1aP+vh1Wue&ry@h|wuN(D2W;v6b1^ z`)7XBZ385zg;}&Pt@?dunQ=RduGRJn^9HLU&HaeUE_cA1{+oSIjmj3z+1YiOGiu-H zf8u-oVnG%KfhB8H?cg%@#V5n+L$MO2F4>XoBjBeX>css^h}Omu#)ExTfUE^07KOQS znMfQY2wz?!7!{*C^)aZ^UhMZf=TJNDv8VrrW;JJ9`=|L0`w9DE8MS>+o{f#{7}B4P z{I34>342vLsP}o=ny1eZkEabr@niT5J2AhByUz&i3Ck0H*H`LRHz;>3C_ru!X+EhJ z6(+(lI#4c`2{`q0o9aZhI|jRjBZOV~IA_km7ItNtUa(Wsr*Hmb;b4=;R(gF@GmsRI`pF+0tmq0zy~wnoJD(LSEwHjTOt4xb0XB-+ z&4RO{Snw4G%gS9w#uSUK$Zbb#=jxEl;}6&!b-rSY$0M4pftat-$Q)*y!bpx)R%P>8 zrB&`YEX2%+s#lFCIV;cUFUTIR$Gn2%F(3yLeiG8eG8&)+cpBlzx4)sK?>uIlH+$?2 z9q9wk5zY-xr_fzFSGxYp^KSY0s%1BhsI>ai2VAc8&JiwQ>3RRk?ITx!t~r45qsMnj zkX4bl06ojFCMq<9l*4NHMAtIxDJOX)H=K*$NkkNG<^nl46 zHWH1GXb?Og1f0S+8-((5yaeegCT62&4N*pNQY;%asz9r9Lfr;@Bl${1@a4QAvMLbV6JDp>8SO^q1)#(o%k!QiRSd0eTmzC< zNIFWY5?)+JTl1Roi=nS4%@5iF+%XztpR^BSuM~DX9q`;Mv=+$M+GgE$_>o+~$#?*y zAcD4nd~L~EsAjXV-+li6Lua4;(EFdi|M2qV53`^4|7gR8AJI;0Xb6QGLaYl1zr&eu zH_vFUt+Ouf4SXA~ z&Hh8K@ms^`(hJfdicecj>J^Aqd00^ccqN!-f-!=N7C1?`4J+`_f^nV!B3Q^|fuU)7 z1NDNT04hd4QqE+qBP+>ZE7{v;n3OGN`->|lHjNL5w40pePJ?^Y6bFk@^k%^5CXZ<+4qbOplxpe)l7c6m%o-l1oWmCx%c6@rx85hi(F=v(2 zJ$jN>?yPgU#DnbDXPkHLeQwED5)W5sH#-eS z%#^4dxiVs{+q(Yd^ShMN3GH)!h!@W&N`$L!SbElXCuvnqh{U7lcCvHI#{ZjwnKvu~ zAeo7Pqot+Ohm{8|RJsTr3J4GjCy5UTo_u_~p)MS&Z5UrUc|+;Mc(YS+ju|m3Y_Dvt zonVtpBWlM718YwaN3a3wUNqX;7TqvAFnVUoD5v5WTh~}r)KoLUDw%8Rrqso~bJqd> z_T!&Rmr6ebpV^4|knJZ%qmzL;OvG3~A*loGY7?YS%hS{2R0%NQ@fRoEK52Aiu%gj( z_7~a}eQUh8PnyI^J!>pxB(x7FeINHHC4zLDT`&C*XUpp@s0_B^!k5Uu)^j_uuu^T> z8WW!QK0SgwFHTA%M!L`bl3hHjPp)|wL5Var_*A1-H8LV?uY5&ou{hRjj>#X@rxV>5%-9hbP+v?$4}3EfoRH;l_wSiz{&1<+`Y5%o%q~4rdpRF0jOsCoLnWY5x?V)0ga>CDo`NpqS) z@x`mh1QGkx;f)p-n^*g5M^zRTHz%b2IkLBY{F+HsjrFC9_H(=9Z5W&Eymh~A_FUJ} znhTc9KG((OnjFO=+q>JQZJbeOoUM77M{)$)qQMcxK9f;=L;IOv_J>*~w^YOW744QZ zoG;!b9VD3ww}OX<8sZ0F##8hvfDP{hpa3HjaLsKbLJ8 z0WpY2E!w?&cWi7&N%bOMZD~o7QT*$xCRJ@{t31~qx~+0yYrLXubXh2{_L699Nl_pn z6)9eu+uUTUdjHXYs#pX^L)AIb!FjjNsTp7C399w&B{Q4q%yKfmy}T2uQdU|1EpNcY zDk~(h#AdxybjfzB+mg6rdU9mDZ^V>|U13Dl$Gj+pAL}lR2a1u!SJXU_YqP9N{ose4 zk+$v}BIHX60WSGVWv;S%zvHOWdDP(-ceo(<8`y@Goy%4wDu>57QZNJc)f>Ls+}9h7 z^N=#3q3|l?aG8K#HwiW2^PJu{v|x5;awYfahC?>_af3$LmMc4%N~JwVlRZa4c+eW2 zE!zosAjOv&UeCeu;Bn5OQUC=jtZjF;NDk9$fGbxf3d29SUBekX1!a$Vmq_VK*MHQ4)eB!dQrHH)LVYNF%-t8!d`@!cb z2CsKs3|!}T^7fSZm?0dJ^JE`ZGxA&a!jC<>6_y67On0M)hd$m*RAzo_qM?aeqkm`* zXpDYcc_>TFZYaC3JV>{>mp(5H^efu!Waa7hGTAts29jjuVd1vI*fEeB?A&uG<8dLZ z(j6;-%vJ7R0U9}XkH)1g>&uptXPHBEA*7PSO2TZ+dbhVxspNW~ZQT3fApz}2 z_@0-lZODcd>dLrYp!mHn4k>>7kibI!Em+Vh*;z}l?0qro=aJt68joCr5Jo(Vk<@i) z5BCKb4p6Gdr9=JSf(2Mgr=_6}%4?SwhV+JZj3Ox^_^OrQk$B^v?eNz}d^xRaz&~ zKVnlLnK#8^y=If2f1zmb~^5lPLe?%l}>?~wN4IN((2~U{e9fKhLMtYFj)I$(y zgnKv?R+ZpxA$f)Q2l=aqE6EPTK=i0sY&MDFJp!vQayyvzh4wee<}kybNthRlX>SHh z7S}9he^EBOqzBCww^duHu!u+dnf9veG{HjW!}aT7aJqzze9K6-Z~8pZAgdm1n~aDs z8_s7?WXMPJ3EPJHi}NL&d;lZP8hDhAXf5Hd!x|^kEHu`6QukXrVdLnq5zbI~oPo?7 z2Cbu8U?$K!Z4_yNM1a(bL!GRe!@{Qom+DxjrJ!B99qu5b*Ma%^&-=6UEbC+S2zX&= zQ!%bgJTvmv^2}hhvNQg!l=kbapAgM^hruE3k@jTxsG(B6d=4thBC*4tzVpCYXFc$a zeqgVB^zua)y-YjpiibCCdU%txXYeNFnXcbNj*D?~)5AGjL+!!ij_4{5EWKGav0^={~M^q}baAFOPzxfUM>`KPf|G z&hsaR*7(M6KzTj8Z?;45zX@L#xU{4n$9Q_<-ac(y4g~S|Hyp^-<*d8+P4NHe?~vfm z@y309=`lGdvN8*jw-CL<;o#DKc-%lb0i9a3%{v&2X($|Qxv(_*()&=xD=5oBg=$B0 zU?41h9)JKvP0yR{KsHoC>&`(Uz>?_`tlLjw1&5tPH3FoB%}j;yffm$$s$C=RHi`I3*m@%CPqWnP@B~%DEe;7ZT{9!IMTo1hT3Q347HJ&!)BM2 z3~aClf>aFh0_9||4G}(Npu`9xYY1*SD|M~9!CCFn{-J$u2&Dg*=5$_nozpoD2nxqq zB!--eA8UWZlcEDp4r#vhZ6|vq^9sFvRnA9HpHch5Mq4*T)oGbruj!U8Lx_G%Lby}o zTQ-_4A7b)5A42vA0U}hUJq6&wQ0J%$`w#ph!EGmW96)@{AUx>q6E>-r^Emk!iCR+X zdIaNH`$}7%57D1FyTccs3}Aq0<0Ei{`=S7*>pyg=Kv3nrqblqZcpsCWSQl^uMSsdj zYzh73?6th$c~CI0>%5@!Ej`o)Xm38u0fp9=HE@Sa6l2oX9^^4|Aq%GA z3(AbFR9gA_2T2i%Ck5V2Q2WW-(a&(j#@l6wE4Z`xg#S za#-UWUpU2U!TmIo`CN0JwG^>{+V#9;zvx;ztc$}@NlcyJr?q(Y`UdW6qhq!aWyB5xV1#Jb{I-ghFNO0 zFU~+QgPs{FY1AbiU&S$QSix>*rqYVma<-~s%ALhFyVhAYepId1 zs!gOB&weC18yhE-v6ltKZMV|>JwTX+X)Y_EI(Ff^3$WTD|Ea-1HlP;6L~&40Q&5{0 z$e$2KhUgH8ucMJxJV#M%cs!d~#hR^nRwk|uuCSf6irJCkSyI<%CR==tftx6d%;?ef zYIcjZrP@APzbtOeUe>m-TW}c-ugh+U*RbL1eIY{?>@8aW9bb1NGRy@MTse@>= za%;5=U}X%K2tKTYe9gjMcBvX%qrC&uZ`d(t)g)X8snf?vBe3H%dG=bl^rv8Z@YN$gd9yveHY0@Wt0$s zh^7jCp(q+6XDoekb;=%y=Wr8%6;z0ANH5dDR_VudDG|&_lYykJaiR+(y{zpR=qL3|2e${8 z2V;?jgHj7}Kl(d8C9xWRjhpf_)KOXl+@c4wrHy zL3#9U(`=N59og2KqVh>nK~g9>fX*PI0`>i;;b6KF|8zg+k2hViCt}4dfMdvb1NJ-Rfa7vL2;lPK{Lq*u`JT>S zoM_bZ_?UY6oV6Ja14X^;LqJPl+w?vf*C!nGK;uU^0GRN|UeFF@;H(Hgp8x^|;ygh? zIZx3DuO(lD01ksanR@Mn#lti=p28RTNYY6yK={RMFiVd~k8!@a&^jicZ&rxD3CCI! zVb=fI?;c#f{K4Pp2lnb8iF2mig)|6JEmU86Y%l}m>(VnI*Bj`a6qk8QL&~PFDxI8b z2mcsQBe9$q`Q$LfG2wdvK`M1}7?SwLAV&)nO;kAk`SAz%x9CDVHVbUd$O(*aI@D|s zLxJW7W(QeGpQY<$dSD6U$ja(;Hb3{Zx@)*fIQaW{8<$KJ&fS0caI2Py^clOq9@Irt z7th7F?7W`j{&UmM==Lo~T&^R7A?G=K_e-zfTX|)i`pLitlNE(~tq*}sS1x2}Jlul6 z5+r#4SpQu8h{ntIv#qCVH`uG~+I8l+7ZG&d`Dm!+(rZQDV*1LS^WfH%-!5aTAxry~ z4xl&rot5ct{xQ$w$MtVTUi6tBFSJWq2Rj@?HAX1H$eL*fk{Hq;E`x|hghRkipYNyt zKCO=*KSziiVk|+)qQCGrTYH9X!Z0$k{Nde~0Wl`P{}ca%nv<6fnYw^~9dYxTnTZB&&962jX0DM&wy&8fdxX8xeHSe=UU&Mq zRTaUKnQO|A>E#|PUo+F=Q@dMdt`P*6e92za(TH{5C*2I2S~p?~O@hYiT>1(n^Lqqn zqewq3ctAA%0E)r53*P-a8Ak32mGtUG`L^WVcm`QovX`ecB4E9X60wrA(6NZ7z~*_DV_e z8$I*eZ8m=WtChE{#QzeyHpZ%7GwFHlwo2*tAuloI-j2exx3#x7EL^&D;Re|Kj-XT- zt908^soV2`7s+Hha!d^#J+B)0-`{qIF_x=B811SZlbUe%kvPce^xu7?LY|C z@f1gRPha1jq|=f}Se)}v-7MWH9)YAs*FJ&v3ZT9TSi?e#jarin0tjPNmxZNU_JFJG z+tZi!q)JP|4pQ)?l8$hRaPeoKf!3>MM-bp06RodLa*wD=g3)@pYJ^*YrwSIO!SaZo zDTb!G9d!hb%Y0QdYxqNSCT5o0I!GDD$Z@N!8J3eI@@0AiJmD7brkvF!pJGg_AiJ1I zO^^cKe`w$DsO|1#^_|`6XTfw6E3SJ(agG*G9qj?JiqFSL|6tSD6vUwK?Cwr~gg)Do zp@$D~7~66-=p4`!!UzJDKAymb!!R(}%O?Uel|rMH>OpRGINALtg%gpg`=}M^Q#V5( zMgJY&gF)+;`e38QHI*c%B}m94o&tOfae;og&!J2;6ENW}QeL73jatbI1*9X~y=$Dm%6FwDcnCyMRL}zo`0=y7=}*Uw zo3!qZncAL{HCgY!+}eKr{P8o27ye+;qJP;kOB%RpSesGoHLT6tcYp*6v~Z9NCyb6m zP#qds0jyqXX46qMNhXDn3pyIxw2f_z;L_X9EIB}AhyC`FYI}G3$WnW>#NMy{0aw}nB%1=Z4&*(FaCn5QG(zvdG^pQRU25;{wwG4h z@kuLO0F->{@g2!;NNd!PfqM-;@F0;&wK}0fT9UrH}(8A5I zt33(+&U;CLN|8+71@g z(s!f-kZZZILUG$QXm9iYiE*>2w;gpM>lgM{R9vT3q>qI{ELO2hJHVi`)*jzOk$r)9 zq}$VrE0$GUCm6A3H5J-=Z9i*biw8ng zi<1nM0lo^KqRY@Asucc#DMmWsnCS;5uPR)GL3pL=-IqSd>4&D&NKSGHH?pG;=Xo`w zw~VV9ddkwbp~m>9G0*b?j7-0fOwR?*U#BE#n7A=_fDS>`fwatxQ+`FzhBGQUAyIRZ??eJt46vHBlR>9m!vfb6I)8!v6TmtZ%G6&E|1e zOtx5xy%yOSu+<9Ul5w5N=&~4Oph?I=ZKLX5DXO(*&Po>5KjbY7s@tp$8(fO|`Xy}Y z;NmMypLoG7r#Xz4aHz7n)MYZ7Z1v;DFHLNV{)to;(;TJ=bbMgud96xRMME#0d$z-S z-r1ROBbW^&YdQWA>U|Y>{whex#~K!ZgEEk=LYG8Wqo28NFv)!t!~}quaAt}I^y-m| z8~E{9H2VnyVxb_wCZ7v%y(B@VrM6lzk~|ywCi3HeiSV`TF>j+Ijd|p*kyn;=mqtf8&DK^|*f+y$38+9!sis9N=S)nINm9=CJ<;Y z!t&C>MIeyou4XLM*ywT_JuOXR>VkpFwuT9j5>667A=CU*{TBrMTgb4HuW&!%Yt`;#md7-`R`ouOi$rEd!ErI zo#>qggAcx?C7`rQ2;)~PYCw%CkS(@EJHZ|!!lhi@Dp$*n^mgrrImsS~(ioGak>3)w zvop0lq@IISuA0Ou*#1JkG{U>xSQV1e}c)!d$L1plFX5XDXX5N7Ns{kT{y5|6MfhBD+esT)e7&CgSW8FxsXTAY=}?0A!j_V9 zJ;IJ~d%av<@=fNPJ9)T3qE78kaz64E>dJaYab5uaU`n~Zdp2h{8DV%SKE5G^$LfuOTRRjB;TnT(Jk$r{Pfe4CO!SM_7d)I zquW~FVCpSycJ~c*B*V8?Qqo=GwU8CkmmLFugfHQ7;A{yCy1OL-+X=twLYg9|H=~8H znnN@|tCs^ZLlCBl5wHvYF}2vo>a6%mUWpTds_mt*@wMN4-r`%NTA%+$(`m6{MNpi@ zMx)8f>U4hd!row@gM&PVo&Hx+lV@$j9yWTjTue zG9n0DP<*HUmJ7ZZWwI2x+{t3QEfr6?T}2iXl=6e0b~)J>X3`!fXd9+2wc1%cj&F@Z zgYR|r5Xd5jy9;YW&=4{-0rJ*L5CgDPj9^3%bp-`HkyBs`j1iTUGD4?WilZ6RO8mIE z+~Joc?GID6K96dyuv(dWREK9Os~%?$$FxswxQsoOi8M?RnL%B~Lyk&(-09D0M?^Jy zWjP)n(b)TF<-|CG%!Vz?8Fu&6iU<>oG#kGcrcrrBlfZMVl0wOJvsq%RL9To%iCW@)#& zZAJWhgzYAq)#NTNb~3GBcD%ZZOc43!YWSyA7TD6xkk)n^FaRAz73b}%9d&YisBic(?mv=Iq^r%Ug zzHq-rRrhfOOF+yR=AN!a9*Rd#sM9ONt5h~w)yMP7Dl9lfpi$H0%GPW^lS4~~?vI8Z z%^ToK#NOe0ExmUsb`lLO$W*}yXNOxPe@zD*90uTDULnH6C?InP3J=jYEO2d)&e|mP z1DSd0QOZeuLWo*NqZzopA+LXy9)fJC00NSX=_4Mi1Z)YyZVC>C!g}cY(Amaj%QN+bev|Xxd2OPD zk!dfkY6k!(sDBvsFC2r^?}hb81(WG5Lt9|riT`2?P;B%jaf5UX<~OJ;uAL$=Ien+V zC!V8u0v?CUa)4*Q+Q_u zkx{q;NjLcvyMuU*{+uDsCQ4U{JLowYby-tn@hatL zy}X>9y08#}oytdn^qfFesF)Tt(2!XGw#r%?7&zzFFh2U;#U9XBO8W--#gOpfbJ`Ey z|M8FCKlWQrOJwE;@Sm02l9OBr7N}go4V8ur)}M@m2uWjggb)DC4s`I4d7_8O&E(j; z?3$9~R$QDxNM^rNh9Y;6P7w+bo2q}NEd6f&_raor-v`UCaTM3TT8HK2-$|n{N@U>_ zL-`P7EXoEU5JRMa)?tNUEe8XFis+w8g9k(QQ)%?&Oac}S`2V$b?%`DwXBgja&&fR@ zH_XidF$p1wA)J|Wk1;?lCl?fgc)=TB3>Y8;BoMqHwJqhL)Tgydv9(?(TBX)fq%=~C zmLj!iX-kn7QA(9snzk0LRf<%SzO&~IhLor6A3f*U^UcoAygRe!H#@UCv$JUP&vPxs zeDj$1%#<2T1!e|!7xI+~_VXLl5|jHqvOhU7ZDUGee;HnkcPP=_k_FFxPjXg*9KyI+ zIh0@+s)1JDSuKMeaDZ3|<_*J8{TUFDLl|mXmY8B>Wj_?4mC#=XjsCKPEO=p0c&t&Z zd1%kHxR#o9S*C?du*}tEHfAC7WetnvS}`<%j=o7YVna)6pw(xzkUi7f#$|^y4WQ{7 zu@@lu=j6xr*11VEIY+`B{tgd(c3zO8%nGk0U^%ec6h)G_`ki|XQXr!?NsQkxzV6Bn1ea9L+@ z(Zr7CU_oXaW>VOdfzENm+FlFQ7Se0ROrNdw(QLvb6{f}HRQ{$Je>(c&rws#{dFI^r zZ4^(`J*G0~Pu_+p5AAh>RRpkcbaS2a?Fe&JqxDTp`dIW9;DL%0wxX5;`KxyA4F{(~_`93>NF@bj4LF!NC&D6Zm+Di$Q-tb2*Q z&csGmXyqA%Z9s(AxNO3@Ij=WGt=UG6J7F;r*uqdQa z?7j!nV{8eQE-cwY7L(3AEXF3&V*9{DpSYdyCjRhv#&2johwf{r+k`QB81%!aRVN<& z@b*N^xiw_lU>H~@4MWzgHxSOGVfnD|iC7=hf0%CPm_@@4^t-nj#GHMug&S|FJtr?i z^JVrobltd(-?Ll>)6>jwgX=dUy+^n_ifzM>3)an3iOzpG9Tu;+96TP<0Jm_PIqof3 zMn=~M!#Ky{CTN_2f7Y-i#|gW~32RCWKA4-J9sS&>kYpTOx#xVNLCo)A$LUme^fVNH z@^S7VU^UJ0YR8?Oy$^IYuG*bm|g;@aX~i60%`7XLy*AYpYvZ^F^U(!|RW z*C!rJ@+7TGdL=nNd1gv^%B+;Fcr$y)i0!GRsZXRHPs>QVGVR{9r_#&Qd(wL|5;H;> zD>HUw=4CF++&{7$<8G@j*nGjhEO%BQYfjeItp4mPvY*JYb1HKd!{HJ9*)(3%BR%{Pp?AM&*yHAJsW({ivOzj*qS!-7|XEn6@zo z3L*tBT%<4RxoAh>q{0n_JBmgW6&8hx?kL(_^k%VL>?xjAyrKBmSl`$=V|SK}ELl}@ zd|d0eo#RfG`bw9SK3%r4Y+rdvc}w}~ixV%tqawbdqvE-WcgE+BUpxMT%F@btm76MG zn=oQRWWuTm+a{dy)Oc2V4yX(@M{QAkx>(QB59*`dLT`Pz3Lsj9iB=HSHAiCq()ns|Cr)1*c605Cx}3V&x}Lg?b+6Q?)z7Kl zQh&1Hx`y6JY-Cwvd*ozeps}a1xAA0CR+Da;+O(i)P1C;SjOI}Dtmf6tPqo-Bl`U78 zv$kYgPntPp@G)n1an9tEoL*Vumu9`>_@I(;+5+fBa-*?fEx=mTEjZ7wq}#@Gd5_cW z!mP{N=yqEntDo)|>oy6{9cu+-3*GTnmb^`O0^FzRPO^&aG`f@F_R*aQ_e{F+_9%NW z4KG_B`@X3EVV9L>?_RNDMddA>w=e0KfAiw5?#i1NFT%Zz#nuv(&!yIU>lVxmzYKQ` zzJ*0w9<&L4aJ6A;0j|_~i>+y(q-=;2Xxhx2v%CYY^{} z^J@LO()eLo|7!{ghQ+(u$wxO*xY#)cL(|miH2_ck2yN{mu4O9=hBW*pM_()-_YdH#Ru{JtwJ^R2}3?!>>m1pohh zrn(!xCjE0Q&EH1QK?zA%sxVh&H99cObJUY$veZhQ)MLu-h%`!*G)s$2k;~+A z)Kk->Ri?`oGDEJEtI*wijm(s5f$W78FH{+qBxiU{~kq((J3uK{m z$|C8K#j-?hm8H@x%VfFqpnvu@xn1s%J7uNZC9C99a<_b1J|mx%)$%!6gPU|~<@2&m zz99GDp`|a%m*iggvfL;4%X;~WY>)@!tMWB@P`)k?$;0x9JSrRI8?s3rlgH(o@`OAo zn{f*gZ#t2u6K??hx|aElOM`Xd0t+SAIUEHvFw%?Wsm$s zUXq{6UU?a>Nc@@Xlb_2k9M1Ctr<#+O?yd}rv z_wu&=_t$!Yngd@N_AUj}T; z#*Ce|%XZr_sQcsWcsl{pCnnj+c8ZNIMmx<;w=-g$Q>BU;9k;w|zQ;4!W32Xg2Cd?{ zvmO3kuKQ^Hv;o>6ZHP8ZJ2`4~Bx?N;cf<0fi=!*G^^WzbTF3e$b&d^qqB{>nqLG81 zs94bBh%|Vj+hLu=!8(b9brJ>ZBns9^6s(gdSVyP9qnu2_I{Sg8j-rloG6{d`De5We zDe5WeY3ga}Y3ga}Y3ga}Y3ga}Y3ga}d8y~6o|k%F>UpW>rJk31Ug~+N=cS&HdOqs; zsOO`ek9t1p`Kafko{xGy>iMbXr=FjBxZMYc8a#gL`Kjlpo}YSt>iMY`pk9DF0qO*( z6QE9jIsxhgs1u-0kUBx8D@eT{^@7w3QZGooAoYUO3sNscy%6<6)C*BBM7L`dk$Xk%6}eZQXgo#!75P`>Uy*-B{uTLGUy*-B{uTLGUy*-B{uTLG))v8{5gt_uj9!t5)^yb-JtjRGrhi zYInOUNJxNyf_yKX01)K=WP|Si>HqEj|B{eUl?MR<)%<1&{(~)D+NPwKxWqT-@~snp zg9KCz1VTZDiS?UH`PRk1VPM{29cgT9=D?!Wc_@}qzggFv;gb@2cJQAYWWtpEZ7?y@jSVqjx${B5UV@SO|wH<<0; z{><1KdVI%Ki}>~<`46C0AggwUwx-|QcU;iiZ{NZu`ur>hd*|Hb(|6veERqxu=b@5Bab=rqptGxd{QJg!4*-i_$sES~)AB46}Fjg|ea#e@?J}z%CUJ zOsLWRQR1#ng^sD)A4FDuY!iUhzlgfJh(J@BRqd&P#v2B`+saBx>m+M&q7vk-75$NH%T5pi%m z5FX?`2-5l53=a&GkC9^NZCLpN5(DMKMwwab$FDIs?q>4!!xBS}75gX_5;(luk;3Vl zLCLd5a_8`Iyz}K}+#RMwu6DVk3O_-}n>aE!4NaD*sQn`GxY?cHe!Bl9n?u&g6?aKm z-P8z&;Q3gr;h`YIxX%z^o&GZZg1=>_+hP2$$-DnL_?7?3^!WAsY4I7|@K;aL<>OTK zByfjl2PA$T83*LM9(;espx-qB%wv7H2i6CFsfAg<9V>Pj*OpwX)l?^mQfr$*OPPS$ z=`mzTYs{*(UW^ij1U8UfXjNoY7GK*+YHht(2oKE&tfZuvAyoN(;_OF>-J6AMmS5fB z^sY6wea&&${+!}@R1f$5oC-2J>J-A${@r(dRzc`wnK>a7~8{Y-scc|ETOI8 zjtNY%Y2!PI;8-@a=O}+{ap1Ewk0@T`C`q!|=KceX9gK8wtOtIC96}-^7)v23Mu;MH zhKyLGOQMujfRG$p(s`(2*nP4EH7*J57^=|%t(#PwCcW7U%e=8Jb>p6~>RAlY4a*ts=pl}_J{->@kKzxH|8XQ5{t=E zV&o`$D#ZHdv&iZWFa)(~oBh-Osl{~CS0hfM7?PyWUWsr5oYlsyC1cwULoQ4|Y5RHA2*rN+EnFPnu z`Y_&Yz*#550YJwDy@brZU>0pWV^RxRjL221@2ABq)AtA%Cz?+FG(}Yh?^v)1Lnh%D zeM{{3&-4#F9rZhS@DT0E(WRkrG!jC#5?OFjZv*xQjUP~XsaxL2rqRKvPW$zHqHr8Urp2Z)L z+)EvQeoeJ8c6A#Iy9>3lxiH3=@86uiTbnnJJJoypZ7gco_*HvKOH97B? zWiwp>+r}*Zf9b3ImxwvjL~h~j<<3shN8$k-$V1p|96I!=N6VBqmb==Bec|*;HUg?) z4!5#R*(#Fe)w%+RH#y{8&%%!|fQ5JcFzUE;-yVYR^&Ek55AXb{^w|@j|&G z|6C-+*On%j;W|f8mj?;679?!qY86c{(s1-PI2Wahoclf%1*8%JAvRh1(0)5Vu37Iz z`JY?RW@qKr+FMmBC{TC7k@}fv-k8t6iO}4K-i3WkF!Lc=D`nuD)v#Na zA|R*no51fkUN3^rmI;tty#IK284*2Zu!kG13!$OlxJAt@zLU`kvsazO25TpJLbK&;M8kw*0)*14kpf*)3;GiDh;C(F}$- z1;!=OBkW#ctacN=je*Pr)lnGzX=OwgNZjTpVbFxqb;8kTc@X&L2XR0A7oc!Mf2?u9 zcctQLCCr+tYipa_k=;1ETIpHt!Jeo;iy^xqBES^Ct6-+wHi%2g&)?7N^Yy zUrMIu){Jk)luDa@7We5U!$$3XFNbyRT!YPIbMKj5$IEpTX1IOtVP~(UPO2-+9ZFi6 z-$3<|{Xb#@tABt0M0s1TVCWKwveDy^S!!@4$s|DAqhsEv--Z}Dl)t%0G>U#ycJ7cy z^8%;|pg32=7~MJmqlC-x07Sd!2YX^|2D`?y;-$a!rZ3R5ia{v1QI_^>gi(HSS_e%2 zUbdg^zjMBBiLr8eSI^BqXM6HKKg#@-w`a**w(}RMe%XWl3MipvBODo*hi?+ykYq)z ziqy4goZw0@VIUY65+L7DaM5q=KWFd$;W3S!Zi>sOzpEF#(*3V-27N;^pDRoMh~(ZD zJLZXIam0lM7U#)119Hm947W)p3$%V`0Tv+*n=&ybF&}h~FA}7hEpA&1Y!BiYIb~~D z$TSo9#3ee02e^%*@4|*+=Nq6&JG5>zX4k5f?)z*#pI-G(+j|jye%13CUdcSP;rNlY z#Q!X%zHf|V)GWIcEz-=fW6AahfxI~y7w7i|PK6H@@twdgH>D_R@>&OtKl}%MuAQ7I zcpFmV^~w~8$4@zzh~P~+?B~%L@EM3x(^KXJSgc6I=;)B6 zpRco2LKIlURPE*XUmZ^|1vb?w*ZfF}EXvY13I4af+()bAI5V?BRbFp`Sb{8GRJHd* z4S2s%4A)6Uc=PK%4@PbJ<{1R6+2THMk0c+kif**#ZGE)w6WsqH z`r^DL&r8|OEAumm^qyrryd(HQ9olv$ltnVGB{aY?_76Uk%6p;e)2DTvF(;t=Q+|8b zqfT(u5@BP);6;jmRAEV057E*2d^wx@*aL1GqWU|$6h5%O@cQtVtC^isd%gD7PZ_Io z_BDP5w(2*)Mu&JxS@X%%ByH_@+l>y07jIc~!@;Raw)q_;9oy@*U#mCnc7%t85qa4? z%_Vr5tkN^}(^>`EFhag;!MpRh!&bKnveQZAJ4)gEJo1@wHtT$Gs6IpznN$Lk-$NcM z3ReVC&qcXvfGX$I0nfkS$a|Pm%x+lq{WweNc;K>a1M@EAVWs2IBcQPiEJNt}+Ea8~WiapASoMvo(&PdUO}AfC~>ZGzqWjd)4no( ziLi#e3lOU~sI*XPH&n&J0cWfoh*}eWEEZW%vX?YK!$?w}htY|GALx3;YZoo=JCF4@ zdiaA-uq!*L5;Yg)z-_`MciiIwDAAR3-snC4V+KA>&V%Ak;p{1u>{Lw$NFj)Yn0Ms2*kxUZ)OTddbiJM}PK!DM}Ot zczn?EZXhx3wyu6i{QMz_Ht%b?K&-@5r;8b076YDir`KXF0&2i9NQ~#JYaq*}Ylb}^ z<{{6xy&;dQ;|@k_(31PDr!}}W$zF7Jv@f%um0M$#=8ygpu%j(VU-d5JtQwT714#f0z+Cm$F9JjGr_G!~NS@L9P;C1? z;Ij2YVYuv}tzU+HugU=f9b1Wbx3418+xj$RKD;$gf$0j_A&c;-OhoF*z@DhEW@d9o zbQBjqEQnn2aG?N9{bmD^A#Um6SDKsm0g{g_<4^dJjg_l_HXdDMk!p`oFv8+@_v_9> zq;#WkQ!GNGfLT7f8m60H@$tu?p;o_It#TApmE`xnZr|_|cb3XXE)N^buLE`9R=Qbg zXJu}6r07me2HU<)S7m?@GzrQDTE3UH?FXM7V+-lT#l}P(U>Fvnyw8T7RTeP`R579m zj=Y>qDw1h-;|mX-)cSXCc$?hr;43LQt)7z$1QG^pyclQ1Bd!jbzsVEgIg~u9b38;> zfsRa%U`l%did6HzPRd;TK{_EW;n^Ivp-%pu0%9G-z@Au{Ry+EqEcqW=z-#6;-!{WA z;l+xC6Zke>dl+(R1q7B^Hu~HmrG~Kt575mzve>x*cL-shl+zqp6yuGX)DDGm`cid! znlnZY=+a5*xQ=$qM}5$N+o!^(TqTFHDdyCcL8NM4VY@2gnNXF|D?5a558Lb*Yfm4) z_;0%2EF7k{)i(tTvS`l5he^KvW%l&-suPwpIlWB_Za1Hfa$@J!emrcyPpTKKM@NqL z?X_SqHt#DucWm<3Lp}W|&YyQE27zbGP55=HtZmB(k*WZA79f##?TweCt{%5yuc+Kx zgfSrIZI*Y57FOD9l@H0nzqOu|Bhrm&^m_RK6^Z<^N($=DDxyyPLA z+J)E(gs9AfaO`5qk$IGGY+_*tEk0n_wrM}n4G#So>8Dw6#K7tx@g;U`8hN_R;^Uw9JLRUgOQ?PTMr4YD5H7=ryv)bPtl=<&4&% z*w6k|D-%Tg*F~sh0Ns(h&mOQ_Qf{`#_XU44(VDY8b})RFpLykg10uxUztD>gswTH} z&&xgt>zc(+=GdM2gIQ%3V4AGxPFW0*l0YsbA|nFZpN~ih4u-P!{39d@_MN)DC%d1w z7>SaUs-g@Hp7xqZ3Tn)e z7x^sC`xJ{V<3YrmbB{h9i5rdancCEyL=9ZOJXoVHo@$$-%ZaNm-75Z-Ry9Z%!^+STWyv~To>{^T&MW0-;$3yc9L2mhq z;ZbQ5LGNM+aN628)Cs16>p55^T^*8$Dw&ss_~4G5Go63gW^CY+0+Z07f2WB4Dh0^q z-|6QgV8__5>~&z1gq0FxDWr`OzmR}3aJmCA^d_eufde7;d|OCrKdnaM>4(M%4V`PxpCJc~UhEuddx9)@)9qe_|i z)0EA%&P@_&9&o#9eqZCUCbh?`j!zgih5sJ%c4(7_#|Xt#r7MVL&Q+^PQEg3MBW;4T zG^4-*8L%s|A}R%*eGdx&i}B1He(mLygTmIAc^G(9Si zK7e{Ngoq>r-r-zhyygK)*9cj8_%g z)`>ANlipCdzw(raeqP-+ldhyUv_VOht+!w*>Sh+Z7(7(l=9~_Vk ztsM|g1xW`?)?|@m2jyAgC_IB`Mtz(O`mwgP15`lPb2V+VihV#29>y=H6ujE#rdnK` zH`EaHzABs~teIrh`ScxMz}FC**_Ii?^EbL(n90b(F0r0PMQ70UkL}tv;*4~bKCiYm zqngRuGy`^c_*M6{*_~%7FmOMquOEZXAg1^kM`)0ZrFqgC>C%RJvQSo_OAA(WF3{euE}GaeA?tu5kF@#62mM$a051I zNhE>u>!gFE8g#Jj95BqHQS%|>DOj71MZ?EYfM+MiJcX?>*}vKfGaBfQFZ3f^Q-R1# znhyK1*RvO@nHb|^i4Ep_0s{lZwCNa;Ix<{E5cUReguJf+72QRZIc%`9-Vy)D zWKhb?FbluyDTgT^naN%l2|rm}oO6D0=3kfXO2L{tqj(kDqjbl(pYz9DykeZlk4iW5 zER`)vqJxx(NOa;so@buE!389-YLbEi@6rZG0#GBsC+Z0fzT6+d7deYVU;dy!rPXiE zmu73@Jr&~K{-9MVQD}&`)e>yLNWr>Yh8CXae9XqfvVQ&eC_;#zpoaMxZ0GpZz7xjx z`t_Q-F?u=vrRPaj3r<9&t6K=+egimiJ8D4gh-rUYvaVy zG($v+3zk5sMuOhjxkH7bQ}(5{PD3Mg?!@8PkK&w>n7tO8FmAmoF30_#^B~c(Q_`4L zYWOoDVSnK|1=p{+@`Fk^Qb81Xf89_S`RSTzv(a4ID%71nll%{Wad$!CKfeTKkyC?n zCkMKHU#*nz_(tO$M)UP&ZfJ#*q(0Gr!E(l5(ce<3xut+_i8XrK8?Xr7_oeHz(bZ?~8q5q~$Rah{5@@7SMN zx9PnJ-5?^xeW2m?yC_7A#WK*B@oIy*Y@iC1n7lYKj&m7vV;KP4TVll=II)$39dOJ^czLRU>L> z68P*PFMN+WXxdAu=Hyt3g$l(GTeTVOZYw3KY|W0Fk-$S_`@9`K=60)bEy?Z%tT+Iq z7f>%M9P)FGg3EY$ood+v$pdsXvG? zd2q3abeu-}LfAQWY@=*+#`CX8RChoA`=1!hS1x5dOF)rGjX4KFg!iPHZE2E=rv|A} zro(8h38LLFljl^>?nJkc+wdY&MOOlVa@6>vBki#gKhNVv+%Add{g6#-@Z$k*ps}0Y zQ=8$)+Nm||)mVz^aa4b-Vpg=1daRaOU)8@BY4jS>=5n#6abG@(F2`=k-eQ9@u# zxfNFHv=z2w@{p1dzSOgHokX1AUGT0DY4jQI@YMw)EWQ~q5wmR$KQ}Y;(HPMSQCwzu zdli|G?bj(>++CP)yQ4s6YfpDc3KqPmquQSxg%*EnTWumWugbDW5ef%8j-rT#3rJu? z)5n;4b2c*;2LIW%LmvUu6t1~di~}0&Svy}QX#ER|hDFZwl!~zUP&}B1oKAxIzt~so zb!GaJYOb#&qRUjEI1xe_`@7qv_-LggQ$JE8+{ryT4%ldwC5ete+{G3C#g@^oxfY3#F zcLlj(l2G8>tC<5XWV|6_DZQZ7ow?MD8EZ9mM2oV~WoV-uoExmbwpzc6eMV}%J_{3l zW(4t2a-o}XRlU|NSiYn!*nR(Sc>*@TuU*(S77gfCi7+WR%2b;4#RiyxWR3(u5BIdf zo@#g4wQjtG3T$PqdX$2z8Zi|QP~I^*9iC+(!;?qkyk&Q7v>DLJGjS44q|%yBz}}>i z&Ve%^6>xY<=Pi9WlwpWB%K10Iz`*#gS^YqMeV9$4qFchMFO}(%y}xs2Hn_E}s4=*3 z+lAeCKtS}9E{l(P=PBI;rsYVG-gw}-_x;KwUefIB@V%RLA&}WU2XCL_?hZHoR<7ED zY}4#P_MmX(_G_lqfp=+iX|!*)RdLCr-1w`4rB_@bI&Uz# z!>9C3&LdoB$r+O#n);WTPi;V52OhNeKfW6_NLnw zpFTuLC^@aPy~ZGUPZr;)=-p|b$-R8htO)JXy{ecE5a|b{{&0O%H2rN&9(VHxmvNly zbY?sVk}@^{aw)%#J}|UW=ucLWs%%j)^n7S%8D1Woi$UT}VuU6@Sd6zc2+t_2IMBxd zb4R#ykMr8s5gKy=v+opw6;4R&&46$V+OOpDZwp3iR0Osqpjx))joB*iX+diVl?E~Q zc|$qmb#T#7Kcal042LUNAoPTPUxF-iGFw>ZFnUqU@y$&s8%h-HGD`EoNBbe#S>Y-4 zlkeAP>62k~-N zHQqXXyN67hGD6CxQIq_zoepU&j0 zYO&}<4cS^2sp!;5))(aAD!KmUED#QGr48DVlwbyft31WlS2yU<1>#VMp?>D1BCFfB z_JJ-kxTB{OLI}5XcPHXUo}x~->VP%of!G_N-(3Snvq`*gX3u0GR&}*fFwHo3-vIw0 zeiWskq3ZT9hTg^je{sC^@+z3FAd}KNhbpE5RO+lsLgv$;1igG7pRwI|;BO7o($2>mS(E z$CO@qYf5i=Zh6-xB=U8@mR7Yjk%OUp;_MMBfe_v1A(Hqk6!D})x%JNl838^ZA13Xu zz}LyD@X2;5o1P61Rc$%jcUnJ>`;6r{h5yrEbnbM$$ntA@P2IS1PyW^RyG0$S2tUlh z8?E(McS?7}X3nAAJs2u_n{^05)*D7 zW{Y>o99!I9&KQdzgtG(k@BT|J*;{Pt*b|?A_})e98pXCbMWbhBZ$t&YbNQOwN^=F) z_yIb_az2Pyya2530n@Y@s>s>n?L79;U-O9oPY$==~f1gXro5Y z*3~JaenSl_I}1*&dpYD?i8s<7w%~sEojqq~iFnaYyLgM#so%_ZZ^WTV0`R*H@{m2+ zja4MX^|#>xS9YQo{@F1I)!%RhM{4ZUapHTKgLZLcn$ehRq(emb8 z9<&Nx*RLcS#)SdTxcURrJhxPM2IBP%I zf1bWu&uRf{60-?Gclb5(IFI*!%tU*7d`i!l@>TaHzYQqH4_Y*6!Wy0d-B#Lz7Rg3l zqKsvXUk9@6iKV6#!bDy5n&j9MYpcKm!vG7z*2&4G*Yl}iccl*@WqKZWQSJCgQSj+d ze&}E1mAs^hP}>`{BJ6lv*>0-ft<;P@`u&VFI~P3qRtufE11+|#Y6|RJccqo27Wzr}Tp|DH z`G4^v)_8}R24X3}=6X&@Uqu;hKEQV^-)VKnBzI*|Iskecw~l?+R|WKO*~(1LrpdJ? z0!JKnCe<|m*WR>m+Qm+NKNH<_yefIml z+x32qzkNRrhR^IhT#yCiYU{3oq196nC3ePkB)f%7X1G^Ibog$ZnYu4(HyHUiFB`6x zo$ty-8pknmO|B9|(5TzoHG|%>s#7)CM(i=M7Nl=@GyDi-*ng6ahK(&-_4h(lyUN-oOa$` zo+P;C4d@m^p9J4c~rbi$rq9nhGxayFjhg+Rqa{l#`Y z!(P6K7fK3T;y!VZhGiC#)|pl$QX?a)a9$(4l(usVSH>2&5pIu5ALn*CqBt)9$yAl; z-{fOmgu><7YJ5k>*0Q~>lq72!XFX6P5Z{vW&zLsraKq5H%Z26}$OKDMv=sim;K?vsoVs(JNbgTU8-M%+ zN(+7Xl}`BDl=KDkUHM9fLlV)gN&PqbyX)$86!Wv!y+r*~kAyjFUKPDWL3A)m$@ir9 zjJ;uQV9#3$*`Dqo1Cy5*;^8DQcid^Td=CivAP+D;gl4b7*xa9IQ-R|lY5tIpiM~9- z%Hm9*vDV@_1FfiR|Kqh_5Ml0sm?abD>@peo(cnhiSWs$uy&$RYcd+m`6%X9FN%?w}s~Q=3!pJzbN~iJ}bbM*PPi@!E0eN zhKcuT=kAsz8TQo76CMO+FW#hr6da({mqpGK2K4T|xv9SNIXZ}a=4_K5pbz1HE6T}9 zbApW~m0C`q)S^F}B9Kw5!eT)Bj_h9vlCX8%VRvMOg8PJ*>PU>%yt-hyGOhjg!2pZR4{ z=VR_*?Hw|aai##~+^H>3p$W@6Zi`o4^iO2Iy=FPdEAI58Ebc~*%1#sh8KzUKOVHs( z<3$LMSCFP|!>fmF^oESZR|c|2JI3|gucuLq4R(||_!8L@gHU8hUQZKn2S#z@EVf3? zTroZd&}JK(mJLe>#x8xL)jfx$6`okcHP?8i%dW?F%nZh=VJ)32CmY;^y5C1^?V0;M z<3!e8GZcPej-h&-Osc>6PU2f4x=XhA*<_K*D6U6R)4xbEx~{3*ldB#N+7QEXD^v=I z+i^L+V7_2ld}O2b-(#bmv*PyZI4|U#Q5|22a(-VLOTZc3!9ns1RI-? zA<~h|tPH0y*bO1#EMrsWN>4yJM7vqFZr?uw$H8*PhiHRQg1U9YoscX-G|gck+SSRX!(e7@~eeUEw+POsT;=W9J&=EV`cUc{PIg_#TQVGnZsQbCs7#Q-)v#BicxLw#Fb?#)8TYbu zN)5R=MI1i7FHhF|X}xEl=sW~`-kf;fOR^h1yjthSw?%#F{HqrY2$q>7!nbw~nZ8q9 zh{vY! z%i=H!!P&wh z7_E%pB7l5)*VU>_O-S~d5Z!+;f{pQ4e86*&);?G<9*Q$JEJ!ZxY;Oj5&@^eg0Zs!iLCAR`2K?MSFzjX;kHD6)^`&=EZOIdW>L#O`J zf~$M4}JiV}v6B-e{NUBGFgj-*H%NG zfY0X(@|S8?V)drF;2OQcpDl2LV=~=%gGx?_$fbSsi@%J~taHcMTLLpjNF8FkjnjyM zW;4sSf6RHaa~LijL#EJ0W2m!BmQP(f=%Km_N@hsBFw%q#7{Er?y1V~UEPEih87B`~ zv$jE%>Ug9&=o+sZVZL7^+sp)PSrS;ZIJac4S-M>#V;T--4FXZ*>CI7w%583<{>tb6 zOZ8gZ#B0jplyTbzto2VOs)s9U%trre`m=RlKf{I_Nwdxn(xNG%zaVNurEYiMV3*g| z``3;{j7`UyfFrjlEbIJN{0db|r>|LA@=vX9CHFZYiexnkn$b%8Rvw0TZOQIXa;oTI zv@j;ZP+#~|!J(aBz9S{wL7W%Dr1H)G-XUNt9-lP?ijJ-XEj1e*CI~-Xz@4(Xg;UoG z{uzBf-U+(SHe}6oG%;A*93Zb=oE>uTb^%qsL>|bQf?7_6=KIiPU`I|r;YcZ!YG7y~ zQu@UldAwz$^|uoz3mz1;An-WVBtefSh-pv<`n&TU3oM!hrEI?l@v8A4#^$4t&~T32 zl*J=1q~h+60sNc43>0aVvhzyfjshgPYZoQ(OOh>LbUIoblb@1z~zp?))n?^)q6WGuDh}gMUaA9|X z3qq-XlcNldy5==T4rq*~g@XVY!9sYZjo#R7 zr{n)r5^S{9+$+8l7IVB*3_k5%-TBY@C%`P@&tZf>82sm#nfw7L%92>nN$663yW!yt zhS>EfLcE_Z)gv-Y^h1;xj(<4nD4GY{C-nWUgQc9cMmH{qpa!uEznrGF^?bbJHApScQ$j>$JZHAX80DdXu z--AMgrA0$Otdd#N9#!cg2Z~N8&lj1d+wDh+^ZObWJ$J)_h(&2#msu>q0B$DEERy{1 zCJN{7M@%#E@8pda`@u!v@{gcT3bA*>g*xYLXlbb&o@1vX*x+l}Voys6o~^_7>#GB| z*r!R%kA9k%J`?m>1tMHB9x$ZRe0$r~ui}X}jOC)9LH=Po*2SLdtf3^4?VKnu2ox&mV~0oDgi` z;9d}P$g~9%ThTK8s}5ow2V4?(-lU*ed8ro|}mU}pk% z;bqB0bx3AOk<0Joeh}Vl@_7Po&C`Cg>>gff>e7fu41U3Ic{JQu1W%+!Gvz3GDO2ixKd;KF6UEw8F_cDAh08gB>@ zaRH2Q96sBJ>`4aXvrF0xPtIWoA1pPsRQtU~xDtnEfTJnl{A9u5pR^K8=UdNq%T8F$)FbN> zgK+_(BF#D>R>kK!M#OT~=@@}3yAYqm33?{Bv?2iBr|-aRK0@uapzuXI)wE0=R@m^7 zQ`wLBn(M*wg!mgmQT1d!@3<2z>~rmDW)KG0*B4>_R6LjiI0^9QT8gtDDT|Lclxppm z+OeL6H3QpearJAB%1ellZ6d*)wBQ(hPbE=%?y6i^uf%`RXm*JW*WQ%>&J+=V(=qf{ zri~yItvTZbII+7S0>4Q0U9@>HnMP$X>8TqAfD(vAh};2P{QK)ik`a6$W$nG<{bR2Ufd!^iE z#1K58$gW!xpeYHeehuhQCXZ9p%N8m zB+l~T_u-Ycr!U>!?xu!!*6rNxq37{`DhMMfY6NpD3Jw zkYQDstvt30Hc_SaZuuMP2YrdW@HsPMbf^Y9lI<9$bnMil2X7`Ba-DGLbzgqP>mxwe zf1&JkDH54D3nLar2KjJ3z`*R+rUABq4;>>4Kjc2iQEj7pVLcZYZ~pteAG4rm1{>PQy=!QiV5G|tVk)53 zP?Azw+N)Yq3zZ`dW7Q9Bq@Y*jSK0<1f`HM;_>GH57pf_S%Ounz_yhTY8lplQSM`xx zU{r-Deqs+*I~sLI$Oq`>i`J1kJ(+yNOYy$_>R3Jfi680<|^u#J@aY%Q>O zqfI~sCbk#3--^zMkV&Yj0D(R^rK}+_npgPr_4^kYuG=pO%$C_7v{s@-{M-P@RL3^<`kO@b=YdKMuccfO1ZW# zeRYE%D~CMAgPlo?T!O6?b|pOZv{iMWb;sN=jF%=?$Iz_5zH?K;aFGU^8l7u%zHgiy z%)~y|k;Es-7YX69AMj^epGX#&^c@pp+lc}kKc`5CjPN4Z$$e58$Yn*J?81%`0~A)D zPg-db*pj-t4-G9>ImW4IMi*v#9z^9VD9h@9t;3jMAUVxt=oor+16yHf{lT|G4 zya6{4#BxFw!!~UTRwXXawKU4iz$$GMY6=Z8VM{2@0{=5A0+A#p6$aT3ubRyWMWPq9 zCEH5(Il0v4e4=Yxg(tDglfYAy!UpC>&^4=x7#6_S&Ktds)a8^`^tp6RnRd{KImB^o z2n=t#>iKx<*evmvoE{+fH#@WXGWs$)Uxrtf?r>AaxV0?kf0o@oDboJ6z0cgP@A$;k>SK1UqC?Q_ zk_I?j74;}uNXhOf_5ZxQSgB4otDEb9JJrX1kq`-o%T>g%M5~xXf!2_4P~K64tKgXq z&KHZ0@!cPvUJG4kw-0;tPo$zJrU-Nop>Uo65Pm|yaNvKjhi7V1g98;^N1~V3% zTR>yWa+X2FJ_wpPwz3i^6AGwOa_VMS-&`*KoKgF2&oR10Jn6{!pvVG@n=Jk@vjNuY zL~P7aDGhg~O9G^!bHi$8?G9v9Gp0cmekYkK;(q=47;~gI>h-kx-ceM{ml$#8KI$4ltyjaqP zki^cyDERloAb)dcDBU4na9C(pfD{P@eBGA}0|Rb)p{ISqi60=^FUEdF!ok{Gs;vb) zfj9(#1QA64w*ud^YsN5&PeiI>c`VioE8h)e}W%S9NMA55Gs zrWL6l+@3CKd@8(UQLTwe12SGWMqRn+j)QZRj*g)Xua)%ayzpqs{pD(WWESJYL3{M$ z%qkpM`jFoqLYVv6{IbCkL?fEiJj$VG=$taup&RL9e{s(Sgse2xVJlw0h74EXJKt2eX|dxz{->0)3W`JN7Bv!rLvRZc z0tAOZ2yVe4g9iq826qXAg`f!*+}(o1;1FDb>kKexumFS40KvK0yH1_@Z=LgWZ+}(Y zwYsa;OLz6tTA%gS=>8$=Z7pLh>|K2QElL)E=Q*(n*H`8R`8={-@4mTD-SWBOYRxV? zmF(-rJB8^Wlp?319rTrh^?QEP?|Msxrv?WbJ-+id+V#F2Y4(JPJ6U9bv+U1cIIH^W z)lg$_=g^Ma>2~Pyd_YOAv29Cb-U6DJO?NxnW7~QP*SmYi*vdUVuW#LWQ_u0`hymZi zaQS3Nb^4`ro$>0G%zbXmr5|D|iq0R<;S@?kr0j5Ruq87-Z1>crx%EzVZ9#U;{?}ti zW2W%*9MQg3Nbh%Ti6LhDd|-aFSgXoPG`mHlUU1iCHr>ru>DX?W_#13(`u*!Plu2OP z6jk=2>BC0l)aw;HCmxoYD1i4b%m$1`DYC_^L~ zIEAnFcHvad=-aO3(_MI=9#`z6-9*_!&$?<%meb5;jGd5Qp=MGf z6BD{%`L#TAOq%z%@*ib95Ey7NbUF=BlszVk3Iu3imD&*91N-ij%hW?W@~2TtdHTfP z#n0@Xd7X8Dyu36n{k#PwQ~T~X7mAO^cNV+z<HO@3X-# z_@rAn$k~(l@kciCC;&Qd*fWRI>=;fL{UPlciNDWyj$bX<#r^(r;EE8wwUVQm&7~QY zCXRj!**r^xybAEPq>h3W$uvI1j=yNIyzkE_D7fpGw)OV{U*Uwm{xB;mEg2(|y|ICd zMdQVqzMb-=XM6|E-a9kNh)^9lY`-DjhhHD1w5lufRcy+QLgJ47!fFne86#F; zX{ufroVBEZJOY?rDo!;Te6aOZ^1SO!dYRxQ*2njyA~dCWawn)>!*k7~>8Ikt&e*0>>V5ZbO|*1+2LFOqVe zXHb!aMk03^h%&9L8GMy7UDI2Kev>V@(R}*Iu6x+!Hn4~D@wj`P%#Hdbf(lK{+DD7f zJ&(v*mhn_e(R$^5L#bM^^Q@-!*b!l|+Xrb(q*MRFJYnrE7*xko!SJOy9LngR2|q5k zY`Ioiu+YBfzF{Labszk-E#*BYQk>$()=xWEGZRKwY)*UxP}0dGuPLZOkNJDI9Hy zFjfwiK6RjhH#rHW#B0(MW}i%V`943<6@Z*Nd^JEP5uZonXm=u%AM>{H^U@&Jy*i0s za_Da^xI6pMtXzHc{e~_ZcnKP*;=YL2Z^RmzDl{dJTk7*}E_h*NvgnhnxVKB59Duh~ zqouS_WoOR*{UvUw_K#OWz;gMracr%8>QQ&V*jv!8)ho;U8}9~8EU{N<=Z_gR%IpMT zbkePUG_afm=#|iIfFmdqkpLMGxY5D$`?I}&T7>TexU@v zkBx09kG)O;09ckj#(_Uov6vv{{HOcr-%H#DUQ@*GzF8Zh{iSM13%fuB%>wjdU@3Nf zlnYE!GTyNrqes|;nLFXfWU*Wg-9wmr=NBd$nCk+H?iwNvcd0Wab^3CT9a`>3V~oWI z9=_H+N-Q=MQ(io4u4mpdQ;k&5FXnKV5M7R`@WJ9h(GrAirO#XXOU{qQpk^B^Vd=Dt{wiqT zg-#j9J~@o%H2;W9mg)o6@*Vo;BSs2*4HAHpDk02mndAsov08R_48zJZ@J)s7+hyCo zy*0L#y)?AqZt-wX%+_Vx`8*A95OLHvs1$k~{h-_N_vov_gHJE=`X>L?5K+ zD?u59=mjtImMvd1GsDytuYp{IyUkW&?h zF>$#`n$~bZ)KN0B$XGeMYh&`;g8 zo_2-koaO6+8O!+L>SpIQbG(i;QW9UJi{Ecewlo?s&D!^>i$|#jaW}#HJuxt|W48=? zb^Y&O$a1s5ddr8DIt!sD!t=y1g(d4GR(s;s-HfV$GXl&m;+sAAxB^rk(3_NjE$p#L z*t4em?tA0d+XwRxN^OQwzbDZMuSE0J1)Ky{mq)^t4bnSl*)s>zNM@mMdtd78&ebHN z`!(|lE5q-p+TsRaNnMXwALaN5QIZ2IUi^Z22tsN5>nvIO+YU}Q*xh6}ee6@rR~<&1 z(PB4z>9ZBUMXZwSMmd9-aKKsmJeJq^G|#JclOh*xf0?^e0(`40nsg1z)(48;4}B_( zGwPI)yo|{oX{dVDL-5-aMGr;~vU1cPtJP5JM(sswz&Q`e<@0?y{YhsO9YK8EYJA;L z>7oG_Mts+(wCBC*Md82#XdKw&J*IizR?9k^rf1r{Ot-&>V^ke{9nI9zavlcNkIJtN z7T>?o|4rENk-?|lewZ(EfdR;%BUrzKJ^UkCpsM)EA9QHBVV8trT&*O(9?FO{MLTFL z=5P0H+T6C^jAuX0k4U;~GM!x`!X2N~3_n?qXY$HI>x@(DHEy&Q3ucT1R6fj28wX!I zC=&d$@bJ_v^%?W2Ngl}e8ww`b%BrN-PzGH;$@B2Ky1?%GMkm#~Okj(-Admyy;qya| zOi73kr_pwt?5Nj3p=&H>81!w#>Agj z(QXx{j0r=pTl>micAI_5vUw<3`Sht?Z}-j2Wx~F8DKCUQrsXl2?W8hur42(F_ zsSJ)_36&x6A|YkY6c<2a94SXbv~d>4CC4nkDPvf9Z5Fys^6^5r0j5=E>Cgy_Dk@tS z%?c}9!qB?t6t8(XMH%le8UeNWp@Nsma~Ql+^3Bo%_npMryeQJz4V=BAqE~T?dejng z3ge{fjCHoNAfYBvsfq;G%VL|j7t z`X0sy1EEgpyD;)tS1x+fnv-?C@glP0{RCW}Ma?3qpoq_&IJAYOy3G#s`rsh5=3>`K zkj``=;|*x5HSjZC zXNvPLh372q;=+6ja|SC!R-`JcL}}wwskajjTUGTpL(1zkN-p?BA2lmf+J3WsB7!k`0Brx8^cLTF9h)r+LZ$vsZo}`OpOs)?c6$hclR!R#MAeh|_DY|9r zy+_3c%IO9h9X?ksp?an&>Lw;QeQ`T-Ku6HaK~H?E9-Z5$cZu{YU;1+-6B$|JD;%!^ zt(4l>F8}a-UkC4YtOxFHckhl4VKr6P$P_O*U!)IDory%}Wz`YeFx6TO{y2Y${SBm?H9cTWV=WWJ z`_*CGso!ZN>l@~_jkeXtV}fczfA{TUkyeD>)i3|NFGcCsBmK3HXp&ol_@GVs7PIpfULy!hi zs+%KYgS%(n7_z_}6)hblk~W#LZ@&2)fwm6xkFP%&Ju|MFWbNiTwy{{g-pV1RK`L&=RE2D z4|g;~vd8xd|teYS%w!IlT4W$&FTrk-hcTADX!P?*f1YWEIRwq$Ys%^(Z9w&HT$>} zsMD#6Df=uJrX!JHP7<>Or;e_Cf=}`!`qR=i8fBj)$6Lxx{HRzd8Tnzd0p>kSps{OG zKJkml>bUj8$u|F=``l(-aMxWBC@CGZ#FXClQZ<4|&%jN}Tkg#q8z)=>Ly{$i0`rjU zvt|QddO&i=91e?h3>s~i;+6{ z8X4i6a1wDLrSuE#W(zhan+U*Zq+8p3a))JFVF4ffaV51K^YgTso~3;Y*NmM; zx8T?y-N0uyWY(8=me-HUC9xtABvX5~%yg+Cp&XF$Bq=OcK6T*D7eZ2EmIoCFWm{$S z1PNw8HDpe5hHeCusN8kdeb&f2#=3M^A~7YwJ7FRrhq*)PG9x?JIAaC{MV}5}g#7R$-Ly%)4=IUkRCGOR|XTMjn&okRmFjaO^YF5^* z@)#MCBOBezD)*xQNxydlUyN?dW{fS(s-T`gv*0BEnk}`BdmrbmPO8q8y(X$AA}*RH%I7Av!~84pudHb&%Q5-j zt?=6x(iR?<^_7X0v6Ys#VAL}dKk^hcjI=|EY;kPcZ_w<*H`_*|N7SacaM1ERD@6ab zg`!iTm7$URV+lpW_{V$ruR&A>jrX68k4x2wo$45}&wf7o<|o(@B!u-L@bKyQBAGwy z4#}UrRAu>^>Vb6k2-th^>WjvP;Nl|i3WrjWv3ISkj{m{eAcQIW^_ndxSX@|8T(ASJ z?_$fcP2u*6uOBk-{d>^ z0vWlfGQMvysI%R=iE|A+!!Nw?C917EU*_$`;;)px?s83CRd3i_jBN)k#nR5t$dJ(+ z_sP;wG@Ad)^(3LRj7q}0b2O(b`|i0~5SYb%Sjk^*5ISZ-Ab+}DGu$-X1n^TF1Ndw_ zF|e*1)cI2%`TR&AW~XpqpFb!=3cHbS>np9hYD_Mr5}y5Y`SY^r7isA2Q4(z zazRQEqWDKT2zIEbjSYdCPi1ZOGz80Nsl}gxO^DWMY0AV<2K&OL{&^6#@L1?lXu#6xSMh%3^5c*}oM6DQGY#(a^@z<&D zF(43I9e&5`h|A$5!+UFuOH0>F3$shBV4`0#M4RSB8=6F0ZgIbq<2LQ$Hh^(kAJu=! zt8ZGXTacD{(3W{V1$j_{Jc)Ka7t6u}ho`4kF+4@t_0!mCBn z)}o%eA}L)_L?=jw6BIfll7tb3n}?*yLt&XADa=rW>qz=_6s9ziOd5sXjil>FVFx3r zf>Feewk0v#W9>Gp4GacTRr>Sd2T6dWi-{YX`v!D)kCWzG5xQB=?es5ON(%nkwUhNl zV>@xkWWWv*N+{e$(SrExvN6BXzU(Hxlx27{VYHf+LpIbTO+Yu(ltMk<;)3A(LU@ytVYFkYvTa79idMtUFhfxx?P!)2F`prNWW#Fub#l>N2s@nh&n_ zA4{#}|AIs9|A4P0ZF%fy=hDN!t#ifH<)4u2kirK~JUpjQ-J+~cXOZI&dIts;P}UeXslP6zKvpEKSN-$y>kJ^nw2tC9bv zo(|lT@?vZ!{_l|d^8Yh)eEBh*5ABh+Lzjw+?V)o z#P-W7361>E(Y4;@`sv;VKn G`u_lkUM?>H diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2 b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2 deleted file mode 100644 index 64539b54c3751a6d9adb44c8e3a45ba5a73b77f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18028 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 diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js deleted file mode 100644 index c8f82e59..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v3.3.4 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.4",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.4",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.4",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.4",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-mp.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.4",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.4",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.4",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a(document.body).height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js deleted file mode 100644 index 34d5513e..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js +++ /dev/null @@ -1,5 +0,0 @@ -!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function r(n){return null===n?0/0:+n}function u(n){return!isNaN(n)}function i(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function c(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function l(){this._=Object.create(null)}function s(n){return(n+="")===pa||n[0]===va?va+n:n}function f(n){return(n+="")[0]===va?n.slice(1):n}function h(n){return s(n)in this._}function g(n){return(n=s(n))in this._&&delete this._[n]}function p(){var n=[];for(var t in this._)n.push(f(t));return n}function v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in this._)return!1;return!0}function m(){this._=Object.create(null)}function y(n){return n}function M(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=da.length;r>e;++e){var u=da[e]+t;if(u in n)return u}}function b(){}function _(){}function w(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function Z(n){return ya(n,Sa),n}function V(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t0&&(n=n.slice(0,a));var l=ka.get(n);return l&&(n=l,c=B),a?t?u:r:t?b:i}function $(n,t){return function(e){var r=ta.event;ta.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ta.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Aa,u="click"+r,i=ta.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Ea&&(Ea="onselectstart"in e?!1:x(e.style,"userSelect")),Ea){var o=n(e).style,a=o[Ea];o[Ea]="none"}return function(n){if(i.on(r,null),Ea&&(o[Ea]=a),n){var t=function(){i.on(u,null)};i.on(u,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var u=r.createSVGPoint();if(0>Na){var i=t(n);if(i.scrollX||i.scrollY){r=ta.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();Na=!(o.f||o.e),r.remove()}}return Na?(u.x=e.pageX,u.y=e.pageY):(u.x=e.clientX,u.y=e.clientY),u=u.matrixTransform(n.getScreenCTM().inverse()),[u.x,u.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function G(){return ta.event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nt(n){return n>1?0:-1>n?qa:Math.acos(n)}function tt(n){return n>1?Ra:-1>n?-Ra:Math.asin(n)}function et(n){return((n=Math.exp(n))-1/n)/2}function rt(n){return((n=Math.exp(n))+1/n)/2}function ut(n){return((n=Math.exp(2*n))-1)/(n+1)}function it(n){return(n=Math.sin(n/2))*n}function ot(){}function at(n,t,e){return this instanceof at?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof at?new at(n.h,n.s,n.l):bt(""+n,_t,at):new at(n,t,e)}function ct(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,new mt(u(n+120),u(n),u(n-120))}function lt(n,t,e){return this instanceof lt?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof lt?new lt(n.h,n.c,n.l):n instanceof ft?gt(n.l,n.a,n.b):gt((n=wt((n=ta.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new lt(n,t,e)}function st(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new ft(e,Math.cos(n*=Da)*t,Math.sin(n)*t)}function ft(n,t,e){return this instanceof ft?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof ft?new ft(n.l,n.a,n.b):n instanceof lt?st(n.h,n.c,n.l):wt((n=mt(n)).r,n.g,n.b):new ft(n,t,e)}function ht(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=pt(u)*Xa,r=pt(r)*$a,i=pt(i)*Ba,new mt(dt(3.2404542*u-1.5371385*r-.4985314*i),dt(-.969266*u+1.8760108*r+.041556*i),dt(.0556434*u-.2040259*r+1.0572252*i))}function gt(n,t,e){return n>0?new lt(Math.atan2(e,t)*Pa,Math.sqrt(t*t+e*e),n):new lt(0/0,0/0,n)}function pt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function vt(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function dt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function mt(n,t,e){return this instanceof mt?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof mt?new mt(n.r,n.g,n.b):bt(""+n,mt,ct):new mt(n,t,e)}function yt(n){return new mt(n>>16,n>>8&255,255&n)}function Mt(n){return yt(n)+""}function xt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function bt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(kt(u[0]),kt(u[1]),kt(u[2]))}return(i=Ga.get(n.toLowerCase()))?t(i.r,i.g,i.b):(null==n||"#"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&i)>>4,o=o>>4|o,a=240&i,a=a>>4|a,c=15&i,c=c<<4|c):7===n.length&&(o=(16711680&i)>>16,a=(65280&i)>>8,c=255&i)),t(o,a,c))}function _t(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),new at(r,u,c)}function wt(n,t,e){n=St(n),t=St(t),e=St(e);var r=vt((.4124564*n+.3575761*t+.1804375*e)/Xa),u=vt((.2126729*n+.7151522*t+.072175*e)/$a),i=vt((.0193339*n+.119192*t+.9503041*e)/Ba);return ft(116*u-16,500*(r-u),200*(u-i))}function St(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function kt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function Et(n){return"function"==typeof n?n:function(){return n}}function At(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Nt(t,e,n,r)}}function Nt(n,t,e,r){function u(){var n,t=c.status;if(!t&&zt(c)||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return void o.error.call(i,r)}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=ta.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=ta.event;ta.event=n;try{o.progress.call(i,c)}finally{ta.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(ra(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},ta.rebind(i,o,"on"),null==r?i:i.get(Ct(r))}function Ct(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function zt(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qt(){var n=Lt(),t=Tt()-n;t>24?(isFinite(t)&&(clearTimeout(tc),tc=setTimeout(qt,t)),nc=0):(nc=1,rc(qt))}function Lt(){var n=Date.now();for(ec=Ka;ec;)n>=ec.t&&(ec.f=ec.c(n-ec.t)),ec=ec.n;return n}function Tt(){for(var n,t=Ka,e=1/0;t;)t.f?t=n?n.n=t.n:Ka=t.n:(t.t8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Pt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r&&e?function(n,t){for(var u=n.length,i=[],o=0,a=r[0],c=0;u>0&&a>0&&(c+a+1>t&&(a=Math.max(1,t-c)),i.push(n.substring(u-=a,u+a)),!((c+=a+1)>t));)a=r[o=(o+1)%r.length];return i.reverse().join(e)}:y;return function(n){var e=ic.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",c=e[4]||"",l=e[5],s=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===o)&&(l=r="0",o="="),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=oc.get(g)||Ut;var M=l&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>p){var c=ta.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=y?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!l&&f&&(x=i(x,1/0));var S=v.length+x.length+b.length+(M?0:u.length),k=s>S?new Array(S=s-S+1).join(r):"";return M&&(x=i(k+x,k.length?s-b.length:1/0)),u+=v,n=x+b,("<"===o?u+n+k:">"===o?k+u+n:"^"===o?k.substring(0,S>>=1)+u+n+k.substring(S):u+(M?n:k+n))+e}}}function Ut(n){return n+""}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ft(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new cc(e-1)),1),e}function i(n,e){return t(n=new cc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{cc=jt;var r=new jt;return r._=n,o(r,t,e)}finally{cc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Ht(n);return c.floor=c,c.round=Ht(r),c.ceil=Ht(u),c.offset=Ht(i),c.range=a,n}function Ht(n){return function(t,e){try{cc=jt;var r=new jt;return r._=t,n(r,e)._}finally{cc=Date}}}function Ot(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++aa;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=C[o in sc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.slice(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,N.c.toString(),t,r)}function c(n,t,r){return e(n,N.x.toString(),t,r)}function l(n,t,r){return e(n,N.X.toString(),t,r)}function s(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{cc=jt;var t=new cc;return t._=n,r(t)}finally{cc=Date}}var r=t(n);return e.parse=function(n){try{cc=jt;var t=r.parse(n);return t&&t._}finally{cc=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ae;var M=ta.map(),x=Yt(v),b=Zt(v),_=Yt(d),w=Zt(d),S=Yt(m),k=Zt(m),E=Yt(y),A=Zt(y);p.forEach(function(n,t){M.set(n.toLowerCase(),t)});var N={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return It(n.getDate(),t,2)},e:function(n,t){return It(n.getDate(),t,2)},H:function(n,t){return It(n.getHours(),t,2)},I:function(n,t){return It(n.getHours()%12||12,t,2)},j:function(n,t){return It(1+ac.dayOfYear(n),t,3)},L:function(n,t){return It(n.getMilliseconds(),t,3)},m:function(n,t){return It(n.getMonth()+1,t,2)},M:function(n,t){return It(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return It(n.getSeconds(),t,2)},U:function(n,t){return It(ac.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return It(ac.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return It(n.getFullYear()%100,t,2)},Y:function(n,t){return It(n.getFullYear()%1e4,t,4)},Z:ie,"%":function(){return"%"}},C={a:r,A:u,b:i,B:o,c:a,d:Qt,e:Qt,H:te,I:te,j:ne,L:ue,m:Kt,M:ee,p:s,S:re,U:Xt,w:Vt,W:$t,x:c,X:l,y:Wt,Y:Bt,Z:Jt,"%":oe};return t}function It(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Yt(n){return new RegExp("^(?:"+n.map(ta.requote).join("|")+")","i")}function Zt(n){for(var t=new l,e=-1,r=n.length;++e68?1900:2e3)}function Kt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Qt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function ne(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function te(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ee(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function re(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ue(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ie(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=ga(t)/60|0,u=ga(t)%60;return e+It(r,"0",2)+It(u,"0",2)}function oe(n,t,e){hc.lastIndex=0;var r=hc.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ae(n){for(var t=n.length,e=-1;++e=0?1:-1,a=o*e,c=Math.cos(t),l=Math.sin(t),s=i*l,f=u*c+s*Math.cos(a),h=s*o*Math.sin(a);yc.add(Math.atan2(h,f)),r=n,u=c,i=l}var t,e,r,u,i;Mc.point=function(o,a){Mc.point=n,r=(t=o)*Da,u=Math.cos(a=(e=a)*Da/2+qa/4),i=Math.sin(a)},Mc.lineEnd=function(){n(t,e)}}function pe(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function ve(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function de(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function me(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ye(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function Me(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function xe(n){return[Math.atan2(n[1],n[0]),tt(n[2])]}function be(n,t){return ga(n[0]-t[0])a;++a)u.point((e=n[a])[0],e[1]);return void u.lineEnd()}var c=new qe(e,n,null,!0),l=new qe(e,null,c,!1);c.o=l,i.push(c),o.push(l),c=new qe(r,n,null,!1),l=new qe(r,null,c,!0),c.o=l,i.push(c),o.push(l)}}),o.sort(t),ze(i),ze(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].e=c=!c;for(var s,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;s=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,l=s.length;l>a;++a)u.point((f=s[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){s=g.p.z;for(var a=s.length-1;a>=0;--a)u.point((f=s[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,s=g.z,p=!p}while(!g.v);u.lineEnd()}}}function ze(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r0){for(b||(i.polygonStart(),b=!0),i.lineStart();++o1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Te))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=ta.merge(g);var n=Fe(m,p);g.length?(b||(i.polygonStart(),b=!0),Ce(g,De,n,e,i)):n&&(b||(i.polygonStart(),b=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),b&&(i.polygonEnd(),b=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Re(),x=t(M),b=!1;return y}}function Te(n){return n.length>1}function Re(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function De(n,t){return((n=n.x)[0]<0?n[1]-Ra-Ca:Ra-n[1])-((t=t.x)[0]<0?t[1]-Ra-Ca:Ra-t[1])}function Pe(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?qa:-qa,c=ga(i-e);ga(c-qa)0?Ra:-Ra),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=qa&&(ga(e-u)Ca?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function je(n,t,e,r){var u;if(null==n)u=e*Ra,r.point(-qa,u),r.point(0,u),r.point(qa,u),r.point(qa,0),r.point(qa,-u),r.point(0,-u),r.point(-qa,-u),r.point(-qa,0),r.point(-qa,u);else if(ga(n[0]-t[0])>Ca){var i=n[0]a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+qa/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===s&&(d=0),n=l[d];var m=n[0],y=n[1]/2+qa/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=b>=0?1:-1,w=_*b,S=w>qa,k=p*M;if(yc.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),i+=S?b+_*La:b,S^h>=e^m>=e){var E=de(pe(f),pe(n));Me(E);var A=de(u,E);Me(A);var N=(S^b>=0?-1:1)*tt(A[2]);(r>N||r===N&&(E[0]||E[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=m,p=M,v=x,f=n}}return(-Ca>i||Ca>i&&0>yc)^1&o}function He(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?qa:-qa),h):0;if(!e&&(l=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(be(e,g)||be(p,g))&&(p[0]+=Ca,p[1]+=Ca,v=t(p[0],p[1]))),v!==c)s=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&be(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=pe(n),u=pe(t),o=[1,0,0],a=de(r,u),c=ve(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=de(o,a),p=ye(o,f),v=ye(a,h);me(p,v);var d=g,m=ve(p,d),y=ve(d,d),M=m*m-y*(ve(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=ye(d,(-m-x)/y);if(me(b,p),b=xe(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=ga(A-qa)A;if(!N&&k>E&&(_=k,k=E,E=_),C?N?k+E>0^b[1]<(ga(b[0]-w)qa^(w<=b[0]&&b[0]<=S)){var z=ye(d,(-m+x)/y);return me(z,p),[b,xe(z)]}}}function u(t,e){var r=o?n:qa-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=ga(i)>Ca,c=gr(n,6*Da);return Le(t,e,c,o?[0,-n]:[-qa,n-qa])}function Oe(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,l=o.y,s=a.x,f=a.y,h=0,g=1,p=s-c,v=f-l;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-l,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-l,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:l+h*v}),1>g&&(u.b={x:c+g*p,y:l+g*v}),u}}}}}}function Ie(n,t,e,r){function u(r,u){return ga(r[0]-n)0?0:3:ga(r[0]-e)0?2:1:ga(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&Q(l,i,n)>0&&++t:i[1]<=r&&Q(l,i,n)<0&&--t,l=i;return 0!==t}function l(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function s(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){s(n,t)&&a.point(n,t)}function h(){C.point=p,d&&d.push(m=[]),S=!0,w=!1,b=_=0/0}function g(){v&&(p(y,M),x&&w&&A.rejoin(),v.push(A.buffer())),C.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Tc,Math.min(Tc,n)),t=Math.max(-Tc,Math.min(Tc,t));var e=s(n,t);if(d&&m.push([n,t]),S)y=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};N(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,m,y,M,x,b,_,w,S,k,E=a,A=Re(),N=Oe(n,t,e,r),C={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=ta.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),l(null,null,1,a),a.lineEnd()),u&&Ce(v,i,t,l,a),a.polygonEnd()),v=d=m=null}};return C}}function Ye(n){var t=0,e=qa/3,r=ir(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*qa/180,e=n[1]*qa/180):[t/qa*180,e/qa*180]},u}function Ze(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,tt((i-(n*n+e*e)*u*u)/(2*u))]},e}function Ve(){function n(n,t){Dc+=u*n-r*t,r=n,u=t}var t,e,r,u;Hc.point=function(i,o){Hc.point=n,t=r=i,e=u=o},Hc.lineEnd=function(){n(t,e)}}function Xe(n,t){Pc>n&&(Pc=n),n>jc&&(jc=n),Uc>t&&(Uc=t),t>Fc&&(Fc=t)}function $e(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Be(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Be(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Be(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function We(n,t){_c+=n,wc+=t,++Sc}function Je(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);kc+=o*(t+n)/2,Ec+=o*(e+r)/2,Ac+=o,We(t=n,e=r)}var t,e;Ic.point=function(r,u){Ic.point=n,We(t=r,e=u)}}function Ge(){Ic.point=We}function Ke(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);kc+=o*(r+n)/2,Ec+=o*(u+t)/2,Ac+=o,o=u*n-r*t,Nc+=o*(r+n),Cc+=o*(u+t),zc+=3*o,We(r=n,u=t)}var t,e,r,u;Ic.point=function(i,o){Ic.point=n,We(t=r=i,e=u=o)},Ic.lineEnd=function(){n(t,e)}}function Qe(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,La)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:b};return a}function nr(n){function t(n){return(a?r:e)(n)}function e(t){return rr(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=0/0,S.point=i,t.lineStart()}function i(e,r){var i=pe([e,r]),o=n(e,r);u(M,x,y,b,_,w,M=o[0],x=o[1],y=e,b=i[0],_=i[1],w=i[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=l,S.lineEnd=s}function l(n,t){i(f=n,h=t),g=M,p=x,v=b,d=_,m=w,S.point=i}function s(){u(M,x,y,b,_,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c -},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,l,s,f,h,g,p,v,d,m){var y=s-t,M=f-e,x=y*y+M*M;if(x>4*i&&d--){var b=a+g,_=c+p,w=l+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),E=ga(ga(w)-1)i||ga((y*z+M*q)/x-.5)>.3||o>a*g+c*p+l*v)&&(u(t,e,r,a,c,l,N,C,E,b/=S,_/=S,w,d,m),m.point(N,C),u(N,C,E,b,_,w,s,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Da),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function tr(n){var t=nr(function(t,e){return n([t*Pa,e*Pa])});return function(n){return or(t(n))}}function er(n){this.stream=n}function rr(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ur(n){return ir(function(){return n})()}function ir(n){function t(n){return n=a(n[0]*Da,n[1]*Da),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*Pa,n[1]*Pa]}function r(){a=Ae(o=lr(m,M,x),i);var n=i(v,d);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=nr(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,M=0,x=0,b=Lc,_=y,w=null,S=null;return t.stream=function(n){return s&&(s.valid=!1),s=or(b(o,f(_(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Lc):He((w=+n)*Da),u()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Ie(n[0][0],n[0][1],n[1][0],n[1][1]):y,u()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Da,d=n[1]%360*Da,r()):[v*Pa,d*Pa]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Da,M=n[1]%360*Da,x=n.length>2?n[2]%360*Da:0,r()):[m*Pa,M*Pa,x*Pa]},ta.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function or(n){return rr(n,function(t,e){n.point(t*Da,e*Da)})}function ar(n,t){return[n,t]}function cr(n,t){return[n>qa?n-La:-qa>n?n+La:n,t]}function lr(n,t,e){return n?t||e?Ae(fr(n),hr(t,e)):fr(n):t||e?hr(t,e):cr}function sr(n){return function(t,e){return t+=n,[t>qa?t-La:-qa>t?t+La:t,e]}}function fr(n){var t=sr(n);return t.invert=sr(-n),t}function hr(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),tt(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),tt(s*r-a*u)]},e}function gr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=pr(e,u),i=pr(e,i),(o>0?i>u:u>i)&&(u+=o*La)):(u=n+o*La,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=xe([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function pr(n,t){var e=pe(t);e[0]-=n,Me(e);var r=nt(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Ca)%(2*Math.PI)}function vr(n,t,e){var r=ta.range(n,t-Ca,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function dr(n,t,e){var r=ta.range(n,t-Ca,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function mr(n){return n.source}function yr(n){return n.target}function Mr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(it(r-t)+u*o*it(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*Pa,Math.atan2(o,Math.sqrt(r*r+u*u))*Pa]}:function(){return[n*Pa,t*Pa]};return p.distance=h,p}function xr(){function n(n,u){var i=Math.sin(u*=Da),o=Math.cos(u),a=ga((n*=Da)-t),c=Math.cos(a);Yc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;Zc.point=function(u,i){t=u*Da,e=Math.sin(i*=Da),r=Math.cos(i),Zc.point=n},Zc.lineEnd=function(){Zc.point=Zc.lineEnd=b}}function br(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function _r(n,t){function e(n,t){o>0?-Ra+Ca>t&&(t=-Ra+Ca):t>Ra-Ca&&(t=Ra-Ca);var e=o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(qa/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=K(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ra]},e):Sr}function wr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return ga(u)u;u++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function zr(n,t){return n[0]-t[0]||n[1]-t[1]}function qr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Lr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function Tr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Rr(){tu(this),this.edge=this.site=this.circle=null}function Dr(n){var t=el.pop()||new Rr;return t.site=n,t}function Pr(n){Xr(n),Qc.remove(n),el.push(n),tu(n)}function Ur(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Pr(n);for(var c=i;c.circle&&ga(e-c.circle.x)s;++s)l=a[s],c=a[s-1],Kr(l.edge,c.site,l.site,u);c=a[0],l=a[f-1],l.edge=Jr(c.site,l.site,null,u),Vr(c),Vr(l)}function jr(n){for(var t,e,r,u,i=n.x,o=n.y,a=Qc._;a;)if(r=Fr(a,o)-i,r>Ca)a=a.L;else{if(u=i-Hr(a,o),!(u>Ca)){r>-Ca?(t=a.P,e=a):u>-Ca?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Dr(n);if(Qc.insert(t,c),t||e){if(t===e)return Xr(t),e=Dr(t.site),Qc.insert(c,e),c.edge=e.edge=Jr(t.site,c.site),Vr(t),void Vr(e);if(!e)return void(c.edge=Jr(t.site,c.site));Xr(t),Xr(e);var l=t.site,s=l.x,f=l.y,h=n.x-s,g=n.y-f,p=e.site,v=p.x-s,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,M=v*v+d*d,x={x:(d*y-g*M)/m+s,y:(h*M-v*y)/m+f};Kr(e.edge,l,p,x),c.edge=Jr(l,n,null,x),e.edge=Jr(n,p,null,x),Vr(t),Vr(e)}}function Fr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,l=c-t;if(!l)return a;var s=a-r,f=1/i-1/l,h=s/l;return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*l)-c+l/2+u-i/2)))/f+r:(r+a)/2}function Hr(n,t){var e=n.N;if(e)return Fr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Or(n){this.site=n,this.edges=[]}function Ir(n){for(var t,e,r,u,i,o,a,c,l,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Kc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)s=a[o].end(),r=s.x,u=s.y,l=a[++o%c].start(),t=l.x,e=l.y,(ga(r-t)>Ca||ga(u-e)>Ca)&&(a.splice(o,0,new Qr(Gr(i.site,s,ga(r-f)Ca?{x:f,y:ga(t-f)Ca?{x:ga(e-p)Ca?{x:h,y:ga(t-h)Ca?{x:ga(e-g)=-za)){var g=c*c+l*l,p=s*s+f*f,v=(f*g-l*p)/h,d=(c*p-s*g)/h,f=d+a,m=rl.pop()||new Zr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,M=tl._;M;)if(m.yd||d>=a)return;if(h>p){if(i){if(i.y>=l)return}else i={x:d,y:c};e={x:d,y:l}}else{if(i){if(i.yr||r>1)if(h>p){if(i){if(i.y>=l)return}else i={x:(c-u)/r,y:c};e={x:(l-u)/r,y:l}}else{if(i){if(i.yg){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.xi||f>o||r>h||u>g)){if(p=n.point){var p,v=t-n.x,d=e-n.y,m=v*v+d*d;if(c>m){var y=Math.sqrt(c=m);r=t-y,u=e-y,i=t+y,o=e+y,a=p}}for(var M=n.nodes,x=.5*(s+h),b=.5*(f+g),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:l(n,s,f,x,b);break;case 1:l(n,x,f,h,b);break;case 2:l(n,s,b,x,g);break;case 3:l(n,x,b,h,g)}}}(n,r,u,i,o),a}function gu(n,t){n=ta.rgb(n),t=ta.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+xt(Math.round(e+i*n))+xt(Math.round(r+o*n))+xt(Math.round(u+a*n))}}function pu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=mu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function vu(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function du(n,t){var e,r,u,i=il.lastIndex=ol.lastIndex=0,o=-1,a=[],c=[];for(n+="",t+="";(e=il.exec(n))&&(r=ol.exec(t));)(u=r.index)>i&&(u=t.slice(i,u),a[o]?a[o]+=u:a[++o]=u),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:vu(e,r)})),i=ol.lastIndex;return ir;++r)a[(e=c[r]).i]=e.x(n);return a.join("")})}function mu(n,t){for(var e,r=ta.interpolators.length;--r>=0&&!(e=ta.interpolators[r](n,t)););return e}function yu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(mu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Mu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function xu(n){return function(t){return 1-n(1-t)}}function bu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function _u(n){return n*n}function wu(n){return n*n*n}function Su(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function ku(n){return function(t){return Math.pow(t,n)}}function Eu(n){return 1-Math.cos(n*Ra)}function Au(n){return Math.pow(2,10*(n-1))}function Nu(n){return 1-Math.sqrt(1-n*n)}function Cu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/La*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*La/t)}}function zu(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function qu(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Lu(n,t){n=ta.hcl(n),t=ta.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return st(e+i*n,r+o*n,u+a*n)+""}}function Tu(n,t){n=ta.hsl(n),t=ta.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return ct(e+i*n,r+o*n,u+a*n)+""}}function Ru(n,t){n=ta.lab(n),t=ta.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ht(e+i*n,r+o*n,u+a*n)+""}}function Du(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Pu(n){var t=[n.a,n.b],e=[n.c,n.d],r=ju(t),u=Uu(t,e),i=ju(Fu(e,t,-u))||0;t[0]*e[1]180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:vu(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:vu(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:vu(g[0],p[0])},{i:e-2,x:vu(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i=0;)e.push(u[r])}function Qu(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,o=-1;++oe;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function si(n){return n.reduce(fi,0)}function fi(n,t){return n+t[1]}function hi(n,t){return gi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function gi(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function pi(n){return[ta.min(n),ta.max(n)]}function vi(n,t){return n.value-t.value}function di(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function mi(n,t){n._pack_next=t,t._pack_prev=n}function yi(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Mi(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(xi),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],wi(r,u,i),t(i),di(r,i),r._pack_prev=i,di(i,u),u=r._pack_next,o=3;l>o;o++){wi(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(yi(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!yi(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.ro;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(bi)}}function xi(n){n._pack_next=n._pack_prev=n}function bi(n){delete n._pack_next,delete n._pack_prev}function _i(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Ci(n,t,e){return n.a.parent===t.parent?n.a:e}function zi(n){return 1+ta.max(n,function(n){return n.y})}function qi(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Li(n){var t=n.children;return t&&t.length?Li(t[0]):n}function Ti(n){var t,e=n.children;return e&&(t=e.length)?Ti(e[t-1]):n}function Ri(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Di(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function Pi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ui(n){return n.rangeExtent?n.rangeExtent():Pi(n.range())}function ji(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Fi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Hi(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:ml}function Oi(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Oi:ji,c=r?Iu:Ou;return o=u(n,t,c,e),a=u(t,n,c,mu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Du)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Xi(n,t)},i.tickFormat=function(t,e){return $i(n,t,e)},i.nice=function(t){return Zi(n,t),u()},i.copy=function(){return Ii(n,t,e,r)},u()}function Yi(n,t){return ta.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Zi(n,t){return Fi(n,Hi(Vi(n,t)[2]))}function Vi(n,t){null==t&&(t=10);var e=Pi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Xi(n,t){return ta.range.apply(ta,Vi(n,t))}function $i(n,t,e){var r=Vi(n,t);if(e){var u=ic.exec(e);if(u.shift(),"s"===u[8]){var i=ta.formatPrefix(Math.max(ga(r[0]),ga(r[1])));return u[7]||(u[7]="."+Bi(i.scale(r[2]))),u[8]="f",e=ta.format(u.join("")),function(n){return e(i.scale(n))+i.symbol}}u[7]||(u[7]="."+Wi(u[8],r)),e=u.join("")}else e=",."+Bi(r[2])+"f";return ta.format(e)}function Bi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Wi(n,t){var e=Bi(t[2]);return n in yl?Math.abs(e-Bi(Math.max(ga(t[0]),ga(t[1]))))+ +("e"!==n):e-2*("%"===n)}function Ji(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Fi(r.map(u),e?Math:xl);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=Pi(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++0;h--)o.push(i(l)*h);for(l=0;o[l]c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return Ml;arguments.length<2?t=Ml:"function"!=typeof t&&(t=ta.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return Ji(n.copy(),t,e,r)},Yi(o,n)}function Gi(n,t,e){function r(t){return n(u(t))}var u=Ki(t),i=Ki(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Xi(e,n)},r.tickFormat=function(n,t){return $i(e,n,t)},r.nice=function(n){return r.domain(Zi(e,n))},r.exponent=function(o){return arguments.length?(u=Ki(t=o),i=Ki(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Gi(n.copy(),t,e)},Yi(r,n)}function Ki(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Qi(n,t){function e(e){return i[((u.get(e)||("range"===t.t?u.set(e,n.push(e)):0/0))-1)%i.length]}function r(t,e){return ta.range(n.length).map(function(n){return t+e*n})}var u,i,o;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new l;for(var i,o=-1,a=r.length;++oe?[0/0,0/0]:[e>0?a[e-1]:n[0],et?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return to(n,t,e)},u()}function eo(n,t){function e(e){return e>=e?t[ta.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return eo(n,t)},e}function ro(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Xi(n,t)},t.tickFormat=function(t,e){return $i(n,t,e)},t.copy=function(){return ro(n)},t}function uo(){return 0}function io(n){return n.innerRadius}function oo(n){return n.outerRadius}function ao(n){return n.startAngle}function co(n){return n.endAngle}function lo(n){return n&&n.padAngle}function so(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function fo(n,t,e,r,u){var i=n[0]-t[0],o=n[1]-t[1],a=(u?r:-r)/Math.sqrt(i*i+o*o),c=a*o,l=-a*i,s=n[0]+c,f=n[1]+l,h=t[0]+c,g=t[1]+l,p=(s+h)/2,v=(f+g)/2,d=h-s,m=g-f,y=d*d+m*m,M=e-r,x=s*g-h*f,b=(0>m?-1:1)*Math.sqrt(M*M*y-x*x),_=(x*m-d*b)/y,w=(-x*d-m*b)/y,S=(x*m+d*b)/y,k=(-x*d+m*b)/y,E=_-p,A=w-v,N=S-p,C=k-v;return E*E+A*A>N*N+C*C&&(_=S,w=k),[[_-c,w-l],[_*e/M,w*e/M]]}function ho(n){function t(t){function o(){l.push("M",i(n(s),a))}for(var c,l=[],s=[],f=-1,h=t.length,g=Et(e),p=Et(r);++f1&&u.push("H",r[0]),u.join("")}function mo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function To(n){return n.length<3?go(n):n[0]+_o(n,Lo(n))}function Ro(n){for(var t,e,r,u=-1,i=n.length;++ur)return s();var u=i[i.active];u&&(--i.count,delete i[i.active],u.event&&u.event.interrupt.call(n,n.__data__,u.index)),i.active=r,o.event&&o.event.start.call(n,n.__data__,t),o.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&v.push(r)}),h=o.ease,f=o.duration,ta.timer(function(){return p.c=l(e||1)?Ne:l,1},0,a)}function l(e){if(i.active!==r)return 1;for(var u=e/f,a=h(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,n.__data__,t),s()):void 0}function s(){return--i.count?delete i[r]:delete n[e],1}var f,h,g=o.delay,p=ec,v=[];return p.t=g+a,u>=g?c(u-g):void(p.c=c)},0,a)}}function Bo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function Wo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function Jo(n){return n.toISOString()}function Go(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=ta.bisect(Vl,u);return i==Vl.length?[t.year,Vi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/Vl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=Ko(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Ko(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Pi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Ko(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Go(n.copy(),t,e)},Yi(r,n)}function Ko(n){return new Date(n)}function Qo(n){return JSON.parse(n.responseText)}function na(n){var t=ua.createRange();return t.selectNode(ua.body),t.createContextualFragment(n.responseText)}var ta={version:"3.5.5"},ea=[].slice,ra=function(n){return ea.call(n)},ua=this.document;if(ua)try{ra(ua.documentElement.childNodes)[0].nodeType}catch(ia){ra=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),ua)try{ua.createElement("DIV").style.setProperty("opacity",0,"")}catch(oa){var aa=this.Element.prototype,ca=aa.setAttribute,la=aa.setAttributeNS,sa=this.CSSStyleDeclaration.prototype,fa=sa.setProperty;aa.setAttribute=function(n,t){ca.call(this,n,t+"")},aa.setAttributeNS=function(n,t,e){la.call(this,n,t,e+"")},sa.setProperty=function(n,t,e){fa.call(this,n,t+"",e)}}ta.ascending=e,ta.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},ta.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ur&&(e=r)}else{for(;++u=r){e=r;break}for(;++ur&&(e=r)}return e},ta.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ue&&(e=r)}else{for(;++u=r){e=r;break}for(;++ue&&(e=r)}return e},ta.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},ta.sum=function(n,t){var e,r=0,i=n.length,o=-1;if(1===arguments.length)for(;++o1?c/(s-1):void 0},ta.deviation=function(){var n=ta.variance.apply(this,arguments);return n?Math.sqrt(n):n};var ha=i(e);ta.bisectLeft=ha.left,ta.bisect=ta.bisectRight=ha.right,ta.bisector=function(n){return i(1===n.length?function(t,r){return e(n(t),r)}:n)},ta.shuffle=function(n,t,e){(i=arguments.length)<3&&(e=n.length,2>i&&(t=0));for(var r,u,i=e-t;i;)u=Math.random()*i--|0,r=n[i+t],n[i+t]=n[u+t],n[u+t]=r;return n},ta.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ta.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},ta.zip=function(){if(!(r=arguments.length))return[];for(var n=-1,t=ta.min(arguments,o),e=new Array(t);++n=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var ga=Math.abs;ta.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)throw new Error("infinite range");var r,u=[],i=a(ga(e)),o=-1;if(n*=i,t*=i,e*=i,0>e)for(;(r=n+e*++o)>t;)u.push(r/i);else for(;(r=n+e*++o)=i.length)return r?r.call(u,o):e?o.sort(e):o;for(var c,s,f,h,g=-1,p=o.length,v=i[a++],d=new l;++g=i.length)return n;var r=[],u=o[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],o=[];return u.map=function(t,e){return n(e,t,0)},u.entries=function(e){return t(n(ta.map,e,0),0)},u.key=function(n){return i.push(n),u},u.sortKeys=function(n){return o[i.length-1]=n,u},u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},ta.set=function(n){var t=new m;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},c(m,{has:h,add:function(n){return this._[s(n+="")]=!0,n},remove:g,values:p,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,f(t))}}),ta.behavior={},ta.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ta.event=null,ta.requote=function(n){return n.replace(ma,"\\$&")};var ma=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ya={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},Ma=function(n,t){return t.querySelector(n)},xa=function(n,t){return t.querySelectorAll(n)},ba=function(n,t){var e=n.matches||n[x(n,"matchesSelector")];return(ba=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(Ma=function(n,t){return Sizzle(n,t)[0]||null},xa=Sizzle,ba=Sizzle.matchesSelector),ta.selection=function(){return ta.select(ua.documentElement)};var _a=ta.selection.prototype=[];_a.select=function(n){var t,e,r,u,i=[];n=N(n);for(var o=-1,a=this.length;++o=0&&(e=n.slice(0,t),n=n.slice(t+1)),wa.hasOwnProperty(e)?{space:wa[e],local:n}:n}},_a.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ta.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},_a.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,u=-1;if(t=e.classList){for(;++uu){if("string"!=typeof n){2>u&&(e="");for(r in n)this.each(P(r,n[r],e));return this}if(2>u){var i=this.node();return t(i).getComputedStyle(i,null).getPropertyValue(n)}r=""}return this.each(P(n,e,r))},_a.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n[t]));return this}return this.each(U(n,t))},_a.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},_a.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},_a.append=function(n){return n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},_a.insert=function(n,t){return n=j(n),t=N(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},_a.remove=function(){return this.each(F)},_a.data=function(n,t){function e(n,e){var r,u,i,o=n.length,f=e.length,h=Math.min(o,f),g=new Array(f),p=new Array(f),v=new Array(o);if(t){var d,m=new l,y=new Array(o);for(r=-1;++rr;++r)p[r]=H(e[r]);for(;o>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,a.push(p),c.push(g),s.push(v)}var r,u,i=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++ii;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return A(u)},_a.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},_a.sort=function(n){n=I.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},_a.size=function(){var n=0;return Y(this,function(){++n}),n};var Sa=[];ta.selection.enter=Z,ta.selection.enter.prototype=Sa,Sa.append=_a.append,Sa.empty=_a.empty,Sa.node=_a.node,Sa.call=_a.call,Sa.size=_a.size,Sa.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(X(n,t,e))};var ka=ta.map({mouseenter:"mouseover",mouseleave:"mouseout"});ua&&ka.forEach(function(n){"on"+n in ua&&ka.remove(n)});var Ea,Aa=0;ta.mouse=function(n){return J(n,k())};var Na=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ta.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().changedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)return J(n,r)},ta.behavior.drag=function(){function n(){this.on("mousedown.drag",i).on("touchstart.drag",o)}function e(n,t,e,i,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],p|=n|e,M=r,g({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:n,dy:e}))}function c(){t(h,v)&&(m.on(i+d,null).on(o+d,null),y(p&&ta.event.target===f),g({type:"dragend"}))}var l,s=this,f=ta.event.target,h=s.parentNode,g=r.of(s,arguments),p=0,v=n(),d=".drag"+(null==v?"":"-"+v),m=ta.select(e(f)).on(i+d,a).on(o+d,c),y=W(f),M=t(h,v);u?(l=u.apply(s,arguments),l=[l.x-M[0],l.y-M[1]]):l=[0,0],g({type:"dragstart"})}}var r=E(n,"drag","dragstart","dragend"),u=null,i=e(b,ta.mouse,t,"mousemove","mouseup"),o=e(G,ta.touch,y,"touchmove","touchend");return n.origin=function(t){return arguments.length?(u=t,n):u},ta.rebind(n,r,"on")},ta.touches=function(n,t){return arguments.length<2&&(t=k().touches),t?ra(t).map(function(t){var e=J(n,t);return e.identifier=t.identifier,e}):[]};var Ca=1e-6,za=Ca*Ca,qa=Math.PI,La=2*qa,Ta=La-Ca,Ra=qa/2,Da=qa/180,Pa=180/qa,Ua=Math.SQRT2,ja=2,Fa=4;ta.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=rt(v),o=i/(ja*h)*(e*ut(Ua*t+v)-et(v));return[r+o*l,u+o*s,i*e/rt(Ua*t+v)]}return[r+n*l,u+n*s,i*Math.exp(Ua*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+Fa*f)/(2*i*ja*h),p=(c*c-i*i-Fa*f)/(2*c*ja*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Ua;return e.duration=1e3*y,e},ta.behavior.zoom=function(){function n(n){n.on(q,f).on(Oa+".zoom",g).on("dblclick.zoom",p).on(R,h)}function e(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function u(n){k.k=Math.max(N[0],Math.min(N[1],n))}function i(n,t){t=r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function o(t,e,r,o){t.__chart__={x:k.x,y:k.y,k:k.k},u(Math.pow(2,o)),i(d=e,r),t=ta.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}function a(){b&&b.domain(x.range().map(function(n){return(n-k.x)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function c(n){z++||n({type:"zoomstart"})}function l(n){a(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function s(n){--z||n({type:"zoomend"}),d=null}function f(){function n(){f=1,i(ta.mouse(u),g),l(a)}function r(){h.on(L,null).on(T,null),p(f&&ta.event.target===o),s(a)}var u=this,o=ta.event.target,a=D.of(u,arguments),f=0,h=ta.select(t(u)).on(L,n).on(T,r),g=e(ta.mouse(u)),p=W(u);Dl.call(u),c(a)}function h(){function n(){var n=ta.touches(p);return g=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=e(n))}),n}function t(){var t=ta.event.target;ta.select(t).on(x,r).on(b,a),_.push(t);for(var e=ta.event.changedTouches,u=0,i=e.length;i>u;++u)d[e[u].identifier]=null;var c=n(),l=Date.now();if(1===c.length){if(500>l-M){var s=c[0];o(p,s,d[s.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=l}else if(c.length>1){var s=c[0],f=c[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}function r(){var n,t,e,r,o=ta.touches(p);Dl.call(p);for(var a=0,c=o.length;c>a;++a,r=null)if(e=o[a],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],u(f*g)}M=null,i(n,t),l(v)}function a(){if(ta.event.touches.length){for(var t=ta.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var u in d)return void n()}ta.selectAll(_).on(y,null),w.on(q,f).on(R,h),E(),s(v)}var g,p=this,v=D.of(p,arguments),d={},m=0,y=".zoom-"+ta.event.changedTouches[0].identifier,x="touchmove"+y,b="touchend"+y,_=[],w=ta.select(p),E=W(p);t(),c(v),w.on(q,null).on(R,t)}function g(){var n=D.of(this,arguments);y?clearTimeout(y):(v=e(d=m||ta.mouse(this)),Dl.call(this),c(n)),y=setTimeout(function(){y=null,s(n)},50),S(),u(Math.pow(2,.002*Ha())*k.k),i(d,v),l(n)}function p(){var n=ta.mouse(this),t=Math.log(k.k)/Math.LN2;o(this,n,e(n),ta.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,m,y,M,x,b,_,w,k={x:0,y:0,k:1},A=[960,500],N=Ia,C=250,z=0,q="mousedown.zoom",L="mousemove.zoom",T="mouseup.zoom",R="touchstart.zoom",D=E(n,"zoomstart","zoom","zoomend");return Oa||(Oa="onwheel"in ua?(Ha=function(){return-ta.event.deltaY*(ta.event.deltaMode?120:1)},"wheel"):"onmousewheel"in ua?(Ha=function(){return ta.event.wheelDelta},"mousewheel"):(Ha=function(){return-ta.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each(function(){var n=D.of(this,arguments),t=k;Tl?ta.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},c(n)}).tween("zoom:zoom",function(){var e=A[0],r=A[1],u=d?d[0]:e/2,i=d?d[1]:r/2,o=ta.interpolateZoom([(u-k.x)/k.k,(i-k.y)/k.k,e/k.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:u-r[0]*a,y:i-r[1]*a,k:a},l(n)}}).each("interrupt.zoom",function(){s(n)}).each("end.zoom",function(){s(n)}):(this.__chart__=k,c(n),l(n),s(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},a(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:+t},a(),n):k.k},n.scaleExtent=function(t){return arguments.length?(N=null==t?Ia:[+t[0],+t[1]],n):N},n.center=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(t){return arguments.length?(A=t&&[+t[0],+t[1]],n):A},n.duration=function(t){return arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},ta.rebind(n,D,"on")};var Ha,Oa,Ia=[0,1/0];ta.color=ot,ot.prototype.toString=function(){return this.rgb()+""},ta.hsl=at;var Ya=at.prototype=new ot;Ya.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new at(this.h,this.s,this.l/n)},Ya.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new at(this.h,this.s,n*this.l)},Ya.rgb=function(){return ct(this.h,this.s,this.l)},ta.hcl=lt;var Za=lt.prototype=new ot;Za.brighter=function(n){return new lt(this.h,this.c,Math.min(100,this.l+Va*(arguments.length?n:1)))},Za.darker=function(n){return new lt(this.h,this.c,Math.max(0,this.l-Va*(arguments.length?n:1)))},Za.rgb=function(){return st(this.h,this.c,this.l).rgb()},ta.lab=ft;var Va=18,Xa=.95047,$a=1,Ba=1.08883,Wa=ft.prototype=new ot;Wa.brighter=function(n){return new ft(Math.min(100,this.l+Va*(arguments.length?n:1)),this.a,this.b)},Wa.darker=function(n){return new ft(Math.max(0,this.l-Va*(arguments.length?n:1)),this.a,this.b)},Wa.rgb=function(){return ht(this.l,this.a,this.b)},ta.rgb=mt;var Ja=mt.prototype=new ot;Ja.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new mt(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new mt(u,u,u)},Ja.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new mt(n*this.r,n*this.g,n*this.b)},Ja.hsl=function(){return _t(this.r,this.g,this.b)},Ja.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var Ga=ta.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Ga.forEach(function(n,t){Ga.set(n,yt(t))}),ta.functor=Et,ta.xhr=At(y),ta.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=Nt(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=l)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==c)continue;return n.slice(t,s-a)}return n.slice(t)}for(var r,u,i={},o={},a=[],l=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,f++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new m,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},ta.csv=ta.dsv(",","text/csv"),ta.tsv=ta.dsv(" ","text/tab-separated-values");var Ka,Qa,nc,tc,ec,rc=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ta.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};Qa?Qa.n=i:Ka=i,Qa=i,nc||(tc=clearTimeout(tc),nc=1,rc(qt))},ta.timer.flush=function(){Lt(),Tt()},ta.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var uc=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Dt);ta.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=ta.round(n,Rt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),uc[8+e/3]};var ic=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,oc=ta.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ta.round(n,Rt(n,t))).toFixed(Math.max(0,Math.min(20,Rt(n*(1+1e-15),t))))}}),ac=ta.time={},cc=Date;jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){lc.setUTCDate.apply(this._,arguments)},setDay:function(){lc.setUTCDay.apply(this._,arguments)},setFullYear:function(){lc.setUTCFullYear.apply(this._,arguments)},setHours:function(){lc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){lc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){lc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){lc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){lc.setUTCSeconds.apply(this._,arguments)},setTime:function(){lc.setTime.apply(this._,arguments)}};var lc=Date.prototype;ac.year=Ft(function(n){return n=ac.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ac.years=ac.year.range,ac.years.utc=ac.year.utc.range,ac.day=Ft(function(n){var t=new cc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ac.days=ac.day.range,ac.days.utc=ac.day.utc.range,ac.dayOfYear=function(n){var t=ac.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ac[n]=Ft(function(n){return(n=ac.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ac.year(n).getDay();return Math.floor((ac.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ac[n+"s"]=e.range,ac[n+"s"].utc=e.utc.range,ac[n+"OfYear"]=function(n){var e=ac.year(n).getDay();return Math.floor((ac.dayOfYear(n)+(e+t)%7)/7)}}),ac.week=ac.sunday,ac.weeks=ac.sunday.range,ac.weeks.utc=ac.sunday.utc.range,ac.weekOfYear=ac.sundayOfYear;var sc={"-":"",_:" ",0:"0"},fc=/^\s*\d+/,hc=/^%/;ta.locale=function(n){return{numberFormat:Pt(n),timeFormat:Ot(n)}};var gc=ta.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ta.format=gc.numberFormat,ta.geo={},ce.prototype={s:0,t:0,add:function(n){le(n,this.t,pc),le(pc.s,this.s,this),this.s?this.t+=pc.t:this.s=pc.t -},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var pc=new ce;ta.geo.stream=function(n,t){n&&vc.hasOwnProperty(n.type)?vc[n.type](n,t):se(n,t)};var vc={Feature:function(n,t){se(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*qa+n:n,Mc.lineStart=Mc.lineEnd=Mc.point=b}};ta.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=pe([t*Da,e*Da]);if(m){var u=de(m,r),i=[u[1],-u[0],0],o=de(i,u);Me(o),o=xe(o);var c=t-p,l=c>0?1:-1,v=o[0]*Pa*l,d=ga(c)>180;if(d^(v>l*p&&l*t>v)){var y=o[1]*Pa;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>l*p&&l*t>v)){var y=-o[1]*Pa;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=ga(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Mc.point(n,e),t(n,e)}function i(){Mc.lineStart()}function o(){u(v,d),Mc.lineEnd(),ga(y)>Ca&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nyc?(s=-(h=180),f=-(g=90)):y>Ca?g=90:-Ca>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],ta.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),ta.geo.centroid=function(n){xc=bc=_c=wc=Sc=kc=Ec=Ac=Nc=Cc=zc=0,ta.geo.stream(n,qc);var t=Nc,e=Cc,r=zc,u=t*t+e*e+r*r;return za>u&&(t=kc,e=Ec,r=Ac,Ca>bc&&(t=_c,e=wc,r=Sc),u=t*t+e*e+r*r,za>u)?[0/0,0/0]:[Math.atan2(e,t)*Pa,tt(r/Math.sqrt(u))*Pa]};var xc,bc,_c,wc,Sc,kc,Ec,Ac,Nc,Cc,zc,qc={sphere:b,point:_e,lineStart:Se,lineEnd:ke,polygonStart:function(){qc.lineStart=Ee},polygonEnd:function(){qc.lineStart=Se}},Lc=Le(Ne,Pe,je,[-qa,-qa/2]),Tc=1e9;ta.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Ie(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ta.geo.conicEqualArea=function(){return Ye(Ze)}).raw=Ze,ta.geo.albers=function(){return ta.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ta.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=ta.geo.albers(),o=ta.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ta.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Ca,f+.12*l+Ca],[s-.214*l-Ca,f+.234*l-Ca]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Ca,f+.166*l+Ca],[s-.115*l-Ca,f+.234*l-Ca]]).stream(c).point,n},n.scale(1070)};var Rc,Dc,Pc,Uc,jc,Fc,Hc={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Dc=0,Hc.lineStart=Ve},polygonEnd:function(){Hc.lineStart=Hc.lineEnd=Hc.point=b,Rc+=ga(Dc/2)}},Oc={point:Xe,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Ic={point:We,lineStart:Je,lineEnd:Ge,polygonStart:function(){Ic.lineStart=Ke},polygonEnd:function(){Ic.point=We,Ic.lineStart=Je,Ic.lineEnd=Ge}};ta.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),ta.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Rc=0,ta.geo.stream(n,u(Hc)),Rc},n.centroid=function(n){return _c=wc=Sc=kc=Ec=Ac=Nc=Cc=zc=0,ta.geo.stream(n,u(Ic)),zc?[Nc/zc,Cc/zc]:Ac?[kc/Ac,Ec/Ac]:Sc?[_c/Sc,wc/Sc]:[0/0,0/0]},n.bounds=function(n){return jc=Fc=-(Pc=Uc=1/0),ta.geo.stream(n,u(Oc)),[[Pc,Uc],[jc,Fc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||tr(n):y,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new $e:new Qe(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(ta.geo.albersUsa()).context(null)},ta.geo.transform=function(n){return{stream:function(t){var e=new er(t);for(var r in n)e[r]=n[r];return e}}},er.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ta.geo.projection=ur,ta.geo.projectionMutator=ir,(ta.geo.equirectangular=function(){return ur(ar)}).raw=ar.invert=ar,ta.geo.rotation=function(n){function t(t){return t=n(t[0]*Da,t[1]*Da),t[0]*=Pa,t[1]*=Pa,t}return n=lr(n[0]%360*Da,n[1]*Da,n.length>2?n[2]*Da:0),t.invert=function(t){return t=n.invert(t[0]*Da,t[1]*Da),t[0]*=Pa,t[1]*=Pa,t},t},cr.invert=ar,ta.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=lr(-n[0]*Da,-n[1]*Da,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Pa,n[1]*=Pa}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=gr((t=+r)*Da,u*Da),n):t},n.precision=function(r){return arguments.length?(e=gr(t*Da,(u=+r)*Da),n):u},n.angle(90)},ta.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Da,u=n[1]*Da,i=t[1]*Da,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},ta.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ta.range(Math.ceil(i/d)*d,u,d).map(h).concat(ta.range(Math.ceil(l/m)*m,c,m).map(g)).concat(ta.range(Math.ceil(r/p)*p,e,p).filter(function(n){return ga(n%d)>Ca}).map(s)).concat(ta.range(Math.ceil(a/v)*v,o,v).filter(function(n){return ga(n%m)>Ca}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,s=vr(a,o,90),f=dr(r,e,y),h=vr(l,c,90),g=dr(i,u,y),n):y},n.majorExtent([[-180,-90+Ca],[180,90-Ca]]).minorExtent([[-180,-80-Ca],[180,80+Ca]])},ta.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=mr,u=yr;return n.distance=function(){return ta.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},ta.geo.interpolate=function(n,t){return Mr(n[0]*Da,n[1]*Da,t[0]*Da,t[1]*Da)},ta.geo.length=function(n){return Yc=0,ta.geo.stream(n,Zc),Yc};var Yc,Zc={sphere:b,point:b,lineStart:xr,lineEnd:b,polygonStart:b,polygonEnd:b},Vc=br(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ta.geo.azimuthalEqualArea=function(){return ur(Vc)}).raw=Vc;var Xc=br(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},y);(ta.geo.azimuthalEquidistant=function(){return ur(Xc)}).raw=Xc,(ta.geo.conicConformal=function(){return Ye(_r)}).raw=_r,(ta.geo.conicEquidistant=function(){return Ye(wr)}).raw=wr;var $c=br(function(n){return 1/n},Math.atan);(ta.geo.gnomonic=function(){return ur($c)}).raw=$c,Sr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ra]},(ta.geo.mercator=function(){return kr(Sr)}).raw=Sr;var Bc=br(function(){return 1},Math.asin);(ta.geo.orthographic=function(){return ur(Bc)}).raw=Bc;var Wc=br(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ta.geo.stereographic=function(){return ur(Wc)}).raw=Wc,Er.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ra]},(ta.geo.transverseMercator=function(){var n=kr(Er),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Er,ta.geom={},ta.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=Et(e),i=Et(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(zr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var l=Cr(a),s=Cr(c),f=s[0]===l[0],h=s[s.length-1]===l[l.length-1],g=[];for(t=l.length-1;t>=0;--t)g.push(n[a[l[t]][2]]);for(t=+f;t=r&&l.x<=i&&l.y>=u&&l.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];s.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Ca)*Ca,y:Math.round(o(n,t)/Ca)*Ca,i:t}})}var r=Ar,u=Nr,i=r,o=u,a=ul;return n?t(n):(t.links=function(n){return iu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return iu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(Yr),c=-1,l=a.length,s=a[l-1].edge,f=s.l===o?s.r:s.l;++c=l,h=r>=s,g=h<<1|f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=su()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,v,d,m,y,M=Et(a),x=Et(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);v>b&&(v=b),d>_&&(d=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=su();if(k.add=function(n){i(k,n,+M(n,++g),+x(n,g),v,d,m,y)},k.visit=function(n){fu(n,k,v,d,m,y)},k.find=function(n){return hu(k,n[0],n[1],v,d,m,y)},g=-1,null==t){for(;++g=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=cl.get(e)||al,r=ll.get(r)||y,Mu(r(e.apply(null,ea.call(arguments,1))))},ta.interpolateHcl=Lu,ta.interpolateHsl=Tu,ta.interpolateLab=Ru,ta.interpolateRound=Du,ta.transform=function(n){var t=ua.createElementNS(ta.ns.prefix.svg,"g");return(ta.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Pu(e?e.matrix:sl)})(n)},Pu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var sl={a:1,b:0,c:0,d:1,e:0,f:0};ta.interpolateTransform=Hu,ta.layout={},ta.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++ea*a/d){if(p>c){var l=t.charge/c;n.px-=i*l,n.py-=o*l}return!0}if(t.point&&c&&p>c){var l=t.pointCharge/c;n.px-=i*l,n.py-=o*l}}return!t.charge}}function t(n){n.px=ta.event.x,n.py=ta.event.y,a.resume()}var e,r,u,i,o,a={},c=ta.dispatch("start","tick","end"),l=[1,1],s=.9,f=fl,h=hl,g=-30,p=gl,v=.1,d=.64,m=[],M=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,y,x,b=m.length,_=M.length;for(e=0;_>e;++e)a=M[e],f=a.source,h=a.target,y=h.x-f.x,x=h.y-f.y,(p=y*y+x*x)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,y*=p,x*=p,h.x-=y*(d=f.weight/(h.weight+f.weight)),h.y-=x*d,f.x+=y*(d=1-d),f.y+=x*d);if((d=r*v)&&(y=l[0]/2,x=l[1]/2,e=-1,d))for(;++e0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),ta.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=M[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,l=o.length;++at;++t)(r=m[t]).index=t,r.weight=0;for(t=0;s>t;++t)r=M[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;s>t;++t)u[t]=+f.call(this,M[t],t);else for(t=0;s>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;s>t;++t)i[t]=+h.call(this,M[t],t);else for(t=0;s>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=ta.behavior.drag().origin(y).on("dragstart.force",Xu).on("drag.force",t).on("dragend.force",$u)),arguments.length?void this.on("mouseover.force",Bu).on("mouseout.force",Wu).call(e):e},ta.rebind(a,c,"on")};var fl=20,hl=1,gl=1/0;ta.layout.hierarchy=function(){function n(u){var i,o=[u],a=[];for(u.depth=0;null!=(i=o.pop());)if(a.push(i),(l=e.call(n,i,i.depth))&&(c=l.length)){for(var c,l,s;--c>=0;)o.push(s=l[c]),s.parent=i,s.depth=i.depth+1;r&&(i.value=0),i.children=l}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Qu(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),a}var t=ei,e=ni,r=ti;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ku(t,function(n){n.children&&(n.value=0)}),Qu(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ta.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,l=-1;for(r=t.value?r/t.value:0;++lf?-1:1),p=(f-c*g)/ta.sum(l),v=ta.range(c),d=[];return null!=e&&v.sort(e===pl?function(n,t){return l[t]-l[n]}:function(n,t){return e(o[n],o[t])}),v.forEach(function(n){d[n]={data:o[n],value:a=l[n],startAngle:s,endAngle:s+=a*p+g,padAngle:h}}),d}var t=Number,e=pl,r=0,u=La,i=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n.padAngle=function(t){return arguments.length?(i=t,n):i},n};var pl={};ta.layout.stack=function(){function n(a,c){if(!(h=a.length))return a;var l=a.map(function(e,r){return t.call(n,e,r)}),s=l.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,s,c);l=ta.permute(l,f),s=ta.permute(s,f);var h,g,p,v,d=r.call(n,s,c),m=l[0].length;for(p=0;m>p;++p)for(u.call(n,l[0][p],v=d[p],s[0][p][1]),g=1;h>g;++g)u.call(n,l[g][p],v+=s[g-1][p][1],s[g][p][1]);return a}var t=y,e=ai,r=ci,u=oi,i=ui,o=ii;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:vl.get(t)||ai,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:dl.get(t)||ci,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var vl=ta.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(li),i=n.map(si),o=ta.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return ta.range(n.length).reverse()},"default":ai}),dl=ta.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ci});ta.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&a<=s[1]&&(o=c[ta.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=pi,u=hi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=Et(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return gi(n,t)}:Et(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ta.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Qu(a,function(n){n.r=+s(n.value)}),Qu(a,Mi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Qu(a,function(n){n.r+=f}),Qu(a,Mi),Qu(a,function(n){n.r-=f})}return _i(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=ta.layout.hierarchy().sort(vi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Gu(n,e)},ta.layout.tree=function(){function n(n,u){var s=o.call(this,n,u),f=s[0],h=t(f);if(Qu(h,e),h.parent.m=-h.z,Ku(h,r),l)Ku(f,i);else{var g=f,p=f,v=f;Ku(f,function(n){n.xp.x&&(p=n),n.depth>v.depth&&(v=n)});var d=a(g,p)/2-g.x,m=c[0]/(p.x+a(p,g)/2+d),y=c[1]/(v.depth||1);Ku(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,o=0,a=i.length;a>o;++o)r.push((i[o]=u={_:i[o],parent:t,children:(u=i[o].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Ni(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+a(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,o=t,c=u.parent.children[0],l=u.m,s=i.m,f=o.m,h=c.m;o=Ei(o),u=ki(u),o&&u;)c=ki(c),i=Ei(i),i.a=n,r=o.z+f-u.z-l+a(o._,u._),r>0&&(Ai(Ci(o,n,e),n,r),l+=r,s+=r),f+=o.m,l+=u.m,h+=c.m,s+=i.m;o&&!Ei(i)&&(i.t=o,i.m+=f-s),u&&!ki(c)&&(c.t=u,c.m+=l-h,e=n)}return e}function i(n){n.x*=c[0],n.y=n.depth*c[1]}var o=ta.layout.hierarchy().sort(null).value(null),a=Si,c=[1,1],l=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(l=null==(c=t)?i:null,n):l?null:c},n.nodeSize=function(t){return arguments.length?(l=null==(c=t)?null:i,n):l?c:null},Gu(n,o)},ta.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Qu(c,function(n){var t=n.children;t&&t.length?(n.x=qi(t),n.y=zi(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Li(c),f=Ti(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Qu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=ta.layout.hierarchy().sort(null).value(null),e=Si,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Gu(n,t)},ta.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,v="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,v))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,v,l,!1),v=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,v,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++oe&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=ta.random.normal.apply(ta,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ta.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ta.scale={};var ml={floor:y,ceil:y};ta.scale.linear=function(){return Ii([0,1],[0,1],mu,!1)};var yl={s:1,g:1,p:1,r:1,e:1};ta.scale.log=function(){return Ji(ta.scale.linear().domain([0,1]),10,!0,[1,10])};var Ml=ta.format(".0e"),xl={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ta.scale.pow=function(){return Gi(ta.scale.linear(),1,[0,1])},ta.scale.sqrt=function(){return ta.scale.pow().exponent(.5)},ta.scale.ordinal=function(){return Qi([],{t:"range",a:[[]]})},ta.scale.category10=function(){return ta.scale.ordinal().range(bl)},ta.scale.category20=function(){return ta.scale.ordinal().range(_l)},ta.scale.category20b=function(){return ta.scale.ordinal().range(wl)},ta.scale.category20c=function(){return ta.scale.ordinal().range(Sl)};var bl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(Mt),_l=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(Mt),wl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(Mt),Sl=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(Mt);ta.scale.quantile=function(){return no([],[])},ta.scale.quantize=function(){return to(0,1,[0,1])},ta.scale.threshold=function(){return eo([.5],[0,1])},ta.scale.identity=function(){return ro([0,1])},ta.svg={},ta.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),s=o.apply(this,arguments)-Ra,f=a.apply(this,arguments)-Ra,h=Math.abs(f-s),g=s>f?0:1;if(n>l&&(p=l,l=n,n=p),h>=Ta)return t(l,g)+(n?t(n,1-g):"")+"Z";var p,v,d,m,y,M,x,b,_,w,S,k,E=0,A=0,N=[];if((m=(+c.apply(this,arguments)||0)/2)&&(d=i===kl?Math.sqrt(n*n+l*l):+i.apply(this,arguments),g||(A*=-1),l&&(A=tt(d/l*Math.sin(m))),n&&(E=tt(d/n*Math.sin(m)))),l){y=l*Math.cos(s+A),M=l*Math.sin(s+A),x=l*Math.cos(f-A),b=l*Math.sin(f-A);var C=Math.abs(f-s-2*A)<=qa?0:1;if(A&&so(y,M,x,b)===g^C){var z=(s+f)/2;y=l*Math.cos(z),M=l*Math.sin(z),x=b=null}}else y=M=0;if(n){_=n*Math.cos(f-E),w=n*Math.sin(f-E),S=n*Math.cos(s+E),k=n*Math.sin(s+E);var q=Math.abs(s-f+2*E)<=qa?0:1;if(E&&so(_,w,S,k)===1-g^q){var L=(s+f)/2;_=n*Math.cos(L),w=n*Math.sin(L),S=k=null}}else _=w=0;if((p=Math.min(Math.abs(l-n)/2,+u.apply(this,arguments)))>.001){v=l>n^g?0:1;var T=null==S?[_,w]:null==x?[y,M]:Lr([y,M],[S,k],[x,b],[_,w]),R=y-T[0],D=M-T[1],P=x-T[0],U=b-T[1],j=1/Math.sin(Math.acos((R*P+D*U)/(Math.sqrt(R*R+D*D)*Math.sqrt(P*P+U*U)))/2),F=Math.sqrt(T[0]*T[0]+T[1]*T[1]);if(null!=x){var H=Math.min(p,(l-F)/(j+1)),O=fo(null==S?[_,w]:[S,k],[y,M],l,H,g),I=fo([x,b],[_,w],l,H,g);p===H?N.push("M",O[0],"A",H,",",H," 0 0,",v," ",O[1],"A",l,",",l," 0 ",1-g^so(O[1][0],O[1][1],I[1][0],I[1][1]),",",g," ",I[1],"A",H,",",H," 0 0,",v," ",I[0]):N.push("M",O[0],"A",H,",",H," 0 1,",v," ",I[0])}else N.push("M",y,",",M);if(null!=S){var Y=Math.min(p,(n-F)/(j-1)),Z=fo([y,M],[S,k],n,-Y,g),V=fo([_,w],null==x?[y,M]:[x,b],n,-Y,g);p===Y?N.push("L",V[0],"A",Y,",",Y," 0 0,",v," ",V[1],"A",n,",",n," 0 ",g^so(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-g," ",Z[1],"A",Y,",",Y," 0 0,",v," ",Z[0]):N.push("L",V[0],"A",Y,",",Y," 0 0,",v," ",Z[0])}else N.push("L",_,",",w)}else N.push("M",y,",",M),null!=x&&N.push("A",l,",",l," 0 ",C,",",g," ",x,",",b),N.push("L",_,",",w),null!=S&&N.push("A",n,",",n," 0 ",q,",",1-g," ",S,",",k);return N.push("Z"),N.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=io,r=oo,u=uo,i=kl,o=ao,a=co,c=lo;return n.innerRadius=function(t){return arguments.length?(e=Et(t),n):e},n.outerRadius=function(t){return arguments.length?(r=Et(t),n):r},n.cornerRadius=function(t){return arguments.length?(u=Et(t),n):u},n.padRadius=function(t){return arguments.length?(i=t==kl?kl:Et(t),n):i},n.startAngle=function(t){return arguments.length?(o=Et(t),n):o},n.endAngle=function(t){return arguments.length?(a=Et(t),n):a},n.padAngle=function(t){return arguments.length?(c=Et(t),n):c},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Ra;return[Math.cos(t)*n,Math.sin(t)*n]},n};var kl="auto";ta.svg.line=function(){return ho(y)};var El=ta.map({linear:go,"linear-closed":po,step:vo,"step-before":mo,"step-after":yo,basis:So,"basis-open":ko,"basis-closed":Eo,bundle:Ao,cardinal:bo,"cardinal-open":Mo,"cardinal-closed":xo,monotone:To});El.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Al=[0,2/3,1/3,0],Nl=[0,1/3,2/3,0],Cl=[0,1/6,2/3,1/6];ta.svg.line.radial=function(){var n=ho(Ro);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},mo.reverse=yo,yo.reverse=mo,ta.svg.area=function(){return Do(y)},ta.svg.area.radial=function(){var n=Do(Ro);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ta.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)-Ra,s=l.call(n,u,r)-Ra;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>qa)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=mr,o=yr,a=Po,c=ao,l=co;return n.radius=function(t){return arguments.length?(a=Et(t),n):a},n.source=function(t){return arguments.length?(i=Et(t),n):i},n.target=function(t){return arguments.length?(o=Et(t),n):o},n.startAngle=function(t){return arguments.length?(c=Et(t),n):c},n.endAngle=function(t){return arguments.length?(l=Et(t),n):l},n},ta.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=mr,e=yr,r=Uo;return n.source=function(e){return arguments.length?(t=Et(e),n):t},n.target=function(t){return arguments.length?(e=Et(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ta.svg.diagonal.radial=function(){var n=ta.svg.diagonal(),t=Uo,e=n.projection;return n.projection=function(n){return arguments.length?e(jo(t=n)):t},n},ta.svg.symbol=function(){function n(n,r){return(zl.get(t.call(this,n,r))||Oo)(e.call(this,n,r))}var t=Ho,e=Fo;return n.type=function(e){return arguments.length?(t=Et(e),n):t},n.size=function(t){return arguments.length?(e=Et(t),n):e},n};var zl=ta.map({circle:Oo,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ll)),e=t*Ll;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/ql),e=t*ql/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/ql),e=t*ql/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ta.svg.symbolTypes=zl.keys();var ql=Math.sqrt(3),Ll=Math.tan(30*Da);_a.transition=function(n){for(var t,e,r=Tl||++Ul,u=Xo(n),i=[],o=Rl||{time:Date.now(),ease:Su,delay:0,duration:250},a=-1,c=this.length;++ai;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Yo(u,this.namespace,this.id)},Pl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(u){u[r][e].tween.set(n,t)})},Pl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Hu:mu,a=ta.ns.qualify(n);return Zo(this,"attr."+n,t,a.local?i:u)},Pl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=ta.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Pl.style=function(n,e,r){function u(){this.style.removeProperty(n)}function i(e){return null==e?u:(e+="",function(){var u,i=t(this).getComputedStyle(this,null).getPropertyValue(n);return i!==e&&(u=mu(i,e),function(t){this.style.setProperty(n,u(t),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof n){2>o&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Zo(this,"style."+n,e,i)},Pl.styleTween=function(n,e,r){function u(u,i){var o=e.call(this,u,i,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,u)},Pl.text=function(n){return Zo(this,"text",n,Vo)},Pl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Pl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ta.ease.apply(ta,arguments)),Y(this,function(r){r[e][t].ease=n}))},Pl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,u,i){r[e][t].delay=+n.call(r,r.__data__,u,i)}:(n=+n,function(r){r[e][t].delay=n}))},Pl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,u,i){r[e][t].duration=Math.max(1,n.call(r,r.__data__,u,i))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Pl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var u=Rl,i=Tl;try{Tl=e,Y(this,function(t,u,i){Rl=t[r][e],n.call(t,t.__data__,u,i)})}finally{Rl=u,Tl=i}}else Y(this,function(u){var i=u[r][e];(i.event||(i.event=ta.dispatch("start","end","interrupt"))).on(n,t)});return this},Pl.transition=function(){for(var n,t,e,r,u=this.id,i=++Ul,o=this.namespace,a=[],c=0,l=this.length;l>c;c++){a.push(n=[]);for(var t=this[c],s=0,f=t.length;f>s;s++)(e=t[s])&&(r=e[o][u],$o(e,s,o,i,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Yo(a,o,i)},ta.svg.axis=function(){function n(n){n.each(function(){var n,l=ta.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):y:t,p=l.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Ca),d=ta.transition(p.exit()).style("opacity",Ca).remove(),m=ta.transition(p.order()).style("opacity",1),M=Math.max(u,0)+o,x=Ui(f),b=l.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),ta.transition(b));v.append("line"),v.append("text");var w,S,k,E,A=v.select("line"),N=m.select("line"),C=p.select("text").text(g),z=v.select("text"),q=m.select("text"),L="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=Bo,w="x",k="y",S="x2",E="y2",C.attr("dy",0>L?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+L*i+"V0H"+x[1]+"V"+L*i)):(n=Wo,w="y",k="x",S="y2",E="x2",C.attr("dy",".32em").style("text-anchor",0>L?"end":"start"),_.attr("d","M"+L*i+","+x[0]+"H0V"+x[1]+"H"+L*i)),A.attr(E,L*u),z.attr(k,L*M),N.attr(S,0).attr(E,L*u),q.attr(w,0).attr(k,L*M),f.rangeBand){var T=f,R=T.rangeBand()/2;s=f=function(n){return T(n)+R}}else s.rangeBand?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=ta.scale.linear(),r=jl,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Fl?t+"":jl,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var jl="bottom",Fl={top:1,right:1,bottom:1,left:1};ta.svg.brush=function(){function n(t){t.each(function(){var t=ta.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",i).on("touchstart.brush",i),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,y);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return Hl[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var c,f=ta.transition(t),h=ta.transition(o);l&&(c=Ui(l),h.attr("x",c[0]).attr("width",c[1]-c[0]),r(f)),s&&(c=Ui(s),h.attr("y",c[0]).attr("height",c[1]-c[0]),u(f)),e(f)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+f[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",f[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1]-f[0])}function u(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function i(){function i(){32==ta.event.keyCode&&(C||(M=null,q[0]-=f[1],q[1]-=h[1],C=2),S())}function v(){32==ta.event.keyCode&&2==C&&(q[0]+=f[1],q[1]+=h[1],C=0,S())}function d(){var n=ta.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(ta.event.altKey?(M||(M=[(f[0]+f[1])/2,(h[0]+h[1])/2]),q[0]=f[+(n[0]s?(u=r,r=s):u=s),v[0]!=r||v[1]!=u?(e?a=null:o=null,v[0]=r,v[1]=u,!0):void 0}function y(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ta.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=ta.select(ta.event.target),w=c.of(b,arguments),k=ta.select(b),E=_.datum(),A=!/^(n|s)$/.test(E)&&l,N=!/^(e|w)$/.test(E)&&s,C=_.classed("extent"),z=W(b),q=ta.mouse(b),L=ta.select(t(b)).on("keydown.brush",i).on("keyup.brush",v);if(ta.event.changedTouches?L.on("touchmove.brush",d).on("touchend.brush",y):L.on("mousemove.brush",d).on("mouseup.brush",y),k.interrupt().selectAll("*").interrupt(),C)q[0]=f[0]-q[0],q[1]=h[0]-q[1];else if(E){var T=+/w$/.test(E),R=+/^n/.test(E);x=[f[1-T]-q[0],h[1-R]-q[1]],q[0]=f[T],q[1]=h[R]}else ta.event.altKey&&(M=q.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ta.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var o,a,c=E(n,"brushstart","brush","brushend"),l=null,s=null,f=[0,0],h=[0,0],g=!0,p=!0,v=Ol[0];return n.event=function(n){n.each(function(){var n=c.of(this,arguments),t={x:f,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Tl?ta.select(this).transition().each("start.brush",function(){o=e.i,a=e.j,f=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=yu(f,t.x),r=yu(h,t.y);return o=a=null,function(u){f=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(l=t,v=Ol[!l<<1|!s],n):l},n.y=function(t){return arguments.length?(s=t,v=Ol[!l<<1|!s],n):s},n.clamp=function(t){return arguments.length?(l&&s?(g=!!t[0],p=!!t[1]):l?g=!!t:s&&(p=!!t),n):l&&s?[g,p]:l?g:s?p:null},n.extent=function(t){var e,r,u,i,c;return arguments.length?(l&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),o=[e,r],l.invert&&(e=l(e),r=l(r)),e>r&&(c=e,e=r,r=c),(e!=f[0]||r!=f[1])&&(f=[e,r])),s&&(u=t[0],i=t[1],l&&(u=u[1],i=i[1]),a=[u,i],s.invert&&(u=s(u),i=s(i)),u>i&&(c=u,u=i,i=c),(u!=h[0]||i!=h[1])&&(h=[u,i])),n):(l&&(o?(e=o[0],r=o[1]):(e=f[0],r=f[1],l.invert&&(e=l.invert(e),r=l.invert(r)),e>r&&(c=e,e=r,r=c))),s&&(a?(u=a[0],i=a[1]):(u=h[0],i=h[1],s.invert&&(u=s.invert(u),i=s.invert(i)),u>i&&(c=u,u=i,i=c))),l&&s?[[e,u],[r,i]]:l?[e,r]:s&&[u,i])},n.clear=function(){return n.empty()||(f=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!l&&f[0]==f[1]||!!s&&h[0]==h[1]},ta.rebind(n,c,"on")};var Hl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ol=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Il=ac.format=gc.timeFormat,Yl=Il.utc,Zl=Yl("%Y-%m-%dT%H:%M:%S.%LZ");Il.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Jo:Zl,Jo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Jo.toString=Zl.toString,ac.second=Ft(function(n){return new cc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),ac.seconds=ac.second.range,ac.seconds.utc=ac.second.utc.range,ac.minute=Ft(function(n){return new cc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),ac.minutes=ac.minute.range,ac.minutes.utc=ac.minute.utc.range,ac.hour=Ft(function(n){var t=n.getTimezoneOffset()/60;return new cc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),ac.hours=ac.hour.range,ac.hours.utc=ac.hour.utc.range,ac.month=Ft(function(n){return n=ac.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),ac.months=ac.month.range,ac.months.utc=ac.month.utc.range;var Vl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Xl=[[ac.second,1],[ac.second,5],[ac.second,15],[ac.second,30],[ac.minute,1],[ac.minute,5],[ac.minute,15],[ac.minute,30],[ac.hour,1],[ac.hour,3],[ac.hour,6],[ac.hour,12],[ac.day,1],[ac.day,2],[ac.week,1],[ac.month,1],[ac.month,3],[ac.year,1]],$l=Il.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",Ne]]),Bl={range:function(n,t,e){return ta.range(Math.ceil(n/e)*e,+t,e).map(Ko)},floor:y,ceil:y};Xl.year=ac.year,ac.scale=function(){return Go(ta.scale.linear(),Xl,$l)};var Wl=Xl.map(function(n){return[n[0].utc,n[1]]}),Jl=Yl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",Ne]]);Wl.year=ac.year.utc,ac.scale.utc=function(){return Go(ta.scale.linear(),Wl,Jl)},ta.text=At(function(n){return n.responseText}),ta.json=function(n,t){return Nt(n,"application/json",Qo,t)},ta.html=function(n,t){return Nt(n,"text/html",na,t)},ta.xml=At(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(ta):"object"==typeof module&&module.exports&&(module.exports=ta),this.d3=ta}(); \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.min.js b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.min.js deleted file mode 100644 index 6bfc844b..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.min.js +++ /dev/null @@ -1,12 +0,0 @@ -/*! - -Holder - client side image placeholders -Version 2.7.1+6hydf -© 2015 Ivan Malopinsky - http://imsky.co - -Site: http://holderjs.com -Issues: https://github.com/imsky/holder/issues -License: http://opensource.org/licenses/MIT - -*/ -!function(a){if(a.document){var b=a.document;b.querySelectorAll||(b.querySelectorAll=function(c){var d,e=b.createElement("style"),f=[];for(b.documentElement.firstChild.appendChild(e),b._qsa=[],e.styleSheet.cssText=c+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",a.scrollBy(0,0),e.parentNode.removeChild(e);b._qsa.length;)d=b._qsa.shift(),d.style.removeAttribute("x-qsa"),f.push(d);return b._qsa=null,f}),b.querySelector||(b.querySelector=function(a){var c=b.querySelectorAll(a);return c.length?c[0]:null}),b.getElementsByClassName||(b.getElementsByClassName=function(a){return a=String(a).replace(/^|\s+/g,"."),b.querySelectorAll(a)}),Object.keys||(Object.keys=function(a){if(a!==Object(a))throw TypeError("Object.keys called on non-object");var b,c=[];for(b in a)Object.prototype.hasOwnProperty.call(a,b)&&c.push(b);return c}),function(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";a.atob=a.atob||function(a){a=String(a);var c,d=0,e=[],f=0,g=0;if(a=a.replace(/\s/g,""),a.length%4===0&&(a=a.replace(/=+$/,"")),a.length%4===1)throw Error("InvalidCharacterError");if(/[^+/0-9A-Za-z]/.test(a))throw Error("InvalidCharacterError");for(;d>16&255)),e.push(String.fromCharCode(f>>8&255)),e.push(String.fromCharCode(255&f)),g=0,f=0),d+=1;return 12===g?(f>>=4,e.push(String.fromCharCode(255&f))):18===g&&(f>>=2,e.push(String.fromCharCode(f>>8&255)),e.push(String.fromCharCode(255&f))),e.join("")},a.btoa=a.btoa||function(a){a=String(a);var c,d,e,f,g,h,i,j=0,k=[];if(/[^\x00-\xFF]/.test(a))throw Error("InvalidCharacterError");for(;j>2,g=(3&c)<<4|d>>4,h=(15&d)<<2|e>>6,i=63&e,j===a.length+2?(h=64,i=64):j===a.length+1&&(i=64),k.push(b.charAt(f),b.charAt(g),b.charAt(h),b.charAt(i));return k.join("")}}(a),Object.prototype.hasOwnProperty||(Object.prototype.hasOwnProperty=function(a){var b=this.__proto__||this.constructor.prototype;return a in this&&(!(a in b)||b[a]!==this[a])}),function(){if("performance"in a==!1&&(a.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in a.performance==!1){var b=Date.now();performance.timing&&performance.timing.navigationStart&&(b=performance.timing.navigationStart),a.performance.now=function(){return Date.now()-b}}}(),a.requestAnimationFrame||(a.webkitRequestAnimationFrame?!function(a){a.requestAnimationFrame=function(b){return webkitRequestAnimationFrame(function(){b(a.performance.now())})},a.cancelAnimationFrame=webkitCancelAnimationFrame}(a):a.mozRequestAnimationFrame?!function(a){a.requestAnimationFrame=function(b){return mozRequestAnimationFrame(function(){b(a.performance.now())})},a.cancelAnimationFrame=mozCancelAnimationFrame}(a):!function(a){a.requestAnimationFrame=function(b){return a.setTimeout(b,1e3/60)},a.cancelAnimationFrame=a.clearTimeout}(a))}}(this),function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):"object"==typeof exports?exports.Holder=b():a.Holder=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){(function(b){function d(a,b,c,d){var f=e(c.substr(c.lastIndexOf(a.domain)),a);f&&h({mode:null,el:d,flags:f,engineSettings:b})}function e(a,b){var c={theme:B(J.settings.themes.gray,null),stylesheets:b.stylesheets,instanceOptions:b};return a.match(/([\d]+p?)x([\d]+p?)(?:\?|$)/)?f(a,c):g(a,c)}function f(a,b){var c=a.split("?"),d=c[0].split("/");b.holderURL=a;var e=d[1],f=e.match(/([\d]+p?)x([\d]+p?)/);if(!f)return!1;if(b.fluid=-1!==e.indexOf("p"),b.dimensions={width:f[1].replace("p","%"),height:f[2].replace("p","%")},2===c.length){var g=A.parse(c[1]);if(g.bg&&(b.theme.background=(-1===g.bg.indexOf("#")?"#":"")+g.bg),g.fg&&(b.theme.foreground=(-1===g.fg.indexOf("#")?"#":"")+g.fg),g.theme&&b.instanceOptions.themes.hasOwnProperty(g.theme)&&(b.theme=B(b.instanceOptions.themes[g.theme],null)),g.text&&(b.text=g.text),g.textmode&&(b.textmode=g.textmode),g.size&&(b.size=g.size),g.font&&(b.font=g.font),g.align&&(b.align=g.align),b.nowrap=z.truthy(g.nowrap),b.auto=z.truthy(g.auto),z.truthy(g.random)){J.vars.cache.themeKeys=J.vars.cache.themeKeys||Object.keys(b.instanceOptions.themes);var h=J.vars.cache.themeKeys[0|Math.random()*J.vars.cache.themeKeys.length];b.theme=B(b.instanceOptions.themes[h],null)}}return b}function g(a,b){var c=!1,d=String.fromCharCode(11),e=a.replace(/([^\\])\//g,"$1"+d).split(d),f=/%[0-9a-f]{2}/gi,g=b.instanceOptions;b.holderURL=[];for(var h=e.length,i=0;h>i;i++){var j=e[i];if(j.match(f))try{j=decodeURIComponent(j)}catch(k){j=e[i]}var l=!1;if(J.flags.dimensions.match(j))c=!0,b.dimensions=J.flags.dimensions.output(j),l=!0;else if(J.flags.fluid.match(j))c=!0,b.dimensions=J.flags.fluid.output(j),b.fluid=!0,l=!0;else if(J.flags.textmode.match(j))b.textmode=J.flags.textmode.output(j),l=!0;else if(J.flags.colors.match(j)){var m=J.flags.colors.output(j);b.theme=B(b.theme,m),l=!0}else if(g.themes[j])g.themes.hasOwnProperty(j)&&(b.theme=B(g.themes[j],null)),l=!0;else if(J.flags.font.match(j))b.font=J.flags.font.output(j),l=!0;else if(J.flags.auto.match(j))b.auto=!0,l=!0;else if(J.flags.text.match(j))b.text=J.flags.text.output(j),l=!0;else if(J.flags.size.match(j))b.size=J.flags.size.output(j),l=!0;else if(J.flags.random.match(j)){null==J.vars.cache.themeKeys&&(J.vars.cache.themeKeys=Object.keys(g.themes));var n=J.vars.cache.themeKeys[0|Math.random()*J.vars.cache.themeKeys.length];b.theme=B(g.themes[n],null),l=!0}l&&b.holderURL.push(j)}return b.holderURL.unshift(g.domain),b.holderURL=b.holderURL.join("/"),c?b:!1}function h(a){var b=a.mode,c=a.el,d=a.flags,e=a.engineSettings,f=d.dimensions,g=d.theme,h=f.width+"x"+f.height;if(b=null==b?d.fluid?"fluid":"image":b,null!=d.text&&(g.text=d.text,"object"===c.nodeName.toLowerCase())){for(var j=g.text.split("\\n"),k=0;k1){var n,o=0,p=0,q=0;j=new e.Group("line"+q),("left"===a.align||"right"===a.align)&&(m=a.width*(1-2*(1-J.setup.lineWrapRatio)));for(var r=0;r=m||t===!0)&&(b(g,j,o,g.properties.leading),g.add(j),o=0,p+=g.properties.leading,q+=1,j=new e.Group("line"+q),j.y=p),t!==!0&&(i.moveTo(o,0),o+=h.spaceWidth+s.width,j.add(i))}if(b(g,j,o,g.properties.leading),g.add(j),"left"===a.align)g.moveTo(a.width-l,null,null);else if("right"===a.align){for(n in g.children)j=g.children[n],j.moveTo(a.width-j.width,null,null);g.moveTo(0-(a.width-l),null,null)}else{for(n in g.children)j=g.children[n],j.moveTo((g.width-j.width)/2,null,null);g.moveTo((a.width-g.width)/2,null,null)}g.moveTo(null,(a.height-g.height)/2,null),(a.height-g.height)/2<0&&g.moveTo(null,0,null)}else i=new e.Text(a.text),j=new e.Group("line0"),j.add(i),g.add(j),"left"===a.align?g.moveTo(a.width-l,null,null):"right"===a.align?g.moveTo(0-(a.width-l),null,null):g.moveTo((a.width-h.boundingBox.width)/2,null,null),g.moveTo(null,(a.height-h.boundingBox.height)/2,null);return d}function k(a,b,c){var d=parseInt(a,10),e=parseInt(b,10),f=Math.max(d,e),g=Math.min(d,e),h=.8*Math.min(g,f*J.defaults.scale);return Math.round(Math.max(c,h))}function l(a){var b;b=null==a||null==a.nodeType?J.vars.resizableImages:[a];for(var c=0,d=b.length;d>c;c++){var e=b[c];if(e.holderData){var f=e.holderData.flags,g=D(e);if(g){if(!e.holderData.resizeUpdate)continue;if(f.fluid&&f.auto){var h=e.holderData.fluidConfig;switch(h.mode){case"width":g.height=g.width/h.ratio;break;case"height":g.width=g.height*h.ratio}}var j={mode:"image",holderSettings:{dimensions:g,theme:f.theme,flags:f},el:e,engineSettings:e.holderData.engineSettings};"exact"==f.textmode&&(f.exactDimensions=g,j.holderSettings.dimensions=f.dimensions),i(j)}else p(e)}}}function m(a){if(a.holderData){var b=D(a);if(b){var c=a.holderData.flags,d={fluidHeight:"%"==c.dimensions.height.slice(-1),fluidWidth:"%"==c.dimensions.width.slice(-1),mode:null,initialDimensions:b};d.fluidWidth&&!d.fluidHeight?(d.mode="width",d.ratio=d.initialDimensions.width/parseFloat(c.dimensions.height)):!d.fluidWidth&&d.fluidHeight&&(d.mode="height",d.ratio=parseFloat(c.dimensions.width)/d.initialDimensions.height),a.holderData.fluidConfig=d}else p(a)}}function n(){for(var a,c=[],d=Object.keys(J.vars.invisibleImages),e=0,f=d.length;f>e;e++)a=J.vars.invisibleImages[d[e]],D(a)&&"img"==a.nodeName.toLowerCase()&&(c.push(a),delete J.vars.invisibleImages[d[e]]);c.length&&I.run({images:c}),b.requestAnimationFrame(n)}function o(){J.vars.visibilityCheckStarted||(b.requestAnimationFrame(n),J.vars.visibilityCheckStarted=!0)}function p(a){a.holderData.invisibleId||(J.vars.invisibleId+=1,J.vars.invisibleImages["i"+J.vars.invisibleId]=a,a.holderData.invisibleId=J.vars.invisibleId)}function q(a,b){return null==b?document.createElement(a):document.createElementNS(b,a)}function r(a,b){for(var c in b)a.setAttribute(c,b[c])}function s(a,b,c){var d,e;null==a?(a=q("svg",E),d=q("defs",E),e=q("style",E),r(e,{type:"text/css"}),d.appendChild(e),a.appendChild(d)):e=a.querySelector("style"),a.webkitMatchesSelector&&a.setAttribute("xmlns",E);for(var f=0;f=0;h--){var i=g.createProcessingInstruction("xml-stylesheet",'href="'+f[h]+'" rel="stylesheet"');g.insertBefore(i,g.firstChild)}g.removeChild(g.documentElement),e=d.serializeToString(g)}var j=d.serializeToString(a);return j=j.replace(/\&(\#[0-9]{2,}\;)/g,"&$1"),e+j}}function u(){return b.DOMParser?(new DOMParser).parseFromString("","application/xml"):void 0}function v(a){J.vars.debounceTimer||a.call(this),J.vars.debounceTimer&&b.clearTimeout(J.vars.debounceTimer),J.vars.debounceTimer=b.setTimeout(function(){J.vars.debounceTimer=null,a.call(this)},J.setup.debounce)}function w(){v(function(){l(null)})}var x=c(1),y=c(2),z=c(3),A=c(4),B=z.extend,C=z.getNodeArray,D=z.dimensionCheck,E="http://www.w3.org/2000/svg",F=8,G="2.7.1",H="\nCreated with Holder.js "+G+".\nLearn more at http://holderjs.com\n(c) 2012-2015 Ivan Malopinsky - http://imsky.co\n",I={version:G,addTheme:function(a,b){return null!=a&&null!=b&&(J.settings.themes[a]=b),delete J.vars.cache.themeKeys,this},addImage:function(a,b){var c=document.querySelectorAll(b);if(c.length)for(var d=0,e=c.length;e>d;d++){var f=q("img"),g={};g[J.vars.dataAttr]=a,r(f,g),c[d].appendChild(f)}return this},setResizeUpdate:function(a,b){a.holderData&&(a.holderData.resizeUpdate=!!b,a.holderData.resizeUpdate&&l(a))},run:function(a){a=a||{};var c={},f=B(J.settings,a);J.vars.preempted=!0,J.vars.dataAttr=f.dataAttr||J.vars.dataAttr,c.renderer=f.renderer?f.renderer:J.setup.renderer,-1===J.setup.renderers.join(",").indexOf(c.renderer)&&(c.renderer=J.setup.supportsSVG?"svg":J.setup.supportsCanvas?"canvas":"html");var g=C(f.images),i=C(f.bgnodes),j=C(f.stylenodes),k=C(f.objects);c.stylesheets=[],c.svgXMLStylesheet=!0,c.noFontFallback=f.noFontFallback?f.noFontFallback:!1;for(var l=0;l1){c.nodeValue="";for(var u=0;u=0?b:1)}function f(a){v?e(a):w.push(a)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function y(){document.removeEventListener("DOMContentLoaded",y,!1),document.readyState="complete"},!1),document.readyState="loading");var g=a.document,h=g.documentElement,i="load",j=!1,k="on"+i,l="complete",m="readyState",n="attachEvent",o="detachEvent",p="addEventListener",q="DOMContentLoaded",r="onreadystatechange",s="removeEventListener",t=p in g,u=j,v=j,w=[];if(g[m]===l)e(b);else if(t)g[p](q,c,j),a[p](i,c,j);else{g[n](r,c),a[n](k,c);try{u=null==a.frameElement&&h}catch(x){}u&&u.doScroll&&!function z(){if(!v){try{u.doScroll("left")}catch(a){return e(z,50)}d(),b()}}()}return f.version="1.4.0",f.isReady=function(){return v},f}a.exports="undefined"!=typeof window&&b(window)},function(a,b,c){var d=c(5),e=function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}var c=1,e=d.defclass({constructor:function(a){c++,this.parent=null,this.children={},this.id=c,this.name="n"+c,null!=a&&(this.name=a),this.x=0,this.y=0,this.z=0,this.width=0,this.height=0},resize:function(a,b){null!=a&&(this.width=a),null!=b&&(this.height=b)},moveTo:function(a,b,c){this.x=null!=a?a:this.x,this.y=null!=b?b:this.y,this.z=null!=c?c:this.z},add:function(a){var b=a.name;if(null!=this.children[b])throw"SceneGraph: child with that name already exists: "+b;this.children[b]=a,a.parent=this}}),f=d(e,function(b){this.constructor=function(){b.constructor.call(this,"root"),this.properties=a}}),g=d(e,function(a){function c(c,d){if(a.constructor.call(this,c),this.properties={fill:"#000"},null!=d)b(this.properties,d);else if(null!=c&&"string"!=typeof c)throw"SceneGraph: invalid node name"}this.Group=d.extend(this,{constructor:c,type:"group"}),this.Rect=d.extend(this,{constructor:c,type:"rect"}),this.Text=d.extend(this,{constructor:function(a){c.call(this),this.properties.text=a},type:"text"})}),h=new f;return this.Shape=g,this.root=h,this};a.exports=e},function(a,b){(function(a){b.extend=function(a,b){var c={};for(var d in a)a.hasOwnProperty(d)&&(c[d]=a[d]);if(null!=b)for(var e in b)b.hasOwnProperty(e)&&(c[e]=b[e]);return c},b.cssProps=function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c+":"+a[c]);return b.join(";")},b.encodeHtmlEntity=function(a){for(var b=[],c=0,d=a.length-1;d>=0;d--)c=a.charCodeAt(d),b.unshift(c>128?["&#",c,";"].join(""):a[d]);return b.join("")},b.getNodeArray=function(b){var c=null;return"string"==typeof b?c=document.querySelectorAll(b):a.NodeList&&b instanceof a.NodeList?c=b:a.Node&&b instanceof a.Node?c=[b]:a.HTMLCollection&&b instanceof a.HTMLCollection?c=b:b instanceof Array?c=b:null===b&&(c=[]),c},b.imageExists=function(a,b){var c=new Image;c.onerror=function(){b.call(this,!1)},c.onload=function(){b.call(this,!0)},c.src=a},b.decodeHtmlEntity=function(a){return a.replace(/&#(\d+);/g,function(a,b){return String.fromCharCode(b)})},b.dimensionCheck=function(a){var b={height:a.clientHeight,width:a.clientWidth};return b.height&&b.width?b:!1},b.truthy=function(a){return"string"==typeof a?"true"===a||"yes"===a||"1"===a||"on"===a||"✓"===a:!!a}}).call(b,function(){return this}())},function(a,b,c){var d=encodeURIComponent,e=decodeURIComponent,f=c(6),g=c(7),h=/(\w+)\[(\d+)\]/,i=/\w+\.\w+/;b.parse=function(a){if("string"!=typeof a)return{};if(a=f(a),""===a)return{};"?"===a.charAt(0)&&(a=a.slice(1));for(var b={},c=a.split("&"),d=0;d",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document); \ No newline at end of file diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js b/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js deleted file mode 100644 index 0f60b7bd..00000000 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; - -return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
    a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/\s*$/g,ra={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:k.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?""!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("', // used in libraries/Util.php - '[dochelpicon]' => Util::getImage('b_help.png', __('Documentation')), + '[dochelpicon]' => Util::getImage('b_help', __('Documentation')), ); $message = strtr($message, $replace_pairs); @@ -196,14 +198,14 @@ class Sanitize /* Find and replace all links */ $message = preg_replace_callback($pattern, function($match){ - return Sanitize::replaceBBLink($match); + return self::replaceBBLink($match); }, $message); /* Replace documentation links */ $message = preg_replace_callback( '/\[doc@([a-zA-Z0-9_-]+)(@([a-zA-Z0-9_-]*))?\]/', function($match){ - return Sanitize::replaceDocLink($match); + return self::replaceDocLink($match); }, $message ); @@ -261,7 +263,7 @@ class Sanitize public static function jsFormat($a_string = '', $add_backquotes = true) { $a_string = htmlspecialchars($a_string); - $a_string = Sanitize::escapeJsString($a_string); + $a_string = self::escapeJsString($a_string); // Needed for inline javascript to prevent some browsers // treating it as a anchor $a_string = str_replace('#', '\\#', $a_string); @@ -269,7 +271,7 @@ class Sanitize return $add_backquotes ? Util::backquote($a_string) : $a_string; - } // end of the 'Sanitize::jsFormat()' function + } // end of the 'jsFormat' function /** * escapes a string to be inserted as string a JavaScript block @@ -322,7 +324,7 @@ class Sanitize return (int)$value; } - return '"' . Sanitize::escapeJsString($value) . '"'; + return '"' . self::escapeJsString($value) . '"'; } /** @@ -344,11 +346,11 @@ class Sanitize } elseif (is_array($value)) { $result .= '['; foreach ($value as $val) { - $result .= Sanitize::formatJsVal($val) . ","; + $result .= self::formatJsVal($val) . ","; } $result .= "];\n"; } else { - $result .= Sanitize::formatJsVal($value) . ";\n"; + $result .= self::formatJsVal($value) . ";\n"; } return $result; } @@ -364,7 +366,7 @@ class Sanitize */ public static function printJsValue($key, $value) { - echo Sanitize::getJsValue($key, $value); + echo self::getJsValue($key, $value); } /** @@ -384,7 +386,7 @@ class Sanitize if ($addOn) { $result .= '$.validator.format('; } - $result .= Sanitize::formatJsVal($value); + $result .= self::formatJsVal($value); if ($addOn) { $result .= ')'; } @@ -407,7 +409,7 @@ class Sanitize */ public static function printJsValueForFormValidation($key, $value, $addOn=false, $comma=true) { - echo Sanitize::getJsValueForFormValidation($key, $value, $addOn, $comma); + echo self::getJsValueForFormValidation($key, $value, $addOn, $comma); } /** diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SavedSearches.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SavedSearches.php similarity index 94% rename from .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SavedSearches.php rename to .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SavedSearches.php index 9cd652af..968abf4a 100644 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SavedSearches.php +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SavedSearches.php @@ -5,7 +5,12 @@ * * @package PhpMyAdmin */ -namespace PMA\libraries; +namespace PhpMyAdmin; + +use PhpMyAdmin\Message; +use PhpMyAdmin\Relation; +use PhpMyAdmin\Response; +use PhpMyAdmin\Util; /** * Saved searches managing @@ -44,6 +49,28 @@ class SavedSearches */ private $_searchName = null; + /** + * Criterias + * @var array + */ + private $_criterias = null; + + /** + * @var Relation $relation + */ + private $relation; + + /** + * Public constructor + * + * @param array $config Global configuration + */ + public function __construct(array $config) + { + $this->setConfig($config); + $this->relation = new Relation(); + } + /** * Setter of id * @@ -95,12 +122,6 @@ class SavedSearches return $this->_searchName; } - /** - * Criterias - * @var array - */ - private $_criterias = null; - /** * Setter of config * @@ -108,7 +129,7 @@ class SavedSearches * * @return static */ - public function setConfig($config) + public function setConfig(array $config) { $this->_config = $config; return $this; @@ -234,16 +255,6 @@ class SavedSearches return $this->_dbname; } - /** - * Public constructor - * - * @param array $config Global configuration - */ - public function __construct($config) - { - $this->setConfig($config); - } - /** * Save the search * @@ -308,7 +319,7 @@ class SavedSearches . "'" . $GLOBALS['dbi']->escapeString(json_encode($this->getCriterias())) . "')"; - $result = (bool)PMA_queryAsControlUser($sqlQuery); + $result = (bool) $this->relation->queryAsControlUser($sqlQuery); if (!$result) { return false; } @@ -342,7 +353,7 @@ class SavedSearches . "`search_data` = '" . $GLOBALS['dbi']->escapeString(json_encode($this->getCriterias())) . "' " . "WHERE id = " . $this->getId(); - return (bool)PMA_queryAsControlUser($sqlQuery); + return (bool) $this->relation->queryAsControlUser($sqlQuery); } /** @@ -370,7 +381,7 @@ class SavedSearches $sqlQuery = "DELETE FROM " . $savedSearchesTbl . "WHERE id = '" . $GLOBALS['dbi']->escapeString($this->getId()) . "'"; - return (bool)PMA_queryAsControlUser($sqlQuery); + return (bool) $this->relation->queryAsControlUser($sqlQuery); } /** @@ -398,7 +409,7 @@ class SavedSearches . "FROM " . $savedSearchesTbl . " " . "WHERE id = '" . $GLOBALS['dbi']->escapeString($this->getId()) . "' "; - $resList = PMA_queryAsControlUser($sqlQuery); + $resList = $this->relation->queryAsControlUser($sqlQuery); if (false === ($oneResult = $GLOBALS['dbi']->fetchArray($resList))) { $message = Message::error(__('Error while loading the search.')); @@ -445,7 +456,7 @@ class SavedSearches $sqlQuery .= "order by search_name ASC "; - $resList = PMA_queryAsControlUser($sqlQuery); + $resList = $this->relation->queryAsControlUser($sqlQuery); $list = array(); while ($oneResult = $GLOBALS['dbi']->fetchArray($resList)) { diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Scripts.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Scripts.php new file mode 100644 index 00000000..481ebff1 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Scripts.php @@ -0,0 +1,214 @@ + PMA_VERSION)); + $result .= "\n"; + } else { + $result .= '' . "\n"; + } + } + return $result; + } + + /** + * Generates new Scripts objects + * + */ + public function __construct() + { + $this->_files = array(); + $this->_code = ''; + + } + + /** + * Adds a new file to the list of scripts + * + * @param string $filename The name of the file to include + * @param array $params Additional parameters to pass to the file + * + * @return void + */ + public function addFile( + $filename, + array $params = array() + ) { + $hash = md5($filename); + if (!empty($this->_files[$hash])) { + return; + } + + $has_onload = $this->_eventBlacklist($filename); + $this->_files[$hash] = array( + 'has_onload' => $has_onload, + 'filename' => $filename, + 'params' => $params, + ); + } + + /** + * Add new files to the list of scripts + * + * @param array $filelist The array of file names + * + * @return void + */ + public function addFiles(array $filelist) + { + foreach ($filelist as $filename) { + $this->addFile($filename); + } + } + + /** + * Determines whether to fire up an onload event for a file + * + * @param string $filename The name of the file to be checked + * against the blacklist + * + * @return int 1 to fire up the event, 0 not to + */ + private function _eventBlacklist($filename) + { + if (strpos($filename, 'jquery') !== false + || strpos($filename, 'codemirror') !== false + || strpos($filename, 'messages.php') !== false + || strpos($filename, 'ajax.js') !== false + || strpos($filename, 'cross_framing_protection.js') !== false + ) { + return 0; + } + + return 1; + } + + /** + * Adds a new code snippet to the code to be executed + * + * @param string $code The JS code to be added + * + * @return void + */ + public function addCode($code) + { + $this->_code .= "$code\n"; + } + + /** + * Returns a list with filenames and a flag to indicate + * whether to register onload events for this file + * + * @return array + */ + public function getFiles() + { + $retval = array(); + foreach ($this->_files as $file) { + //If filename contains a "?", continue. + if (strpos($file['filename'], "?") !== false) { + continue; + } + $retval[] = array( + 'name' => $file['filename'], + 'fire' => $file['has_onload'] + ); + + } + return $retval; + } + + /** + * Renders all the JavaScript file inclusions, code and events + * + * @return string + */ + public function getDisplay() + { + $retval = ''; + + if (count($this->_files) > 0) { + $retval .= $this->_includeFiles( + $this->_files + ); + } + + $code = 'AJAX.scriptHandler'; + foreach ($this->_files as $file) { + $code .= sprintf( + '.add("%s",%d)', + Sanitize::escapeJsString($file['filename']), + $file['has_onload'] ? 1 : 0 + ); + } + $code .= ';'; + $this->addCode($code); + + $code = '$(function() {'; + foreach ($this->_files as $file) { + if ($file['has_onload']) { + $code .= 'AJAX.fireOnload("'; + $code .= Sanitize::escapeJsString($file['filename']); + $code .= '");'; + } + } + $code .= '});'; + $this->addCode($code); + + $retval .= ''; + + return $retval; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Privileges.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Privileges.php new file mode 100644 index 00000000..55f72f17 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Privileges.php @@ -0,0 +1,5366 @@ +isAjax()) { + $response->addJSON('message', $dialog); + exit; + } else { + $html .= $dialog; + } + } + + return $html; + } + + /** + * Escapes wildcard in a database+table specification + * before using it in a GRANT statement. + * + * Escaping a wildcard character in a GRANT is only accepted at the global + * or database level, not at table level; this is why I remove + * the escaping character. Internally, in mysql.tables_priv.Db there are + * no escaping (for example test_db) but in mysql.db you'll see test\_db + * for a db-specific privilege. + * + * @param string $dbname Database name + * @param string $tablename Table name + * + * @return string the escaped (if necessary) database.table + */ + public static function wildcardEscapeForGrant($dbname, $tablename) + { + if (strlen($dbname) === 0) { + $db_and_table = '*.*'; + } else { + if (strlen($tablename) > 0) { + $db_and_table = Util::backquote( + Util::unescapeMysqlWildcards($dbname) + ) + . '.' . Util::backquote($tablename); + } else { + $db_and_table = Util::backquote($dbname) . '.*'; + } + } + return $db_and_table; + } + + /** + * Generates a condition on the user name + * + * @param string $initial the user's initial + * + * @return string the generated condition + */ + public static function rangeOfUsers($initial = '') + { + // strtolower() is used because the User field + // might be BINARY, so LIKE would be case sensitive + if ($initial === null || $initial === '') { + return ''; + } + + $ret = " WHERE `User` LIKE '" + . $GLOBALS['dbi']->escapeString($initial) . "%'" + . " OR `User` LIKE '" + . $GLOBALS['dbi']->escapeString(mb_strtolower($initial)) + . "%'"; + return $ret; + } // end function + + /** + * Formats privilege name for a display + * + * @param array $privilege Privilege information + * @param boolean $html Whether to use HTML + * + * @return string + */ + public static function formatPrivilege(array $privilege, $html) + { + if ($html) { + return '' + . $privilege[1] . ''; + } + + return $privilege[1]; + } + + /** + * Parses privileges into an array, it modifies the array + * + * @param array &$row Results row from + * + * @return void + */ + public static function fillInTablePrivileges(array &$row) + { + $row1 = $GLOBALS['dbi']->fetchSingleRow( + 'SHOW COLUMNS FROM `mysql`.`tables_priv` LIKE \'Table_priv\';', + 'ASSOC' + ); + // note: in MySQL 5.0.3 we get "Create View', 'Show view'; + // the View for Create is spelled with uppercase V + // the view for Show is spelled with lowercase v + // and there is a space between the words + + $av_grants = explode( + '\',\'', + mb_substr( + $row1['Type'], + mb_strpos($row1['Type'], '(') + 2, + mb_strpos($row1['Type'], ')') + - mb_strpos($row1['Type'], '(') - 3 + ) + ); + + $users_grants = explode(',', $row['Table_priv']); + + foreach ($av_grants as $current_grant) { + $row[$current_grant . '_priv'] + = in_array($current_grant, $users_grants) ? 'Y' : 'N'; + } + unset($row['Table_priv']); + } + + + /** + * Extracts the privilege information of a priv table row + * + * @param array|null $row the row + * @param boolean $enableHTML add tag with tooltips + * @param boolean $tablePrivs whether row contains table privileges + * + * @global resource $user_link the database connection + * + * @return array + */ + public static function extractPrivInfo($row = null, $enableHTML = false, $tablePrivs = false) + { + if ($tablePrivs) { + $grants = self::getTableGrantsArray(); + } else { + $grants = self::getGrantsArray(); + } + + if (! is_null($row) && isset($row['Table_priv'])) { + self::fillInTablePrivileges($row); + } + + $privs = array(); + $allPrivileges = true; + foreach ($grants as $current_grant) { + if ((! is_null($row) && isset($row[$current_grant[0]])) + || (is_null($row) && isset($GLOBALS[$current_grant[0]])) + ) { + if ((! is_null($row) && $row[$current_grant[0]] == 'Y') + || (is_null($row) + && ($GLOBALS[$current_grant[0]] == 'Y' + || (is_array($GLOBALS[$current_grant[0]]) + && count($GLOBALS[$current_grant[0]]) == $_REQUEST['column_count'] + && empty($GLOBALS[$current_grant[0] . '_none'])))) + ) { + $privs[] = self::formatPrivilege($current_grant, $enableHTML); + } elseif (! empty($GLOBALS[$current_grant[0]]) + && is_array($GLOBALS[$current_grant[0]]) + && empty($GLOBALS[$current_grant[0] . '_none']) + ) { + // Required for proper escaping of ` (backtick) in a column name + $grant_cols = array_map( + function($val) { + return Util::backquote($val); + }, + $GLOBALS[$current_grant[0]] + ); + + $privs[] = self::formatPrivilege($current_grant, $enableHTML) + . ' (' . join(', ', $grant_cols) . ')'; + } else { + $allPrivileges = false; + } + } + } + if (empty($privs)) { + if ($enableHTML) { + $privs[] = 'USAGE'; + } else { + $privs[] = 'USAGE'; + } + } elseif ($allPrivileges + && (! isset($_POST['grant_count']) || count($privs) == $_POST['grant_count']) + ) { + if ($enableHTML) { + $privs = array('ALL PRIVILEGES' + ); + } else { + $privs = array('ALL PRIVILEGES'); + } + } + return $privs; + } // end of the 'self::extractPrivInfo()' function + + /** + * Returns an array of table grants and their descriptions + * + * @return array array of table grants + */ + public static function getTableGrantsArray() + { + return array( + array( + 'Delete', + 'DELETE', + $GLOBALS['strPrivDescDelete'] + ), + array( + 'Create', + 'CREATE', + $GLOBALS['strPrivDescCreateTbl'] + ), + array( + 'Drop', + 'DROP', + $GLOBALS['strPrivDescDropTbl'] + ), + array( + 'Index', + 'INDEX', + $GLOBALS['strPrivDescIndex'] + ), + array( + 'Alter', + 'ALTER', + $GLOBALS['strPrivDescAlter'] + ), + array( + 'Create View', + 'CREATE_VIEW', + $GLOBALS['strPrivDescCreateView'] + ), + array( + 'Show view', + 'SHOW_VIEW', + $GLOBALS['strPrivDescShowView'] + ), + array( + 'Trigger', + 'TRIGGER', + $GLOBALS['strPrivDescTrigger'] + ), + ); + } + + /** + * Get the grants array which contains all the privilege types + * and relevant grant messages + * + * @return array + */ + public static function getGrantsArray() + { + return array( + array( + 'Select_priv', + 'SELECT', + __('Allows reading data.') + ), + array( + 'Insert_priv', + 'INSERT', + __('Allows inserting and replacing data.') + ), + array( + 'Update_priv', + 'UPDATE', + __('Allows changing data.') + ), + array( + 'Delete_priv', + 'DELETE', + __('Allows deleting data.') + ), + array( + 'Create_priv', + 'CREATE', + __('Allows creating new databases and tables.') + ), + array( + 'Drop_priv', + 'DROP', + __('Allows dropping databases and tables.') + ), + array( + 'Reload_priv', + 'RELOAD', + __('Allows reloading server settings and flushing the server\'s caches.') + ), + array( + 'Shutdown_priv', + 'SHUTDOWN', + __('Allows shutting down the server.') + ), + array( + 'Process_priv', + 'PROCESS', + __('Allows viewing processes of all users.') + ), + array( + 'File_priv', + 'FILE', + __('Allows importing data from and exporting data into files.') + ), + array( + 'References_priv', + 'REFERENCES', + __('Has no effect in this MySQL version.') + ), + array( + 'Index_priv', + 'INDEX', + __('Allows creating and dropping indexes.') + ), + array( + 'Alter_priv', + 'ALTER', + __('Allows altering the structure of existing tables.') + ), + array( + 'Show_db_priv', + 'SHOW DATABASES', + __('Gives access to the complete list of databases.') + ), + array( + 'Super_priv', + 'SUPER', + __( + 'Allows connecting, even if maximum number of connections ' + . 'is reached; required for most administrative operations ' + . 'like setting global variables or killing threads of other users.' + ) + ), + array( + 'Create_tmp_table_priv', + 'CREATE TEMPORARY TABLES', + __('Allows creating temporary tables.') + ), + array( + 'Lock_tables_priv', + 'LOCK TABLES', + __('Allows locking tables for the current thread.') + ), + array( + 'Repl_slave_priv', + 'REPLICATION SLAVE', + __('Needed for the replication slaves.') + ), + array( + 'Repl_client_priv', + 'REPLICATION CLIENT', + __('Allows the user to ask where the slaves / masters are.') + ), + array( + 'Create_view_priv', + 'CREATE VIEW', + __('Allows creating new views.') + ), + array( + 'Event_priv', + 'EVENT', + __('Allows to set up events for the event scheduler.') + ), + array( + 'Trigger_priv', + 'TRIGGER', + __('Allows creating and dropping triggers.') + ), + // for table privs: + array( + 'Create View_priv', + 'CREATE VIEW', + __('Allows creating new views.') + ), + array( + 'Show_view_priv', + 'SHOW VIEW', + __('Allows performing SHOW CREATE VIEW queries.') + ), + // for table privs: + array( + 'Show view_priv', + 'SHOW VIEW', + __('Allows performing SHOW CREATE VIEW queries.') + ), + array( + 'Create_routine_priv', + 'CREATE ROUTINE', + __('Allows creating stored routines.') + ), + array( + 'Alter_routine_priv', + 'ALTER ROUTINE', + __('Allows altering and dropping stored routines.') + ), + array( + 'Create_user_priv', + 'CREATE USER', + __('Allows creating, dropping and renaming user accounts.') + ), + array( + 'Execute_priv', + 'EXECUTE', + __('Allows executing stored routines.') + ), + ); + } + + /** + * Displays on which column(s) a table-specific privilege is granted + * + * @param array $columns columns array + * @param array $row first row from result or boolean false + * @param string $name_for_select privilege types - Select_priv, Insert_priv + * Update_priv, References_priv + * @param string $priv_for_header privilege for header + * @param string $name privilege name: insert, select, update, references + * @param string $name_for_dfn name for dfn + * @param string $name_for_current name for current + * + * @return string $html_output html snippet + */ + public static function getHtmlForColumnPrivileges(array $columns, array $row, $name_for_select, + $priv_for_header, $name, $name_for_dfn, $name_for_current + ) { + $data = array( + 'columns' => $columns, + 'row' => $row, + 'name_for_select' => $name_for_select, + 'priv_for_header' => $priv_for_header, + 'name' => $name, + 'name_for_dfn' => $name_for_dfn, + 'name_for_current' => $name_for_current + ); + + $html_output = Template::get('privileges/column_privileges') + ->render($data); + + return $html_output; + } // end function + + /** + * Get sql query for display privileges table + * + * @param string $db the database + * @param string $table the table + * @param string $username username for database connection + * @param string $hostname hostname for database connection + * + * @return string sql query + */ + public static function getSqlQueryForDisplayPrivTable($db, $table, $username, $hostname) + { + if ($db == '*') { + return "SELECT * FROM `mysql`.`user`" + . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" + . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "';"; + } elseif ($table == '*') { + return "SELECT * FROM `mysql`.`db`" + . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" + . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "'" + . " AND '" . $GLOBALS['dbi']->escapeString(Util::unescapeMysqlWildcards($db)) . "'" + . " LIKE `Db`;"; + } + return "SELECT `Table_priv`" + . " FROM `mysql`.`tables_priv`" + . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" + . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "'" + . " AND `Db` = '" . $GLOBALS['dbi']->escapeString(Util::unescapeMysqlWildcards($db)) . "'" + . " AND `Table_name` = '" . $GLOBALS['dbi']->escapeString($table) . "';"; + } + + /** + * Displays a dropdown to select the user group + * with menu items configured to each of them. + * + * @param string $username username + * + * @return string html to select the user group + */ + public static function getHtmlToChooseUserGroup($username) + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + $groupTable = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['usergroups']); + $userTable = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['users']); + + $userGroup = ''; + if (isset($GLOBALS['username'])) { + $sql_query = "SELECT `usergroup` FROM " . $userTable + . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) . "'"; + $userGroup = $GLOBALS['dbi']->fetchValue( + $sql_query, 0, 0, DatabaseInterface::CONNECT_CONTROL + ); + } + + $allUserGroups = array('' => ''); + $sql_query = "SELECT DISTINCT `usergroup` FROM " . $groupTable; + $result = $relation->queryAsControlUser($sql_query, false); + if ($result) { + while ($row = $GLOBALS['dbi']->fetchRow($result)) { + $allUserGroups[$row[0]] = $row[0]; + } + } + $GLOBALS['dbi']->freeResult($result); + + // render the template + $data = array( + 'all_user_groups' => $allUserGroups, + 'user_group' => $userGroup, + 'params' => array('username' => $username) + ); + $html_output = Template::get('privileges/choose_user_group') + ->render($data); + + return $html_output; + } + + /** + * Sets the user group from request values + * + * @param string $username username + * @param string $userGroup user group to set + * + * @return void + */ + public static function setUserGroup($username, $userGroup) + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + if (empty($cfgRelation['db']) || empty($cfgRelation['users']) || empty($cfgRelation['usergroups'])) { + return; + } + + $userTable = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['users']); + + $sql_query = "SELECT `usergroup` FROM " . $userTable + . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($username) . "'"; + $oldUserGroup = $GLOBALS['dbi']->fetchValue( + $sql_query, 0, 0, DatabaseInterface::CONNECT_CONTROL + ); + + if ($oldUserGroup === false) { + $upd_query = "INSERT INTO " . $userTable . "(`username`, `usergroup`)" + . " VALUES ('" . $GLOBALS['dbi']->escapeString($username) . "', " + . "'" . $GLOBALS['dbi']->escapeString($userGroup) . "')"; + } else { + if (empty($userGroup)) { + $upd_query = "DELETE FROM " . $userTable + . " WHERE `username`='" . $GLOBALS['dbi']->escapeString($username) . "'"; + } elseif ($oldUserGroup != $userGroup) { + $upd_query = "UPDATE " . $userTable + . " SET `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) . "'" + . " WHERE `username`='" . $GLOBALS['dbi']->escapeString($username) . "'"; + } + } + if (isset($upd_query)) { + $relation->queryAsControlUser($upd_query); + } + } + + /** + * Displays the privileges form table + * + * @param string $db the database + * @param string $table the table + * @param boolean $submit whether to display the submit button or not + * + * @global array $cfg the phpMyAdmin configuration + * @global resource $user_link the database connection + * + * @return string html snippet + */ + public static function getHtmlToDisplayPrivilegesTable($db = '*', + $table = '*', $submit = true + ) { + $html_output = ''; + $sql_query = ''; + + if ($db == '*') { + $table = '*'; + } + + if (isset($GLOBALS['username'])) { + $username = $GLOBALS['username']; + $hostname = $GLOBALS['hostname']; + $sql_query = self::getSqlQueryForDisplayPrivTable( + $db, $table, $username, $hostname + ); + $row = $GLOBALS['dbi']->fetchSingleRow($sql_query); + } + if (empty($row)) { + if ($table == '*' && $GLOBALS['dbi']->isSuperuser()) { + $row = array(); + if ($db == '*') { + $sql_query = 'SHOW COLUMNS FROM `mysql`.`user`;'; + } elseif ($table == '*') { + $sql_query = 'SHOW COLUMNS FROM `mysql`.`db`;'; + } + $res = $GLOBALS['dbi']->query($sql_query); + while ($row1 = $GLOBALS['dbi']->fetchRow($res)) { + if (mb_substr($row1[0], 0, 4) == 'max_') { + $row[$row1[0]] = 0; + } elseif (mb_substr($row1[0], 0, 5) == 'x509_' + || mb_substr($row1[0], 0, 4) == 'ssl_' + ) { + $row[$row1[0]] = ''; + } else { + $row[$row1[0]] = 'N'; + } + } + $GLOBALS['dbi']->freeResult($res); + } elseif ($table == '*') { + $row = array(); + } else { + $row = array('Table_priv' => ''); + } + } + if (isset($row['Table_priv'])) { + self::fillInTablePrivileges($row); + + // get columns + $res = $GLOBALS['dbi']->tryQuery( + 'SHOW COLUMNS FROM ' + . Util::backquote( + Util::unescapeMysqlWildcards($db) + ) + . '.' . Util::backquote($table) . ';' + ); + $columns = array(); + if ($res) { + while ($row1 = $GLOBALS['dbi']->fetchRow($res)) { + $columns[$row1[0]] = array( + 'Select' => false, + 'Insert' => false, + 'Update' => false, + 'References' => false + ); + } + $GLOBALS['dbi']->freeResult($res); + } + unset($res, $row1); + } + // table-specific privileges + if (! empty($columns)) { + $html_output .= self::getHtmlForTableSpecificPrivileges( + $username, $hostname, $db, $table, $columns, $row + ); + } else { + // global or db-specific + $html_output .= self::getHtmlForGlobalOrDbSpecificPrivs($db, $table, $row); + } + $html_output .= '' . "\n"; + if ($submit) { + $html_output .= '' . "\n"; + } + return $html_output; + } // end of the 'PMA_displayPrivTable()' function + + /** + * Get HTML for "Require" + * + * @param array $row privilege array + * + * @return string html snippet + */ + public static function getHtmlForRequires(array $row) + { + $specified = (isset($row['ssl_type']) && $row['ssl_type'] == 'SPECIFIED'); + $require_options = array( + array( + 'name' => 'ssl_type', + 'value' => 'NONE', + 'description' => __( + 'Does not require SSL-encrypted connections.' + ), + 'label' => 'REQUIRE NONE', + 'checked' => ((isset($row['ssl_type']) + && ($row['ssl_type'] == 'NONE' + || $row['ssl_type'] == '')) + ? 'checked="checked"' + : '' + ), + 'disabled' => false, + 'radio' => true + ), + array( + 'name' => 'ssl_type', + 'value' => 'ANY', + 'description' => __( + 'Requires SSL-encrypted connections.' + ), + 'label' => 'REQUIRE SSL', + 'checked' => (isset($row['ssl_type']) && ($row['ssl_type'] == 'ANY') + ? 'checked="checked"' + : '' + ), + 'disabled' => false, + 'radio' => true + ), + array( + 'name' => 'ssl_type', + 'value' => 'X509', + 'description' => __( + 'Requires a valid X509 certificate.' + ), + 'label' => 'REQUIRE X509', + 'checked' => (isset($row['ssl_type']) && ($row['ssl_type'] == 'X509') + ? 'checked="checked"' + : '' + ), + 'disabled' => false, + 'radio' => true + ), + array( + 'name' => 'ssl_type', + 'value' => 'SPECIFIED', + 'description' => '', + 'label' => 'SPECIFIED', + 'checked' => ($specified ? 'checked="checked"' : ''), + 'disabled' => false, + 'radio' => true + ), + array( + 'name' => 'ssl_cipher', + 'value' => (isset($row['ssl_cipher']) + ? htmlspecialchars($row['ssl_cipher']) : '' + ), + 'description' => __( + 'Requires that a specific cipher method be used for a connection.' + ), + 'label' => 'REQUIRE CIPHER', + 'checked' => '', + 'disabled' => ! $specified, + 'radio' => false + ), + array( + 'name' => 'x509_issuer', + 'value' => (isset($row['x509_issuer']) + ? htmlspecialchars($row['x509_issuer']) : '' + ), + 'description' => __( + 'Requires that a valid X509 certificate issued by this CA be presented.' + ), + 'label' => 'REQUIRE ISSUER', + 'checked' => '', + 'disabled' => ! $specified, + 'radio' => false + ), + array( + 'name' => 'x509_subject', + 'value' => (isset($row['x509_subject']) + ? htmlspecialchars($row['x509_subject']) : '' + ), + 'description' => __( + 'Requires that a valid X509 certificate with this subject be presented.' + ), + 'label' => 'REQUIRE SUBJECT', + 'checked' => '', + 'disabled' => ! $specified, + 'radio' => false + ), + ); + + $html_output = Template::get('privileges/require_options') + ->render(array('require_options' => $require_options)); + + return $html_output; + } + + /** + * Get HTML for "Resource limits" + * + * @param array $row first row from result or boolean false + * + * @return string html snippet + */ + public static function getHtmlForResourceLimits(array $row) + { + $limits = array( + array( + 'input_name' => 'max_questions', + 'name_main' => 'MAX QUERIES PER HOUR', + 'value' => (isset($row['max_questions']) ? $row['max_questions'] : '0'), + 'description' => __( + 'Limits the number of queries the user may send to the server per hour.' + ) + ), + array( + 'input_name' => 'max_updates', + 'name_main' => 'MAX UPDATES PER HOUR', + 'value' => (isset($row['max_updates']) ? $row['max_updates'] : '0'), + 'description' => __( + 'Limits the number of commands that change any table ' + . 'or database the user may execute per hour.' + ) + ), + array( + 'input_name' => 'max_connections', + 'name_main' => 'MAX CONNECTIONS PER HOUR', + 'value' => (isset($row['max_connections']) ? $row['max_connections'] : '0'), + 'description' => __( + 'Limits the number of new connections the user may open per hour.' + ) + ), + array( + 'input_name' => 'max_user_connections', + 'name_main' => 'MAX USER_CONNECTIONS', + 'value' => (isset($row['max_user_connections']) ? + $row['max_user_connections'] : '0'), + 'description' => __( + 'Limits the number of simultaneous connections ' + . 'the user may have.' + ) + ) + ); + + $html_output = Template::get('privileges/resource_limits') + ->render(array('limits' => $limits)); + + $html_output .= '' . "\n"; + + return $html_output; + } + + /** + * Get the HTML snippet for routine specific privileges + * + * @param string $username username for database connection + * @param string $hostname hostname for database connection + * @param string $db the database + * @param string $routine the routine + * @param string $url_dbname url encoded db name + * + * @return string $html_output + */ + public static function getHtmlForRoutineSpecificPrivileges( + $username, $hostname, $db, $routine, $url_dbname + ) { + $header = self::getHtmlHeaderForUserProperties( + false, $url_dbname, $db, $username, $hostname, + $routine, 'routine' + ); + + $sql = "SELECT `Proc_priv`" + . " FROM `mysql`.`procs_priv`" + . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" + . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "'" + . " AND `Db` = '" + . $GLOBALS['dbi']->escapeString(Util::unescapeMysqlWildcards($db)) . "'" + . " AND `Routine_name` LIKE '" . $GLOBALS['dbi']->escapeString($routine) . "';"; + $res = $GLOBALS['dbi']->fetchValue($sql); + + $privs = self::parseProcPriv($res); + + $routineArray = array(self::getTriggerPrivilegeTable()); + $privTableNames = array(__('Routine')); + $privCheckboxes = self::getHtmlForGlobalPrivTableWithCheckboxes( + $routineArray, $privTableNames, $privs + ); + + $data = array( + 'username' => $username, + 'hostname' => $hostname, + 'database' => $db, + 'routine' => $routine, + 'grant_count' => count($privs), + 'priv_checkboxes' => $privCheckboxes, + 'header' => $header, + ); + $html_output = Template::get('privileges/edit_routine_privileges') + ->render($data); + + return $html_output; + } + + /** + * Get routine privilege table as an array + * + * @return privilege type array + */ + public static function getTriggerPrivilegeTable() + { + $routinePrivTable = array( + array( + 'Grant', + 'GRANT', + __( + 'Allows user to give to other users or remove from other users ' + . 'privileges that user possess on this routine.' + ) + ), + array( + 'Alter_routine', + 'ALTER ROUTINE', + __('Allows altering and dropping this routine.') + ), + array( + 'Execute', + 'EXECUTE', + __('Allows executing this routine.') + ) + ); + return $routinePrivTable; + } + + /** + * Get the HTML snippet for table specific privileges + * + * @param string $username username for database connection + * @param string $hostname hostname for database connection + * @param string $db the database + * @param string $table the table + * @param array $columns columns array + * @param array $row current privileges row + * + * @return string $html_output + */ + public static function getHtmlForTableSpecificPrivileges( + $username, $hostname, $db, $table, array $columns, array $row + ) { + $res = $GLOBALS['dbi']->query( + 'SELECT `Column_name`, `Column_priv`' + . ' FROM `mysql`.`columns_priv`' + . ' WHERE `User`' + . ' = \'' . $GLOBALS['dbi']->escapeString($username) . "'" + . ' AND `Host`' + . ' = \'' . $GLOBALS['dbi']->escapeString($hostname) . "'" + . ' AND `Db`' + . ' = \'' . $GLOBALS['dbi']->escapeString( + Util::unescapeMysqlWildcards($db) + ) . "'" + . ' AND `Table_name`' + . ' = \'' . $GLOBALS['dbi']->escapeString($table) . '\';' + ); + + while ($row1 = $GLOBALS['dbi']->fetchRow($res)) { + $row1[1] = explode(',', $row1[1]); + foreach ($row1[1] as $current) { + $columns[$row1[0]][$current] = true; + } + } + $GLOBALS['dbi']->freeResult($res); + unset($res, $row1, $current); + + $html_output = '' . "\n" + . '' . "\n" + . '
    ' . "\n" + . '' . __('Table-specific privileges') + . '' + . '

    ' + . __('Note: MySQL privilege names are expressed in English.') + . '

    '; + + // privs that are attached to a specific column + $html_output .= self::getHtmlForAttachedPrivilegesToTableSpecificColumn( + $columns, $row + ); + + // privs that are not attached to a specific column + $html_output .= '
    ' . "\n" + . self::getHtmlForNotAttachedPrivilegesToTableSpecificColumn($row) + . '
    ' . "\n"; + + // for Safari 2.0.2 + $html_output .= '
    ' . "\n"; + + return $html_output; + } + + /** + * Get HTML snippet for privileges that are attached to a specific column + * + * @param array $columns columns array + * @param array $row first row from result or boolean false + * + * @return string $html_output + */ + public static function getHtmlForAttachedPrivilegesToTableSpecificColumn(array $columns, array $row) + { + $html_output = self::getHtmlForColumnPrivileges( + $columns, $row, 'Select_priv', 'SELECT', + 'select', __('Allows reading data.'), 'Select' + ); + + $html_output .= self::getHtmlForColumnPrivileges( + $columns, $row, 'Insert_priv', 'INSERT', + 'insert', __('Allows inserting and replacing data.'), 'Insert' + ); + + $html_output .= self::getHtmlForColumnPrivileges( + $columns, $row, 'Update_priv', 'UPDATE', + 'update', __('Allows changing data.'), 'Update' + ); + + $html_output .= self::getHtmlForColumnPrivileges( + $columns, $row, 'References_priv', 'REFERENCES', 'references', + __('Has no effect in this MySQL version.'), 'References' + ); + return $html_output; + } + + /** + * Get HTML for privileges that are not attached to a specific column + * + * @param array $row first row from result or boolean false + * + * @return string $html_output + */ + public static function getHtmlForNotAttachedPrivilegesToTableSpecificColumn(array $row) + { + $html_output = ''; + + foreach ($row as $current_grant => $current_grant_value) { + $grant_type = substr($current_grant, 0, -5); + if (in_array($grant_type, array('Select', 'Insert', 'Update', 'References')) + ) { + continue; + } + // make a substitution to match the messages variables; + // also we must substitute the grant we get, because we can't generate + // a form variable containing blanks (those would get changed to + // an underscore when receiving the POST) + if ($current_grant == 'Create View_priv') { + $tmp_current_grant = 'CreateView_priv'; + $current_grant = 'Create_view_priv'; + } elseif ($current_grant == 'Show view_priv') { + $tmp_current_grant = 'ShowView_priv'; + $current_grant = 'Show_view_priv'; + } else { + $tmp_current_grant = $current_grant; + } + + $html_output .= '
    ' . "\n" + . '' . "\n"; + + $privGlobalName1 = 'strPrivDesc' + . mb_substr( + $tmp_current_grant, + 0, + - 5 + ); + $html_output .= '' . "\n" + . '
    ' . "\n"; + } // end foreach () + return $html_output; + } + + /** + * Get HTML for global or database specific privileges + * + * @param string $db the database + * @param string $table the table + * @param array $row first row from result or boolean false + * + * @return string $html_output + */ + public static function getHtmlForGlobalOrDbSpecificPrivs($db, $table, array $row) + { + $privTable_names = array(0 => __('Data'), + 1 => __('Structure'), + 2 => __('Administration') + ); + $privTable = array(); + // d a t a + $privTable[0] = self::getDataPrivilegeTable($db); + + // s t r u c t u r e + $privTable[1] = self::getStructurePrivilegeTable($table, $row); + + // a d m i n i s t r a t i o n + $privTable[2] = self::getAdministrationPrivilegeTable($db); + + $html_output = ''; + if ($db == '*') { + $legend = __('Global privileges'); + $menu_label = __('Global'); + } elseif ($table == '*') { + $legend = __('Database-specific privileges'); + $menu_label = __('Database'); + } else { + $legend = __('Table-specific privileges'); + $menu_label = __('Table'); + } + $html_output .= '
    ' + . '' . $legend + . ' ' + . ' ' + . '' + . '

    ' + . __('Note: MySQL privilege names are expressed in English.') + . '

    '; + + // Output the Global privilege tables with checkboxes + $html_output .= self::getHtmlForGlobalPrivTableWithCheckboxes( + $privTable, $privTable_names, $row + ); + + // The "Resource limits" box is not displayed for db-specific privs + if ($db == '*') { + $html_output .= self::getHtmlForResourceLimits($row); + $html_output .= self::getHtmlForRequires($row); + } + // for Safari 2.0.2 + $html_output .= '
    '; + + return $html_output; + } + + /** + * Get data privilege table as an array + * + * @param string $db the database + * + * @return string data privilege table + */ + public static function getDataPrivilegeTable($db) + { + $data_privTable = array( + array('Select', 'SELECT', __('Allows reading data.')), + array('Insert', 'INSERT', __('Allows inserting and replacing data.')), + array('Update', 'UPDATE', __('Allows changing data.')), + array('Delete', 'DELETE', __('Allows deleting data.')) + ); + if ($db == '*') { + $data_privTable[] + = array('File', + 'FILE', + __('Allows importing data from and exporting data into files.') + ); + } + return $data_privTable; + } + + /** + * Get structure privilege table as an array + * + * @param string $table the table + * @param array $row first row from result or boolean false + * + * @return string structure privilege table + */ + public static function getStructurePrivilegeTable($table, array $row) + { + $structure_privTable = array( + array('Create', + 'CREATE', + ($table == '*' + ? __('Allows creating new databases and tables.') + : __('Allows creating new tables.') + ) + ), + array('Alter', + 'ALTER', + __('Allows altering the structure of existing tables.') + ), + array('Index', 'INDEX', __('Allows creating and dropping indexes.')), + array('Drop', + 'DROP', + ($table == '*' + ? __('Allows dropping databases and tables.') + : __('Allows dropping tables.') + ) + ), + array('Create_tmp_table', + 'CREATE TEMPORARY TABLES', + __('Allows creating temporary tables.') + ), + array('Show_view', + 'SHOW VIEW', + __('Allows performing SHOW CREATE VIEW queries.') + ), + array('Create_routine', + 'CREATE ROUTINE', + __('Allows creating stored routines.') + ), + array('Alter_routine', + 'ALTER ROUTINE', + __('Allows altering and dropping stored routines.') + ), + array('Execute', 'EXECUTE', __('Allows executing stored routines.')), + ); + // this one is for a db-specific priv: Create_view_priv + if (isset($row['Create_view_priv'])) { + $structure_privTable[] = array('Create_view', + 'CREATE VIEW', + __('Allows creating new views.') + ); + } + // this one is for a table-specific priv: Create View_priv + if (isset($row['Create View_priv'])) { + $structure_privTable[] = array('Create View', + 'CREATE VIEW', + __('Allows creating new views.') + ); + } + if (isset($row['Event_priv'])) { + // MySQL 5.1.6 + $structure_privTable[] = array('Event', + 'EVENT', + __('Allows to set up events for the event scheduler.') + ); + $structure_privTable[] = array('Trigger', + 'TRIGGER', + __('Allows creating and dropping triggers.') + ); + } + return $structure_privTable; + } + + /** + * Get administration privilege table as an array + * + * @param string $db the table + * + * @return string administration privilege table + */ + public static function getAdministrationPrivilegeTable($db) + { + if ($db == '*') { + $adminPrivTable = array( + array('Grant', + 'GRANT', + __( + 'Allows adding users and privileges ' + . 'without reloading the privilege tables.' + ) + ), + ); + $adminPrivTable[] = array('Super', + 'SUPER', + __( + 'Allows connecting, even if maximum number ' + . 'of connections is reached; required for ' + . 'most administrative operations like ' + . 'setting global variables or killing threads of other users.' + ) + ); + $adminPrivTable[] = array('Process', + 'PROCESS', + __('Allows viewing processes of all users.') + ); + $adminPrivTable[] = array('Reload', + 'RELOAD', + __('Allows reloading server settings and flushing the server\'s caches.') + ); + $adminPrivTable[] = array('Shutdown', + 'SHUTDOWN', + __('Allows shutting down the server.') + ); + $adminPrivTable[] = array('Show_db', + 'SHOW DATABASES', + __('Gives access to the complete list of databases.') + ); + } + else { + $adminPrivTable = array( + array('Grant', + 'GRANT', + __( + 'Allows user to give to other users or remove from other' + . ' users the privileges that user possess yourself.' + ) + ), + ); + } + $adminPrivTable[] = array('Lock_tables', + 'LOCK TABLES', + __('Allows locking tables for the current thread.') + ); + $adminPrivTable[] = array('References', + 'REFERENCES', + __('Has no effect in this MySQL version.') + ); + if ($db == '*') { + $adminPrivTable[] = array('Repl_client', + 'REPLICATION CLIENT', + __('Allows the user to ask where the slaves / masters are.') + ); + $adminPrivTable[] = array('Repl_slave', + 'REPLICATION SLAVE', + __('Needed for the replication slaves.') + ); + $adminPrivTable[] = array('Create_user', + 'CREATE USER', + __('Allows creating, dropping and renaming user accounts.') + ); + } + return $adminPrivTable; + } + + /** + * Get HTML snippet for global privileges table with check boxes + * + * @param array $privTable privileges table array + * @param array $privTableNames names of the privilege tables + * (Data, Structure, Administration) + * @param array $row first row from result or boolean false + * + * @return string $html_output + */ + public static function getHtmlForGlobalPrivTableWithCheckboxes( + array $privTable, array $privTableNames, array $row + ) { + return Template::get('privileges/global_priv_table')->render(array( + 'priv_table' => $privTable, + 'priv_table_names' => $privTableNames, + 'row' => $row, + )); + } + + /** + * Gets the currently active authentication plugins + * + * @param string $orig_auth_plugin Default Authentication plugin + * @param string $mode are we creating a new user or are we just + * changing one? + * (allowed values: 'new', 'edit', 'change_pw') + * @param string $versions Is MySQL version newer or older than 5.5.7 + * + * @return string $html_output + */ + public static function getHtmlForAuthPluginsDropdown( + $orig_auth_plugin, + $mode = 'new', + $versions = 'new' + ) { + $select_id = 'select_authentication_plugin' + . ($mode =='change_pw' ? '_cp' : ''); + + if ($versions == 'new') { + $active_auth_plugins = self::getActiveAuthPlugins(); + + if (isset($active_auth_plugins['mysql_old_password'])) { + unset($active_auth_plugins['mysql_old_password']); + } + } else { + $active_auth_plugins = array( + 'mysql_native_password' => __('Native MySQL authentication') + ); + } + + $html_output = Util::getDropdown( + 'authentication_plugin', + $active_auth_plugins, + $orig_auth_plugin, + $select_id + ); + + return $html_output; + } + + /** + * Gets the currently active authentication plugins + * + * @return array $result array of plugin names and descriptions + */ + public static function getActiveAuthPlugins() + { + $get_plugins_query = "SELECT `PLUGIN_NAME`, `PLUGIN_DESCRIPTION`" + . " FROM `information_schema`.`PLUGINS` " + . "WHERE `PLUGIN_TYPE` = 'AUTHENTICATION';"; + $resultset = $GLOBALS['dbi']->query($get_plugins_query); + + $result = array(); + + while ($row = $GLOBALS['dbi']->fetchAssoc($resultset)) { + // if description is known, enable its translation + if ('mysql_native_password' == $row['PLUGIN_NAME']) { + $row['PLUGIN_DESCRIPTION'] = __('Native MySQL authentication'); + } elseif ('sha256_password' == $row['PLUGIN_NAME']) { + $row['PLUGIN_DESCRIPTION'] = __('SHA256 password authentication'); + } + + $result[$row['PLUGIN_NAME']] = $row['PLUGIN_DESCRIPTION']; + } + + return $result; + } + + /** + * Displays the fields used by the "new user" form as well as the + * "change login information / copy user" form. + * + * @param string $mode are we creating a new user or are we just + * changing one? (allowed values: 'new', 'change') + * @param string $username User name + * @param string $hostname Host name + * + * @global array $cfg the phpMyAdmin configuration + * @global resource $user_link the database connection + * + * @return string $html_output a HTML snippet + */ + public static function getHtmlForLoginInformationFields( + $mode = 'new', + $username = null, + $hostname = null + ) { + list($username_length, $hostname_length) = self::getUsernameAndHostnameLength(); + + if (isset($GLOBALS['username']) && strlen($GLOBALS['username']) === 0) { + $GLOBALS['pred_username'] = 'any'; + } + $html_output = '
    ' . "\n" + . '' . __('Login Information') . '' . "\n" + . '
    ' . "\n" + . '' . "\n" + . '' . "\n"; + + $html_output .= '' . "\n" + . '' . "\n"; + + $html_output .= '' . "\n"; + + $html_output .= '
    ' + . Message::notice( + __( + 'An account already exists with the same username ' + . 'but possibly a different hostname.' + ) + )->getDisplay() + . '
    '; + $html_output .= '
    '; + + $html_output .= '
    ' . "\n" + . '' . "\n"; + + $html_output .= '' . "\n" + . ' ' . "\n" + . '' . "\n"; + + $html_output .= '' . "\n" + . Util::showHint( + __( + 'When Host table is used, this field is ignored ' + . 'and values stored in Host table are used instead.' + ) + ) + . '
    ' . "\n"; + + $html_output .= '
    ' . "\n" + . '' . "\n" + . '' . "\n" + . '' . "\n" + . '' . "\n" + . '' . "\n" + . 'Strength: ' + . ' ' + . '' . "\n" + . '
    ' . "\n"; + + $html_output .= '
    ' . "\n" + . '' . "\n" + . ' ' . "\n" + . '' . "\n" + . '
    ' . "\n" + . '
    ' + . ' ' . "\n"; + + $auth_plugin_dropdown = self::getHtmlForAuthPluginsDropdown( + $orig_auth_plugin, $mode, 'new' + ); + } else { + $html_output .= __('Password Hashing Method') + . ' ' . "\n"; + $auth_plugin_dropdown = self::getHtmlForAuthPluginsDropdown( + $orig_auth_plugin, $mode, 'old' + ); + } + $html_output .= $auth_plugin_dropdown; + + $html_output .= '' + . Message::notice( + __( + 'This method requires using an \'SSL connection\' ' + . 'or an \'unencrypted connection that encrypts the password ' + . 'using RSA\'; while connecting to the server.' + ) + . Util::showMySQLDocu('sha256-authentication-plugin') + ) + ->getDisplay() + . '
    '; + + $html_output .= '' . "\n" + // Generate password added here via jQuery + . '
    ' . "\n"; + + return $html_output; + } // end of the 'self::getHtmlForLoginInformationFields()' function + + /** + * Get username and hostname length + * + * @return array username length and hostname length + */ + public static function getUsernameAndHostnameLength() + { + /* Fallback values */ + $username_length = 16; + $hostname_length = 41; + + /* Try to get real lengths from the database */ + $fields_info = $GLOBALS['dbi']->fetchResult( + 'SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH ' + . 'FROM information_schema.columns ' + . "WHERE table_schema = 'mysql' AND table_name = 'user' " + . "AND COLUMN_NAME IN ('User', 'Host')" + ); + foreach ($fields_info as $val) { + if ($val['COLUMN_NAME'] == 'User') { + $username_length = $val['CHARACTER_MAXIMUM_LENGTH']; + } elseif ($val['COLUMN_NAME'] == 'Host') { + $hostname_length = $val['CHARACTER_MAXIMUM_LENGTH']; + } + } + return array($username_length, $hostname_length); + } + + /** + * Get current authentication plugin in use - for a user or globally + * + * @param string $mode are we creating a new user or are we just + * changing one? (allowed values: 'new', 'change') + * @param string $username User name + * @param string $hostname Host name + * + * @return string authentication plugin in use + */ + public static function getCurrentAuthenticationPlugin( + $mode = 'new', + $username = null, + $hostname = null + ) { + /* Fallback (standard) value */ + $authentication_plugin = 'mysql_native_password'; + $serverVersion = $GLOBALS['dbi']->getVersion(); + + if (isset($username) && isset($hostname) + && $mode == 'change' + ) { + $row = $GLOBALS['dbi']->fetchSingleRow( + 'SELECT `plugin` FROM `mysql`.`user` WHERE ' + . '`User` = "' . $username . '" AND `Host` = "' . $hostname . '" LIMIT 1' + ); + // Table 'mysql'.'user' may not exist for some previous + // versions of MySQL - in that case consider fallback value + if (isset($row) && $row) { + $authentication_plugin = $row['plugin']; + } + } elseif ($mode == 'change') { + list($username, $hostname) = $GLOBALS['dbi']->getCurrentUserAndHost(); + + $row = $GLOBALS['dbi']->fetchSingleRow( + 'SELECT `plugin` FROM `mysql`.`user` WHERE ' + . '`User` = "' . $username . '" AND `Host` = "' . $hostname . '"' + ); + if (isset($row) && $row && ! empty($row['plugin'])) { + $authentication_plugin = $row['plugin']; + } + } elseif ($serverVersion >= 50702) { + $row = $GLOBALS['dbi']->fetchSingleRow( + 'SELECT @@default_authentication_plugin' + ); + $authentication_plugin = $row['@@default_authentication_plugin']; + } + + return $authentication_plugin; + } + + /** + * Returns all the grants for a certain user on a certain host + * Used in the export privileges for all users section + * + * @param string $user User name + * @param string $host Host name + * + * @return string containing all the grants text + */ + public static function getGrants($user, $host) + { + $grants = $GLOBALS['dbi']->fetchResult( + "SHOW GRANTS FOR '" + . $GLOBALS['dbi']->escapeString($user) . "'@'" + . $GLOBALS['dbi']->escapeString($host) . "'" + ); + $response = ''; + foreach ($grants as $one_grant) { + $response .= $one_grant . ";\n\n"; + } + return $response; + } // end of the 'self::getGrants()' function + + /** + * Update password and get message for password updating + * + * @param string $err_url error url + * @param string $username username + * @param string $hostname hostname + * + * @return string $message success or error message after updating password + */ + public static function updatePassword($err_url, $username, $hostname) + { + // similar logic in user_password.php + $message = ''; + + if (empty($_REQUEST['nopass']) + && isset($_POST['pma_pw']) + && isset($_POST['pma_pw2']) + ) { + if ($_POST['pma_pw'] != $_POST['pma_pw2']) { + $message = Message::error(__('The passwords aren\'t the same!')); + } elseif (empty($_POST['pma_pw']) || empty($_POST['pma_pw2'])) { + $message = Message::error(__('The password is empty!')); + } + } + + // here $nopass could be == 1 + if (empty($message)) { + $hashing_function = 'PASSWORD'; + $serverType = Util::getServerType(); + $serverVersion = $GLOBALS['dbi']->getVersion(); + $authentication_plugin + = (isset($_REQUEST['authentication_plugin']) + ? $_REQUEST['authentication_plugin'] + : self::getCurrentAuthenticationPlugin( + 'change', + $username, + $hostname + )); + + // Use 'ALTER USER ...' syntax for MySQL 5.7.6+ + if ($serverType == 'MySQL' + && $serverVersion >= 50706 + ) { + if ($authentication_plugin != 'mysql_old_password') { + $query_prefix = "ALTER USER '" + . $GLOBALS['dbi']->escapeString($username) + . "'@'" . $GLOBALS['dbi']->escapeString($hostname) . "'" + . " IDENTIFIED WITH " + . $authentication_plugin + . " BY '"; + } else { + $query_prefix = "ALTER USER '" + . $GLOBALS['dbi']->escapeString($username) + . "'@'" . $GLOBALS['dbi']->escapeString($hostname) . "'" + . " IDENTIFIED BY '"; + } + + // in $sql_query which will be displayed, hide the password + $sql_query = $query_prefix . "*'"; + + $local_query = $query_prefix + . $GLOBALS['dbi']->escapeString($_POST['pma_pw']) . "'"; + } elseif ($serverType == 'MariaDB' && $serverVersion >= 10000) { + // MariaDB uses "SET PASSWORD" syntax to change user password. + // On Galera cluster only DDL queries are replicated, since + // users are stored in MyISAM storage engine. + $query_prefix = "SET PASSWORD FOR '" + . $GLOBALS['dbi']->escapeString($username) + . "'@'" . $GLOBALS['dbi']->escapeString($hostname) . "'" + . " = PASSWORD ('"; + $sql_query = $local_query = $query_prefix + . $GLOBALS['dbi']->escapeString($_POST['pma_pw']) . "')"; + } elseif ($serverType == 'MariaDB' + && $serverVersion >= 50200 + && $GLOBALS['dbi']->isSuperuser() + ) { + // Use 'UPDATE `mysql`.`user` ...' Syntax for MariaDB 5.2+ + if ($authentication_plugin == 'mysql_native_password') { + // Set the hashing method used by PASSWORD() + // to be 'mysql_native_password' type + $GLOBALS['dbi']->tryQuery('SET old_passwords = 0;'); + + } elseif ($authentication_plugin == 'sha256_password') { + // Set the hashing method used by PASSWORD() + // to be 'sha256_password' type + $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 2;'); + } + + $hashedPassword = self::getHashedPassword($_POST['pma_pw']); + + $sql_query = 'SET PASSWORD FOR \'' + . $GLOBALS['dbi']->escapeString($username) + . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\' = ' + . (($_POST['pma_pw'] == '') + ? '\'\'' + : $hashing_function . '(\'' + . preg_replace('@.@s', '*', $_POST['pma_pw']) . '\')'); + + $local_query = "UPDATE `mysql`.`user` SET " + . " `authentication_string` = '" . $hashedPassword + . "', `Password` = '', " + . " `plugin` = '" . $authentication_plugin . "'" + . " WHERE `User` = '" . $username . "' AND Host = '" + . $hostname . "';"; + } else { + // USE 'SET PASSWORD ...' syntax for rest of the versions + // Backup the old value, to be reset later + $row = $GLOBALS['dbi']->fetchSingleRow( + 'SELECT @@old_passwords;' + ); + $orig_value = $row['@@old_passwords']; + $update_plugin_query = "UPDATE `mysql`.`user` SET" + . " `plugin` = '" . $authentication_plugin . "'" + . " WHERE `User` = '" . $username . "' AND Host = '" + . $hostname . "';"; + + // Update the plugin for the user + if (!($GLOBALS['dbi']->tryQuery($update_plugin_query))) { + Util::mysqlDie( + $GLOBALS['dbi']->getError(), + $update_plugin_query, + false, $err_url + ); + } + $GLOBALS['dbi']->tryQuery("FLUSH PRIVILEGES;"); + + if ($authentication_plugin == 'mysql_native_password') { + // Set the hashing method used by PASSWORD() + // to be 'mysql_native_password' type + $GLOBALS['dbi']->tryQuery('SET old_passwords = 0;'); + } elseif ($authentication_plugin == 'sha256_password') { + // Set the hashing method used by PASSWORD() + // to be 'sha256_password' type + $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 2;'); + } + $sql_query = 'SET PASSWORD FOR \'' + . $GLOBALS['dbi']->escapeString($username) + . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\' = ' + . (($_POST['pma_pw'] == '') + ? '\'\'' + : $hashing_function . '(\'' + . preg_replace('@.@s', '*', $_POST['pma_pw']) . '\')'); + + $local_query = 'SET PASSWORD FOR \'' + . $GLOBALS['dbi']->escapeString($username) + . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\' = ' + . (($_POST['pma_pw'] == '') ? '\'\'' : $hashing_function + . '(\'' . $GLOBALS['dbi']->escapeString($_POST['pma_pw']) . '\')'); + } + + if (!($GLOBALS['dbi']->tryQuery($local_query))) { + Util::mysqlDie( + $GLOBALS['dbi']->getError(), $sql_query, false, $err_url + ); + } + // Flush privileges after successful password change + $GLOBALS['dbi']->tryQuery("FLUSH PRIVILEGES;"); + + $message = Message::success( + __('The password for %s was changed successfully.') + ); + $message->addParam('\'' . $username . '\'@\'' . $hostname . '\''); + if (isset($orig_value)) { + $GLOBALS['dbi']->tryQuery( + 'SET `old_passwords` = ' . $orig_value . ';' + ); + } + } + return $message; + } + + /** + * Revokes privileges and get message and SQL query for privileges revokes + * + * @param string $dbname database name + * @param string $tablename table name + * @param string $username username + * @param string $hostname host name + * @param string $itemType item type + * + * @return array ($message, $sql_query) + */ + public static function getMessageAndSqlQueryForPrivilegesRevoke($dbname, + $tablename, $username, $hostname, $itemType + ) { + $db_and_table = self::wildcardEscapeForGrant($dbname, $tablename); + + $sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $itemType . ' ' . $db_and_table + . ' FROM \'' + . $GLOBALS['dbi']->escapeString($username) . '\'@\'' + . $GLOBALS['dbi']->escapeString($hostname) . '\';'; + + $sql_query1 = 'REVOKE GRANT OPTION ON ' . $itemType . ' ' . $db_and_table + . ' FROM \'' . $GLOBALS['dbi']->escapeString($username) . '\'@\'' + . $GLOBALS['dbi']->escapeString($hostname) . '\';'; + + $GLOBALS['dbi']->query($sql_query0); + if (! $GLOBALS['dbi']->tryQuery($sql_query1)) { + // this one may fail, too... + $sql_query1 = ''; + } + $sql_query = $sql_query0 . ' ' . $sql_query1; + $message = Message::success( + __('You have revoked the privileges for %s.') + ); + $message->addParam('\'' . $username . '\'@\'' . $hostname . '\''); + + return array($message, $sql_query); + } + + /** + * Get REQUIRE cluase + * + * @return string REQUIRE clause + */ + public static function getRequireClause() + { + $arr = isset($_POST['ssl_type']) ? $_POST : $GLOBALS; + if (isset($arr['ssl_type']) && $arr['ssl_type'] == 'SPECIFIED') { + $require = array(); + if (! empty($arr['ssl_cipher'])) { + $require[] = "CIPHER '" + . $GLOBALS['dbi']->escapeString($arr['ssl_cipher']) . "'"; + } + if (! empty($arr['x509_issuer'])) { + $require[] = "ISSUER '" + . $GLOBALS['dbi']->escapeString($arr['x509_issuer']) . "'"; + } + if (! empty($arr['x509_subject'])) { + $require[] = "SUBJECT '" + . $GLOBALS['dbi']->escapeString($arr['x509_subject']) . "'"; + } + if (count($require)) { + $require_clause = " REQUIRE " . implode(" AND ", $require); + } else { + $require_clause = " REQUIRE NONE"; + } + } elseif (isset($arr['ssl_type']) && $arr['ssl_type'] == 'X509') { + $require_clause = " REQUIRE X509"; + } elseif (isset($arr['ssl_type']) && $arr['ssl_type'] == 'ANY') { + $require_clause = " REQUIRE SSL"; + } else { + $require_clause = " REQUIRE NONE"; + } + + return $require_clause; + } + + /** + * Get a WITH clause for 'update privileges' and 'add user' + * + * @return string $sql_query + */ + public static function getWithClauseForAddUserAndUpdatePrivs() + { + $sql_query = ''; + if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y') + || (isset($GLOBALS['Grant_priv']) && $GLOBALS['Grant_priv'] == 'Y') + ) { + $sql_query .= ' GRANT OPTION'; + } + if (isset($_POST['max_questions']) || isset($GLOBALS['max_questions'])) { + $max_questions = isset($_POST['max_questions']) + ? (int)$_POST['max_questions'] : (int)$GLOBALS['max_questions']; + $max_questions = max(0, $max_questions); + $sql_query .= ' MAX_QUERIES_PER_HOUR ' . $max_questions; + } + if (isset($_POST['max_connections']) || isset($GLOBALS['max_connections'])) { + $max_connections = isset($_POST['max_connections']) + ? (int)$_POST['max_connections'] : (int)$GLOBALS['max_connections']; + $max_connections = max(0, $max_connections); + $sql_query .= ' MAX_CONNECTIONS_PER_HOUR ' . $max_connections; + } + if (isset($_POST['max_updates']) || isset($GLOBALS['max_updates'])) { + $max_updates = isset($_POST['max_updates']) + ? (int)$_POST['max_updates'] : (int)$GLOBALS['max_updates']; + $max_updates = max(0, $max_updates); + $sql_query .= ' MAX_UPDATES_PER_HOUR ' . $max_updates; + } + if (isset($_POST['max_user_connections']) + || isset($GLOBALS['max_user_connections']) + ) { + $max_user_connections = isset($_POST['max_user_connections']) + ? (int)$_POST['max_user_connections'] + : (int)$GLOBALS['max_user_connections']; + $max_user_connections = max(0, $max_user_connections); + $sql_query .= ' MAX_USER_CONNECTIONS ' . $max_user_connections; + } + return ((!empty($sql_query)) ? ' WITH' . $sql_query : ''); + } + + /** + * Get HTML for addUsersForm, This function call if isset($_REQUEST['adduser']) + * + * @param string $dbname database name + * + * @return string HTML for addUserForm + */ + public static function getHtmlForAddUser($dbname) + { + $html_output = '

    ' . "\n" + . Util::getIcon('b_usradd') . __('Add user account') . "\n" + . '

    ' . "\n" + . '
    ' . "\n" + . Url::getHiddenInputs('', '') + . self::getHtmlForLoginInformationFields('new'); + + $html_output .= '
    ' . "\n" + . '' . __('Database for user account') . '' . "\n"; + + $html_output .= Template::get('checkbox') + ->render( + array( + 'html_field_name' => 'createdb-1', + 'label' => __('Create database with same name and grant all privileges.'), + 'checked' => false, + 'onclick' => false, + 'html_field_id' => 'createdb-1', + ) + ); + $html_output .= '
    ' . "\n"; + $html_output .= Template::get('checkbox') + ->render( + array( + 'html_field_name' => 'createdb-2', + 'label' => __('Grant all privileges on wildcard name (username\\_%).'), + 'checked' => false, + 'onclick' => false, + 'html_field_id' => 'createdb-2', + ) + ); + $html_output .= '
    ' . "\n"; + + if (! empty($dbname) ) { + $html_output .= Template::get('checkbox') + ->render( + array( + 'html_field_name' => 'createdb-3', + 'label' => sprintf(__('Grant all privileges on database %s.'), htmlspecialchars($dbname)), + 'checked' => true, + 'onclick' => false, + 'html_field_id' => 'createdb-3', + ) + ); + $html_output .= '' . "\n"; + $html_output .= '
    ' . "\n"; + } + + $html_output .= '
    ' . "\n"; + if ($GLOBALS['is_grantuser']) { + $html_output .= self::getHtmlToDisplayPrivilegesTable('*', '*', false); + } + $html_output .= '' . "\n" + . '' . "\n"; + + return $html_output; + } + + /** + * Get the list of privileges and list of compared privileges as strings + * and return a array that contains both strings + * + * @return array $list_of_privileges, $list_of_compared_privileges + */ + public static function getListOfPrivilegesAndComparedPrivileges() + { + $list_of_privileges + = '`User`, ' + . '`Host`, ' + . '`Select_priv`, ' + . '`Insert_priv`, ' + . '`Update_priv`, ' + . '`Delete_priv`, ' + . '`Create_priv`, ' + . '`Drop_priv`, ' + . '`Grant_priv`, ' + . '`Index_priv`, ' + . '`Alter_priv`, ' + . '`References_priv`, ' + . '`Create_tmp_table_priv`, ' + . '`Lock_tables_priv`, ' + . '`Create_view_priv`, ' + . '`Show_view_priv`, ' + . '`Create_routine_priv`, ' + . '`Alter_routine_priv`, ' + . '`Execute_priv`'; + + $listOfComparedPrivs + = '`Select_priv` = \'N\'' + . ' AND `Insert_priv` = \'N\'' + . ' AND `Update_priv` = \'N\'' + . ' AND `Delete_priv` = \'N\'' + . ' AND `Create_priv` = \'N\'' + . ' AND `Drop_priv` = \'N\'' + . ' AND `Grant_priv` = \'N\'' + . ' AND `References_priv` = \'N\'' + . ' AND `Create_tmp_table_priv` = \'N\'' + . ' AND `Lock_tables_priv` = \'N\'' + . ' AND `Create_view_priv` = \'N\'' + . ' AND `Show_view_priv` = \'N\'' + . ' AND `Create_routine_priv` = \'N\'' + . ' AND `Alter_routine_priv` = \'N\'' + . ' AND `Execute_priv` = \'N\''; + + $list_of_privileges .= + ', `Event_priv`, ' + . '`Trigger_priv`'; + $listOfComparedPrivs .= + ' AND `Event_priv` = \'N\'' + . ' AND `Trigger_priv` = \'N\''; + return array($list_of_privileges, $listOfComparedPrivs); + } + + /** + * Get the HTML for routine based privileges + * + * @param string $db database name + * @param string $index_checkbox starting index for rows to be added + * + * @return string $html_output + */ + public static function getHtmlTableBodyForSpecificDbRoutinePrivs($db, $index_checkbox) + { + $sql_query = 'SELECT * FROM `mysql`.`procs_priv` WHERE Db = \'' . $GLOBALS['dbi']->escapeString($db) . '\';'; + $res = $GLOBALS['dbi']->query($sql_query); + $html_output = ''; + while ($row = $GLOBALS['dbi']->fetchAssoc($res)) { + + $html_output .= '
    '; + + $html_output .= ''; + + $html_output .= '' + . '' + . '' + . '' + . ''; + $current_user = $row['User']; + $current_host = $row['Host']; + $routine = $row['Routine_name']; + $html_output .= ''; + $html_output .= ''; + + $html_output .= ''; + + } + return $html_output; + } + + /** + * Get the HTML for user form and check the privileges for a particular database. + * + * @param string $db database name + * + * @return string $html_output + */ + public static function getHtmlForSpecificDbPrivileges($db) + { + $html_output = ''; + + if ($GLOBALS['dbi']->isSuperuser()) { + // check the privileges for a particular database. + $html_output = ''; + $html_output .= Url::getHiddenInputs($db); + $html_output .= '
    '; + $html_output .= '
    '; + $html_output .= '' . "\n" + . Util::getIcon('b_usrcheck') + . ' ' + . sprintf( + __('Users having access to "%s"'), + '' + . htmlspecialchars($db) + . '' + ) + . "\n" + . '' . "\n"; + + $html_output .= '
    '; + $html_output .= '
    ' . htmlspecialchars($row['User']) + . '' . htmlspecialchars($row['Host']) + . '' . 'routine' + . '' . '' . htmlspecialchars($row['Routine_name']) . '' + . '' . 'Yes' + . ''; + if ($GLOBALS['is_grantuser']) { + $specific_db = (isset($row['Db']) && $row['Db'] != '*') + ? $row['Db'] : ''; + $specific_table = (isset($row['Table_name']) + && $row['Table_name'] != '*') + ? $row['Table_name'] : ''; + $html_output .= self::getUserLink( + 'edit', + $current_user, + $current_host, + $specific_db, + $specific_table, + $routine + ); + } + $html_output .= ''; + $html_output .= self::getUserLink( + 'export', + $current_user, + $current_host, + $specific_db, + $specific_table, + $routine + ); + $html_output .= '
    '; + $html_output .= self::getHtmlForPrivsTableHead(); + $privMap = self::getPrivMap($db); + $html_output .= self::getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db); + $html_output .= '
    '; + $html_output .= ''; + + $html_output .= '
    '; + $html_output .= Template::get('select_all') + ->render( + array( + 'pma_theme_image' => $GLOBALS['pmaThemeImage'], + 'text_dir' => $GLOBALS['text_dir'], + 'form_name' => "usersForm", + ) + ); + $html_output .= Util::getButtonOrImage( + 'submit_mult', 'mult_submit', + __('Export'), 'b_tblexport', 'export' + ); + + $html_output .= ''; + $html_output .= '
    '; + $html_output .= ''; + } else { + $html_output .= self::getHtmlForViewUsersError(); + } + + $response = Response::getInstance(); + if ($response->isAjax() == true + && empty($_REQUEST['ajax_page_request']) + ) { + $message = Message::success(__('User has been added.')); + $response->addJSON('message', $message); + $response->addJSON('user_form', $html_output); + exit; + } else { + // Offer to create a new user for the current database + $html_output .= self::getAddUserHtmlFieldset($db); + } + return $html_output; + } + + /** + * Get the HTML for user form and check the privileges for a particular table. + * + * @param string $db database name + * @param string $table table name + * + * @return string $html_output + */ + public static function getHtmlForSpecificTablePrivileges($db, $table) + { + $html_output = ''; + if ($GLOBALS['dbi']->isSuperuser()) { + // check the privileges for a particular table. + $html_output = '
    '; + $html_output .= Url::getHiddenInputs($db, $table); + $html_output .= '
    '; + $html_output .= '' + . Util::getIcon('b_usrcheck') + . sprintf( + __('Users having access to "%s"'), + '' + . htmlspecialchars($db) . '.' . htmlspecialchars($table) + . '' + ) + . ''; + + $html_output .= '
    '; + $html_output .= ''; + $html_output .= self::getHtmlForPrivsTableHead(); + $privMap = self::getPrivMap($db); + $sql_query = "SELECT `User`, `Host`, `Db`," + . " 't' AS `Type`, `Table_name`, `Table_priv`" + . " FROM `mysql`.`tables_priv`" + . " WHERE '" . $GLOBALS['dbi']->escapeString($db) . "' LIKE `Db`" + . " AND '" . $GLOBALS['dbi']->escapeString($table) . "' LIKE `Table_name`" + . " AND NOT (`Table_priv` = '' AND Column_priv = '')" + . " ORDER BY `User` ASC, `Host` ASC, `Db` ASC, `Table_priv` ASC;"; + $res = $GLOBALS['dbi']->query($sql_query); + self::mergePrivMapFromResult($privMap, $res); + $html_output .= self::getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db); + $html_output .= '
    '; + + $html_output .= '
    '; + $html_output .= Template::get('select_all') + ->render( + array( + 'pma_theme_image' => $GLOBALS['pmaThemeImage'], + 'text_dir' => $GLOBALS['text_dir'], + 'form_name' => "usersForm", + ) + ); + $html_output .= Util::getButtonOrImage( + 'submit_mult', 'mult_submit', + __('Export'), 'b_tblexport', 'export' + ); + + $html_output .= '
    '; + $html_output .= '
    '; + } else { + $html_output .= self::getHtmlForViewUsersError(); + } + // Offer to create a new user for the current database + $html_output .= self::getAddUserHtmlFieldset($db, $table); + return $html_output; + } + + /** + * gets privilege map + * + * @param string $db the database + * + * @return array $privMap the privilege map + */ + public static function getPrivMap($db) + { + list($listOfPrivs, $listOfComparedPrivs) + = self::getListOfPrivilegesAndComparedPrivileges(); + $sql_query + = "(" + . " SELECT " . $listOfPrivs . ", '*' AS `Db`, 'g' AS `Type`" + . " FROM `mysql`.`user`" + . " WHERE NOT (" . $listOfComparedPrivs . ")" + . ")" + . " UNION " + . "(" + . " SELECT " . $listOfPrivs . ", `Db`, 'd' AS `Type`" + . " FROM `mysql`.`db`" + . " WHERE '" . $GLOBALS['dbi']->escapeString($db) . "' LIKE `Db`" + . " AND NOT (" . $listOfComparedPrivs . ")" + . ")" + . " ORDER BY `User` ASC, `Host` ASC, `Db` ASC;"; + $res = $GLOBALS['dbi']->query($sql_query); + $privMap = array(); + self::mergePrivMapFromResult($privMap, $res); + return $privMap; + } + + /** + * merge privilege map and rows from resultset + * + * @param array &$privMap the privilege map reference + * @param object $result the resultset of query + * + * @return void + */ + public static function mergePrivMapFromResult(array &$privMap, $result) + { + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + $user = $row['User']; + $host = $row['Host']; + if (! isset($privMap[$user])) { + $privMap[$user] = array(); + } + if (! isset($privMap[$user][$host])) { + $privMap[$user][$host] = array(); + } + $privMap[$user][$host][] = $row; + } + } + + /** + * Get HTML snippet for privileges table head + * + * @return string $html_output + */ + public static function getHtmlForPrivsTableHead() + { + return '' + . '' + . '' + . '' . __('User name') . '' + . '' . __('Host name') . '' + . '' . __('Type') . '' + . '' . __('Privileges') . '' + . '' . __('Grant') . '' + . '' . __('Action') . '' + . '' + . ''; + } + + /** + * Get HTML error for View Users form + * For non superusers such as grant/create users + * + * @return string $html_output + */ + public static function getHtmlForViewUsersError() + { + return Message::error( + __('Not enough privilege to view users.') + )->getDisplay(); + } + + /** + * Get HTML snippet for table body of specific database or table privileges + * + * @param array $privMap privilege map + * @param string $db database + * + * @return string $html_output + */ + public static function getHtmlTableBodyForSpecificDbOrTablePrivs($privMap, $db) + { + $html_output = ''; + $index_checkbox = 0; + if (empty($privMap)) { + $html_output .= '' + . '' + . __('No user found.') + . '' + . '' + . ''; + return $html_output; + } + + foreach ($privMap as $current_user => $val) { + foreach ($val as $current_host => $current_privileges) { + $nbPrivileges = count($current_privileges); + $html_output .= ''; + + $value = htmlspecialchars($current_user . '&#27;' . $current_host); + $html_output .= ' 1) { + $html_output .= ' rowspan="' . $nbPrivileges . '"'; + } + $html_output .= '>'; + $html_output .= '' . "\n"; + + // user + $html_output .= ' 1) { + $html_output .= ' rowspan="' . $nbPrivileges . '"'; + } + $html_output .= '>'; + if (empty($current_user)) { + $html_output .= '' + . __('Any') . ''; + } else { + $html_output .= htmlspecialchars($current_user); + } + $html_output .= ''; + + // host + $html_output .= ' 1) { + $html_output .= ' rowspan="' . $nbPrivileges . '"'; + } + $html_output .= '>'; + $html_output .= htmlspecialchars($current_host); + $html_output .= ''; + + $html_output .= self::getHtmlListOfPrivs( + $db, $current_privileges, $current_user, + $current_host + ); + } + } + + //For fetching routine based privileges + $html_output .= self::getHtmlTableBodyForSpecificDbRoutinePrivs($db, $index_checkbox); + $html_output .= ''; + + return $html_output; + } + + /** + * Get HTML to display privileges + * + * @param string $db Database name + * @param array $current_privileges List of privileges + * @param string $current_user Current user + * @param string $current_host Current host + * + * @return string HTML to display privileges + */ + public static function getHtmlListOfPrivs( + $db, array $current_privileges, $current_user, + $current_host + ) { + $nbPrivileges = count($current_privileges); + $html_output = null; + for ($i = 0; $i < $nbPrivileges; $i++) { + $current = $current_privileges[$i]; + + // type + $html_output .= ''; + if ($current['Type'] == 'g') { + $html_output .= __('global'); + } elseif ($current['Type'] == 'd') { + if ($current['Db'] == Util::escapeMysqlWildcards($db)) { + $html_output .= __('database-specific'); + } else { + $html_output .= __('wildcard') . ': ' + . '' + . htmlspecialchars($current['Db']) + . ''; + } + } elseif ($current['Type'] == 't') { + $html_output .= __('table-specific'); + } + $html_output .= ''; + + // privileges + $html_output .= ''; + if (isset($current['Table_name'])) { + $privList = explode(',', $current['Table_priv']); + $privs = array(); + $grantsArr = self::getTableGrantsArray(); + foreach ($grantsArr as $grant) { + $privs[$grant[0]] = 'N'; + foreach ($privList as $priv) { + if ($grant[0] == $priv) { + $privs[$grant[0]] = 'Y'; + } + } + } + $html_output .= '' + . join( + ',', + self::extractPrivInfo($privs, true, true) + ) + . ''; + } else { + $html_output .= '' + . join( + ',', + self::extractPrivInfo($current, true, false) + ) + . ''; + } + $html_output .= ''; + + // grant + $html_output .= ''; + $containsGrant = false; + if (isset($current['Table_name'])) { + $privList = explode(',', $current['Table_priv']); + foreach ($privList as $priv) { + if ($priv == 'Grant') { + $containsGrant = true; + } + } + } else { + $containsGrant = $current['Grant_priv'] == 'Y'; + } + $html_output .= ($containsGrant ? __('Yes') : __('No')); + $html_output .= ''; + + // action + $html_output .= ''; + $specific_db = (isset($current['Db']) && $current['Db'] != '*') + ? $current['Db'] : ''; + $specific_table = (isset($current['Table_name']) + && $current['Table_name'] != '*') + ? $current['Table_name'] : ''; + if ($GLOBALS['is_grantuser']) { + $html_output .= self::getUserLink( + 'edit', + $current_user, + $current_host, + $specific_db, + $specific_table + ); + } + $html_output .= ''; + $html_output .= '' + . self::getUserLink( + 'export', + $current_user, + $current_host, + $specific_db, + $specific_table + ) + . ''; + + $html_output .= ''; + if (($i + 1) < $nbPrivileges) { + $html_output .= ''; + } + } + return $html_output; + } + + /** + * Returns edit, revoke or export link for a user. + * + * @param string $linktype The link type (edit | revoke | export) + * @param string $username User name + * @param string $hostname Host name + * @param string $dbname Database name + * @param string $tablename Table name + * @param string $routinename Routine name + * @param string $initial Initial value + * + * @return string HTML code with link + */ + public static function getUserLink( + $linktype, $username, $hostname, $dbname = '', + $tablename = '', $routinename = '', $initial = '' + ) { + $html = ' $username, + 'hostname' => $hostname + ); + switch($linktype) { + case 'edit': + $params['dbname'] = $dbname; + $params['tablename'] = $tablename; + $params['routinename'] = $routinename; + break; + case 'revoke': + $params['dbname'] = $dbname; + $params['tablename'] = $tablename; + $params['routinename'] = $routinename; + $params['revokeall'] = 1; + break; + case 'export': + $params['initial'] = $initial; + $params['export'] = 1; + break; + } + + $html .= ' href="server_privileges.php' + . Url::getCommon($params) + . '">'; + + switch($linktype) { + case 'edit': + $html .= Util::getIcon('b_usredit', __('Edit privileges')); + break; + case 'revoke': + $html .= Util::getIcon('b_usrdrop', __('Revoke')); + break; + case 'export': + $html .= Util::getIcon('b_tblexport', __('Export')); + break; + } + $html .= ''; + + return $html; + } + + /** + * Returns user group edit link + * + * @param string $username User name + * + * @return string HTML code with link + */ + public static function getUserGroupEditLink($username) + { + return '' + . Util::getIcon('b_usrlist', __('Edit user group')) + . ''; + } + + /** + * Returns number of defined user groups + * + * @return integer $user_group_count + */ + public static function getUserGroupCount() + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + $user_group_table = Util::backquote($cfgRelation['db']) + . '.' . Util::backquote($cfgRelation['usergroups']); + $sql_query = 'SELECT COUNT(*) FROM ' . $user_group_table; + $user_group_count = $GLOBALS['dbi']->fetchValue( + $sql_query, 0, 0, DatabaseInterface::CONNECT_CONTROL + ); + + return $user_group_count; + } + + /** + * Returns name of user group that user is part of + * + * @param string $username User name + * + * @return mixed usergroup if found or null if not found + */ + public static function getUserGroupForUser($username) + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + + if (empty($cfgRelation['db']) + || empty($cfgRelation['users']) + ) { + return null; + } + + $user_table = Util::backquote($cfgRelation['db']) + . '.' . Util::backquote($cfgRelation['users']); + $sql_query = 'SELECT `usergroup` FROM ' . $user_table + . ' WHERE `username` = \'' . $username . '\'' + . ' LIMIT 1'; + + $usergroup = $GLOBALS['dbi']->fetchValue( + $sql_query, 0, 0, DatabaseInterface::CONNECT_CONTROL + ); + + if ($usergroup === false) { + return null; + } + + return $usergroup; + } + + /** + * This function return the extra data array for the ajax behavior + * + * @param string $password password + * @param string $sql_query sql query + * @param string $hostname hostname + * @param string $username username + * + * @return array $extra_data + */ + public static function getExtraDataForAjaxBehavior( + $password, $sql_query, $hostname, $username + ) { + $relation = new Relation(); + if (isset($GLOBALS['dbname'])) { + //if (preg_match('/\\\\(?:_|%)/i', $dbname)) { + if (preg_match('/(? 0) { + $extra_data['sql_query'] = Util::getMessage(null, $sql_query); + } + + if (isset($_REQUEST['change_copy'])) { + /** + * generate html on the fly for the new user that was just created. + */ + $new_user_string = '' . "\n" + . ' ' + . '' . "\n" + . '' . "\n" + . '' . htmlspecialchars($hostname) . '' . "\n"; + + $new_user_string .= ''; + + if (! empty($password) || isset($_POST['pma_pw'])) { + $new_user_string .= __('Yes'); + } else { + $new_user_string .= '' + . __('No') + . ''; + }; + + $new_user_string .= '' . "\n"; + $new_user_string .= '' + . '' . join(', ', self::extractPrivInfo(null, true)) . '' + . ''; //Fill in privileges here + + // if $cfg['Servers'][$i]['users'] and $cfg['Servers'][$i]['usergroups'] are + // enabled + $cfgRelation = $relation->getRelationsParam(); + if (!empty($cfgRelation['users']) && !empty($cfgRelation['usergroups'])) { + $new_user_string .= ''; + } + + $new_user_string .= ''; + if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y')) { + $new_user_string .= __('Yes'); + } else { + $new_user_string .= __('No'); + } + $new_user_string .=''; + + if ($GLOBALS['is_grantuser']) { + $new_user_string .= '' + . self::getUserLink('edit', $username, $hostname) + . '' . "\n"; + } + + if ($cfgRelation['menuswork'] && $user_group_count > 0) { + $new_user_string .= '' + . self::getUserGroupEditLink($username) + . '' . "\n"; + } + + $new_user_string .= '' + . self::getUserLink( + 'export', + $username, + $hostname, + '', + '', + '', + isset($_GET['initial']) ? $_GET['initial'] : '' + ) + . '' . "\n"; + + $new_user_string .= ''; + + $extra_data['new_user_string'] = $new_user_string; + + /** + * Generate the string for this alphabet's initial, to update the user + * pagination + */ + $new_user_initial = mb_strtoupper( + mb_substr($username, 0, 1) + ); + $newUserInitialString = '' + . $new_user_initial . ''; + $extra_data['new_user_initial'] = $new_user_initial; + $extra_data['new_user_initial_string'] = $newUserInitialString; + } + + if (isset($_POST['update_privs'])) { + $extra_data['db_specific_privs'] = false; + $extra_data['db_wildcard_privs'] = false; + if (isset($dbname_is_wildcard)) { + $extra_data['db_specific_privs'] = ! $dbname_is_wildcard; + $extra_data['db_wildcard_privs'] = $dbname_is_wildcard; + } + $new_privileges = join(', ', self::extractPrivInfo(null, true)); + + $extra_data['new_privileges'] = $new_privileges; + } + + if (isset($_REQUEST['validate_username'])) { + $sql_query = "SELECT * FROM `mysql`.`user` WHERE `User` = '" + . $_REQUEST['username'] . "';"; + $res = $GLOBALS['dbi']->query($sql_query); + $row = $GLOBALS['dbi']->fetchRow($res); + if (empty($row)) { + $extra_data['user_exists'] = false; + } else { + $extra_data['user_exists'] = true; + } + } + + return $extra_data; + } + + /** + * Get the HTML snippet for change user login information + * + * @param string $username username + * @param string $hostname host name + * + * @return string HTML snippet + */ + public static function getChangeLoginInformationHtmlForm($username, $hostname) + { + $choices = array( + '4' => __('… keep the old one.'), + '1' => __('… delete the old one from the user tables.'), + '2' => __( + '… revoke all active privileges from ' + . 'the old one and delete it afterwards.' + ), + '3' => __( + '… delete the old one from the user tables ' + . 'and reload the privileges afterwards.' + ) + ); + + $html_output = '' . "\n"; + + return $html_output; + } + + /** + * Provide a line with links to the relevant database and table + * + * @param string $url_dbname url database name that urlencode() string + * @param string $dbname database name + * @param string $tablename table name + * + * @return string HTML snippet + */ + public static function getLinkToDbAndTable($url_dbname, $dbname, $tablename) + { + $html_output = '[ ' . __('Database') + . ' ' + . htmlspecialchars(Util::unescapeMysqlWildcards($dbname)) . ': ' + . Util::getTitleForTarget( + $GLOBALS['cfg']['DefaultTabDatabase'] + ) + . " ]\n"; + + if (strlen($tablename) > 0) { + $html_output .= ' [ ' . __('Table') . ' ' . htmlspecialchars($tablename) . ': ' + . Util::getTitleForTarget( + $GLOBALS['cfg']['DefaultTabTable'] + ) + . " ]\n"; + } + return $html_output; + } + + /** + * no db name given, so we want all privs for the given user + * db name was given, so we want all user specific rights for this db + * So this function returns user rights as an array + * + * @param string $username username + * @param string $hostname host name + * @param string $type database or table + * @param string $dbname database name + * + * @return array $db_rights database rights + */ + public static function getUserSpecificRights($username, $hostname, $type, $dbname = '') + { + $user_host_condition = " WHERE `User`" + . " = '" . $GLOBALS['dbi']->escapeString($username) . "'" + . " AND `Host`" + . " = '" . $GLOBALS['dbi']->escapeString($hostname) . "'"; + + if ($type == 'database') { + $tables_to_search_for_users = array( + 'tables_priv', 'columns_priv', 'procs_priv' + ); + $dbOrTableName = 'Db'; + } elseif ($type == 'table') { + $user_host_condition .= " AND `Db` LIKE '" + . $GLOBALS['dbi']->escapeString($dbname) . "'"; + $tables_to_search_for_users = array('columns_priv',); + $dbOrTableName = 'Table_name'; + } else { // routine + $user_host_condition .= " AND `Db` LIKE '" + . $GLOBALS['dbi']->escapeString($dbname) . "'"; + $tables_to_search_for_users = array('procs_priv',); + $dbOrTableName = 'Routine_name'; + } + + // we also want privileges for this user not in table `db` but in other table + $tables = $GLOBALS['dbi']->fetchResult('SHOW TABLES FROM `mysql`;'); + + $db_rights_sqls = array(); + foreach ($tables_to_search_for_users as $table_search_in) { + if (in_array($table_search_in, $tables)) { + $db_rights_sqls[] = ' + SELECT DISTINCT `' . $dbOrTableName . '` + FROM `mysql`.' . Util::backquote($table_search_in) + . $user_host_condition; + } + } + + $user_defaults = array( + $dbOrTableName => '', + 'Grant_priv' => 'N', + 'privs' => array('USAGE'), + 'Column_priv' => true, + ); + + // for the rights + $db_rights = array(); + + $db_rights_sql = '(' . implode(') UNION (', $db_rights_sqls) . ')' + . ' ORDER BY `' . $dbOrTableName . '` ASC'; + + $db_rights_result = $GLOBALS['dbi']->query($db_rights_sql); + + while ($db_rights_row = $GLOBALS['dbi']->fetchAssoc($db_rights_result)) { + $db_rights_row = array_merge($user_defaults, $db_rights_row); + if ($type == 'database') { + // only Db names in the table `mysql`.`db` uses wildcards + // as we are in the db specific rights display we want + // all db names escaped, also from other sources + $db_rights_row['Db'] = Util::escapeMysqlWildcards( + $db_rights_row['Db'] + ); + } + $db_rights[$db_rights_row[$dbOrTableName]] = $db_rights_row; + } + + $GLOBALS['dbi']->freeResult($db_rights_result); + + if ($type == 'database') { + $sql_query = 'SELECT * FROM `mysql`.`db`' + . $user_host_condition . ' ORDER BY `Db` ASC'; + } elseif ($type == 'table') { + $sql_query = 'SELECT `Table_name`,' + . ' `Table_priv`,' + . ' IF(`Column_priv` = _latin1 \'\', 0, 1)' + . ' AS \'Column_priv\'' + . ' FROM `mysql`.`tables_priv`' + . $user_host_condition + . ' ORDER BY `Table_name` ASC;'; + } else { + $sql_query = "SELECT `Routine_name`, `Proc_priv`" + . " FROM `mysql`.`procs_priv`" + . $user_host_condition + . " ORDER BY `Routine_name`"; + + } + + $result = $GLOBALS['dbi']->query($sql_query); + + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + if (isset($db_rights[$row[$dbOrTableName]])) { + $db_rights[$row[$dbOrTableName]] + = array_merge($db_rights[$row[$dbOrTableName]], $row); + } else { + $db_rights[$row[$dbOrTableName]] = $row; + } + if ($type == 'database') { + // there are db specific rights for this user + // so we can drop this db rights + $db_rights[$row['Db']]['can_delete'] = true; + } + } + $GLOBALS['dbi']->freeResult($result); + return $db_rights; + } + + /** + * Parses Proc_priv data + * + * @param string $privs Proc_priv + * + * @return array + */ + public static function parseProcPriv($privs) + { + $result = array( + 'Alter_routine_priv' => 'N', + 'Execute_priv' => 'N', + 'Grant_priv' => 'N', + ); + foreach (explode(',', $privs) as $priv) { + if ($priv == 'Alter Routine') { + $result['Alter_routine_priv'] = 'Y'; + } else { + $result[$priv . '_priv'] = 'Y'; + } + } + return $result; + } + + /** + * Get a HTML table for display user's tabel specific or database specific rights + * + * @param string $username username + * @param string $hostname host name + * @param string $type database, table or routine + * @param string $dbname database name + * + * @return array $html_output + */ + public static function getHtmlForAllTableSpecificRights( + $username, $hostname, $type, $dbname = '' + ) { + $uiData = array( + 'database' => array( + 'form_id' => 'database_specific_priv', + 'sub_menu_label' => __('Database'), + 'legend' => __('Database-specific privileges'), + 'type_label' => __('Database'), + ), + 'table' => array( + 'form_id' => 'table_specific_priv', + 'sub_menu_label' => __('Table'), + 'legend' => __('Table-specific privileges'), + 'type_label' => __('Table'), + ), + 'routine' => array( + 'form_id' => 'routine_specific_priv', + 'sub_menu_label' => __('Routine'), + 'legend' => __('Routine-specific privileges'), + 'type_label' => __('Routine'), + ), + ); + + /** + * no db name given, so we want all privs for the given user + * db name was given, so we want all user specific rights for this db + */ + $db_rights = self::getUserSpecificRights($username, $hostname, $type, $dbname); + ksort($db_rights); + + $foundRows = array(); + $privileges = array(); + foreach ($db_rights as $row) { + $onePrivilege = array(); + + $paramTableName = ''; + $paramRoutineName = ''; + + if ($type == 'database') { + $name = $row['Db']; + $onePrivilege['grant'] = $row['Grant_priv'] == 'Y'; + $onePrivilege['table_privs'] = ! empty($row['Table_priv']) + || ! empty($row['Column_priv']); + $onePrivilege['privileges'] = join(',', self::extractPrivInfo($row, true)); + + $paramDbName = $row['Db']; + + } elseif ($type == 'table') { + $name = $row['Table_name']; + $onePrivilege['grant'] = in_array( + 'Grant', + explode(',', $row['Table_priv']) + ); + $onePrivilege['column_privs'] = ! empty($row['Column_priv']); + $onePrivilege['privileges'] = join(',', self::extractPrivInfo($row, true)); + + $paramDbName = $dbname; + $paramTableName = $row['Table_name']; + + } else { // routine + $name = $row['Routine_name']; + $onePrivilege['grant'] = in_array( + 'Grant', + explode(',', $row['Proc_priv']) + ); + + $privs = self::parseProcPriv($row['Proc_priv']); + $onePrivilege['privileges'] = join( + ',', + self::extractPrivInfo($privs, true) + ); + + $paramDbName = $dbname; + $paramRoutineName = $row['Routine_name']; + } + + $foundRows[] = $name; + $onePrivilege['name'] = $name; + + $onePrivilege['edit_link'] = ''; + if ($GLOBALS['is_grantuser']) { + $onePrivilege['edit_link'] = self::getUserLink( + 'edit', + $username, + $hostname, + $paramDbName, + $paramTableName, + $paramRoutineName + ); + } + + $onePrivilege['revoke_link'] = ''; + if ($type != 'database' || ! empty($row['can_delete'])) { + $onePrivilege['revoke_link'] = self::getUserLink( + 'revoke', + $username, + $hostname, + $paramDbName, + $paramTableName, + $paramRoutineName + ); + } + + $privileges[] = $onePrivilege; + } + + $data = $uiData[$type]; + $data['privileges'] = $privileges; + $data['username'] = $username; + $data['hostname'] = $hostname; + $data['database'] = $dbname; + $data['type'] = $type; + + if ($type == 'database') { + + // we already have the list of databases from libraries/common.inc.php + // via $pma = new PMA; + $pred_db_array = $GLOBALS['dblist']->databases; + $databases_to_skip = array('information_schema', 'performance_schema'); + + $databases = array(); + if (! empty($pred_db_array)) { + foreach ($pred_db_array as $current_db) { + if (in_array($current_db, $databases_to_skip)) { + continue; + } + $current_db_escaped = Util::escapeMysqlWildcards($current_db); + // cannot use array_diff() once, outside of the loop, + // because the list of databases has special characters + // already escaped in $foundRows, + // contrary to the output of SHOW DATABASES + if (! in_array($current_db_escaped, $foundRows)) { + $databases[] = $current_db; + } + } + } + $data['databases'] = $databases; + + } elseif ($type == 'table') { + $result = @$GLOBALS['dbi']->tryQuery( + "SHOW TABLES FROM " . Util::backquote($dbname), + DatabaseInterface::CONNECT_USER, + DatabaseInterface::QUERY_STORE + ); + + $tables = array(); + if ($result) { + while ($row = $GLOBALS['dbi']->fetchRow($result)) { + if (! in_array($row[0], $foundRows)) { + $tables[] = $row[0]; + } + } + $GLOBALS['dbi']->freeResult($result); + } + $data['tables'] = $tables; + + } else { // routine + $routineData = $GLOBALS['dbi']->getRoutines($dbname); + + $routines = array(); + foreach ($routineData as $routine) { + if (! in_array($routine['name'], $foundRows)) { + $routines[] = $routine['name']; + } + } + $data['routines'] = $routines; + } + + $html_output = Template::get('privileges/privileges_summary') + ->render($data); + + return $html_output; + } + + /** + * Get HTML for display the users overview + * (if less than 50 users, display them immediately) + * + * @param array $result ran sql query + * @param array $db_rights user's database rights array + * @param string $pmaThemeImage a image source link + * @param string $text_dir text directory + * + * @return string HTML snippet + */ + public static function getUsersOverview($result, array $db_rights, $pmaThemeImage, $text_dir) + { + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + $row['privs'] = self::extractPrivInfo($row, true); + $db_rights[$row['User']][$row['Host']] = $row; + } + $GLOBALS['dbi']->freeResult($result); + $user_group_count = 0; + if ($GLOBALS['cfgRelation']['menuswork']) { + $user_group_count = self::getUserGroupCount(); + } + + $html_output + = '
    ' . "\n" + . Url::getHiddenInputs('', '') + . '
    ' + . '' . "\n" + . '' . "\n" + . '' . "\n" + . '' . "\n" + . '' . "\n" + . '' . "\n" + . '' . "\n"; + if ($GLOBALS['cfgRelation']['menuswork']) { + $html_output .= '' . "\n"; + } + $html_output .= '' . "\n" + . '' . "\n" + . '' . "\n" + . '' . "\n"; + + $html_output .= '' . "\n"; + $html_output .= self::getHtmlTableBodyForUserRights($db_rights); + $html_output .= '' + . '
    ' . __('User name') . '' . __('Host name') . '' . __('Password') . '' . __('Global privileges') . ' ' + . Util::showHint( + __('Note: MySQL privilege names are expressed in English.') + ) + . '' . __('User group') . '' . __('Grant') . '' + . __('Action') . '
    ' . "\n"; + + $html_output .= '
    ' + . Template::get('select_all') + ->render( + array( + 'pma_theme_image' => $pmaThemeImage, + 'text_dir' => $text_dir, + 'form_name' => 'usersForm', + ) + ) . "\n"; + $html_output .= Util::getButtonOrImage( + 'submit_mult', 'mult_submit', + __('Export'), 'b_tblexport', 'export' + ); + $html_output .= ''; + $html_output .= '
    ' + . '
    '; + + // add/delete user fieldset + $html_output .= self::getFieldsetForAddDeleteUser(); + $html_output .= '
    ' . "\n"; + + return $html_output; + } + + /** + * Get table body for 'tableuserrights' table in userform + * + * @param array $db_rights user's database rights array + * + * @return string HTML snippet + */ + public static function getHtmlTableBodyForUserRights(array $db_rights) + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + if ($cfgRelation['menuswork']) { + $users_table = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['users']); + $sql_query = 'SELECT * FROM ' . $users_table; + $result = $relation->queryAsControlUser($sql_query, false); + $group_assignment = array(); + if ($result) { + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + $group_assignment[$row['username']] = $row['usergroup']; + } + } + $GLOBALS['dbi']->freeResult($result); + + $user_group_count = self::getUserGroupCount(); + } + + $index_checkbox = 0; + $html_output = ''; + foreach ($db_rights as $user) { + ksort($user); + foreach ($user as $host) { + $index_checkbox++; + $html_output .= '' + . "\n"; + $html_output .= '' + . '' . "\n"; + + $html_output .= '' . "\n" + . '' . htmlspecialchars($host['Host']) . '' . "\n"; + + $html_output .= ''; + + $password_column = 'Password'; + + $check_plugin_query = "SELECT * FROM `mysql`.`user` WHERE " + . "`User` = '" . $host['User'] . "' AND `Host` = '" + . $host['Host'] . "'"; + $res = $GLOBALS['dbi']->fetchSingleRow($check_plugin_query); + + if ((isset($res['authentication_string']) + && ! empty($res['authentication_string'])) + || (isset($res['Password']) + && ! empty($res['Password'])) + ) { + $host[$password_column] = 'Y'; + } else { + $host[$password_column] = 'N'; + } + + switch ($host[$password_column]) { + case 'Y': + $html_output .= __('Yes'); + break; + case 'N': + $html_output .= '' . __('No') + . ''; + break; + // this happens if this is a definition not coming from mysql.user + default: + $html_output .= '--'; // in future version, replace by "not present" + break; + } // end switch + + if (! isset($host['Select_priv'])) { + $html_output .= Util::showHint( + __('The selected user was not found in the privilege table.') + ); + } + + $html_output .= '' . "\n"; + + $html_output .= '' . "\n" + . '' . implode(',' . "\n" . ' ', $host['privs']) . "\n" + . '' . "\n"; + if ($cfgRelation['menuswork']) { + $html_output .= '' . "\n" + . (isset($group_assignment[$host['User']]) + ? htmlspecialchars($group_assignment[$host['User']]) + : '' + ) + . '' . "\n"; + } + $html_output .= '' + . ($host['Grant_priv'] == 'Y' ? __('Yes') : __('No')) + . '' . "\n"; + + if ($GLOBALS['is_grantuser']) { + $html_output .= '' + . self::getUserLink( + 'edit', + $host['User'], + $host['Host'] + ) + . ''; + } + if ($cfgRelation['menuswork'] && $user_group_count > 0) { + if (empty($host['User'])) { + $html_output .= ''; + } else { + $html_output .= '' + . self::getUserGroupEditLink($host['User']) + . ''; + } + } + $html_output .= '' + . self::getUserLink( + 'export', + $host['User'], + $host['Host'], + '', + '', + '', + isset($_GET['initial']) ? $_GET['initial'] : '' + ) + . ''; + $html_output .= ''; + } + } + return $html_output; + } + + /** + * Get HTML fieldset for Add/Delete user + * + * @return string HTML snippet + */ + public static function getFieldsetForAddDeleteUser() + { + $html_output = self::getAddUserHtmlFieldset(); + + $html_output .= Template::get('privileges/delete_user_fieldset') + ->render(array()); + + return $html_output; + } + + /** + * Get HTML for Displays the initials + * + * @param array $array_initials array for all initials, even non A-Z + * + * @return string HTML snippet + */ + public static function getHtmlForInitials(array $array_initials) + { + // initialize to false the letters A-Z + for ($letter_counter = 1; $letter_counter < 27; $letter_counter++) { + if (! isset($array_initials[mb_chr($letter_counter + 64)])) { + $array_initials[mb_chr($letter_counter + 64)] = false; + } + } + + $initials = $GLOBALS['dbi']->tryQuery( + 'SELECT DISTINCT UPPER(LEFT(`User`,1)) FROM `user`' + . ' ORDER BY UPPER(LEFT(`User`,1)) ASC', + DatabaseInterface::CONNECT_USER, + DatabaseInterface::QUERY_STORE + ); + if ($initials) { + while (list($tmp_initial) = $GLOBALS['dbi']->fetchRow($initials)) { + $array_initials[$tmp_initial] = true; + } + } + + // Display the initials, which can be any characters, not + // just letters. For letters A-Z, we add the non-used letters + // as greyed out. + + uksort($array_initials, "strnatcasecmp"); + + $html_output = Template::get('privileges/initials_row') + ->render( + array( + 'array_initials' => $array_initials, + 'initial' => isset($_REQUEST['initial']) ? $_REQUEST['initial'] : null, + ) + ); + + return $html_output; + } + + /** + * Get the database rights array for Display user overview + * + * @return array $db_rights database rights array + */ + public static function getDbRightsForUserOverview() + { + // we also want users not in table `user` but in other table + $tables = $GLOBALS['dbi']->fetchResult('SHOW TABLES FROM `mysql`;'); + + $tablesSearchForUsers = array( + 'user', 'db', 'tables_priv', 'columns_priv', 'procs_priv', + ); + + $db_rights_sqls = array(); + foreach ($tablesSearchForUsers as $table_search_in) { + if (in_array($table_search_in, $tables)) { + $db_rights_sqls[] = 'SELECT DISTINCT `User`, `Host` FROM `mysql`.`' + . $table_search_in . '` ' + . (isset($_GET['initial']) + ? self::rangeOfUsers($_GET['initial']) + : ''); + } + } + $user_defaults = array( + 'User' => '', + 'Host' => '%', + 'Password' => '?', + 'Grant_priv' => 'N', + 'privs' => array('USAGE'), + ); + + // for the rights + $db_rights = array(); + + $db_rights_sql = '(' . implode(') UNION (', $db_rights_sqls) . ')' + . ' ORDER BY `User` ASC, `Host` ASC'; + + $db_rights_result = $GLOBALS['dbi']->query($db_rights_sql); + + while ($db_rights_row = $GLOBALS['dbi']->fetchAssoc($db_rights_result)) { + $db_rights_row = array_merge($user_defaults, $db_rights_row); + $db_rights[$db_rights_row['User']][$db_rights_row['Host']] + = $db_rights_row; + } + $GLOBALS['dbi']->freeResult($db_rights_result); + ksort($db_rights); + + return $db_rights; + } + + /** + * Delete user and get message and sql query for delete user in privileges + * + * @param array $queries queries + * + * @return array Message + */ + public static function deleteUser(array $queries) + { + $sql_query = ''; + if (empty($queries)) { + $message = Message::error(__('No users selected for deleting!')); + } else { + if ($_REQUEST['mode'] == 3) { + $queries[] = '# ' . __('Reloading the privileges') . ' …'; + $queries[] = 'FLUSH PRIVILEGES;'; + } + $drop_user_error = ''; + foreach ($queries as $sql_query) { + if ($sql_query{0} != '#') { + if (! $GLOBALS['dbi']->tryQuery($sql_query)) { + $drop_user_error .= $GLOBALS['dbi']->getError() . "\n"; + } + } + } + // tracking sets this, causing the deleted db to be shown in navi + unset($GLOBALS['db']); + + $sql_query = join("\n", $queries); + if (! empty($drop_user_error)) { + $message = Message::rawError($drop_user_error); + } else { + $message = Message::success( + __('The selected users have been deleted successfully.') + ); + } + } + return array($sql_query, $message); + } + + /** + * Update the privileges and return the success or error message + * + * @param string $username username + * @param string $hostname host name + * @param string $tablename table name + * @param string $dbname database name + * @param string $itemType item type + * + * @return Message success message or error message for update + */ + public static function updatePrivileges($username, $hostname, $tablename, $dbname, $itemType) + { + $db_and_table = self::wildcardEscapeForGrant($dbname, $tablename); + + $sql_query0 = 'REVOKE ALL PRIVILEGES ON ' . $itemType . ' ' . $db_and_table + . ' FROM \'' . $GLOBALS['dbi']->escapeString($username) + . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\';'; + + if (! isset($_POST['Grant_priv']) || $_POST['Grant_priv'] != 'Y') { + $sql_query1 = 'REVOKE GRANT OPTION ON ' . $itemType . ' ' . $db_and_table + . ' FROM \'' . $GLOBALS['dbi']->escapeString($username) . '\'@\'' + . $GLOBALS['dbi']->escapeString($hostname) . '\';'; + } else { + $sql_query1 = ''; + } + + // Should not do a GRANT USAGE for a table-specific privilege, it + // causes problems later (cannot revoke it) + if (! (strlen($tablename) > 0 + && 'USAGE' == implode('', self::extractPrivInfo())) + ) { + $sql_query2 = 'GRANT ' . join(', ', self::extractPrivInfo()) + . ' ON ' . $itemType . ' ' . $db_and_table + . ' TO \'' . $GLOBALS['dbi']->escapeString($username) . '\'@\'' + . $GLOBALS['dbi']->escapeString($hostname) . '\''; + + if (strlen($dbname) === 0) { + // add REQUIRE clause + $sql_query2 .= self::getRequireClause(); + } + + if ((isset($_POST['Grant_priv']) && $_POST['Grant_priv'] == 'Y') + || (strlen($dbname) === 0 + && (isset($_POST['max_questions']) || isset($_POST['max_connections']) + || isset($_POST['max_updates']) + || isset($_POST['max_user_connections']))) + ) { + $sql_query2 .= self::getWithClauseForAddUserAndUpdatePrivs(); + } + $sql_query2 .= ';'; + } + if (! $GLOBALS['dbi']->tryQuery($sql_query0)) { + // This might fail when the executing user does not have + // ALL PRIVILEGES himself. + // See https://github.com/phpmyadmin/phpmyadmin/issues/9673 + $sql_query0 = ''; + } + if (! empty($sql_query1) && ! $GLOBALS['dbi']->tryQuery($sql_query1)) { + // this one may fail, too... + $sql_query1 = ''; + } + if (! empty($sql_query2)) { + $GLOBALS['dbi']->query($sql_query2); + } else { + $sql_query2 = ''; + } + $sql_query = $sql_query0 . ' ' . $sql_query1 . ' ' . $sql_query2; + $message = Message::success(__('You have updated the privileges for %s.')); + $message->addParam('\'' . $username . '\'@\'' . $hostname . '\''); + + return array($sql_query, $message); + } + + /** + * Get List of information: Changes / copies a user + * + * @return array + */ + public static function getDataForChangeOrCopyUser() + { + $queries = null; + $password = null; + + if (isset($_REQUEST['change_copy'])) { + $user_host_condition = ' WHERE `User` = ' + . "'" . $GLOBALS['dbi']->escapeString($_REQUEST['old_username']) . "'" + . ' AND `Host` = ' + . "'" . $GLOBALS['dbi']->escapeString($_REQUEST['old_hostname']) . "';"; + $row = $GLOBALS['dbi']->fetchSingleRow( + 'SELECT * FROM `mysql`.`user` ' . $user_host_condition + ); + if (! $row) { + $response = Response::getInstance(); + $response->addHTML( + Message::notice(__('No user found.'))->getDisplay() + ); + unset($_REQUEST['change_copy']); + } else { + extract($row, EXTR_OVERWRITE); + foreach ($row as $key => $value) { + $GLOBALS[$key] = $value; + } + $serverVersion = $GLOBALS['dbi']->getVersion(); + // Recent MySQL versions have the field "Password" in mysql.user, + // so the previous extract creates $Password but this script + // uses $password + if (! isset($password) && isset($Password)) { + $password = $Password; + } + if (Util::getServerType() == 'MySQL' + && $serverVersion >= 50606 + && $serverVersion < 50706 + && ((isset($authentication_string) + && empty($password)) + || (isset($plugin) + && $plugin == 'sha256_password')) + ) { + $password = $authentication_string; + } + + if (Util::getServerType() == 'MariaDB' + && $serverVersion >= 50500 + && isset($authentication_string) + && empty($password) + ) { + $password = $authentication_string; + } + + // Always use 'authentication_string' column + // for MySQL 5.7.6+ since it does not have + // the 'password' column at all + if (Util::getServerType() == 'MySQL' + && $serverVersion >= 50706 + && isset($authentication_string) + ) { + $password = $authentication_string; + } + + $queries = array(); + } + } + + return array($queries, $password); + } + + /** + * Update Data for information: Deletes users + * + * @param array $queries queries array + * + * @return array + */ + public static function getDataForDeleteUsers($queries) + { + if (isset($_REQUEST['change_copy'])) { + $selected_usr = array( + $_REQUEST['old_username'] . '&#27;' . $_REQUEST['old_hostname'] + ); + } else { + $selected_usr = $_REQUEST['selected_usr']; + $queries = array(); + } + + // this happens, was seen in https://reports.phpmyadmin.net/reports/view/17146 + if (! is_array($selected_usr)) { + return array(); + } + + foreach ($selected_usr as $each_user) { + list($this_user, $this_host) = explode('&#27;', $each_user); + $queries[] = '# ' + . sprintf( + __('Deleting %s'), + '\'' . $this_user . '\'@\'' . $this_host . '\'' + ) + . ' ...'; + $queries[] = 'DROP USER \'' + . $GLOBALS['dbi']->escapeString($this_user) + . '\'@\'' . $GLOBALS['dbi']->escapeString($this_host) . '\';'; + RelationCleanup::user($this_user); + + if (isset($_REQUEST['drop_users_db'])) { + $queries[] = 'DROP DATABASE IF EXISTS ' + . Util::backquote($this_user) . ';'; + $GLOBALS['reload'] = true; + } + } + return $queries; + } + + /** + * update Message For Reload + * + * @return array + */ + public static function updateMessageForReload() + { + $message = null; + if (isset($_REQUEST['flush_privileges'])) { + $sql_query = 'FLUSH PRIVILEGES;'; + $GLOBALS['dbi']->query($sql_query); + $message = Message::success( + __('The privileges were reloaded successfully.') + ); + } + + if (isset($_REQUEST['validate_username'])) { + $message = Message::success(); + } + + return $message; + } + + /** + * update Data For Queries from queries_for_display + * + * @param array $queries queries array + * @param array|null $queries_for_display queries array for display + * + * @return null + */ + public static function getDataForQueries(array $queries, $queries_for_display) + { + $tmp_count = 0; + foreach ($queries as $sql_query) { + if ($sql_query{0} != '#') { + $GLOBALS['dbi']->query($sql_query); + } + // when there is a query containing a hidden password, take it + // instead of the real query sent + if (isset($queries_for_display[$tmp_count])) { + $queries[$tmp_count] = $queries_for_display[$tmp_count]; + } + $tmp_count++; + } + + return $queries; + } + + /** + * update Data for information: Adds a user + * + * @param string $dbname db name + * @param string $username user name + * @param string $hostname host name + * @param string $password password + * @param bool $is_menuwork is_menuwork set? + * + * @return array + */ + public static function addUser( + $dbname, $username, $hostname, + $password, $is_menuwork + ) { + $_add_user_error = false; + $message = null; + $queries = null; + $queries_for_display = null; + $sql_query = null; + + if (!isset($_REQUEST['adduser_submit']) && !isset($_REQUEST['change_copy'])) { + return array( + $message, $queries, $queries_for_display, $sql_query, $_add_user_error + ); + } + + $sql_query = ''; + if ($_POST['pred_username'] == 'any') { + $username = ''; + } + switch ($_POST['pred_hostname']) { + case 'any': + $hostname = '%'; + break; + case 'localhost': + $hostname = 'localhost'; + break; + case 'hosttable': + $hostname = ''; + break; + case 'thishost': + $_user_name = $GLOBALS['dbi']->fetchValue('SELECT USER()'); + $hostname = mb_substr( + $_user_name, + (mb_strrpos($_user_name, '@') + 1) + ); + unset($_user_name); + break; + } + $sql = "SELECT '1' FROM `mysql`.`user`" + . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" + . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "';"; + if ($GLOBALS['dbi']->fetchValue($sql) == 1) { + $message = Message::error(__('The user %s already exists!')); + $message->addParam('[em]\'' . $username . '\'@\'' . $hostname . '\'[/em]'); + $_REQUEST['adduser'] = true; + $_add_user_error = true; + + return array( + $message, + $queries, + $queries_for_display, + $sql_query, + $_add_user_error + ); + } + + list( + $create_user_real, $create_user_show, $real_sql_query, $sql_query, + $password_set_real, $password_set_show + ) = self::getSqlQueriesForDisplayAndAddUser( + $username, $hostname, (isset($password) ? $password : '') + ); + + if (empty($_REQUEST['change_copy'])) { + $_error = false; + + if (isset($create_user_real)) { + if (!$GLOBALS['dbi']->tryQuery($create_user_real)) { + $_error = true; + } + if (isset($password_set_real) && !empty($password_set_real) + && isset($_REQUEST['authentication_plugin']) + ) { + self::setProperPasswordHashing( + $_REQUEST['authentication_plugin'] + ); + if ($GLOBALS['dbi']->tryQuery($password_set_real)) { + $sql_query .= $password_set_show; + } + } + $sql_query = $create_user_show . $sql_query; + } + + list($sql_query, $message) = self::addUserAndCreateDatabase( + $_error, + $real_sql_query, + $sql_query, + $username, + $hostname, + isset($dbname) ? $dbname : null + ); + if (!empty($_REQUEST['userGroup']) && $is_menuwork) { + self::setUserGroup($GLOBALS['username'], $_REQUEST['userGroup']); + } + + return array( + $message, + $queries, + $queries_for_display, + $sql_query, + $_add_user_error + ); + } + + // Copy the user group while copying a user + $old_usergroup = + isset($_REQUEST['old_usergroup']) ? $_REQUEST['old_usergroup'] : null; + self::setUserGroup($_REQUEST['username'], $old_usergroup); + + if (isset($create_user_real)) { + $queries[] = $create_user_real; + } + $queries[] = $real_sql_query; + + if (isset($password_set_real) && ! empty($password_set_real) + && isset($_REQUEST['authentication_plugin']) + ) { + self::setProperPasswordHashing( + $_REQUEST['authentication_plugin'] + ); + + $queries[] = $password_set_real; + } + // we put the query containing the hidden password in + // $queries_for_display, at the same position occupied + // by the real query in $queries + $tmp_count = count($queries); + if (isset($create_user_real)) { + $queries_for_display[$tmp_count - 2] = $create_user_show; + } + if (isset($password_set_real) && ! empty($password_set_real)) { + $queries_for_display[$tmp_count - 3] = $create_user_show; + $queries_for_display[$tmp_count - 2] = $sql_query; + $queries_for_display[$tmp_count - 1] = $password_set_show; + } else { + $queries_for_display[$tmp_count - 1] = $sql_query; + } + + return array( + $message, $queries, $queries_for_display, $sql_query, $_add_user_error + ); + } + + /** + * Sets proper value of `old_passwords` according to + * the authentication plugin selected + * + * @param string $auth_plugin authentication plugin selected + * + * @return void + */ + public static function setProperPasswordHashing($auth_plugin) + { + // Set the hashing method used by PASSWORD() + // to be of type depending upon $authentication_plugin + if ($auth_plugin == 'sha256_password') { + $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 2'); + } elseif ($auth_plugin == 'mysql_old_password') { + $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 1'); + } else { + $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 0'); + } + } + + /** + * Update DB information: DB, Table, isWildcard + * + * @return array + */ + public static function getDataForDBInfo() + { + $username = null; + $hostname = null; + $dbname = null; + $tablename = null; + $routinename = null; + $dbname_is_wildcard = null; + + if (isset($_REQUEST['username'])) { + $username = $_REQUEST['username']; + } + if (isset($_REQUEST['hostname'])) { + $hostname = $_REQUEST['hostname']; + } + /** + * Checks if a dropdown box has been used for selecting a database / table + */ + if (Core::isValid($_REQUEST['pred_tablename'])) { + $tablename = $_REQUEST['pred_tablename']; + } elseif (Core::isValid($_REQUEST['tablename'])) { + $tablename = $_REQUEST['tablename']; + } else { + unset($tablename); + } + + if (Core::isValid($_REQUEST['pred_routinename'])) { + $routinename = $_REQUEST['pred_routinename']; + } elseif (Core::isValid($_REQUEST['routinename'])) { + $routinename = $_REQUEST['routinename']; + } else { + unset($routinename); + } + + if (isset($_REQUEST['pred_dbname'])) { + $is_valid_pred_dbname = true; + foreach ($_REQUEST['pred_dbname'] as $key => $db_name) { + if (! Core::isValid($db_name)) { + $is_valid_pred_dbname = false; + break; + } + } + } + + if (isset($_REQUEST['dbname'])) { + $is_valid_dbname = true; + if (is_array($_REQUEST['dbname'])) { + foreach ($_REQUEST['dbname'] as $key => $db_name) { + if (! Core::isValid($db_name)) { + $is_valid_dbname = false; + break; + } + } + } else { + if (! Core::isValid($_REQUEST['dbname'])) { + $is_valid_dbname = false; + } + } + } + + if (isset($is_valid_pred_dbname) && $is_valid_pred_dbname) { + $dbname = $_REQUEST['pred_dbname']; + // If dbname contains only one database. + if (count($dbname) == 1) { + $dbname = $dbname[0]; + } + } elseif (isset($is_valid_dbname) && $is_valid_dbname) { + $dbname = $_REQUEST['dbname']; + } else { + unset($dbname); + unset($tablename); + } + + if (isset($dbname)) { + if (is_array($dbname)) { + $db_and_table = $dbname; + foreach ($db_and_table as $key => $db_name) { + $db_and_table[$key] .= '.'; + } + } else { + $unescaped_db = Util::unescapeMysqlWildcards($dbname); + $db_and_table = Util::backquote($unescaped_db) . '.'; + } + if (isset($tablename)) { + $db_and_table .= Util::backquote($tablename); + } else { + if (is_array($db_and_table)) { + foreach ($db_and_table as $key => $db_name) { + $db_and_table[$key] .= '*'; + } + } else { + $db_and_table .= '*'; + } + } + } else { + $db_and_table = '*.*'; + } + + // check if given $dbname is a wildcard or not + if (isset($dbname)) { + //if (preg_match('/\\\\(?:_|%)/i', $dbname)) { + if (! is_array($dbname) && preg_match('/(?'; + + if (isset($_REQUEST['selected_usr'])) { + // export privileges for selected users + $title = __('Privileges'); + + //For removing duplicate entries of users + $_REQUEST['selected_usr'] = array_unique($_REQUEST['selected_usr']); + + foreach ($_REQUEST['selected_usr'] as $export_user) { + $export_username = mb_substr( + $export_user, 0, mb_strpos($export_user, '&') + ); + $export_hostname = mb_substr( + $export_user, mb_strrpos($export_user, ';') + 1 + ); + $export .= '# ' + . sprintf( + __('Privileges for %s'), + '`' . htmlspecialchars($export_username) + . '`@`' . htmlspecialchars($export_hostname) . '`' + ) + . "\n\n"; + $export .= self::getGrants($export_username, $export_hostname) . "\n"; + } + } else { + // export privileges for a single user + $title = __('User') . ' `' . htmlspecialchars($username) + . '`@`' . htmlspecialchars($hostname) . '`'; + $export .= self::getGrants($username, $hostname); + } + // remove trailing whitespace + $export = trim($export); + + $export .= ''; + + return array($title, $export); + } + + /** + * Get HTML for display Add userfieldset + * + * @param string $db the database + * @param string $table the table name + * + * @return string html output + */ + public static function getAddUserHtmlFieldset($db = '', $table = '') + { + if (!$GLOBALS['is_createuser']) { + return ''; + } + $rel_params = array(); + $url_params = array( + 'adduser' => 1 + ); + if (!empty($db)) { + $url_params['dbname'] + = $rel_params['checkprivsdb'] + = $db; + } + if (!empty($table)) { + $url_params['tablename'] + = $rel_params['checkprivstable'] + = $table; + } + + return Template::get('privileges/add_user_fieldset') + ->render( + array( + 'url_params' => $url_params, + 'rel_params' => $rel_params + ) + ); + } + + /** + * Get HTML header for display User's properties + * + * @param boolean $dbname_is_wildcard whether database name is wildcard or not + * @param string $url_dbname url database name that urlencode() string + * @param string $dbname database name + * @param string $username username + * @param string $hostname host name + * @param string $entity_name entity (table or routine) name + * @param string $entity_type optional, type of entity ('table' or 'routine') + * + * @return string $html_output + */ + public static function getHtmlHeaderForUserProperties( + $dbname_is_wildcard, $url_dbname, $dbname, + $username, $hostname, $entity_name, $entity_type='table' + ) { + $html_output = '

    ' . "\n" + . Util::getIcon('b_usredit') + . __('Edit privileges:') . ' ' + . __('User account'); + + if (! empty($dbname)) { + $html_output .= ' \'' . htmlspecialchars($username) + . '\'@\'' . htmlspecialchars($hostname) + . '\'' . "\n"; + + $html_output .= ' - '; + $html_output .= ($dbname_is_wildcard + || is_array($dbname) && count($dbname) > 1) + ? __('Databases') : __('Database'); + if (! empty($entity_name) && $entity_type === 'table') { + $html_output .= ' ' . htmlspecialchars($dbname) + . ''; + + $html_output .= ' - ' . __('Table') + . ' ' . htmlspecialchars($entity_name) . ''; + } elseif (! empty($entity_name)) { + $html_output .= ' ' . htmlspecialchars($dbname) + . ''; + + $html_output .= ' - ' . __('Routine') + . ' ' . htmlspecialchars($entity_name) . ''; + } else { + if (! is_array($dbname)) { + $dbname = array($dbname); + } + $html_output .= ' ' + . htmlspecialchars(implode(', ', $dbname)) + . ''; + } + + } else { + $html_output .= ' \'' . htmlspecialchars($username) + . '\'@\'' . htmlspecialchars($hostname) + . '\'' . "\n"; + + } + $html_output .= '

    ' . "\n"; + $cur_user = $GLOBALS['dbi']->getCurrentUser(); + $user = $username . '@' . $hostname; + // Add a short notice for the user + // to remind him that he is editing his own privileges + if ($user === $cur_user) { + $html_output .= Message::notice( + __( + 'Note: You are attempting to edit privileges of the ' + . 'user with which you are currently logged in.' + ) + )->getDisplay(); + } + return $html_output; + } + + /** + * Get HTML snippet for display user overview page + * + * @param string $pmaThemeImage a image source link + * @param string $text_dir text directory + * + * @return string $html_output + */ + public static function getHtmlForUserOverview($pmaThemeImage, $text_dir) + { + $html_output = '

    ' . "\n" + . Util::getIcon('b_usrlist') + . __('User accounts overview') . "\n" + . '

    ' . "\n"; + + $password_column = 'Password'; + $server_type = Util::getServerType(); + $serverVersion = $GLOBALS['dbi']->getVersion(); + if (($server_type == 'MySQL' || $server_type == 'Percona Server') + && $serverVersion >= 50706 + ) { + $password_column = 'authentication_string'; + } + // $sql_query is for the initial-filtered, + // $sql_query_all is for counting the total no. of users + + $sql_query = $sql_query_all = 'SELECT *,' . + " IF(`" . $password_column . "` = _latin1 '', 'N', 'Y') AS 'Password'" . + ' FROM `mysql`.`user`'; + + $sql_query .= (isset($_REQUEST['initial']) + ? self::rangeOfUsers($_REQUEST['initial']) + : ''); + + $sql_query .= ' ORDER BY `User` ASC, `Host` ASC;'; + $sql_query_all .= ' ;'; + + $res = $GLOBALS['dbi']->tryQuery( + $sql_query, + DatabaseInterface::CONNECT_USER, + DatabaseInterface::QUERY_STORE + ); + $res_all = $GLOBALS['dbi']->tryQuery( + $sql_query_all, + DatabaseInterface::CONNECT_USER, + DatabaseInterface::QUERY_STORE + ); + + if (! $res) { + // the query failed! This may have two reasons: + // - the user does not have enough privileges + // - the privilege tables use a structure of an earlier version. + // so let's try a more simple query + + $GLOBALS['dbi']->freeResult($res); + $GLOBALS['dbi']->freeResult($res_all); + $sql_query = 'SELECT * FROM `mysql`.`user`'; + $res = $GLOBALS['dbi']->tryQuery( + $sql_query, + DatabaseInterface::CONNECT_USER, + DatabaseInterface::QUERY_STORE + ); + + if (! $res) { + $html_output .= self::getHtmlForViewUsersError(); + $html_output .= self::getAddUserHtmlFieldset(); + } else { + // This message is hardcoded because I will replace it by + // a automatic repair feature soon. + $raw = 'Your privilege table structure seems to be older than' + . ' this MySQL version!
    ' + . 'Please run the mysql_upgrade command' + . ' that should be included in your MySQL server distribution' + . ' to solve this problem!'; + $html_output .= Message::rawError($raw)->getDisplay(); + } + $GLOBALS['dbi']->freeResult($res); + } else { + $db_rights = self::getDbRightsForUserOverview(); + // for all initials, even non A-Z + $array_initials = array(); + + foreach ($db_rights as $right) { + foreach ($right as $account) { + if (empty($account['User']) && $account['Host'] == 'localhost') { + $html_output .= Message::notice( + __( + 'A user account allowing any user from localhost to ' + . 'connect is present. This will prevent other users ' + . 'from connecting if the host part of their account ' + . 'allows a connection from any (%) host.' + ) + . Util::showMySQLDocu('problems-connecting') + )->getDisplay(); + break 2; + } + } + } + + /** + * Displays the initials + * Also not necessary if there is less than 20 privileges + */ + if ($GLOBALS['dbi']->numRows($res_all) > 20) { + $html_output .= self::getHtmlForInitials($array_initials); + } + + /** + * Display the user overview + * (if less than 50 users, display them immediately) + */ + if (isset($_REQUEST['initial']) + || isset($_REQUEST['showall']) + || $GLOBALS['dbi']->numRows($res) < 50 + ) { + $html_output .= self::getUsersOverview( + $res, $db_rights, $pmaThemeImage, $text_dir + ); + } else { + $html_output .= self::getAddUserHtmlFieldset(); + } // end if (display overview) + + $response = Response::getInstance(); + if (! $response->isAjax() + || ! empty($_REQUEST['ajax_page_request']) + ) { + if ($GLOBALS['is_reload_priv']) { + $flushnote = new Message( + __( + 'Note: phpMyAdmin gets the users’ privileges directly ' + . 'from MySQL’s privilege tables. The content of these ' + . 'tables may differ from the privileges the server uses, ' + . 'if they have been changed manually. In this case, ' + . 'you should %sreload the privileges%s before you continue.' + ), + Message::NOTICE + ); + $flushnote->addParamHtml( + '' + ); + $flushnote->addParamHtml(''); + } else { + $flushnote = new Message( + __( + 'Note: phpMyAdmin gets the users’ privileges directly ' + . 'from MySQL’s privilege tables. The content of these ' + . 'tables may differ from the privileges the server uses, ' + . 'if they have been changed manually. In this case, ' + . 'the privileges have to be reloaded but currently, you ' + . 'don\'t have the RELOAD privilege.' + ) + . Util::showMySQLDocu( + 'privileges-provided', + false, + 'priv_reload' + ), + Message::NOTICE + ); + } + $html_output .= $flushnote->getDisplay(); + } + } + + return $html_output; + } + + /** + * Get HTML snippet for display user properties + * + * @param boolean $dbname_is_wildcard whether database name is wildcard or not + * @param string $url_dbname url database name that urlencode() string + * @param string $username username + * @param string $hostname host name + * @param string $dbname database name + * @param string $tablename table name + * + * @return string $html_output + */ + public static function getHtmlForUserProperties($dbname_is_wildcard, $url_dbname, + $username, $hostname, $dbname, $tablename + ) { + $html_output = '
    '; + $html_output .= self::getHtmlHeaderForUserProperties( + $dbname_is_wildcard, $url_dbname, $dbname, $username, $hostname, + $tablename, 'table' + ); + + $sql = "SELECT '1' FROM `mysql`.`user`" + . " WHERE `User` = '" . $GLOBALS['dbi']->escapeString($username) . "'" + . " AND `Host` = '" . $GLOBALS['dbi']->escapeString($hostname) . "';"; + + $user_does_not_exists = (bool) ! $GLOBALS['dbi']->fetchValue($sql); + + if ($user_does_not_exists) { + $html_output .= Message::error( + __('The selected user was not found in the privilege table.') + )->getDisplay(); + $html_output .= self::getHtmlForLoginInformationFields(); + } + + $_params = array( + 'username' => $username, + 'hostname' => $hostname, + ); + if (! is_array($dbname) && strlen($dbname) > 0) { + $_params['dbname'] = $dbname; + if (strlen($tablename) > 0) { + $_params['tablename'] = $tablename; + } + } else { + $_params['dbname'] = $dbname; + } + + $html_output .= '' . "\n"; + + if (! is_array($dbname) && strlen($tablename) === 0 + && empty($dbname_is_wildcard) + ) { + // no table name was given, display all table specific rights + // but only if $dbname contains no wildcards + if (strlen($dbname) === 0) { + $html_output .= self::getHtmlForAllTableSpecificRights( + $username, $hostname, 'database' + ); + } else { + // unescape wildcards in dbname at table level + $unescaped_db = Util::unescapeMysqlWildcards($dbname); + + $html_output .= self::getHtmlForAllTableSpecificRights( + $username, $hostname, 'table', $unescaped_db + ); + $html_output .= self::getHtmlForAllTableSpecificRights( + $username, $hostname, 'routine', $unescaped_db + ); + } + } + + // Provide a line with links to the relevant database and table + if (! is_array($dbname) && strlen($dbname) > 0 && empty($dbname_is_wildcard)) { + $html_output .= self::getLinkToDbAndTable($url_dbname, $dbname, $tablename); + + } + + if (! is_array($dbname) && strlen($dbname) === 0 && ! $user_does_not_exists) { + //change login information + $html_output .= ChangePassword::getHtml( + 'edit_other', + $username, + $hostname + ); + $html_output .= self::getChangeLoginInformationHtmlForm($username, $hostname); + } + $html_output .= '
    '; + + return $html_output; + } + + /** + * Get queries for Table privileges to change or copy user + * + * @param string $user_host_condition user host condition to + * select relevant table privileges + * @param array $queries queries array + * @param string $username username + * @param string $hostname host name + * + * @return array $queries + */ + public static function getTablePrivsQueriesForChangeOrCopyUser($user_host_condition, + array $queries, $username, $hostname + ) { + $res = $GLOBALS['dbi']->query( + 'SELECT `Db`, `Table_name`, `Table_priv` FROM `mysql`.`tables_priv`' + . $user_host_condition, + DatabaseInterface::CONNECT_USER, + DatabaseInterface::QUERY_STORE + ); + while ($row = $GLOBALS['dbi']->fetchAssoc($res)) { + + $res2 = $GLOBALS['dbi']->query( + 'SELECT `Column_name`, `Column_priv`' + . ' FROM `mysql`.`columns_priv`' + . ' WHERE `User`' + . ' = \'' . $GLOBALS['dbi']->escapeString($_REQUEST['old_username']) . "'" + . ' AND `Host`' + . ' = \'' . $GLOBALS['dbi']->escapeString($_REQUEST['old_username']) . '\'' + . ' AND `Db`' + . ' = \'' . $GLOBALS['dbi']->escapeString($row['Db']) . "'" + . ' AND `Table_name`' + . ' = \'' . $GLOBALS['dbi']->escapeString($row['Table_name']) . "'" + . ';', + DatabaseInterface::CONNECT_USER, + DatabaseInterface::QUERY_STORE + ); + + $tmp_privs1 = self::extractPrivInfo($row); + $tmp_privs2 = array( + 'Select' => array(), + 'Insert' => array(), + 'Update' => array(), + 'References' => array() + ); + + while ($row2 = $GLOBALS['dbi']->fetchAssoc($res2)) { + $tmp_array = explode(',', $row2['Column_priv']); + if (in_array('Select', $tmp_array)) { + $tmp_privs2['Select'][] = $row2['Column_name']; + } + if (in_array('Insert', $tmp_array)) { + $tmp_privs2['Insert'][] = $row2['Column_name']; + } + if (in_array('Update', $tmp_array)) { + $tmp_privs2['Update'][] = $row2['Column_name']; + } + if (in_array('References', $tmp_array)) { + $tmp_privs2['References'][] = $row2['Column_name']; + } + } + if (count($tmp_privs2['Select']) > 0 && ! in_array('SELECT', $tmp_privs1)) { + $tmp_privs1[] = 'SELECT (`' . join('`, `', $tmp_privs2['Select']) . '`)'; + } + if (count($tmp_privs2['Insert']) > 0 && ! in_array('INSERT', $tmp_privs1)) { + $tmp_privs1[] = 'INSERT (`' . join('`, `', $tmp_privs2['Insert']) . '`)'; + } + if (count($tmp_privs2['Update']) > 0 && ! in_array('UPDATE', $tmp_privs1)) { + $tmp_privs1[] = 'UPDATE (`' . join('`, `', $tmp_privs2['Update']) . '`)'; + } + if (count($tmp_privs2['References']) > 0 + && ! in_array('REFERENCES', $tmp_privs1) + ) { + $tmp_privs1[] + = 'REFERENCES (`' . join('`, `', $tmp_privs2['References']) . '`)'; + } + + $queries[] = 'GRANT ' . join(', ', $tmp_privs1) + . ' ON ' . Util::backquote($row['Db']) . '.' + . Util::backquote($row['Table_name']) + . ' TO \'' . $GLOBALS['dbi']->escapeString($username) + . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\'' + . (in_array('Grant', explode(',', $row['Table_priv'])) + ? ' WITH GRANT OPTION;' + : ';'); + } + return $queries; + } + + /** + * Get queries for database specific privileges for change or copy user + * + * @param array $queries queries array with string + * @param string $username username + * @param string $hostname host name + * + * @return array $queries + */ + public static function getDbSpecificPrivsQueriesForChangeOrCopyUser( + array $queries, $username, $hostname + ) { + $user_host_condition = ' WHERE `User`' + . ' = \'' . $GLOBALS['dbi']->escapeString($_REQUEST['old_username']) . "'" + . ' AND `Host`' + . ' = \'' . $GLOBALS['dbi']->escapeString($_REQUEST['old_hostname']) . '\';'; + + $res = $GLOBALS['dbi']->query( + 'SELECT * FROM `mysql`.`db`' . $user_host_condition + ); + + while ($row = $GLOBALS['dbi']->fetchAssoc($res)) { + $queries[] = 'GRANT ' . join(', ', self::extractPrivInfo($row)) + . ' ON ' . Util::backquote($row['Db']) . '.*' + . ' TO \'' . $GLOBALS['dbi']->escapeString($username) + . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\'' + . ($row['Grant_priv'] == 'Y' ? ' WITH GRANT OPTION;' : ';'); + } + $GLOBALS['dbi']->freeResult($res); + + $queries = self::getTablePrivsQueriesForChangeOrCopyUser( + $user_host_condition, $queries, $username, $hostname + ); + + return $queries; + } + + /** + * Prepares queries for adding users and + * also create database and return query and message + * + * @param boolean $_error whether user create or not + * @param string $real_sql_query SQL query for add a user + * @param string $sql_query SQL query to be displayed + * @param string $username username + * @param string $hostname host name + * @param string $dbname database name + * + * @return array $sql_query, $message + */ + public static function addUserAndCreateDatabase($_error, $real_sql_query, $sql_query, + $username, $hostname, $dbname + ) { + if ($_error || (!empty($real_sql_query) + && !$GLOBALS['dbi']->tryQuery($real_sql_query)) + ) { + $_REQUEST['createdb-1'] = $_REQUEST['createdb-2'] + = $_REQUEST['createdb-3'] = null; + $message = Message::rawError($GLOBALS['dbi']->getError()); + } else { + $message = Message::success(__('You have added a new user.')); + } + + if (isset($_REQUEST['createdb-1'])) { + // Create database with same name and grant all privileges + $q = 'CREATE DATABASE IF NOT EXISTS ' + . Util::backquote( + $GLOBALS['dbi']->escapeString($username) + ) . ';'; + $sql_query .= $q; + if (! $GLOBALS['dbi']->tryQuery($q)) { + $message = Message::rawError($GLOBALS['dbi']->getError()); + } + + /** + * Reload the navigation + */ + $GLOBALS['reload'] = true; + $GLOBALS['db'] = $username; + + $q = 'GRANT ALL PRIVILEGES ON ' + . Util::backquote( + Util::escapeMysqlWildcards( + $GLOBALS['dbi']->escapeString($username) + ) + ) . '.* TO \'' + . $GLOBALS['dbi']->escapeString($username) + . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\';'; + $sql_query .= $q; + if (! $GLOBALS['dbi']->tryQuery($q)) { + $message = Message::rawError($GLOBALS['dbi']->getError()); + } + } + + if (isset($_REQUEST['createdb-2'])) { + // Grant all privileges on wildcard name (username\_%) + $q = 'GRANT ALL PRIVILEGES ON ' + . Util::backquote( + Util::escapeMysqlWildcards( + $GLOBALS['dbi']->escapeString($username) + ) . '\_%' + ) . '.* TO \'' + . $GLOBALS['dbi']->escapeString($username) + . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\';'; + $sql_query .= $q; + if (! $GLOBALS['dbi']->tryQuery($q)) { + $message = Message::rawError($GLOBALS['dbi']->getError()); + } + } + + if (isset($_REQUEST['createdb-3'])) { + // Grant all privileges on the specified database to the new user + $q = 'GRANT ALL PRIVILEGES ON ' + . Util::backquote( + $GLOBALS['dbi']->escapeString($dbname) + ) . '.* TO \'' + . $GLOBALS['dbi']->escapeString($username) + . '\'@\'' . $GLOBALS['dbi']->escapeString($hostname) . '\';'; + $sql_query .= $q; + if (! $GLOBALS['dbi']->tryQuery($q)) { + $message = Message::rawError($GLOBALS['dbi']->getError()); + } + } + return array($sql_query, $message); + } + + /** + * Get the hashed string for password + * + * @param string $password password + * + * @return string $hashedPassword + */ + public static function getHashedPassword($password) + { + $result = $GLOBALS['dbi']->fetchSingleRow( + "SELECT PASSWORD('" . $password . "') AS `password`;" + ); + + $hashedPassword = $result['password']; + + return $hashedPassword; + } + + /** + * Check if MariaDB's 'simple_password_check' + * OR 'cracklib_password_check' is ACTIVE + * + * @return boolean if atleast one of the plugins is ACTIVE + */ + public static function checkIfMariaDBPwdCheckPluginActive() + { + $serverVersion = $GLOBALS['dbi']->getVersion(); + if (!(Util::getServerType() == 'MariaDB' && $serverVersion >= 100002)) { + return false; + } + + $result = $GLOBALS['dbi']->tryQuery( + 'SHOW PLUGINS SONAME LIKE \'%_password_check%\'' + ); + + /* Plugins are not working, for example directory does not exists */ + if ($result === false) { + return false; + } + + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + if ($row['Status'] === 'ACTIVE') { + return true; + } + } + + return false; + } + + + /** + * Get SQL queries for Display and Add user + * + * @param string $username username + * @param string $hostname host name + * @param string $password password + * + * @return array ($create_user_real, $create_user_show,$real_sql_query, $sql_query + * $password_set_real, $password_set_show) + */ + public static function getSqlQueriesForDisplayAndAddUser($username, $hostname, $password) + { + $slashedUsername = $GLOBALS['dbi']->escapeString($username); + $slashedHostname = $GLOBALS['dbi']->escapeString($hostname); + $slashedPassword = $GLOBALS['dbi']->escapeString($password); + $serverType = Util::getServerType(); + $serverVersion = $GLOBALS['dbi']->getVersion(); + + $create_user_stmt = sprintf( + 'CREATE USER \'%s\'@\'%s\'', + $slashedUsername, + $slashedHostname + ); + $isMariaDBPwdPluginActive = self::checkIfMariaDBPwdCheckPluginActive(); + + // See https://github.com/phpmyadmin/phpmyadmin/pull/11560#issuecomment-147158219 + // for details regarding details of syntax usage for various versions + + // 'IDENTIFIED WITH auth_plugin' + // is supported by MySQL 5.5.7+ + if (($serverType == 'MySQL' || $serverType == 'Percona Server') + && $serverVersion >= 50507 + && isset($_REQUEST['authentication_plugin']) + ) { + $create_user_stmt .= ' IDENTIFIED WITH ' + . $_REQUEST['authentication_plugin']; + } + + // 'IDENTIFIED VIA auth_plugin' + // is supported by MariaDB 5.2+ + if ($serverType == 'MariaDB' + && $serverVersion >= 50200 + && isset($_REQUEST['authentication_plugin']) + && ! $isMariaDBPwdPluginActive + ) { + $create_user_stmt .= ' IDENTIFIED VIA ' + . $_REQUEST['authentication_plugin']; + } + + $create_user_real = $create_user_show = $create_user_stmt; + + $password_set_stmt = 'SET PASSWORD FOR \'%s\'@\'%s\' = \'%s\''; + $password_set_show = sprintf( + $password_set_stmt, + $slashedUsername, + $slashedHostname, + '***' + ); + + $sql_query_stmt = sprintf( + 'GRANT %s ON *.* TO \'%s\'@\'%s\'', + join(', ', self::extractPrivInfo()), + $slashedUsername, + $slashedHostname + ); + $real_sql_query = $sql_query = $sql_query_stmt; + + // Set the proper hashing method + if (isset($_REQUEST['authentication_plugin'])) { + self::setProperPasswordHashing( + $_REQUEST['authentication_plugin'] + ); + } + + // Use 'CREATE USER ... WITH ... AS ..' syntax for + // newer MySQL versions + // and 'CREATE USER ... VIA .. USING ..' syntax for + // newer MariaDB versions + if ((($serverType == 'MySQL' || $serverType == 'Percona Server') + && $serverVersion >= 50706) + || ($serverType == 'MariaDB' + && $serverVersion >= 50200) + ) { + $password_set_real = null; + + // Required for binding '%' with '%s' + $create_user_stmt = str_replace( + '%', '%%', $create_user_stmt + ); + + // MariaDB uses 'USING' whereas MySQL uses 'AS' + // but MariaDB with validation plugin needs cleartext password + if ($serverType == 'MariaDB' + && ! $isMariaDBPwdPluginActive + ) { + $create_user_stmt .= ' USING \'%s\''; + } elseif ($serverType == 'MariaDB') { + $create_user_stmt .= ' IDENTIFIED BY \'%s\''; + } else { + $create_user_stmt .= ' AS \'%s\''; + } + + if ($_POST['pred_password'] == 'keep') { + $create_user_real = sprintf( + $create_user_stmt, + $slashedPassword + ); + $create_user_show = sprintf( + $create_user_stmt, + '***' + ); + } elseif ($_POST['pred_password'] == 'none') { + $create_user_real = sprintf( + $create_user_stmt, + null + ); + $create_user_show = sprintf( + $create_user_stmt, + '***' + ); + } else { + if (! ($serverType == 'MariaDB' + && $isMariaDBPwdPluginActive) + ) { + $hashedPassword = self::getHashedPassword($_POST['pma_pw']); + } else { + // MariaDB with validation plugin needs cleartext password + $hashedPassword = $_POST['pma_pw']; + } + $create_user_real = sprintf( + $create_user_stmt, + $hashedPassword + ); + $create_user_show = sprintf( + $create_user_stmt, + '***' + ); + } + } else { + // Use 'SET PASSWORD' syntax for pre-5.7.6 MySQL versions + // and pre-5.2.0 MariaDB versions + if ($_POST['pred_password'] == 'keep') { + $password_set_real = sprintf( + $password_set_stmt, + $slashedUsername, + $slashedHostname, + $slashedPassword + ); + } elseif ($_POST['pred_password'] == 'none') { + $password_set_real = sprintf( + $password_set_stmt, + $slashedUsername, + $slashedHostname, + null + ); + } else { + $hashedPassword = self::getHashedPassword($_POST['pma_pw']); + $password_set_real = sprintf( + $password_set_stmt, + $slashedUsername, + $slashedHostname, + $hashedPassword + ); + } + } + + // add REQUIRE clause + $require_clause = self::getRequireClause(); + $real_sql_query .= $require_clause; + $sql_query .= $require_clause; + + $with_clause = self::getWithClauseForAddUserAndUpdatePrivs(); + $real_sql_query .= $with_clause; + $sql_query .= $with_clause; + + if (isset($create_user_real)) { + $create_user_real .= ';'; + $create_user_show .= ';'; + } + $real_sql_query .= ';'; + $sql_query .= ';'; + // No Global GRANT_OPTION privilege + if (!$GLOBALS['is_grantuser']) { + $real_sql_query = ''; + $sql_query = ''; + } + + // Use 'SET PASSWORD' for pre-5.7.6 MySQL versions + // and pre-5.2.0 MariaDB + if (($serverType == 'MySQL' + && $serverVersion >= 50706) + || ($serverType == 'MariaDB' + && $serverVersion >= 50200) + ) { + $password_set_real = null; + $password_set_show = null; + } else { + $password_set_real .= ";"; + $password_set_show .= ";"; + } + + return array($create_user_real, + $create_user_show, + $real_sql_query, + $sql_query, + $password_set_real, + $password_set_show + ); + } + + /** + * Returns the type ('PROCEDURE' or 'FUNCTION') of the routine + * + * @param string $dbname database + * @param string $routineName routine + * + * @return string type + */ + public static function getRoutineType($dbname, $routineName) + { + $routineData = $GLOBALS['dbi']->getRoutines($dbname); + + foreach ($routineData as $routine) { + if ($routine['name'] === $routineName) { + return $routine['type']; + } + } + return ''; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Select.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Select.php new file mode 100644 index 00000000..b5b434de --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Select.php @@ -0,0 +1,125 @@ +'; + + if (! $omit_fieldset) { + $retval .= '
    '; + } + + $retval .= Url::getHiddenFields(array()); + $retval .= ' '; + + $retval .= ''; + if (! $omit_fieldset) { + $retval .= '
    '; + } + $retval .= ''; + } elseif ($list) { + $retval .= ''; + } + + return $retval; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status.php new file mode 100644 index 00000000..d6705435 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status.php @@ -0,0 +1,335 @@ +fetchValue( + 'SELECT UNIX_TIMESTAMP() - ' . $serverStatusData->status['Uptime'] + ); + + $retval = '

    '; + $bytes_received = $serverStatusData->status['Bytes_received']; + $bytes_sent = $serverStatusData->status['Bytes_sent']; + $retval .= sprintf( + __('Network traffic since startup: %s'), + implode( + ' ', + Util::formatByteDown( + $bytes_received + $bytes_sent, + 3, + 1 + ) + ) + ); + $retval .= '

    '; + $retval .= '

    '; + $retval .= sprintf( + __('This MySQL server has been running for %1$s. It started up on %2$s.'), + Util::timespanFormat($serverStatusData->status['Uptime']), + Util::localisedDate($start_time) + ) . "\n"; + $retval .= '

    '; + + return $retval; + } + + /** + * Returns HTML to display replication information + * + * @return string HTML on replication + */ + public static function getHtmlForReplicationInfo() + { + $retval = '

    '; + if ($GLOBALS['replication_info']['master']['status'] + && $GLOBALS['replication_info']['slave']['status'] + ) { + $retval .= __( + 'This MySQL server works as master and ' + . 'slave in replication process.' + ); + } elseif ($GLOBALS['replication_info']['master']['status']) { + $retval .= __( + 'This MySQL server works as master ' + . 'in replication process.' + ); + } elseif ($GLOBALS['replication_info']['slave']['status']) { + $retval .= __( + 'This MySQL server works as slave ' + . 'in replication process.' + ); + } + $retval .= '

    '; + + /* + * if the server works as master or slave in replication process, + * display useful information + */ + $retval .= '
    '; + $retval .= '

    '; + $retval .= __('Replication status'); + $retval .= '

    '; + foreach ($GLOBALS['replication_types'] as $type) { + if (isset($GLOBALS['replication_info'][$type]['status']) + && $GLOBALS['replication_info'][$type]['status'] + ) { + $retval .= ReplicationGui::getHtmlForReplicationStatusTable($type); + } + } + + return $retval; + } + + /** + * Prints server state traffic information + * + * @param Data $serverStatusData Server status data + * + * @return string + */ + public static function getHtmlForServerStateTraffic(Data $serverStatusData) + { + $hour_factor = 3600 / $serverStatusData->status['Uptime']; + $retval = ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= '
    '; + $retval .= __('Traffic') . ' '; + $retval .= Util::showHint( + __( + 'On a busy server, the byte counters may overrun, so those statistics ' + . 'as reported by the MySQL server may be incorrect.' + ) + ); + $retval .= '#ø ' . __('per hour') . '
    ' . __('Received') . ''; + $retval .= implode( + ' ', + Util::formatByteDown( + $serverStatusData->status['Bytes_received'], 3, 1 + ) + ); + $retval .= ''; + $retval .= implode( + ' ', + Util::formatByteDown( + $serverStatusData->status['Bytes_received'] * $hour_factor, 3, 1 + ) + ); + $retval .= '
    ' . __('Sent') . ''; + $retval .= implode( + ' ', + Util::formatByteDown( + $serverStatusData->status['Bytes_sent'], 3, 1 + ) + ); + $retval .= ''; + $retval .= implode( + ' ', + Util::formatByteDown( + $serverStatusData->status['Bytes_sent'] * $hour_factor, 3, 1 + ) + ); + $retval .= '
    ' . __('Total') . ''; + $bytes_received = $serverStatusData->status['Bytes_received']; + $bytes_sent = $serverStatusData->status['Bytes_sent']; + $retval .= implode( + ' ', + Util::formatByteDown( + $bytes_received + $bytes_sent, 3, 1 + ) + ); + $retval .= ''; + $bytes_received = $serverStatusData->status['Bytes_received']; + $bytes_sent = $serverStatusData->status['Bytes_sent']; + $retval .= implode( + ' ', + Util::formatByteDown( + ($bytes_received + $bytes_sent) * $hour_factor, 3, 1 + ) + ); + $retval .= '
    '; + return $retval; + } + + /** + * Prints server state connections information + * + * @param Data $serverStatusData Server status data + * + * @return string + */ + public static function getHtmlForServerStateConnections(Data $serverStatusData) + { + $hour_factor = 3600 / $serverStatusData->status['Uptime']; + $retval = ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= '
    ' . __('Connections') . '#ø ' . __('per hour') . '%
    ' . __('Max. concurrent connections') . ''; + $retval .= Util::formatNumber( + $serverStatusData->status['Max_used_connections'], 0 + ); + $retval .= '--- ---
    ' . __('Failed attempts') . ''; + $retval .= Util::formatNumber( + $serverStatusData->status['Aborted_connects'], 4, 1, true + ); + $retval .= ''; + $retval .= Util::formatNumber( + $serverStatusData->status['Aborted_connects'] * $hour_factor, 4, 2, true + ); + $retval .= ''; + if ($serverStatusData->status['Connections'] > 0) { + $abortNum = $serverStatusData->status['Aborted_connects']; + $connectNum = $serverStatusData->status['Connections']; + + $retval .= Util::formatNumber( + $abortNum * 100 / $connectNum, + 0, 2, true + ); + $retval .= '%'; + } else { + $retval .= '--- '; + } + $retval .= '
    ' . __('Aborted') . ''; + $retval .= Util::formatNumber( + $serverStatusData->status['Aborted_clients'], 4, 1, true + ); + $retval .= ''; + $retval .= Util::formatNumber( + $serverStatusData->status['Aborted_clients'] * $hour_factor, 4, 2, true + ); + $retval .= ''; + if ($serverStatusData->status['Connections'] > 0) { + $abortNum = $serverStatusData->status['Aborted_clients']; + $connectNum = $serverStatusData->status['Connections']; + + $retval .= Util::formatNumber( + $abortNum * 100 / $connectNum, + 0, 2, true + ); + $retval .= '%'; + } else { + $retval .= '--- '; + } + $retval .= '
    ' . __('Total') . ''; + $retval .= Util::formatNumber( + $serverStatusData->status['Connections'], 4, 0 + ); + $retval .= ''; + $retval .= Util::formatNumber( + $serverStatusData->status['Connections'] * $hour_factor, 4, 2 + ); + $retval .= ''; + $retval .= Util::formatNumber(100, 0, 2); + $retval .= '%
    '; + + return $retval; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Advisor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Advisor.php new file mode 100644 index 00000000..2356c710 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Advisor.php @@ -0,0 +1,73 @@ +'; + $output .= Util::getIcon('b_help', __('Instructions')); + $output .= ''; + $output .= '
    '; + $output .= '
    '; + $output .= '

    '; + $output .= __( + 'The Advisor system can provide recommendations ' + . 'on server variables by analyzing the server status variables.' + ); + $output .= '

    '; + $output .= '

    '; + $output .= __( + 'Do note however that this system provides recommendations ' + . 'based on simple calculations and by rule of thumb which may ' + . 'not necessarily apply to your system.' + ); + $output .= '

    '; + $output .= '

    '; + $output .= __( + 'Prior to changing any of the configuration, be sure to know ' + . 'what you are changing (by reading the documentation) and how ' + . 'to undo the change. Wrong tuning can have a very negative ' + . 'effect on performance.' + ); + $output .= '

    '; + $output .= '

    '; + $output .= __( + 'The best way to tune your system would be to change only one ' + . 'setting at a time, observe or benchmark your database, and undo ' + . 'the change if there was no clearly measurable improvement.' + ); + $output .= '

    '; + $output .= '
    '; + $output .= '
    '; + $advisor = new PmaAdvisor($GLOBALS['dbi'], new ExpressionLanguage()); + $output .= htmlspecialchars( + json_encode( + $advisor->run() + ) + ); + $output .= '
    '; + + return $output; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Data.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Data.php new file mode 100644 index 00000000..ceee76e7 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Data.php @@ -0,0 +1,502 @@ + section + // variable names match when they begin with the given string + + 'Com_' => 'com', + 'Innodb_' => 'innodb', + 'Ndb_' => 'ndb', + 'Handler_' => 'handler', + 'Qcache_' => 'qcache', + 'Threads_' => 'threads', + 'Slow_launch_threads' => 'threads', + + 'Binlog_cache_' => 'binlog_cache', + 'Created_tmp_' => 'created_tmp', + 'Key_' => 'key', + + 'Delayed_' => 'delayed', + 'Not_flushed_delayed_rows' => 'delayed', + + 'Flush_commands' => 'query', + 'Last_query_cost' => 'query', + 'Slow_queries' => 'query', + 'Queries' => 'query', + 'Prepared_stmt_count' => 'query', + + 'Select_' => 'select', + 'Sort_' => 'sort', + + 'Open_tables' => 'table', + 'Opened_tables' => 'table', + 'Open_table_definitions' => 'table', + 'Opened_table_definitions' => 'table', + 'Table_locks_' => 'table', + + 'Rpl_status' => 'repl', + 'Slave_' => 'repl', + + 'Tc_' => 'tc', + + 'Ssl_' => 'ssl', + + 'Open_files' => 'files', + 'Open_streams' => 'files', + 'Opened_files' => 'files', + ); + } + + /** + * Gets the sections for constructor + * + * @return array + */ + private function _getSections() + { + return array( + // section => section name (description) + 'com' => 'Com', + 'query' => __('SQL query'), + 'innodb' => 'InnoDB', + 'ndb' => 'NDB', + 'handler' => __('Handler'), + 'qcache' => __('Query cache'), + 'threads' => __('Threads'), + 'binlog_cache' => __('Binary log'), + 'created_tmp' => __('Temporary data'), + 'delayed' => __('Delayed inserts'), + 'key' => __('Key cache'), + 'select' => __('Joins'), + 'repl' => __('Replication'), + 'sort' => __('Sorting'), + 'table' => __('Tables'), + 'tc' => __('Transaction coordinator'), + 'files' => __('Files'), + 'ssl' => 'SSL', + 'other' => __('Other') + ); + } + + /** + * Gets the links for constructor + * + * @return array + */ + private function _getLinks() + { + $links = array(); + // variable or section name => (name => url) + + $links['table'][__('Flush (close) all tables')] = $this->selfUrl + . Url::getCommon( + array( + 'flush' => 'TABLES' + ) + ); + $links['table'][__('Show open tables')] + = 'sql.php' . Url::getCommon( + array( + 'sql_query' => 'SHOW OPEN TABLES', + 'goto' => $this->selfUrl, + ) + ); + + if ($GLOBALS['replication_info']['master']['status']) { + $links['repl'][__('Show slave hosts')] + = 'sql.php' . Url::getCommon( + array( + 'sql_query' => 'SHOW SLAVE HOSTS', + 'goto' => $this->selfUrl, + ) + ); + $links['repl'][__('Show master status')] = '#replication_master'; + } + if ($GLOBALS['replication_info']['slave']['status']) { + $links['repl'][__('Show slave status')] = '#replication_slave'; + } + + $links['repl']['doc'] = 'replication'; + + $links['qcache'][__('Flush query cache')] + = $this->selfUrl + . Url::getCommon( + array( + 'flush' => 'QUERY CACHE' + ) + ); + $links['qcache']['doc'] = 'query_cache'; + + $links['threads']['doc'] = 'mysql_threads'; + + $links['key']['doc'] = 'myisam_key_cache'; + + $links['binlog_cache']['doc'] = 'binary_log'; + + $links['Slow_queries']['doc'] = 'slow_query_log'; + + $links['innodb'][__('Variables')] + = 'server_engines.php?' . Url::getCommon(array('engine' => 'InnoDB')); + $links['innodb'][__('InnoDB Status')] + = 'server_engines.php' + . Url::getCommon( + array( + 'engine' => 'InnoDB', + 'page' => 'Status' + ) + ); + $links['innodb']['doc'] = 'innodb'; + + return($links); + } + + /** + * Calculate some values + * + * @param array $server_status contains results of SHOW GLOBAL STATUS + * @param array $server_variables contains results of SHOW GLOBAL VARIABLES + * + * @return array $server_status + */ + private function _calculateValues(array $server_status, array $server_variables) + { + // Key_buffer_fraction + if (isset($server_status['Key_blocks_unused']) + && isset($server_variables['key_cache_block_size']) + && isset($server_variables['key_buffer_size']) + && $server_variables['key_buffer_size'] != 0 + ) { + $server_status['Key_buffer_fraction_%'] + = 100 + - $server_status['Key_blocks_unused'] + * $server_variables['key_cache_block_size'] + / $server_variables['key_buffer_size'] + * 100; + } elseif (isset($server_status['Key_blocks_used']) + && isset($server_variables['key_buffer_size']) + && $server_variables['key_buffer_size'] != 0 + ) { + $server_status['Key_buffer_fraction_%'] + = $server_status['Key_blocks_used'] + * 1024 + / $server_variables['key_buffer_size']; + } + + // Ratio for key read/write + if (isset($server_status['Key_writes']) + && isset($server_status['Key_write_requests']) + && $server_status['Key_write_requests'] > 0 + ) { + $key_writes = $server_status['Key_writes']; + $key_write_requests = $server_status['Key_write_requests']; + $server_status['Key_write_ratio_%'] + = 100 * $key_writes / $key_write_requests; + } + + if (isset($server_status['Key_reads']) + && isset($server_status['Key_read_requests']) + && $server_status['Key_read_requests'] > 0 + ) { + $key_reads = $server_status['Key_reads']; + $key_read_requests = $server_status['Key_read_requests']; + $server_status['Key_read_ratio_%'] + = 100 * $key_reads / $key_read_requests; + } + + // Threads_cache_hitrate + if (isset($server_status['Threads_created']) + && isset($server_status['Connections']) + && $server_status['Connections'] > 0 + ) { + + $server_status['Threads_cache_hitrate_%'] + = 100 - $server_status['Threads_created'] + / $server_status['Connections'] * 100; + } + return $server_status; + } + + /** + * Sort variables into arrays + * + * @param array $server_status contains results of SHOW GLOBAL STATUS + * @param array $allocations allocations for sections + * @param array $allocationMap map variables to their section + * @param array $sectionUsed is a section used? + * @param array $used_queries used queries + * + * @return array ($allocationMap, $sectionUsed, $used_queries) + */ + private function _sortVariables( + array $server_status, array $allocations, array $allocationMap, array $sectionUsed, + array $used_queries + ) { + foreach ($server_status as $name => $value) { + $section_found = false; + foreach ($allocations as $filter => $section) { + if (mb_strpos($name, $filter) !== false) { + $allocationMap[$name] = $section; + $sectionUsed[$section] = true; + $section_found = true; + if ($section == 'com' && $value > 0) { + $used_queries[$name] = $value; + } + break; // Only exits inner loop + } + } + if (! $section_found) { + $allocationMap[$name] = 'other'; + $sectionUsed['other'] = true; + } + } + return array($allocationMap, $sectionUsed, $used_queries); + } + + /** + * Constructor + */ + public function __construct() + { + $this->selfUrl = basename($GLOBALS['PMA_PHP_SELF']); + + // get status from server + $server_status_result = $GLOBALS['dbi']->tryQuery('SHOW GLOBAL STATUS'); + $server_status = array(); + if ($server_status_result === false) { + $this->dataLoaded = false; + } else { + $this->dataLoaded = true; + while ($arr = $GLOBALS['dbi']->fetchRow($server_status_result)) { + $server_status[$arr[0]] = $arr[1]; + } + $GLOBALS['dbi']->freeResult($server_status_result); + } + + // for some calculations we require also some server settings + $server_variables = $GLOBALS['dbi']->fetchResult( + 'SHOW GLOBAL VARIABLES', 0, 1 + ); + + // cleanup of some deprecated values + $server_status = self::cleanDeprecated($server_status); + + // calculate some values + $server_status = $this->_calculateValues( + $server_status, $server_variables + ); + + // split variables in sections + $allocations = $this->_getAllocations(); + + $sections = $this->_getSections(); + + // define some needful links/commands + $links = $this->_getLinks(); + + // Variable to contain all com_ variables (query statistics) + $used_queries = array(); + + // Variable to map variable names to their respective section name + // (used for js category filtering) + $allocationMap = array(); + + // Variable to mark used sections + $sectionUsed = array(); + + // sort vars into arrays + list( + $allocationMap, $sectionUsed, $used_queries + ) = $this->_sortVariables( + $server_status, $allocations, $allocationMap, $sectionUsed, + $used_queries + ); + + // admin commands are not queries (e.g. they include COM_PING, + // which is excluded from $server_status['Questions']) + unset($used_queries['Com_admin_commands']); + + // Set all class properties + $this->db_isLocal = false; + $serverHostToLower = mb_strtolower( + $GLOBALS['cfg']['Server']['host'] + ); + if ($serverHostToLower === 'localhost' + || $GLOBALS['cfg']['Server']['host'] === '127.0.0.1' + || $GLOBALS['cfg']['Server']['host'] === '::1' + ) { + $this->db_isLocal = true; + } + $this->status = $server_status; + $this->sections = $sections; + $this->variables = $server_variables; + $this->used_queries = $used_queries; + $this->allocationMap = $allocationMap; + $this->links = $links; + $this->sectionUsed = $sectionUsed; + } + + /** + * cleanup of some deprecated values + * + * @param array $server_status status array to process + * + * @return array + */ + public static function cleanDeprecated(array $server_status) + { + $deprecated = array( + 'Com_prepare_sql' => 'Com_stmt_prepare', + 'Com_execute_sql' => 'Com_stmt_execute', + 'Com_dealloc_sql' => 'Com_stmt_close', + ); + foreach ($deprecated as $old => $new) { + if (isset($server_status[$old]) && isset($server_status[$new])) { + unset($server_status[$old]); + } + } + return $server_status; + } + + /** + * Generates menu HTML + * + * @return string + */ + public function getMenuHtml() + { + $url_params = Url::getCommon(); + $items = array( + array( + 'name' => __('Server'), + 'url' => 'server_status.php' + ), + array( + 'name' => __('Processes'), + 'url' => 'server_status_processes.php' + ), + array( + 'name' => __('Query statistics'), + 'url' => 'server_status_queries.php' + ), + array( + 'name' => __('All status variables'), + 'url' => 'server_status_variables.php' + ), + array( + 'name' => __('Monitor'), + 'url' => 'server_status_monitor.php' + ), + array( + 'name' => __('Advisor'), + 'url' => 'server_status_advisor.php' + ) + ); + + $retval = '
      '; + foreach ($items as $item) { + $class = ''; + if ($item['url'] === $this->selfUrl) { + $class = ' class="tabactive"'; + } + $retval .= '
    • '; + $retval .= ''; + $retval .= $item['name']; + $retval .= ''; + $retval .= '
    • '; + } + $retval .= '
    '; + $retval .= '
    '; + + return $retval; + } + + /** + * Builds a '; + foreach ($refreshRates as $rate) { + $selected = ($rate == $defaultRate)?' selected="selected"':''; + $return .= ''; + } + $return .= ''; + return $return; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Monitor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Monitor.php new file mode 100644 index 00000000..111bee9c --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Monitor.php @@ -0,0 +1,829 @@ +'; + $retval .= '
    '; + $retval .= '
    '; + $retval .= '
    '; + + $retval .= ''; + + return $retval; + } + + /** + * Returns html for Analyse Dialog + * + * @return string + */ + public static function getHtmlForAnalyseDialog() + { + $retval = '
    '; + $retval .= '

    ' . __('Selected time range:'); + $retval .= ' - '; + $retval .= ''; + $retval .= '

    '; + $retval .= ''; + $retval .= ''; + $retval .= '
    '; + $retval .= ''; + $retval .= ''; + $retval .= '

    '; + $retval .= __( + 'Choose from which log you want the statistics to be generated from.' + ); + $retval .= '

    '; + $retval .= '

    '; + $retval .= __('Results are grouped by query text.'); + $retval .= '

    '; + $retval .= '
    '; + $retval .= '
    '; + $retval .= ''; + $retval .= '

    '; + $retval .= '
    '; + $retval .= '
    '; + + return $retval; + } + + /** + * Returns html for Instructions Dialog + * + * @return string + */ + public static function getHtmlForInstructionsDialog() + { + $retval = '
    '; + $retval .= __( + 'The phpMyAdmin Monitor can assist you in optimizing the server' + . ' configuration and track down time intensive queries. For the latter you' + . ' will need to set log_output to \'TABLE\' and have either the' + . ' slow_query_log or general_log enabled. Note however, that the' + . ' general_log produces a lot of data and increases server load' + . ' by up to 15%.' + ); + + $retval .= '

    '; + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= '

    '; + $retval .= ''; + $retval .= __('Using the monitor:'); + $retval .= '

    '; + $retval .= __( + 'Your browser will refresh all displayed charts in a regular interval.' + . ' You may add charts and change the refresh rate under \'Settings\',' + . ' or remove any chart using the cog icon on each respective chart.' + ); + $retval .= '

    '; + $retval .= __( + 'To display queries from the logs, select the relevant time span on any' + . ' chart by holding down the left mouse button and panning over the' + . ' chart. Once confirmed, this will load a table of grouped queries,' + . ' there you may click on any occurring SELECT statements to further' + . ' analyze them.' + ); + $retval .= '

    '; + $retval .= '

    '; + $retval .= Util::getImage('s_attention'); + $retval .= ''; + $retval .= __('Please note:'); + $retval .= '
    '; + $retval .= __( + 'Enabling the general_log may increase the server load by' + . ' 5-15%. Also be aware that generating statistics from the logs is a' + . ' load intensive task, so it is advisable to select only a small time' + . ' span and to disable the general_log and empty its table once' + . ' monitoring is not required any more.' + ); + $retval .= '

    '; + $retval .= '
    '; + $retval .= '
    '; + + return $retval; + } + + /** + * Returns html for addChartDialog + * + * @return string + */ + public static function getHtmlForAddChartDialog() + { + $retval = '
    '; + $retval .= '
    '; + $retval .= '

    '; + $retval .= ''; + $retval .= ''; + $retval .= '
    '; + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= '
    '; + $retval .= '
    '; + $retval .= ''; + $retval .= ''; + $retval .= '

    '; + $retval .= ''; + $retval .= '
    '; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= '(' . __('KiB') . ', '; + $retval .= '' . __('MiB') . ')'; + $retval .= '
    '; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= '

    '; + $retval .= '' . __('Add this series') . ''; + $retval .= ''; + $retval .= ' | ' . __('Clear series') . ''; + $retval .= ''; + $retval .= '

    '; + $retval .= __('Series in chart:'); + $retval .= '
    '; + $retval .= ''; + $retval .= '' . __('None') . ''; + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= '
    '; + + return $retval; + } + + /** + * Returns html with Tab Links + * + * @return string + */ + public static function getHtmlForTabLinks() + { + $retval = ''; + + return $retval; + } + + /** + * Returns html with Settings dialog + * + * @return string + */ + public static function getHtmlForSettingsDialog() + { + $retval = '
    '; + $retval .= ''; + $retval .= Util::getImage('b_chart') . __('Add chart'); + $retval .= ''; + $retval .= ''; + $retval .= Util::getImage('b_tblops') + . __('Enable charts dragging'); + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= __('Refresh rate') . '
    '; + $retval .= Data::getHtmlForRefreshList( + 'gridChartRefresh', + 5, + Array(2, 3, 4, 5, 10, 20, 40, 60, 120, 300, 600, 1200) + ); + $retval .= '
    '; + $retval .= '
    '; + $retval .= '
    '; + $retval .= __('Chart columns'); + $retval .= '
    '; + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= '' . __('Chart arrangement') . ' '; + $retval .= Util::showHint( + __( + 'The arrangement of the charts is stored to the browsers local storage. ' + . 'You may want to export it if you have a complicated set up.' + ) + ); + $retval .= '
    '; + $retval .= ''; + $retval .= __('Import'); + $retval .= ''; + $retval .= '  '; + $retval .= ''; + $retval .= __('Export'); + $retval .= ''; + $retval .= '  '; + $retval .= ''; + $retval .= __('Reset to default'); + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + + return $retval; + } + + + /** + * Define some data and links needed on the client side + * + * @param Data $serverStatusData Server status data + * + * @return string + */ + public static function getHtmlForClientSideDataAndLinks(Data $serverStatusData) + { + /** + * Define some data needed on the client side + */ + $input = ''; + $form = '
    '; + $form .= sprintf($input, 'server_time', microtime(true) * 1000); + $form .= sprintf($input, 'server_os', SysInfo::getOs()); + $form .= sprintf($input, 'is_superuser', $GLOBALS['dbi']->isSuperuser()); + $form .= sprintf($input, 'server_db_isLocal', $serverStatusData->db_isLocal); + $form .= '
    '; + /** + * Define some links used on client side + */ + $links = '
    '; + $links .= Util::showMySQLDocu('general-thread-states'); + $links .= '
    '; + $links .= '
    '; + $links .= Util::showMySQLDocu('explain-output'); + $links .= '
    '; + + return $form . $links; + } + + /***************************Ajax request function***********************************/ + + /** + * Returns JSon for real-time charting data + * + * @return array + */ + public static function getJsonForChartingData() + { + $ret = json_decode($_REQUEST['requiredData'], true); + $statusVars = array(); + $serverVars = array(); + $sysinfo = $cpuload = $memory = 0; + + /* Accumulate all required variables and data */ + list($serverVars, $statusVars, $ret) = self::getJsonForChartingDataGet( + $ret, $serverVars, $statusVars, $sysinfo, $cpuload, $memory + ); + + // Retrieve all required status variables + if (count($statusVars)) { + $statusVarValues = $GLOBALS['dbi']->fetchResult( + "SHOW GLOBAL STATUS WHERE Variable_name='" + . implode("' OR Variable_name='", $statusVars) . "'", + 0, + 1 + ); + } else { + $statusVarValues = array(); + } + + // Retrieve all required server variables + if (count($serverVars)) { + $serverVarValues = $GLOBALS['dbi']->fetchResult( + "SHOW GLOBAL VARIABLES WHERE Variable_name='" + . implode("' OR Variable_name='", $serverVars) . "'", + 0, + 1 + ); + } else { + $serverVarValues = array(); + } + + // ...and now assign them + $ret = self::getJsonForChartingDataSet($ret, $statusVarValues, $serverVarValues); + + $ret['x'] = microtime(true) * 1000; + return $ret; + } + + /** + * Assign the variables for real-time charting data + * + * @param array $ret Real-time charting data + * @param array $statusVarValues Status variable values + * @param array $serverVarValues Server variable values + * + * @return array + */ + public static function getJsonForChartingDataSet(array $ret, array $statusVarValues, array $serverVarValues) + { + foreach ($ret as $chart_id => $chartNodes) { + foreach ($chartNodes as $node_id => $nodeDataPoints) { + foreach ($nodeDataPoints as $point_id => $dataPoint) { + switch ($dataPoint['type']) { + case 'statusvar': + $ret[$chart_id][$node_id][$point_id]['value'] + = $statusVarValues[$dataPoint['name']]; + break; + case 'servervar': + $ret[$chart_id][$node_id][$point_id]['value'] + = $serverVarValues[$dataPoint['name']]; + break; + } + } + } + } + return $ret; + } + + /** + * Get called to get JSON for charting data + * + * @param array $ret Real-time charting data + * @param array $serverVars Server variable values + * @param array $statusVars Status variable values + * @param mixed $sysinfo System info + * @param mixed $cpuload CPU load + * @param mixed $memory Memory + * + * @return array + */ + public static function getJsonForChartingDataGet( + array $ret, array $serverVars, array $statusVars, $sysinfo, $cpuload, $memory + ) { + // For each chart + foreach ($ret as $chart_id => $chartNodes) { + // For each data series + foreach ($chartNodes as $node_id => $nodeDataPoints) { + // For each data point in the series (usually just 1) + foreach ($nodeDataPoints as $point_id => $dataPoint) { + list($serverVars, $statusVars, $ret[$chart_id][$node_id][$point_id]) + = self::getJsonForChartingDataSwitch( + $dataPoint['type'], $dataPoint['name'], $serverVars, + $statusVars, $ret[$chart_id][$node_id][$point_id], + $sysinfo, $cpuload, $memory + ); + } /* foreach */ + } /* foreach */ + } + return array($serverVars, $statusVars, $ret); + } + + /** + * Switch called to get JSON for charting data + * + * @param string $type Type + * @param string $pName Name + * @param array $serverVars Server variable values + * @param array $statusVars Status variable values + * @param array $ret Real-time charting data + * @param mixed $sysinfo System info + * @param mixed $cpuload CPU load + * @param mixed $memory Memory + * + * @return array + */ + public static function getJsonForChartingDataSwitch( + $type, $pName, array $serverVars, array $statusVars, array $ret, + $sysinfo, $cpuload, $memory + ) { + switch ($type) { + /* We only collect the status and server variables here to + * read them all in one query, + * and only afterwards assign them. + * Also do some white list filtering on the names + */ + case 'servervar': + if (!preg_match('/[^a-zA-Z_]+/', $pName)) { + $serverVars[] = $pName; + } + break; + + case 'statusvar': + if (!preg_match('/[^a-zA-Z_]+/', $pName)) { + $statusVars[] = $pName; + } + break; + + case 'proc': + $result = $GLOBALS['dbi']->query('SHOW PROCESSLIST'); + $ret['value'] = $GLOBALS['dbi']->numRows($result); + break; + + case 'cpu': + if (!$sysinfo) { + $sysinfo = SysInfo::get(); + } + if (!$cpuload) { + $cpuload = $sysinfo->loadavg(); + } + + if (SysInfo::getOs() == 'Linux') { + $ret['idle'] = $cpuload['idle']; + $ret['busy'] = $cpuload['busy']; + } else { + $ret['value'] = $cpuload['loadavg']; + } + + break; + + case 'memory': + if (!$sysinfo) { + $sysinfo = SysInfo::get(); + } + if (!$memory) { + $memory = $sysinfo->memory(); + } + + $ret['value'] = isset($memory[$pName]) ? $memory[$pName] : 0; + break; + } + + return array($serverVars, $statusVars, $ret); + } + + /** + * Returns JSon for log data with type: slow + * + * @param int $start Unix Time: Start time for query + * @param int $end Unix Time: End time for query + * + * @return array + */ + public static function getJsonForLogDataTypeSlow($start, $end) + { + $query = 'SELECT start_time, user_host, '; + $query .= 'Sec_to_Time(Sum(Time_to_Sec(query_time))) as query_time, '; + $query .= 'Sec_to_Time(Sum(Time_to_Sec(lock_time))) as lock_time, '; + $query .= 'SUM(rows_sent) AS rows_sent, '; + $query .= 'SUM(rows_examined) AS rows_examined, db, sql_text, '; + $query .= 'COUNT(sql_text) AS \'#\' '; + $query .= 'FROM `mysql`.`slow_log` '; + $query .= 'WHERE start_time > FROM_UNIXTIME(' . $start . ') '; + $query .= 'AND start_time < FROM_UNIXTIME(' . $end . ') GROUP BY sql_text'; + + $result = $GLOBALS['dbi']->tryQuery($query); + + $return = array('rows' => array(), 'sum' => array()); + + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + $type = mb_strtolower( + mb_substr( + $row['sql_text'], + 0, + mb_strpos($row['sql_text'], ' ') + ) + ); + + switch($type) { + case 'insert': + case 'update': + //Cut off big inserts and updates, but append byte count instead + if (mb_strlen($row['sql_text']) > 220) { + $implode_sql_text = implode( + ' ', + Util::formatByteDown( + mb_strlen($row['sql_text']), 2, 2 + ) + ); + $row['sql_text'] = mb_substr($row['sql_text'], 0, 200) + . '... [' . $implode_sql_text . ']'; + } + break; + default: + break; + } + + if (! isset($return['sum'][$type])) { + $return['sum'][$type] = 0; + } + $return['sum'][$type] += $row['#']; + $return['rows'][] = $row; + } + + $return['sum']['TOTAL'] = array_sum($return['sum']); + $return['numRows'] = count($return['rows']); + + $GLOBALS['dbi']->freeResult($result); + return $return; + } + + /** + * Returns JSon for log data with type: general + * + * @param int $start Unix Time: Start time for query + * @param int $end Unix Time: End time for query + * + * @return array + */ + public static function getJsonForLogDataTypeGeneral($start, $end) + { + $limitTypes = ''; + if (isset($_REQUEST['limitTypes']) && $_REQUEST['limitTypes']) { + $limitTypes + = 'AND argument REGEXP \'^(INSERT|SELECT|UPDATE|DELETE)\' '; + } + + $query = 'SELECT TIME(event_time) as event_time, user_host, thread_id, '; + $query .= 'server_id, argument, count(argument) as \'#\' '; + $query .= 'FROM `mysql`.`general_log` '; + $query .= 'WHERE command_type=\'Query\' '; + $query .= 'AND event_time > FROM_UNIXTIME(' . $start . ') '; + $query .= 'AND event_time < FROM_UNIXTIME(' . $end . ') '; + $query .= $limitTypes . 'GROUP by argument'; // HAVING count > 1'; + + $result = $GLOBALS['dbi']->tryQuery($query); + + $return = array('rows' => array(), 'sum' => array()); + $insertTables = array(); + $insertTablesFirst = -1; + $i = 0; + $removeVars = isset($_REQUEST['removeVariables']) + && $_REQUEST['removeVariables']; + + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + preg_match('/^(\w+)\s/', $row['argument'], $match); + $type = mb_strtolower($match[1]); + + if (! isset($return['sum'][$type])) { + $return['sum'][$type] = 0; + } + $return['sum'][$type] += $row['#']; + + switch($type) { + /** @noinspection PhpMissingBreakStatementInspection */ + case 'insert': + // Group inserts if selected + if ($removeVars + && preg_match( + '/^INSERT INTO (`|\'|"|)([^\s\\1]+)\\1/i', + $row['argument'], $matches + ) + ) { + $insertTables[$matches[2]]++; + if ($insertTables[$matches[2]] > 1) { + $return['rows'][$insertTablesFirst]['#'] + = $insertTables[$matches[2]]; + + // Add a ... to the end of this query to indicate that + // there's been other queries + $temp = $return['rows'][$insertTablesFirst]['argument']; + $return['rows'][$insertTablesFirst]['argument'] + .= self::getSuspensionPoints( + $temp[strlen($temp) - 1] + ); + + // Group this value, thus do not add to the result list + continue 2; + } else { + $insertTablesFirst = $i; + $insertTables[$matches[2]] += $row['#'] - 1; + } + } + // No break here + + case 'update': + // Cut off big inserts and updates, + // but append byte count therefor + if (mb_strlen($row['argument']) > 220) { + $row['argument'] = mb_substr($row['argument'], 0, 200) + . '... [' + . implode( + ' ', + Util::formatByteDown( + mb_strlen($row['argument']), + 2, + 2 + ) + ) + . ']'; + } + break; + + default: + break; + } + + $return['rows'][] = $row; + $i++; + } + + $return['sum']['TOTAL'] = array_sum($return['sum']); + $return['numRows'] = count($return['rows']); + + $GLOBALS['dbi']->freeResult($result); + + return $return; + } + + /** + * Return suspension points if needed + * + * @param string $lastChar Last char + * + * @return null|string Return suspension points if needed + */ + public static function getSuspensionPoints($lastChar) + { + if ($lastChar != '.') { + return '
    ...'; + } + + return null; + } + + /** + * Returns JSon for logging vars + * + * @return array + */ + public static function getJsonForLoggingVars() + { + if (isset($_REQUEST['varName']) && isset($_REQUEST['varValue'])) { + $value = $GLOBALS['dbi']->escapeString($_REQUEST['varValue']); + if (! is_numeric($value)) { + $value="'" . $value . "'"; + } + + if (! preg_match("/[^a-zA-Z0-9_]+/", $_REQUEST['varName'])) { + $GLOBALS['dbi']->query( + 'SET GLOBAL ' . $_REQUEST['varName'] . ' = ' . $value + ); + } + + } + + $loggingVars = $GLOBALS['dbi']->fetchResult( + 'SHOW GLOBAL VARIABLES WHERE Variable_name IN' + . ' ("general_log","slow_query_log","long_query_time","log_output")', + 0, + 1 + ); + return $loggingVars; + } + + /** + * Returns JSon for query_analyzer + * + * @return array + */ + public static function getJsonForQueryAnalyzer() + { + $return = array(); + + if (strlen($_REQUEST['database']) > 0) { + $GLOBALS['dbi']->selectDb($_REQUEST['database']); + } + + if ($profiling = Util::profilingSupported()) { + $GLOBALS['dbi']->query('SET PROFILING=1;'); + } + + // Do not cache query + $query = preg_replace( + '/^(\s*SELECT)/i', + '\\1 SQL_NO_CACHE', + $_REQUEST['query'] + ); + + $GLOBALS['dbi']->tryQuery($query); + $return['affectedRows'] = $GLOBALS['cached_affected_rows']; + + $result = $GLOBALS['dbi']->tryQuery('EXPLAIN ' . $query); + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + $return['explain'][] = $row; + } + + // In case an error happened + $return['error'] = $GLOBALS['dbi']->getError(); + + $GLOBALS['dbi']->freeResult($result); + + if ($profiling) { + $return['profiling'] = array(); + $result = $GLOBALS['dbi']->tryQuery( + 'SELECT seq,state,duration FROM INFORMATION_SCHEMA.PROFILING' + . ' WHERE QUERY_ID=1 ORDER BY seq' + ); + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + $return['profiling'][]= $row; + } + $GLOBALS['dbi']->freeResult($result); + } + return $return; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Processes.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Processes.php new file mode 100644 index 00000000..463a1caa --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Processes.php @@ -0,0 +1,305 @@ +getDisplay(); + $retval = $notice . ''; + return $retval; + } + + /** + * Prints Server Process list + * + * @return string + */ + public static function getHtmlForServerProcesslist() + { + $url_params = array(); + + $show_full_sql = ! empty($_REQUEST['full']); + if ($show_full_sql) { + $url_params['full'] = 1; + $full_text_link = 'server_status_processes.php' . Url::getCommon( + array(), '?' + ); + } else { + $full_text_link = 'server_status_processes.php' . Url::getCommon( + array('full' => 1) + ); + } + + // This array contains display name and real column name of each + // sortable column in the table + $sortable_columns = array( + array( + 'column_name' => __('ID'), + 'order_by_field' => 'Id' + ), + array( + 'column_name' => __('User'), + 'order_by_field' => 'User' + ), + array( + 'column_name' => __('Host'), + 'order_by_field' => 'Host' + ), + array( + 'column_name' => __('Database'), + 'order_by_field' => 'db' + ), + array( + 'column_name' => __('Command'), + 'order_by_field' => 'Command' + ), + array( + 'column_name' => __('Time'), + 'order_by_field' => 'Time' + ), + array( + 'column_name' => __('Status'), + 'order_by_field' => 'State' + ), + array( + 'column_name' => __('Progress'), + 'order_by_field' => 'Progress' + ), + array( + 'column_name' => __('SQL query'), + 'order_by_field' => 'Info' + ) + ); + $sortableColCount = count($sortable_columns); + + $sql_query = $show_full_sql + ? 'SHOW FULL PROCESSLIST' + : 'SHOW PROCESSLIST'; + if ((! empty($_REQUEST['order_by_field']) + && ! empty($_REQUEST['sort_order'])) + || (! empty($_REQUEST['showExecuting'])) + ) { + $sql_query = 'SELECT * FROM `INFORMATION_SCHEMA`.`PROCESSLIST` '; + } + if (! empty($_REQUEST['showExecuting'])) { + $sql_query .= ' WHERE state != "" '; + } + if (!empty($_REQUEST['order_by_field']) && !empty($_REQUEST['sort_order'])) { + $sql_query .= ' ORDER BY ' + . Util::backquote($_REQUEST['order_by_field']) + . ' ' . $_REQUEST['sort_order']; + } + + $result = $GLOBALS['dbi']->query($sql_query); + + $retval = '
    '; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + foreach ($sortable_columns as $column) { + + $is_sorted = ! empty($_REQUEST['order_by_field']) + && ! empty($_REQUEST['sort_order']) + && ($_REQUEST['order_by_field'] == $column['order_by_field']); + + $column['sort_order'] = 'ASC'; + if ($is_sorted && $_REQUEST['sort_order'] === 'ASC') { + $column['sort_order'] = 'DESC'; + } + if (isset($_REQUEST['showExecuting'])) { + $column['showExecuting'] = 'on'; + } + + $retval .= ''; + } + + $retval .= ''; + $retval .= ''; + $retval .= ''; + + while ($process = $GLOBALS['dbi']->fetchAssoc($result)) { + $retval .= self::getHtmlForServerProcessItem( + $process, + $show_full_sql + ); + } + $retval .= ''; + $retval .= '
    ' . __('Processes') . ''; + $columnUrl = Url::getCommon($column); + $retval .= ''; + + $retval .= $column['column_name']; + + if ($is_sorted) { + $asc_display_style = 'inline'; + $desc_display_style = 'none'; + if ($_REQUEST['sort_order'] === 'DESC') { + $desc_display_style = 'inline'; + $asc_display_style = 'none'; + } + $retval .= ''
+                    . __('Descending') . ''; + $retval .= ''
+                    . __('Ascending') . ''; + } + + $retval .= ''; + + if (0 === --$sortableColCount) { + $retval .= ''; + if ($show_full_sql) { + $retval .= Util::getImage('s_partialtext', __('Truncate Shown Queries')); + } else { + $retval .= Util::getImage('s_fulltext', __('Show Full Queries')); + } + $retval .= ''; + } + $retval .= '
    '; + $retval .= '
    '; + + return $retval; + } + + /** + * Returns the html for the list filter + * + * @return string + */ + public static function getHtmlForProcessListFilter() + { + $showExecuting = ''; + if (! empty($_REQUEST['showExecuting'])) { + $showExecuting = ' checked="checked"'; + } + + $url_params = array( + 'ajax_request' => true, + 'full' => (isset($_REQUEST['full']) ? $_REQUEST['full'] : ''), + 'column_name' => (isset($_REQUEST['column_name']) ? $_REQUEST['column_name'] : ''), + 'order_by_field' + => (isset($_REQUEST['order_by_field']) ? $_REQUEST['order_by_field'] : ''), + 'sort_order' => (isset($_REQUEST['sort_order']) ? $_REQUEST['sort_order'] : ''), + ); + + $retval = ''; + $retval .= '
    '; + $retval .= '' . __('Filters') . ''; + $retval .= '
    '; + $retval .= Url::getHiddenInputs($url_params); + $retval .= ''; + $retval .= '
    '; + $retval .= ''; + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= '
    '; + + return $retval; + } + + /** + * Prints Every Item of Server Process + * + * @param array $process data of Every Item of Server Process + * @param bool $show_full_sql show full sql or not + * + * @return string + */ + public static function getHtmlForServerProcessItem(array $process, $show_full_sql) + { + // Array keys need to modify due to the way it has used + // to display column values + if ((! empty($_REQUEST['order_by_field']) && ! empty($_REQUEST['sort_order'])) + || (! empty($_REQUEST['showExecuting'])) + ) { + foreach (array_keys($process) as $key) { + $new_key = ucfirst(mb_strtolower($key)); + if ($new_key !== $key) { + $process[$new_key] = $process[$key]; + unset($process[$key]); + } + } + } + + $url_params = array( + 'kill' => $process['Id'], + 'ajax_request' => true + ); + $kill_process = 'server_status_processes.php' . Url::getCommon($url_params); + + $retval = ''; + $retval .= '' + . __('Kill') . ''; + $retval .= '' . $process['Id'] . ''; + $retval .= '' . htmlspecialchars($process['User']) . ''; + $retval .= '' . htmlspecialchars($process['Host']) . ''; + $retval .= '' . ((! isset($process['db']) + || strlen($process['db']) === 0) + ? '' . __('None') . '' + : htmlspecialchars($process['db'])) . ''; + $retval .= '' . htmlspecialchars($process['Command']) . ''; + $retval .= '' . $process['Time'] . ''; + $processStatusStr = empty($process['State']) ? '---' : $process['State']; + $retval .= '' . $processStatusStr . ''; + $processProgress = empty($process['Progress']) ? '---' : $process['Progress']; + $retval .= '' . $processProgress . ''; + $retval .= ''; + + if (empty($process['Info'])) { + $retval .= '---'; + } else { + $retval .= Util::formatSql($process['Info'], ! $show_full_sql); + } + $retval .= ''; + $retval .= ''; + + return $retval; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Queries.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Queries.php new file mode 100644 index 00000000..948aca47 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Queries.php @@ -0,0 +1,156 @@ +status['Uptime']; + $used_queries = $serverStatusData->used_queries; + $total_queries = array_sum($used_queries); + + $retval .= '

    '; + /* l10n: Questions is the name of a MySQL Status variable */ + $retval .= sprintf( + __('Questions since startup: %s'), + Util::formatNumber($total_queries, 0) + ); + $retval .= ' '; + $retval .= Util::showMySQLDocu( + 'server-status-variables', + false, + 'statvar_Questions' + ); + $retval .= '
    '; + $retval .= ''; + $retval .= 'ø ' . __('per hour:') . ' '; + $retval .= Util::formatNumber($total_queries * $hour_factor, 0); + $retval .= '
    '; + $retval .= 'ø ' . __('per minute:') . ' '; + $retval .= Util::formatNumber( + $total_queries * 60 / $serverStatusData->status['Uptime'], + 0 + ); + $retval .= '
    '; + if ($total_queries / $serverStatusData->status['Uptime'] >= 1) { + $retval .= 'ø ' . __('per second:') . ' '; + $retval .= Util::formatNumber( + $total_queries / $serverStatusData->status['Uptime'], + 0 + ); + } + $retval .= '
    '; + $retval .= '

    '; + + $retval .= self::getHtmlForDetails($serverStatusData); + + return $retval; + } + + /** + * Returns the html content for the query details + * + * @param Data $serverStatusData Server status data + * + * @return string + */ + public static function getHtmlForDetails(Data $serverStatusData) + { + $hour_factor = 3600 / $serverStatusData->status['Uptime']; + $used_queries = $serverStatusData->used_queries; + $total_queries = array_sum($used_queries); + // reverse sort by value to show most used statements first + arsort($used_queries); + + //(- $serverStatusData->status['Connections']); + $perc_factor = 100 / $total_queries; + + $retval = ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + + $chart_json = array(); + $query_sum = array_sum($used_queries); + $other_sum = 0; + foreach ($used_queries as $name => $value) { + // For the percentage column, use Questions - Connections, because + // the number of connections is not an item of the Query types + // but is included in Questions. Then the total of the percentages is 100. + $name = str_replace(array('Com_', '_'), array('', ' '), $name); + // Group together values that make out less than 2% into "Other", but only + // if we have more than 6 fractions already + if ($value < $query_sum * 0.02 && count($chart_json)>6) { + $other_sum += $value; + } else { + $chart_json[$name] = $value; + } + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + } + $retval .= ''; + $retval .= '
    ' . __('Statements') . ''; + /* l10n: # = Amount of queries */ + $retval .= __('#'); + $retval .= 'ø ' . __('per hour') + . '%
    ' . htmlspecialchars($name) . ''; + $retval .= htmlspecialchars( + Util::formatNumber($value, 5, 0, true) + ); + $retval .= ''; + $retval .= htmlspecialchars( + Util::formatNumber($value * $hour_factor, 4, 1, true) + ); + $retval .= ''; + $retval .= htmlspecialchars( + Util::formatNumber($value * $perc_factor, 0, 2) + ); + $retval .= '
    '; + + $retval .= '
    '; + + return $retval; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Variables.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Variables.php new file mode 100644 index 00000000..75847bf6 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Status/Variables.php @@ -0,0 +1,774 @@ +'; + $retval .= '' . __('Filters') . ''; + $retval .= '
    '; + $retval .= ''; + $retval .= '
    '; + $retval .= ''; + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= ''; + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= ''; + $retval .= ''; + $retval .= '
    '; + $retval .= '
    '; + $retval .= ''; + + return $retval; + } + + /** + * Prints the suggestion links + * + * @param Data $serverStatusData Server status data + * + * @return string + */ + public static function getHtmlForLinkSuggestions(Data $serverStatusData) + { + $retval = ''; + + return $retval; + } + + /** + * Returns a table with variables information + * + * @param Data $serverStatusData Server status data + * + * @return string + */ + public static function getHtmlForVariablesList(Data $serverStatusData) + { + $retval = ''; + $strShowStatus = self::getDescriptions(); + /** + * define some alerts + */ + // name => max value before alert + $alerts = array( + // lower is better + // variable => max value + 'Aborted_clients' => 0, + 'Aborted_connects' => 0, + + 'Binlog_cache_disk_use' => 0, + + 'Created_tmp_disk_tables' => 0, + + 'Handler_read_rnd' => 0, + 'Handler_read_rnd_next' => 0, + + 'Innodb_buffer_pool_pages_dirty' => 0, + 'Innodb_buffer_pool_reads' => 0, + 'Innodb_buffer_pool_wait_free' => 0, + 'Innodb_log_waits' => 0, + 'Innodb_row_lock_time_avg' => 10, // ms + 'Innodb_row_lock_time_max' => 50, // ms + 'Innodb_row_lock_waits' => 0, + + 'Slow_queries' => 0, + 'Delayed_errors' => 0, + 'Select_full_join' => 0, + 'Select_range_check' => 0, + 'Sort_merge_passes' => 0, + 'Opened_tables' => 0, + 'Table_locks_waited' => 0, + 'Qcache_lowmem_prunes' => 0, + + 'Qcache_free_blocks' => + isset($serverStatusData->status['Qcache_total_blocks']) + ? $serverStatusData->status['Qcache_total_blocks'] / 5 + : 0, + 'Slow_launch_threads' => 0, + + // depends on Key_read_requests + // normally lower then 1:0.01 + 'Key_reads' => isset($serverStatusData->status['Key_read_requests']) + ? (0.01 * $serverStatusData->status['Key_read_requests']) : 0, + // depends on Key_write_requests + // normally nearly 1:1 + 'Key_writes' => isset($serverStatusData->status['Key_write_requests']) + ? (0.9 * $serverStatusData->status['Key_write_requests']) : 0, + + 'Key_buffer_fraction' => 0.5, + + // alert if more than 95% of thread cache is in use + 'Threads_cached' => isset($serverStatusData->variables['thread_cache_size']) + ? 0.95 * $serverStatusData->variables['thread_cache_size'] : 0 + + // higher is better + // variable => min value + //'Handler read key' => '> ', + ); + + $retval .= self::getHtmlForRenderVariables( + $serverStatusData, + $alerts, + $strShowStatus + ); + + return $retval; + } + + /** + * Returns HTML for render variables list + * + * @param Data $serverStatusData Server status data + * @param array $alerts Alert Array + * @param array $strShowStatus Status Array + * + * @return string + */ + public static function getHtmlForRenderVariables(Data $serverStatusData, array $alerts, array $strShowStatus) + { + $retval = '
    '; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + $retval .= ''; + + foreach ($serverStatusData->status as $name => $value) { + $retval .= ''; + + $retval .= ''; + + $retval .= ''; + $retval .= ''; + $retval .= ''; + } + $retval .= ''; + $retval .= '
    ' . __('Variable') . '' . __('Value') . '' . __('Description') . '
    '; + $retval .= htmlspecialchars(str_replace('_', ' ', $name)); + // Fields containing % are calculated, + // they can not be described in MySQL documentation + if (mb_strpos($name, '%') === false) { + $retval .= Util::showMySQLDocu( + 'server-status-variables', + false, + 'statvar_' . $name + ); + } + $retval .= ''; + if (isset($alerts[$name])) { + if ($value > $alerts[$name]) { + $retval .= ''; + } else { + $retval .= ''; + } + } + if (substr($name, -1) === '%') { + $retval .= htmlspecialchars( + Util::formatNumber($value, 0, 2) + ) . ' %'; + } elseif (strpos($name, 'Uptime') !== false) { + $retval .= htmlspecialchars( + Util::timespanFormat($value) + ); + } elseif (is_numeric($value) && $value > 1000) { + $retval .= '' + . htmlspecialchars(Util::formatNumber($value, 3, 1)) + . ''; + } elseif (is_numeric($value)) { + $retval .= htmlspecialchars( + Util::formatNumber($value, 3, 1) + ); + } else { + $retval .= htmlspecialchars($value); + } + if (isset($alerts[$name])) { + $retval .= ''; + } + $retval .= ''; + $retval .= ''; + if (isset($alerts[$name])) { + if ($value > $alerts[$name]) { + $retval .= ''; + } else { + $retval .= ''; + } + } + $retval .= htmlspecialchars($value); + if (isset($alerts[$name])) { + $retval .= ''; + } + $retval .= ''; + $retval .= ''; + + if (isset($strShowStatus[$name])) { + $retval .= $strShowStatus[$name]; + } + + if (isset($serverStatusData->links[$name])) { + foreach ($serverStatusData->links[$name] as $link_name => $link_url) { + if ('doc' == $link_name) { + $retval .= Util::showMySQLDocu($link_url); + } else { + $retval .= ' ' . $link_name . ''; + } + } + unset($link_url, $link_name); + } + $retval .= '
    '; + $retval .= '
    '; + + return $retval; + } + + /** + * Returns a list of variable descriptions + * + * @return array + */ + public static function getDescriptions() + { + /** + * Messages are built using the message name + */ + return array( + 'Aborted_clients' => __( + 'The number of connections that were aborted because the client died' + . ' without closing the connection properly.' + ), + 'Aborted_connects' => __( + 'The number of failed attempts to connect to the MySQL server.' + ), + 'Binlog_cache_disk_use' => __( + 'The number of transactions that used the temporary binary log cache' + . ' but that exceeded the value of binlog_cache_size and used a' + . ' temporary file to store statements from the transaction.' + ), + 'Binlog_cache_use' => __( + 'The number of transactions that used the temporary binary log cache.' + ), + 'Connections' => __( + 'The number of connection attempts (successful or not)' + . ' to the MySQL server.' + ), + 'Created_tmp_disk_tables' => __( + 'The number of temporary tables on disk created automatically by' + . ' the server while executing statements. If' + . ' Created_tmp_disk_tables is big, you may want to increase the' + . ' tmp_table_size value to cause temporary tables to be' + . ' memory-based instead of disk-based.' + ), + 'Created_tmp_files' => __( + 'How many temporary files mysqld has created.' + ), + 'Created_tmp_tables' => __( + 'The number of in-memory temporary tables created automatically' + . ' by the server while executing statements.' + ), + 'Delayed_errors' => __( + 'The number of rows written with INSERT DELAYED for which some' + . ' error occurred (probably duplicate key).' + ), + 'Delayed_insert_threads' => __( + 'The number of INSERT DELAYED handler threads in use. Every' + . ' different table on which one uses INSERT DELAYED gets' + . ' its own thread.' + ), + 'Delayed_writes' => __( + 'The number of INSERT DELAYED rows written.' + ), + 'Flush_commands' => __( + 'The number of executed FLUSH statements.' + ), + 'Handler_commit' => __( + 'The number of internal COMMIT statements.' + ), + 'Handler_delete' => __( + 'The number of times a row was deleted from a table.' + ), + 'Handler_discover' => __( + 'The MySQL server can ask the NDB Cluster storage engine if it' + . ' knows about a table with a given name. This is called discovery.' + . ' Handler_discover indicates the number of time tables have been' + . ' discovered.' + ), + 'Handler_read_first' => __( + 'The number of times the first entry was read from an index. If this' + . ' is high, it suggests that the server is doing a lot of full' + . ' index scans; for example, SELECT col1 FROM foo, assuming that' + . ' col1 is indexed.' + ), + 'Handler_read_key' => __( + 'The number of requests to read a row based on a key. If this is' + . ' high, it is a good indication that your queries and tables' + . ' are properly indexed.' + ), + 'Handler_read_next' => __( + 'The number of requests to read the next row in key order. This is' + . ' incremented if you are querying an index column with a range' + . ' constraint or if you are doing an index scan.' + ), + 'Handler_read_prev' => __( + 'The number of requests to read the previous row in key order.' + . ' This read method is mainly used to optimize ORDER BY … DESC.' + ), + 'Handler_read_rnd' => __( + 'The number of requests to read a row based on a fixed position.' + . ' This is high if you are doing a lot of queries that require' + . ' sorting of the result. You probably have a lot of queries that' + . ' require MySQL to scan whole tables or you have joins that' + . ' don\'t use keys properly.' + ), + 'Handler_read_rnd_next' => __( + 'The number of requests to read the next row in the data file.' + . ' This is high if you are doing a lot of table scans. Generally' + . ' this suggests that your tables are not properly indexed or that' + . ' your queries are not written to take advantage of the indexes' + . ' you have.' + ), + 'Handler_rollback' => __( + 'The number of internal ROLLBACK statements.' + ), + 'Handler_update' => __( + 'The number of requests to update a row in a table.' + ), + 'Handler_write' => __( + 'The number of requests to insert a row in a table.' + ), + 'Innodb_buffer_pool_pages_data' => __( + 'The number of pages containing data (dirty or clean).' + ), + 'Innodb_buffer_pool_pages_dirty' => __( + 'The number of pages currently dirty.' + ), + 'Innodb_buffer_pool_pages_flushed' => __( + 'The number of buffer pool pages that have been requested' + . ' to be flushed.' + ), + 'Innodb_buffer_pool_pages_free' => __( + 'The number of free pages.' + ), + 'Innodb_buffer_pool_pages_latched' => __( + 'The number of latched pages in InnoDB buffer pool. These are pages' + . ' currently being read or written or that can\'t be flushed or' + . ' removed for some other reason.' + ), + 'Innodb_buffer_pool_pages_misc' => __( + 'The number of pages busy because they have been allocated for' + . ' administrative overhead such as row locks or the adaptive' + . ' hash index. This value can also be calculated as' + . ' Innodb_buffer_pool_pages_total - Innodb_buffer_pool_pages_free' + . ' - Innodb_buffer_pool_pages_data.' + ), + 'Innodb_buffer_pool_pages_total' => __( + 'Total size of buffer pool, in pages.' + ), + 'Innodb_buffer_pool_read_ahead_rnd' => __( + 'The number of "random" read-aheads InnoDB initiated. This happens' + . ' when a query is to scan a large portion of a table but in' + . ' random order.' + ), + 'Innodb_buffer_pool_read_ahead_seq' => __( + 'The number of sequential read-aheads InnoDB initiated. This' + . ' happens when InnoDB does a sequential full table scan.' + ), + 'Innodb_buffer_pool_read_requests' => __( + 'The number of logical read requests InnoDB has done.' + ), + 'Innodb_buffer_pool_reads' => __( + 'The number of logical reads that InnoDB could not satisfy' + . ' from buffer pool and had to do a single-page read.' + ), + 'Innodb_buffer_pool_wait_free' => __( + 'Normally, writes to the InnoDB buffer pool happen in the' + . ' background. However, if it\'s necessary to read or create a page' + . ' and no clean pages are available, it\'s necessary to wait for' + . ' pages to be flushed first. This counter counts instances of' + . ' these waits. If the buffer pool size was set properly, this' + . ' value should be small.' + ), + 'Innodb_buffer_pool_write_requests' => __( + 'The number writes done to the InnoDB buffer pool.' + ), + 'Innodb_data_fsyncs' => __( + 'The number of fsync() operations so far.' + ), + 'Innodb_data_pending_fsyncs' => __( + 'The current number of pending fsync() operations.' + ), + 'Innodb_data_pending_reads' => __( + 'The current number of pending reads.' + ), + 'Innodb_data_pending_writes' => __( + 'The current number of pending writes.' + ), + 'Innodb_data_read' => __( + 'The amount of data read so far, in bytes.' + ), + 'Innodb_data_reads' => __( + 'The total number of data reads.' + ), + 'Innodb_data_writes' => __( + 'The total number of data writes.' + ), + 'Innodb_data_written' => __( + 'The amount of data written so far, in bytes.' + ), + 'Innodb_dblwr_pages_written' => __( + 'The number of pages that have been written for' + . ' doublewrite operations.' + ), + 'Innodb_dblwr_writes' => __( + 'The number of doublewrite operations that have been performed.' + ), + 'Innodb_log_waits' => __( + 'The number of waits we had because log buffer was too small and' + . ' we had to wait for it to be flushed before continuing.' + ), + 'Innodb_log_write_requests' => __( + 'The number of log write requests.' + ), + 'Innodb_log_writes' => __( + 'The number of physical writes to the log file.' + ), + 'Innodb_os_log_fsyncs' => __( + 'The number of fsync() writes done to the log file.' + ), + 'Innodb_os_log_pending_fsyncs' => __( + 'The number of pending log file fsyncs.' + ), + 'Innodb_os_log_pending_writes' => __( + 'Pending log file writes.' + ), + 'Innodb_os_log_written' => __( + 'The number of bytes written to the log file.' + ), + 'Innodb_pages_created' => __( + 'The number of pages created.' + ), + 'Innodb_page_size' => __( + 'The compiled-in InnoDB page size (default 16KB). Many values are' + . ' counted in pages; the page size allows them to be easily' + . ' converted to bytes.' + ), + 'Innodb_pages_read' => __( + 'The number of pages read.' + ), + 'Innodb_pages_written' => __( + 'The number of pages written.' + ), + 'Innodb_row_lock_current_waits' => __( + 'The number of row locks currently being waited for.' + ), + 'Innodb_row_lock_time_avg' => __( + 'The average time to acquire a row lock, in milliseconds.' + ), + 'Innodb_row_lock_time' => __( + 'The total time spent in acquiring row locks, in milliseconds.' + ), + 'Innodb_row_lock_time_max' => __( + 'The maximum time to acquire a row lock, in milliseconds.' + ), + 'Innodb_row_lock_waits' => __( + 'The number of times a row lock had to be waited for.' + ), + 'Innodb_rows_deleted' => __( + 'The number of rows deleted from InnoDB tables.' + ), + 'Innodb_rows_inserted' => __( + 'The number of rows inserted in InnoDB tables.' + ), + 'Innodb_rows_read' => __( + 'The number of rows read from InnoDB tables.' + ), + 'Innodb_rows_updated' => __( + 'The number of rows updated in InnoDB tables.' + ), + 'Key_blocks_not_flushed' => __( + 'The number of key blocks in the key cache that have changed but' + . ' haven\'t yet been flushed to disk. It used to be known as' + . ' Not_flushed_key_blocks.' + ), + 'Key_blocks_unused' => __( + 'The number of unused blocks in the key cache. You can use this' + . ' value to determine how much of the key cache is in use.' + ), + 'Key_blocks_used' => __( + 'The number of used blocks in the key cache. This value is a' + . ' high-water mark that indicates the maximum number of blocks' + . ' that have ever been in use at one time.' + ), + 'Key_buffer_fraction_%' => __( + 'Percentage of used key cache (calculated value)' + ), + 'Key_read_requests' => __( + 'The number of requests to read a key block from the cache.' + ), + 'Key_reads' => __( + 'The number of physical reads of a key block from disk. If Key_reads' + . ' is big, then your key_buffer_size value is probably too small.' + . ' The cache miss rate can be calculated as' + . ' Key_reads/Key_read_requests.' + ), + 'Key_read_ratio_%' => __( + 'Key cache miss calculated as rate of physical reads compared' + . ' to read requests (calculated value)' + ), + 'Key_write_requests' => __( + 'The number of requests to write a key block to the cache.' + ), + 'Key_writes' => __( + 'The number of physical writes of a key block to disk.' + ), + 'Key_write_ratio_%' => __( + 'Percentage of physical writes compared' + . ' to write requests (calculated value)' + ), + 'Last_query_cost' => __( + 'The total cost of the last compiled query as computed by the query' + . ' optimizer. Useful for comparing the cost of different query' + . ' plans for the same query. The default value of 0 means that' + . ' no query has been compiled yet.' + ), + 'Max_used_connections' => __( + 'The maximum number of connections that have been in use' + . ' simultaneously since the server started.' + ), + 'Not_flushed_delayed_rows' => __( + 'The number of rows waiting to be written in INSERT DELAYED queues.' + ), + 'Opened_tables' => __( + 'The number of tables that have been opened. If opened tables is' + . ' big, your table cache value is probably too small.' + ), + 'Open_files' => __( + 'The number of files that are open.' + ), + 'Open_streams' => __( + 'The number of streams that are open (used mainly for logging).' + ), + 'Open_tables' => __( + 'The number of tables that are open.' + ), + 'Qcache_free_blocks' => __( + 'The number of free memory blocks in query cache. High numbers can' + . ' indicate fragmentation issues, which may be solved by issuing' + . ' a FLUSH QUERY CACHE statement.' + ), + 'Qcache_free_memory' => __( + 'The amount of free memory for query cache.' + ), + 'Qcache_hits' => __( + 'The number of cache hits.' + ), + 'Qcache_inserts' => __( + 'The number of queries added to the cache.' + ), + 'Qcache_lowmem_prunes' => __( + 'The number of queries that have been removed from the cache to' + . ' free up memory for caching new queries. This information can' + . ' help you tune the query cache size. The query cache uses a' + . ' least recently used (LRU) strategy to decide which queries' + . ' to remove from the cache.' + ), + 'Qcache_not_cached' => __( + 'The number of non-cached queries (not cachable, or not cached' + . ' due to the query_cache_type setting).' + ), + 'Qcache_queries_in_cache' => __( + 'The number of queries registered in the cache.' + ), + 'Qcache_total_blocks' => __( + 'The total number of blocks in the query cache.' + ), + 'Rpl_status' => __( + 'The status of failsafe replication (not yet implemented).' + ), + 'Select_full_join' => __( + 'The number of joins that do not use indexes. If this value is' + . ' not 0, you should carefully check the indexes of your tables.' + ), + 'Select_full_range_join' => __( + 'The number of joins that used a range search on a reference table.' + ), + 'Select_range_check' => __( + 'The number of joins without keys that check for key usage after' + . ' each row. (If this is not 0, you should carefully check the' + . ' indexes of your tables.)' + ), + 'Select_range' => __( + 'The number of joins that used ranges on the first table. (It\'s' + . ' normally not critical even if this is big.)' + ), + 'Select_scan' => __( + 'The number of joins that did a full scan of the first table.' + ), + 'Slave_open_temp_tables' => __( + 'The number of temporary tables currently' + . ' open by the slave SQL thread.' + ), + 'Slave_retried_transactions' => __( + 'Total (since startup) number of times the replication slave SQL' + . ' thread has retried transactions.' + ), + 'Slave_running' => __( + 'This is ON if this server is a slave that is connected to a master.' + ), + 'Slow_launch_threads' => __( + 'The number of threads that have taken more than slow_launch_time' + . ' seconds to create.' + ), + 'Slow_queries' => __( + 'The number of queries that have taken more than long_query_time' + . ' seconds.' + ), + 'Sort_merge_passes' => __( + 'The number of merge passes the sort algorithm has had to do.' + . ' If this value is large, you should consider increasing the' + . ' value of the sort_buffer_size system variable.' + ), + 'Sort_range' => __( + 'The number of sorts that were done with ranges.' + ), + 'Sort_rows' => __( + 'The number of sorted rows.' + ), + 'Sort_scan' => __( + 'The number of sorts that were done by scanning the table.' + ), + 'Table_locks_immediate' => __( + 'The number of times that a table lock was acquired immediately.' + ), + 'Table_locks_waited' => __( + 'The number of times that a table lock could not be acquired' + . ' immediately and a wait was needed. If this is high, and you have' + . ' performance problems, you should first optimize your queries,' + . ' and then either split your table or tables or use replication.' + ), + 'Threads_cached' => __( + 'The number of threads in the thread cache. The cache hit rate can' + . ' be calculated as Threads_created/Connections. If this value is' + . ' red you should raise your thread_cache_size.' + ), + 'Threads_connected' => __( + 'The number of currently open connections.' + ), + 'Threads_created' => __( + 'The number of threads created to handle connections. If' + . ' Threads_created is big, you may want to increase the' + . ' thread_cache_size value. (Normally this doesn\'t give a notable' + . ' performance improvement if you have a good thread' + . ' implementation.)' + ), + 'Threads_cache_hitrate_%' => __( + 'Thread cache hit rate (calculated value)' + ), + 'Threads_running' => __( + 'The number of threads that are not sleeping.' + ) + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/UserGroups.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/UserGroups.php new file mode 100644 index 00000000..b098b073 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/UserGroups.php @@ -0,0 +1,376 @@ +' + . sprintf(__('Users of \'%s\' user group'), htmlspecialchars($userGroup)) + . ''; + + $cfgRelation = $relation->getRelationsParam(); + $usersTable = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['users']); + $sql_query = "SELECT `username` FROM " . $usersTable + . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) + . "'"; + $result = $relation->queryAsControlUser($sql_query, false); + if ($result) { + if ($GLOBALS['dbi']->numRows($result) == 0) { + $html_output .= '

    ' + . __('No users were found belonging to this user group.') + . '

    '; + } else { + $html_output .= '' + . '' + . ''; + $i = 0; + while ($row = $GLOBALS['dbi']->fetchRow($result)) { + $i++; + $html_output .= '' + . '' + . '' + . ''; + } + $html_output .= '' + . '
    #' . __('User') . '
    ' . $i . ' ' . htmlspecialchars($row[0]) . '
    '; + } + } + $GLOBALS['dbi']->freeResult($result); + return $html_output; + } + + /** + * Returns HTML for the 'user groups' table + * + * @return string HTML for the 'user groups' table + */ + public static function getHtmlForUserGroupsTable() + { + $relation = new Relation(); + $html_output = '

    ' . __('User groups') . '

    '; + $cfgRelation = $relation->getRelationsParam(); + $groupTable = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['usergroups']); + $sql_query = "SELECT * FROM " . $groupTable . " ORDER BY `usergroup` ASC"; + $result = $relation->queryAsControlUser($sql_query, false); + + if ($result && $GLOBALS['dbi']->numRows($result)) { + $html_output .= '
    '; + $html_output .= Url::getHiddenInputs(); + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + + $userGroups = array(); + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + $groupName = $row['usergroup']; + if (! isset($userGroups[$groupName])) { + $userGroups[$groupName] = array(); + } + $userGroups[$groupName][$row['tab']] = $row['allowed']; + } + foreach ($userGroups as $groupName => $tabs) { + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + $html_output .= ''; + + $html_output .= ''; + + $html_output .= ''; + } + + $html_output .= ''; + $html_output .= '
    ' + . __('User group') . '' . __('Server level tabs') . '' . __('Database level tabs') . '' . __('Table level tabs') . '' . __('Action') . '
    ' . htmlspecialchars($groupName) . '' . self::getAllowedTabNames($tabs, 'server') . '' . self::getAllowedTabNames($tabs, 'db') . '' . self::getAllowedTabNames($tabs, 'table') . ''; + $html_output .= '' + . Util::getIcon('b_usrlist', __('View users')) + . ''; + $html_output .= '  '; + $html_output .= '' + . Util::getIcon('b_edit', __('Edit')) . ''; + $html_output .= '  '; + $html_output .= '' + . Util::getIcon('b_drop', __('Delete')) . ''; + $html_output .= '
    '; + $html_output .= '
    '; + } + $GLOBALS['dbi']->freeResult($result); + + $html_output .= '
    '; + $html_output .= '' + . Util::getIcon('b_usradd') + . __('Add user group') . ''; + $html_output .= '
    '; + + return $html_output; + } + + /** + * Returns the list of allowed menu tab names + * based on a data row from usergroup table. + * + * @param array $row row of usergroup table + * @param string $level 'server', 'db' or 'table' + * + * @return string comma separated list of allowed menu tab names + */ + public static function getAllowedTabNames(array $row, $level) + { + $tabNames = array(); + $tabs = Util::getMenuTabList($level); + foreach ($tabs as $tab => $tabName) { + if (! isset($row[$level . '_' . $tab]) + || $row[$level . '_' . $tab] == 'Y' + ) { + $tabNames[] = $tabName; + } + } + return implode(', ', $tabNames); + } + + /** + * Deletes a user group + * + * @param string $userGroup user group name + * + * @return void + */ + public static function delete($userGroup) + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + $userTable = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['users']); + $groupTable = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['usergroups']); + $sql_query = "DELETE FROM " . $userTable + . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) + . "'"; + $relation->queryAsControlUser($sql_query, true); + $sql_query = "DELETE FROM " . $groupTable + . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) + . "'"; + $relation->queryAsControlUser($sql_query, true); + } + + /** + * Returns HTML for add/edit user group dialog + * + * @param string $userGroup name of the user group in case of editing + * + * @return string HTML for add/edit user group dialog + */ + public static function getHtmlToEditUserGroup($userGroup = null) + { + $relation = new Relation(); + $html_output = ''; + if ($userGroup == null) { + $html_output .= '

    ' . __('Add user group') . '

    '; + } else { + $html_output .= '

    ' + . sprintf(__('Edit user group: \'%s\''), htmlspecialchars($userGroup)) + . '

    '; + } + + $html_output .= '
    '; + $urlParams = array(); + if ($userGroup != null) { + $urlParams['userGroup'] = $userGroup; + $urlParams['editUserGroupSubmit'] = '1'; + } else { + $urlParams['addUserGroupSubmit'] = '1'; + } + $html_output .= Url::getHiddenInputs($urlParams); + + $html_output .= '
    '; + $html_output .= '' . __('User group menu assignments') + . '   ' + . '' + . '' + . ''; + + if ($userGroup == null) { + $html_output .= ''; + $html_output .= ''; + $html_output .= '
    '; + } + + $allowedTabs = array( + 'server' => array(), + 'db' => array(), + 'table' => array() + ); + if ($userGroup != null) { + $cfgRelation = $relation->getRelationsParam(); + $groupTable = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['usergroups']); + $sql_query = "SELECT * FROM " . $groupTable + . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) + . "'"; + $result = $relation->queryAsControlUser($sql_query, false); + if ($result) { + while ($row = $GLOBALS['dbi']->fetchAssoc($result)) { + $key = $row['tab']; + $value = $row['allowed']; + if (substr($key, 0, 7) == 'server_' && $value == 'Y') { + $allowedTabs['server'][] = mb_substr($key, 7); + } elseif (substr($key, 0, 3) == 'db_' && $value == 'Y') { + $allowedTabs['db'][] = mb_substr($key, 3); + } elseif (substr($key, 0, 6) == 'table_' + && $value == 'Y' + ) { + $allowedTabs['table'][] = mb_substr($key, 6); + } + } + } + $GLOBALS['dbi']->freeResult($result); + } + + $html_output .= self::getTabList( + __('Server-level tabs'), 'server', $allowedTabs['server'] + ); + $html_output .= self::getTabList( + __('Database-level tabs'), 'db', $allowedTabs['db'] + ); + $html_output .= self::getTabList( + __('Table-level tabs'), 'table', $allowedTabs['table'] + ); + + $html_output .= '
    '; + + $html_output .= ''; + + return $html_output; + } + + /** + * Returns HTML for checkbox groups to choose + * tabs of 'server', 'db' or 'table' levels. + * + * @param string $title title of the checkbox group + * @param string $level 'server', 'db' or 'table' + * @param array $selected array of selected allowed tabs + * + * @return string HTML for checkbox groups + */ + public static function getTabList($title, $level, array $selected) + { + $tabs = Util::getMenuTabList($level); + $html_output = '
    '; + $html_output .= '' . $title . ''; + foreach ($tabs as $tab => $tabName) { + $html_output .= '
    '; + $html_output .= ''; + $html_output .= ''; + $html_output .= '
    '; + } + $html_output .= '
    '; + return $html_output; + } + + /** + * Add/update a user group with allowed menu tabs. + * + * @param string $userGroup user group name + * @param boolean $new whether this is a new user group + * + * @return void + */ + public static function edit($userGroup, $new = false) + { + $relation = new Relation(); + $tabs = Util::getMenuTabList(); + $cfgRelation = $relation->getRelationsParam(); + $groupTable = Util::backquote($cfgRelation['db']) + . "." . Util::backquote($cfgRelation['usergroups']); + + if (! $new) { + $sql_query = "DELETE FROM " . $groupTable + . " WHERE `usergroup`='" . $GLOBALS['dbi']->escapeString($userGroup) + . "';"; + $relation->queryAsControlUser($sql_query, true); + } + + $sql_query = "INSERT INTO " . $groupTable + . "(`usergroup`, `tab`, `allowed`)" + . " VALUES "; + $first = true; + foreach ($tabs as $tabGroupName => $tabGroup) { + foreach ($tabGroup as $tab => $tabName) { + if (! $first) { + $sql_query .= ", "; + } + $tabName = $tabGroupName . '_' . $tab; + $allowed = isset($_REQUEST[$tabName]) && $_REQUEST[$tabName] == 'Y'; + $sql_query .= "('" . $GLOBALS['dbi']->escapeString($userGroup) . "', '" . $tabName . "', '" + . ($allowed ? "Y" : "N") . "')"; + $first = false; + } + } + $sql_query .= ";"; + $relation->queryAsControlUser($sql_query, true); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Users.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Users.php new file mode 100644 index 00000000..bd505898 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Server/Users.php @@ -0,0 +1,62 @@ + __('User accounts overview'), + 'url' => 'server_privileges.php', + 'params' => Url::getCommon(array('viewing_mode' => 'server')), + ) + ); + + if ($GLOBALS['dbi']->isSuperuser()) { + $items[] = array( + 'name' => __('User groups'), + 'url' => 'server_user_groups.php', + 'params' => Url::getCommon(), + ); + } + + $retval = '
      '; + foreach ($items as $item) { + $class = ''; + if ($item['url'] === $selfUrl) { + $class = ' class="tabactive"'; + } + $retval .= '
    • '; + $retval .= ''; + $retval .= $item['name']; + $retval .= ''; + $retval .= '
    • '; + } + $retval .= '
    '; + $retval .= '
    '; + + return $retval; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Session.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Session.php new file mode 100644 index 00000000..45799d4b --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Session.php @@ -0,0 +1,235 @@ +getMessage()) + ); + } + + /* + * Session initialization is done before selecting language, so we + * can not use translations here. + */ + Core::fatalError( + 'Error during session start; please check your PHP and/or ' + . 'webserver log file and configure your PHP ' + . 'installation properly. Also ensure that cookies are enabled ' + . 'in your browser.' + . '

    ' + . implode('

    ', $messages) + ); + } + + /** + * Set up session + * + * @param PhpMyAdmin\Config $config Configuration handler + * @param PhpMyAdmin\ErrorHandler $errorHandler Error handler + * @return void + */ + public static function setUp(Config $config, ErrorHandler $errorHandler) + { + // verify if PHP supports session, die if it does not + if (!function_exists('session_name')) { + Core::warnMissingExtension('session', true); + } elseif (! empty(ini_get('session.auto_start')) + && session_name() != 'phpMyAdmin' + && !empty(session_id())) { + // Do not delete the existing non empty session, it might be used by + // other applications; instead just close it. + if (empty($_SESSION)) { + // Ignore errors as this might have been destroyed in other + // request meanwhile + @session_destroy(); + } elseif (function_exists('session_abort')) { + // PHP 5.6 and newer + session_abort(); + } else { + session_write_close(); + } + } + + // session cookie settings + session_set_cookie_params( + 0, $config->getRootPath(), + '', $config->isHttps(), true + ); + + // cookies are safer (use ini_set() in case this function is disabled) + ini_set('session.use_cookies', 'true'); + + // optionally set session_save_path + $path = $config->get('SessionSavePath'); + if (!empty($path)) { + session_save_path($path); + // We can not do this unconditionally as this would break + // any more complex setup (eg. cluster), see + // https://github.com/phpmyadmin/phpmyadmin/issues/8346 + ini_set('session.save_handler', 'files'); + } + + // use cookies only + ini_set('session.use_only_cookies', '1'); + // strict session mode (do not accept random string as session ID) + ini_set('session.use_strict_mode', '1'); + // make the session cookie HttpOnly + ini_set('session.cookie_httponly', '1'); + // do not force transparent session ids + ini_set('session.use_trans_sid', '0'); + + // delete session/cookies when browser is closed + ini_set('session.cookie_lifetime', '0'); + + // warn but don't work with bug + ini_set('session.bug_compat_42', 'false'); + ini_set('session.bug_compat_warn', 'true'); + + // use more secure session ids + ini_set('session.hash_function', '1'); + + // some pages (e.g. stylesheet) may be cached on clients, but not in shared + // proxy servers + session_cache_limiter('private'); + + $session_name = 'phpMyAdmin'; + @session_name($session_name); + + // Restore correct sesion ID (it might have been reset by auto started session + if (isset($_COOKIE['phpMyAdmin'])) { + session_id($_COOKIE['phpMyAdmin']); + } + + // on first start of session we check for errors + // f.e. session dir cannot be accessed - session file not created + $orig_error_count = $errorHandler->countErrors(false); + + $session_result = session_start(); + + if ($session_result !== true + || $orig_error_count != $errorHandler->countErrors(false) + ) { + setcookie($session_name, '', 1); + $errors = $errorHandler->sliceErrors($orig_error_count); + self::sessionFailed($errors); + } + unset($orig_error_count, $session_result); + + /** + * Disable setting of session cookies for further session_start() calls. + */ + if(session_status() !== PHP_SESSION_ACTIVE) { + ini_set('session.use_cookies', 'true'); + } + + /** + * Token which is used for authenticating access queries. + * (we use "space PMA_token space" to prevent overwriting) + */ + if (empty($_SESSION[' PMA_token '])) { + self::generateToken(); + + /** + * Check for disk space on session storage by trying to write it. + * + * This seems to be most reliable approach to test if sessions are working, + * otherwise the check would fail with custom session backends. + */ + $orig_error_count = $errorHandler->countErrors(); + session_write_close(); + if ($errorHandler->countErrors() > $orig_error_count) { + $errors = $errorHandler->sliceErrors($orig_error_count); + self::sessionFailed($errors); + } + session_start(); + if (empty($_SESSION[' PMA_token '])) { + Core::fatalError( + 'Failed to store CSRF token in session! ' . + 'Probably sessions are not working properly.' + ); + } + } + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Sql.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Sql.php new file mode 100644 index 00000000..f3c40b60 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Sql.php @@ -0,0 +1,2307 @@ +relation = new Relation(); + } + + /** + * Parses and analyzes the given SQL query. + * + * @param string $sql_query SQL query + * @param string $db DB name + * + * @return mixed + */ + public function parseAndAnalyze($sql_query, $db = null) + { + if (is_null($db) && isset($GLOBALS['db']) && strlen($GLOBALS['db'])) { + $db = $GLOBALS['db']; + } + list($analyzed_sql_results,,) = ParseAnalyze::sqlQuery($sql_query, $db); + return $analyzed_sql_results; + } + + /** + * Handle remembered sorting order, only for single table query + * + * @param string $db database name + * @param string $table table name + * @param array &$analyzed_sql_results the analyzed query results + * @param string &$full_sql_query SQL query + * + * @return void + */ + private function handleSortOrder( + $db, $table, array &$analyzed_sql_results, &$full_sql_query + ) { + $pmatable = new Table($table, $db); + + if (empty($analyzed_sql_results['order'])) { + + // Retrieving the name of the column we should sort after. + $sortCol = $pmatable->getUiProp(Table::PROP_SORTED_COLUMN); + if (empty($sortCol)) { + return; + } + + // Remove the name of the table from the retrieved field name. + $sortCol = str_replace( + Util::backquote($table) . '.', + '', + $sortCol + ); + + // Create the new query. + $full_sql_query = Query::replaceClause( + $analyzed_sql_results['statement'], + $analyzed_sql_results['parser']->list, + 'ORDER BY ' . $sortCol + ); + + // TODO: Avoid reparsing the query. + $analyzed_sql_results = Query::getAll($full_sql_query); + } else { + // Store the remembered table into session. + $pmatable->setUiProp( + Table::PROP_SORTED_COLUMN, + Query::getClause( + $analyzed_sql_results['statement'], + $analyzed_sql_results['parser']->list, + 'ORDER BY' + ) + ); + } + } + + /** + * Append limit clause to SQL query + * + * @param array &$analyzed_sql_results the analyzed query results + * + * @return string limit clause appended SQL query + */ + private function getSqlWithLimitClause(array &$analyzed_sql_results) + { + return Query::replaceClause( + $analyzed_sql_results['statement'], + $analyzed_sql_results['parser']->list, + 'LIMIT ' . $_SESSION['tmpval']['pos'] . ', ' + . $_SESSION['tmpval']['max_rows'] + ); + } + + /** + * Verify whether the result set has columns from just one table + * + * @param array $fields_meta meta fields + * + * @return boolean whether the result set has columns from just one table + */ + private function resultSetHasJustOneTable(array $fields_meta) + { + $just_one_table = true; + $prev_table = ''; + foreach ($fields_meta as $one_field_meta) { + if ($one_field_meta->table != '' + && $prev_table != '' + && $one_field_meta->table != $prev_table + ) { + $just_one_table = false; + } + if ($one_field_meta->table != '') { + $prev_table = $one_field_meta->table; + } + } + return $just_one_table && $prev_table != ''; + } + + /** + * Verify whether the result set contains all the columns + * of at least one unique key + * + * @param string $db database name + * @param string $table table name + * @param array $fields_meta meta fields + * + * @return boolean whether the result set contains a unique key + */ + private function resultSetContainsUniqueKey($db, $table, array $fields_meta) + { + $resultSetColumnNames = array(); + foreach ($fields_meta as $oneMeta) { + $resultSetColumnNames[] = $oneMeta->name; + } + foreach (Index::getFromTable($table, $db) as $index) { + if ($index->isUnique()) { + $indexColumns = $index->getColumns(); + $numberFound = 0; + foreach ($indexColumns as $indexColumnName => $dummy) { + if (in_array($indexColumnName, $resultSetColumnNames)) { + $numberFound++; + } + } + if ($numberFound == count($indexColumns)) { + return true; + } + } + } + return false; + } + + /** + * Get the HTML for relational column dropdown + * During grid edit, if we have a relational field, returns the html for the + * dropdown + * + * @param string $db current database + * @param string $table current table + * @param string $column current column + * @param string $curr_value current selected value + * + * @return string $dropdown html for the dropdown + */ + private function getHtmlForRelationalColumnDropdown($db, $table, $column, $curr_value) + { + $foreigners = $this->relation->getForeigners($db, $table, $column); + + $foreignData = $this->relation->getForeignData($foreigners, $column, false, '', ''); + + if ($foreignData['disp_row'] == null) { + //Handle the case when number of values + //is more than $cfg['ForeignKeyMaxLimit'] + $_url_params = array( + 'db' => $db, + 'table' => $table, + 'field' => $column + ); + + $dropdown = '' + . htmlspecialchars($_REQUEST['curr_value']) + . '' + . '' + . __('Browse foreign values') + . ''; + } else { + $dropdown = $this->relation->foreignDropdown( + $foreignData['disp_row'], + $foreignData['foreign_field'], + $foreignData['foreign_display'], + $curr_value, + $GLOBALS['cfg']['ForeignKeyMaxLimit'] + ); + $dropdown = ''; + } + + return $dropdown; + } + + /** + * Get the HTML for the profiling table and accompanying chart if profiling is set. + * Otherwise returns null + * + * @param string $url_query url query + * @param string $db current database + * @param array $profiling_results array containing the profiling info + * + * @return string $profiling_table html for the profiling table and chart + */ + private function getHtmlForProfilingChart($url_query, $db, $profiling_results) + { + if (! empty($profiling_results)) { + $url_query = isset($url_query) + ? $url_query + : Url::getCommon(array('db' => $db)); + + $profiling_table = ''; + $profiling_table .= '
    ' . __('Profiling') + . '' . "\n"; + $profiling_table .= '
    '; + $profiling_table .= '

    ' . __('Detailed profile') . '

    '; + $profiling_table .= '' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + list($detailed_table, $chart_json, $profiling_stats) + = $this->analyzeAndGetTableHtmlForProfilingResults($profiling_results); + $profiling_table .= $detailed_table; + $profiling_table .= '
    ' . __('Order') + . '
    ' . __('State') + . Util::showMySQLDocu('general-thread-states') + . '
    ' . __('Time') + . '
    ' . "\n"; + $profiling_table .= '
    '; + + $profiling_table .= '
    '; + $profiling_table .= '

    ' . __('Summary by state') . '

    '; + $profiling_table .= '' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= ' ' . "\n"; + $profiling_table .= $this->getTableHtmlForProfilingSummaryByState( + $profiling_stats + ); + $profiling_table .= '
    ' . __('State') + . Util::showMySQLDocu('general-thread-states') + . '
    ' . __('Total Time') + . '
    ' . __('% Time') + . '
    ' . __('Calls') + . '
    ' . __('ø Time') + . '
    ' . "\n"; + + $profiling_table .= << + url_query = '$url_query'; + +EOT; + $profiling_table .= "
    "; + $profiling_table .= "
    "; + + //require_once 'libraries/chart.lib.php'; + $profiling_table .= '
    '; + $profiling_table .= json_encode($chart_json); + $profiling_table .= '
    '; + $profiling_table .= '
    '; + $profiling_table .= '
    '; + $profiling_table .= ''; + $profiling_table .= '
    ' . "\n"; + } else { + $profiling_table = null; + } + return $profiling_table; + } + + /** + * Function to get HTML for detailed profiling results table, profiling stats, and + * $chart_json for displaying the chart. + * + * @param array $profiling_results profiling results + * + * @return mixed + */ + private function analyzeAndGetTableHtmlForProfilingResults( + $profiling_results + ) { + $profiling_stats = array( + 'total_time' => 0, + 'states' => array(), + ); + $chart_json = Array(); + $i = 1; + $table = ''; + foreach ($profiling_results as $one_result) { + if (isset($profiling_stats['states'][ucwords($one_result['Status'])])) { + $states = $profiling_stats['states']; + $states[ucwords($one_result['Status'])]['total_time'] + += $one_result['Duration']; + $states[ucwords($one_result['Status'])]['calls']++; + } else { + $profiling_stats['states'][ucwords($one_result['Status'])] = array( + 'total_time' => $one_result['Duration'], + 'calls' => 1, + ); + } + $profiling_stats['total_time'] += $one_result['Duration']; + + $table .= ' ' . "\n"; + $table .= '' . $i++ . '' . "\n"; + $table .= '' . ucwords($one_result['Status']) + . '' . "\n"; + $table .= '' + . (Util::formatNumber($one_result['Duration'], 3, 1)) + . 's' + . $one_result['Duration'] . '' . "\n"; + if (isset($chart_json[ucwords($one_result['Status'])])) { + $chart_json[ucwords($one_result['Status'])] + += $one_result['Duration']; + } else { + $chart_json[ucwords($one_result['Status'])] + = $one_result['Duration']; + } + } + return array($table, $chart_json, $profiling_stats); + } + + /** + * Function to get HTML for summary by state table + * + * @param array $profiling_stats profiling stats + * + * @return string $table html for the table + */ + private function getTableHtmlForProfilingSummaryByState(array $profiling_stats) + { + $table = ''; + foreach ($profiling_stats['states'] as $name => $stats) { + $table .= ' ' . "\n"; + $table .= '' . $name . '' . "\n"; + $table .= '' + . Util::formatNumber($stats['total_time'], 3, 1) + . 's' + . $stats['total_time'] . '' . "\n"; + $table .= '' + . Util::formatNumber( + 100 * ($stats['total_time'] / $profiling_stats['total_time']), + 0, 2 + ) + . '%' . "\n"; + $table .= '' . $stats['calls'] . '' + . "\n"; + $table .= '' + . Util::formatNumber( + $stats['total_time'] / $stats['calls'], 3, 1 + ) + . 's' + . number_format($stats['total_time'] / $stats['calls'], 8, '.', '') + . '' . "\n"; + $table .= ' ' . "\n"; + } + return $table; + } + + /** + * Get the HTML for the enum column dropdown + * During grid edit, if we have a enum field, returns the html for the + * dropdown + * + * @param string $db current database + * @param string $table current table + * @param string $column current column + * @param string $curr_value currently selected value + * + * @return string $dropdown html for the dropdown + */ + private function getHtmlForEnumColumnDropdown($db, $table, $column, $curr_value) + { + $values = $this->getValuesForColumn($db, $table, $column); + $dropdown = ''; + $dropdown .= $this->getHtmlForOptionsList($values, array($curr_value)); + $dropdown = ''; + return $dropdown; + } + + /** + * Get value of a column for a specific row (marked by $where_clause) + * + * @param string $db current database + * @param string $table current table + * @param string $column current column + * @param string $where_clause where clause to select a particular row + * + * @return string with value + */ + private function getFullValuesForSetColumn($db, $table, $column, $where_clause) + { + $result = $GLOBALS['dbi']->fetchSingleRow( + "SELECT `$column` FROM `$db`.`$table` WHERE $where_clause" + ); + + return $result[$column]; + } + + /** + * Get the HTML for the set column dropdown + * During grid edit, if we have a set field, returns the html for the + * dropdown + * + * @param string $db current database + * @param string $table current table + * @param string $column current column + * @param string $curr_value currently selected value + * + * @return string $dropdown html for the set column + */ + private function getHtmlForSetColumn($db, $table, $column, $curr_value) + { + $values = $this->getValuesForColumn($db, $table, $column); + $dropdown = ''; + $full_values = + isset($_REQUEST['get_full_values']) ? $_REQUEST['get_full_values'] : false; + $where_clause = + isset($_REQUEST['where_clause']) ? $_REQUEST['where_clause'] : null; + + // If the $curr_value was truncated, we should + // fetch the correct full values from the table + if ($full_values && ! empty($where_clause)) { + $curr_value = $this->getFullValuesForSetColumn( + $db, $table, $column, $where_clause + ); + } + + //converts characters of $curr_value to HTML entities + $converted_curr_value = htmlentities( + $curr_value, ENT_COMPAT, "UTF-8" + ); + + $selected_values = explode(',', $converted_curr_value); + + $dropdown .= $this->getHtmlForOptionsList($values, $selected_values); + + $select_size = (sizeof($values) > 10) ? 10 : sizeof($values); + $dropdown = ''; + + return $dropdown; + } + + /** + * Get all the values for a enum column or set column in a table + * + * @param string $db current database + * @param string $table current table + * @param string $column current column + * + * @return array $values array containing the value list for the column + */ + private function getValuesForColumn($db, $table, $column) + { + $field_info_query = $GLOBALS['dbi']->getColumnsSql($db, $table, $column); + + $field_info_result = $GLOBALS['dbi']->fetchResult( + $field_info_query, + null, + null, + DatabaseInterface::CONNECT_USER, + DatabaseInterface::QUERY_STORE + ); + + $values = Util::parseEnumSetValues($field_info_result[0]['Type']); + + return $values; + } + + /** + * Get HTML for options list + * + * @param array $values set of values + * @param array $selected_values currently selected values + * + * @return string $options HTML for options list + */ + private function getHtmlForOptionsList(array $values, array $selected_values) + { + $options = ''; + foreach ($values as $value) { + $options .= '
    '; + + } else { + $html = null; + } + + return $html; + } + + /** + * Function to check whether to remember the sorting order or not + * + * @param array $analyzed_sql_results the analyzed query and other variables set + * after analyzing the query + * + * @return boolean + */ + private function isRememberSortingOrder(array $analyzed_sql_results) + { + return $GLOBALS['cfg']['RememberSorting'] + && ! ($analyzed_sql_results['is_count'] + || $analyzed_sql_results['is_export'] + || $analyzed_sql_results['is_func'] + || $analyzed_sql_results['is_analyse']) + && $analyzed_sql_results['select_from'] + && isset($analyzed_sql_results['select_expr']) + && isset($analyzed_sql_results['select_tables']) + && ((empty($analyzed_sql_results['select_expr'])) + || ((count($analyzed_sql_results['select_expr']) == 1) + && ($analyzed_sql_results['select_expr'][0] == '*'))) + && count($analyzed_sql_results['select_tables']) == 1; + } + + /** + * Function to check whether the LIMIT clause should be appended or not + * + * @param array $analyzed_sql_results the analyzed query and other variables set + * after analyzing the query + * + * @return boolean + */ + private function isAppendLimitClause(array $analyzed_sql_results) + { + // Assigning LIMIT clause to an syntactically-wrong query + // is not needed. Also we would want to show the true query + // and the true error message to the query executor + + return (isset($analyzed_sql_results['parser']) + && count($analyzed_sql_results['parser']->errors) === 0) + && ($_SESSION['tmpval']['max_rows'] != 'all') + && ! ($analyzed_sql_results['is_export'] + || $analyzed_sql_results['is_analyse']) + && ($analyzed_sql_results['select_from'] + || $analyzed_sql_results['is_subquery']) + && empty($analyzed_sql_results['limit']); + } + + /** + * Function to check whether this query is for just browsing + * + * @param array $analyzed_sql_results the analyzed query and other variables set + * after analyzing the query + * @param boolean $find_real_end whether the real end should be found + * + * @return boolean + */ + public function isJustBrowsing(array $analyzed_sql_results, $find_real_end) + { + return ! $analyzed_sql_results['is_group'] + && ! $analyzed_sql_results['is_func'] + && empty($analyzed_sql_results['union']) + && empty($analyzed_sql_results['distinct']) + && $analyzed_sql_results['select_from'] + && (count($analyzed_sql_results['select_tables']) === 1) + && (empty($analyzed_sql_results['statement']->where) + || (count($analyzed_sql_results['statement']->where) == 1 + && $analyzed_sql_results['statement']->where[0]->expr ==='1')) + && empty($analyzed_sql_results['group']) + && ! isset($find_real_end) + && ! $analyzed_sql_results['is_subquery'] + && ! $analyzed_sql_results['join'] + && empty($analyzed_sql_results['having']); + } + + /** + * Function to check whether the related transformation information should be deleted + * + * @param array $analyzed_sql_results the analyzed query and other variables set + * after analyzing the query + * + * @return boolean + */ + private function isDeleteTransformationInfo(array $analyzed_sql_results) + { + return !empty($analyzed_sql_results['querytype']) + && (($analyzed_sql_results['querytype'] == 'ALTER') + || ($analyzed_sql_results['querytype'] == 'DROP')); + } + + /** + * Function to check whether the user has rights to drop the database + * + * @param array $analyzed_sql_results the analyzed query and other variables set + * after analyzing the query + * @param boolean $allowUserDropDatabase whether the user is allowed to drop db + * @param boolean $is_superuser whether this user is a superuser + * + * @return boolean + */ + public function hasNoRightsToDropDatabase(array $analyzed_sql_results, + $allowUserDropDatabase, $is_superuser + ) { + return ! $allowUserDropDatabase + && isset($analyzed_sql_results['drop_database']) + && $analyzed_sql_results['drop_database'] + && ! $is_superuser; + } + + /** + * Function to set a column property + * + * @param Table $pmatable Table instance + * @param string $request_index col_order|col_visib + * + * @return boolean $retval + */ + private function setColumnProperty($pmatable, $request_index) + { + $property_value = array_map('intval', explode(',', $_REQUEST[$request_index])); + switch($request_index) { + case 'col_order': + $property_to_set = Table::PROP_COLUMN_ORDER; + break; + case 'col_visib': + $property_to_set = Table::PROP_COLUMN_VISIB; + break; + default: + $property_to_set = ''; + } + $retval = $pmatable->setUiProp( + $property_to_set, + $property_value, + $_REQUEST['table_create_time'] + ); + if (gettype($retval) != 'boolean') { + $response = Response::getInstance(); + $response->setRequestStatus(false); + $response->addJSON('message', $retval->getString()); + exit; + } + + return $retval; + } + + /** + * Function to check the request for setting the column order or visibility + * + * @param string $table the current table + * @param string $db the current database + * + * @return void + */ + public function setColumnOrderOrVisibility($table, $db) + { + $pmatable = new Table($table, $db); + $retval = false; + + // set column order + if (isset($_REQUEST['col_order'])) { + $retval = $this->setColumnProperty($pmatable, 'col_order'); + } + + // set column visibility + if ($retval === true && isset($_REQUEST['col_visib'])) { + $retval = $this->setColumnProperty($pmatable, 'col_visib'); + } + + $response = Response::getInstance(); + $response->setRequestStatus($retval == true); + exit; + } + + /** + * Function to add a bookmark + * + * @param string $goto goto page URL + * + * @return void + */ + public function addBookmark($goto) + { + $bookmark = Bookmark::createBookmark( + $GLOBALS['dbi'], + $GLOBALS['cfg']['Server']['user'], + $_POST['bkm_fields'], + (isset($_POST['bkm_all_users']) + && $_POST['bkm_all_users'] == 'true' ? true : false + ) + ); + $result = $bookmark->save(); + $response = Response::getInstance(); + if ($response->isAjax()) { + if ($result) { + $msg = Message::success(__('Bookmark %s has been created.')); + $msg->addParam($_POST['bkm_fields']['bkm_label']); + $response->addJSON('message', $msg); + } else { + $msg = Message::error(__('Bookmark not created!')); + $response->setRequestStatus(false); + $response->addJSON('message', $msg); + } + exit; + } else { + // go back to sql.php to redisplay query; do not use & in this case: + /** + * @todo In which scenario does this happen? + */ + Core::sendHeaderLocation( + './' . $goto + . '&label=' . $_POST['bkm_fields']['bkm_label'] + ); + } + } + + /** + * Function to find the real end of rows + * + * @param string $db the current database + * @param string $table the current table + * + * @return mixed the number of rows if "retain" param is true, otherwise true + */ + public function findRealEndOfRows($db, $table) + { + $unlim_num_rows = $GLOBALS['dbi']->getTable($db, $table)->countRecords(true); + $_SESSION['tmpval']['pos'] = $this->getStartPosToDisplayRow($unlim_num_rows); + + return $unlim_num_rows; + } + + /** + * Function to get values for the relational columns + * + * @param string $db the current database + * @param string $table the current table + * + * @return void + */ + public function getRelationalValues($db, $table) + { + $column = $_REQUEST['column']; + if ($_SESSION['tmpval']['relational_display'] == 'D' + && isset($_REQUEST['relation_key_or_display_column']) + && $_REQUEST['relation_key_or_display_column'] + ) { + $curr_value = $_REQUEST['relation_key_or_display_column']; + } else { + $curr_value = $_REQUEST['curr_value']; + } + $dropdown = $this->getHtmlForRelationalColumnDropdown( + $db, $table, $column, $curr_value + ); + $response = Response::getInstance(); + $response->addJSON('dropdown', $dropdown); + exit; + } + + /** + * Function to get values for Enum or Set Columns + * + * @param string $db the current database + * @param string $table the current table + * @param string $columnType whether enum or set + * + * @return void + */ + public function getEnumOrSetValues($db, $table, $columnType) + { + $column = $_REQUEST['column']; + $curr_value = $_REQUEST['curr_value']; + $response = Response::getInstance(); + if ($columnType == "enum") { + $dropdown = $this->getHtmlForEnumColumnDropdown( + $db, $table, $column, $curr_value + ); + $response->addJSON('dropdown', $dropdown); + } else { + $select = $this->getHtmlForSetColumn( + $db, $table, $column, $curr_value + ); + $response->addJSON('select', $select); + } + exit; + } + + /** + * Function to get the default sql query for browsing page + * + * @param string $db the current database + * @param string $table the current table + * + * @return string $sql_query the default $sql_query for browse page + */ + public function getDefaultSqlQueryForBrowse($db, $table) + { + $bookmark = Bookmark::get( + $GLOBALS['dbi'], + $GLOBALS['cfg']['Server']['user'], + $db, + $table, + 'label', + false, + true + ); + + if (! empty($bookmark) && ! empty($bookmark->getQuery())) { + $GLOBALS['using_bookmark_message'] = Message::notice( + __('Using bookmark "%s" as default browse query.') + ); + $GLOBALS['using_bookmark_message']->addParam($table); + $GLOBALS['using_bookmark_message']->addHtml( + Util::showDocu('faq', 'faq6-22') + ); + $sql_query = $bookmark->getQuery(); + } else { + + $defaultOrderByClause = ''; + + if (isset($GLOBALS['cfg']['TablePrimaryKeyOrder']) + && ($GLOBALS['cfg']['TablePrimaryKeyOrder'] !== 'NONE') + ) { + + $primaryKey = null; + $primary = Index::getPrimary($table, $db); + + if ($primary !== false) { + + $primarycols = $primary->getColumns(); + + foreach ($primarycols as $col) { + $primaryKey = $col->getName(); + break; + } + + if ($primaryKey != null) { + $defaultOrderByClause = ' ORDER BY ' + . Util::backquote($table) . '.' + . Util::backquote($primaryKey) . ' ' + . $GLOBALS['cfg']['TablePrimaryKeyOrder']; + } + + } + + } + + $sql_query = 'SELECT * FROM ' . Util::backquote($table) + . $defaultOrderByClause; + + } + + return $sql_query; + } + + /** + * Responds an error when an error happens when executing the query + * + * @param boolean $is_gotofile whether goto file or not + * @param string $error error after executing the query + * @param string $full_sql_query full sql query + * + * @return void + */ + private function handleQueryExecuteError($is_gotofile, $error, $full_sql_query) + { + if ($is_gotofile) { + $message = Message::rawError($error); + $response = Response::getInstance(); + $response->setRequestStatus(false); + $response->addJSON('message', $message); + } else { + Util::mysqlDie($error, $full_sql_query, '', ''); + } + exit; + } + + /** + * Function to store the query as a bookmark + * + * @param string $db the current database + * @param string $bkm_user the bookmarking user + * @param string $sql_query_for_bookmark the query to be stored in bookmark + * @param string $bkm_label bookmark label + * @param boolean $bkm_replace whether to replace existing bookmarks + * + * @return void + */ + public function storeTheQueryAsBookmark($db, $bkm_user, $sql_query_for_bookmark, + $bkm_label, $bkm_replace + ) { + $bfields = array( + 'bkm_database' => $db, + 'bkm_user' => $bkm_user, + 'bkm_sql_query' => $sql_query_for_bookmark, + 'bkm_label' => $bkm_label, + ); + + // Should we replace bookmark? + if (isset($bkm_replace)) { + $bookmarks = Bookmark::getList( + $GLOBALS['dbi'], + $GLOBALS['cfg']['Server']['user'], + $db + ); + foreach ($bookmarks as $bookmark) { + if ($bookmark->getLabel() == $bkm_label) { + $bookmark->delete(); + } + } + } + + $bookmark = Bookmark::createBookmark( + $GLOBALS['dbi'], + $GLOBALS['cfg']['Server']['user'], + $bfields, + isset($_POST['bkm_all_users']) + ); + $bookmark->save(); + } + + /** + * Executes the SQL query and measures its execution time + * + * @param string $full_sql_query the full sql query + * + * @return array ($result, $querytime) + */ + private function executeQueryAndMeasureTime($full_sql_query) + { + // close session in case the query takes too long + session_write_close(); + + // Measure query time. + $querytime_before = array_sum(explode(' ', microtime())); + + $result = @$GLOBALS['dbi']->tryQuery( + $full_sql_query, DatabaseInterface::CONNECT_USER, DatabaseInterface::QUERY_STORE + ); + $querytime_after = array_sum(explode(' ', microtime())); + + // reopen session + session_start(); + + return array($result, $querytime_after - $querytime_before); + } + + /** + * Function to get the affected or changed number of rows after executing a query + * + * @param boolean $is_affected whether the query affected a table + * @param mixed $result results of executing the query + * + * @return int $num_rows number of rows affected or changed + */ + private function getNumberOfRowsAffectedOrChanged($is_affected, $result) + { + if (! $is_affected) { + $num_rows = ($result) ? @$GLOBALS['dbi']->numRows($result) : 0; + } else { + $num_rows = @$GLOBALS['dbi']->affectedRows(); + } + + return $num_rows; + } + + /** + * Checks if the current database has changed + * This could happen if the user sends a query like "USE `database`;" + * + * @param string $db the database in the query + * + * @return int $reload whether to reload the navigation(1) or not(0) + */ + private function hasCurrentDbChanged($db) + { + if (strlen($db) > 0) { + $current_db = $GLOBALS['dbi']->fetchValue('SELECT DATABASE()'); + // $current_db is false, except when a USE statement was sent + return ($current_db != false) && ($db !== $current_db); + } + + return false; + } + + /** + * If a table, database or column gets dropped, clean comments. + * + * @param string $db current database + * @param string $table current table + * @param string $column current column + * @param bool $purge whether purge set or not + * + * @return array $extra_data + */ + private function cleanupRelations($db, $table, $column, $purge) + { + if (! empty($purge) && strlen($db) > 0) { + if (strlen($table) > 0) { + if (isset($column) && strlen($column) > 0) { + RelationCleanup::column($db, $table, $column); + } else { + RelationCleanup::table($db, $table); + } + } else { + RelationCleanup::database($db); + } + } + } + + /** + * Function to count the total number of rows for the same 'SELECT' query without + * the 'LIMIT' clause that may have been programatically added + * + * @param int $num_rows number of rows affected/changed by the query + * @param bool $justBrowsing whether just browsing or not + * @param string $db the current database + * @param string $table the current table + * @param array $analyzed_sql_results the analyzed query and other variables set + * after analyzing the query + * + * @return int $unlim_num_rows unlimited number of rows + */ + private function countQueryResults( + $num_rows, $justBrowsing, $db, $table, array $analyzed_sql_results + ) { + + /* Shortcut for not analyzed/empty query */ + if (empty($analyzed_sql_results)) { + return 0; + } + + if (!$this->isAppendLimitClause($analyzed_sql_results)) { + // if we did not append a limit, set this to get a correct + // "Showing rows..." message + // $_SESSION['tmpval']['max_rows'] = 'all'; + $unlim_num_rows = $num_rows; + } elseif ($analyzed_sql_results['querytype'] == 'SELECT' + || $analyzed_sql_results['is_subquery'] + ) { + // c o u n t q u e r y + + // If we are "just browsing", there is only one table (and no join), + // and no WHERE clause (or just 'WHERE 1 '), + // we do a quick count (which uses MaxExactCount) because + // SQL_CALC_FOUND_ROWS is not quick on large InnoDB tables + + // However, do not count again if we did it previously + // due to $find_real_end == true + if ($justBrowsing) { + // Get row count (is approximate for InnoDB) + $unlim_num_rows = $GLOBALS['dbi']->getTable($db, $table)->countRecords(); + /** + * @todo Can we know at this point that this is InnoDB, + * (in this case there would be no need for getting + * an exact count)? + */ + if ($unlim_num_rows < $GLOBALS['cfg']['MaxExactCount']) { + // Get the exact count if approximate count + // is less than MaxExactCount + /** + * @todo In countRecords(), MaxExactCount is also verified, + * so can we avoid checking it twice? + */ + $unlim_num_rows = $GLOBALS['dbi']->getTable($db, $table) + ->countRecords(true); + } + + } else { + + // The SQL_CALC_FOUND_ROWS option of the SELECT statement is used. + + // For UNION statements, only a SQL_CALC_FOUND_ROWS is required + // after the first SELECT. + + $count_query = Query::replaceClause( + $analyzed_sql_results['statement'], + $analyzed_sql_results['parser']->list, + 'SELECT SQL_CALC_FOUND_ROWS', + null, + true + ); + + // Another LIMIT clause is added to avoid long delays. + // A complete result will be returned anyway, but the LIMIT would + // stop the query as soon as the result that is required has been + // computed. + + if (empty($analyzed_sql_results['union'])) { + $count_query .= ' LIMIT 1'; + } + + // Running the count query. + $GLOBALS['dbi']->tryQuery($count_query); + + $unlim_num_rows = $GLOBALS['dbi']->fetchValue('SELECT FOUND_ROWS()'); + } // end else "just browsing" + } else {// not $is_select + $unlim_num_rows = 0; + } + + return $unlim_num_rows; + } + + /** + * Function to handle all aspects relating to executing the query + * + * @param array $analyzed_sql_results analyzed sql results + * @param string $full_sql_query full sql query + * @param boolean $is_gotofile whether to go to a file + * @param string $db current database + * @param string $table current table + * @param boolean $find_real_end whether to find the real end + * @param string $sql_query_for_bookmark sql query to be stored as bookmark + * @param array $extra_data extra data + * + * @return mixed + */ + private function executeTheQuery(array $analyzed_sql_results, $full_sql_query, $is_gotofile, + $db, $table, $find_real_end, $sql_query_for_bookmark, $extra_data + ) { + $response = Response::getInstance(); + $response->getHeader()->getMenu()->setTable($table); + + // Only if we ask to see the php code + if (isset($GLOBALS['show_as_php'])) { + $result = null; + $num_rows = 0; + $unlim_num_rows = 0; + } else { // If we don't ask to see the php code + if (isset($_SESSION['profiling']) + && Util::profilingSupported() + ) { + $GLOBALS['dbi']->query('SET PROFILING=1;'); + } + + list( + $result, + $GLOBALS['querytime'] + ) = $this->executeQueryAndMeasureTime($full_sql_query); + + // Displays an error message if required and stop parsing the script + $error = $GLOBALS['dbi']->getError(); + if ($error && $GLOBALS['cfg']['IgnoreMultiSubmitErrors']) { + $extra_data['error'] = $error; + } elseif ($error) { + $this->handleQueryExecuteError($is_gotofile, $error, $full_sql_query); + } + + // If there are no errors and bookmarklabel was given, + // store the query as a bookmark + if (! empty($_POST['bkm_label']) && ! empty($sql_query_for_bookmark)) { + $cfgBookmark = Bookmark::getParams($GLOBALS['cfg']['Server']['user']); + $this->storeTheQueryAsBookmark( + $db, $cfgBookmark['user'], + $sql_query_for_bookmark, $_POST['bkm_label'], + isset($_POST['bkm_replace']) ? $_POST['bkm_replace'] : null + ); + } // end store bookmarks + + // Gets the number of rows affected/returned + // (This must be done immediately after the query because + // mysql_affected_rows() reports about the last query done) + $num_rows = $this->getNumberOfRowsAffectedOrChanged( + $analyzed_sql_results['is_affected'], $result + ); + + // Grabs the profiling results + if (isset($_SESSION['profiling']) + && Util::profilingSupported() + ) { + $profiling_results = $GLOBALS['dbi']->fetchResult('SHOW PROFILE;'); + } + + $justBrowsing = $this->isJustBrowsing( + $analyzed_sql_results, isset($find_real_end) ? $find_real_end : null + ); + + $unlim_num_rows = $this->countQueryResults( + $num_rows, $justBrowsing, $db, $table, $analyzed_sql_results + ); + + $this->cleanupRelations( + isset($db) ? $db : '', + isset($table) ? $table : '', + isset($_REQUEST['dropped_column']) ? $_REQUEST['dropped_column'] : null, + isset($_REQUEST['purge']) ? $_REQUEST['purge'] : null + ); + + if (isset($_REQUEST['dropped_column']) + && strlen($db) > 0 + && strlen($table) > 0 + ) { + // to refresh the list of indexes (Ajax mode) + $extra_data['indexes_list'] = Index::getHtmlForIndexes( + $table, + $db + ); + } + } + + return array($result, $num_rows, $unlim_num_rows, + isset($profiling_results) ? $profiling_results : null, $extra_data + ); + } + /** + * Delete related transformation information + * + * @param string $db current database + * @param string $table current table + * @param array $analyzed_sql_results analyzed sql results + * + * @return void + */ + private function deleteTransformationInfo($db, $table, array $analyzed_sql_results) + { + if (! isset($analyzed_sql_results['statement'])) { + return; + } + $statement = $analyzed_sql_results['statement']; + if ($statement instanceof AlterStatement) { + if (!empty($statement->altered[0]) + && $statement->altered[0]->options->has('DROP') + ) { + if (!empty($statement->altered[0]->field->column)) { + Transformations::clear( + $db, + $table, + $statement->altered[0]->field->column + ); + } + } + } elseif ($statement instanceof DropStatement) { + Transformations::clear($db, $table); + } + } + + /** + * Function to get the message for the no rows returned case + * + * @param string $message_to_show message to show + * @param array $analyzed_sql_results analyzed sql results + * @param int $num_rows number of rows + * + * @return string $message + */ + private function getMessageForNoRowsReturned($message_to_show, + array $analyzed_sql_results, $num_rows + ) { + if ($analyzed_sql_results['querytype'] == 'DELETE"') { + $message = Message::getMessageForDeletedRows($num_rows); + } elseif ($analyzed_sql_results['is_insert']) { + if ($analyzed_sql_results['querytype'] == 'REPLACE') { + // For REPLACE we get DELETED + INSERTED row count, + // so we have to call it affected + $message = Message::getMessageForAffectedRows($num_rows); + } else { + $message = Message::getMessageForInsertedRows($num_rows); + } + $insert_id = $GLOBALS['dbi']->insertId(); + if ($insert_id != 0) { + // insert_id is id of FIRST record inserted in one insert, + // so if we inserted multiple rows, we had to increment this + $message->addText('[br]'); + // need to use a temporary because the Message class + // currently supports adding parameters only to the first + // message + $_inserted = Message::notice(__('Inserted row id: %1$d')); + $_inserted->addParam($insert_id + $num_rows - 1); + $message->addMessage($_inserted); + } + } elseif ($analyzed_sql_results['is_affected']) { + $message = Message::getMessageForAffectedRows($num_rows); + + // Ok, here is an explanation for the !$is_select. + // The form generated by PhpMyAdmin\SqlQueryForm + // and db_sql.php has many submit buttons + // on the same form, and some confusion arises from the + // fact that $message_to_show is sent for every case. + // The $message_to_show containing a success message and sent with + // the form should not have priority over errors + } elseif (! empty($message_to_show) + && $analyzed_sql_results['querytype'] != 'SELECT' + ) { + $message = Message::rawSuccess(htmlspecialchars($message_to_show)); + } elseif (! empty($GLOBALS['show_as_php'])) { + $message = Message::success(__('Showing as PHP code')); + } elseif (isset($GLOBALS['show_as_php'])) { + /* User disable showing as PHP, query is only displayed */ + $message = Message::notice(__('Showing SQL query')); + } else { + $message = Message::success( + __('MySQL returned an empty result set (i.e. zero rows).') + ); + } + + if (isset($GLOBALS['querytime'])) { + $_querytime = Message::notice( + '(' . __('Query took %01.4f seconds.') . ')' + ); + $_querytime->addParam($GLOBALS['querytime']); + $message->addMessage($_querytime); + } + + // In case of ROLLBACK, notify the user. + if (isset($_REQUEST['rollback_query'])) { + $message->addText(__('[ROLLBACK occurred.]')); + } + + return $message; + } + + /** + * Function to respond back when the query returns zero rows + * This method is called + * 1-> When browsing an empty table + * 2-> When executing a query on a non empty table which returns zero results + * 3-> When executing a query on an empty table + * 4-> When executing an INSERT, UPDATE, DELETE query from the SQL tab + * 5-> When deleting a row from BROWSE tab + * 6-> When searching using the SEARCH tab which returns zero results + * 7-> When changing the structure of the table except change operation + * + * @param array $analyzed_sql_results analyzed sql results + * @param string $db current database + * @param string $table current table + * @param string $message_to_show message to show + * @param int $num_rows number of rows + * @param DisplayResults $displayResultsObject DisplayResult instance + * @param array $extra_data extra data + * @param string $pmaThemeImage uri of the theme image + * @param object $result executed query results + * @param string $sql_query sql query + * @param string $complete_query complete sql query + * + * @return string html + */ + private function getQueryResponseForNoResultsReturned(array $analyzed_sql_results, $db, + $table, $message_to_show, $num_rows, $displayResultsObject, $extra_data, + $pmaThemeImage, $result, $sql_query, $complete_query + ) { + if ($this->isDeleteTransformationInfo($analyzed_sql_results)) { + $this->deleteTransformationInfo($db, $table, $analyzed_sql_results); + } + + if (isset($extra_data['error'])) { + $message = Message::rawError($extra_data['error']); + } else { + $message = $this->getMessageForNoRowsReturned( + isset($message_to_show) ? $message_to_show : null, + $analyzed_sql_results, $num_rows + ); + } + + $html_output = ''; + $html_message = Util::getMessage( + $message, $GLOBALS['sql_query'], 'success' + ); + $html_output .= $html_message; + if (!isset($GLOBALS['show_as_php'])) { + + if (! empty($GLOBALS['reload'])) { + $extra_data['reload'] = 1; + $extra_data['db'] = $GLOBALS['db']; + } + + // For ajax requests add message and sql_query as JSON + if (empty($_REQUEST['ajax_page_request'])) { + $extra_data['message'] = $message; + if ($GLOBALS['cfg']['ShowSQL']) { + $extra_data['sql_query'] = $html_message; + } + } + + $response = Response::getInstance(); + $response->addJSON(isset($extra_data) ? $extra_data : array()); + + if (!empty($analyzed_sql_results['is_select']) && + !isset($extra_data['error'])) { + $url_query = isset($url_query) ? $url_query : null; + + $displayParts = array( + 'edit_lnk' => null, + 'del_lnk' => null, + 'sort_lnk' => '1', + 'nav_bar' => '0', + 'bkm_form' => '1', + 'text_btn' => '1', + 'pview_lnk' => '1' + ); + + $html_output .= $this->getHtmlForSqlQueryResultsTable( + $displayResultsObject, + $pmaThemeImage, $url_query, $displayParts, + false, 0, $num_rows, true, $result, + $analyzed_sql_results, true + ); + + $html_output .= $displayResultsObject->getCreateViewQueryResultOp( + $analyzed_sql_results + ); + + $cfgBookmark = Bookmark::getParams($GLOBALS['cfg']['Server']['user']); + if ($cfgBookmark) { + $html_output .= $this->getHtmlForBookmark( + $displayParts, + $cfgBookmark, + $sql_query, $db, $table, + isset($complete_query) ? $complete_query : $sql_query, + $cfgBookmark['user'] + ); + } + } + } + + return $html_output; + } + + /** + * Function to send response for ajax grid edit + * + * @param object $result result of the executed query + * + * @return void + */ + private function sendResponseForGridEdit($result) + { + $row = $GLOBALS['dbi']->fetchRow($result); + $field_flags = $GLOBALS['dbi']->fieldFlags($result, 0); + if (stristr($field_flags, DisplayResults::BINARY_FIELD)) { + $row[0] = bin2hex($row[0]); + } + $response = Response::getInstance(); + $response->addJSON('value', $row[0]); + exit; + } + + /** + * Function to get html for the sql query results div + * + * @param string $previous_update_query_html html for the previously executed query + * @param string $profiling_chart_html html for profiling + * @param Message $missing_unique_column_msg message for the missing unique column + * @param Message $bookmark_created_msg message for bookmark creation + * @param string $table_html html for the table for displaying sql + * results + * @param string $indexes_problems_html html for displaying errors in indexes + * @param string $bookmark_support_html html for displaying bookmark form + * + * @return string $html_output + */ + private function getHtmlForSqlQueryResults($previous_update_query_html, + $profiling_chart_html, $missing_unique_column_msg, $bookmark_created_msg, + $table_html, $indexes_problems_html, $bookmark_support_html + ) { + //begin the sqlqueryresults div here. container div + $html_output = '
    '; + $html_output .= isset($previous_update_query_html) + ? $previous_update_query_html : ''; + $html_output .= isset($profiling_chart_html) ? $profiling_chart_html : ''; + $html_output .= isset($missing_unique_column_msg) + ? $missing_unique_column_msg->getDisplay() : ''; + $html_output .= isset($bookmark_created_msg) + ? $bookmark_created_msg->getDisplay() : ''; + $html_output .= $table_html; + $html_output .= isset($indexes_problems_html) ? $indexes_problems_html : ''; + $html_output .= isset($bookmark_support_html) ? $bookmark_support_html : ''; + $html_output .= '
    '; // end sqlqueryresults div + + return $html_output; + } + + /** + * Returns a message for successful creation of a bookmark or null if a bookmark + * was not created + * + * @return Message $bookmark_created_msg + */ + private function getBookmarkCreatedMessage() + { + if (isset($_GET['label'])) { + $bookmark_created_msg = Message::success( + __('Bookmark %s has been created.') + ); + $bookmark_created_msg->addParam($_GET['label']); + } else { + $bookmark_created_msg = null; + } + + return $bookmark_created_msg; + } + + /** + * Function to get html for the sql query results table + * + * @param DisplayResults $displayResultsObject instance of DisplayResult + * @param string $pmaThemeImage theme image uri + * @param string $url_query url query + * @param array $displayParts the parts to display + * @param bool $editable whether the result table is + * editable or not + * @param int $unlim_num_rows unlimited number of rows + * @param int $num_rows number of rows + * @param bool $showtable whether to show table or not + * @param object $result result of the executed query + * @param array $analyzed_sql_results analyzed sql results + * @param bool $is_limited_display Show only limited operations or not + * + * @return string + */ + private function getHtmlForSqlQueryResultsTable($displayResultsObject, + $pmaThemeImage, $url_query, array $displayParts, + $editable, $unlim_num_rows, $num_rows, $showtable, $result, + array $analyzed_sql_results, $is_limited_display = false + ) { + $printview = isset($_REQUEST['printview']) && $_REQUEST['printview'] == '1' ? '1' : null; + $table_html = ''; + $browse_dist = ! empty($_REQUEST['is_browse_distinct']); + + if ($analyzed_sql_results['is_procedure']) { + + do { + if (! isset($result)) { + $result = $GLOBALS['dbi']->storeResult(); + } + $num_rows = $GLOBALS['dbi']->numRows($result); + + if ($result !== false && $num_rows > 0) { + + $fields_meta = $GLOBALS['dbi']->getFieldsMeta($result); + if (! is_array($fields_meta)) { + $fields_cnt = 0; + } else { + $fields_cnt = count($fields_meta); + } + + $displayResultsObject->setProperties( + $num_rows, + $fields_meta, + $analyzed_sql_results['is_count'], + $analyzed_sql_results['is_export'], + $analyzed_sql_results['is_func'], + $analyzed_sql_results['is_analyse'], + $num_rows, + $fields_cnt, + $GLOBALS['querytime'], + $pmaThemeImage, + $GLOBALS['text_dir'], + $analyzed_sql_results['is_maint'], + $analyzed_sql_results['is_explain'], + $analyzed_sql_results['is_show'], + $showtable, + $printview, + $url_query, + $editable, + $browse_dist + ); + + $displayParts = array( + 'edit_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, + 'del_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, + 'sort_lnk' => '1', + 'nav_bar' => '1', + 'bkm_form' => '1', + 'text_btn' => '1', + 'pview_lnk' => '1' + ); + + $table_html .= $displayResultsObject->getTable( + $result, + $displayParts, + $analyzed_sql_results, + $is_limited_display + ); + } + + $GLOBALS['dbi']->freeResult($result); + unset($result); + + } while ($GLOBALS['dbi']->moreResults() && $GLOBALS['dbi']->nextResult()); + + } else { + if (isset($result) && $result !== false) { + $fields_meta = $GLOBALS['dbi']->getFieldsMeta($result); + $fields_cnt = count($fields_meta); + } + $_SESSION['is_multi_query'] = false; + $displayResultsObject->setProperties( + $unlim_num_rows, + $fields_meta, + $analyzed_sql_results['is_count'], + $analyzed_sql_results['is_export'], + $analyzed_sql_results['is_func'], + $analyzed_sql_results['is_analyse'], + $num_rows, + $fields_cnt, $GLOBALS['querytime'], + $pmaThemeImage, $GLOBALS['text_dir'], + $analyzed_sql_results['is_maint'], + $analyzed_sql_results['is_explain'], + $analyzed_sql_results['is_show'], + $showtable, + $printview, + $url_query, + $editable, + $browse_dist + ); + + $table_html .= $displayResultsObject->getTable( + $result, + $displayParts, + $analyzed_sql_results, + $is_limited_display + ); + $GLOBALS['dbi']->freeResult($result); + } + + return $table_html; + } + + /** + * Function to get html for the previous query if there is such. If not will return + * null + * + * @param string $disp_query display query + * @param bool $showSql whether to show sql + * @param array $sql_data sql data + * @param string $disp_message display message + * + * @return string $previous_update_query_html + */ + private function getHtmlForPreviousUpdateQuery($disp_query, $showSql, $sql_data, + $disp_message + ) { + // previous update query (from tbl_replace) + if (isset($disp_query) && ($showSql == true) && empty($sql_data)) { + $previous_update_query_html = Util::getMessage( + $disp_message, $disp_query, 'success' + ); + } else { + $previous_update_query_html = null; + } + + return $previous_update_query_html; + } + + /** + * To get the message if a column index is missing. If not will return null + * + * @param string $table current table + * @param string $db current database + * @param boolean $editable whether the results table can be editable or not + * @param boolean $has_unique whether there is a unique key + * + * @return Message $message + */ + private function getMessageIfMissingColumnIndex($table, $db, $editable, $has_unique) + { + if (!empty($table) && ($GLOBALS['dbi']->isSystemSchema($db) || !$editable)) { + $missing_unique_column_msg = Message::notice( + sprintf( + __( + 'Current selection does not contain a unique column.' + . ' Grid edit, checkbox, Edit, Copy and Delete features' + . ' are not available. %s' + ), + Util::showDocu( + 'config', + 'cfg_RowActionLinksWithoutUnique' + ) + ) + ); + } elseif (! empty($table) && ! $has_unique) { + $missing_unique_column_msg = Message::notice( + sprintf( + __( + 'Current selection does not contain a unique column.' + . ' Grid edit, Edit, Copy and Delete features may result in' + . ' undesired behavior. %s' + ), + Util::showDocu( + 'config', + 'cfg_RowActionLinksWithoutUnique' + ) + ) + ); + } else { + $missing_unique_column_msg = null; + } + + return $missing_unique_column_msg; + } + + /** + * Function to get html to display problems in indexes + * + * @param string $query_type query type + * @param array|null $selectedTables array of table names selected from the + * database structure page, for an action + * like check table, optimize table, + * analyze table or repair table + * @param string $db current database + * + * @return string + */ + private function getHtmlForIndexesProblems($query_type, $selectedTables, $db) + { + // BEGIN INDEX CHECK See if indexes should be checked. + if (isset($query_type) + && $query_type == 'check_tbl' + && isset($selectedTables) + && is_array($selectedTables) + ) { + $indexes_problems_html = ''; + foreach ($selectedTables as $tbl_name) { + $check = Index::findDuplicates($tbl_name, $db); + if (! empty($check)) { + $indexes_problems_html .= sprintf( + __('Problems with indexes of table `%s`'), $tbl_name + ); + $indexes_problems_html .= $check; + } + } + } else { + $indexes_problems_html = null; + } + + return $indexes_problems_html; + } + + /** + * Function to display results when the executed query returns non empty results + * + * @param object $result executed query results + * @param array $analyzed_sql_results analysed sql results + * @param string $db current database + * @param string $table current table + * @param string $message message to show + * @param array $sql_data sql data + * @param DisplayResults $displayResultsObject Instance of DisplayResults + * @param string $pmaThemeImage uri of the theme image + * @param int $unlim_num_rows unlimited number of rows + * @param int $num_rows number of rows + * @param string $disp_query display query + * @param string $disp_message display message + * @param array $profiling_results profiling results + * @param string $query_type query type + * @param array|null $selectedTables array of table names selected + * from the database structure page, for + * an action like check table, + * optimize table, analyze table or + * repair table + * @param string $sql_query sql query + * @param string $complete_query complete sql query + * + * @return string html + */ + private function getQueryResponseForResultsReturned($result, array $analyzed_sql_results, + $db, $table, $message, $sql_data, $displayResultsObject, $pmaThemeImage, + $unlim_num_rows, $num_rows, $disp_query, $disp_message, $profiling_results, + $query_type, $selectedTables, $sql_query, $complete_query + ) { + // If we are retrieving the full value of a truncated field or the original + // value of a transformed field, show it here + if (isset($_REQUEST['grid_edit']) && $_REQUEST['grid_edit'] == true) { + $this->sendResponseForGridEdit($result); + // script has exited at this point + } + + // Gets the list of fields properties + if (isset($result) && $result) { + $fields_meta = $GLOBALS['dbi']->getFieldsMeta($result); + } + + // Should be initialized these parameters before parsing + $showtable = isset($showtable) ? $showtable : null; + $url_query = isset($url_query) ? $url_query : null; + + $response = Response::getInstance(); + $header = $response->getHeader(); + $scripts = $header->getScripts(); + + $just_one_table = $this->resultSetHasJustOneTable($fields_meta); + + // hide edit and delete links: + // - for information_schema + // - if the result set does not contain all the columns of a unique key + // (unless this is an updatable view) + // - if the SELECT query contains a join or a subquery + + $updatableView = false; + + $statement = isset($analyzed_sql_results['statement']) ? $analyzed_sql_results['statement'] : null; + if ($statement instanceof SelectStatement) { + if (!empty($statement->expr)) { + if ($statement->expr[0]->expr === '*') { + $_table = new Table($table, $db); + $updatableView = $_table->isUpdatableView(); + } + } + + if ($analyzed_sql_results['join'] + || $analyzed_sql_results['is_subquery'] + || count($analyzed_sql_results['select_tables']) !== 1 + ) { + $just_one_table = false; + } + } + + $has_unique = $this->resultSetContainsUniqueKey( + $db, $table, $fields_meta + ); + + $editable = ($has_unique + || $GLOBALS['cfg']['RowActionLinksWithoutUnique'] + || $updatableView) + && $just_one_table; + + $displayParts = array( + 'edit_lnk' => $displayResultsObject::UPDATE_ROW, + 'del_lnk' => $displayResultsObject::DELETE_ROW, + 'sort_lnk' => '1', + 'nav_bar' => '1', + 'bkm_form' => '1', + 'text_btn' => '0', + 'pview_lnk' => '1' + ); + + if ($GLOBALS['dbi']->isSystemSchema($db) || !$editable) { + $displayParts = array( + 'edit_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, + 'del_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, + 'sort_lnk' => '1', + 'nav_bar' => '1', + 'bkm_form' => '1', + 'text_btn' => '1', + 'pview_lnk' => '1' + ); + + } + if (isset($_REQUEST['printview']) && $_REQUEST['printview'] == '1') { + $displayParts = array( + 'edit_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, + 'del_lnk' => $displayResultsObject::NO_EDIT_OR_DELETE, + 'sort_lnk' => '0', + 'nav_bar' => '0', + 'bkm_form' => '0', + 'text_btn' => '0', + 'pview_lnk' => '0' + ); + } + + if (isset($_REQUEST['table_maintenance'])) { + $scripts->addFile('makegrid.js'); + $scripts->addFile('sql.js'); + $table_maintenance_html = ''; + if (isset($message)) { + $message = Message::success($message); + $table_maintenance_html = Util::getMessage( + $message, $GLOBALS['sql_query'], 'success' + ); + } + $table_maintenance_html .= $this->getHtmlForSqlQueryResultsTable( + $displayResultsObject, + $pmaThemeImage, $url_query, $displayParts, + false, $unlim_num_rows, $num_rows, $showtable, $result, + $analyzed_sql_results + ); + if (empty($sql_data) || ($sql_data['valid_queries'] = 1)) { + $response->addHTML($table_maintenance_html); + exit(); + } + } + + if (!isset($_REQUEST['printview']) || $_REQUEST['printview'] != '1') { + $scripts->addFile('makegrid.js'); + $scripts->addFile('sql.js'); + unset($GLOBALS['message']); + //we don't need to buffer the output in getMessage here. + //set a global variable and check against it in the function + $GLOBALS['buffer_message'] = false; + } + + $previous_update_query_html = $this->getHtmlForPreviousUpdateQuery( + isset($disp_query) ? $disp_query : null, + $GLOBALS['cfg']['ShowSQL'], isset($sql_data) ? $sql_data : null, + isset($disp_message) ? $disp_message : null + ); + + $profiling_chart_html = $this->getHtmlForProfilingChart( + $url_query, $db, isset($profiling_results) ? $profiling_results :array() + ); + + $missing_unique_column_msg = $this->getMessageIfMissingColumnIndex( + $table, $db, $editable, $has_unique + ); + + $bookmark_created_msg = $this->getBookmarkCreatedMessage(); + + $table_html = $this->getHtmlForSqlQueryResultsTable( + $displayResultsObject, + $pmaThemeImage, $url_query, $displayParts, + $editable, $unlim_num_rows, $num_rows, $showtable, $result, + $analyzed_sql_results + ); + + $indexes_problems_html = $this->getHtmlForIndexesProblems( + isset($query_type) ? $query_type : null, + isset($selectedTables) ? $selectedTables : null, $db + ); + + $cfgBookmark = Bookmark::getParams($GLOBALS['cfg']['Server']['user']); + if ($cfgBookmark) { + $bookmark_support_html = $this->getHtmlForBookmark( + $displayParts, + $cfgBookmark, + $sql_query, $db, $table, + isset($complete_query) ? $complete_query : $sql_query, + $cfgBookmark['user'] + ); + } else { + $bookmark_support_html = ''; + } + + $html_output = isset($table_maintenance_html) ? $table_maintenance_html : ''; + + $html_output .= $this->getHtmlForSqlQueryResults( + $previous_update_query_html, $profiling_chart_html, + $missing_unique_column_msg, $bookmark_created_msg, + $table_html, $indexes_problems_html, $bookmark_support_html + ); + + return $html_output; + } + + /** + * Function to execute the query and send the response + * + * @param array $analyzed_sql_results analysed sql results + * @param bool $is_gotofile whether goto file or not + * @param string $db current database + * @param string $table current table + * @param bool|null $find_real_end whether to find real end or not + * @param string $sql_query_for_bookmark the sql query to be stored as bookmark + * @param array|null $extra_data extra data + * @param string $message_to_show message to show + * @param string $message message + * @param array|null $sql_data sql data + * @param string $goto goto page url + * @param string $pmaThemeImage uri of the PMA theme image + * @param string $disp_query display query + * @param string $disp_message display message + * @param string $query_type query type + * @param string $sql_query sql query + * @param array|null $selectedTables array of table names selected from the + * database structure page, for an action + * like check table, optimize table, + * analyze table or repair table + * @param string $complete_query complete query + * + * @return void + */ + public function executeQueryAndSendQueryResponse($analyzed_sql_results, + $is_gotofile, $db, $table, $find_real_end, $sql_query_for_bookmark, + $extra_data, $message_to_show, $message, $sql_data, $goto, $pmaThemeImage, + $disp_query, $disp_message, $query_type, $sql_query, $selectedTables, + $complete_query + ) { + if ($analyzed_sql_results == null) { + // Parse and analyze the query + list( + $analyzed_sql_results, + $db, + $table_from_sql + ) = ParseAnalyze::sqlQuery($sql_query, $db); + // @todo: possibly refactor + extract($analyzed_sql_results); + + if ($table != $table_from_sql && !empty($table_from_sql)) { + $table = $table_from_sql; + } + } + + $html_output = $this->executeQueryAndGetQueryResponse( + $analyzed_sql_results, // analyzed_sql_results + $is_gotofile, // is_gotofile + $db, // db + $table, // table + $find_real_end, // find_real_end + $sql_query_for_bookmark, // sql_query_for_bookmark + $extra_data, // extra_data + $message_to_show, // message_to_show + $message, // message + $sql_data, // sql_data + $goto, // goto + $pmaThemeImage, // pmaThemeImage + $disp_query, // disp_query + $disp_message, // disp_message + $query_type, // query_type + $sql_query, // sql_query + $selectedTables, // selectedTables + $complete_query // complete_query + ); + + $response = Response::getInstance(); + $response->addHTML($html_output); + } + + /** + * Function to execute the query and send the response + * + * @param array $analyzed_sql_results analysed sql results + * @param bool $is_gotofile whether goto file or not + * @param string $db current database + * @param string $table current table + * @param bool|null $find_real_end whether to find real end or not + * @param string $sql_query_for_bookmark the sql query to be stored as bookmark + * @param array|null $extra_data extra data + * @param string $message_to_show message to show + * @param string $message message + * @param array|null $sql_data sql data + * @param string $goto goto page url + * @param string $pmaThemeImage uri of the PMA theme image + * @param string $disp_query display query + * @param string $disp_message display message + * @param string $query_type query type + * @param string $sql_query sql query + * @param array|null $selectedTables array of table names selected from the + * database structure page, for an action + * like check table, optimize table, + * analyze table or repair table + * @param string $complete_query complete query + * + * @return string html + */ + public function executeQueryAndGetQueryResponse(array $analyzed_sql_results, + $is_gotofile, $db, $table, $find_real_end, $sql_query_for_bookmark, + $extra_data, $message_to_show, $message, $sql_data, $goto, $pmaThemeImage, + $disp_query, $disp_message, $query_type, $sql_query, $selectedTables, + $complete_query + ) { + // Handle disable/enable foreign key checks + $default_fk_check = Util::handleDisableFKCheckInit(); + + // Handle remembered sorting order, only for single table query. + // Handling is not required when it's a union query + // (the parser never sets the 'union' key to 0). + // Handling is also not required if we came from the "Sort by key" + // drop-down. + if (! empty($analyzed_sql_results) + && $this->isRememberSortingOrder($analyzed_sql_results) + && empty($analyzed_sql_results['union']) + && ! isset($_REQUEST['sort_by_key']) + ) { + if (! isset($_SESSION['sql_from_query_box'])) { + $this->handleSortOrder($db, $table, $analyzed_sql_results, $sql_query); + } else { + unset($_SESSION['sql_from_query_box']); + } + + } + + $displayResultsObject = new DisplayResults( + $GLOBALS['db'], $GLOBALS['table'], $goto, $sql_query + ); + $displayResultsObject->setConfigParamsForDisplayTable(); + + // assign default full_sql_query + $full_sql_query = $sql_query; + + // Do append a "LIMIT" clause? + if ($this->isAppendLimitClause($analyzed_sql_results)) { + $full_sql_query = $this->getSqlWithLimitClause($analyzed_sql_results); + } + + $GLOBALS['reload'] = $this->hasCurrentDbChanged($db); + $GLOBALS['dbi']->selectDb($db); + + // Execute the query + list($result, $num_rows, $unlim_num_rows, $profiling_results, $extra_data) + = $this->executeTheQuery( + $analyzed_sql_results, + $full_sql_query, + $is_gotofile, + $db, + $table, + isset($find_real_end) ? $find_real_end : null, + isset($sql_query_for_bookmark) ? $sql_query_for_bookmark : null, + isset($extra_data) ? $extra_data : null + ); + + $operations = new Operations(); + $warning_messages = $operations->getWarningMessagesArray(); + + // No rows returned -> move back to the calling page + if ((0 == $num_rows && 0 == $unlim_num_rows) + || $analyzed_sql_results['is_affected'] + ) { + $html_output = $this->getQueryResponseForNoResultsReturned( + $analyzed_sql_results, $db, $table, + isset($message_to_show) ? $message_to_show : null, + $num_rows, $displayResultsObject, $extra_data, + $pmaThemeImage, isset($result) ? $result : null, + $sql_query, isset($complete_query) ? $complete_query : null + ); + } else { + // At least one row is returned -> displays a table with results + $html_output = $this->getQueryResponseForResultsReturned( + isset($result) ? $result : null, + $analyzed_sql_results, + $db, + $table, + isset($message) ? $message : null, + isset($sql_data) ? $sql_data : null, + $displayResultsObject, + $pmaThemeImage, + $unlim_num_rows, + $num_rows, + isset($disp_query) ? $disp_query : null, + isset($disp_message) ? $disp_message : null, + $profiling_results, + isset($query_type) ? $query_type : null, + isset($selectedTables) ? $selectedTables : null, + $sql_query, + isset($complete_query) ? $complete_query : null + ); + } + + // Handle disable/enable foreign key checks + Util::handleDisableFKCheckCleanup($default_fk_check); + + foreach ($warning_messages as $warning) { + $message = Message::notice($warning); + $html_output .= $message->getDisplay(); + } + + return $html_output; + } + + /** + * Function to define pos to display a row + * + * @param int $number_of_line Number of the line to display + * @param int $max_rows Number of rows by page + * + * @return int Start position to display the line + */ + private function getStartPosToDisplayRow($number_of_line, $max_rows = null) + { + if (null === $max_rows) { + $max_rows = $_SESSION['tmpval']['max_rows']; + } + + return @((ceil($number_of_line / $max_rows) - 1) * $max_rows); + } + + /** + * Function to calculate new pos if pos is higher than number of rows + * of displayed table + * + * @param string $db Database name + * @param string $table Table name + * @param int|null $pos Initial position + * + * @return int Number of pos to display last page + */ + public function calculatePosForLastPage($db, $table, $pos) + { + if (null === $pos) { + $pos = $_SESSION['tmpval']['pos']; + } + + $_table = new Table($table, $db); + $unlim_num_rows = $_table->countRecords(true); + //If position is higher than number of rows + if ($unlim_num_rows <= $pos && 0 != $pos) { + $pos = $this->getStartPosToDisplayRow($unlim_num_rows); + } + + return $pos; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SqlQueryForm.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SqlQueryForm.php new file mode 100644 index 00000000..497d4794 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SqlQueryForm.php @@ -0,0 +1,446 @@ +' . "\n"; + + $html .= '' + . "\n" . Url::getHiddenInputs($db, $table) . "\n" + . '' . "\n" + . '' . "\n" + . '' + . "\n" . '' . "\n"; + + // display querybox + if ($display_tab === 'full' || $display_tab === 'sql') { + $html .= self::getHtmlForInsert( + $query, $delimiter + ); + } + + // Bookmark Support + if ($display_tab === 'full') { + $cfgBookmark = Bookmark::getParams($GLOBALS['cfg']['Server']['user']); + if ($cfgBookmark) { + $html .= self::getHtmlForBookmark(); + } + } + + // Japanese encoding setting + if (Encoding::canConvertKanji()) { + $html .= Encoding::kanjiEncodingForm(); + } + + $html .= '' . "\n"; + // print an empty div, which will be later filled with + // the sql query results by ajax + $html .= '
    '; + + return $html; + } + + /** + * Get initial values for Sql Query Form Insert + * + * @param string $query query to display in the textarea + * + * @return array ($legend, $query, $columns_list) + * + * @usedby self::getHtmlForInsert() + */ + public static function init($query) + { + $columns_list = array(); + if (strlen($GLOBALS['db']) === 0) { + // prepare for server related + $legend = sprintf( + __('Run SQL query/queries on server “%s”'), + htmlspecialchars( + ! empty($GLOBALS['cfg']['Servers'][$GLOBALS['server']]['verbose']) + ? $GLOBALS['cfg']['Servers'][$GLOBALS['server']]['verbose'] + : $GLOBALS['cfg']['Servers'][$GLOBALS['server']]['host'] + ) + ); + } elseif (strlen($GLOBALS['table']) === 0) { + // prepare for db related + $db = $GLOBALS['db']; + // if you want navigation: + $tmp_db_link = ''; + $legend = sprintf(__('Run SQL query/queries on database %s'), $tmp_db_link); + if (empty($query)) { + $query = Util::expandUserString( + $GLOBALS['cfg']['DefaultQueryDatabase'], 'backquote' + ); + } + } else { + $db = $GLOBALS['db']; + $table = $GLOBALS['table']; + // Get the list and number of fields + // we do a try_query here, because we could be in the query window, + // trying to synchronize and the table has not yet been created + $columns_list = $GLOBALS['dbi']->getColumns( + $db, $GLOBALS['table'], null, true + ); + + $tmp_tbl_link = ''; + $tmp_tbl_link .= htmlspecialchars($db) + . '.' . htmlspecialchars($table) . ''; + $legend = sprintf(__('Run SQL query/queries on table %s'), $tmp_tbl_link); + if (empty($query)) { + $query = Util::expandUserString( + $GLOBALS['cfg']['DefaultQueryTable'], 'backquote' + ); + } + } + $legend .= ': ' . Util::showMySQLDocu('SELECT'); + + return array($legend, $query, $columns_list); + } + + /** + * return HTML for Sql Query Form Insert + * + * @param string $query query to display in the textarea + * @param string $delimiter default delimiter to use + * + * @return string + * + * @usedby self::getHtml() + */ + public static function getHtmlForInsert( + $query = '', $delimiter = ';' + ) { + // enable auto select text in textarea + if ($GLOBALS['cfg']['TextareaAutoSelect']) { + $auto_sel = ' onclick="selectContent(this, sql_box_locked, true);"'; + } else { + $auto_sel = ''; + } + + $locking = ''; + $height = $GLOBALS['cfg']['TextareaRows'] * 2; + + list($legend, $query, $columns_list) = self::init($query); + + if (! empty($columns_list)) { + $sqlquerycontainer_id = 'sqlquerycontainer'; + } else { + $sqlquerycontainer_id = 'sqlquerycontainerfull'; + } + + $html = '' + . '
    ' + . '
    '; + $html .= '' . $legend . ''; + $html .= '
    '; + $html .= '
    ' + . ''; + $html .= '
    '; + // Add buttons to generate query easily for + // select all, single select, insert, update and delete + if (! empty($columns_list)) { + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + $html .= ''; + if ($GLOBALS['cfg']['CodemirrorEnable']) { + $html .= ''; + } + $html .= ''; + + // parameter binding + $html .= '
    '; + $html .= ''; + $html .= ''; + $html .= Util::showDocu('faq', 'faq6-40'); + $html .= '
    '; + $html .= '
    '; + + $html .= '
    ' . "\n"; + + if (! empty($columns_list)) { + $html .= '
    ' + . '' + . '' + . '
    '; + if (Util::showIcons('ActionLinksMode')) { + $html .= ''; + } else { + $html .= ''; + } + $html .= '
    ' . "\n" + . '
    ' . "\n"; + } + + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + + $cfgBookmark = Bookmark::getParams($GLOBALS['cfg']['Server']['user']); + if ($cfgBookmark) { + $html .= '
    '; + $html .= '
    '; + $html .= ''; + $html .= ''; + $html .= '
    '; + $html .= '
    '; + $html .= ''; + $html .= ''; + $html .= '
    '; + $html .= '
    '; + $html .= ''; + $html .= ''; + $html .= '
    '; + $html .= '
    '; + } + + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n" + . '
    ' . "\n"; + + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + + $html .= '
    '; + $html .= '' . "\n"; + $html .= ' ]'; + $html .= '
    '; + + $html .= '
    '; + $html .= '' + . ''; + $html .= '
    '; + + $html .= '
    '; + $html .= '' + . ''; + $html .= '
    '; + + $html .= '
    '; + $html .= '' + . ''; + $html .= '
    '; + + // Disable/Enable foreign key checks + $html .= '
    '; + $html .= Util::getFKCheckbox(); + $html .= '
    '; + + $html .= '' . "\n"; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + + return $html; + } + + /** + * return HTML for sql Query Form Bookmark + * + * @return string|null + * + * @usedby self::getHtml() + */ + public static function getHtmlForBookmark() + { + $bookmark_list = Bookmark::getList( + $GLOBALS['dbi'], + $GLOBALS['cfg']['Server']['user'], + $GLOBALS['db'] + ); + if (empty($bookmark_list) || count($bookmark_list) < 1) { + return null; + } + + $html = '
    '; + $html .= ''; + $html .= __('Bookmarked SQL query') . '' . "\n"; + $html .= '
    '; + $html .= ' ' . "\n"; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + $html .= '' + . '' . "\n"; + $html .= '' + . '' . "\n"; + $html .= '' + . '' . "\n"; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + $html .= __('Variables'); + $html .= Util::showDocu('faq', 'faqbookmark'); + $html .= '
    '; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + + $html .= '
    '; + $html .= ''; + $html .= '
    ' . "\n"; + $html .= '
    ' . "\n"; + + return $html; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/StorageEngine.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/StorageEngine.php similarity index 94% rename from .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/StorageEngine.php rename to .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/StorageEngine.php index 07c7dcc1..3513a7e7 100644 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/StorageEngine.php +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/StorageEngine.php @@ -5,24 +5,25 @@ * * @package PhpMyAdmin */ -namespace PMA\libraries; +namespace PhpMyAdmin; + +use PhpMyAdmin\Engines\Bdb; +use PhpMyAdmin\Engines\Berkeleydb; +use PhpMyAdmin\Engines\Binlog; +use PhpMyAdmin\Engines\Innobase; +use PhpMyAdmin\Engines\Innodb; +use PhpMyAdmin\Engines\Memory; +use PhpMyAdmin\Engines\Merge; +use PhpMyAdmin\Engines\MrgMyisam; +use PhpMyAdmin\Engines\Myisam; +use PhpMyAdmin\Engines\Ndbcluster; +use PhpMyAdmin\Engines\Pbxt; +use PhpMyAdmin\Engines\PerformanceSchema; +use PhpMyAdmin\Util; /** - * defines - */ -use PMA\libraries\engines\Bdb; -use PMA\libraries\engines\Berkeleydb; -use PMA\libraries\engines\Binlog; -use PMA\libraries\engines\Innobase; -use PMA\libraries\engines\Innodb; -use PMA\libraries\engines\Memory; -use PMA\libraries\engines\Merge; -use PMA\libraries\engines\Mrg_Myisam; -use PMA\libraries\engines\Myisam; -use PMA\libraries\engines\Ndbcluster; -use PMA\libraries\engines\Pbxt; -use PMA\libraries\engines\Performance_Schema; - +* defines +*/ define('PMA_ENGINE_SUPPORT_NO', 0); define('PMA_ENGINE_SUPPORT_DISABLED', 1); define('PMA_ENGINE_SUPPORT_YES', 2); @@ -68,7 +69,7 @@ class StorageEngine */ public function __construct($engine) { - $storage_engines = StorageEngine::getStorageEngines(); + $storage_engines = self::getStorageEngines(); if (! empty($storage_engines[$engine])) { $this->engine = $engine; $this->title = $storage_engines[$engine]['Engine']; @@ -107,7 +108,7 @@ class StorageEngine if (null == $storage_engines) { $storage_engines = $GLOBALS['dbi']->fetchResult('SHOW STORAGE ENGINES', 'Engine'); - if (PMA_MYSQL_INT_VERSION >= 50708) { + if ($GLOBALS['dbi']->getVersion() >= 50708) { $disabled = Util::cacheGet( 'disabled_storage_engines', function () { @@ -153,7 +154,7 @@ class StorageEngine $output .= ''; } - foreach (StorageEngine::getStorageEngines() as $key => $details) { + foreach (self::getStorageEngines() as $key => $details) { // Don't show PERFORMANCE_SCHEMA engine (MySQL 5.5) if (! $offerUnavailableEngines && ($details['Support'] == 'NO' @@ -203,7 +204,7 @@ class StorageEngine case 'merge': return new Merge($engine); case 'mrg_myisam': - return new Mrg_Myisam($engine); + return new MrgMyisam($engine); case 'myisam': return new Myisam($engine); case 'ndbcluster': @@ -211,7 +212,7 @@ class StorageEngine case 'pbxt': return new Pbxt($engine); case 'performance_schema': - return new Performance_Schema($engine); + return new PerformanceSchema($engine); default: return new StorageEngine($engine); } @@ -230,7 +231,7 @@ class StorageEngine if ($engine == "PBMS") { return true; } - $storage_engines = StorageEngine::getStorageEngines(); + $storage_engines = self::getStorageEngines(); return isset($storage_engines[$engine]); } @@ -458,4 +459,3 @@ class StorageEngine return $this->$id(); } } - diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SubPartition.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SubPartition.php similarity index 95% rename from .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SubPartition.php rename to .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SubPartition.php index fda338ce..d3f6be1e 100644 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SubPartition.php +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SubPartition.php @@ -5,7 +5,7 @@ * * @package PhpMyAdmin */ -namespace PMA\libraries; +namespace PhpMyAdmin; /** * Represents a sub partition of a table @@ -60,7 +60,7 @@ class SubPartition * * @param array $row fetched row from information_schema.PARTITIONS */ - public function __construct($row) + public function __construct(array $row) { $this->db = $row['TABLE_SCHEMA']; $this->table = $row['TABLE_NAME']; @@ -74,7 +74,7 @@ class SubPartition * * @return void */ - protected function loadData($row) + protected function loadData(array $row) { $this->name = $row['SUBPARTITION_NAME']; $this->ordinal = $row['SUBPARTITION_ORDINAL_POSITION']; @@ -90,7 +90,7 @@ class SubPartition * * @return void */ - protected function loadCommonData($row) + protected function loadCommonData(array $row) { $this->rows = $row['TABLE_ROWS']; $this->dataLength = $row['DATA_LENGTH']; @@ -177,4 +177,4 @@ class SubPartition { return $this->comment; } -} \ No newline at end of file +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfo.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfo.php new file mode 100644 index 00000000..f33d9e12 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfo.php @@ -0,0 +1,64 @@ +supported()) { + return $ret; + } + } + + return new SysInfoBase(); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfoBase.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfoBase.php new file mode 100644 index 00000000..3052b1e4 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfoBase.php @@ -0,0 +1,48 @@ + 0); + } + + /** + * Gets information about memory usage + * + * @return array with memory usage data + */ + public function memory() + { + return array(); + } + + /** + * Checks whether class is supported in this environment + * + * @return true on success + */ + public function supported() + { + return true; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SysInfoLinux.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfoLinux.php similarity index 88% rename from .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SysInfoLinux.php rename to .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfoLinux.php index c2afba8b..3fc4f612 100644 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/SysInfoLinux.php +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/SysInfoLinux.php @@ -1,18 +1,21 @@ dbi = $dbi; + $this->relation = new Relation(); } /** @@ -42,7 +50,7 @@ class SystemDatabase */ public function getExistingTransformationData($db) { - $cfgRelation = \PMA_getRelationsParam(); + $cfgRelation = $this->relation->getRelationsParam(); // Get the existing transformation details of the same database // from pma__column_info table @@ -67,9 +75,9 @@ class SystemDatabase * @return string $new_transformations_sql SQL query for new transformations */ function getNewTransformationDataSql( - $pma_transformation_data, $column_map, $view_name, $db + $pma_transformation_data, array $column_map, $view_name, $db ) { - $cfgRelation = \PMA_getRelationsParam(); + $cfgRelation = $this->relation->getRelationsParam(); // Need to store new transformation details for VIEW $new_transformations_sql = sprintf( diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Table.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Table.php new file mode 100644 index 00000000..7f3f7851 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Table.php @@ -0,0 +1,2626 @@ +_dbi = $dbi; + $this->_name = $table_name; + $this->_db_name = $db_name; + $this->relation = new Relation(); + } + + /** + * returns table name + * + * @see Table::getName() + * @return string table name + */ + public function __toString() + { + return $this->getName(); + } + + /** + * Table getter + * + * @param string $table_name table name + * @param string $db_name database name + * @param DatabaseInterface $dbi database interface for the table + * + * @return Table + */ + public static function get($table_name, $db_name, DatabaseInterface $dbi = null) + { + return new Table($table_name, $db_name, $dbi); + } + + /** + * return the last error + * + * @return string the last error + */ + public function getLastError() + { + return end($this->errors); + } + + /** + * return the last message + * + * @return string the last message + */ + public function getLastMessage() + { + return end($this->messages); + } + + /** + * returns table name + * + * @param boolean $backquoted whether to quote name with backticks `` + * + * @return string table name + */ + public function getName($backquoted = false) + { + if ($backquoted) { + return Util::backquote($this->_name); + } + return $this->_name; + } + + /** + * returns database name for this table + * + * @param boolean $backquoted whether to quote name with backticks `` + * + * @return string database name for this table + */ + public function getDbName($backquoted = false) + { + if ($backquoted) { + return Util::backquote($this->_db_name); + } + return $this->_db_name; + } + + /** + * returns full name for table, including database name + * + * @param boolean $backquoted whether to quote name with backticks `` + * + * @return string + */ + public function getFullName($backquoted = false) + { + return $this->getDbName($backquoted) . '.' + . $this->getName($backquoted); + } + + + /** + * Checks the storage engine used to create table + * + * @param array|string $engine Checks the table engine against an + * array of engine strings or a single string, should be uppercase + * + * @return bool True, if $engine matches the storage engine for the table, + * False otherwise. + */ + public function isEngine($engine) + { + $tbl_storage_engine = $this->getStorageEngine(); + + if (is_array($engine)){ + foreach($engine as $e){ + if($e == $tbl_storage_engine){ + return true; + } + } + return false; + }else{ + return $tbl_storage_engine == $engine; + } + } + + /** + * returns whether the table is actually a view + * + * @return boolean whether the given is a view + */ + public function isView() + { + $db = $this->_db_name; + $table = $this->_name; + if (empty($db) || empty($table)) { + return false; + } + + // use cached data or load information with SHOW command + if ($this->_dbi->getCachedTableContent(array($db, $table)) != null + || $GLOBALS['cfg']['Server']['DisableIS'] + ) { + $type = $this->getStatusInfo('TABLE_TYPE'); + return $type == 'VIEW' || $type == 'SYSTEM VIEW'; + } + + // information_schema tables are 'SYSTEM VIEW's + if ($db == 'information_schema') { + return true; + } + + // query information_schema + $result = $this->_dbi->fetchResult( + "SELECT TABLE_NAME + FROM information_schema.VIEWS + WHERE TABLE_SCHEMA = '" . $GLOBALS['dbi']->escapeString($db) . "' + AND TABLE_NAME = '" . $GLOBALS['dbi']->escapeString($table) . "'" + ); + return $result ? true : false; + } + + /** + * Returns whether the table is actually an updatable view + * + * @return boolean whether the given is an updatable view + */ + public function isUpdatableView() + { + if (empty($this->_db_name) || empty($this->_name)) { + return false; + } + + $result = $this->_dbi->fetchResult( + "SELECT TABLE_NAME + FROM information_schema.VIEWS + WHERE TABLE_SCHEMA = '" . $GLOBALS['dbi']->escapeString($this->_db_name) . "' + AND TABLE_NAME = '" . $GLOBALS['dbi']->escapeString($this->_name) . "' + AND IS_UPDATABLE = 'YES'" + ); + return $result ? true : false; + } + + /** + * Checks if this is a merge table + * + * If the ENGINE of the table is MERGE or MRG_MYISAM (alias), + * this is a merge table. + * + * @return boolean true if it is a merge table + */ + public function isMerge() + { + return $this->isEngine(array('MERGE', 'MRG_MYISAM')); + } + + /** + * Returns full table status info, or specific if $info provided + * this info is collected from information_schema + * + * @param string $info specific information to be fetched + * @param boolean $force_read read new rather than serving from cache + * @param boolean $disable_error if true, disables error message + * + * @todo DatabaseInterface::getTablesFull needs to be merged + * somehow into this class or at least better documented + * + * @return mixed + */ + public function getStatusInfo( + $info = null, + $force_read = false, + $disable_error = false + ) { + $db = $this->_db_name; + $table = $this->_name; + + if (! empty($_SESSION['is_multi_query'])) { + $disable_error = true; + } + + // sometimes there is only one entry (ExactRows) so + // we have to get the table's details + if ($this->_dbi->getCachedTableContent(array($db, $table)) == null + || $force_read + || count($this->_dbi->getCachedTableContent(array($db, $table))) == 1 + ) { + $this->_dbi->getTablesFull($db, $table); + } + + if ($this->_dbi->getCachedTableContent(array($db, $table)) == null) { + // happens when we enter the table creation dialog + // or when we really did not get any status info, for example + // when $table == 'TABLE_NAMES' after the user tried SHOW TABLES + return ''; + } + + if (null === $info) { + return $this->_dbi->getCachedTableContent(array($db, $table)); + } + + // array_key_exists allows for null values + if (!array_key_exists( + $info, $this->_dbi->getCachedTableContent(array($db, $table)) + ) + ) { + if (! $disable_error) { + trigger_error( + __('Unknown table status:') . ' ' . $info, + E_USER_WARNING + ); + } + return false; + } + + return $this->_dbi->getCachedTableContent(array($db, $table, $info)); + } + + /** + * Returns the Table storage Engine for current table. + * + * @return string Return storage engine info if it is set for + * the selected table else return blank. + */ + public function getStorageEngine() { + $table_storage_engine = $this->getStatusInfo('ENGINE', false, true); + if ($table_storage_engine === false) { + return ''; + } + return strtoupper($table_storage_engine); + } + + /** + * Returns the comments for current table. + * + * @return string Return comment info if it is set for the selected table or return blank. + */ + public function getComment() { + $table_comment = $this->getStatusInfo('COMMENT', false, true); + if ($table_comment === false) { + return ''; + } + return $table_comment; + } + + /** + * Returns the collation for current table. + * + * @return string Return blank if collation is empty else return the collation info from table info. + */ + public function getCollation() { + $table_collation = $this->getStatusInfo('TABLE_COLLATION', false, true); + if ($table_collation === false) { + return ''; + } + return $table_collation; + } + + /** + * Returns the info about no of rows for current table. + * + * @return integer Return no of rows info if it is not null for the selected table or return 0. + */ + public function getNumRows() { + $table_num_row_info = $this->getStatusInfo('TABLE_ROWS', false, true); + if (false === $table_num_row_info) { + $table_num_row_info = $this->_dbi->getTable($this->_db_name, $showtable['Name']) + ->countRecords(true); + } + return $table_num_row_info ? $table_num_row_info : 0 ; + } + + /** + * Returns the Row format for current table. + * + * @return string Return table row format info if it is set for the selected table or return blank. + */ + public function getRowFormat() { + $table_row_format = $this->getStatusInfo('ROW_FORMAT', false, true); + if ($table_row_format === false) { + return ''; + } + return $table_row_format; + } + + /** + * Returns the auto increment option for current table. + * + * @return integer Return auto increment info if it is set for the selected table or return blank. + */ + public function getAutoIncrement() { + $table_auto_increment = $this->getStatusInfo('AUTO_INCREMENT', false, true); + return isset($table_auto_increment) ? $table_auto_increment : ''; + } + + /** + * Returns the array for CREATE statement for current table. + * @return array Return options array info if it is set for the selected table or return blank. + */ + public function getCreateOptions() { + $table_options = $this->getStatusInfo('CREATE_OPTIONS', false, true); + $create_options_tmp = empty($table_options) ? array() : explode(' ', $table_options); + $create_options = array(); + // export create options by its name as variables into global namespace + // f.e. pack_keys=1 becomes available as $pack_keys with value of '1' + // unset($pack_keys); + foreach ($create_options_tmp as $each_create_option) { + $each_create_option = explode('=', $each_create_option); + if (isset($each_create_option[1])) { + // ensure there is no ambiguity for PHP 5 and 7 + $create_options[$each_create_option[0]] = $each_create_option[1]; + } + } + // we need explicit DEFAULT value here (different from '0') + $create_options['pack_keys'] = (! isset($create_options['pack_keys']) || strlen($create_options['pack_keys']) == 0) + ? 'DEFAULT' + : $create_options['pack_keys']; + return $create_options; + } + + /** + * generates column specification for ALTER or CREATE TABLE syntax + * + * @param string $name name + * @param string $type type ('INT', 'VARCHAR', 'BIT', ...) + * @param string $length length ('2', '5,2', '', ...) + * @param string $attribute attribute + * @param string $collation collation + * @param bool|string $null with 'NULL' or 'NOT NULL' + * @param string $default_type whether default is CURRENT_TIMESTAMP, + * NULL, NONE, USER_DEFINED + * @param string $default_value default value for USER_DEFINED + * default type + * @param string $extra 'AUTO_INCREMENT' + * @param string $comment field comment + * @param string $virtuality virtuality of the column + * @param string $expression expression for the virtual column + * @param string $move_to new position for column + * + * @todo move into class PMA_Column + * @todo on the interface, some js to clear the default value when the + * default current_timestamp is checked + * + * @return string field specification + */ + static function generateFieldSpec($name, $type, $length = '', + $attribute = '', $collation = '', $null = false, + $default_type = 'USER_DEFINED', $default_value = '', $extra = '', + $comment = '', $virtuality = '', $expression = '', $move_to = '' + ) { + $is_timestamp = mb_strpos( + mb_strtoupper($type), + 'TIMESTAMP' + ) !== false; + + $query = Util::backquote($name) . ' ' . $type; + + // allow the possibility of a length for TIME, DATETIME and TIMESTAMP + // (will work on MySQL >= 5.6.4) + // + // MySQL permits a non-standard syntax for FLOAT and DOUBLE, + // see https://dev.mysql.com/doc/refman/5.5/en/floating-point-types.html + // + $pattern = '@^(DATE|TINYBLOB|TINYTEXT|BLOB|TEXT|' + . 'MEDIUMBLOB|MEDIUMTEXT|LONGBLOB|LONGTEXT|SERIAL|BOOLEAN|UUID)$@i'; + if (strlen($length) !== 0 && ! preg_match($pattern, $type)) { + // Note: The variable $length here can contain several other things + // besides length - ENUM/SET value or length of DECIMAL (eg. 12,3) + // so we can't just convert it to integer + $query .= '(' . $length . ')'; + } + if ($attribute != '') { + $query .= ' ' . $attribute; + + if ($is_timestamp + && preg_match('/TIMESTAMP/i', $attribute) + && strlen($length) !== 0 + && $length !== 0 + ) { + $query .= '(' . $length . ')'; + } + } + + if ($virtuality) { + $query .= ' AS (' . $expression . ') ' . $virtuality; + } else { + + $matches = preg_match( + '@^(TINYTEXT|TEXT|MEDIUMTEXT|LONGTEXT|VARCHAR|CHAR|ENUM|SET)$@i', + $type + ); + if (! empty($collation) && $collation != 'NULL' && $matches) { + $query .= Util::getCharsetQueryPart($collation, true); + } + + if ($null !== false) { + if ($null == 'NULL') { + $query .= ' NULL'; + } else { + $query .= ' NOT NULL'; + } + } + + switch ($default_type) { + case 'USER_DEFINED' : + if ($is_timestamp && $default_value === '0') { + // a TIMESTAMP does not accept DEFAULT '0' + // but DEFAULT 0 works + $query .= ' DEFAULT 0'; + } elseif ($type == 'BIT') { + $query .= ' DEFAULT b\'' + . preg_replace('/[^01]/', '0', $default_value) + . '\''; + } elseif ($type == 'BOOLEAN') { + if (preg_match('/^1|T|TRUE|YES$/i', $default_value)) { + $query .= ' DEFAULT TRUE'; + } elseif (preg_match('/^0|F|FALSE|NO$/i', $default_value)) { + $query .= ' DEFAULT FALSE'; + } else { + // Invalid BOOLEAN value + $query .= ' DEFAULT \'' + . $GLOBALS['dbi']->escapeString($default_value) . '\''; + } + } elseif ($type == 'BINARY' || $type == 'VARBINARY') { + $query .= ' DEFAULT 0x' . $default_value; + } else { + $query .= ' DEFAULT \'' + . $GLOBALS['dbi']->escapeString($default_value) . '\''; + } + break; + /** @noinspection PhpMissingBreakStatementInspection */ + case 'NULL' : + // If user uncheck null checkbox and not change default value null, + // default value will be ignored. + if ($null !== false && $null !== 'NULL') { + break; + } + // else fall-through intended, no break here + case 'CURRENT_TIMESTAMP' : + $query .= ' DEFAULT ' . $default_type; + + if (strlen($length) !== 0 + && $length !== 0 + && $is_timestamp + && $default_type !== 'NULL' // Not to be added in case of NULL + ) { + $query .= '(' . $length . ')'; + } + break; + case 'NONE' : + default : + break; + } + + if (!empty($extra)) { + $query .= ' ' . $extra; + } + } + if (!empty($comment)) { + $query .= " COMMENT '" . $GLOBALS['dbi']->escapeString($comment) . "'"; + } + + // move column + if ($move_to == '-first') { // dash can't appear as part of column name + $query .= ' FIRST'; + } elseif ($move_to != '') { + $query .= ' AFTER ' . Util::backquote($move_to); + } + return $query; + } // end function + + /** + * Checks if the number of records in a table is at least equal to + * $min_records + * + * @param int $min_records Number of records to check for in a table + * + * @return bool True, if at least $min_records exist, False otherwise. + */ + public function checkIfMinRecordsExist($min_records = 0) + { + $check_query = 'SELECT '; + $fieldsToSelect = ''; + + $uniqueFields = $this->getUniqueColumns(true, false); + if (count($uniqueFields) > 0) { + $fieldsToSelect = implode(', ', $uniqueFields); + } else { + $indexedCols = $this->getIndexedColumns(true, false); + if (count($indexedCols) > 0) { + $fieldsToSelect = implode(', ', $indexedCols); + } else { + $fieldsToSelect = '*'; + } + } + + $check_query .= $fieldsToSelect + . ' FROM ' . $this->getFullName(true) + . ' LIMIT ' . $min_records; + + $res = $GLOBALS['dbi']->tryQuery( + $check_query + ); + + if ($res !== false) { + $num_records = $GLOBALS['dbi']->numRows($res); + if ($num_records >= $min_records) { + return true; + } + } + + return false; + } + + /** + * Counts and returns (or displays) the number of records in a table + * + * @param bool $force_exact whether to force an exact count + * + * @return mixed the number of records if "retain" param is true, + * otherwise true + */ + public function countRecords($force_exact = false) + { + $is_view = $this->isView(); + $db = $this->_db_name; + $table = $this->_name; + + if ($this->_dbi->getCachedTableContent(array($db, $table, 'ExactRows')) != null) { + $row_count = $this->_dbi->getCachedTableContent( + array($db, $table, 'ExactRows') + ); + return $row_count; + } + $row_count = false; + + if (! $force_exact) { + if (($this->_dbi->getCachedTableContent(array($db, $table, 'Rows')) == null) + && !$is_view + ) { + $tmp_tables = $this->_dbi->getTablesFull($db, $table); + if (isset($tmp_tables[$table])) { + $this->_dbi->cacheTableContent( + array($db, $table), + $tmp_tables[$table] + ); + } + } + if ($this->_dbi->getCachedTableContent(array($db, $table, 'Rows')) != null) { + $row_count = $this->_dbi->getCachedTableContent( + array($db, $table, 'Rows') + ); + } else { + $row_count = false; + } + } + // for a VIEW, $row_count is always false at this point + if (false !== $row_count + && $row_count >= $GLOBALS['cfg']['MaxExactCount'] + ) { + return $row_count; + } + + if (! $is_view) { + $row_count = $this->_dbi->fetchValue( + 'SELECT COUNT(*) FROM ' . Util::backquote($db) . '.' + . Util::backquote($table) + ); + } else { + // For complex views, even trying to get a partial record + // count could bring down a server, so we offer an + // alternative: setting MaxExactCountViews to 0 will bypass + // completely the record counting for views + + if ($GLOBALS['cfg']['MaxExactCountViews'] == 0) { + $row_count = false; + } else { + // Counting all rows of a VIEW could be too long, + // so use a LIMIT clause. + // Use try_query because it can fail (when a VIEW is + // based on a table that no longer exists) + $result = $this->_dbi->tryQuery( + 'SELECT 1 FROM ' . Util::backquote($db) . '.' + . Util::backquote($table) . ' LIMIT ' + . $GLOBALS['cfg']['MaxExactCountViews'], + DatabaseInterface::CONNECT_USER, + DatabaseInterface::QUERY_STORE + ); + if (!$this->_dbi->getError()) { + $row_count = $this->_dbi->numRows($result); + $this->_dbi->freeResult($result); + } + } + } + if ($row_count) { + $this->_dbi->cacheTableContent(array($db, $table, 'ExactRows'), $row_count); + } + + return $row_count; + } // end of the 'Table::countRecords()' function + + /** + * Generates column specification for ALTER syntax + * + * @param string $oldcol old column name + * @param string $newcol new column name + * @param string $type type ('INT', 'VARCHAR', 'BIT', ...) + * @param string $length length ('2', '5,2', '', ...) + * @param string $attribute attribute + * @param string $collation collation + * @param bool|string $null with 'NULL' or 'NOT NULL' + * @param string $default_type whether default is CURRENT_TIMESTAMP, + * NULL, NONE, USER_DEFINED + * @param string $default_value default value for USER_DEFINED default + * type + * @param string $extra 'AUTO_INCREMENT' + * @param string $comment field comment + * @param string $virtuality virtuality of the column + * @param string $expression expression for the virtual column + * @param string $move_to new position for column + * + * @see Table::generateFieldSpec() + * + * @return string field specification + */ + public static function generateAlter($oldcol, $newcol, $type, $length, + $attribute, $collation, $null, $default_type, $default_value, + $extra, $comment, $virtuality, $expression, $move_to + ) { + return Util::backquote($oldcol) . ' ' + . self::generateFieldSpec( + $newcol, $type, $length, $attribute, + $collation, $null, $default_type, $default_value, $extra, + $comment, $virtuality, $expression, $move_to + ); + } // end function + + /** + * Inserts existing entries in a PMA_* table by reading a value from an old + * entry + * + * @param string $work The array index, which Relation feature to + * check ('relwork', 'commwork', ...) + * @param string $pma_table The array index, which PMA-table to update + * ('bookmark', 'relation', ...) + * @param array $get_fields Which fields will be SELECT'ed from the old entry + * @param array $where_fields Which fields will be used for the WHERE query + * (array('FIELDNAME' => 'FIELDVALUE')) + * @param array $new_fields Which fields will be used as new VALUES. + * These are the important keys which differ + * from the old entry + * (array('FIELDNAME' => 'NEW FIELDVALUE')) + * + * @global relation variable + * + * @return int|boolean + */ + public static function duplicateInfo($work, $pma_table, array $get_fields, + array $where_fields, array $new_fields + ) { + $relation = new Relation(); + $last_id = -1; + + if (!isset($GLOBALS['cfgRelation']) || !$GLOBALS['cfgRelation'][$work]) { + return true; + } + + $select_parts = array(); + $row_fields = array(); + foreach ($get_fields as $get_field) { + $select_parts[] = Util::backquote($get_field); + $row_fields[$get_field] = 'cc'; + } + + $where_parts = array(); + foreach ($where_fields as $_where => $_value) { + $where_parts[] = Util::backquote($_where) . ' = \'' + . $GLOBALS['dbi']->escapeString($_value) . '\''; + } + + $new_parts = array(); + $new_value_parts = array(); + foreach ($new_fields as $_where => $_value) { + $new_parts[] = Util::backquote($_where); + $new_value_parts[] = $GLOBALS['dbi']->escapeString($_value); + } + + $table_copy_query = ' + SELECT ' . implode(', ', $select_parts) . ' + FROM ' . Util::backquote($GLOBALS['cfgRelation']['db']) . '.' + . Util::backquote($GLOBALS['cfgRelation'][$pma_table]) . ' + WHERE ' . implode(' AND ', $where_parts); + + // must use DatabaseInterface::QUERY_STORE here, since we execute + // another query inside the loop + $table_copy_rs = $relation->queryAsControlUser( + $table_copy_query, true, DatabaseInterface::QUERY_STORE + ); + + while ($table_copy_row = @$GLOBALS['dbi']->fetchAssoc($table_copy_rs)) { + $value_parts = array(); + foreach ($table_copy_row as $_key => $_val) { + if (isset($row_fields[$_key]) && $row_fields[$_key] == 'cc') { + $value_parts[] = $GLOBALS['dbi']->escapeString($_val); + } + } + + $new_table_query = 'INSERT IGNORE INTO ' + . Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' . Util::backquote($GLOBALS['cfgRelation'][$pma_table]) + . ' (' . implode(', ', $select_parts) . ', ' + . implode(', ', $new_parts) . ') VALUES (\'' + . implode('\', \'', $value_parts) . '\', \'' + . implode('\', \'', $new_value_parts) . '\')'; + + $relation->queryAsControlUser($new_table_query); + $last_id = $GLOBALS['dbi']->insertId(); + } // end while + + $GLOBALS['dbi']->freeResult($table_copy_rs); + + return $last_id; + } // end of 'Table::duplicateInfo()' function + + /** + * Copies or renames table + * + * @param string $source_db source database + * @param string $source_table source table + * @param string $target_db target database + * @param string $target_table target table + * @param string $what what to be moved or copied (data, dataonly) + * @param bool $move whether to move + * @param string $mode mode + * + * @return bool true if success, false otherwise + */ + public static function moveCopy($source_db, $source_table, $target_db, + $target_table, $what, $move, $mode + ) { + global $err_url; + + $relation = new Relation(); + + // Try moving the tables directly, using native `RENAME` statement. + if ($move && $what == 'data') { + $tbl = new Table($source_table, $source_db); + if ($tbl->rename($target_table, $target_db)) { + $GLOBALS['message'] = $tbl->getLastMessage(); + return true; + } + } + + // Setting required export settings. + $GLOBALS['sql_backquotes'] = 1; + $GLOBALS['asfile'] = 1; + + // Ensuring the target database is valid. + if (! $GLOBALS['dblist']->databases->exists($source_db, $target_db)) { + if (! $GLOBALS['dblist']->databases->exists($source_db)) { + $GLOBALS['message'] = Message::rawError( + sprintf( + __('Source database `%s` was not found!'), + htmlspecialchars($source_db) + ) + ); + } + if (! $GLOBALS['dblist']->databases->exists($target_db)) { + $GLOBALS['message'] = Message::rawError( + sprintf( + __('Target database `%s` was not found!'), + htmlspecialchars($target_db) + ) + ); + } + return false; + } + + /** + * The full name of source table, quoted. + * @var string $source + */ + $source = Util::backquote($source_db) + . '.' . Util::backquote($source_table); + + // If the target database is not specified, the operation is taking + // place in the same database. + if (! isset($target_db) || strlen($target_db) === 0) { + $target_db = $source_db; + } + + // Selecting the database could avoid some problems with replicated + // databases, when moving table from replicated one to not replicated one. + $GLOBALS['dbi']->selectDb($target_db); + + /** + * The full name of target table, quoted. + * @var string $target + */ + $target = Util::backquote($target_db) + . '.' . Util::backquote($target_table); + + // No table is created when this is a data-only operation. + if ($what != 'dataonly') { + /** + * Instance used for exporting the current structure of the table. + * + * @var PhpMyAdmin\Plugins\Export\ExportSql + */ + $export_sql_plugin = Plugins::getPlugin( + "export", + "sql", + 'libraries/classes/Plugins/Export/', + array( + 'export_type' => 'table', + 'single_table' => false, + ) + ); + + $no_constraints_comments = true; + $GLOBALS['sql_constraints_query'] = ''; + // set the value of global sql_auto_increment variable + if (isset($_POST['sql_auto_increment'])) { + $GLOBALS['sql_auto_increment'] = $_POST['sql_auto_increment']; + } + + /** + * The old structure of the table.. + * @var string $sql_structure + */ + $sql_structure = $export_sql_plugin->getTableDef( + $source_db, $source_table, "\n", $err_url, false, false + ); + + unset($no_constraints_comments); + + // ----------------------------------------------------------------- + // Phase 0: Preparing structures used. + + /** + * The destination where the table is moved or copied to. + * @var Expression + */ + $destination = new Expression( + $target_db, $target_table, '' + ); + + // Find server's SQL mode so the builder can generate correct + // queries. + // One of the options that alters the behaviour is `ANSI_QUOTES`. + Context::setMode( + $GLOBALS['dbi']->fetchValue("SELECT @@sql_mode") + ); + + // ----------------------------------------------------------------- + // Phase 1: Dropping existent element of the same name (if exists + // and required). + + if (isset($_REQUEST['drop_if_exists']) + && $_REQUEST['drop_if_exists'] == 'true' + ) { + + /** + * Drop statement used for building the query. + * @var DropStatement $statement + */ + $statement = new DropStatement(); + + $tbl = new Table($target_db, $target_table); + + $statement->options = new OptionsArray( + array( + $tbl->isView() ? 'VIEW' : 'TABLE', + 'IF EXISTS', + ) + ); + + $statement->fields = array($destination); + + // Building the query. + $drop_query = $statement->build() . ';'; + + // Executing it. + $GLOBALS['dbi']->query($drop_query); + $GLOBALS['sql_query'] .= "\n" . $drop_query; + + // If an existing table gets deleted, maintain any entries for + // the PMA_* tables. + $maintain_relations = true; + } + + // ----------------------------------------------------------------- + // Phase 2: Generating the new query of this structure. + + /** + * The parser responsible for parsing the old queries. + * @var Parser $parser + */ + $parser = new Parser($sql_structure); + + if (!empty($parser->statements[0])) { + + /** + * The CREATE statement of this structure. + * @var \PhpMyAdmin\SqlParser\Statements\CreateStatement $statement + */ + $statement = $parser->statements[0]; + + // Changing the destination. + $statement->name = $destination; + + // Building back the query. + $sql_structure = $statement->build() . ';'; + + // Executing it. + $GLOBALS['dbi']->query($sql_structure); + $GLOBALS['sql_query'] .= "\n" . $sql_structure; + } + + // ----------------------------------------------------------------- + // Phase 3: Adding constraints. + // All constraint names are removed because they must be unique. + + if (($move || isset($GLOBALS['add_constraints'])) + && !empty($GLOBALS['sql_constraints_query']) + ) { + + $parser = new Parser($GLOBALS['sql_constraints_query']); + + /** + * The ALTER statement that generates the constraints. + * @var \PhpMyAdmin\SqlParser\Statements\AlterStatement $statement + */ + $statement = $parser->statements[0]; + + // Changing the altered table to the destination. + $statement->table = $destination; + + // Removing the name of the constraints. + foreach ($statement->altered as $idx => $altered) { + // All constraint names are removed because they must be unique. + if ($altered->options->has('CONSTRAINT')) { + $altered->field = null; + } + } + + // Building back the query. + $GLOBALS['sql_constraints_query'] = $statement->build() . ';'; + + // Executing it. + if ($mode == 'one_table') { + $GLOBALS['dbi']->query($GLOBALS['sql_constraints_query']); + } + $GLOBALS['sql_query'] .= "\n" . $GLOBALS['sql_constraints_query']; + if ($mode == 'one_table') { + unset($GLOBALS['sql_constraints_query']); + } + } + + // ----------------------------------------------------------------- + // Phase 4: Adding indexes. + // View phase 3. + + if (!empty($GLOBALS['sql_indexes'])) { + + $parser = new Parser($GLOBALS['sql_indexes']); + + $GLOBALS['sql_indexes'] = ''; + /** + * The ALTER statement that generates the indexes. + * @var \PhpMyAdmin\SqlParser\Statements\AlterStatement $statement + */ + foreach ($parser->statements as $statement) { + + // Changing the altered table to the destination. + $statement->table = $destination; + + // Removing the name of the constraints. + foreach ($statement->altered as $idx => $altered) { + // All constraint names are removed because they must be unique. + if ($altered->options->has('CONSTRAINT')) { + $altered->field = null; + } + } + + // Building back the query. + $sql_index = $statement->build() . ';'; + + // Executing it. + if ($mode == 'one_table' || $mode == 'db_copy') { + $GLOBALS['dbi']->query($sql_index); + } + + $GLOBALS['sql_indexes'] .= $sql_index; + } + + $GLOBALS['sql_query'] .= "\n" . $GLOBALS['sql_indexes']; + if ($mode == 'one_table' || $mode == 'db_copy') { + unset($GLOBALS['sql_indexes']); + } + } + + // ----------------------------------------------------------------- + // Phase 5: Adding AUTO_INCREMENT. + + if (! empty($GLOBALS['sql_auto_increments'])) { + if ($mode == 'one_table' || $mode == 'db_copy') { + + $parser = new Parser($GLOBALS['sql_auto_increments']); + + /** + * The ALTER statement that alters the AUTO_INCREMENT value. + * @var \PhpMyAdmin\SqlParser\Statements\AlterStatement $statement + */ + $statement = $parser->statements[0]; + + // Changing the altered table to the destination. + $statement->table = $destination; + + // Building back the query. + $GLOBALS['sql_auto_increments'] = $statement->build() . ';'; + + // Executing it. + $GLOBALS['dbi']->query($GLOBALS['sql_auto_increments']); + $GLOBALS['sql_query'] .= "\n" . $GLOBALS['sql_auto_increments']; + unset($GLOBALS['sql_auto_increments']); + } + } + } else { + $GLOBALS['sql_query'] = ''; + } + + $_table = new Table($target_table, $target_db); + // Copy the data unless this is a VIEW + if (($what == 'data' || $what == 'dataonly') + && ! $_table->isView() + ) { + $sql_set_mode = "SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'"; + $GLOBALS['dbi']->query($sql_set_mode); + $GLOBALS['sql_query'] .= "\n\n" . $sql_set_mode . ';'; + + $_old_table = new Table($source_table, $source_db); + $nonGeneratedCols = $_old_table->getNonGeneratedColumns(true); + if (count($nonGeneratedCols) > 0) { + $sql_insert_data = 'INSERT INTO ' . $target . '(' + . implode(', ', $nonGeneratedCols) + . ') SELECT ' . implode(', ', $nonGeneratedCols) + . ' FROM ' . $source; + + $GLOBALS['dbi']->query($sql_insert_data); + $GLOBALS['sql_query'] .= "\n\n" . $sql_insert_data . ';'; + } + } + + $relation->getRelationsParam(); + + // Drops old table if the user has requested to move it + if ($move) { + + // This could avoid some problems with replicated databases, when + // moving table from replicated one to not replicated one + $GLOBALS['dbi']->selectDb($source_db); + + $_source_table = new Table($source_table, $source_db); + if ($_source_table->isView()) { + $sql_drop_query = 'DROP VIEW'; + } else { + $sql_drop_query = 'DROP TABLE'; + } + $sql_drop_query .= ' ' . $source; + $GLOBALS['dbi']->query($sql_drop_query); + + // Renable table in configuration storage + $relation->renameTable( + $source_db, $target_db, + $source_table, $target_table + ); + + $GLOBALS['sql_query'] .= "\n\n" . $sql_drop_query . ';'; + // end if ($move) + return true; + } + + // we are copying + // Create new entries as duplicates from old PMA DBs + if ($what == 'dataonly' || isset($maintain_relations)) { + return true; + } + + if ($GLOBALS['cfgRelation']['commwork']) { + // Get all comments and MIME-Types for current table + $comments_copy_rs = $relation->queryAsControlUser( + 'SELECT column_name, comment' + . ($GLOBALS['cfgRelation']['mimework'] + ? ', mimetype, transformation, transformation_options' + : '') + . ' FROM ' + . Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' + . Util::backquote($GLOBALS['cfgRelation']['column_info']) + . ' WHERE ' + . ' db_name = \'' + . $GLOBALS['dbi']->escapeString($source_db) . '\'' + . ' AND ' + . ' table_name = \'' + . $GLOBALS['dbi']->escapeString($source_table) . '\'' + ); + + // Write every comment as new copied entry. [MIME] + while ($comments_copy_row + = $GLOBALS['dbi']->fetchAssoc($comments_copy_rs)) { + $new_comment_query = 'REPLACE INTO ' + . Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' . Util::backquote( + $GLOBALS['cfgRelation']['column_info'] + ) + . ' (db_name, table_name, column_name, comment' + . ($GLOBALS['cfgRelation']['mimework'] + ? ', mimetype, transformation, transformation_options' + : '') + . ') ' . ' VALUES(' . '\'' . $GLOBALS['dbi']->escapeString($target_db) + . '\',\'' . $GLOBALS['dbi']->escapeString($target_table) . '\',\'' + . $GLOBALS['dbi']->escapeString($comments_copy_row['column_name']) + . '\',\'' . $GLOBALS['dbi']->escapeString($target_table) . '\',\'' + . $GLOBALS['dbi']->escapeString($comments_copy_row['comment']) + . '\'' + . ($GLOBALS['cfgRelation']['mimework'] + ? ',\'' . $GLOBALS['dbi']->escapeString( + $comments_copy_row['mimetype'] + ) + . '\',' . '\'' . $GLOBALS['dbi']->escapeString( + $comments_copy_row['transformation'] + ) + . '\',' . '\'' . $GLOBALS['dbi']->escapeString( + $comments_copy_row['transformation_options'] + ) + . '\'' + : '') + . ')'; + $relation->queryAsControlUser($new_comment_query); + } // end while + $GLOBALS['dbi']->freeResult($comments_copy_rs); + unset($comments_copy_rs); + } + + // duplicating the bookmarks must not be done here, but + // just once per db + + $get_fields = array('display_field'); + $where_fields = array( + 'db_name' => $source_db, + 'table_name' => $source_table + ); + $new_fields = array( + 'db_name' => $target_db, + 'table_name' => $target_table + ); + self::duplicateInfo( + 'displaywork', + 'table_info', + $get_fields, + $where_fields, + $new_fields + ); + + /** + * @todo revise this code when we support cross-db relations + */ + $get_fields = array( + 'master_field', + 'foreign_table', + 'foreign_field' + ); + $where_fields = array( + 'master_db' => $source_db, + 'master_table' => $source_table + ); + $new_fields = array( + 'master_db' => $target_db, + 'foreign_db' => $target_db, + 'master_table' => $target_table + ); + self::duplicateInfo( + 'relwork', + 'relation', + $get_fields, + $where_fields, + $new_fields + ); + + $get_fields = array( + 'foreign_field', + 'master_table', + 'master_field' + ); + $where_fields = array( + 'foreign_db' => $source_db, + 'foreign_table' => $source_table + ); + $new_fields = array( + 'master_db' => $target_db, + 'foreign_db' => $target_db, + 'foreign_table' => $target_table + ); + self::duplicateInfo( + 'relwork', + 'relation', + $get_fields, + $where_fields, + $new_fields + ); + + /** + * @todo Can't get duplicating PDFs the right way. The + * page numbers always get screwed up independently from + * duplication because the numbers do not seem to be stored on a + * per-database basis. Would the author of pdf support please + * have a look at it? + * + $get_fields = array('page_descr'); + $where_fields = array('db_name' => $source_db); + $new_fields = array('db_name' => $target_db); + $last_id = self::duplicateInfo( + 'pdfwork', + 'pdf_pages', + $get_fields, + $where_fields, + $new_fields + ); + + if (isset($last_id) && $last_id >= 0) { + $get_fields = array('x', 'y'); + $where_fields = array( + 'db_name' => $source_db, + 'table_name' => $source_table + ); + $new_fields = array( + 'db_name' => $target_db, + 'table_name' => $target_table, + 'pdf_page_number' => $last_id + ); + self::duplicateInfo( + 'pdfwork', + 'table_coords', + $get_fields, + $where_fields, + $new_fields + ); + } + */ + + return true; + } + + /** + * checks if given name is a valid table name, + * currently if not empty, trailing spaces, '.', '/' and '\' + * + * @param string $table_name name to check + * @param boolean $is_backquoted whether this name is used inside backquotes or not + * + * @todo add check for valid chars in filename on current system/os + * @see https://dev.mysql.com/doc/refman/5.0/en/legal-names.html + * + * @return boolean whether the string is valid or not + */ + static function isValidName($table_name, $is_backquoted = false) + { + if ($table_name !== rtrim($table_name)) { + // trailing spaces not allowed even in backquotes + return false; + } + + if (strlen($table_name) === 0) { + // zero length + return false; + } + + if (! $is_backquoted && $table_name !== trim($table_name)) { + // spaces at the start or in between only allowed inside backquotes + return false; + } + + if (! $is_backquoted && preg_match('/^[a-zA-Z0-9_$]+$/', $table_name)) { + // only allow the above regex in unquoted identifiers + // see : https://dev.mysql.com/doc/refman/5.7/en/identifiers.html + return true; + } elseif ($is_backquoted) { + // If backquoted, all characters should be allowed (except w/ trailing spaces) + return true; + } + + // If not backquoted and doesn't follow the above regex + return false; + } + + /** + * renames table + * + * @param string $new_name new table name + * @param string $new_db new database name + * + * @return bool success + */ + public function rename($new_name, $new_db = null) + { + if ($GLOBALS['dbi']->getLowerCaseNames() === '1') { + $new_name = strtolower($new_name); + } + + if (null !== $new_db && $new_db !== $this->getDbName()) { + // Ensure the target is valid + if (! $GLOBALS['dblist']->databases->exists($new_db)) { + $this->errors[] = __('Invalid database:') . ' ' . $new_db; + return false; + } + } else { + $new_db = $this->getDbName(); + } + + $new_table = new Table($new_name, $new_db); + + if ($this->getFullName() === $new_table->getFullName()) { + return true; + } + + // Allow whitespaces (not trailing) in $new_name, + // since we are using $backquoted in getting the fullName of table + // below to be used in the query + if (! self::isValidName($new_name, true)) { + $this->errors[] = __('Invalid table name:') . ' ' + . $new_table->getFullName(); + return false; + } + + // If the table is moved to a different database drop its triggers first + $triggers = $this->_dbi->getTriggers( + $this->getDbName(), $this->getName(), '' + ); + $handle_triggers = $this->getDbName() != $new_db && $triggers; + if ($handle_triggers) { + foreach ($triggers as $trigger) { + $sql = 'DROP TRIGGER IF EXISTS ' + . Util::backquote($this->getDbName()) + . '.' . Util::backquote($trigger['name']) . ';'; + $this->_dbi->query($sql); + } + } + + /* + * tested also for a view, in MySQL 5.0.92, 5.1.55 and 5.5.13 + */ + $GLOBALS['sql_query'] = ' + RENAME TABLE ' . $this->getFullName(true) . ' + TO ' . $new_table->getFullName(true) . ';'; + // I don't think a specific error message for views is necessary + if (! $this->_dbi->query($GLOBALS['sql_query'])) { + // Restore triggers in the old database + if ($handle_triggers) { + $this->_dbi->selectDb($this->getDbName()); + foreach ($triggers as $trigger) { + $this->_dbi->query($trigger['create']); + } + } + $this->errors[] = sprintf( + __('Failed to rename table %1$s to %2$s!'), + $this->getFullName(), + $new_table->getFullName() + ); + return false; + } + + $old_name = $this->getName(); + $old_db = $this->getDbName(); + $this->_name = $new_name; + $this->_db_name = $new_db; + + // Renable table in configuration storage + $this->relation->renameTable( + $old_db, $new_db, + $old_name, $new_name + ); + + $this->messages[] = sprintf( + __('Table %1$s has been renamed to %2$s.'), + htmlspecialchars($old_name), + htmlspecialchars($new_name) + ); + return true; + } + + /** + * Get all unique columns + * + * returns an array with all columns with unique content, in fact these are + * all columns being single indexed in PRIMARY or UNIQUE + * + * e.g. + * - PRIMARY(id) // id + * - UNIQUE(name) // name + * - PRIMARY(fk_id1, fk_id2) // NONE + * - UNIQUE(x,y) // NONE + * + * @param bool $backquoted whether to quote name with backticks `` + * @param bool $fullName whether to include full name of the table as a prefix + * + * @return array + */ + public function getUniqueColumns($backquoted = true, $fullName = true) + { + $sql = $this->_dbi->getTableIndexesSql( + $this->getDbName(), + $this->getName(), + 'Non_unique = 0' + ); + $uniques = $this->_dbi->fetchResult( + $sql, + array('Key_name', null), + 'Column_name' + ); + + $return = array(); + foreach ($uniques as $index) { + if (count($index) > 1) { + continue; + } + if ($fullName) { + $possible_column = $this->getFullName($backquoted) . '.'; + } else { + $possible_column = ''; + } + if ($backquoted) { + $possible_column .= Util::backquote($index[0]); + } else { + $possible_column .= $index[0]; + } + // a column might have a primary and an unique index on it + if (! in_array($possible_column, $return)) { + $return[] = $possible_column; + } + } + + return $return; + } + + /** + * Formats lists of columns + * + * returns an array with all columns that make use of an index + * + * e.g. index(col1, col2) would return col1, col2 + * + * @param array $indexed column data + * @param bool $backquoted whether to quote name with backticks `` + * @param bool $fullName whether to include full name of the table as a prefix + * + * @return array + */ + private function _formatColumns(array $indexed, $backquoted, $fullName) + { + $return = array(); + foreach ($indexed as $column) { + $return[] = ($fullName ? $this->getFullName($backquoted) . '.' : '') + . ($backquoted ? Util::backquote($column) : $column); + } + + return $return; + } + + /** + * Get all indexed columns + * + * returns an array with all columns that make use of an index + * + * e.g. index(col1, col2) would return col1, col2 + * + * @param bool $backquoted whether to quote name with backticks `` + * @param bool $fullName whether to include full name of the table as a prefix + * + * @return array + */ + public function getIndexedColumns($backquoted = true, $fullName = true) + { + $sql = $this->_dbi->getTableIndexesSql( + $this->getDbName(), + $this->getName(), + '' + ); + $indexed = $this->_dbi->fetchResult($sql, 'Column_name', 'Column_name'); + + return $this->_formatColumns($indexed, $backquoted, $fullName); + } + + /** + * Get all columns + * + * returns an array with all columns + * + * @param bool $backquoted whether to quote name with backticks `` + * @param bool $fullName whether to include full name of the table as a prefix + * + * @return array + */ + public function getColumns($backquoted = true, $fullName = true) + { + $sql = 'SHOW COLUMNS FROM ' . $this->getFullName(true); + $indexed = $this->_dbi->fetchResult($sql, 'Field', 'Field'); + + return $this->_formatColumns($indexed, $backquoted, $fullName); + } + + /** + * Get meta info for fields in table + * + * @return mixed + */ + public function getColumnsMeta() + { + $move_columns_sql_query = sprintf( + 'SELECT * FROM %s.%s LIMIT 1', + Util::backquote($this->_db_name), + Util::backquote($this->_name) + ); + $move_columns_sql_result = $this->_dbi->tryQuery($move_columns_sql_query); + if ($move_columns_sql_result !== false) { + return $this->_dbi->getFieldsMeta($move_columns_sql_result); + } else { + // unsure how to reproduce but it was seen on the reporting server + return array(); + } + } + + /** + * Get non-generated columns in table + * + * @param bool $backquoted whether to quote name with backticks `` + * + * @return array + */ + public function getNonGeneratedColumns($backquoted = true) + { + $columns_meta_query = 'SHOW COLUMNS FROM ' . $this->getFullName(true); + $ret = array(); + + $columns_meta_query_result = $this->_dbi->fetchResult( + $columns_meta_query + ); + + if ($columns_meta_query_result + && $columns_meta_query_result !== false + ) { + foreach ($columns_meta_query_result as $column) { + $value = $column['Field']; + if ($backquoted === true) { + $value = Util::backquote($value); + } + + if (strpos($column['Extra'], 'GENERATED') === false && strpos($column['Extra'], 'VIRTUAL') === false) { + array_push($ret, $value); + } + } + } + + return $ret; + } + + /** + * Return UI preferences for this table from phpMyAdmin database. + * + * @return array + */ + protected function getUiPrefsFromDb() + { + $cfgRelation = $this->relation->getRelationsParam(); + $pma_table = Util::backquote($cfgRelation['db']) . "." + . Util::backquote($cfgRelation['table_uiprefs']); + + // Read from phpMyAdmin database + $sql_query = " SELECT `prefs` FROM " . $pma_table + . " WHERE `username` = '" . $GLOBALS['dbi']->escapeString($GLOBALS['cfg']['Server']['user']) . "'" + . " AND `db_name` = '" . $GLOBALS['dbi']->escapeString($this->_db_name) . "'" + . " AND `table_name` = '" . $GLOBALS['dbi']->escapeString($this->_name) . "'"; + + $row = $this->_dbi->fetchArray($this->relation->queryAsControlUser($sql_query)); + if (isset($row[0])) { + return json_decode($row[0], true); + } + + return array(); + } + + /** + * Save this table's UI preferences into phpMyAdmin database. + * + * @return true|Message + */ + protected function saveUiPrefsToDb() + { + $cfgRelation = $this->relation->getRelationsParam(); + $pma_table = Util::backquote($cfgRelation['db']) . "." + . Util::backquote($cfgRelation['table_uiprefs']); + + $secureDbName = $GLOBALS['dbi']->escapeString($this->_db_name); + + $username = $GLOBALS['cfg']['Server']['user']; + $sql_query = " REPLACE INTO " . $pma_table + . " (username, db_name, table_name, prefs) VALUES ('" + . $GLOBALS['dbi']->escapeString($username) . "', '" . $secureDbName + . "', '" . $GLOBALS['dbi']->escapeString($this->_name) . "', '" + . $GLOBALS['dbi']->escapeString(json_encode($this->uiprefs)) . "')"; + + $success = $this->_dbi->tryQuery($sql_query, DatabaseInterface::CONNECT_CONTROL); + + if (!$success) { + $message = Message::error( + __('Could not save table UI preferences!') + ); + $message->addMessage( + Message::rawError( + $this->_dbi->getError(DatabaseInterface::CONNECT_CONTROL) + ), + '

    ' + ); + return $message; + } + + // Remove some old rows in table_uiprefs if it exceeds the configured + // maximum rows + $sql_query = 'SELECT COUNT(*) FROM ' . $pma_table; + $rows_count = $this->_dbi->fetchValue($sql_query); + $max_rows = $GLOBALS['cfg']['Server']['MaxTableUiprefs']; + if ($rows_count > $max_rows) { + $num_rows_to_delete = $rows_count - $max_rows; + $sql_query + = ' DELETE FROM ' . $pma_table . + ' ORDER BY last_update ASC' . + ' LIMIT ' . $num_rows_to_delete; + $success = $this->_dbi->tryQuery( + $sql_query, DatabaseInterface::CONNECT_CONTROL + ); + + if (!$success) { + $message = Message::error( + sprintf( + __( + 'Failed to cleanup table UI preferences (see ' . + '$cfg[\'Servers\'][$i][\'MaxTableUiprefs\'] %s)' + ), + Util::showDocu('config', 'cfg_Servers_MaxTableUiprefs') + ) + ); + $message->addMessage( + Message::rawError( + $this->_dbi->getError(DatabaseInterface::CONNECT_CONTROL) + ), + '

    ' + ); + return $message; + } + } + + return true; + } + + /** + * Loads the UI preferences for this table. + * If pmadb and table_uiprefs is set, it will load the UI preferences from + * phpMyAdmin database. + * + * @return void + */ + protected function loadUiPrefs() + { + $cfgRelation = $this->relation->getRelationsParam(); + $server_id = $GLOBALS['server']; + + // set session variable if it's still undefined + if (!isset($_SESSION['tmpval']['table_uiprefs'][$server_id][$this->_db_name][$this->_name])) { + // check whether we can get from pmadb + $_SESSION['tmpval']['table_uiprefs'][$server_id][$this->_db_name] + [$this->_name] = $cfgRelation['uiprefswork'] + ? $this->getUiPrefsFromDb() + : array(); + } + $this->uiprefs =& $_SESSION['tmpval']['table_uiprefs'][$server_id] + [$this->_db_name][$this->_name]; + } + + /** + * Get a property from UI preferences. + * Return false if the property is not found. + * Available property: + * - PROP_SORTED_COLUMN + * - PROP_COLUMN_ORDER + * - PROP_COLUMN_VISIB + * + * @param string $property property + * + * @return mixed + */ + public function getUiProp($property) + { + if (! isset($this->uiprefs)) { + $this->loadUiPrefs(); + } + + // do checking based on property + if ($property == self::PROP_SORTED_COLUMN) { + if (!isset($this->uiprefs[$property])) { + return false; + } + + if (!isset($_REQUEST['discard_remembered_sort'])) { + // check if the column name exists in this table + $tmp = explode(' ', $this->uiprefs[$property]); + $colname = $tmp[0]; + //remove backquoting from colname + $colname = str_replace('`', '', $colname); + //get the available column name without backquoting + $avail_columns = $this->getColumns(false); + + foreach ($avail_columns as $each_col) { + // check if $each_col ends with $colname + if (substr_compare( + $each_col, + $colname, + mb_strlen($each_col) - mb_strlen($colname) + ) === 0 + ) { + return $this->uiprefs[$property]; + } + } + } + // remove the property, since it no longer exists in database + $this->removeUiProp($property); + return false; + } + + if ($property == self::PROP_COLUMN_ORDER + || $property == self::PROP_COLUMN_VISIB + ) { + if ($this->isView() || !isset($this->uiprefs[$property])) { + return false; + } + + // check if the table has not been modified + if ($this->getStatusInfo('Create_time') == $this->uiprefs['CREATE_TIME'] + ) { + return array_map('intval', $this->uiprefs[$property]); + } + + // remove the property, since the table has been modified + $this->removeUiProp($property); + return false; + } + + // default behaviour for other property: + return isset($this->uiprefs[$property]) ? $this->uiprefs[$property] : false; + } + + /** + * Set a property from UI preferences. + * If pmadb and table_uiprefs is set, it will save the UI preferences to + * phpMyAdmin database. + * Available property: + * - PROP_SORTED_COLUMN + * - PROP_COLUMN_ORDER + * - PROP_COLUMN_VISIB + * + * @param string $property Property + * @param mixed $value Value for the property + * @param string $table_create_time Needed for PROP_COLUMN_ORDER + * and PROP_COLUMN_VISIB + * + * @return boolean|Message + */ + public function setUiProp($property, $value, $table_create_time = null) + { + if (! isset($this->uiprefs)) { + $this->loadUiPrefs(); + } + // we want to save the create time if the property is PROP_COLUMN_ORDER + if (! $this->isView() + && ($property == self::PROP_COLUMN_ORDER + || $property == self::PROP_COLUMN_VISIB) + ) { + $curr_create_time = $this->getStatusInfo('CREATE_TIME'); + if (isset($table_create_time) + && $table_create_time == $curr_create_time + ) { + $this->uiprefs['CREATE_TIME'] = $curr_create_time; + } else { + // there is no $table_create_time, or + // supplied $table_create_time is older than current create time, + // so don't save + return Message::error( + sprintf( + __( + 'Cannot save UI property "%s". The changes made will ' . + 'not be persistent after you refresh this page. ' . + 'Please check if the table structure has been changed.' + ), + $property + ) + ); + } + } + // save the value + $this->uiprefs[$property] = $value; + + // check if pmadb is set + $cfgRelation = $this->relation->getRelationsParam(); + if ($cfgRelation['uiprefswork']) { + return $this->saveUiprefsToDb(); + } + return true; + } + + /** + * Remove a property from UI preferences. + * + * @param string $property the property + * + * @return true|Message + */ + public function removeUiProp($property) + { + if (! isset($this->uiprefs)) { + $this->loadUiPrefs(); + } + if (isset($this->uiprefs[$property])) { + unset($this->uiprefs[$property]); + + // check if pmadb is set + $cfgRelation = $this->relation->getRelationsParam(); + if ($cfgRelation['uiprefswork']) { + return $this->saveUiprefsToDb(); + } + } + return true; + } + + /** + * Get all column names which are MySQL reserved words + * + * @return array + * @access public + */ + public function getReservedColumnNames() + { + $columns = $this->getColumns(false); + $return = array(); + foreach ($columns as $column) { + $temp = explode('.', $column); + $column_name = $temp[2]; + if (Context::isKeyword($column_name, true)) { + $return[] = $column_name; + } + } + return $return; + } + + /** + * Function to get the name and type of the columns of a table + * + * @return array + */ + public function getNameAndTypeOfTheColumns() + { + $columns = array(); + foreach ($this->_dbi->getColumnsFull( + $this->_db_name, $this->_name + ) as $row) { + if (preg_match('@^(set|enum)\((.+)\)$@i', $row['Type'], $tmp)) { + $tmp[2] = mb_substr( + preg_replace('@([^,])\'\'@', '\\1\\\'', ',' . $tmp[2]), 1 + ); + $columns[$row['Field']] = $tmp[1] . '(' + . str_replace(',', ', ', $tmp[2]) . ')'; + } else { + $columns[$row['Field']] = $row['Type']; + } + } + return $columns; + } + + /** + * Get index with index name + * + * @param string $index Index name + * + * @return Index + */ + public function getIndex($index) + { + return Index::singleton($this->_db_name, $this->_name, $index); + } + + /** + * Function to get the sql query for index creation or edit + * + * @param Index $index current index + * @param bool &$error whether error occurred or not + * + * @return string + */ + public function getSqlQueryForIndexCreateOrEdit($index, &$error) + { + // $sql_query is the one displayed in the query box + $sql_query = sprintf( + 'ALTER TABLE %s.%s', + Util::backquote($this->_db_name), + Util::backquote($this->_name) + ); + + // Drops the old index + if (! empty($_REQUEST['old_index'])) { + if ($_REQUEST['old_index'] == 'PRIMARY') { + $sql_query .= ' DROP PRIMARY KEY,'; + } else { + $sql_query .= sprintf( + ' DROP INDEX %s,', + Util::backquote($_REQUEST['old_index']) + ); + } + } // end if + + // Builds the new one + switch ($index->getChoice()) { + case 'PRIMARY': + if ($index->getName() == '') { + $index->setName('PRIMARY'); + } elseif ($index->getName() != 'PRIMARY') { + $error = Message::error( + __('The name of the primary key must be "PRIMARY"!') + ); + } + $sql_query .= ' ADD PRIMARY KEY'; + break; + case 'FULLTEXT': + case 'UNIQUE': + case 'INDEX': + case 'SPATIAL': + if ($index->getName() == 'PRIMARY') { + $error = Message::error( + __('Can\'t rename index to PRIMARY!') + ); + } + $sql_query .= sprintf( + ' ADD %s ', + $index->getChoice() + ); + if ($index->getName()) { + $sql_query .= Util::backquote($index->getName()); + } + break; + } // end switch + + $index_fields = array(); + foreach ($index->getColumns() as $key => $column) { + $index_fields[$key] = Util::backquote($column->getName()); + if ($column->getSubPart()) { + $index_fields[$key] .= '(' . $column->getSubPart() . ')'; + } + } // end while + + if (empty($index_fields)) { + $error = Message::error(__('No index parts defined!')); + } else { + $sql_query .= ' (' . implode(', ', $index_fields) . ')'; + } + + $keyBlockSizes = $index->getKeyBlockSize(); + if (! empty($keyBlockSizes)) { + $sql_query .= sprintf( + ' KEY_BLOCK_SIZE = ', + $GLOBALS['dbi']->escapeString($keyBlockSizes) + ); + } + + // specifying index type is allowed only for primary, unique and index only + // TokuDB is using Fractal Tree, Using Type is not useless + // Ref: https://mariadb.com/kb/en/mariadb/storage-engine-index-types/ + $type = $index->getType(); + if ($index->getChoice() != 'SPATIAL' + && $index->getChoice() != 'FULLTEXT' + && in_array($type, Index::getIndexTypes()) + && ! $this->isEngine(array('TOKUDB')) + ) { + $sql_query .= ' USING ' . $type; + } + + $parser = $index->getParser(); + if ($index->getChoice() == 'FULLTEXT' && ! empty($parser)) { + $sql_query .= ' WITH PARSER ' . $GLOBALS['dbi']->escapeString($parser); + } + + $comment = $index->getComment(); + if (! empty($comment)) { + $sql_query .= sprintf( + " COMMENT '%s'", + $GLOBALS['dbi']->escapeString($comment) + ); + } + + $sql_query .= ';'; + + return $sql_query; + } + + /** + * Function to handle update for display field + * + * @param string $display_field display field + * @param array $cfgRelation configuration relation + * + * @return boolean True on update succeed or False on failure + */ + public function updateDisplayField($display_field, array $cfgRelation) + { + $upd_query = false; + if ($display_field == '') { + $upd_query = 'DELETE FROM ' + . Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' . Util::backquote($cfgRelation['table_info']) + . ' WHERE db_name = \'' + . $GLOBALS['dbi']->escapeString($this->_db_name) . '\'' + . ' AND table_name = \'' + . $GLOBALS['dbi']->escapeString($this->_name) . '\''; + } else { + $upd_query = 'REPLACE INTO ' + . Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' . Util::backquote($cfgRelation['table_info']) + . '(db_name, table_name, display_field) VALUES(' + . '\'' . $GLOBALS['dbi']->escapeString($this->_db_name) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($this->_name) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($display_field) . '\')'; + } + + if ($upd_query) { + $this->_dbi->query( + $upd_query, + DatabaseInterface::CONNECT_CONTROL, + 0, + false + ); + return true; + } + return false; + } + + /** + * Function to get update query for updating internal relations + * + * @param array $multi_edit_columns_name multi edit column names + * @param array $destination_db destination tables + * @param array $destination_table destination tables + * @param array $destination_column destination columns + * @param array $cfgRelation configuration relation + * @param array|null $existrel db, table, column + * + * @return boolean + */ + public function updateInternalRelations(array $multi_edit_columns_name, + array $destination_db, array $destination_table, array $destination_column, + array $cfgRelation, $existrel + ) { + $updated = false; + foreach ($destination_db as $master_field_md5 => $foreign_db) { + $upd_query = null; + // Map the fieldname's md5 back to its real name + $master_field = $multi_edit_columns_name[$master_field_md5]; + $foreign_table = $destination_table[$master_field_md5]; + $foreign_field = $destination_column[$master_field_md5]; + if (! empty($foreign_db) + && ! empty($foreign_table) + && ! empty($foreign_field) + ) { + if (! isset($existrel[$master_field])) { + $upd_query = 'INSERT INTO ' + . Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' . Util::backquote($cfgRelation['relation']) + . '(master_db, master_table, master_field, foreign_db,' + . ' foreign_table, foreign_field)' + . ' values(' + . '\'' . $GLOBALS['dbi']->escapeString($this->_db_name) . '\', ' + . '\'' . $GLOBALS['dbi']->escapeString($this->_name) . '\', ' + . '\'' . $GLOBALS['dbi']->escapeString($master_field) . '\', ' + . '\'' . $GLOBALS['dbi']->escapeString($foreign_db) . '\', ' + . '\'' . $GLOBALS['dbi']->escapeString($foreign_table) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($foreign_field) . '\')'; + + } elseif ($existrel[$master_field]['foreign_db'] != $foreign_db + || $existrel[$master_field]['foreign_table'] != $foreign_table + || $existrel[$master_field]['foreign_field'] != $foreign_field + ) { + $upd_query = 'UPDATE ' + . Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' . Util::backquote($cfgRelation['relation']) + . ' SET foreign_db = \'' + . $GLOBALS['dbi']->escapeString($foreign_db) . '\', ' + . ' foreign_table = \'' + . $GLOBALS['dbi']->escapeString($foreign_table) . '\', ' + . ' foreign_field = \'' + . $GLOBALS['dbi']->escapeString($foreign_field) . '\' ' + . ' WHERE master_db = \'' + . $GLOBALS['dbi']->escapeString($this->_db_name) . '\'' + . ' AND master_table = \'' + . $GLOBALS['dbi']->escapeString($this->_name) . '\'' + . ' AND master_field = \'' + . $GLOBALS['dbi']->escapeString($master_field) . '\''; + } // end if... else.... + } elseif (isset($existrel[$master_field])) { + $upd_query = 'DELETE FROM ' + . Util::backquote($GLOBALS['cfgRelation']['db']) + . '.' . Util::backquote($cfgRelation['relation']) + . ' WHERE master_db = \'' + . $GLOBALS['dbi']->escapeString($this->_db_name) . '\'' + . ' AND master_table = \'' + . $GLOBALS['dbi']->escapeString($this->_name) . '\'' + . ' AND master_field = \'' + . $GLOBALS['dbi']->escapeString($master_field) . '\''; + } // end if... else.... + + if (isset($upd_query)) { + $this->_dbi->query( + $upd_query, + DatabaseInterface::CONNECT_CONTROL, + 0, + false + ); + $updated = true; + } + } + return $updated; + } + + /** + * Function to handle foreign key updates + * + * @param array $destination_foreign_db destination foreign database + * @param array $multi_edit_columns_name multi edit column names + * @param array $destination_foreign_table destination foreign table + * @param array $destination_foreign_column destination foreign column + * @param array $options_array options array + * @param string $table current table + * @param array $existrel_foreign db, table, column + * + * @return array + */ + public function updateForeignKeys(array $destination_foreign_db, + array $multi_edit_columns_name, array $destination_foreign_table, + array $destination_foreign_column, array $options_array, $table, array $existrel_foreign + ) { + $html_output = ''; + $preview_sql_data = ''; + $display_query = ''; + $seen_error = false; + + foreach ($destination_foreign_db as $master_field_md5 => $foreign_db) { + $create = false; + $drop = false; + + // Map the fieldname's md5 back to its real name + $master_field = $multi_edit_columns_name[$master_field_md5]; + + $foreign_table = $destination_foreign_table[$master_field_md5]; + $foreign_field = $destination_foreign_column[$master_field_md5]; + + if (isset($existrel_foreign[$master_field_md5]['ref_db_name'])) { + $ref_db_name = $existrel_foreign[$master_field_md5]['ref_db_name']; + } else { + $ref_db_name = $GLOBALS['db']; + } + + $empty_fields = false; + foreach ($master_field as $key => $one_field) { + if ((! empty($one_field) && empty($foreign_field[$key])) + || (empty($one_field) && ! empty($foreign_field[$key])) + ) { + $empty_fields = true; + } + + if (empty($one_field) && empty($foreign_field[$key])) { + unset($master_field[$key]); + unset($foreign_field[$key]); + } + } + + if (! empty($foreign_db) + && ! empty($foreign_table) + && ! $empty_fields + ) { + if (isset($existrel_foreign[$master_field_md5])) { + $constraint_name + = $existrel_foreign[$master_field_md5]['constraint']; + $on_delete = !empty( + $existrel_foreign[$master_field_md5]['on_delete'] + ) + ? $existrel_foreign[$master_field_md5]['on_delete'] + : 'RESTRICT'; + $on_update = ! empty( + $existrel_foreign[$master_field_md5]['on_update'] + ) + ? $existrel_foreign[$master_field_md5]['on_update'] + : 'RESTRICT'; + + if ($ref_db_name != $foreign_db + || $existrel_foreign[$master_field_md5]['ref_table_name'] != $foreign_table + || $existrel_foreign[$master_field_md5]['ref_index_list'] != $foreign_field + || $existrel_foreign[$master_field_md5]['index_list'] != $master_field + || $_REQUEST['constraint_name'][$master_field_md5] != $constraint_name + || ($_REQUEST['on_delete'][$master_field_md5] != $on_delete) + || ($_REQUEST['on_update'][$master_field_md5] != $on_update) + ) { + // another foreign key is already defined for this field + // or an option has been changed for ON DELETE or ON UPDATE + $drop = true; + $create = true; + } // end if... else.... + } else { + // no key defined for this field(s) + $create = true; + } + } elseif (isset($existrel_foreign[$master_field_md5])) { + $drop = true; + } // end if... else.... + + $tmp_error_drop = false; + if ($drop) { + $drop_query = 'ALTER TABLE ' . Util::backquote($table) + . ' DROP FOREIGN KEY ' + . Util::backquote( + $existrel_foreign[$master_field_md5]['constraint'] + ) + . ';'; + + if (! isset($_REQUEST['preview_sql'])) { + $display_query .= $drop_query . "\n"; + $this->_dbi->tryQuery($drop_query); + $tmp_error_drop = $this->_dbi->getError(); + + if (! empty($tmp_error_drop)) { + $seen_error = true; + $html_output .= Util::mysqlDie( + $tmp_error_drop, $drop_query, false, '', false + ); + continue; + } + } else { + $preview_sql_data .= $drop_query . "\n"; + } + } + $tmp_error_create = false; + if (!$create) { + continue; + } + + $create_query = $this->_getSQLToCreateForeignKey( + $table, $master_field, $foreign_db, $foreign_table, $foreign_field, + $_REQUEST['constraint_name'][$master_field_md5], + $options_array[$_REQUEST['on_delete'][$master_field_md5]], + $options_array[$_REQUEST['on_update'][$master_field_md5]] + ); + + if (! isset($_REQUEST['preview_sql'])) { + $display_query .= $create_query . "\n"; + $this->_dbi->tryQuery($create_query); + $tmp_error_create = $this->_dbi->getError(); + if (! empty($tmp_error_create)) { + $seen_error = true; + + if (substr($tmp_error_create, 1, 4) == '1005') { + $message = Message::error( + __( + 'Error creating foreign key on %1$s (check data ' . + 'types)' + ) + ); + $message->addParam(implode(', ', $master_field)); + $html_output .= $message->getDisplay(); + } else { + $html_output .= Util::mysqlDie( + $tmp_error_create, $create_query, false, '', false + ); + } + $html_output .= Util::showMySQLDocu( + 'InnoDB_foreign_key_constraints' + ) . "\n"; + } + } else { + $preview_sql_data .= $create_query . "\n"; + } + + // this is an alteration and the old constraint has been dropped + // without creation of a new one + if ($drop && $create && empty($tmp_error_drop) + && ! empty($tmp_error_create) + ) { + // a rollback may be better here + $sql_query_recreate = '# Restoring the dropped constraint...' . "\n"; + $sql_query_recreate .= $this->_getSQLToCreateForeignKey( + $table, + $master_field, + $existrel_foreign[$master_field_md5]['ref_db_name'], + $existrel_foreign[$master_field_md5]['ref_table_name'], + $existrel_foreign[$master_field_md5]['ref_index_list'], + $existrel_foreign[$master_field_md5]['constraint'], + $options_array[$existrel_foreign[$master_field_md5]['on_delete']], + $options_array[$existrel_foreign[$master_field_md5]['on_update']] + ); + if (! isset($_REQUEST['preview_sql'])) { + $display_query .= $sql_query_recreate . "\n"; + $this->_dbi->tryQuery($sql_query_recreate); + } else { + $preview_sql_data .= $sql_query_recreate; + } + } + } // end foreach + + return array( + $html_output, + $preview_sql_data, + $display_query, + $seen_error + ); + } + + /** + * Returns the SQL query for foreign key constraint creation + * + * @param string $table table name + * @param array $field field names + * @param string $foreignDb foreign database name + * @param string $foreignTable foreign table name + * @param array $foreignField foreign field names + * @param string $name name of the constraint + * @param string $onDelete on delete action + * @param string $onUpdate on update action + * + * @return string SQL query for foreign key constraint creation + */ + private function _getSQLToCreateForeignKey( + $table, + array $field, + $foreignDb, + $foreignTable, + array $foreignField, + $name = null, + $onDelete = null, + $onUpdate = null + ) { + $sql_query = 'ALTER TABLE ' . Util::backquote($table) . ' ADD '; + // if user entered a constraint name + if (! empty($name)) { + $sql_query .= ' CONSTRAINT ' . Util::backquote($name); + } + + foreach ($field as $key => $one_field) { + $field[$key] = Util::backquote($one_field); + } + foreach ($foreignField as $key => $one_field) { + $foreignField[$key] = Util::backquote($one_field); + } + $sql_query .= ' FOREIGN KEY (' . implode(', ', $field) . ') REFERENCES ' + . ($this->_db_name != $foreignDb + ? Util::backquote($foreignDb) . '.' : '') + . Util::backquote($foreignTable) + . '(' . implode(', ', $foreignField) . ')'; + + if (! empty($onDelete)) { + $sql_query .= ' ON DELETE ' . $onDelete; + } + if (! empty($onUpdate)) { + $sql_query .= ' ON UPDATE ' . $onUpdate; + } + $sql_query .= ';'; + + return $sql_query; + } + + /** + * Returns the generation expression for virtual columns + * + * @param string $column name of the column + * + * @return array|boolean associative array of column name and their expressions + * or false on failure + */ + public function getColumnGenerationExpression($column = null) + { + $serverType = Util::getServerType(); + if ($serverType == 'MySQL' + && $GLOBALS['dbi']->getVersion() > 50705 + && ! $GLOBALS['cfg']['Server']['DisableIS'] + ) { + $sql + = "SELECT + `COLUMN_NAME` AS `Field`, + `GENERATION_EXPRESSION` AS `Expression` + FROM + `information_schema`.`COLUMNS` + WHERE + `TABLE_SCHEMA` = '" . $GLOBALS['dbi']->escapeString($this->_db_name) . "' + AND `TABLE_NAME` = '" . $GLOBALS['dbi']->escapeString($this->_name) . "'"; + if ($column != null) { + $sql .= " AND `COLUMN_NAME` = '" . $GLOBALS['dbi']->escapeString($column) + . "'"; + } + $columns = $this->_dbi->fetchResult($sql, 'Field', 'Expression'); + return $columns; + } + + $createTable = $this->showCreate(); + if (!$createTable) { + return false; + } + + $parser = new Parser($createTable); + /** + * @var \PhpMyAdmin\SqlParser\Statements\CreateStatement $stmt + */ + $stmt = $parser->statements[0]; + $fields = TableUtils::getFields($stmt); + if ($column != null) { + $expression = isset($fields[$column]['expr']) ? + substr($fields[$column]['expr'], 1, -1) : ''; + return array($column => $expression); + } + + $ret = array(); + foreach ($fields as $field => $options) { + if (isset($options['expr'])) { + $ret[$field] = substr($options['expr'], 1, -1); + } + } + return $ret; + } + + /** + * Returns the CREATE statement for this table + * + * @return mixed + */ + public function showCreate() + { + return $this->_dbi->fetchValue( + 'SHOW CREATE TABLE ' . Util::backquote($this->_db_name) . '.' + . Util::backquote($this->_name), + 0, 1 + ); + } + + /** + * Returns the real row count for a table + * + * @return number + */ + public function getRealRowCountTable() + { + // SQL query to get row count for a table. + $result = $this->_dbi->fetchSingleRow( + sprintf( + 'SELECT COUNT(*) AS %s FROM %s.%s', + Util::backquote('row_count'), + Util::backquote($this->_db_name), + Util::backquote($this->_name) + ) + ); + return $result['row_count']; + } + + /** + * Get columns with indexes + * + * @param int $types types bitmask + * + * @return array an array of columns + */ + public function getColumnsWithIndex($types) + { + $columns_with_index = array(); + foreach ( + Index::getFromTableByChoice( + $this->_name, + $this->_db_name, + $types + ) as $index + ) { + $columns = $index->getColumns(); + foreach ($columns as $column_name => $dummy) { + $columns_with_index[] = $column_name; + } + } + return $columns_with_index; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Template.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Template.php new file mode 100644 index 00000000..02c9f6cf --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Template.php @@ -0,0 +1,135 @@ +name = $name; + + if (is_null($this::$twig)) { + $loader = new FilesystemLoader(static::BASE_PATH); + $cache_dir = $GLOBALS['PMA_Config']->getTempDir('twig'); + /* Twig expects false when cache is not configured */ + if (is_null($cache_dir)) { + $cache_dir = false; + } + $twig = new Environment($loader, array( + 'auto_reload' => true, + 'cache' => $cache_dir, + 'debug' => false, + )); + $twig->addExtension(new CharsetsExtension()); + $twig->addExtension(new CoreExtension()); + $twig->addExtension(new I18nExtension()); + $twig->addExtension(new IndexExtension()); + $twig->addExtension(new MessageExtension()); + $twig->addExtension(new PartitionExtension()); + $twig->addExtension(new PhpFunctionsExtension()); + $twig->addExtension(new PluginsExtension()); + $twig->addExtension(new RelationExtension()); + $twig->addExtension(new SanitizeExtension()); + $twig->addExtension(new ServerPrivilegesExtension()); + $twig->addExtension(new StorageEngineExtension()); + $twig->addExtension(new TrackerExtension()); + $twig->addExtension(new TableExtension()); + $twig->addExtension(new TransformationsExtension()); + $twig->addExtension(new UrlExtension()); + $twig->addExtension(new UtilExtension()); + $this::$twig = $twig; + } + } + + /** + * Template getter + * + * @param string $name Template name + * + * @return Template + */ + public static function get($name) + { + return new Template($name); + } + + /** + * Render template + * + * @param array $data Variables to be provided to the template + * + * @return string + */ + public function render(array $data = array()) + { + try { + $template = $this::$twig->load($this->name . '.twig'); + } catch (\RuntimeException $e) { + /* Retry with disabled cache */ + $this::$twig->setCache(false); + $template = $this::$twig->load($this->name . '.twig'); + /* + * The trigger error is intentionally after second load + * to avoid triggering error when disabling cache does not + * solve it. + */ + trigger_error( + sprintf( + __('Error while working with template cache: %s'), + $e->getMessage() + ), + E_USER_WARNING + ); + } + return $template->render($data); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Theme.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Theme.php new file mode 100644 index 00000000..d9ef6528 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Theme.php @@ -0,0 +1,465 @@ +getPath() . '/theme.json'; + if (! @file_exists($infofile)) { + return false; + } + + if ($this->mtime_info === filemtime($infofile)) { + return true; + } + $content = @file_get_contents($infofile); + if ($content === false) { + return false; + } + $data = json_decode($content, true); + + // Did we get expected data? + if (! is_array($data)) { + return false; + } + // Check that all required data are there + $members = array('name', 'version', 'supports'); + foreach ($members as $member) { + if (! isset($data[$member])) { + return false; + } + } + + // Version check + if (! is_array($data['supports'])) { + return false; + } + if (! in_array(PMA_MAJOR_VERSION, $data['supports'])) { + return false; + } + + $this->mtime_info = filemtime($infofile); + $this->filesize_info = filesize($infofile); + + $this->setVersion($data['version']); + $this->setName($data['name']); + + return true; + } + + /** + * returns theme object loaded from given folder + * or false if theme is invalid + * + * @param string $folder path to theme + * + * @return Theme|false + * @static + * @access public + */ + static public function load($folder) + { + $theme = new Theme(); + + $theme->setPath($folder); + + if (! $theme->loadInfo()) { + return false; + } + + $theme->checkImgPath(); + + return $theme; + } + + /** + * checks image path for existence - if not found use img from fallback theme + * + * @access public + * @return bool + */ + public function checkImgPath() + { + // try current theme first + if (is_dir($this->getPath() . '/img/')) { + $this->setImgPath($this->getPath() . '/img/'); + return true; + } + + // try fallback theme + $fallback = './themes/' . ThemeManager::FALLBACK_THEME . '/img/'; + if (is_dir($fallback)) { + $this->setImgPath($fallback); + return true; + } + + // we failed + trigger_error( + sprintf( + __('No valid image path for theme %s found!'), + $this->getName() + ), + E_USER_ERROR + ); + return false; + } + + /** + * returns path to theme + * + * @access public + * @return string path to theme + */ + public function getPath() + { + return $this->path; + } + + /** + * returns layout file + * + * @access public + * @return string layout file + */ + public function getLayoutFile() + { + return $this->getPath() . '/layout.inc.php'; + } + + /** + * set path to theme + * + * @param string $path path to theme + * + * @return void + * @access public + */ + public function setPath($path) + { + $this->path = trim($path); + } + + /** + * sets version + * + * @param string $version version to set + * + * @return void + * @access public + */ + public function setVersion($version) + { + $this->version = trim($version); + } + + /** + * returns version + * + * @return string version + * @access public + */ + public function getVersion() + { + return $this->version; + } + + /** + * checks theme version against $version + * returns true if theme version is equal or higher to $version + * + * @param string $version version to compare to + * + * @return boolean true if theme version is equal or higher to $version + * @access public + */ + public function checkVersion($version) + { + return version_compare($this->getVersion(), $version, 'lt'); + } + + /** + * sets name + * + * @param string $name name to set + * + * @return void + * @access public + */ + public function setName($name) + { + $this->name = trim($name); + } + + /** + * returns name + * + * @access public + * @return string name + */ + public function getName() + { + return $this->name; + } + + /** + * sets id + * + * @param string $id new id + * + * @return void + * @access public + */ + public function setId($id) + { + $this->id = trim($id); + } + + /** + * returns id + * + * @return string id + * @access public + */ + public function getId() + { + return $this->id; + } + + /** + * Sets path to images for the theme + * + * @param string $path path to images for this theme + * + * @return void + * @access public + */ + public function setImgPath($path) + { + $this->img_path = $path; + } + + /** + * Returns the path to image for the theme. + * If filename is given, it possibly fallbacks to fallback + * theme for it if image does not exist. + * + * @param string $file file name for image + * @param string $fallback fallback image + * + * @access public + * @return string image path for this theme + */ + public function getImgPath($file = null, $fallback = null) + { + if (is_null($file)) { + return $this->img_path; + } + + if (is_readable($this->img_path . $file)) { + return $this->img_path . $file; + } + + if (! is_null($fallback)) { + return $this->getImgPath($fallback); + } + + return './themes/' . ThemeManager::FALLBACK_THEME . '/img/' . $file; + } + + /** + * load css (send to stdout, normally the browser) + * + * @return bool + * @access public + */ + public function loadCss() + { + $success = true; + + /* Variables to be used by the themes: */ + $theme = $this; + if ($GLOBALS['text_dir'] === 'ltr') { + $right = 'right'; + $left = 'left'; + } else { + $right = 'left'; + $left = 'right'; + } + + foreach ($this->_cssFiles as $file) { + $path = $this->getPath() . "/css/$file.css.php"; + $fallback = "./themes/" + . ThemeManager::FALLBACK_THEME . "/css/$file.css.php"; + + if (is_readable($path)) { + echo "\n/* FILE: " , $file , ".css.php */\n"; + include $path; + } elseif (is_readable($fallback)) { + echo "\n/* FILE: " , $file , ".css.php */\n"; + include $fallback; + } else { + $success = false; + } + } + return $success; + } + + /** + * Renders the preview for this theme + * + * @return string + * @access public + */ + public function getPrintPreview() + { + $url_params = ['set_theme' => $this->getId()]; + $screen = null; + $path = $this->getPath() . '/screen.png'; + if (@file_exists($path)) { + $screen = $path; + } + + return Template::get('theme_preview')->render([ + 'url_params' => $url_params, + 'name' => $this->getName(), + 'version' => $this->getVersion(), + 'id' => $this->getId(), + 'screen' => $screen, + ]); + } + + /** + * Gets currently configured font size. + * + * @return String with font size. + */ + function getFontSize() + { + $fs = $GLOBALS['PMA_Config']->get('FontSize'); + if (!is_null($fs)) { + return $fs; + } + return '82%'; + } + + /** + * Generates code for CSS gradient using various browser extensions. + * + * @param string $start_color Color of gradient start, hex value without # + * @param string $end_color Color of gradient end, hex value without # + * + * @return string CSS code. + */ + function getCssGradient($start_color, $end_color) + { + $result = array(); + // Opera 9.5+, IE 9 + $result[] = 'background-image: url(./themes/svg_gradient.php?from=' + . $start_color . '&to=' . $end_color . ');'; + $result[] = 'background-size: 100% 100%;'; + // Safari 4-5, Chrome 1-9 + $result[] = 'background: ' + . '-webkit-gradient(linear, left top, left bottom, from(#' + . $start_color . '), to(#' . $end_color . '));'; + // Safari 5.1, Chrome 10+ + $result[] = 'background: -webkit-linear-gradient(top, #' + . $start_color . ', #' . $end_color . ');'; + // Firefox 3.6+ + $result[] = 'background: -moz-linear-gradient(top, #' + . $start_color . ', #' . $end_color . ');'; + // IE 10 + $result[] = 'background: -ms-linear-gradient(top, #' + . $start_color . ', #' . $end_color . ');'; + // Opera 11.10 + $result[] = 'background: -o-linear-gradient(top, #' + . $start_color . ', #' . $end_color . ');'; + return implode("\n", $result); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ThemeManager.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/ThemeManager.php similarity index 77% rename from .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ThemeManager.php rename to .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/ThemeManager.php index 18de556e..9d7ff2c2 100644 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/ThemeManager.php +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/ThemeManager.php @@ -5,9 +5,10 @@ * * @package PhpMyAdmin */ -namespace PMA\libraries; +namespace PhpMyAdmin; -use PMA\libraries\URL; +use PhpMyAdmin\Theme; +use PhpMyAdmin\Url; /** * phpMyAdmin theme manager @@ -73,7 +74,44 @@ class ThemeManager */ public function __construct() { - $this->init(); + $this->themes = array(); + $this->theme_default = self::FALLBACK_THEME; + $this->active_theme = ''; + + if (! $this->setThemesPath('./themes/')) { + return; + } + + $this->setThemePerServer($GLOBALS['cfg']['ThemePerServer']); + + $this->loadThemes(); + + $this->theme = new Theme; + + if (! $this->checkTheme($GLOBALS['cfg']['ThemeDefault'])) { + trigger_error( + sprintf( + __('Default theme %s not found!'), + htmlspecialchars($GLOBALS['cfg']['ThemeDefault']) + ), + E_USER_ERROR + ); + $GLOBALS['cfg']['ThemeDefault'] = false; + } + + $this->theme_default = $GLOBALS['cfg']['ThemeDefault']; + + // check if user have a theme cookie + $cookie_theme = $this->getThemeCookie(); + if (! $cookie_theme || ! $this->setActiveTheme($cookie_theme)) { + if ($GLOBALS['cfg']['ThemeDefault']) { + // otherwise use default theme + $this->setActiveTheme($this->theme_default); + } else { + // or fallback theme + $this->setActiveTheme(self::FALLBACK_THEME); + } + } } /** @@ -120,74 +158,6 @@ class ThemeManager $this->per_server = (bool) $per_server; } - /** - * Initialise the class - * - * @access public - * @return void - */ - public function init() - { - $this->themes = array(); - $this->theme_default = self::FALLBACK_THEME; - $this->active_theme = ''; - - if (! $this->setThemesPath('./themes/')) { - return; - } - - $this->setThemePerServer($GLOBALS['cfg']['ThemePerServer']); - - $this->loadThemes(); - - $this->theme = new Theme; - - if (! $this->checkTheme($GLOBALS['cfg']['ThemeDefault'])) { - trigger_error( - sprintf( - __('Default theme %s not found!'), - htmlspecialchars($GLOBALS['cfg']['ThemeDefault']) - ), - E_USER_ERROR - ); - $GLOBALS['cfg']['ThemeDefault'] = false; - } - - $this->theme_default = $GLOBALS['cfg']['ThemeDefault']; - - // check if user have a theme cookie - if (! $this->getThemeCookie() - || ! $this->setActiveTheme($this->getThemeCookie()) - ) { - if ($GLOBALS['cfg']['ThemeDefault']) { - // otherwise use default theme - $this->setActiveTheme($this->theme_default); - } else { - // or fallback theme - $this->setActiveTheme(self::FALLBACK_THEME); - } - } - } - - /** - * Checks configuration - * - * @access public - * @return void - */ - public function checkConfig() - { - if ($this->theme_default != $GLOBALS['cfg']['ThemeDefault'] - ) { - $this->init(); - } else { - // at least the theme path needs to be checked every time for new - // themes, as there is no other way at the moment to keep track of - // new or removed themes - $this->loadThemes(); - } - } - /** * Sets active theme * @@ -229,9 +199,9 @@ class ThemeManager // Allow different theme per server if (isset($GLOBALS['server']) && $this->per_server) { return $this->cookie_name . '-' . $GLOBALS['server']; - } else { - return $this->cookie_name; } + + return $this->cookie_name; } /** @@ -242,8 +212,9 @@ class ThemeManager */ public function getThemeCookie() { - if (isset($_COOKIE[$this->getThemeCookieName()])) { - return $_COOKIE[$this->getThemeCookieName()]; + $name = $this->getThemeCookieName(); + if (isset($_COOKIE[$name])) { + return $_COOKIE[$name]; } return false; @@ -316,7 +287,7 @@ class ThemeManager // Skip non dirs, . and .. if ($PMA_Theme == '.' || $PMA_Theme == '..' - || ! is_dir($this->_themes_path . $PMA_Theme) + || ! @is_dir($this->_themes_path . $PMA_Theme) ) { continue; } @@ -347,11 +318,7 @@ class ThemeManager */ public function checkTheme($theme) { - if (! array_key_exists($theme, $this->themes)) { - return false; - } - - return true; + return array_key_exists($theme, $this->themes); } /** @@ -367,8 +334,9 @@ class ThemeManager $select_box = ''; if ($form) { - $select_box .= '
    theme->getId(); - $GLOBALS['pmaThemePath'] = $this->theme->getPath(); - $GLOBALS['pmaThemeImage'] = $this->theme->getImgPath(); - - /** - * load layout file if exists - */ - if (file_exists($this->theme->getLayoutFile())) { - include $this->theme->getLayoutFile(); - } - } - /** * Renders the previews for all themes * @@ -476,52 +424,30 @@ class ThemeManager { $tmanager = self::getInstance(); - // for the theme per server feature - if (isset($_REQUEST['server']) && ! isset($_REQUEST['set_theme'])) { - $GLOBALS['server'] = $_REQUEST['server']; - $tmp = $tmanager->getThemeCookie(); - if (empty($tmp)) { - $tmp = $tmanager->theme_default; - } - $tmanager->setActiveTheme($tmp); - } - /** - * @todo move into ThemeManager::__wakeup() - */ - if (isset($_REQUEST['set_theme'])) { - // if user selected a theme - $tmanager->setActiveTheme($_REQUEST['set_theme']); - } - /** * the theme object * - * @global Theme $_SESSION['PMA_Theme'] + * @global Theme $GLOBALS['PMA_Theme'] */ - $_SESSION['PMA_Theme'] = $tmanager->theme; + $GLOBALS['PMA_Theme'] = $tmanager->theme; // BC - /** - * the active theme - * @global string $GLOBALS['theme'] - */ - $GLOBALS['theme'] = $_SESSION['PMA_Theme']->getName(); /** * the theme path * @global string $GLOBALS['pmaThemePath'] */ - $GLOBALS['pmaThemePath'] = $_SESSION['PMA_Theme']->getPath(); + $GLOBALS['pmaThemePath'] = $GLOBALS['PMA_Theme']->getPath(); /** * the theme image path * @global string $GLOBALS['pmaThemeImage'] */ - $GLOBALS['pmaThemeImage'] = $_SESSION['PMA_Theme']->getImgPath(); + $GLOBALS['pmaThemeImage'] = $GLOBALS['PMA_Theme']->getImgPath(); /** * load layout file if exists */ - if (@file_exists($_SESSION['PMA_Theme']->getLayoutFile())) { - include $_SESSION['PMA_Theme']->getLayoutFile(); + if (@file_exists($GLOBALS['PMA_Theme']->getLayoutFile())) { + include $GLOBALS['PMA_Theme']->getLayoutFile(); } } } diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Tracker.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Tracker.php similarity index 86% rename from .devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Tracker.php rename to .devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Tracker.php index d37ba353..321bebc9 100644 --- a/.devilbox/www/htdocs/vendor/phpmyadmin-4.7/libraries/Tracker.php +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Tracker.php @@ -5,9 +5,22 @@ * * @package PhpMyAdmin */ -namespace PMA\libraries; +namespace PhpMyAdmin; -use PMA\libraries\plugins\export\ExportSql; +use PhpMyAdmin\DatabaseInterface; +use PhpMyAdmin\Plugins; +use PhpMyAdmin\Plugins\Export\ExportSql; +use PhpMyAdmin\Relation; +use PhpMyAdmin\SqlParser\Parser; +use PhpMyAdmin\SqlParser\Statements\AlterStatement; +use PhpMyAdmin\SqlParser\Statements\CreateStatement; +use PhpMyAdmin\SqlParser\Statements\DeleteStatement; +use PhpMyAdmin\SqlParser\Statements\DropStatement; +use PhpMyAdmin\SqlParser\Statements\InsertStatement; +use PhpMyAdmin\SqlParser\Statements\RenameStatement; +use PhpMyAdmin\SqlParser\Statements\TruncateStatement; +use PhpMyAdmin\SqlParser\Statements\UpdateStatement; +use PhpMyAdmin\Util; /** * This class tracks changes on databases, tables and views. @@ -23,6 +36,11 @@ class Tracker */ static protected $enabled = false; + /** + * Cache to avoid quering tracking status multiple times. + */ + static protected $_tracking_cache = array(); + /** * Actually enables tracking. This needs to be done after all * underlaying code is initialized. @@ -31,7 +49,7 @@ class Tracker * * @return void */ - static public function enable() + public static function enable() { self::$enabled = true; } @@ -43,16 +61,17 @@ class Tracker * * @return boolean (true=on|false=off) */ - static public function isActive() + public static function isActive() { if (! self::$enabled) { return false; } /* We need to avoid attempt to track any queries - * from PMA_getRelationsParam + * from Relation::getRelationsParam */ self::$enabled = false; - $cfgRelation = PMA_getRelationsParam(); + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); /* Restore original state */ self::$enabled = true; if (! $cfgRelation['trackingwork']) { @@ -60,11 +79,8 @@ class Tracker } $pma_table = self::_getTrackingTable(); - if (isset($pma_table)) { - return true; - } else { - return false; - } + + return isset($pma_table); } /** @@ -106,16 +122,21 @@ class Tracker * * @return boolean true or false */ - static public function isTracked($dbname, $tablename) + public static function isTracked($dbname, $tablename) { if (! self::$enabled) { return false; } + + if (isset(self::$_tracking_cache[$dbname][$tablename])) { + return self::$_tracking_cache[$dbname][$tablename]; + } /* We need to avoid attempt to track any queries - * from PMA_getRelationsParam + * from Relation::getRelationsParam */ self::$enabled = false; - $cfgRelation = PMA_getRelationsParam(); + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); /* Restore original state */ self::$enabled = true; if (! $cfgRelation['trackingwork']) { @@ -127,9 +148,11 @@ class Tracker " AND table_name = '" . $GLOBALS['dbi']->escapeString($tablename) . "' " . " ORDER BY version DESC LIMIT 1"; - $result = $GLOBALS['dbi']->fetchValue($sql_query); + $result = $GLOBALS['dbi']->fetchValue($sql_query, 0, 0, DatabaseInterface::CONNECT_CONTROL) == 1; - return ($result == 1); + self::$_tracking_cache[$dbname][$tablename] = $result; + + return $result; } /** @@ -137,9 +160,9 @@ class Tracker * * @return string Comment, contains date and username */ - static public function getLogComment() + public static function getLogComment() { - $date = date('Y-m-d H:i:s'); + $date = Util::date('Y-m-d H:i:s'); $user = preg_replace('/\s+/', ' ', $GLOBALS['cfg']['Server']['user']); return "# log " . $date . " " . $user . "\n"; @@ -159,23 +182,24 @@ class Tracker * * @return int result of version insertion */ - static public function createVersion($dbname, $tablename, $version, + public static function createVersion($dbname, $tablename, $version, $tracking_set = '', $is_view = false ) { global $sql_backquotes, $export_type; + $relation = new Relation(); + if ($tracking_set == '') { $tracking_set = $GLOBALS['cfg']['Server']['tracking_default_statements']; } // get Export SQL instance - include_once "libraries/plugin_interface.lib.php"; - /* @var $export_sql_plugin \PMA\libraries\plugins\export\ExportSql */ - $export_sql_plugin = PMA_getPlugin( + /* @var $export_sql_plugin PhpMyAdmin\Plugins\Export\ExportSql */ + $export_sql_plugin = Plugins::getPlugin( "export", "sql", - 'libraries/plugins/export/', + 'libraries/classes/Plugins/Export/', array( 'export_type' => $export_type, 'single_table' => false, @@ -184,7 +208,7 @@ class Tracker $sql_backquotes = true; - $date = date('Y-m-d H:i:s'); + $date = Util::date('Y-m-d H:i:s'); // Get data definition snapshot of table @@ -250,7 +274,7 @@ class Tracker '" . $GLOBALS['dbi']->escapeString($tracking_set) . "' )"; - $result = PMA_queryAsControlUser($sql_query); + $result = $relation->queryAsControlUser($sql_query); if ($result) { // Deactivate previous version @@ -272,8 +296,10 @@ class Tracker * * @return int result of version insertion */ - static public function deleteTracking($dbname, $tablename, $version = '') + public static function deleteTracking($dbname, $tablename, $version = '') { + $relation = new Relation(); + $sql_query = "/*NOTRACK*/\n" . "DELETE FROM " . self::_getTrackingTable() . " WHERE `db_name` = '" @@ -284,7 +310,7 @@ class Tracker $sql_query .= " AND `version` = '" . $GLOBALS['dbi']->escapeString($version) . "'"; } - $result = PMA_queryAsControlUser($sql_query); + $result = $relation->queryAsControlUser($sql_query); return $result; } @@ -302,10 +328,12 @@ class Tracker * * @return int result of version insertion */ - static public function createDatabaseVersion($dbname, $version, $query, + public static function createDatabaseVersion($dbname, $version, $query, $tracking_set = 'CREATE DATABASE,ALTER DATABASE,DROP DATABASE' ) { - $date = date('Y-m-d H:i:s'); + $relation = new Relation(); + + $date = Util::date('Y-m-d H:i:s'); if ($tracking_set == '') { $tracking_set @@ -346,7 +374,7 @@ class Tracker '" . $GLOBALS['dbi']->escapeString($tracking_set) . "' )"; - $result = PMA_queryAsControlUser($sql_query); + $result = $relation->queryAsControlUser($sql_query); return $result; } @@ -368,6 +396,7 @@ class Tracker static private function _changeTracking($dbname, $tablename, $version, $new_state ) { + $relation = new Relation(); $sql_query = " UPDATE " . self::_getTrackingTable() . " SET `tracking_active` = '" . $new_state . "' " . @@ -375,7 +404,7 @@ class Tracker " AND `table_name` = '" . $GLOBALS['dbi']->escapeString($tablename) . "' " . " AND `version` = '" . $GLOBALS['dbi']->escapeString($version) . "' "; - $result = PMA_queryAsControlUser($sql_query); + $result = $relation->queryAsControlUser($sql_query); return $result; } @@ -393,9 +422,11 @@ class Tracker * * @return bool result of change */ - static public function changeTrackingData($dbname, $tablename, + public static function changeTrackingData($dbname, $tablename, $version, $type, $new_data ) { + $relation = new Relation(); + if ($type == 'DDL') { $save_to = 'schema_sql'; } elseif ($type == 'DML') { @@ -403,7 +434,7 @@ class Tracker } else { return false; } - $date = date('Y-m-d H:i:s'); + $date = Util::date('Y-m-d H:i:s'); $new_data_processed = ''; if (is_array($new_data)) { @@ -421,7 +452,7 @@ class Tracker " AND `table_name` = '" . $GLOBALS['dbi']->escapeString($tablename) . "' " . " AND `version` = '" . $GLOBALS['dbi']->escapeString($version) . "' "; - $result = PMA_queryAsControlUser($sql_query); + $result = $relation->queryAsControlUser($sql_query); return (boolean) $result; } @@ -437,7 +468,7 @@ class Tracker * * @return int result of SQL query */ - static public function activateTracking($dbname, $tablename, $version) + public static function activateTracking($dbname, $tablename, $version) { return self::_changeTracking($dbname, $tablename, $version, 1); } @@ -454,7 +485,7 @@ class Tracker * * @return int result of SQL query */ - static public function deactivateTracking($dbname, $tablename, $version) + public static function deactivateTracking($dbname, $tablename, $version) { return self::_changeTracking($dbname, $tablename, $version, 0); } @@ -472,8 +503,10 @@ class Tracker * * @return int (-1 if no version exists | > 0 if a version exists) */ - static public function getVersion($dbname, $tablename, $statement = null) + public static function getVersion($dbname, $tablename, $statement = null) { + $relation = new Relation(); + $sql_query = " SELECT MAX(version) FROM " . self::_getTrackingTable() . " WHERE `db_name` = '" . $GLOBALS['dbi']->escapeString($dbname) . "' " . " AND `table_name` = '" . $GLOBALS['dbi']->escapeString($tablename) . "' "; @@ -482,7 +515,7 @@ class Tracker $sql_query .= " AND FIND_IN_SET('" . $statement . "',tracking) > 0" ; } - $row = $GLOBALS['dbi']->fetchArray(PMA_queryAsControlUser($sql_query)); + $row = $GLOBALS['dbi']->fetchArray($relation->queryAsControlUser($sql_query)); return isset($row[0]) ? $row[0] : -1; @@ -501,8 +534,10 @@ class Tracker * @return mixed record DDM log, DDL log, structure snapshot, tracked * statements. */ - static public function getTrackedData($dbname, $tablename, $version) + public static function getTrackedData($dbname, $tablename, $version) { + $relation = new Relation(); + $sql_query = " SELECT * FROM " . self::_getTrackingTable() . " WHERE `db_name` = '" . $GLOBALS['dbi']->escapeString($dbname) . "' "; if (! empty($tablename)) { @@ -512,13 +547,13 @@ class Tracker $sql_query .= " AND `version` = '" . $GLOBALS['dbi']->escapeString($version) . "' " . " ORDER BY `version` DESC LIMIT 1"; - $mixed = $GLOBALS['dbi']->fetchAssoc(PMA_queryAsControlUser($sql_query)); + $mixed = $GLOBALS['dbi']->fetchAssoc($relation->queryAsControlUser($sql_query)); // Parse log $log_schema_entries = explode('# log ', $mixed['schema_sql']); $log_data_entries = explode('# log ', $mixed['data_sql']); - $ddl_date_from = $date = date('Y-m-d H:i:s'); + $ddl_date_from = $date = Util::date('Y-m-d H:i:s'); $ddlog = array(); $first_iteration = true; @@ -609,7 +644,7 @@ class Tracker * @return mixed Array containing identifier, type and tablename. * */ - static public function parseQuery($query) + public static function parseQuery($query) { // Usage of PMA_SQP does not work here // @@ -617,7 +652,7 @@ class Tracker // $parsed_sql = PMA_SQP_parse($query); // $sql_info = PMA_SQP_analyze($parsed_sql); - $parser = new \PhpMyAdmin\SqlParser\Parser($query); + $parser = new Parser($query); $tokens = $parser->list->tokens; @@ -638,7 +673,7 @@ class Tracker $result['type'] = 'DDL'; // Parse CREATE statement - if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\CreateStatement) { + if ($statement instanceof CreateStatement) { if (empty($options) || !isset($options[6])) { return $result; } @@ -666,7 +701,7 @@ class Tracker } // Parse ALTER statement - elseif ($statement instanceof \PhpMyAdmin\SqlParser\Statements\AlterStatement) { + elseif ($statement instanceof AlterStatement) { if (empty($options) || !isset($options[3])) { return $result; } @@ -683,7 +718,7 @@ class Tracker } // Parse DROP statement - elseif ($statement instanceof \PhpMyAdmin\SqlParser\Statements\DropStatement) { + elseif ($statement instanceof DropStatement) { if (empty($options) || !isset($options[1])) { return $result; } @@ -703,7 +738,7 @@ class Tracker } // Prase RENAME statement - elseif ($statement instanceof \PhpMyAdmin\SqlParser\Statements\RenameStatement) { + elseif ($statement instanceof RenameStatement) { $result['identifier'] = 'RENAME TABLE'; $result['tablename'] = $statement->renames[0]->old->table; $result['tablename_after_rename'] = $statement->renames[0]->new->table; @@ -719,25 +754,25 @@ class Tracker $result['type'] = 'DML'; // Parse UPDATE statement - if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\UpdateStatement) { + if ($statement instanceof UpdateStatement) { $result['identifier'] = 'UPDATE'; $result['tablename'] = $statement->tables[0]->table; } // Parse INSERT INTO statement - if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\InsertStatement) { + if ($statement instanceof InsertStatement) { $result['identifier'] = 'INSERT'; $result['tablename'] = $statement->into->dest->table; } // Parse DELETE statement - if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\DeleteStatement) { + if ($statement instanceof DeleteStatement) { $result['identifier'] = 'DELETE'; $result['tablename'] = $statement->from[0]->table; } // Parse TRUNCATE statement - if ($statement instanceof \PhpMyAdmin\SqlParser\Statements\TruncateStatement) { + if ($statement instanceof TruncateStatement) { $result['identifier'] = 'TRUNCATE' ; $result['tablename'] = $statement->table->table; } @@ -756,8 +791,10 @@ class Tracker * * @return void */ - static public function handleQuery($query) + public static function handleQuery($query) { + $relation = new Relation(); + // If query is marked as untouchable, leave if (mb_strstr($query, "/*NOTRACK*/")) { return; @@ -779,13 +816,16 @@ class Tracker // If we found a valid statement if (isset($result['identifier'])) { + if (! self::isTracked($dbname, $result['tablename'])) { + return; + } + $version = self::getVersion( $dbname, $result['tablename'], $result['identifier'] ); // If version not exists and auto-creation is enabled if ($GLOBALS['cfg']['Server']['tracking_version_auto_create'] == true - && self::isTracked($dbname, $result['tablename']) == false && $version == -1 ) { // Create the version @@ -806,7 +846,7 @@ class Tracker } // If version exists - if (self::isTracked($dbname, $result['tablename']) && $version != -1) { + if ($version != -1) { if ($result['type'] == 'DDL') { $save_to = 'schema_sql'; } elseif ($result['type'] == 'DML') { @@ -814,7 +854,7 @@ class Tracker } else { $save_to = ''; } - $date = date('Y-m-d H:i:s'); + $date = Util::date('Y-m-d H:i:s'); // Cut off `dbname`. from query $query = preg_replace( @@ -854,7 +894,7 @@ class Tracker . $GLOBALS['dbi']->escapeString($result['tablename']) . "' " . " AND `version` = '" . $GLOBALS['dbi']->escapeString($version) . "' "; - PMA_queryAsControlUser($sql_query); + $relation->queryAsControlUser($sql_query); } } } @@ -866,7 +906,8 @@ class Tracker */ private static function _getTrackingTable() { - $cfgRelation = PMA_getRelationsParam(); + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); return Util::backquote($cfgRelation['db']) . '.' . Util::backquote($cfgRelation['tracking']); } diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Tracking.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Tracking.php new file mode 100644 index 00000000..f3cbced5 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Tracking.php @@ -0,0 +1,1286 @@ += $filter_ts_from + && $timestamp <= $filter_ts_to + && (in_array('*', $filter_users) || $filtered_user) + ) { + $tmp_entries[] = array( + 'id' => $id, + 'timestamp' => $timestamp, + 'username' => $entry['username'], + 'statement' => $entry['statement'] + ); + } + $id++; + } + return($tmp_entries); + } + + /** + * Function to get html for data definition and data manipulation statements + * + * @param string $urlQuery url query + * @param int $lastVersion last version + * @param string $db database + * @param array $selected selected tables + * @param string $type type of the table; table, view or both + * + * @return string HTML + */ + public static function getHtmlForDataDefinitionAndManipulationStatements( + $urlQuery, + $lastVersion, + $db, + array $selected, + $type = 'both' + ) { + return Template::get('table/tracking/create_version')->render([ + 'url_query' => $urlQuery, + 'last_version' => $lastVersion, + 'db' => $db, + 'selected' => $selected, + 'type' => $type, + 'default_statements' => $GLOBALS['cfg']['Server']['tracking_default_statements'], + ]); + } + + /** + * Function to get html for activate/deactivate tracking + * + * @param string $action activate|deactivate + * @param string $urlQuery url query + * @param int $lastVersion last version + * + * @return string HTML + */ + public static function getHtmlForActivateDeactivateTracking( + $action, + $urlQuery, + $lastVersion + ) { + return Template::get('table/tracking/activate_deactivate')->render([ + 'action' => $action, + 'url_query' => $urlQuery, + 'last_version' => $lastVersion, + 'db' => $GLOBALS['db'], + 'table' => $GLOBALS['table'], + ]); + } + + /** + * Function to get the list versions of the table + * + * @return array + */ + public static function getListOfVersionsOfTable() + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + $sql_query = " SELECT * FROM " . + Util::backquote($cfgRelation['db']) . "." . + Util::backquote($cfgRelation['tracking']) . + " WHERE db_name = '" . $GLOBALS['dbi']->escapeString($_REQUEST['db']) . + "' " . + " AND table_name = '" . + $GLOBALS['dbi']->escapeString($_REQUEST['table']) . "' " . + " ORDER BY version DESC "; + + return $relation->queryAsControlUser($sql_query); + } + + /** + * Function to get html for displaying last version number + * + * @param array $sql_result sql result + * @param int $last_version last version + * @param array $url_params url parameters + * @param string $url_query url query + * @param string $pmaThemeImage path to theme's image folder + * @param string $text_dir text direction + * + * @return string + */ + public static function getHtmlForTableVersionDetails( + $sql_result, $last_version, array $url_params, + $url_query, $pmaThemeImage, $text_dir + ) { + $tracking_active = false; + + $html = ''; + $html .= Url::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + $GLOBALS['dbi']->dataSeek($sql_result, 0); + $delete = Util::getIcon('b_drop', __('Delete version')); + $report = Util::getIcon('b_report', __('Tracking report')); + $structure = Util::getIcon('b_props', __('Structure snapshot')); + + while ($version = $GLOBALS['dbi']->fetchArray($sql_result)) { + if ($version['version'] == $last_version) { + if ($version['tracking_active'] == 1) { + $tracking_active = true; + } else { + $tracking_active = false; + } + } + $delete_link = 'tbl_tracking.php' . $url_query . '&version=' + . htmlspecialchars($version['version']) + . '&submit_delete_version=true'; + $checkbox_id = 'selected_versions_' . htmlspecialchars($version['version']); + + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + } + + $html .= ''; + $html .= '
    ' . __('Version') . '' . __('Created') . '' . __('Updated') . '' . __('Status') . '' . __('Action') . '' . __('Show') . '
    '; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= '' . htmlspecialchars($version['date_created']) . '' . htmlspecialchars($version['date_updated']) . '' . self::getVersionStatus($version) . '' . $delete . '' . $report . ''; + $html .= '  '; + $html .= '' . $structure . ''; + $html .= '
    '; + + $html .= Template::get('select_all') + ->render( + array( + 'pma_theme_image' => $pmaThemeImage, + 'text_dir' => $text_dir, + 'form_name' => 'versionsForm', + ) + ); + $html .= Util::getButtonOrImage( + 'submit_mult', 'mult_submit', + __('Delete version'), 'b_drop', 'delete_version' + ); + + $html .= '
    '; + + if ($tracking_active) { + $html .= self::getHtmlForActivateDeactivateTracking( + 'deactivate', $url_query, $last_version + ); + } else { + $html .= self::getHtmlForActivateDeactivateTracking( + 'activate', $url_query, $last_version + ); + } + + return $html; + } + + /** + * Function to get the last version number of a table + * + * @param array $sql_result sql result + * + * @return int + */ + public static function getTableLastVersionNumber($sql_result) + { + $maxversion = $GLOBALS['dbi']->fetchArray($sql_result); + return intval($maxversion['version']); + } + + /** + * Function to get sql results for selectable tables + * + * @return array + */ + public static function getSqlResultForSelectableTables() + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + + $sql_query = " SELECT DISTINCT db_name, table_name FROM " . + Util::backquote($cfgRelation['db']) . "." . + Util::backquote($cfgRelation['tracking']) . + " WHERE db_name = '" . $GLOBALS['dbi']->escapeString($GLOBALS['db']) . + "' " . + " ORDER BY db_name, table_name"; + + return $relation->queryAsControlUser($sql_query); + } + + /** + * Function to get html for selectable table rows + * + * @param array $selectableTablesSqlResult sql results for selectable rows + * @param string $urlQuery url query + * + * @return string + */ + public static function getHtmlForSelectableTables( + $selectableTablesSqlResult, + $urlQuery + ) { + $entries = []; + while ($entry = $GLOBALS['dbi']->fetchArray($selectableTablesSqlResult)) { + $entry['is_tracked'] = Tracker::isTracked( + $entry['db_name'], + $entry['table_name'] + ); + $entries[] = $entry; + } + + return Template::get('table/tracking/selectable_tables')->render([ + 'url_query' => $urlQuery, + 'db' => $GLOBALS['db'], + 'table' => $GLOBALS['table'], + 'entries' => $entries, + 'selected_table' => isset($_REQUEST['table']) ? $_REQUEST['table'] : null, + ]); + } + + /** + * Function to get html for tracking report and tracking report export + * + * @param string $url_query url query + * @param array $data data + * @param array $url_params url params + * @param boolean $selection_schema selection schema + * @param boolean $selection_data selection data + * @param boolean $selection_both selection both + * @param int $filter_ts_to filter time stamp from + * @param int $filter_ts_from filter time stamp tp + * @param array $filter_users filter users + * + * @return string + */ + public static function getHtmlForTrackingReport($url_query, array $data, array $url_params, + $selection_schema, $selection_data, $selection_both, $filter_ts_to, + $filter_ts_from, array $filter_users + ) { + $html = '

    ' . __('Tracking report') + . ' [' . __('Close') + . ']

    '; + + $html .= '' . __('Tracking statements') . ' ' + . htmlspecialchars($data['tracking']) . '
    '; + $html .= '
    '; + + list($str1, $str2, $str3, $str4, $str5) = self::getHtmlForElementsOfTrackingReport( + $selection_schema, $selection_data, $selection_both + ); + + // Prepare delete link content here + $drop_image_or_text = ''; + if (Util::showIcons('ActionLinksMode')) { + $drop_image_or_text .= Util::getImage( + 'b_drop', __('Delete tracking data row from report') + ); + } + if (Util::showText('ActionLinksMode')) { + $drop_image_or_text .= __('Delete'); + } + + /* + * First, list tracked data definition statements + */ + if (count($data['ddlog']) == 0 && count($data['dmlog']) == 0) { + $msg = Message::notice(__('No data')); + $msg->display(); + } + + $html .= self::getHtmlForTrackingReportExportForm1( + $data, $url_params, $selection_schema, $selection_data, $selection_both, + $filter_ts_to, $filter_ts_from, $filter_users, $str1, $str2, $str3, + $str4, $str5, $drop_image_or_text + ); + + $html .= self::getHtmlForTrackingReportExportForm2( + $url_params, $str1, $str2, $str3, $str4, $str5 + ); + + $html .= "



    \n"; + + return $html; + } + + /** + * Generate HTML element for report form + * + * @param boolean $selection_schema selection schema + * @param boolean $selection_data selection data + * @param boolean $selection_both selection both + * + * @return array + */ + public static function getHtmlForElementsOfTrackingReport( + $selection_schema, $selection_data, $selection_both + ) { + $str1 = ''; + $str2 = ''; + $str3 = ''; + $str4 = ''; + $str5 = '' + . ''; + return array($str1, $str2, $str3, $str4, $str5); + } + + /** + * Generate HTML for export form + * + * @param array $data data + * @param array $url_params url params + * @param boolean $selection_schema selection schema + * @param boolean $selection_data selection data + * @param boolean $selection_both selection both + * @param int $filter_ts_to filter time stamp from + * @param int $filter_ts_from filter time stamp tp + * @param array $filter_users filter users + * @param string $str1 HTML for logtype select + * @param string $str2 HTML for "from date" + * @param string $str3 HTML for "to date" + * @param string $str4 HTML for user + * @param string $str5 HTML for "list report" + * @param string $drop_image_or_text HTML for image or text + * + * @return string HTML for form + */ + public static function getHtmlForTrackingReportExportForm1( + array $data, array $url_params, $selection_schema, $selection_data, $selection_both, + $filter_ts_to, $filter_ts_from, array $filter_users, $str1, $str2, $str3, + $str4, $str5, $drop_image_or_text + ) { + $ddlog_count = 0; + + $html = '
    '; + $html .= Url::getHiddenInputs(); + + $html .= sprintf( + __('Show %1$s with dates from %2$s to %3$s by user %4$s %5$s'), + $str1, $str2, $str3, $str4, $str5 + ); + + if ($selection_schema || $selection_both && count($data['ddlog']) > 0) { + list($temp, $ddlog_count) = self::getHtmlForDataDefinitionStatements( + $data, $filter_users, $filter_ts_from, $filter_ts_to, $url_params, + $drop_image_or_text + ); + $html .= $temp; + unset($temp); + } //endif + + /* + * Secondly, list tracked data manipulation statements + */ + if (($selection_data || $selection_both) && count($data['dmlog']) > 0) { + $html .= self::getHtmlForDataManipulationStatements( + $data, $filter_users, $filter_ts_from, $filter_ts_to, $url_params, + $ddlog_count, $drop_image_or_text + ); + } + $html .= '
    '; + return $html; + } + + /** + * Generate HTML for export form + * + * @param array $url_params Parameters + * @param string $str1 HTML for logtype select + * @param string $str2 HTML for "from date" + * @param string $str3 HTML for "to date" + * @param string $str4 HTML for user + * @param string $str5 HTML for "list report" + * + * @return string HTML for form + */ + public static function getHtmlForTrackingReportExportForm2( + array $url_params, $str1, $str2, $str3, $str4, $str5 + ) { + $html = '
    '; + $html .= Url::getHiddenInputs(); + $html .= sprintf( + __('Show %1$s with dates from %2$s to %3$s by user %4$s %5$s'), + $str1, $str2, $str3, $str4, $str5 + ); + $html .= '
    '; + + $html .= '
    '; + $html .= Url::getHiddenInputs(); + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + + $str_export1 = ''; + + $str_export2 = '' + . ''; + + $html .= "
    " . sprintf(__('Export as %s'), $str_export1) + . $str_export2 . "
    "; + $html .= '
    '; + return $html; + } + + /** + * Function to get html for data manipulation statements + * + * @param array $data data + * @param array $filter_users filter users + * @param int $filter_ts_from filter time staml from + * @param int $filter_ts_to filter time stamp to + * @param array $url_params url parameters + * @param int $ddlog_count data definition log count + * @param string $drop_image_or_text drop image or text + * + * @return string + */ + public static function getHtmlForDataManipulationStatements(array $data, array $filter_users, + $filter_ts_from, $filter_ts_to, array $url_params, $ddlog_count, + $drop_image_or_text + ) { + // no need for the secondth returned parameter + list($html,) = self::getHtmlForDataStatements( + $data, $filter_users, $filter_ts_from, $filter_ts_to, $url_params, + $drop_image_or_text, 'dmlog', __('Data manipulation statement'), + $ddlog_count, 'dml_versions' + ); + + return $html; + } + + /** + * Function to get html for data definition statements in schema snapshot + * + * @param array $data data + * @param array $filter_users filter users + * @param int $filter_ts_from filter time stamp from + * @param int $filter_ts_to filter time stamp to + * @param array $url_params url parameters + * @param string $drop_image_or_text drop image or text + * + * @return array + */ + public static function getHtmlForDataDefinitionStatements(array $data, array $filter_users, + $filter_ts_from, $filter_ts_to, array $url_params, $drop_image_or_text + ) { + list($html, $line_number) = self::getHtmlForDataStatements( + $data, $filter_users, $filter_ts_from, $filter_ts_to, $url_params, + $drop_image_or_text, 'ddlog', __('Data definition statement'), + 1, 'ddl_versions' + ); + + return array($html, $line_number); + } + + /** + * Function to get html for data statements in schema snapshot + * + * @param array $data data + * @param array $filterUsers filter users + * @param int $filterTsFrom filter time stamp from + * @param int $filterTsTo filter time stamp to + * @param array $urlParams url parameters + * @param string $dropImageOrText drop image or text + * @param string $whichLog dmlog|ddlog + * @param string $headerMessage message for this section + * @param int $lineNumber line number + * @param string $tableId id for the table element + * + * @return array [$html, $lineNumber] + */ + private static function getHtmlForDataStatements( + array $data, + array $filterUsers, + $filterTsFrom, + $filterTsTo, + array $urlParams, + $dropImageOrText, + $whichLog, + $headerMessage, + $lineNumber, + $tableId + ) { + $offset = $lineNumber; + $entries = []; + foreach ($data[$whichLog] as $entry) { + $timestamp = strtotime($entry['date']); + if ($timestamp >= $filterTsFrom + && $timestamp <= $filterTsTo + && (in_array('*', $filterUsers) + || in_array($entry['username'], $filterUsers)) + ) { + $entry['formated_statement'] = Util::formatSql($entry['statement'], true); + $deleteParam = 'delete_' . $whichLog; + $entry['url_params'] = Url::getCommon($urlParams + [ + 'report' => 'true', + 'version' => $_REQUEST['version'], + $deleteParam => ($lineNumber - $offset), + ]); + $entry['line_number'] = $lineNumber; + $entries[] = $entry; + } + $lineNumber++; + } + + $html = Template::get('table/tracking/report_table')->render([ + 'table_id' => $tableId, + 'header_message' => $headerMessage, + 'entries' => $entries, + 'drop_image_or_text' => $dropImageOrText, + ]); + + return [$html, $lineNumber]; + } + + /** + * Function to get html for schema snapshot + * + * @param string $url_query url query + * + * @return string + */ + public static function getHtmlForSchemaSnapshot($url_query) + { + $html = '

    ' . __('Structure snapshot') + . ' [' . __('Close') + . ']

    '; + $data = Tracker::getTrackedData( + $_REQUEST['db'], $_REQUEST['table'], $_REQUEST['version'] + ); + + // Get first DROP TABLE/VIEW and CREATE TABLE/VIEW statements + $drop_create_statements = $data['ddlog'][0]['statement']; + + if (mb_strstr($data['ddlog'][0]['statement'], 'DROP TABLE') + || mb_strstr($data['ddlog'][0]['statement'], 'DROP VIEW') + ) { + $drop_create_statements .= $data['ddlog'][1]['statement']; + } + // Print SQL code + $html .= Util::getMessage( + sprintf( + __('Version %s snapshot (SQL code)'), + htmlspecialchars($_REQUEST['version']) + ), + $drop_create_statements + ); + + // Unserialize snapshot + $temp = Core::safeUnserialize($data['schema_snapshot']); + if ($temp === null) { + $temp = array('COLUMNS' => array(), 'INDEXES' => array()); + } + $columns = $temp['COLUMNS']; + $indexes = $temp['INDEXES']; + $html .= self::getHtmlForColumns($columns); + + if (count($indexes) > 0) { + $html .= self::getHtmlForIndexes($indexes); + } // endif + $html .= '


    '; + + return $html; + } + + /** + * Function to get html for displaying columns in the schema snapshot + * + * @param array $columns columns + * + * @return string + */ + public static function getHtmlForColumns(array $columns) + { + return Template::get('table/tracking/structure_snapshot_columns')->render([ + 'columns' => $columns, + ]); + } + + /** + * Function to get html for the indexes in schema snapshot + * + * @param array $indexes indexes + * + * @return string + */ + public static function getHtmlForIndexes(array $indexes) + { + return Template::get('table/tracking/structure_snapshot_indexes')->render([ + 'indexes' => $indexes, + ]);; + } + + /** + * Function to handle the tracking report + * + * @param array &$data tracked data + * + * @return string HTML for the message + */ + public static function deleteTrackingReportRows(array &$data) + { + $html = ''; + if (isset($_REQUEST['delete_ddlog'])) { + // Delete ddlog row data + $html .= self::deleteFromTrackingReportLog( + $data, + 'ddlog', + 'DDL', + __('Tracking data definition successfully deleted') + ); + } + + if (isset($_REQUEST['delete_dmlog'])) { + // Delete dmlog row data + $html .= self::deleteFromTrackingReportLog( + $data, + 'dmlog', + 'DML', + __('Tracking data manipulation successfully deleted') + ); + } + return $html; + } + + /** + * Function to delete from a tracking report log + * + * @param array &$data tracked data + * @param string $which_log ddlog|dmlog + * @param string $type DDL|DML + * @param string $message success message + * + * @return string HTML for the message + */ + public static function deleteFromTrackingReportLog(array &$data, $which_log, $type, $message) + { + $html = ''; + $delete_id = $_REQUEST['delete_' . $which_log]; + + // Only in case of valid id + if ($delete_id == (int)$delete_id) { + unset($data[$which_log][$delete_id]); + + $successfullyDeleted = Tracker::changeTrackingData( + $_REQUEST['db'], + $_REQUEST['table'], + $_REQUEST['version'], + $type, + $data[$which_log] + ); + if ($successfullyDeleted) { + $msg = Message::success($message); + } else { + $msg = Message::rawError(__('Query error')); + } + $html .= $msg->getDisplay(); + } + return $html; + } + + /** + * Function to export as sql dump + * + * @param array $entries entries + * + * @return string HTML SQL query form + */ + public static function exportAsSqlDump(array $entries) + { + $html = ''; + $new_query = "# " + . __( + 'You can execute the dump by creating and using a temporary database. ' + . 'Please ensure that you have the privileges to do so.' + ) + . "\n" + . "# " . __('Comment out these two lines if you do not need them.') . "\n" + . "\n" + . "CREATE database IF NOT EXISTS pma_temp_db; \n" + . "USE pma_temp_db; \n" + . "\n"; + + foreach ($entries as $entry) { + $new_query .= $entry['statement']; + } + $msg = Message::success( + __('SQL statements exported. Please copy the dump or execute it.') + ); + $html .= $msg->getDisplay(); + + $db_temp = $GLOBALS['db']; + $table_temp = $GLOBALS['table']; + + $GLOBALS['db'] = $GLOBALS['table'] = ''; + + $html .= SqlQueryForm::getHtml($new_query, 'sql'); + + $GLOBALS['db'] = $db_temp; + $GLOBALS['table'] = $table_temp; + + return $html; + } + + /** + * Function to export as sql execution + * + * @param array $entries entries + * + * @return array + */ + public static function exportAsSqlExecution(array $entries) + { + $sql_result = array(); + foreach ($entries as $entry) { + $sql_result = $GLOBALS['dbi']->query("/*NOTRACK*/\n" . $entry['statement']); + } + + return $sql_result; + } + + /** + * Function to export as entries + * + * @param array $entries entries + * + * @return void + */ + public static function exportAsFileDownload(array $entries) + { + ini_set('url_rewriter.tags', ''); + + // Replace all multiple whitespaces by a single space + $table = htmlspecialchars(preg_replace('/\s+/', ' ', $_REQUEST['table'])); + $dump = "# " . sprintf( + __('Tracking report for table `%s`'), $table + ) + . "\n" . "# " . date('Y-m-d H:i:s') . "\n"; + foreach ($entries as $entry) { + $dump .= $entry['statement']; + } + $filename = 'log_' . $table . '.sql'; + Response::getInstance()->disable(); + Core::downloadHeader( + $filename, + 'text/x-sql', + strlen($dump) + ); + echo $dump; + + exit(); + } + + /** + * Function to activate or deactivate tracking + * + * @param string $action activate|deactivate + * + * @return string HTML for the success message + */ + public static function changeTracking($action) + { + $html = ''; + if ($action == 'activate') { + $method = 'activateTracking'; + $message = __('Tracking for %1$s was activated at version %2$s.'); + } else { + $method = 'deactivateTracking'; + $message = __('Tracking for %1$s was deactivated at version %2$s.'); + } + $status = Tracker::$method( + $GLOBALS['db'], $GLOBALS['table'], $_REQUEST['version'] + ); + if ($status) { + $msg = Message::success( + sprintf( + $message, + htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table']), + htmlspecialchars($_REQUEST['version']) + ) + ); + $html .= $msg->getDisplay(); + } + + return $html; + } + + /** + * Function to get tracking set + * + * @return string + */ + public static function getTrackingSet() + { + $tracking_set = ''; + + // a key is absent from the request if it has been removed from + // tracking_default_statements in the config + if (isset($_REQUEST['alter_table']) && $_REQUEST['alter_table'] == true) { + $tracking_set .= 'ALTER TABLE,'; + } + if (isset($_REQUEST['rename_table']) && $_REQUEST['rename_table'] == true) { + $tracking_set .= 'RENAME TABLE,'; + } + if (isset($_REQUEST['create_table']) && $_REQUEST['create_table'] == true) { + $tracking_set .= 'CREATE TABLE,'; + } + if (isset($_REQUEST['drop_table']) && $_REQUEST['drop_table'] == true) { + $tracking_set .= 'DROP TABLE,'; + } + if (isset($_REQUEST['alter_view']) && $_REQUEST['alter_view'] == true) { + $tracking_set .= 'ALTER VIEW,'; + } + if (isset($_REQUEST['create_view']) && $_REQUEST['create_view'] == true) { + $tracking_set .= 'CREATE VIEW,'; + } + if (isset($_REQUEST['drop_view']) && $_REQUEST['drop_view'] == true) { + $tracking_set .= 'DROP VIEW,'; + } + if (isset($_REQUEST['create_index']) && $_REQUEST['create_index'] == true) { + $tracking_set .= 'CREATE INDEX,'; + } + if (isset($_REQUEST['drop_index']) && $_REQUEST['drop_index'] == true) { + $tracking_set .= 'DROP INDEX,'; + } + if (isset($_REQUEST['insert']) && $_REQUEST['insert'] == true) { + $tracking_set .= 'INSERT,'; + } + if (isset($_REQUEST['update']) && $_REQUEST['update'] == true) { + $tracking_set .= 'UPDATE,'; + } + if (isset($_REQUEST['delete']) && $_REQUEST['delete'] == true) { + $tracking_set .= 'DELETE,'; + } + if (isset($_REQUEST['truncate']) && $_REQUEST['truncate'] == true) { + $tracking_set .= 'TRUNCATE,'; + } + $tracking_set = rtrim($tracking_set, ','); + + return $tracking_set; + } + + /** + * Deletes a tracking version + * + * @param string $version tracking version + * + * @return string HTML of the success message + */ + public static function deleteTrackingVersion($version) + { + $html = ''; + $versionDeleted = Tracker::deleteTracking( + $GLOBALS['db'], + $GLOBALS['table'], + $version + ); + if ($versionDeleted) { + $msg = Message::success( + sprintf( + __('Version %1$s of %2$s was deleted.'), + htmlspecialchars($version), + htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table']) + ) + ); + $html .= $msg->getDisplay(); + } + + return $html; + } + + /** + * Function to create the tracking version + * + * @return string HTML of the success message + */ + public static function createTrackingVersion() + { + $html = ''; + $tracking_set = self::getTrackingSet(); + + $versionCreated = Tracker::createVersion( + $GLOBALS['db'], + $GLOBALS['table'], + $_REQUEST['version'], + $tracking_set, + $GLOBALS['dbi']->getTable($GLOBALS['db'], $GLOBALS['table'])->isView() + ); + if ($versionCreated) { + $msg = Message::success( + sprintf( + __('Version %1$s was created, tracking for %2$s is active.'), + htmlspecialchars($_REQUEST['version']), + htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table']) + ) + ); + $html .= $msg->getDisplay(); + } + + return $html; + } + + /** + * Create tracking version for multiple tables + * + * @param array $selected list of selected tables + * + * @return void + */ + public static function createTrackingForMultipleTables(array $selected) + { + $tracking_set = self::getTrackingSet(); + + foreach ($selected as $selected_table) { + Tracker::createVersion( + $GLOBALS['db'], + $selected_table, + $_REQUEST['version'], + $tracking_set, + $GLOBALS['dbi']->getTable($GLOBALS['db'], $selected_table)->isView() + ); + } + } + + /** + * Function to get the entries + * + * @param array $data data + * @param int $filter_ts_from filter time stamp from + * @param int $filter_ts_to filter time stamp to + * @param array $filter_users filter users + * + * @return array + */ + public static function getEntries(array $data, $filter_ts_from, $filter_ts_to, array $filter_users) + { + $entries = array(); + // Filtering data definition statements + if ($_REQUEST['logtype'] == 'schema' + || $_REQUEST['logtype'] == 'schema_and_data' + ) { + $entries = array_merge( + $entries, + self::filterTracking( + $data['ddlog'], $filter_ts_from, $filter_ts_to, $filter_users + ) + ); + } + + // Filtering data manipulation statements + if ($_REQUEST['logtype'] == 'data' + || $_REQUEST['logtype'] == 'schema_and_data' + ) { + $entries = array_merge( + $entries, + self::filterTracking( + $data['dmlog'], $filter_ts_from, $filter_ts_to, $filter_users + ) + ); + } + + // Sort it + $ids = $timestamps = $usernames = $statements = array(); + foreach ($entries as $key => $row) { + $ids[$key] = $row['id']; + $timestamps[$key] = $row['timestamp']; + $usernames[$key] = $row['username']; + $statements[$key] = $row['statement']; + } + + array_multisort( + $timestamps, SORT_ASC, $ids, SORT_ASC, $usernames, + SORT_ASC, $statements, SORT_ASC, $entries + ); + + return $entries; + } + + /** + * Function to get version status + * + * @param array $version version info + * + * @return string $version_status The status message + */ + public static function getVersionStatus(array $version) + { + if ($version['tracking_active'] == 1) { + return __('active'); + } + + return __('not active'); + } + + /** + * Get HTML for untracked tables + * + * @param string $db current database + * @param array $untrackedTables untracked tables + * @param string $urlQuery url query string + * @param string $pmaThemeImage path to theme's image folder + * @param string $textDir text direction + * + * @return string HTML + */ + public static function getHtmlForUntrackedTables( + $db, + array $untrackedTables, + $urlQuery, + $pmaThemeImage, + $textDir + ) { + return Template::get('database/tracking/untracked_tables')->render([ + 'db' => $db, + 'untracked_tables' => $untrackedTables, + 'url_query' => $urlQuery, + 'pma_theme_image' => $pmaThemeImage, + 'text_dir' => $textDir, + ]); + } + + /** + * Helper function: Recursive function for getting table names from $table_list + * + * @param array $table_list Table list + * @param string $db Current database + * @param boolean $testing Testing + * + * @return array $untracked_tables + */ + public static function extractTableNames(array $table_list, $db, $testing = false) + { + $untracked_tables = array(); + $sep = $GLOBALS['cfg']['NavigationTreeTableSeparator']; + + foreach ($table_list as $key => $value) { + if (is_array($value) && array_key_exists(('is' . $sep . 'group'), $value) + && $value['is' . $sep . 'group'] + ) { + $untracked_tables = array_merge(self::extractTableNames($value, $db), $untracked_tables); //Recursion step + } + else { + if (is_array($value) && ($testing || Tracker::getVersion($db, $value['Name']) == -1)) { + $untracked_tables[] = $value['Name']; + } + } + } + return $untracked_tables; + } + + + /** + * Get untracked tables + * + * @param string $db current database + * + * @return array $untracked_tables + */ + public static function getUntrackedTables($db) + { + $table_list = Util::getTableList($db); + $untracked_tables = self::extractTableNames($table_list, $db); //Use helper function to get table list recursively. + return $untracked_tables; + } + + /** + * Get tracked tables + * + * @param string $db current database + * @param object $allTablesResult result set of tracked tables + * @param string $urlQuery url query string + * @param string $pmaThemeImage path to theme's image folder + * @param string $textDir text direction + * @param array $cfgRelation configuration storage info + * + * @return string HTML + */ + public static function getHtmlForTrackedTables( + $db, + $allTablesResult, + $urlQuery, + $pmaThemeImage, + $textDir, + array $cfgRelation + ) { + $relation = new Relation(); + $versions = []; + while ($oneResult = $GLOBALS['dbi']->fetchArray($allTablesResult)) { + list($tableName, $versionNumber) = $oneResult; + $tableQuery = ' SELECT * FROM ' . + Util::backquote($cfgRelation['db']) . '.' . + Util::backquote($cfgRelation['tracking']) . + ' WHERE `db_name` = \'' + . $GLOBALS['dbi']->escapeString($_REQUEST['db']) + . '\' AND `table_name` = \'' + . $GLOBALS['dbi']->escapeString($tableName) + . '\' AND `version` = \'' . $versionNumber . '\''; + + $tableResult = $relation->queryAsControlUser($tableQuery); + $versionData = $GLOBALS['dbi']->fetchArray($tableResult); + $versionData['status_button'] = self::getStatusButton( + $versionData, + $urlQuery + ); + $versions[] = $versionData; + } + return Template::get('database/tracking/tracked_tables')->render([ + 'db' => $db, + 'versions' => $versions, + 'url_query' => $urlQuery, + 'text_dir' => $textDir, + 'pma_theme_image' => $pmaThemeImage, + ]); + } + + /** + * Get tracking status button + * + * @param array $versionData data about tracking versions + * @param string $urlQuery url query string + * + * @return string HTML + */ + private static function getStatusButton(array $versionData, $urlQuery) + { + $state = self::getVersionStatus($versionData); + $options = array( + 0 => array( + 'label' => __('not active'), + 'value' => 'deactivate_now', + 'selected' => ($state != 'active') + ), + 1 => array( + 'label' => __('active'), + 'value' => 'activate_now', + 'selected' => ($state == 'active') + ) + ); + $link = 'tbl_tracking.php' . $urlQuery . '&table=' + . htmlspecialchars($versionData['table_name']) + . '&version=' . $versionData['version']; + + return Util::toggleButton( + $link, + 'toggle_activation', + $options, + null + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Transformations.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Transformations.php new file mode 100644 index 00000000..b5e44204 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Transformations.php @@ -0,0 +1,467 @@ + + * getOptions("'option ,, quoted',abd,'2,3',"); + * // array { + * // 'option ,, quoted', + * // 'abc', + * // '2,3', + * // '', + * // } + * + * + * @param string $option_string comma separated options + * + * @return array options + */ + public static function getOptions($option_string) + { + $result = array(); + + if (strlen($option_string) === 0 + || ! $transform_options = preg_split('/,/', $option_string) + ) { + return $result; + } + + while (($option = array_shift($transform_options)) !== null) { + $trimmed = trim($option); + if (strlen($trimmed) > 1 + && $trimmed[0] == "'" + && $trimmed[strlen($trimmed) - 1] == "'" + ) { + // '...' + $option = mb_substr($trimmed, 1, -1); + } elseif (isset($trimmed[0]) && $trimmed[0] == "'") { + // '..., + $trimmed = ltrim($option); + while (($option = array_shift($transform_options)) !== null) { + // ..., + $trimmed .= ',' . $option; + $rtrimmed = rtrim($trimmed); + if ($rtrimmed[strlen($rtrimmed) - 1] == "'") { + // ,...' + break; + } + } + $option = mb_substr($rtrimmed, 1, -1); + } + $result[] = stripslashes($option); + } + + return $result; + } + + /** + * Gets all available MIME-types + * + * @access public + * @staticvar array mimetypes + * @return array array[mimetype], array[transformation] + */ + public static function getAvailableMIMEtypes() + { + static $stack = null; + + if (null !== $stack) { + return $stack; + } + + $stack = array(); + $sub_dirs = array( + 'Input/' => 'input_', + 'Output/' => '', + '' => '' + ); + + foreach ($sub_dirs as $sd => $prefix) { + $handle = opendir('libraries/classes/Plugins/Transformations/' . $sd); + + if (! $handle) { + $stack[$prefix . 'transformation'] = array(); + $stack[$prefix . 'transformation_file'] = array(); + continue; + } + + $filestack = array(); + while ($file = readdir($handle)) { + // Ignore hidden files + if ($file[0] == '.') { + continue; + } + // Ignore old plugins (.class in filename) + if (strpos($file, '.class') !== false) { + continue; + } + $filestack[] = $file; + } + + closedir($handle); + sort($filestack); + + foreach ($filestack as $file) { + if (preg_match('|^[^.].*_.*_.*\.php$|', $file)) { + // File contains transformation functions. + $parts = explode('_', str_replace('.php', '', $file)); + $mimetype = $parts[0] . "/" . $parts[1]; + $stack['mimetype'][$mimetype] = $mimetype; + + $stack[$prefix . 'transformation'][] = $mimetype . ': ' . $parts[2]; + $stack[$prefix . 'transformation_file'][] = $sd . $file; + if ($sd === '') { + $stack['input_transformation'][] = $mimetype . ': ' . $parts[2]; + $stack['input_transformation_file'][] = $sd . $file; + } + + } elseif (preg_match('|^[^.].*\.php$|', $file)) { + // File is a plain mimetype, no functions. + $base = str_replace('.php', '', $file); + + if ($base != 'global') { + $mimetype = str_replace('_', '/', $base); + $stack['mimetype'][$mimetype] = $mimetype; + $stack['empty_mimetype'][$mimetype] = $mimetype; + } + } + } + } + return $stack; + } + + /** + * Returns the class name of the transformation + * + * @param string $filename transformation file name + * + * @return string the class name of transformation + */ + public static function getClassName($filename) + { + // get the transformation class name + $class_name = explode(".php", $filename); + $class_name = 'PhpMyAdmin\\' . str_replace('/', '\\', mb_substr($class_name[0], 18)); + + return $class_name; + } + + /** + * Returns the description of the transformation + * + * @param string $file transformation file + * + * @return String the description of the transformation + */ + public static function getDescription($file) + { + $include_file = 'libraries/classes/Plugins/Transformations/' . $file; + /* @var $class_name PhpMyAdmin\Plugins\TransformationsInterface */ + $class_name = self::getClassName($include_file); + // include and instantiate the class + include_once $include_file; + return $class_name::getInfo(); + } + + /** + * Returns the name of the transformation + * + * @param string $file transformation file + * + * @return String the name of the transformation + */ + public static function getName($file) + { + $include_file = 'libraries/classes/Plugins/Transformations/' . $file; + /* @var $class_name PhpMyAdmin\Plugins\TransformationsInterface */ + $class_name = self::getClassName($include_file); + // include and instantiate the class + include_once $include_file; + return $class_name::getName(); + } + + /** + * Fixups old MIME or transformation name to new one + * + * - applies some hardcoded fixups + * - adds spaces after _ and numbers + * - capitalizes words + * - removes back spaces + * + * @param string $value Value to fixup + * + * @return string + */ + static function fixupMIME($value) + { + $value = str_replace( + array("jpeg", "png"), array("JPEG", "PNG"), $value + ); + return str_replace( + ' ', + '', + ucwords( + preg_replace('/([0-9_]+)/', '$1 ', $value) + ) + ); + } + + /** + * Gets the mimetypes for all columns of a table + * + * @param string $db the name of the db to check for + * @param string $table the name of the table to check for + * @param boolean $strict whether to include only results having a mimetype set + * @param boolean $fullName whether to use full column names as the key + * + * @access public + * + * @return array [field_name][field_key] = field_value + */ + public static function getMIME($db, $table, $strict = false, $fullName = false) + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + + if (! $cfgRelation['mimework']) { + return false; + } + + $com_qry = ''; + if ($fullName) { + $com_qry .= "SELECT CONCAT(" + . "`db_name`, '.', `table_name`, '.', `column_name`" + . ") AS column_name, "; + } else { + $com_qry = "SELECT `column_name`, "; + } + $com_qry .= '`mimetype`, + `transformation`, + `transformation_options`, + `input_transformation`, + `input_transformation_options` + FROM ' . Util::backquote($cfgRelation['db']) . '.' + . Util::backquote($cfgRelation['column_info']) . ' + WHERE `db_name` = \'' . $GLOBALS['dbi']->escapeString($db) . '\' + AND `table_name` = \'' . $GLOBALS['dbi']->escapeString($table) . '\' + AND ( `mimetype` != \'\'' . (!$strict ? ' + OR `transformation` != \'\' + OR `transformation_options` != \'\' + OR `input_transformation` != \'\' + OR `input_transformation_options` != \'\'' : '') . ')'; + $result = $GLOBALS['dbi']->fetchResult( + $com_qry, 'column_name', null, DatabaseInterface::CONNECT_CONTROL + ); + + foreach ($result as $column => $values) { + // convert mimetype to new format (f.e. Text_Plain, etc) + $delimiter_space = '- '; + $delimiter = "_"; + $values['mimetype'] = self::fixupMIME($values['mimetype']); + + // For transformation of form + // output/image_jpeg__inline.inc.php + // extract dir part. + $dir = explode('/', $values['transformation']); + $subdir = ''; + if (count($dir) === 2) { + $subdir = ucfirst($dir[0]) . '/'; + $values['transformation'] = $dir[1]; + } + + $values['transformation'] = self::fixupMIME($values['transformation']); + $values['transformation'] = $subdir . $values['transformation']; + $result[$column] = $values; + } + + return $result; + } // end of the 'getMIME()' function + + /** + * Set a single mimetype to a certain value. + * + * @param string $db the name of the db + * @param string $table the name of the table + * @param string $key the name of the column + * @param string $mimetype the mimetype of the column + * @param string $transformation the transformation of the column + * @param string $transformationOpts the transformation options of the column + * @param string $inputTransform the input transformation of the column + * @param string $inputTransformOpts the input transformation options of the column + * @param boolean $forcedelete force delete, will erase any existing + * comments for this column + * + * @access public + * + * @return boolean true, if comment-query was made. + */ + public static function setMIME($db, $table, $key, $mimetype, $transformation, + $transformationOpts, $inputTransform, $inputTransformOpts, $forcedelete = false + ) { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + + if (! $cfgRelation['mimework']) { + return false; + } + + // lowercase mimetype & transformation + $mimetype = mb_strtolower($mimetype); + $transformation = mb_strtolower($transformation); + + // Do we have any parameter to set? + $has_value = ( + strlen($mimetype) > 0 || + strlen($transformation) > 0 || + strlen($transformationOpts) > 0 || + strlen($inputTransform) > 0 || + strlen($inputTransformOpts) > 0 + ); + + $test_qry = ' + SELECT `mimetype`, + `comment` + FROM ' . Util::backquote($cfgRelation['db']) . '.' + . Util::backquote($cfgRelation['column_info']) . ' + WHERE `db_name` = \'' . $GLOBALS['dbi']->escapeString($db) . '\' + AND `table_name` = \'' . $GLOBALS['dbi']->escapeString($table) . '\' + AND `column_name` = \'' . $GLOBALS['dbi']->escapeString($key) . '\''; + + $test_rs = $relation->queryAsControlUser( + $test_qry, true, DatabaseInterface::QUERY_STORE + ); + + if ($test_rs && $GLOBALS['dbi']->numRows($test_rs) > 0) { + $row = @$GLOBALS['dbi']->fetchAssoc($test_rs); + $GLOBALS['dbi']->freeResult($test_rs); + + if (! $forcedelete && ($has_value || strlen($row['comment']) > 0)) { + $upd_query = 'UPDATE ' + . Util::backquote($cfgRelation['db']) . '.' + . Util::backquote($cfgRelation['column_info']) + . ' SET ' + . '`mimetype` = \'' + . $GLOBALS['dbi']->escapeString($mimetype) . '\', ' + . '`transformation` = \'' + . $GLOBALS['dbi']->escapeString($transformation) . '\', ' + . '`transformation_options` = \'' + . $GLOBALS['dbi']->escapeString($transformationOpts) . '\', ' + . '`input_transformation` = \'' + . $GLOBALS['dbi']->escapeString($inputTransform) . '\', ' + . '`input_transformation_options` = \'' + . $GLOBALS['dbi']->escapeString($inputTransformOpts) . '\''; + } else { + $upd_query = 'DELETE FROM ' + . Util::backquote($cfgRelation['db']) + . '.' . Util::backquote($cfgRelation['column_info']); + } + $upd_query .= ' + WHERE `db_name` = \'' . $GLOBALS['dbi']->escapeString($db) . '\' + AND `table_name` = \'' . $GLOBALS['dbi']->escapeString($table) + . '\' + AND `column_name` = \'' . $GLOBALS['dbi']->escapeString($key) + . '\''; + } elseif ($has_value) { + + $upd_query = 'INSERT INTO ' + . Util::backquote($cfgRelation['db']) + . '.' . Util::backquote($cfgRelation['column_info']) + . ' (db_name, table_name, column_name, mimetype, ' + . 'transformation, transformation_options, ' + . 'input_transformation, input_transformation_options) ' + . ' VALUES(' + . '\'' . $GLOBALS['dbi']->escapeString($db) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($table) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($key) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($mimetype) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($transformation) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($transformationOpts) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($inputTransform) . '\',' + . '\'' . $GLOBALS['dbi']->escapeString($inputTransformOpts) . '\')'; + } + + if (isset($upd_query)) { + return $relation->queryAsControlUser($upd_query); + } + + return false; + } // end of 'setMIME()' function + + + /** + * GLOBAL Plugin functions + */ + + /** + * Delete related transformation details + * after deleting database. table or column + * + * @param string $db Database name + * @param string $table Table name + * @param string $column Column name + * + * @return boolean State of the query execution + */ + public static function clear($db, $table = '', $column = '') + { + $relation = new Relation(); + $cfgRelation = $relation->getRelationsParam(); + + if (! isset($cfgRelation['column_info'])) { + return false; + } + + $delete_sql = 'DELETE FROM ' + . Util::backquote($cfgRelation['db']) . '.' + . Util::backquote($cfgRelation['column_info']) + . ' WHERE '; + + if (($column != '') && ($table != '')) { + + $delete_sql .= '`db_name` = \'' . $db . '\' AND ' + . '`table_name` = \'' . $table . '\' AND ' + . '`column_name` = \'' . $column . '\' '; + + } elseif ($table != '') { + + $delete_sql .= '`db_name` = \'' . $db . '\' AND ' + . '`table_name` = \'' . $table . '\' '; + + } else { + $delete_sql .= '`db_name` = \'' . $db . '\' '; + } + + return $GLOBALS['dbi']->tryQuery($delete_sql); + + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/CharsetsExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/CharsetsExtension.php new file mode 100644 index 00000000..0bdd2c75 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/CharsetsExtension.php @@ -0,0 +1,44 @@ + array('html')) + ), + new TwigFunction( + 'Charsets_getCollationDropdownBox', + 'PhpMyAdmin\Charsets::getCollationDropdownBox', + array('is_safe' => array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/CoreExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/CoreExtension.php new file mode 100644 index 00000000..138fdcdf --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/CoreExtension.php @@ -0,0 +1,35 @@ + array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18n/NodeTrans.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18n/NodeTrans.php new file mode 100644 index 00000000..a24fe58a --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18n/NodeTrans.php @@ -0,0 +1,169 @@ +node). + * The attributes are automatically made available as array items ($this['name']). + * + * @param Node $body Body of node trans + * @param Node $plural Node plural + * @param AbstractExpression $count Node count + * @param Node $context Node context + * @param Node $notes Node notes + * @param int $lineno The line number + * @param string $tag The tag name associated with the Node + */ + public function __construct( + Node $body, + Node $plural = null, + AbstractExpression $count = null, + Node $context = null, + Node $notes = null, + $lineno, + $tag = null + ) { + $nodes = array('body' => $body); + if (null !== $count) { + $nodes['count'] = $count; + } + if (null !== $plural) { + $nodes['plural'] = $plural; + } + if (null !== $context) { + $nodes['context'] = $context; + } + if (null !== $notes) { + $nodes['notes'] = $notes; + } + + Node::__construct($nodes, array(), $lineno, $tag); + } + + /** + * Compiles the node to PHP. + * + * @param Compiler $compiler Node compiler + * + * @return void + */ + public function compile(Compiler $compiler) + { + $compiler->addDebugInfo($this); + + list($msg, $vars) = $this->compileString($this->getNode('body')); + + if ($this->hasNode('plural')) { + list($msg1, $vars1) = $this->compileString($this->getNode('plural')); + + $vars = array_merge($vars, $vars1); + } + + $function = $this->getTransFunction( + $this->hasNode('plural'), + $this->hasNode('context') + ); + + if ($this->hasNode('notes')) { + $message = trim($this->getNode('notes')->getAttribute('data')); + + // line breaks are not allowed cause we want a single line comment + $message = str_replace(array("\n", "\r"), ' ', $message); + $compiler->write("// l10n: {$message}\n"); + } + + if ($vars) { + $compiler + ->write('echo strtr(' . $function . '(') + ->subcompile($msg) + ; + + if ($this->hasNode('plural')) { + $compiler + ->raw(', ') + ->subcompile($msg1) + ->raw(', abs(') + ->subcompile($this->hasNode('count') ? $this->getNode('count') : null) + ->raw(')') + ; + } + + $compiler->raw('), array('); + + foreach ($vars as $var) { + if ('count' === $var->getAttribute('name')) { + $compiler + ->string('%count%') + ->raw(' => abs(') + ->subcompile($this->hasNode('count') ? $this->getNode('count') : null) + ->raw('), ') + ; + } else { + $compiler + ->string('%' . $var->getAttribute('name') . '%') + ->raw(' => ') + ->subcompile($var) + ->raw(', ') + ; + } + } + + $compiler->raw("));\n"); + } else { + $compiler->write('echo ' . $function . '('); + + if ($this->hasNode('context')) { + $context = trim($this->getNode('context')->getAttribute('data')); + $compiler->write('"' . $context . '", '); + } + + $compiler->subcompile($msg); + + if ($this->hasNode('plural')) { + $compiler + ->raw(', ') + ->subcompile($msg1) + ->raw(', abs(') + ->subcompile($this->hasNode('count') ? $this->getNode('count') : null) + ->raw(')') + ; + } + + $compiler->raw(");\n"); + } + } + + /** + * @param bool $plural Return plural or singular function to use + * @param bool $hasMsgContext It has message context? + * + * @return string + */ + protected function getTransFunction($plural, $hasMsgContext = false) + { + if ($hasMsgContext) { + return $plural ? '_ngettext' : '_pgettext'; + } + + return $plural ? '_ngettext' : '_gettext'; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18n/TokenParserTrans.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18n/TokenParserTrans.php new file mode 100644 index 00000000..44743e99 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18n/TokenParserTrans.php @@ -0,0 +1,81 @@ +getLine(); + $stream = $this->parser->getStream(); + $count = null; + $plural = null; + $notes = null; + $context = null; + + if (!$stream->test(Token::BLOCK_END_TYPE)) { + $body = $this->parser->getExpressionParser()->parseExpression(); + } else { + $stream->expect(Token::BLOCK_END_TYPE); + $body = $this->parser->subparse(array($this, 'decideForFork')); + $next = $stream->next()->getValue(); + + if ('plural' === $next) { + $count = $this->parser->getExpressionParser()->parseExpression(); + $stream->expect(Token::BLOCK_END_TYPE); + $plural = $this->parser->subparse(array($this, 'decideForFork')); + + if ('notes' === $stream->next()->getValue()) { + $stream->expect(Token::BLOCK_END_TYPE); + $notes = $this->parser->subparse(array($this, 'decideForEnd'), true); + } + } elseif ('context' === $next) { + $stream->expect(Token::BLOCK_END_TYPE); + $context = $this->parser->subparse(array($this, 'decideForEnd'), true); + } elseif ('notes' === $next) { + $stream->expect(Token::BLOCK_END_TYPE); + $notes = $this->parser->subparse(array($this, 'decideForEnd'), true); + } + } + + $stream->expect(Token::BLOCK_END_TYPE); + + $this->checkTransString($body, $lineno); + + return new NodeTrans($body, $plural, $count, $context, $notes, $lineno, $this->getTag()); + } + + /** + * Tests the current token for a type. + * + * @param Token $token Twig token to test + * + * @return bool + */ + public function decideForFork(Token $token) + { + return $token->test(array('plural', 'context', 'notes', 'endtrans')); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18nExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18nExtension.php new file mode 100644 index 00000000..dc668304 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/I18nExtension.php @@ -0,0 +1,42 @@ + array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/MessageExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/MessageExtension.php new file mode 100644 index 00000000..c2d0796d --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/MessageExtension.php @@ -0,0 +1,45 @@ +getDisplay(); + }, + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Message_error', + function ($string) { + return Message::error($string)->getDisplay(); + }, + array('is_safe' => array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/PartitionExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/PartitionExtension.php new file mode 100644 index 00000000..d4d49cd7 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/PartitionExtension.php @@ -0,0 +1,35 @@ + array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/PhpFunctionsExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/PhpFunctionsExtension.php new file mode 100644 index 00000000..4cf7fc26 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/PhpFunctionsExtension.php @@ -0,0 +1,39 @@ + array('html')) + ), + new TwigFunction( + 'Plugins_getChoice', + 'PhpMyAdmin\Plugins::getChoice', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Plugins_getDefault', + 'PhpMyAdmin\Plugins::getDefault', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Plugins_getOptions', + 'PhpMyAdmin\Plugins::getOptions', + array('is_safe' => array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/RelationExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/RelationExtension.php new file mode 100644 index 00000000..ce69ffd0 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/RelationExtension.php @@ -0,0 +1,54 @@ + array('html')) + ), + new TwigFunction( + 'Relation_getDisplayField', + [$relation, 'getDisplayField'], + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Relation_getForeignData', + [$relation, 'getForeignData'] + ), + new TwigFunction( + 'Relation_getTables', + [$relation, 'getTables'] + ), + new TwigFunction( + 'Relation_searchColumnInForeigners', + [$relation, 'searchColumnInForeigners'] + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/SanitizeExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/SanitizeExtension.php new file mode 100644 index 00000000..668e2aeb --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/SanitizeExtension.php @@ -0,0 +1,45 @@ + array('html')) + ), + new TwigFunction( + 'Sanitize_jsFormat', + 'PhpMyAdmin\Sanitize::jsFormat', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Sanitize_sanitize', + 'PhpMyAdmin\Sanitize::sanitize', + array('is_safe' => array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/ServerPrivilegesExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/ServerPrivilegesExtension.php new file mode 100644 index 00000000..df7d4b85 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/ServerPrivilegesExtension.php @@ -0,0 +1,35 @@ + array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/StorageEngineExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/StorageEngineExtension.php new file mode 100644 index 00000000..9ce01f95 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/StorageEngineExtension.php @@ -0,0 +1,35 @@ + array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/TableExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/TableExtension.php new file mode 100644 index 00000000..c736e40a --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/TableExtension.php @@ -0,0 +1,34 @@ + array('html')) + ), + new TwigFunction( + 'Url_getHiddenFields', + 'PhpMyAdmin\Url::getHiddenFields', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Url_getCommon', + 'PhpMyAdmin\Url::getCommon', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Url_getCommonRaw', + 'PhpMyAdmin\Url::getCommonRaw', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Url_link', + 'PhpMyAdmin\Core::linkURL' + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/UtilExtension.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/UtilExtension.php new file mode 100644 index 00000000..3a483d07 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Twig/UtilExtension.php @@ -0,0 +1,189 @@ + array('html')) + ), + new TwigFunction( + 'Util_convertBitDefaultValue', + 'PhpMyAdmin\Util::convertBitDefaultValue' + ), + new TwigFunction( + 'Util_escapeMysqlWildcards', + 'PhpMyAdmin\Util::escapeMysqlWildcards' + ), + new TwigFunction( + 'Util_extractColumnSpec', + 'PhpMyAdmin\Util::extractColumnSpec' + ), + new TwigFunction( + 'Util_formatByteDown', + 'PhpMyAdmin\Util::formatByteDown' + ), + new TwigFunction( + 'Util_formatNumber', + 'PhpMyAdmin\Util::formatNumber' + ), + new TwigFunction( + 'Util_formatSql', + 'PhpMyAdmin\Util::formatSql', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getButtonOrImage', + 'PhpMyAdmin\Util::getButtonOrImage', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getClassForType', + 'PhpMyAdmin\Util::getClassForType', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getDivForSliderEffect', + 'PhpMyAdmin\Util::getDivForSliderEffect', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getDocuLink', + 'PhpMyAdmin\Util::getDocuLink', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getListNavigator', + 'PhpMyAdmin\Util::getListNavigator', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_showDocu', + 'PhpMyAdmin\Util::showDocu', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getDropdown', + 'PhpMyAdmin\Util::getDropdown', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getFKCheckbox', + 'PhpMyAdmin\Util::getFKCheckbox', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getGISDatatypes', + 'PhpMyAdmin\Util::getGISDatatypes' + ), + new TwigFunction( + 'Util_getGISFunctions', + 'PhpMyAdmin\Util::getGISFunctions' + ), + new TwigFunction( + 'Util_getHtmlTab', + 'PhpMyAdmin\Util::getHtmlTab', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getIcon', + 'PhpMyAdmin\Util::getIcon', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getImage', + 'PhpMyAdmin\Util::getImage', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getRadioFields', + 'PhpMyAdmin\Util::getRadioFields', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getSelectUploadFileBlock', + 'PhpMyAdmin\Util::getSelectUploadFileBlock', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getScriptNameForOption', + 'PhpMyAdmin\Util::getScriptNameForOption', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getStartAndNumberOfRowsPanel', + 'PhpMyAdmin\Util::getStartAndNumberOfRowsPanel', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_getSupportedDatatypes', + 'PhpMyAdmin\Util::getSupportedDatatypes', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_isForeignKeySupported', + 'PhpMyAdmin\Util::isForeignKeySupported' + ), + new TwigFunction( + 'Util_linkOrButton', + 'PhpMyAdmin\Util::linkOrButton', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_localisedDate', + 'PhpMyAdmin\Util::localisedDate' + ), + new TwigFunction( + 'Util_showHint', + 'PhpMyAdmin\Util::showHint', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_showDocu', + 'PhpMyAdmin\Util::showDocu', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_showIcons', + 'PhpMyAdmin\Util::showIcons' + ), + new TwigFunction( + 'Util_showMySQLDocu', + 'PhpMyAdmin\Util::showMySQLDocu', + array('is_safe' => array('html')) + ), + new TwigFunction( + 'Util_sortableTableHeader', + 'PhpMyAdmin\Util::sortableTableHeader', + array('is_safe' => array('html')) + ), + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/TwoFactor.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/TwoFactor.php new file mode 100644 index 00000000..9ac4ee20 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/TwoFactor.php @@ -0,0 +1,288 @@ +userPreferences = new UserPreferences(); + $this->user = $user; + $this->_available = $this->getAvailable(); + $this->config = $this->readConfig(); + $this->_writable = ($this->config['type'] == 'db'); + $this->_backend = $this->getBackend(); + } + + /** + * Reads the configuration + * + * @return array + */ + public function readConfig() + { + $result = []; + $config = $this->userPreferences->load(); + if (isset($config['config_data']['2fa'])) { + $result = $config['config_data']['2fa']; + } + $result['type'] = $config['type']; + if (! isset($result['backend'])) { + $result['backend'] = ''; + } + if (! isset($result['settings'])) { + $result['settings'] = []; + } + return $result; + } + + /** + * Get any property of this class + * + * @param string $property name of the property + * + * @return mixed|void if property exist, value of the relevant property + */ + public function __get($property) + { + switch ($property) { + case 'backend': + return $this->_backend; + case 'available': + return $this->_available; + case 'writable': + return $this->_writable; + case 'showSubmit': + $backend = $this->_backend; + return $backend::$showSubmit; + } + } + + /** + * Returns list of available backends + * + * @return array + */ + public function getAvailable() + { + $result = []; + if ($GLOBALS['cfg']['DBG']['simple2fa']) { + $result[] = 'simple'; + } + if (class_exists('PragmaRX\Google2FA\Google2FA') && class_exists('BaconQrCode\Renderer\Image\Png')) { + $result[] = 'application'; + } + if (class_exists('Samyoul\U2F\U2FServer\U2FServer')) { + $result[] = 'key'; + } + return $result; + } + + /** + * Returns list of missing dependencies + * + * @return array + */ + public function getMissingDeps() + { + $result = []; + if (!class_exists('PragmaRX\Google2FA\Google2FA')) { + $result[] = [ + 'class' => \PhpMyAdmin\Plugins\TwoFactor\Application::getName(), + 'dep' => 'pragmarx/google2fa', + ]; + } + if (!class_exists('BaconQrCode\Renderer\Image\Png')) { + $result[] = [ + 'class' => \PhpMyAdmin\Plugins\TwoFactor\Application::getName(), + 'dep' => 'bacon/bacon-qr-code', + ]; + } + if (!class_exists('Samyoul\U2F\U2FServer\U2FServer')) { + $result[] = [ + 'class' => \PhpMyAdmin\Plugins\TwoFactor\Key::getName(), + 'dep' => 'samyoul/u2f-php-server', + ]; + } + return $result; + } + + /** + * Returns class name for given name + * + * @param string $name Backend name + * + * @return string + */ + public function getBackendClass($name) + { + $result = 'PhpMyAdmin\\Plugins\\TwoFactorPlugin'; + if (in_array($name, $this->_available)) { + $result = 'PhpMyAdmin\\Plugins\\TwoFactor\\' . ucfirst($name); + } elseif (! empty($name)) { + $result = 'PhpMyAdmin\\Plugins\\TwoFactor\\Invalid'; + } + return $result; + } + + /** + * Returns backend for current user + * + * @return PhpMyAdmin\Plugins\TwoFactorPlugin + */ + public function getBackend() + { + $name = $this->getBackendClass($this->config['backend']); + return new $name($this); + } + + /** + * Checks authentication, returns true on success + * + * @param boolean $skip_session Skip session cache + * + * @return boolean + */ + public function check($skip_session = false) + { + if ($skip_session) { + return $this->_backend->check(); + } + if (empty($_SESSION['two_factor_check'])) { + $_SESSION['two_factor_check'] = $this->_backend->check(); + } + return $_SESSION['two_factor_check']; + } + + /** + * Renders user interface to enter two-factor authentication + * + * @return string HTML code + */ + public function render() + { + return $this->_backend->getError() . $this->_backend->render(); + } + + /** + * Renders user interface to configure two-factor authentication + * + * @return string HTML code + */ + public function setup() + { + return $this->_backend->getError() . $this->_backend->setup(); + } + + /** + * Saves current configuration. + * + * @return true|PhpMyAdmin\Message + */ + public function save() + { + return $this->userPreferences->persistOption('2fa', $this->config, null); + } + + /** + * Changes two-factor authentication settings + * + * The object might stay in partialy changed setup + * if configuration fails. + * + * @param string $name Backend name + * + * @return boolean + */ + public function configure($name) + { + $this->config = [ + 'backend' => $name + ]; + if ($name === '') { + $cls = $this->getBackendClass($name); + $this->config['settings'] = []; + $this->_backend = new $cls($this); + } else { + if (! in_array($name, $this->_available)) { + return false; + } + $cls = $this->getBackendClass($name); + $this->config['settings'] = []; + $this->_backend = new $cls($this); + if (! $this->_backend->configure()) { + return false; + } + } + $result = $this->save(); + if ($result !== true) { + $result->display(); + } + return true; + } + + /** + * Returns array with all available backends + * + * @return array + */ + public function getAllBackends() + { + $all = array_merge([''], $this->available); + $backends = []; + foreach ($all as $name) { + $cls = $this->getBackendClass($name); + $backends[] = [ + 'id' => $cls::$id, + 'name' => $cls::getName(), + 'description' => $cls::getDescription(), + ]; + } + return $backends; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Types.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Types.php new file mode 100644 index 00000000..3e18a995 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Types.php @@ -0,0 +1,805 @@ +_dbi = $dbi; + } + + /** + * Returns list of unary operators. + * + * @return string[] + */ + public function getUnaryOperators() + { + return array( + 'IS NULL', + 'IS NOT NULL', + "= ''", + "!= ''", + ); + } + + /** + * Check whether operator is unary. + * + * @param string $op operator name + * + * @return boolean + */ + public function isUnaryOperator($op) + { + return in_array($op, $this->getUnaryOperators()); + } + + /** + * Returns list of operators checking for NULL. + * + * @return string[] + */ + public function getNullOperators() + { + return array( + 'IS NULL', + 'IS NOT NULL', + ); + } + + /** + * ENUM search operators + * + * @return string[] + */ + public function getEnumOperators() + { + return array( + '=', + '!=', + ); + } + + /** + * TEXT search operators + * + * @return string[] + */ + public function getTextOperators() + { + return array( + 'LIKE', + 'LIKE %...%', + 'NOT LIKE', + '=', + '!=', + 'REGEXP', + 'REGEXP ^...$', + 'NOT REGEXP', + "= ''", + "!= ''", + 'IN (...)', + 'NOT IN (...)', + 'BETWEEN', + 'NOT BETWEEN', + ); + } + + /** + * Number search operators + * + * @return string[] + */ + public function getNumberOperators() + { + return array( + '=', + '>', + '>=', + '<', + '<=', + '!=', + 'LIKE', + 'LIKE %...%', + 'NOT LIKE', + 'IN (...)', + 'NOT IN (...)', + 'BETWEEN', + 'NOT BETWEEN', + ); + } + + /** + * Returns operators for given type + * + * @param string $type Type of field + * @param boolean $null Whether field can be NULL + * + * @return string[] + */ + public function getTypeOperators($type, $null) + { + $ret = array(); + $class = $this->getTypeClass($type); + + if (strncasecmp($type, 'enum', 4) == 0) { + $ret = array_merge($ret, $this->getEnumOperators()); + } elseif ($class == 'CHAR') { + $ret = array_merge($ret, $this->getTextOperators()); + } else { + $ret = array_merge($ret, $this->getNumberOperators()); + } + + if ($null) { + $ret = array_merge($ret, $this->getNullOperators()); + } + + return $ret; + } + + /** + * Returns operators for given type as html options + * + * @param string $type Type of field + * @param boolean $null Whether field can be NULL + * @param string $selectedOperator Option to be selected + * + * @return string Generated Html + */ + public function getTypeOperatorsHtml($type, $null, $selectedOperator = null) + { + $html = ''; + + foreach ($this->getTypeOperators($type, $null) as $fc) { + if (isset($selectedOperator) && $selectedOperator == $fc) { + $selected = ' selected="selected"'; + } else { + $selected = ''; + } + $html .= ''; + } + + return $html; + } + + /** + * Returns the data type description. + * + * @param string $type The data type to get a description. + * + * @return string + * + */ + public function getTypeDescription($type) + { + $type = mb_strtoupper($type); + switch ($type) { + case 'TINYINT': + return __( + 'A 1-byte integer, signed range is -128 to 127, unsigned range is ' . + '0 to 255' + ); + case 'SMALLINT': + return __( + 'A 2-byte integer, signed range is -32,768 to 32,767, unsigned ' . + 'range is 0 to 65,535' + ); + case 'MEDIUMINT': + return __( + 'A 3-byte integer, signed range is -8,388,608 to 8,388,607, ' . + 'unsigned range is 0 to 16,777,215' + ); + case 'INT': + return __( + 'A 4-byte integer, signed range is ' . + '-2,147,483,648 to 2,147,483,647, unsigned range is 0 to ' . + '4,294,967,295' + ); + case 'BIGINT': + return __( + 'An 8-byte integer, signed range is -9,223,372,036,854,775,808 ' . + 'to 9,223,372,036,854,775,807, unsigned range is 0 to ' . + '18,446,744,073,709,551,615' + ); + case 'DECIMAL': + return __( + 'A fixed-point number (M, D) - the maximum number of digits (M) ' . + 'is 65 (default 10), the maximum number of decimals (D) is 30 ' . + '(default 0)' + ); + case 'FLOAT': + return __( + 'A small floating-point number, allowable values are ' . + '-3.402823466E+38 to -1.175494351E-38, 0, and 1.175494351E-38 to ' . + '3.402823466E+38' + ); + case 'DOUBLE': + return __( + 'A double-precision floating-point number, allowable values are ' . + '-1.7976931348623157E+308 to -2.2250738585072014E-308, 0, and ' . + '2.2250738585072014E-308 to 1.7976931348623157E+308' + ); + case 'REAL': + return __( + 'Synonym for DOUBLE (exception: in REAL_AS_FLOAT SQL mode it is ' . + 'a synonym for FLOAT)' + ); + case 'BIT': + return __( + 'A bit-field type (M), storing M of bits per value (default is 1, ' . + 'maximum is 64)' + ); + case 'BOOLEAN': + return __( + 'A synonym for TINYINT(1), a value of zero is considered false, ' . + 'nonzero values are considered true' + ); + case 'SERIAL': + return __('An alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE'); + case 'DATE': + return sprintf( + __('A date, supported range is %1$s to %2$s'), '1000-01-01', + '9999-12-31' + ); + case 'DATETIME': + return sprintf( + __('A date and time combination, supported range is %1$s to %2$s'), + '1000-01-01 00:00:00', '9999-12-31 23:59:59' + ); + case 'TIMESTAMP': + return __( + 'A timestamp, range is 1970-01-01 00:00:01 UTC to 2038-01-09 ' . + '03:14:07 UTC, stored as the number of seconds since the epoch ' . + '(1970-01-01 00:00:00 UTC)' + ); + case 'TIME': + return sprintf( + __('A time, range is %1$s to %2$s'), '-838:59:59', '838:59:59' + ); + case 'YEAR': + return __( + "A year in four-digit (4, default) or two-digit (2) format, the " . + "allowable values are 70 (1970) to 69 (2069) or 1901 to 2155 and " . + "0000" + ); + case 'CHAR': + return __( + 'A fixed-length (0-255, default 1) string that is always ' . + 'right-padded with spaces to the specified length when stored' + ); + case 'VARCHAR': + return sprintf( + __( + 'A variable-length (%s) string, the effective maximum length ' . + 'is subject to the maximum row size' + ), '0-65,535' + ); + case 'TINYTEXT': + return __( + 'A TEXT column with a maximum length of 255 (2^8 - 1) characters, ' . + 'stored with a one-byte prefix indicating the length of the value ' . + 'in bytes' + ); + case 'TEXT': + return __( + 'A TEXT column with a maximum length of 65,535 (2^16 - 1) ' . + 'characters, stored with a two-byte prefix indicating the length ' . + 'of the value in bytes' + ); + case 'MEDIUMTEXT': + return __( + 'A TEXT column with a maximum length of 16,777,215 (2^24 - 1) ' . + 'characters, stored with a three-byte prefix indicating the ' . + 'length of the value in bytes' + ); + case 'LONGTEXT': + return __( + 'A TEXT column with a maximum length of 4,294,967,295 or 4GiB ' . + '(2^32 - 1) characters, stored with a four-byte prefix indicating ' . + 'the length of the value in bytes' + ); + case 'BINARY': + return __( + 'Similar to the CHAR type, but stores binary byte strings rather ' . + 'than non-binary character strings' + ); + case 'VARBINARY': + return __( + 'Similar to the VARCHAR type, but stores binary byte strings ' . + 'rather than non-binary character strings' + ); + case 'TINYBLOB': + return __( + 'A BLOB column with a maximum length of 255 (2^8 - 1) bytes, ' . + 'stored with a one-byte prefix indicating the length of the value' + ); + case 'MEDIUMBLOB': + return __( + 'A BLOB column with a maximum length of 16,777,215 (2^24 - 1) ' . + 'bytes, stored with a three-byte prefix indicating the length of ' . + 'the value' + ); + case 'BLOB': + return __( + 'A BLOB column with a maximum length of 65,535 (2^16 - 1) bytes, ' . + 'stored with a two-byte prefix indicating the length of the value' + ); + case 'LONGBLOB': + return __( + 'A BLOB column with a maximum length of 4,294,967,295 or 4GiB ' . + '(2^32 - 1) bytes, stored with a four-byte prefix indicating the ' . + 'length of the value' + ); + case 'ENUM': + return __( + "An enumeration, chosen from the list of up to 65,535 values or " . + "the special '' error value" + ); + case 'SET': + return __("A single value chosen from a set of up to 64 members"); + case 'GEOMETRY': + return __('A type that can store a geometry of any type'); + case 'POINT': + return __('A point in 2-dimensional space'); + case 'LINESTRING': + return __('A curve with linear interpolation between points'); + case 'POLYGON': + return __('A polygon'); + case 'MULTIPOINT': + return __('A collection of points'); + case 'MULTILINESTRING': + return __( + 'A collection of curves with linear interpolation between points' + ); + case 'MULTIPOLYGON': + return __('A collection of polygons'); + case 'GEOMETRYCOLLECTION': + return __('A collection of geometry objects of any type'); + case 'JSON': + return __( + 'Stores and enables efficient access to data in JSON' + . ' (JavaScript Object Notation) documents' + ); + } + return ''; + } + + /** + * Returns class of a type, used for functions available for type + * or default values. + * + * @param string $type The data type to get a class. + * + * @return string + * + */ + public function getTypeClass($type) + { + $type = mb_strtoupper($type); + switch ($type) { + case 'TINYINT': + case 'SMALLINT': + case 'MEDIUMINT': + case 'INT': + case 'BIGINT': + case 'DECIMAL': + case 'FLOAT': + case 'DOUBLE': + case 'REAL': + case 'BIT': + case 'BOOLEAN': + case 'SERIAL': + return 'NUMBER'; + + case 'DATE': + case 'DATETIME': + case 'TIMESTAMP': + case 'TIME': + case 'YEAR': + return 'DATE'; + + case 'CHAR': + case 'VARCHAR': + case 'TINYTEXT': + case 'TEXT': + case 'MEDIUMTEXT': + case 'LONGTEXT': + case 'BINARY': + case 'VARBINARY': + case 'TINYBLOB': + case 'MEDIUMBLOB': + case 'BLOB': + case 'LONGBLOB': + case 'ENUM': + case 'SET': + return 'CHAR'; + + case 'GEOMETRY': + case 'POINT': + case 'LINESTRING': + case 'POLYGON': + case 'MULTIPOINT': + case 'MULTILINESTRING': + case 'MULTIPOLYGON': + case 'GEOMETRYCOLLECTION': + return 'SPATIAL'; + + case 'JSON': + return 'JSON'; + } + + return ''; + } + + /** + * Returns array of functions available for a class. + * + * @param string $class The class to get function list. + * + * @return string[] + * + */ + public function getFunctionsClass($class) + { + $isMariaDB = $this->_dbi->isMariaDB(); + $serverVersion = $this->_dbi->getVersion(); + + switch ($class) { + case 'CHAR': + $ret = array( + 'AES_DECRYPT', + 'AES_ENCRYPT', + 'BIN', + 'CHAR', + 'COMPRESS', + 'CURRENT_USER', + 'DATABASE', + 'DAYNAME', + 'DES_DECRYPT', + 'DES_ENCRYPT', + 'ENCRYPT', + 'HEX', + 'INET6_NTOA', + 'INET_NTOA', + 'LOAD_FILE', + 'LOWER', + 'LTRIM', + 'MD5', + 'MONTHNAME', + 'OLD_PASSWORD', + 'PASSWORD', + 'QUOTE', + 'REVERSE', + 'RTRIM', + 'SHA1', + 'SOUNDEX', + 'SPACE', + 'TRIM', + 'UNCOMPRESS', + 'UNHEX', + 'UPPER', + 'USER', + 'UUID', + 'VERSION', + ); + + if (($isMariaDB && $serverVersion < 100012) + || $serverVersion < 50603 + ) { + $ret = array_diff($ret, array('INET6_NTOA')); + } + return $ret; + + case 'DATE': + return array( + 'CURRENT_DATE', + 'CURRENT_TIME', + 'DATE', + 'FROM_DAYS', + 'FROM_UNIXTIME', + 'LAST_DAY', + 'NOW', + 'SEC_TO_TIME', + 'SYSDATE', + 'TIME', + 'TIMESTAMP', + 'UTC_DATE', + 'UTC_TIME', + 'UTC_TIMESTAMP', + 'YEAR', + ); + + case 'NUMBER': + $ret = array( + 'ABS', + 'ACOS', + 'ASCII', + 'ASIN', + 'ATAN', + 'BIT_LENGTH', + 'BIT_COUNT', + 'CEILING', + 'CHAR_LENGTH', + 'CONNECTION_ID', + 'COS', + 'COT', + 'CRC32', + 'DAYOFMONTH', + 'DAYOFWEEK', + 'DAYOFYEAR', + 'DEGREES', + 'EXP', + 'FLOOR', + 'HOUR', + 'INET6_ATON', + 'INET_ATON', + 'LENGTH', + 'LN', + 'LOG', + 'LOG2', + 'LOG10', + 'MICROSECOND', + 'MINUTE', + 'MONTH', + 'OCT', + 'ORD', + 'PI', + 'QUARTER', + 'RADIANS', + 'RAND', + 'ROUND', + 'SECOND', + 'SIGN', + 'SIN', + 'SQRT', + 'TAN', + 'TO_DAYS', + 'TO_SECONDS', + 'TIME_TO_SEC', + 'UNCOMPRESSED_LENGTH', + 'UNIX_TIMESTAMP', + 'UUID_SHORT', + 'WEEK', + 'WEEKDAY', + 'WEEKOFYEAR', + 'YEARWEEK', + ); + if (($isMariaDB && $serverVersion < 100012) + || $serverVersion < 50603 + ) { + $ret = array_diff($ret, array('INET6_ATON')); + } + return $ret; + + case 'SPATIAL': + return array( + 'GeomFromText', + 'GeomFromWKB', + + 'GeomCollFromText', + 'LineFromText', + 'MLineFromText', + 'PointFromText', + 'MPointFromText', + 'PolyFromText', + 'MPolyFromText', + + 'GeomCollFromWKB', + 'LineFromWKB', + 'MLineFromWKB', + 'PointFromWKB', + 'MPointFromWKB', + 'PolyFromWKB', + 'MPolyFromWKB', + ); + + } + return array(); + } + + /** + * Returns array of functions available for a type. + * + * @param string $type The data type to get function list. + * + * @return string[] + * + */ + public function getFunctions($type) + { + $class = $this->getTypeClass($type); + return $this->getFunctionsClass($class); + } + + /** + * Returns array of all functions available. + * + * @return string[] + * + */ + public function getAllFunctions() + { + $ret = array_merge( + $this->getFunctionsClass('CHAR'), + $this->getFunctionsClass('NUMBER'), + $this->getFunctionsClass('DATE'), + $this->getFunctionsClass('UUID') + ); + sort($ret); + return $ret; + } + + /** + * Returns array of all attributes available. + * + * @return string[] + * + */ + public function getAttributes() + { + return array( + '', + 'BINARY', + 'UNSIGNED', + 'UNSIGNED ZEROFILL', + 'on update CURRENT_TIMESTAMP', + ); + } + + /** + * Returns array of all column types available. + * + * VARCHAR, TINYINT, TEXT and DATE are listed first, based on + * estimated popularity. + * + * @return string[] + * + */ + public function getColumns() + { + $isMariaDB = $this->_dbi->isMariaDB(); + $serverVersion = $this->_dbi->getVersion(); + + // most used types + $ret = array( + 'INT', + 'VARCHAR', + 'TEXT', + 'DATE', + ); + // numeric + $ret[_pgettext('numeric types', 'Numeric')] = array( + 'TINYINT', + 'SMALLINT', + 'MEDIUMINT', + 'INT', + 'BIGINT', + '-', + 'DECIMAL', + 'FLOAT', + 'DOUBLE', + 'REAL', + '-', + 'BIT', + 'BOOLEAN', + 'SERIAL', + ); + + // Date/Time + $ret[_pgettext('date and time types', 'Date and time')] = array( + 'DATE', + 'DATETIME', + 'TIMESTAMP', + 'TIME', + 'YEAR', + ); + + // Text + $ret[_pgettext('string types', 'String')] = array( + 'CHAR', + 'VARCHAR', + '-', + 'TINYTEXT', + 'TEXT', + 'MEDIUMTEXT', + 'LONGTEXT', + '-', + 'BINARY', + 'VARBINARY', + '-', + 'TINYBLOB', + 'MEDIUMBLOB', + 'BLOB', + 'LONGBLOB', + '-', + 'ENUM', + 'SET', + ); + + $ret[_pgettext('spatial types', 'Spatial')] = array( + 'GEOMETRY', + 'POINT', + 'LINESTRING', + 'POLYGON', + 'MULTIPOINT', + 'MULTILINESTRING', + 'MULTIPOLYGON', + 'GEOMETRYCOLLECTION', + ); + + if (($isMariaDB && $serverVersion > 100207) + || (!$isMariaDB && $serverVersion >= 50708)) { + $ret['JSON'] = array( + 'JSON', + ); + } + + return $ret; + } + + /** + * Returns an array of integer types + * + * @return string[] integer types + */ + public function getIntegerTypes() + { + return array('tinyint', 'smallint', 'mediumint', 'int', 'bigint'); + } + + /** + * Returns the min and max values of a given integer type + * + * @param string $type integer type + * @param boolean $signed whether signed + * + * @return string[] min and max values + */ + public function getIntegerRange($type, $signed = true) + { + static $min_max_data = array( + 'unsigned' => array( + 'tinyint' => array('0', '255'), + 'smallint' => array('0', '65535'), + 'mediumint' => array('0', '16777215'), + 'int' => array('0', '4294967295'), + 'bigint' => array('0', '18446744073709551615') + ), + 'signed' => array( + 'tinyint' => array('-128', '127'), + 'smallint' => array('-32768', '32767'), + 'mediumint' => array('-8388608', '8388607'), + 'int' => array('-2147483648', '2147483647'), + 'bigint' => array('-9223372036854775808', '9223372036854775807') + ) + ); + $relevantArray = $signed + ? $min_max_data['signed'] + : $min_max_data['unsigned']; + return isset($relevantArray[$type]) ? $relevantArray[$type] : array('', ''); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Url.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Url.php new file mode 100644 index 00000000..36219e17 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Url.php @@ -0,0 +1,267 @@ + 0) { + $params['db'] = $db; + } + if (strlen($table) > 0) { + $params['table'] = $table; + } + } + + if (! empty($GLOBALS['server']) + && $GLOBALS['server'] != $GLOBALS['cfg']['ServerDefault'] + ) { + $params['server'] = $GLOBALS['server']; + } + if (empty($_COOKIE['pma_lang']) && ! empty($GLOBALS['lang'])) { + $params['lang'] = $GLOBALS['lang']; + } + + if (! is_array($skip)) { + if (isset($params[$skip])) { + unset($params[$skip]); + } + } else { + foreach ($skip as $skipping) { + if (isset($params[$skipping])) { + unset($params[$skipping]); + } + } + } + + return Url::getHiddenFields($params); + } + + /** + * create hidden form fields from array with name => value + * + * + * $values = array( + * 'aaa' => aaa, + * 'bbb' => array( + * 'bbb_0', + * 'bbb_1', + * ), + * 'ccc' => array( + * 'a' => 'ccc_a', + * 'b' => 'ccc_b', + * ), + * ); + * echo Url::getHiddenFields($values); + * + * // produces: + * + * + * + * + * + * + * + * @param array $values hidden values + * @param string $pre prefix + * + * @return string form fields of type hidden + */ + public static function getHiddenFields(array $values, $pre = '') + { + $fields = ''; + + /* Always include token in plain forms */ + if ($pre === '') { + $values['token'] = $_SESSION[' PMA_token ']; + } + + foreach ($values as $name => $value) { + if (! empty($pre)) { + $name = $pre . '[' . $name . ']'; + } + + if (is_array($value)) { + $fields .= Url::getHiddenFields($value, $name); + } else { + // do not generate an ending "\n" because + // Url::getHiddenInputs() is sometimes called + // from a JS document.write() + $fields .= ''; + } + } + + return $fields; + } + + /** + * Generates text with URL parameters. + * + * + * $params['myparam'] = 'myvalue'; + * $params['db'] = 'mysql'; + * $params['table'] = 'rights'; + * // note the missing ? + * echo 'script.php' . Url::getCommon($params); + * // produces with cookies enabled: + * // script.php?myparam=myvalue&db=mysql&table=rights + * // with cookies disabled: + * // script.php?server=1&lang=en&myparam=myvalue&db=mysql + * // &table=rights + * + * // note the missing ? + * echo 'script.php' . Url::getCommon(); + * // produces with cookies enabled: + * // script.php + * // with cookies disabled: + * // script.php?server=1&lang=en + * + * + * @param mixed $params optional, Contains an associative array with url params + * @param string $divider optional character to use instead of '?' + * + * @return string string with URL parameters + * @access public + */ + public static function getCommon($params = array(), $divider = '?') + { + return htmlspecialchars( + Url::getCommonRaw($params, $divider) + ); + } + + /** + * Generates text with URL parameters. + * + * + * $params['myparam'] = 'myvalue'; + * $params['db'] = 'mysql'; + * $params['table'] = 'rights'; + * // note the missing ? + * echo 'script.php' . Url::getCommon($params); + * // produces with cookies enabled: + * // script.php?myparam=myvalue&db=mysql&table=rights + * // with cookies disabled: + * // script.php?server=1&lang=en&myparam=myvalue&db=mysql + * // &table=rights + * + * // note the missing ? + * echo 'script.php' . Url::getCommon(); + * // produces with cookies enabled: + * // script.php + * // with cookies disabled: + * // script.php?server=1&lang=en + * + * + * @param mixed $params optional, Contains an associative array with url params + * @param string $divider optional character to use instead of '?' + * + * @return string string with URL parameters + * @access public + */ + public static function getCommonRaw($params = array(), $divider = '?') + { + $separator = Url::getArgSeparator(); + + // avoid overwriting when creating navi panel links to servers + if (isset($GLOBALS['server']) + && $GLOBALS['server'] != $GLOBALS['cfg']['ServerDefault'] + && ! isset($params['server']) + && ! $GLOBALS['PMA_Config']->get('is_setup') + ) { + $params['server'] = $GLOBALS['server']; + } + + if (empty($_COOKIE['pma_lang']) && ! empty($GLOBALS['lang'])) { + $params['lang'] = $GLOBALS['lang']; + } + + $query = http_build_query($params, null, $separator); + + if ($divider != '?' || strlen($query) > 0) { + return $divider . $query; + } + + return ''; + } + + /** + * Returns url separator + * + * extracted from arg_separator.input as set in php.ini + * we do not use arg_separator.output to avoid problems with & and & + * + * @param string $encode whether to encode separator or not, + * currently 'none' or 'html' + * + * @return string character used for separating url parts usually ; or & + * @access public + */ + public static function getArgSeparator($encode = 'none') + { + static $separator = null; + static $html_separator = null; + + if (null === $separator) { + // use separators defined by php, but prefer ';' + // as recommended by W3C + // (see https://www.w3.org/TR/1999/REC-html401-19991224/appendix + // /notes.html#h-B.2.2) + $arg_separator = ini_get('arg_separator.input'); + if (mb_strpos($arg_separator, ';') !== false) { + $separator = ';'; + } elseif (strlen($arg_separator) > 0) { + $separator = $arg_separator{0}; + } else { + $separator = '&'; + } + $html_separator = htmlentities($separator); + } + + switch ($encode) { + case 'html': + return $html_separator; + case 'text' : + case 'none' : + default : + return $separator; + } + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/UserPassword.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/UserPassword.php new file mode 100644 index 00000000..f6487a96 --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/UserPassword.php @@ -0,0 +1,251 @@ +isAjax()) { + /** + * If in an Ajax request, we don't need to show the rest of the page + */ + if ($change_password_message['error']) { + $response->addJSON('message', $change_password_message['msg']); + $response->setRequestStatus(false); + } else { + $sql_query = Util::getMessage( + $change_password_message['msg'], + $sql_query, + 'success' + ); + $response->addJSON('message', $sql_query); + } + exit; + } + } + + /** + * Generate the message + * + * @return array error value and message + */ + public function setChangePasswordMsg() + { + $error = false; + $message = Message::success(__('The profile has been updated.')); + + if (($_REQUEST['nopass'] != '1')) { + if (strlen($_REQUEST['pma_pw']) === 0 || strlen($_REQUEST['pma_pw2']) === 0) { + $message = Message::error(__('The password is empty!')); + $error = true; + } elseif ($_REQUEST['pma_pw'] !== $_REQUEST['pma_pw2']) { + $message = Message::error( + __('The passwords aren\'t the same!') + ); + $error = true; + } elseif (strlen($_REQUEST['pma_pw']) > 256) { + $message = Message::error(__('Password is too long!')); + $error = true; + } + } + return array('error' => $error, 'msg' => $message); + } + + /** + * Change the password + * + * @param string $password New password + * @param string $message Message + * @param array $change_password_message Message to show + * + * @return void + */ + public function changePassword($password, $message, array $change_password_message) + { + global $auth_plugin; + + $hashing_function = $this->changePassHashingFunction(); + + list($username, $hostname) = $GLOBALS['dbi']->getCurrentUserAndHost(); + + $serverType = Util::getServerType(); + $serverVersion = $GLOBALS['dbi']->getVersion(); + + if (isset($_REQUEST['authentication_plugin']) + && ! empty($_REQUEST['authentication_plugin']) + ) { + $orig_auth_plugin = $_REQUEST['authentication_plugin']; + } else { + $orig_auth_plugin = Privileges::getCurrentAuthenticationPlugin( + 'change', $username, $hostname + ); + } + + $sql_query = 'SET password = ' + . (($password == '') ? '\'\'' : $hashing_function . '(\'***\')'); + + if ($serverType == 'MySQL' + && $serverVersion >= 50706 + ) { + $sql_query = 'ALTER USER \'' . $username . '\'@\'' . $hostname + . '\' IDENTIFIED WITH ' . $orig_auth_plugin . ' BY ' + . (($password == '') ? '\'\'' : '\'***\''); + } elseif (($serverType == 'MySQL' + && $serverVersion >= 50507) + || ($serverType == 'MariaDB' + && $serverVersion >= 50200) + ) { + // For MySQL versions 5.5.7+ and MariaDB versions 5.2+, + // explicitly set value of `old_passwords` so that + // it does not give an error while using + // the PASSWORD() function + if ($orig_auth_plugin == 'sha256_password') { + $value = 2; + } else { + $value = 0; + } + $GLOBALS['dbi']->tryQuery('SET `old_passwords` = ' . $value . ';'); + } + + $this->changePassUrlParamsAndSubmitQuery( + $username, $hostname, $password, + $sql_query, $hashing_function, $orig_auth_plugin + ); + + $auth_plugin->handlePasswordChange($password); + $this->getChangePassMessage($change_password_message, $sql_query); + $this->changePassDisplayPage($message, $sql_query); + } + + /** + * Generate the hashing function + * + * @return string $hashing_function + */ + private function changePassHashingFunction() + { + if (Core::isValid( + $_REQUEST['authentication_plugin'], 'identical', 'mysql_old_password' + )) { + $hashing_function = 'OLD_PASSWORD'; + } else { + $hashing_function = 'PASSWORD'; + } + return $hashing_function; + } + + /** + * Changes password for a user + * + * @param string $username Username + * @param string $hostname Hostname + * @param string $password Password + * @param string $sql_query SQL query + * @param string $hashing_function Hashing function + * @param string $orig_auth_plugin Original Authentication Plugin + * + * @return void + */ + private function changePassUrlParamsAndSubmitQuery( + $username, $hostname, $password, $sql_query, $hashing_function, $orig_auth_plugin + ) { + $err_url = 'user_password.php' . Url::getCommon(); + + $serverType = Util::getServerType(); + $serverVersion = $GLOBALS['dbi']->getVersion(); + + if ($serverType == 'MySQL' && $serverVersion >= 50706) { + $local_query = 'ALTER USER \'' . $username . '\'@\'' . $hostname . '\'' + . ' IDENTIFIED with ' . $orig_auth_plugin . ' BY ' + . (($password == '') + ? '\'\'' + : '\'' . $GLOBALS['dbi']->escapeString($password) . '\''); + } elseif ($serverType == 'MariaDB' + && $serverVersion >= 50200 + && $serverVersion < 100100 + && $orig_auth_plugin !== '' + ) { + if ($orig_auth_plugin == 'mysql_native_password') { + // Set the hashing method used by PASSWORD() + // to be 'mysql_native_password' type + $GLOBALS['dbi']->tryQuery('SET old_passwords = 0;'); + } elseif ($orig_auth_plugin == 'sha256_password') { + // Set the hashing method used by PASSWORD() + // to be 'sha256_password' type + $GLOBALS['dbi']->tryQuery('SET `old_passwords` = 2;'); + } + + $hashedPassword = Privileges::getHashedPassword($_POST['pma_pw']); + + $local_query = "UPDATE `mysql`.`user` SET" + . " `authentication_string` = '" . $hashedPassword + . "', `Password` = '', " + . " `plugin` = '" . $orig_auth_plugin . "'" + . " WHERE `User` = '" . $username . "' AND Host = '" + . $hostname . "';"; + } else { + $local_query = 'SET password = ' . (($password == '') + ? '\'\'' + : $hashing_function . '(\'' + . $GLOBALS['dbi']->escapeString($password) . '\')'); + } + if (! @$GLOBALS['dbi']->tryQuery($local_query)) { + Util::mysqlDie( + $GLOBALS['dbi']->getError(), + $sql_query, + false, + $err_url + ); + } + + // Flush privileges after successful password change + $GLOBALS['dbi']->tryQuery("FLUSH PRIVILEGES;"); + } + + /** + * Display the page + * + * @param string $message Message + * @param string $sql_query SQL query + * + * @return void + */ + private function changePassDisplayPage($message, $sql_query) + { + echo '

    ' , __('Change password') , '

    ' , "\n\n"; + echo Util::getMessage( + $message, $sql_query, 'success' + ); + echo '' , "\n" + , '' , __('Back') , ''; + exit; + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/UserPreferences.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/UserPreferences.php new file mode 100644 index 00000000..76723fcd --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/UserPreferences.php @@ -0,0 +1,274 @@ +relation = new Relation(); + } + + /** + * Common initialization for user preferences modification pages + * + * @param ConfigFile $cf Config file instance + * + * @return void + */ + public function pageInit(ConfigFile $cf) + { + $forms_all_keys = UserFormList::getFields(); + $cf->resetConfigData(); // start with a clean instance + $cf->setAllowedKeys($forms_all_keys); + $cf->setCfgUpdateReadMapping( + array( + 'Server/hide_db' => 'Servers/1/hide_db', + 'Server/only_db' => 'Servers/1/only_db' + ) + ); + $cf->updateWithGlobalConfig($GLOBALS['cfg']); + } + + /** + * Loads user preferences + * + * Returns an array: + * * config_data - path => value pairs + * * mtime - last modification time + * * type - 'db' (config read from pmadb) or 'session' (read from user session) + * + * @return array + */ + public function load() + { + $cfgRelation = $this->relation->getRelationsParam(); + if (! $cfgRelation['userconfigwork']) { + // no pmadb table, use session storage + if (! isset($_SESSION['userconfig'])) { + $_SESSION['userconfig'] = array( + 'db' => array(), + 'ts' => time()); + } + return array( + 'config_data' => $_SESSION['userconfig']['db'], + 'mtime' => $_SESSION['userconfig']['ts'], + 'type' => 'session'); + } + // load configuration from pmadb + $query_table = Util::backquote($cfgRelation['db']) . '.' + . Util::backquote($cfgRelation['userconfig']); + $query = 'SELECT `config_data`, UNIX_TIMESTAMP(`timevalue`) ts' + . ' FROM ' . $query_table + . ' WHERE `username` = \'' + . $GLOBALS['dbi']->escapeString($cfgRelation['user']) + . '\''; + $row = $GLOBALS['dbi']->fetchSingleRow($query, 'ASSOC', DatabaseInterface::CONNECT_CONTROL); + + return array( + 'config_data' => $row ? json_decode($row['config_data'], true) : array(), + 'mtime' => $row ? $row['ts'] : time(), + 'type' => 'db'); + } + + /** + * Saves user preferences + * + * @param array $config_array configuration array + * + * @return true|PhpMyAdmin\Message + */ + public function save(array $config_array) + { + $cfgRelation = $this->relation->getRelationsParam(); + $server = isset($GLOBALS['server']) + ? $GLOBALS['server'] + : $GLOBALS['cfg']['ServerDefault']; + $cache_key = 'server_' . $server; + if (! $cfgRelation['userconfigwork']) { + // no pmadb table, use session storage + $_SESSION['userconfig'] = array( + 'db' => $config_array, + 'ts' => time()); + if (isset($_SESSION['cache'][$cache_key]['userprefs'])) { + unset($_SESSION['cache'][$cache_key]['userprefs']); + } + return true; + } + + // save configuration to pmadb + $query_table = Util::backquote($cfgRelation['db']) . '.' + . Util::backquote($cfgRelation['userconfig']); + $query = 'SELECT `username` FROM ' . $query_table + . ' WHERE `username` = \'' + . $GLOBALS['dbi']->escapeString($cfgRelation['user']) + . '\''; + + $has_config = $GLOBALS['dbi']->fetchValue( + $query, 0, 0, DatabaseInterface::CONNECT_CONTROL + ); + $config_data = json_encode($config_array); + if ($has_config) { + $query = 'UPDATE ' . $query_table + . ' SET `timevalue` = NOW(), `config_data` = \'' + . $GLOBALS['dbi']->escapeString($config_data) + . '\'' + . ' WHERE `username` = \'' + . $GLOBALS['dbi']->escapeString($cfgRelation['user']) + . '\''; + } else { + $query = 'INSERT INTO ' . $query_table + . ' (`username`, `timevalue`,`config_data`) ' + . 'VALUES (\'' + . $GLOBALS['dbi']->escapeString($cfgRelation['user']) . '\', NOW(), ' + . '\'' . $GLOBALS['dbi']->escapeString($config_data) . '\')'; + } + if (isset($_SESSION['cache'][$cache_key]['userprefs'])) { + unset($_SESSION['cache'][$cache_key]['userprefs']); + } + if (!$GLOBALS['dbi']->tryQuery($query, DatabaseInterface::CONNECT_CONTROL)) { + $message = Message::error(__('Could not save configuration')); + $message->addMessage( + Message::rawError( + $GLOBALS['dbi']->getError(DatabaseInterface::CONNECT_CONTROL) + ), + '

    ' + ); + return $message; + } + return true; + } + + /** + * Returns a user preferences array filtered by $cfg['UserprefsDisallow'] + * (blacklist) and keys from user preferences form (whitelist) + * + * @param array $config_data path => value pairs + * + * @return array + */ + public function apply(array $config_data) + { + $cfg = array(); + $blacklist = array_flip($GLOBALS['cfg']['UserprefsDisallow']); + $whitelist = array_flip(UserFormList::getFields()); + // whitelist some additional fields which are custom handled + $whitelist['ThemeDefault'] = true; + $whitelist['lang'] = true; + $whitelist['Server/hide_db'] = true; + $whitelist['Server/only_db'] = true; + $whitelist['2fa'] = true; + foreach ($config_data as $path => $value) { + if (! isset($whitelist[$path]) || isset($blacklist[$path])) { + continue; + } + Core::arrayWrite($path, $cfg, $value); + } + return $cfg; + } + + /** + * Updates one user preferences option (loads and saves to database). + * + * No validation is done! + * + * @param string $path configuration + * @param mixed $value value + * @param mixed $default_value default value + * + * @return true|PhpMyAdmin\Message + */ + public function persistOption($path, $value, $default_value) + { + $prefs = $this->load(); + if ($value === $default_value) { + if (isset($prefs['config_data'][$path])) { + unset($prefs['config_data'][$path]); + } else { + return true; + } + } else { + $prefs['config_data'][$path] = $value; + } + return $this->save($prefs['config_data']); + } + + /** + * Redirects after saving new user preferences + * + * @param string $file_name Filename + * @param array|null $params URL parameters + * @param string $hash Hash value + * + * @return void + */ + public function redirect($file_name, + $params = null, $hash = null + ) { + // redirect + $url_params = array('saved' => 1); + if (is_array($params)) { + $url_params = array_merge($params, $url_params); + } + if ($hash) { + $hash = '#' . urlencode($hash); + } + Core::sendHeaderLocation('./' . $file_name + . Url::getCommonRaw($url_params) . $hash + ); + } + + /** + * Shows form which allows to quickly load + * settings stored in browser's local storage + * + * @return string + */ + public function autoloadGetHeader() + { + if (isset($_REQUEST['prefs_autoload']) + && $_REQUEST['prefs_autoload'] == 'hide' + ) { + $_SESSION['userprefs_autoload'] = true; + return ''; + } + + $script_name = basename(basename($GLOBALS['PMA_PHP_SELF'])); + $return_url = $script_name . '?' . http_build_query($_GET, '', '&'); + + return Template::get('prefs_autoload') + ->render( + array( + 'hidden_inputs' => Url::getHiddenInputs(), + 'return_url' => $return_url, + ) + ); + } +} diff --git a/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Util.php b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Util.php new file mode 100644 index 00000000..846a692f --- /dev/null +++ b/.devilbox/www/htdocs/vendor/phpmyadmin-4.8/libraries/classes/Util.php @@ -0,0 +1,4715 @@ +'; + if ($include_icon) { + $button .= self::getImage($icon, $alternate); + } + if ($include_icon && $include_text) { + $button .= ' '; + } + if ($include_text) { + $button .= $alternate; + } + $button .= $menu_icon ? '' : ''; + + return $button; + } + + /** + * Returns an HTML IMG tag for a particular image from a theme + * + * The image name should match CSS class defined in icons.css.php + * + * @param string $image The name of the file to get + * @param string $alternate Used to set 'alt' and 'title' attributes + * of the image + * @param array $attributes An associative array of other attributes + * + * @return string an html IMG tag + */ + public static function getImage($image, $alternate = '', array $attributes = array()) + { + $alternate = htmlspecialchars($alternate); + + // Set $url accordingly + if (isset($GLOBALS['pmaThemeImage'])) { + $url = $GLOBALS['pmaThemeImage'] . $image; + } else { + $url = './themes/pmahomme/' . $image; + } + + if (isset($attributes['class'])) { + $attributes['class'] = "icon ic_$image " . $attributes['class']; + } else { + $attributes['class'] = "icon ic_$image"; + } + + // set all other attributes + $attr_str = ''; + foreach ($attributes as $key => $value) { + if (! in_array($key, array('alt', 'title'))) { + $attr_str .= " $key=\"$value\""; + } + } + + // override the alt attribute + if (isset($attributes['alt'])) { + $alt = $attributes['alt']; + } else { + $alt = $alternate; + } + + // override the title attribute + if (isset($attributes['title'])) { + $title = $attributes['title']; + } else { + $title = $alternate; + } + + // generate the IMG tag + $template = '%s'; + $retval = sprintf($template, $title, $alt, $attr_str); + + return $retval; + } + + /** + * Returns the formatted maximum size for an upload + * + * @param integer $max_upload_size the size + * + * @return string the message + * + * @access public + */ + public static function getFormattedMaximumUploadSize($max_upload_size) + { + // I have to reduce the second parameter (sensitiveness) from 6 to 4 + // to avoid weird results like 512 kKib + list($max_size, $max_unit) = self::formatByteDown($max_upload_size, 4); + return '(' . sprintf(__('Max: %s%s'), $max_size, $max_unit) . ')'; + } + + /** + * Generates a hidden field which should indicate to the browser + * the maximum size for upload + * + * @param integer $max_size the size + * + * @return string the INPUT field + * + * @access public + */ + public static function generateHiddenMaxFileSize($max_size) + { + return ''; + } + + /** + * Add slashes before "_" and "%" characters for using them in MySQL + * database, table and field names. + * Note: This function does not escape backslashes! + * + * @param string $name the string to escape + * + * @return string the escaped string + * + * @access public + */ + public static function escapeMysqlWildcards($name) + { + return strtr($name, array('_' => '\\_', '%' => '\\%')); + } // end of the 'escapeMysqlWildcards()' function + + /** + * removes slashes before "_" and "%" characters + * Note: This function does not unescape backslashes! + * + * @param string $name the string to escape + * + * @return string the escaped string + * + * @access public + */ + public static function unescapeMysqlWildcards($name) + { + return strtr($name, array('\\_' => '_', '\\%' => '%')); + } // end of the 'unescapeMysqlWildcards()' function + + /** + * removes quotes (',",`) from a quoted string + * + * checks if the string is quoted and removes this quotes + * + * @param string $quoted_string string to remove quotes from + * @param string $quote type of quote to remove + * + * @return string unqoted string + */ + public static function unQuote($quoted_string, $quote = null) + { + $quotes = array(); + + if ($quote === null) { + $quotes[] = '`'; + $quotes[] = '"'; + $quotes[] = "'"; + } else { + $quotes[] = $quote; + } + + foreach ($quotes as $quote) { + if (mb_substr($quoted_string, 0, 1) === $quote + && mb_substr($quoted_string, -1, 1) === $quote + ) { + $unquoted_string = mb_substr($quoted_string, 1, -1); + // replace escaped quotes + $unquoted_string = str_replace( + $quote . $quote, + $quote, + $unquoted_string + ); + return $unquoted_string; + } + } + + return $quoted_string; + } + + /** + * format sql strings + * + * @param string $sqlQuery raw SQL string + * @param boolean $truncate truncate the query if it is too long + * + * @return string the formatted sql + * + * @global array $cfg the configuration array + * + * @access public + * @todo move into PMA_Sql + */ + public static function formatSql($sqlQuery, $truncate = false) + { + global $cfg; + + if ($truncate + && mb_strlen($sqlQuery) > $cfg['MaxCharactersInDisplayedSQL'] + ) { + $sqlQuery = mb_substr( + $sqlQuery, + 0, + $cfg['MaxCharactersInDisplayedSQL'] + ) . '[...]'; + } + return '
    ' . "\n"
    +            . htmlspecialchars($sqlQuery) . "\n"
    +            . '
    '; + } // end of the "formatSql()" function + + /** + * Displays a link to the documentation as an icon + * + * @param string $link documentation link + * @param string $target optional link target + * @param boolean $bbcode optional flag indicating whether to output bbcode + * + * @return string the html link + * + * @access public + */ + public static function showDocLink($link, $target = 'documentation', $bbcode = false) + { + if($bbcode){ + return "[a@$link@$target][dochelpicon][/a]"; + } + + return '' + . self::getImage('b_help', __('Documentation')) + . ''; + } // end of the 'showDocLink()' function + + /** + * Get a URL link to the official MySQL documentation + * + * @param string $link contains name of page/anchor that is being linked + * @param string $anchor anchor to page part + * + * @return string the URL link + * + * @access public + */ + public static function getMySQLDocuURL($link, $anchor = '') + { + // Fixup for newly used names: + $link = str_replace('_', '-', mb_strtolower($link)); + + if (empty($link)) { + $link = 'index'; + } + $mysql = '5.5'; + $lang = 'en'; + if (isset($GLOBALS['dbi'])) { + $serverVersion = $GLOBALS['dbi']->getVersion(); + if ($serverVersion >= 50700) { + $mysql = '5.7'; + } elseif ($serverVersion >= 50600) { + $mysql = '5.6'; + } elseif ($serverVersion >= 50500) { + $mysql = '5.5'; + } + } + $url = 'https://dev.mysql.com/doc/refman/' + . $mysql . '/' . $lang . '/' . $link . '.html'; + if (! empty($anchor)) { + $url .= '#' . $anchor; + } + + return Core::linkURL($url); + } + + /** + * Displays a link to the official MySQL documentation + * + * @param string $link contains name of page/anchor that is being linked + * @param bool $big_icon whether to use big icon (like in left frame) + * @param string $anchor anchor to page part + * @param bool $just_open whether only the opening tag should be returned + * + * @return string the html link + * + * @access public + */ + public static function showMySQLDocu( + $link, + $big_icon = false, + $anchor = '', + $just_open = false + ) { + $url = self::getMySQLDocuURL($link, $anchor); + $open_link = ''; + if ($just_open) { + return $open_link; + } elseif ($big_icon) { + return $open_link + . self::getImage('b_sqlhelp', __('Documentation')) . ''; + } + + return self::showDocLink($url, 'mysql_doc'); + } // end of the 'showMySQLDocu()' function + + /** + * Returns link to documentation. + * + * @param string $page Page in documentation + * @param string $anchor Optional anchor in page + * + * @return string URL + */ + public static function getDocuLink($page, $anchor = '') + { + /* Construct base URL */ + $url = $page . '.html'; + if (!empty($anchor)) { + $url .= '#' . $anchor; + } + + /* Check if we have built local documentation, however + * provide consistent URL for testsuite + */ + if (! defined('TESTSUITE') && @file_exists('doc/html/index.html')) { + if ($GLOBALS['PMA_Config']->get('is_setup')) { + return '../doc/html/' . $url; + } + + return './doc/html/' . $url; + } + + return Core::linkURL('https://docs.phpmyadmin.net/en/latest/' . $url); + } + + /** + * Displays a link to the phpMyAdmin documentation + * + * @param string $page Page in documentation + * @param string $anchor Optional anchor in page + * @param boolean $bbcode Optional flag indicating whether to output bbcode + * + * @return string the html link + * + * @access public + */ + public static function showDocu($page, $anchor = '', $bbcode = false) + { + return self::showDocLink(self::getDocuLink($page, $anchor), 'documentation', $bbcode); + } // end of the 'showDocu()' function + + /** + * Displays a link to the PHP documentation + * + * @param string $target anchor in documentation + * + * @return string the html link + * + * @access public + */ + public static function showPHPDocu($target) + { + $url = Core::getPHPDocLink($target); + + return self::showDocLink($url); + } // end of the 'showPHPDocu()' function + + /** + * Returns HTML code for a tooltip + * + * @param string $message the message for the tooltip + * + * @return string + * + * @access public + */ + public static function showHint($message) + { + if ($GLOBALS['cfg']['ShowHint']) { + $classClause = ' class="pma_hint"'; + } else { + $classClause = ''; + } + return '' + . self::getImage('b_help') + . '' . $message . '' + . ''; + } + + /** + * Displays a MySQL error message in the main panel when $exit is true. + * Returns the error message otherwise. + * + * @param string|bool $server_msg Server's error message. + * @param string $sql_query The SQL query that failed. + * @param bool $is_modify_link Whether to show a "modify" link or not. + * @param string $back_url URL for the "back" link (full path is + * not required). + * @param bool $exit Whether execution should be stopped or + * the error message should be returned. + * + * @return string + * + * @global string $table The current table. + * @global string $db The current database. + * + * @access public + */ + public static function mysqlDie( + $server_msg = '', + $sql_query = '', + $is_modify_link = true, + $back_url = '', + $exit = true + ) { + global $table, $db; + + /** + * Error message to be built. + * @var string $error_msg + */ + $error_msg = ''; + + // Checking for any server errors. + if (empty($server_msg)) { + $server_msg = $GLOBALS['dbi']->getError(); + } + + // Finding the query that failed, if not specified. + if ((empty($sql_query) && (!empty($GLOBALS['sql_query'])))) { + $sql_query = $GLOBALS['sql_query']; + } + $sql_query = trim($sql_query); + + /** + * The lexer used for analysis. + * @var Lexer $lexer + */ + $lexer = new Lexer($sql_query); + + /** + * The parser used for analysis. + * @var Parser $parser + */ + $parser = new Parser($lexer->list); + + /** + * The errors found by the lexer and the parser. + * @var array $errors + */ + $errors = ParserError::get(array($lexer, $parser)); + + if (empty($sql_query)) { + $formatted_sql = ''; + } elseif (count($errors)) { + $formatted_sql = htmlspecialchars($sql_query); + } else { + $formatted_sql = self::formatSql($sql_query, true); + } + + $error_msg .= '

    ' . __('Error') . '

    '; + + // For security reasons, if the MySQL refuses the connection, the query + // is hidden so no details are revealed. + if ((!empty($sql_query)) && (!(mb_strstr($sql_query, 'connect')))) { + // Static analysis errors. + if (!empty($errors)) { + $error_msg .= '

    ' . __('Static analysis:') + . '

    '; + $error_msg .= '

    ' . sprintf( + __('%d errors were found during analysis.'), + count($errors) + ) . '

    '; + $error_msg .= '

      '; + $error_msg .= implode( + ParserError::format( + $errors, + '
    1. %2$s (near "%4$s" at position %5$d)
    2. ' + ) + ); + $error_msg .= '

    '; + } + + // Display the SQL query and link to MySQL documentation. + $error_msg .= '

    ' . __('SQL query:') . '' . "\n"; + $formattedSqlToLower = mb_strtolower($formatted_sql); + + // TODO: Show documentation for all statement types. + if (mb_strstr($formattedSqlToLower, 'select')) { + // please show me help to the error on select + $error_msg .= self::showMySQLDocu('SELECT'); + } + + if ($is_modify_link) { + $_url_params = array( + 'sql_query' => $sql_query, + 'show_query' => 1, + ); + if (strlen($table) > 0) { + $_url_params['db'] = $db; + $_url_params['table'] = $table; + $doedit_goto = ''; + } elseif (strlen($db) > 0) { + $_url_params['db'] = $db; + $doedit_goto = ''; + } else { + $doedit_goto = ''; + } + + $error_msg .= $doedit_goto + . self::getIcon('b_edit', __('Edit')) + . ''; + } + + $error_msg .= '

    ' . "\n" + . '

    ' . "\n" + . $formatted_sql . "\n" + . '

    ' . "\n"; + } + + // Display server's error. + if (!empty($server_msg)) { + $server_msg = preg_replace( + "@((\015\012)|(\015)|(\012)){3,}@", + "\n\n", + $server_msg + ); + + // Adds a link to MySQL documentation. + $error_msg .= '

    ' . "\n" + . ' ' . __('MySQL said: ') . '' + . self::showMySQLDocu('Error-messages-server') + . "\n" + . '

    ' . "\n"; + + // The error message will be displayed within a CODE segment. + // To preserve original formatting, but allow word-wrapping, + // a couple of replacements are done. + // All non-single blanks and TAB-characters are replaced with their + // HTML-counterpart + $server_msg = str_replace( + array(' ', "\t"), + array('  ', '    '), + $server_msg + ); + + // Replace line breaks + $server_msg = nl2br($server_msg); + + $error_msg .= '' . $server_msg . '
    '; + } + + $error_msg .= '
    '; + $_SESSION['Import_message']['message'] = $error_msg; + + if (!$exit) { + return $error_msg; + } + + /** + * If this is an AJAX request, there is no "Back" link and + * `Response()` is used to send the response. + */ + $response = Response::getInstance(); + if ($response->isAjax()) { + $response->setRequestStatus(false); + $response->addJSON('message', $error_msg); + exit; + } + + if (!empty($back_url)) { + if (mb_strstr($back_url, '?')) { + $back_url .= '&no_history=true'; + } else { + $back_url .= '?no_history=true'; + } + + $_SESSION['Import_message']['go_back_url'] = $back_url; + + $error_msg .= '
    ' + . '[ ' . __('Back') . ' ]' + . '
    ' . "\n\n"; + } + + exit($error_msg); + } + + /** + * Check the correct row count + * + * @param string $db the db name + * @param array $table the table infos + * + * @return int $rowCount the possibly modified row count + * + */ + private static function _checkRowCount($db, array $table) + { + $rowCount = 0; + + if ($table['Rows'] === null) { + // Do not check exact row count here, + // if row count is invalid possibly the table is defect + // and this would break the navigation panel; + // but we can check row count if this is a view or the + // information_schema database + // since Table::countRecords() returns a limited row count + // in this case. + + // set this because Table::countRecords() can use it + $tbl_is_view = $table['TABLE_TYPE'] == 'VIEW'; + + if ($tbl_is_view || $GLOBALS['dbi']->isSystemSchema($db)) { + $rowCount = $GLOBALS['dbi'] + ->getTable($db, $table['Name']) + ->countRecords(); + } + } + return $rowCount; + } + + /** + * returns array with tables of given db with extended information and grouped + * + * @param string $db name of db + * @param string $tables name of tables + * @param integer $limit_offset list offset + * @param int|bool $limit_count max tables to return + * + * @return array (recursive) grouped table list + */ + public static function getTableList( + $db, + $tables = null, + $limit_offset = 0, + $limit_count = false + ) { + $sep = $GLOBALS['cfg']['NavigationTreeTableSeparator']; + + if ($tables === null) { + $tables = $GLOBALS['dbi']->getTablesFull( + $db, + '', + false, + $limit_offset, + $limit_count + ); + if ($GLOBALS['cfg']['NaturalOrder']) { + uksort($tables, 'strnatcasecmp'); + } + } + + if (count($tables) < 1) { + return $tables; + } + + $default = array( + 'Name' => '', + 'Rows' => 0, + 'Comment' => '', + 'disp_name' => '', + ); + + $table_groups = array(); + + foreach ($tables as $table_name => $table) { + $table['Rows'] = self::_checkRowCount($db, $table); + + // in $group we save the reference to the place in $table_groups + // where to store the table info + if ($GLOBALS['cfg']['NavigationTreeEnableGrouping'] + && $sep && mb_strstr($table_name, $sep) + ) { + $parts = explode($sep, $table_name); + + $group =& $table_groups; + $i = 0; + $group_name_full = ''; + $parts_cnt = count($parts) - 1; + + while (($i < $parts_cnt) + && ($i < $GLOBALS['cfg']['NavigationTreeTableLevel']) + ) { + $group_name = $parts[$i] . $sep; + $group_name_full .= $group_name; + + if (! isset($group[$group_name])) { + $group[$group_name] = array(); + $group[$group_name]['is' . $sep . 'group'] = true; + $group[$group_name]['tab' . $sep . 'count'] = 1; + $group[$group_name]['tab' . $sep . 'group'] + = $group_name_full; + + } elseif (! isset($group[$group_name]['is' . $sep . 'group'])) { + $table = $group[$group_name]; + $group[$group_name] = array(); + $group[$group_name][$group_name] = $table; + $group[$group_name]['is' . $sep . 'group'] = true; + $group[$group_name]['tab' . $sep . 'count'] = 1; + $group[$group_name]['tab' . $sep . 'group'] + = $group_name_full; + + } else { + $group[$group_name]['tab' . $sep . 'count']++; + } + + $group =& $group[$group_name]; + $i++; + } + + } else { + if (! isset($table_groups[$table_name])) { + $table_groups[$table_name] = array(); + } + $group =& $table_groups; + } + + $table['disp_name'] = $table['Name']; + $group[$table_name] = array_merge($default, $table); + } + + return $table_groups; + } + + /* ----------------------- Set of misc functions ----------------------- */ + + /** + * Adds backquotes on both sides of a database, table or field name. + * and escapes backquotes inside the name with another backquote + * + * example: + * + * echo backquote('owner`s db'); // `owner``s db` + * + * + * + * @param mixed $a_name the database, table or field name to "backquote" + * or array of it + * @param boolean $do_it a flag to bypass this function (used by dump + * functions) + * + * @return mixed the "backquoted" database, table or field name + * + * @access public + */ + public static function backquote($a_name, $do_it = true) + { + if (is_array($a_name)) { + foreach ($a_name as &$data) { + $data = self::backquote($data, $do_it); + } + return $a_name; + } + + if (! $do_it) { + if (!(Context::isKeyword($a_name) & Token::FLAG_KEYWORD_RESERVED) + ) { + return $a_name; + } + } + + // '0' is also empty for php :-( + if (strlen($a_name) > 0 && $a_name !== '*') { + return '`' . str_replace('`', '``', $a_name) . '`'; + } + + return $a_name; + } // end of the 'backquote()' function + + /** + * Adds backquotes on both sides of a database, table or field name. + * in compatibility mode + * + * example: + * + * echo backquoteCompat('owner`s db'); // `owner``s db` + * + * + * + * @param mixed $a_name the database, table or field name to + * "backquote" or array of it + * @param string $compatibility string compatibility mode (used by dump + * functions) + * @param boolean $do_it a flag to bypass this function (used by dump + * functions) + * + * @return mixed the "backquoted" database, table or field name + * + * @access public + */ + public static function backquoteCompat( + $a_name, + $compatibility = 'MSSQL', + $do_it = true + ) { + if (is_array($a_name)) { + foreach ($a_name as &$data) { + $data = self::backquoteCompat($data, $compatibility, $do_it); + } + return $a_name; + } + + if (! $do_it) { + if (!Context::isKeyword($a_name)) { + return $a_name; + } + } + + // @todo add more compatibility cases (ORACLE for example) + switch ($compatibility) { + case 'MSSQL': + $quote = '"'; + break; + default: + $quote = "`"; + break; + } + + // '0' is also empty for php :-( + if (strlen($a_name) > 0 && $a_name !== '*') { + return $quote . $a_name . $quote; + } + + return $a_name; + } // end of the 'backquoteCompat()' function + + /** + * Prepare the message and the query + * usually the message is the result of the query executed + * + * @param Message|string $message the message to display + * @param string $sql_query the query to display + * @param string $type the type (level) of the message + * + * @return string + * + * @access public + */ + public static function getMessage( + $message, + $sql_query = null, + $type = 'notice' + ) { + global $cfg; + $retval = ''; + + if (null === $sql_query) { + if (! empty($GLOBALS['display_query'])) { + $sql_query = $GLOBALS['display_query']; + } elseif (! empty($GLOBALS['unparsed_sql'])) { + $sql_query = $GLOBALS['unparsed_sql']; + } elseif (! empty($GLOBALS['sql_query'])) { + $sql_query = $GLOBALS['sql_query']; + } else { + $sql_query = ''; + } + } + + $render_sql = $cfg['ShowSQL'] == true && ! empty($sql_query) && $sql_query !== ';'; + + if (isset($GLOBALS['using_bookmark_message'])) { + $retval .= $GLOBALS['using_bookmark_message']->getDisplay(); + unset($GLOBALS['using_bookmark_message']); + } + + if ($render_sql) { + $retval .= '
    ' . "\n"; + } + + if ($message instanceof Message) { + if (isset($GLOBALS['special_message'])) { + $message->addText($GLOBALS['special_message']); + unset($GLOBALS['special_message']); + } + $retval .= $message->getDisplay(); + } else { + $retval .= '
    '; + $retval .= Sanitize::sanitize($message); + if (isset($GLOBALS['special_message'])) { + $retval .= Sanitize::sanitize($GLOBALS['special_message']); + unset($GLOBALS['special_message']); + } + $retval .= '
    '; + } + + if ($render_sql) { + $query_too_big = false; + + $queryLength = mb_strlen($sql_query); + if ($queryLength > $cfg['MaxCharactersInDisplayedSQL']) { + // when the query is large (for example an INSERT of binary + // data), the parser chokes; so avoid parsing the query + $query_too_big = true; + $query_base = mb_substr( + $sql_query, + 0, + $cfg['MaxCharactersInDisplayedSQL'] + ) . '[...]'; + } else { + $query_base = $sql_query; + } + + // Html format the query to be displayed + // If we want to show some sql code it is easiest to create it here + /* SQL-Parser-Analyzer */ + + if (! empty($GLOBALS['show_as_php'])) { + $new_line = '\\n"
    ' . "\n" . '    . "'; + $query_base = htmlspecialchars(addslashes($query_base)); + $query_base = preg_replace( + '/((\015\012)|(\015)|(\012))/', + $new_line, + $query_base + ); + $query_base = '
    ' . "\n"
    +                    . '$sql = "' . $query_base . '";' . "\n"
    +                    . '
    '; + } elseif ($query_too_big) { + $query_base = htmlspecialchars($query_base); + } else { + $query_base = self::formatSql($query_base); + } + + // Prepares links that may be displayed to edit/explain the query + // (don't go to default pages, we must go to the page + // where the query box is available) + + // Basic url query part + $url_params = array(); + if (! isset($GLOBALS['db'])) { + $GLOBALS['db'] = ''; + } + if (strlen($GLOBALS['db']) > 0) { + $url_params['db'] = $GLOBALS['db']; + if (strlen($GLOBALS['table']) > 0) { + $url_params['table'] = $GLOBALS['table']; + $edit_link = 'tbl_sql.php'; + } else { + $edit_link = 'db_sql.php'; + } + } else { + $edit_link = 'server_sql.php'; + } + + // Want to have the query explained + // but only explain a SELECT (that has not been explained) + /* SQL-Parser-Analyzer */ + $explain_link = ''; + $is_select = preg_match('@^SELECT[[:space:]]+@i', $sql_query); + if (! empty($cfg['SQLQuery']['Explain']) && ! $query_too_big) { + $explain_params = $url_params; + if ($is_select) { + $explain_params['sql_query'] = 'EXPLAIN ' . $sql_query; + $explain_link = ' [ ' + . self::linkOrButton( + 'import.php' . Url::getCommon($explain_params), + __('Explain SQL') + ) . ' ]'; + } elseif (preg_match( + '@^EXPLAIN[[:space:]]+SELECT[[:space:]]+@i', + $sql_query + )) { + $explain_params['sql_query'] + = mb_substr($sql_query, 8); + $explain_link = ' [ ' + . self::linkOrButton( + 'import.php' . Url::getCommon($explain_params), + __('Skip Explain SQL') + ) . ']'; + $url = 'https://mariadb.org/explain_analyzer/analyze/' + . '?client=phpMyAdmin&raw_explain=' + . urlencode(self::_generateRowQueryOutput($sql_query)); + $explain_link .= ' [' + . self::linkOrButton( + htmlspecialchars('url.php?url=' . urlencode($url)), + sprintf(__('Analyze Explain at %s'), 'mariadb.org'), + array(), + '_blank' + ) . ' ]'; + } + } //show explain + + $url_params['sql_query'] = $sql_query; + $url_params['show_query'] = 1; + + // even if the query is big and was truncated, offer the chance + // to edit it (unless it's enormous, see linkOrButton() ) + if (! empty($cfg['SQLQuery']['Edit']) + && empty($GLOBALS['show_as_php']) + ) { + $edit_link .= Url::getCommon($url_params) . '#querybox'; + $edit_link = ' [ ' + . self::linkOrButton($edit_link, __('Edit')) + . ' ]'; + } else { + $edit_link = ''; + } + + // Also we would like to get the SQL formed in some nice + // php-code + if (! empty($cfg['SQLQuery']['ShowAsPHP']) && ! $query_too_big) { + + if (! empty($GLOBALS['show_as_php'])) { + $php_link = ' [ ' + . self::linkOrButton( + 'import.php' . Url::getCommon($url_params), + __('Without PHP code') + ) + . ' ]'; + + $php_link .= ' [ ' + . self::linkOrButton( + 'import.php' . Url::getCommon($url_params), + __('Submit query') + ) + . ' ]'; + } else { + $php_params = $url_params; + $php_params['show_as_php'] = 1; + $php_link = ' [ ' + . self::linkOrButton( + 'import.php' . Url::getCommon($php_params), + __('Create PHP code') + ) + . ' ]'; + } + } else { + $php_link = ''; + } //show as php + + // Refresh query + if (! empty($cfg['SQLQuery']['Refresh']) + && ! isset($GLOBALS['show_as_php']) // 'Submit query' does the same + && preg_match('@^(SELECT|SHOW)[[:space:]]+@i', $sql_query) + ) { + $refresh_link = 'import.php' . Url::getCommon($url_params); + $refresh_link = ' [ ' + . self::linkOrButton($refresh_link, __('Refresh')) . ']'; + } else { + $refresh_link = ''; + } //refresh + + $retval .= '
    '; + $retval .= $query_base; + $retval .= '
    '; + + $retval .= ''; + + $retval .= '
    '; + } + + return $retval; + } // end of the 'getMessage()' function + + /** + * Execute an EXPLAIN query and formats results similar to MySQL command line + * utility. + * + * @param string $sqlQuery EXPLAIN query + * + * @return string query resuls + */ + private static function _generateRowQueryOutput($sqlQuery) + { + $ret = ''; + $result = $GLOBALS['dbi']->query($sqlQuery); + if ($result) { + $devider = '+'; + $columnNames = '|'; + $fieldsMeta = $GLOBALS['dbi']->getFieldsMeta($result); + foreach ($fieldsMeta as $meta) { + $devider .= '---+'; + $columnNames .= ' ' . $meta->name . ' |'; + } + $devider .= "\n"; + + $ret .= $devider . $columnNames . "\n" . $devider; + while ($row = $GLOBALS['dbi']->fetchRow($result)) { + $values = '|'; + foreach ($row as $value) { + if (is_null($value)) { + $value = 'NULL'; + } + $values .= ' ' . $value . ' |'; + } + $ret .= $values . "\n"; + } + $ret .= $devider; + } + return $ret; + } + + /** + * Verifies if current MySQL server supports profiling + * + * @access public + * + * @return boolean whether profiling is supported + */ + public static function profilingSupported() + { + if (!self::cacheExists('profiling_supported')) { + // 5.0.37 has profiling but for example, 5.1.20 does not + // (avoid a trip to the server for MySQL before 5.0.37) + // and do not set a constant as we might be switching servers + if ($GLOBALS['dbi']->fetchValue("SELECT @@have_profiling") + ) { + self::cacheSet('profiling_supported', true); + } else { + self::cacheSet('profiling_supported', false); + } + } + + return self::cacheGet('profiling_supported'); + } + + /** + * Formats $value to byte view + * + * @param double|int $value the value to format + * @param int $limes the sensitiveness + * @param int $comma the number of decimals to retain + * + * @return array the formatted value and its unit + * + * @access public + */ + public static function formatByteDown($value, $limes = 6, $comma = 0) + { + if ($value === null) { + return null; + } + + $byteUnits = array( + /* l10n: shortcuts for Byte */ + __('B'), + /* l10n: shortcuts for Kilobyte */ + __('KiB'), + /* l10n: shortcuts for Megabyte */ + __('MiB'), + /* l10n: shortcuts for Gigabyte */ + __('GiB'), + /* l10n: shortcuts for Terabyte */ + __('TiB'), + /* l10n: shortcuts for Petabyte */ + __('PiB'), + /* l10n: shortcuts for Exabyte */ + __('EiB') + ); + + $dh = pow(10, $comma); + $li = pow(10, $limes); + $unit = $byteUnits[0]; + + for ($d = 6, $ex = 15; $d >= 1; $d--, $ex-=3) { + $unitSize = $li * pow(10, $ex); + if (isset($byteUnits[$d]) && $value >= $unitSize) { + // use 1024.0 to avoid integer overflow on 64-bit machines + $value = round($value / (pow(1024, $d) / $dh)) /$dh; + $unit = $byteUnits[$d]; + break 1; + } // end if + } // end for + + if ($unit != $byteUnits[0]) { + // if the unit is not bytes (as represented in current language) + // reformat with max length of 5 + // 4th parameter=true means do not reformat if value < 1 + $return_value = self::formatNumber($value, 5, $comma, true); + } else { + // do not reformat, just handle the locale + $return_value = self::formatNumber($value, 0); + } + + return array(trim($return_value), $unit); + } // end of the 'formatByteDown' function + + + /** + * Formats $value to the given length and appends SI prefixes + * with a $length of 0 no truncation occurs, number is only formatted + * to the current locale + * + * examples: + * + * echo formatNumber(123456789, 6); // 123,457 k + * echo formatNumber(-123456789, 4, 2); // -123.46 M + * echo formatNumber(-0.003, 6); // -3 m + * echo formatNumber(0.003, 3, 3); // 0.003 + * echo formatNumber(0.00003, 3, 2); // 0.03 m + * echo formatNumber(0, 6); // 0 + * + * + * @param double $value the value to format + * @param integer $digits_left number of digits left of the comma + * @param integer $digits_right number of digits right of the comma + * @param boolean $only_down do not reformat numbers below 1 + * @param boolean $noTrailingZero removes trailing zeros right of the comma + * (default: true) + * + * @return string the formatted value and its unit + * + * @access public + */ + public static function formatNumber( + $value, + $digits_left = 3, + $digits_right = 0, + $only_down = false, + $noTrailingZero = true + ) { + if ($value == 0) { + return '0'; + } + + $originalValue = $value; + //number_format is not multibyte safe, str_replace is safe + if ($digits_left === 0) { + $value = number_format( + $value, + $digits_right, + /* l10n: Decimal separator */ + __('.'), + /* l10n: Thousands separator */ + __(',') + ); + if (($originalValue != 0) && (floatval($value) == 0)) { + $value = ' <' . (1 / pow(10, $digits_right)); + } + return $value; + } + + // this units needs no translation, ISO + $units = array( + -8 => 'y', + -7 => 'z', + -6 => 'a', + -5 => 'f', + -4 => 'p', + -3 => 'n', + -2 => 'µ', + -1 => 'm', + 0 => ' ', + 1 => 'k', + 2 => 'M', + 3 => 'G', + 4 => 'T', + 5 => 'P', + 6 => 'E', + 7 => 'Z', + 8 => 'Y' + ); + /* l10n: Decimal separator */ + $decimal_sep = __('.'); + /* l10n: Thousands separator */ + $thousands_sep = __(','); + + // check for negative value to retain sign + if ($value < 0) { + $sign = '-'; + $value = abs($value); + } else { + $sign = ''; + } + + $dh = pow(10, $digits_right); + + /* + * This gives us the right SI prefix already, + * but $digits_left parameter not incorporated + */ + $d = floor(log10($value) / 3); + /* + * Lowering the SI prefix by 1 gives us an additional 3 zeros + * So if we have 3,6,9,12.. free digits ($digits_left - $cur_digits) + * to use, then lower the SI prefix + */ + $cur_digits = floor(log10($value / pow(1000, $d))+1); + if ($digits_left > $cur_digits) { + $d -= floor(($digits_left - $cur_digits)/3); + } + + if ($d < 0 && $only_down) { + $d = 0; + } + + $value = round($value / (pow(1000, $d) / $dh)) /$dh; + $unit = $units[$d]; + + // number_format is not multibyte safe, str_replace is safe + $formattedValue = number_format( + $value, + $digits_right, + $decimal_sep, + $thousands_sep + ); + // If we don't want any zeros, remove them now + if ($noTrailingZero && strpos($formattedValue, $decimal_sep) !== false) { + $formattedValue = preg_replace('/' . preg_quote($decimal_sep) . '?0+$/', '', $formattedValue); + } + + if ($originalValue != 0 && floatval($value) == 0) { + return ' <' . number_format( + (1 / pow(10, $digits_right)), + $digits_right, + $decimal_sep, + $thousands_sep + ) + . ' ' . $unit; + } + + return $sign . $formattedValue . ' ' . $unit; + } // end of the 'formatNumber' function + + /** + * Returns the number of bytes when a formatted size is given + * + * @param string $formatted_size the size expression (for example 8MB) + * + * @return integer The numerical part of the expression (for example 8) + */ + public static function extractValueFromFormattedSize($formatted_size) + { + $return_value = -1; + + if (preg_match('/^[0-9]+GB$/', $formatted_size)) { + $return_value = mb_substr($formatted_size, 0, -2) + * pow(1024, 3); + } elseif (preg_match('/^[0-9]+MB$/', $formatted_size)) { + $return_value = mb_substr($formatted_size, 0, -2) + * pow(1024, 2); + } elseif (preg_match('/^[0-9]+K$/', $formatted_size)) { + $return_value = mb_substr($formatted_size, 0, -1) + * pow(1024, 1); + } + return $return_value; + }// end of the 'extractValueFromFormattedSize' function + + /** + * Writes localised date + * + * @param integer $timestamp the current timestamp + * @param string $format format + * + * @return string the formatted date + * + * @access public + */ + public static function localisedDate($timestamp = -1, $format = '') + { + $month = array( + /* l10n: Short month name */ + __('Jan'), + /* l10n: Short month name */ + __('Feb'), + /* l10n: Short month name */ + __('Mar'), + /* l10n: Short month name */ + __('Apr'), + /* l10n: Short month name */ + _pgettext('Short month name', 'May'), + /* l10n: Short month name */ + __('Jun'), + /* l10n: Short month name */ + __('Jul'), + /* l10n: Short month name */ + __('Aug'), + /* l10n: Short month name */ + __('Sep'), + /* l10n: Short month name */ + __('Oct'), + /* l10n: Short month name */ + __('Nov'), + /* l10n: Short month name */ + __('Dec')); + $day_of_week = array( + /* l10n: Short week day name */ + _pgettext('Short week day name', 'Sun'), + /* l10n: Short week day name */ + __('Mon'), + /* l10n: Short week day name */ + __('Tue'), + /* l10n: Short week day name */ + __('Wed'), + /* l10n: Short week day name */ + __('Thu'), + /* l10n: Short week day name */ + __('Fri'), + /* l10n: Short week day name */ + __('Sat')); + + if ($format == '') { + /* l10n: See https://secure.php.net/manual/en/function.strftime.php */ + $format = __('%B %d, %Y at %I:%M %p'); + } + + if ($timestamp == -1) { + $timestamp = time(); + } + + $date = preg_replace( + '@%[aA]@', + $day_of_week[(int)strftime('%w', $timestamp)], + $format + ); + $date = preg_replace( + '@%[bB]@', + $month[(int)strftime('%m', $timestamp)-1], + $date + ); + + /* Fill in AM/PM */ + $hours = (int)date('H', $timestamp); + if ($hours >= 12) { + $am_pm = _pgettext('AM/PM indication in time', 'PM'); + } else { + $am_pm = _pgettext('AM/PM indication in time', 'AM'); + } + $date = preg_replace('@%[pP]@', $am_pm, $date); + + $ret = strftime($date, $timestamp); + // Some OSes such as Win8.1 Traditional Chinese version did not produce UTF-8 + // output here. See https://github.com/phpmyadmin/phpmyadmin/issues/10598 + if (mb_detect_encoding($ret, 'UTF-8', true) != 'UTF-8') { + $ret = date('Y-m-d H:i:s', $timestamp); + } + + return $ret; + } // end of the 'localisedDate()' function + + /** + * returns a tab for tabbed navigation. + * If the variables $link and $args ar left empty, an inactive tab is created + * + * @param array $tab array with all options + * @param array $url_params tab specific URL parameters + * + * @return string html code for one tab, a link if valid otherwise a span + * + * @access public + */ + public static function getHtmlTab(array $tab, array $url_params = array()) + { + // default values + $defaults = array( + 'text' => '', + 'class' => '', + 'active' => null, + 'link' => '', + 'sep' => '?', + 'attr' => '', + 'args' => '', + 'warning' => '', + 'fragment' => '', + 'id' => '', + ); + + $tab = array_merge($defaults, $tab); + + // determine additional style-class + if (empty($tab['class'])) { + if (! empty($tab['active']) + || Core::isValid($GLOBALS['active_page'], 'identical', $tab['link']) + ) { + $tab['class'] = 'active'; + } elseif (is_null($tab['active']) && empty($GLOBALS['active_page']) + && (basename($GLOBALS['PMA_PHP_SELF']) == $tab['link']) + ) { + $tab['class'] = 'active'; + } + } + + // build the link + if (! empty($tab['link'])) { + // If there are any tab specific URL parameters, merge those with + // the general URL parameters + if (! empty($tab['args']) && is_array($tab['args'])) { + $url_params = array_merge($url_params, $tab['args']); + } + $tab['link'] = htmlentities($tab['link']) . Url::getCommon($url_params); + } + + if (! empty($tab['fragment'])) { + $tab['link'] .= $tab['fragment']; + } + + // display icon + if (isset($tab['icon'])) { + // avoid generating an alt tag, because it only illustrates + // the text that follows and if browser does not display + // images, the text is duplicated + $tab['text'] = self::getIcon( + $tab['icon'], + $tab['text'], + false, + true, + 'TabsMode' + ); + + } elseif (empty($tab['text'])) { + // check to not display an empty link-text + $tab['text'] = '?'; + trigger_error( + 'empty linktext in function ' . __FUNCTION__ . '()', + E_USER_NOTICE + ); + } + + //Set the id for the tab, if set in the params + $tabId = (empty($tab['id']) ? null : $tab['id']); + + $item = array(); + if (!empty($tab['link'])) { + $item = array( + 'content' => $tab['text'], + 'url' => array( + 'href' => empty($tab['link']) ? null : $tab['link'], + 'id' => $tabId, + 'class' => 'tab' . htmlentities($tab['class']), + ), + ); + } else { + $item['content'] = '' . $tab['text'] . ''; + } + + $item['class'] = $tab['class'] == 'active' ? 'active' : ''; + + return Template::get('list/item') + ->render($item); + } // end of the 'getHtmlTab()' function + + /** + * returns html-code for a tab navigation + * + * @param array $tabs one element per tab + * @param array $url_params additional URL parameters + * @param string $menu_id HTML id attribute for the menu container + * @param bool $resizable whether to add a "resizable" class + * + * @return string html-code for tab-navigation + */ + public static function getHtmlTabs( + array $tabs, + array $url_params, + $menu_id, + $resizable = false + ) { + $class = ''; + if ($resizable) { + $class = ' class="resizable-menu"'; + } + + $tab_navigation = '' . "\n"; + + return $tab_navigation; + } + + /** + * Displays a link, or a link with code to trigger POST request. + * + * POST is used in following cases: + * + * - URL is too long + * - URL components are over Suhosin limits + * - There is SQL query in the parameters + * + * @param string $url the URL + * @param string $message the link message + * @param mixed $tag_params string: js confirmation; array: additional tag + * params (f.e. style="") + * @param string $target target + * + * @return string the results to be echoed or saved in an array + */ + public static function linkOrButton( + $url, $message, $tag_params = array(), $target = '' + ) { + $url_length = strlen($url); + + if (! is_array($tag_params)) { + $tmp = $tag_params; + $tag_params = array(); + if (! empty($tmp)) { + $tag_params['onclick'] = 'return confirmLink(this, \'' + . Sanitize::escapeJsString($tmp) . '\')'; + } + unset($tmp); + } + if (! empty($target)) { + $tag_params['target'] = $target; + if ($target === '_blank' && strncmp($url, 'url.php?', 8) == 0) { + $tag_params['rel'] = 'noopener noreferrer'; + } + } + + // Suhosin: Check that each query parameter is not above maximum + $in_suhosin_limits = true; + if ($url_length <= $GLOBALS['cfg']['LinkLengthLimit']) { + $suhosin_get_MaxValueLength = ini_get('suhosin.get.max_value_length'); + if ($suhosin_get_MaxValueLength) { + $query_parts = self::splitURLQuery($url); + foreach ($query_parts as $query_pair) { + if (strpos($query_pair, '=') === false) { + continue; + } + + list(, $eachval) = explode('=', $query_pair); + if (strlen($eachval) > $suhosin_get_MaxValueLength + ) { + $in_suhosin_limits = false; + break; + } + } + } + } + + $tag_params_strings = array(); + if (($url_length > $GLOBALS['cfg']['LinkLengthLimit']) + || ! $in_suhosin_limits + || strpos($url, 'sql_query=') !== false + ) { + $parts = explode('?', $url, 2); + /* + * The data-post indicates that client should do POST + * this is handled in js/ajax.js + */ + $tag_params_strings[] = 'data-post="' . (isset($parts[1]) ? $parts[1] : '') . '"'; + $url = $parts[0]; + if(array_key_exists('class', $tag_params) + && strpos($tag_params['class'], 'create_view') !== false + ) { + $url .= '?' . explode('&', $parts[1], 2)[0]; + } + + } + + foreach ($tag_params as $par_name => $par_value) { + $tag_params_strings[] = $par_name . '="' . htmlspecialchars($par_value) . '"'; + } + + // no whitespace within an else Safari will make it part of the link + return '' + . $message . ''; + } // end of the 'linkOrButton()' function + + /** + * Splits a URL string by parameter + * + * @param string $url the URL + * + * @return array the parameter/value pairs, for example [0] db=sakila + */ + public static function splitURLQuery($url) + { + // decode encoded url separators + $separator = Url::getArgSeparator(); + // on most places separator is still hard coded ... + if ($separator !== '&') { + // ... so always replace & with $separator + $url = str_replace(htmlentities('&'), $separator, $url); + $url = str_replace('&', $separator, $url); + } + + $url = str_replace(htmlentities($separator), $separator, $url); + // end decode + + $url_parts = parse_url($url); + + if (! empty($url_parts['query'])) { + return explode($separator, $url_parts['query']); + } + + return array(); + } + + /** + * Returns a given timespan value in a readable format. + * + * @param int $seconds the timespan + * + * @return string the formatted value + */ + public static function timespanFormat($seconds) + { + $days = floor($seconds / 86400); + if ($days > 0) { + $seconds -= $days * 86400; + } + + $hours = floor($seconds / 3600); + if ($days > 0 || $hours > 0) { + $seconds -= $hours * 3600; + } + + $minutes = floor($seconds / 60); + if ($days > 0 || $hours > 0 || $minutes > 0) { + $seconds -= $minutes * 60; + } + + return sprintf( + __('%s days, %s hours, %s minutes and %s seconds'), + (string)$days, + (string)$hours, + (string)$minutes, + (string)$seconds + ); + } + + /** + * Function added to avoid path disclosures. + * Called by each script that needs parameters, it displays + * an error message and, by default, stops the execution. + * + * @param string[] $params The names of the parameters needed by the calling + * script + * @param boolean $request Check parameters in request + * + * @return void + * + * @access public + */ + public static function checkParameters($params, $request=false) + { + $reported_script_name = basename($GLOBALS['PMA_PHP_SELF']); + $found_error = false; + $error_message = ''; + if ($request) { + $array = $_REQUEST; + } else { + $array = $GLOBALS; + } + + foreach ($params as $param) { + if (! isset($array[$param])) { + $error_message .= $reported_script_name + . ': ' . __('Missing parameter:') . ' ' + . $param + . self::showDocu('faq', 'faqmissingparameters',true) + . '[br]'; + $found_error = true; + } + } + if ($found_error) { + Core::fatalError($error_message); + } + } // end function + + /** + * Function to generate unique condition for specified row. + * + * @param resource $handle current query result + * @param integer $fields_cnt number of fields + * @param array $fields_meta meta information about fields + * @param array $row current row + * @param boolean $force_unique generate condition only on pk + * or unique + * @param string|boolean $restrict_to_table restrict the unique condition + * to this table or false if + * none + * @param array|null $analyzed_sql_results the analyzed query + * + * @access public + * + * @return array the calculated condition and whether condition is unique + */ + public static function getUniqueCondition( + $handle, $fields_cnt, array $fields_meta, array $row, $force_unique = false, + $restrict_to_table = false, $analyzed_sql_results = null + ) { + $primary_key = ''; + $unique_key = ''; + $nonprimary_condition = ''; + $preferred_condition = ''; + $primary_key_array = array(); + $unique_key_array = array(); + $nonprimary_condition_array = array(); + $condition_array = array(); + + for ($i = 0; $i < $fields_cnt; ++$i) { + + $con_val = ''; + $field_flags = $GLOBALS['dbi']->fieldFlags($handle, $i); + $meta = $fields_meta[$i]; + + // do not use a column alias in a condition + if (! isset($meta->orgname) || strlen($meta->orgname) === 0) { + $meta->orgname = $meta->name; + + if (!empty($analyzed_sql_results['statement']->expr)) { + foreach ($analyzed_sql_results['statement']->expr as $expr) { + if ((empty($expr->alias)) || (empty($expr->column))) { + continue; + } + if (strcasecmp($meta->name, $expr->alias) == 0) { + $meta->orgname = $expr->column; + break; + } + } + } + } + + // Do not use a table alias in a condition. + // Test case is: + // select * from galerie x WHERE + //(select count(*) from galerie y where y.datum=x.datum)>1 + // + // But orgtable is present only with mysqli extension so the + // fix is only for mysqli. + // Also, do not use the original table name if we are dealing with + // a view because this view might be updatable. + // (The isView() verification should not be costly in most cases + // because there is some caching in the function). + if (isset($meta->orgtable) + && ($meta->table != $meta->orgtable) + && ! $GLOBALS['dbi']->getTable($GLOBALS['db'], $meta->table)->isView() + ) { + $meta->table = $meta->orgtable; + } + + // If this field is not from the table which the unique clause needs + // to be restricted to. + if ($restrict_to_table && $restrict_to_table != $meta->table) { + continue; + } + + // to fix the bug where float fields (primary or not) + // can't be matched because of the imprecision of + // floating comparison, use CONCAT + // (also, the syntax "CONCAT(field) IS NULL" + // that we need on the next "if" will work) + if ($meta->type == 'real') { + $con_key = 'CONCAT(' . self::backquote($meta->table) . '.' + . self::backquote($meta->orgname) . ')'; + } else { + $con_key = self::backquote($meta->table) . '.' + . self::backquote($meta->orgname); + } // end if... else... + $condition = ' ' . $con_key . ' '; + + if (! isset($row[$i]) || is_null($row[$i])) { + $con_val = 'IS NULL'; + } else { + // timestamp is numeric on some MySQL 4.1 + // for real we use CONCAT above and it should compare to string + if ($meta->numeric + && ($meta->type != 'timestamp') + && ($meta->type != 'real') + ) { + $con_val = '= ' . $row[$i]; + } elseif ((($meta->type == 'blob') || ($meta->type == 'string')) + && stristr($field_flags, 'BINARY') + && ! empty($row[$i]) + ) { + // hexify only if this is a true not empty BLOB or a BINARY + + // do not waste memory building a too big condition + if (mb_strlen($row[$i]) < 1000) { + // use a CAST if possible, to avoid problems + // if the field contains wildcard characters % or _ + $con_val = '= CAST(0x' . bin2hex($row[$i]) . ' AS BINARY)'; + } elseif ($fields_cnt == 1) { + // when this blob is the only field present + // try settling with length comparison + $condition = ' CHAR_LENGTH(' . $con_key . ') '; + $con_val = ' = ' . mb_strlen($row[$i]); + } else { + // this blob won't be part of the final condition + $con_val = null; + } + } elseif (in_array($meta->type, self::getGISDatatypes()) + && ! empty($row[$i]) + ) { + // do not build a too big condition + if (mb_strlen($row[$i]) < 5000) { + $condition .= '=0x' . bin2hex($row[$i]) . ' AND'; + } else { + $condition = ''; + } + } elseif ($meta->type == 'bit') { + $con_val = "= b'" + . self::printableBitValue($row[$i], $meta->length) . "'"; + } else { + $con_val = '= \'' + . $GLOBALS['dbi']->escapeString($row[$i]) . '\''; + } + } + + if ($con_val != null) { + + $condition .= $con_val . ' AND'; + + if ($meta->primary_key > 0) { + $primary_key .= $condition; + $primary_key_array[$con_key] = $con_val; + } elseif ($meta->unique_key > 0) { + $unique_key .= $condition; + $unique_key_array[$con_key] = $con_val; + } + + $nonprimary_condition .= $condition; + $nonprimary_condition_array[$con_key] = $con_val; + } + } // end for + + // Correction University of Virginia 19991216: + // prefer primary or unique keys for condition, + // but use conjunction of all values if no primary key + $clause_is_unique = true; + + if ($primary_key) { + $preferred_condition = $primary_key; + $condition_array = $primary_key_array; + + } elseif ($unique_key) { + $preferred_condition = $unique_key; + $condition_array = $unique_key_array; + + } elseif (! $force_unique) { + $preferred_condition = $nonprimary_condition; + $condition_array = $nonprimary_condition_array; + $clause_is_unique = false; + } + + $where_clause = trim(preg_replace('|\s?AND$|', '', $preferred_condition)); + return(array($where_clause, $clause_is_unique, $condition_array)); + } // end function + + /** + * Generate the charset query part + * + * @param string $collation Collation + * @param boolean optional $override force 'CHARACTER SET' keyword + * + * @return string + */ + static function getCharsetQueryPart($collation, $override = false) + { + list($charset) = explode('_', $collation); + $keyword = ' CHARSET='; + + if ($override) { + $keyword = ' CHARACTER SET '; + } + return $keyword . $charset + . ($charset == $collation ? '' : ' COLLATE ' . $collation); + } + + /** + * Generate a button or image tag + * + * @param string $button_name name of button element + * @param string $button_class class of button or image element + * @param string $text text to display + * @param string $image image to display + * @param string $value value + * + * @return string html content + * + * @access public + */ + public static function getButtonOrImage( + $button_name, $button_class, $text, $image, $value = '' + ) { + if ($value == '') { + $value = $text; + } + if ($GLOBALS['cfg']['ActionLinksMode'] == 'text') { + return ' ' . "\n"; + } + return '' . "\n"; + } // end function + + /** + * Generate a pagination selector for browsing resultsets + * + * @param string $name The name for the request parameter + * @param int $rows Number of rows in the pagination set + * @param int $pageNow current page number + * @param int $nbTotalPage number of total pages + * @param int $showAll If the number of pages is lower than this + * variable, no pages will be omitted in pagination + * @param int $sliceStart How many rows at the beginning should always + * be shown? + * @param int $sliceEnd How many rows at the end should always be shown? + * @param int $percent Percentage of calculation page offsets to hop to a + * next page + * @param int $range Near the current page, how many pages should + * be considered "nearby" and displayed as well? + * @param string $prompt The prompt to display (sometimes empty) + * + * @return string + * + * @access public + */ + public static function pageselector( + $name, $rows, $pageNow = 1, $nbTotalPage = 1, $showAll = 200, + $sliceStart = 5, + $sliceEnd = 5, $percent = 20, $range = 10, $prompt = '' + ) { + $increment = floor($nbTotalPage / $percent); + $pageNowMinusRange = ($pageNow - $range); + $pageNowPlusRange = ($pageNow + $range); + + $gotopage = $prompt . ' '; + + return $gotopage; + } // end function + + /** + * Prepare navigation for a list + * + * @param int $count number of elements in the list + * @param int $pos current position in the list + * @param array $_url_params url parameters + * @param string $script script name for form target + * @param string $frame target frame + * @param int $max_count maximum number of elements to display from + * the list + * @param string $name the name for the request parameter + * @param string[] $classes additional classes for the container + * + * @return string $list_navigator_html the html content + * + * @access public + * + * @todo use $pos from $_url_params + */ + public static function getListNavigator( + $count, $pos, array $_url_params, $script, $frame, $max_count, $name = 'pos', + $classes = array() + ) { + + // This is often coming from $cfg['MaxTableList'] and + // people sometimes set it to empty string + $max_count = intval($max_count); + if ($max_count <= 0) { + $max_count = 250; + } + + $class = $frame == 'frame_navigation' ? ' class="ajax"' : ''; + + $list_navigator_html = ''; + + if ($max_count < $count) { + + $classes[] = 'pageselector'; + $list_navigator_html .= '
    '; + + if ($frame != 'frame_navigation') { + $list_navigator_html .= __('Page number:'); + } + + // Move to the beginning or to the previous page + if ($pos > 0) { + $caption1 = ''; $caption2 = ''; + if (self::showIcons('TableNavigationLinksMode')) { + $caption1 .= '<< '; + $caption2 .= '< '; + } + if (self::showText('TableNavigationLinksMode')) { + $caption1 .= _pgettext('First page', 'Begin'); + $caption2 .= _pgettext('Previous page', 'Previous'); + } + $title1 = ' title="' . _pgettext('First page', 'Begin') . '"'; + $title2 = ' title="' . _pgettext('Previous page', 'Previous') . '"'; + + $_url_params[$name] = 0; + $list_navigator_html .= '' . $caption1 + . ''; + + $_url_params[$name] = $pos - $max_count; + $list_navigator_html .= ' ' + . $caption2 . ''; + } + + $list_navigator_html .= '
    '; + + $list_navigator_html .= Url::getHiddenInputs($_url_params); + $list_navigator_html .= self::pageselector( + $name, + $max_count, + floor(($pos + 1) / $max_count) + 1, + ceil($count / $max_count) + ); + $list_navigator_html .= '
    '; + + if ($pos + $max_count < $count) { + $caption3 = ''; $caption4 = ''; + if (self::showText('TableNavigationLinksMode')) { + $caption3 .= _pgettext('Next page', 'Next'); + $caption4 .= _pgettext('Last page', 'End'); + } + if (self::showIcons('TableNavigationLinksMode')) { + $caption3 .= ' >'; + $caption4 .= ' >>'; + if (! self::showText('TableNavigationLinksMode')) { + + } + } + $title3 = ' title="' . _pgettext('Next page', 'Next') . '"'; + $title4 = ' title="' . _pgettext('Last page', 'End') . '"'; + + $_url_params[$name] = $pos + $max_count; + $list_navigator_html .= '' . $caption3 + . ''; + + $_url_params[$name] = floor($count / $max_count) * $max_count; + if ($_url_params[$name] == $count) { + $_url_params[$name] = $count - $max_count; + } + + $list_navigator_html .= ' ' + . $caption4 . ''; + } + $list_navigator_html .= '
    ' . "\n"; + } + + return $list_navigator_html; + } + + /** + * replaces %u in given path with current user name + * + * example: + * + * $user_dir = userDir('/var/pma_tmp/%u/'); // '/var/pma_tmp/root/' + * + * + * + * @param string $dir with wildcard for user + * + * @return string per user directory + */ + public static function userDir($dir) + { + // add trailing slash + if (mb_substr($dir, -1) != '/') { + $dir .= '/'; + } + + return str_replace('%u', Core::securePath($GLOBALS['cfg']['Server']['user']), $dir); + } + + /** + * returns html code for db link to default db page + * + * @param string $database database + * + * @return string html link to default db page + */ + public static function getDbLink($database = null) + { + if (strlen($database) === 0) { + if (strlen($GLOBALS['db']) === 0) { + return ''; + } + $database = $GLOBALS['db']; + } else { + $database = self::unescapeMysqlWildcards($database); + } + + return '' . htmlspecialchars($database) . ''; + } + + /** + * Prepare a lightbulb hint explaining a known external bug + * that affects a functionality + * + * @param string $functionality localized message explaining the func. + * @param string $component 'mysql' (eventually, 'php') + * @param string $minimum_version of this component + * @param string $bugref bug reference for this component + * + * @return String + */ + public static function getExternalBug( + $functionality, $component, $minimum_version, $bugref + ) { + $ext_but_html = ''; + if (($component == 'mysql') && ($GLOBALS['dbi']->getVersion() < $minimum_version)) { + $ext_but_html .= self::showHint( + sprintf( + __('The %s functionality is affected by a known bug, see %s'), + $functionality, + Core::linkURL('https://bugs.mysql.com/') . $bugref + ) + ); + } + return $ext_but_html; + } + + /** + * Generates a set of radio HTML fields + * + * @param string $html_field_name the radio HTML field + * @param array $choices the choices values and labels + * @param string $checked_choice the choice to check by default + * @param boolean $line_break whether to add HTML line break after a choice + * @param boolean $escape_label whether to use htmlspecialchars() on label + * @param string $class enclose each choice with a div of this class + * @param string $id_prefix prefix for the id attribute, name will be + * used if this is not supplied + * + * @return string set of html radio fiels + */ + public static function getRadioFields( + $html_field_name, array $choices, $checked_choice = '', + $line_break = true, $escape_label = true, $class = '', + $id_prefix = '' + ) { + $radio_html = ''; + + foreach ($choices as $choice_value => $choice_label) { + + if (! $id_prefix) { + $id_prefix = $html_field_name; + } + $html_field_id = $id_prefix . '_' . $choice_value; + + if ($choice_value == $checked_choice){ + $checked = 1; + } + else{ + $checked = 0; + } + $radio_html .= Template::get('radio_fields')->render([ + 'class' => $class, + 'html_field_name' => $html_field_name, + 'html_field_id' => $html_field_id, + 'choice_value' => $choice_value, + 'is_line_break' => $line_break, + 'choice_label' => $choice_label, + 'escape_label' => $escape_label, + 'checked' => $checked + ]); + } + + return $radio_html; + + } + + /** + * Generates and returns an HTML dropdown + * + * @param string $select_name name for the select element + * @param array $choices choices values + * @param string $active_choice the choice to select by default + * @param string $id id of the select element; can be different in + * case the dropdown is present more than once + * on the page + * @param string $class class for the select element + * @param string $placeholder Placeholder for dropdown if nothing else + * is selected + * + * @return string html content + * + * @todo support titles + */ + public static function getDropdown( + $select_name, array $choices, $active_choice, $id, $class = '', $placeholder = null + ) { + $resultOptions = []; + $selected = false; + + foreach ($choices as $one_choice_value => $one_choice_label) { + $resultOptions[$one_choice_value]['value'] = $one_choice_value; + $resultOptions[$one_choice_value]['selected'] = false; + + if ($one_choice_value == $active_choice) { + $resultOptions[$one_choice_value]['selected'] = true; + $selected = true; + } + $resultOptions[$one_choice_value]['label'] = $one_choice_label; + } + return Template::get('dropdown')->render([ + 'select_name' => $select_name, + 'id' => $id, + 'class' => $class, + 'placeholder' => $placeholder, + 'selected' => $selected, + 'result_options' => $resultOptions, + ]); + } + + /** + * Generates a slider effect (jQjuery) + * Takes care of generating the initial
    and the link + * controlling the slider; you have to generate the
    yourself + * after the sliding section. + * + * @param string $id the id of the
    on which to apply the effect + * @param string $message the message to show as a link + * @param string|null $overrideDefault override InitialSlidersState config + * + * @return string html div element + * + */ + public static function getDivForSliderEffect($id = '', $message = '', $overrideDefault = null) + { + return Template::get('div_for_slider_effect')->render([ + 'id' => $id, + 'initial_sliders_state' => ($overrideDefault != null) ? $overrideDefault : $GLOBALS['cfg']['InitialSlidersState'], + 'message' => $message, + ]); + } + + /** + * Creates an AJAX sliding toggle button + * (or and equivalent form when AJAX is disabled) + * + * @param string $action The URL for the request to be executed + * @param string $select_name The name for the dropdown box + * @param array $options An array of options (see PhpMyAdmin\Rte\Footer) + * @param string $callback A JS snippet to execute when the request is + * successfully processed + * + * @return string HTML code for the toggle button + */ + public static function toggleButton($action, $select_name, array $options, $callback) + { + // Do the logic first + $link = "$action&" . urlencode($select_name) . "="; + $link_on = $link . urlencode($options[1]['value']); + $link_off = $link . urlencode($options[0]['value']); + + if ($options[1]['selected'] == true) { + $state = 'on'; + } elseif ($options[0]['selected'] == true) { + $state = 'off'; + } else { + $state = 'on'; + } + + return Template::get('toggle_button')->render( + [ + 'pma_theme_image' => $GLOBALS['pmaThemeImage'], + 'text_dir' => $GLOBALS['text_dir'], + 'link_on' => $link_on, + 'link_off' => $link_off, + 'toggle_on' => $options[1]['label'], + 'toggle_off' => $options[0]['label'], + 'callback' => $callback, + 'state' => $state + ]); + } // end toggleButton() + + /** + * Clears cache content which needs to be refreshed on user change. + * + * @return void + */ + public static function clearUserCache() + { + self::cacheUnset('is_superuser'); + self::cacheUnset('is_createuser'); + self::cacheUnset('is_grantuser'); + } + + /** + * Calculates session cache key + * + * @return string + */ + public static function cacheKey() + { + if (isset($GLOBALS['cfg']['Server']['user'])) { + return 'server_' . $GLOBALS['server'] . '_' . $GLOBALS['cfg']['Server']['user']; + } + + return 'server_' . $GLOBALS['server']; + } + + /** + * Verifies if something is cached in the session + * + * @param string $var variable name + * + * @return boolean + */ + public static function cacheExists($var) + { + return isset($_SESSION['cache'][self::cacheKey()][$var]); + } + + /** + * Gets cached information from the session + * + * @param string $var variable name + * @param \Closure $callback callback to fetch the value + * + * @return mixed + */ + public static function cacheGet($var, $callback = null) + { + if (self::cacheExists($var)) { + return $_SESSION['cache'][self::cacheKey()][$var]; + } + + if ($callback) { + $val = $callback(); + self::cacheSet($var, $val); + return $val; + } + return null; + } + + /** + * Caches information in the session + * + * @param string $var variable name + * @param mixed $val value + * + * @return mixed + */ + public static function cacheSet($var, $val = null) + { + $_SESSION['cache'][self::cacheKey()][$var] = $val; + } + + /** + * Removes cached information from the session + * + * @param string $var variable name + * + * @return void + */ + public static function cacheUnset($var) + { + unset($_SESSION['cache'][self::cacheKey()][$var]); + } + + /** + * Converts a bit value to printable format; + * in MySQL a BIT field can be from 1 to 64 bits so we need this + * function because in PHP, decbin() supports only 32 bits + * on 32-bit servers + * + * @param integer $value coming from a BIT field + * @param integer $length length + * + * @return string the printable value + */ + public static function printableBitValue($value, $length) + { + // if running on a 64-bit server or the length is safe for decbin() + if (PHP_INT_SIZE == 8 || $length < 33) { + $printable = decbin($value); + } else { + // FIXME: does not work for the leftmost bit of a 64-bit value + $i = 0; + $printable = ''; + while ($value >= pow(2, $i)) { + ++$i; + } + if ($i != 0) { + --$i; + } + + while ($i >= 0) { + if ($value - pow(2, $i) < 0) { + $printable = '0' . $printable; + } else { + $printable = '1' . $printable; + $value = $value - pow(2, $i); + } + --$i; + } + $printable = strrev($printable); + } + $printable = str_pad($printable, $length, '0', STR_PAD_LEFT); + return $printable; + } + + /** + * Verifies whether the value contains a non-printable character + * + * @param string $value value + * + * @return integer + */ + public static function containsNonPrintableAscii($value) + { + return preg_match('@[^[:print:]]@', $value); + } + + /** + * Converts a BIT type default value + * for example, b'010' becomes 010 + * + * @param string $bit_default_value value + * + * @return string the converted value + */ + public static function convertBitDefaultValue($bit_default_value) + { + return rtrim(ltrim($bit_default_value, "b'"), "'"); + } + + /** + * Extracts the various parts from a column spec + * + * @param string $columnspec Column specification + * + * @return array associative array containing type, spec_in_brackets + * and possibly enum_set_values (another array) + */ + public static function extractColumnSpec($columnspec) + { + $first_bracket_pos = mb_strpos($columnspec, '('); + if ($first_bracket_pos) { + $spec_in_brackets = chop( + mb_substr( + $columnspec, + $first_bracket_pos + 1, + mb_strrpos($columnspec, ')') - $first_bracket_pos - 1 + ) + ); + // convert to lowercase just to be sure + $type = mb_strtolower( + chop(mb_substr($columnspec, 0, $first_bracket_pos)) + ); + } else { + // Split trailing attributes such as unsigned, + // binary, zerofill and get data type name + $type_parts = explode(' ', $columnspec); + $type = mb_strtolower($type_parts[0]); + $spec_in_brackets = ''; + } + + if ('enum' == $type || 'set' == $type) { + // Define our working vars + $enum_set_values = self::parseEnumSetValues($columnspec, false); + $printtype = $type + . '(' . str_replace("','", "', '", $spec_in_brackets) . ')'; + $binary = false; + $unsigned = false; + $zerofill = false; + } else { + $enum_set_values = array(); + + /* Create printable type name */ + $printtype = mb_strtolower($columnspec); + + // Strip the "BINARY" attribute, except if we find "BINARY(" because + // this would be a BINARY or VARBINARY column type; + // by the way, a BLOB should not show the BINARY attribute + // because this is not accepted in MySQL syntax. + if (preg_match('@binary@', $printtype) + && ! preg_match('@binary[\(]@', $printtype) + ) { + $printtype = preg_replace('@binary@', '', $printtype); + $binary = true; + } else { + $binary = false; + } + + $printtype = preg_replace( + '@zerofill@', '', $printtype, -1, $zerofill_cnt + ); + $zerofill = ($zerofill_cnt > 0); + $printtype = preg_replace( + '@unsigned@', '', $printtype, -1, $unsigned_cnt + ); + $unsigned = ($unsigned_cnt > 0); + $printtype = trim($printtype); + } + + $attribute = ' '; + if ($binary) { + $attribute = 'BINARY'; + } + if ($unsigned) { + $attribute = 'UNSIGNED'; + } + if ($zerofill) { + $attribute = 'UNSIGNED ZEROFILL'; + } + + $can_contain_collation = false; + if (! $binary + && preg_match( + "@^(char|varchar|text|tinytext|mediumtext|longtext|set|enum)@", $type + ) + ) { + $can_contain_collation = true; + } + + // for the case ENUM('–','“') + $displayed_type = htmlspecialchars($printtype); + if (mb_strlen($printtype) > $GLOBALS['cfg']['LimitChars']) { + $displayed_type = ''; + $displayed_type .= htmlspecialchars( + mb_substr( + $printtype, 0, $GLOBALS['cfg']['LimitChars'] + ) . '...' + ); + $displayed_type .= ''; + } + + return array( + 'type' => $type, + 'spec_in_brackets' => $spec_in_brackets, + 'enum_set_values' => $enum_set_values, + 'print_type' => $printtype, + 'binary' => $binary, + 'unsigned' => $unsigned, + 'zerofill' => $zerofill, + 'attribute' => $attribute, + 'can_contain_collation' => $can_contain_collation, + 'displayed_type' => $displayed_type + ); + } + + /** + * Verifies if this table's engine supports foreign keys + * + * @param string $engine engine + * + * @return boolean + */ + public static function isForeignKeySupported($engine) + { + $engine = strtoupper($engine); + if (($engine == 'INNODB') || ($engine == 'PBXT')) { + return true; + } elseif ($engine == 'NDBCLUSTER' || $engine == 'NDB') { + $ndbver = strtolower( + $GLOBALS['dbi']->fetchValue("SELECT @@ndb_version_string") + ); + if (substr($ndbver, 0, 4) == 'ndb-') { + $ndbver = substr($ndbver, 4); + } + return version_compare($ndbver, 7.3, '>='); + } + + return false; + } + + /** + * Is Foreign key check enabled? + * + * @return bool + */ + public static function isForeignKeyCheck() + { + if ($GLOBALS['cfg']['DefaultForeignKeyChecks'] === 'enable') { + return true; + } elseif ($GLOBALS['cfg']['DefaultForeignKeyChecks'] === 'disable') { + return false; + } + return ($GLOBALS['dbi']->getVariable('FOREIGN_KEY_CHECKS') == 'ON'); + } + + /** + * Get HTML for Foreign key check checkbox + * + * @return string HTML for checkbox + */ + public static function getFKCheckbox() + { + return Template::get('fk_checkbox')->render([ + 'checked' => self::isForeignKeyCheck(), + ]); + } + + /** + * Handle foreign key check request + * + * @return bool Default foreign key checks value + */ + public static function handleDisableFKCheckInit() + { + $default_fk_check_value + = $GLOBALS['dbi']->getVariable('FOREIGN_KEY_CHECKS') == 'ON'; + if (isset($_REQUEST['fk_checks'])) { + if (empty($_REQUEST['fk_checks'])) { + // Disable foreign key checks + $GLOBALS['dbi']->setVariable('FOREIGN_KEY_CHECKS', 'OFF'); + } else { + // Enable foreign key checks + $GLOBALS['dbi']->setVariable('FOREIGN_KEY_CHECKS', 'ON'); + } + } // else do nothing, go with default + return $default_fk_check_value; + } + + /** + * Cleanup changes done for foreign key check + * + * @param bool $default_fk_check_value original value for 'FOREIGN_KEY_CHECKS' + * + * @return void + */ + public static function handleDisableFKCheckCleanup($default_fk_check_value) + { + $GLOBALS['dbi']->setVariable( + 'FOREIGN_KEY_CHECKS', $default_fk_check_value ? 'ON' : 'OFF' + ); + } + + /** + * Converts GIS data to Well Known Text format + * + * @param string $data GIS data + * @param bool $includeSRID Add SRID to the WKT + * + * @return string GIS data in Well Know Text format + */ + public static function asWKT($data, $includeSRID = false) + { + // Convert to WKT format + $hex = bin2hex($data); + $wktsql = "SELECT ASTEXT(x'" . $hex . "')"; + if ($includeSRID) { + $wktsql .= ", SRID(x'" . $hex . "')"; + } + + $wktresult = $GLOBALS['dbi']->tryQuery( + $wktsql, null, DatabaseInterface::QUERY_STORE + ); + $wktarr = $GLOBALS['dbi']->fetchRow($wktresult, 0); + $wktval = $wktarr[0]; + + if ($includeSRID) { + $srid = $wktarr[1]; + $wktval = "'" . $wktval . "'," . $srid; + } + @$GLOBALS['dbi']->freeResult($wktresult); + + return $wktval; + } + + /** + * If the string starts with a \r\n pair (0x0d0a) add an extra \n + * + * @param string $string string + * + * @return string with the chars replaced + */ + public static function duplicateFirstNewline($string) + { + $first_occurence = mb_strpos($string, "\r\n"); + if ($first_occurence === 0) { + $string = "\n" . $string; + } + return $string; + } + + /** + * Get the action word corresponding to a script name + * in order to display it as a title in navigation panel + * + * @param string $target a valid value for $cfg['NavigationTreeDefaultTabTable'], + * $cfg['NavigationTreeDefaultTabTable2'], + * $cfg['DefaultTabTable'] or $cfg['DefaultTabDatabase'] + * + * @return string Title for the $cfg value + */ + public static function getTitleForTarget($target) + { + $mapping = array( + 'structure' => __('Structure'), + 'sql' => __('SQL'), + 'search' =>__('Search'), + 'insert' =>__('Insert'), + 'browse' => __('Browse'), + 'operations' => __('Operations'), + + // For backward compatiblity + + // Values for $cfg['DefaultTabTable'] + 'tbl_structure.php' => __('Structure'), + 'tbl_sql.php' => __('SQL'), + 'tbl_select.php' =>__('Search'), + 'tbl_change.php' =>__('Insert'), + 'sql.php' => __('Browse'), + // Values for $cfg['DefaultTabDatabase'] + 'db_structure.php' => __('Structure'), + 'db_sql.php' => __('SQL'), + 'db_search.php' => __('Search'), + 'db_operations.php' => __('Operations'), + ); + return isset($mapping[$target]) ? $mapping[$target] : false; + } + + /** + * Get the script name corresponding to a plain English config word + * in order to append in links on navigation and main panel + * + * @param string $target a valid value for + * $cfg['NavigationTreeDefaultTabTable'], + * $cfg['NavigationTreeDefaultTabTable2'], + * $cfg['DefaultTabTable'], $cfg['DefaultTabDatabase'] or + * $cfg['DefaultTabServer'] + * @param string $location one out of 'server', 'table', 'database' + * + * @return string script name corresponding to the config word + */ + public static function getScriptNameForOption($target, $location) + { + if ($location == 'server') { + // Values for $cfg['DefaultTabServer'] + switch ($target) { + case 'welcome': + return 'index.php'; + case 'databases': + return 'server_databases.php'; + case 'status': + return 'server_status.php'; + case 'variables': + return 'server_variables.php'; + case 'privileges': + return 'server_privileges.php'; + } + } elseif ($location == 'database') { + // Values for $cfg['DefaultTabDatabase'] + switch ($target) { + case 'structure': + return 'db_structure.php'; + case 'sql': + return 'db_sql.php'; + case 'search': + return 'db_search.php'; + case 'operations': + return 'db_operations.php'; + } + } elseif ($location == 'table') { + // Values for $cfg['DefaultTabTable'], + // $cfg['NavigationTreeDefaultTabTable'] and + // $cfg['NavigationTreeDefaultTabTable2'] + switch ($target) { + case 'structure': + return 'tbl_structure.php'; + case 'sql': + return 'tbl_sql.php'; + case 'search': + return 'tbl_select.php'; + case 'insert': + return 'tbl_change.php'; + case 'browse': + return 'sql.php'; + } + } + + return $target; + } + + /** + * Formats user string, expanding @VARIABLES@, accepting strftime format + * string. + * + * @param string $string Text where to do expansion. + * @param array|string $escape Function to call for escaping variable values. + * Can also be an array of: + * - the escape method name + * - the class that contains the method + * - location of the class (for inclusion) + * @param array $updates Array with overrides for default parameters + * (obtained from GLOBALS). + * + * @return string + */ + public static function expandUserString( + $string, $escape = null, array $updates = array() + ) { + /* Content */ + $vars = array(); + $vars['http_host'] = Core::getenv('HTTP_HOST'); + $vars['server_name'] = $GLOBALS['cfg']['Server']['host']; + $vars['server_verbose'] = $GLOBALS['cfg']['Server']['verbose']; + + if (empty($GLOBALS['cfg']['Server']['verbose'])) { + $vars['server_verbose_or_name'] = $GLOBALS['cfg']['Server']['host']; + } else { + $vars['server_verbose_or_name'] = $GLOBALS['cfg']['Server']['verbose']; + } + + $vars['database'] = $GLOBALS['db']; + $vars['table'] = $GLOBALS['table']; + $vars['phpmyadmin_version'] = 'phpMyAdmin ' . PMA_VERSION; + + /* Update forced variables */ + foreach ($updates as $key => $val) { + $vars[$key] = $val; + } + + /* Replacement mapping */ + /* + * The __VAR__ ones are for backward compatibility, because user + * might still have it in cookies. + */ + $replace = array( + '@HTTP_HOST@' => $vars['http_host'], + '@SERVER@' => $vars['server_name'], + '__SERVER__' => $vars['server_name'], + '@VERBOSE@' => $vars['server_verbose'], + '@VSERVER@' => $vars['server_verbose_or_name'], + '@DATABASE@' => $vars['database'], + '__DB__' => $vars['database'], + '@TABLE@' => $vars['table'], + '__TABLE__' => $vars['table'], + '@PHPMYADMIN@' => $vars['phpmyadmin_version'], + ); + + /* Optional escaping */ + if (! is_null($escape)) { + if (is_array($escape)) { + $escape_class = new $escape[1]; + $escape_method = $escape[0]; + } + foreach ($replace as $key => $val) { + if (is_array($escape)) { + $replace[$key] = $escape_class->$escape_method($val); + } else { + $replace[$key] = ($escape == 'backquote') + ? self::$escape($val) + : $escape($val); + } + } + } + + /* Backward compatibility in 3.5.x */ + if (mb_strpos($string, '@FIELDS@') !== false) { + $string = strtr($string, array('@FIELDS@' => '@COLUMNS@')); + } + + /* Fetch columns list if required */ + if (mb_strpos($string, '@COLUMNS@') !== false) { + $columns_list = $GLOBALS['dbi']->getColumns( + $GLOBALS['db'], $GLOBALS['table'] + ); + + // sometimes the table no longer exists at this point + if (! is_null($columns_list)) { + $column_names = array(); + foreach ($columns_list as $column) { + if (! is_null($escape)) { + $column_names[] = self::$escape($column['Field']); + } else { + $column_names[] = $column['Field']; + } + } + $replace['@COLUMNS@'] = implode(',', $column_names); + } else { + $replace['@COLUMNS@'] = '*'; + } + } + + /* Do the replacement */ + return strtr(strftime($string), $replace); + } + + /** + * Prepare the form used to browse anywhere on the local server for a file to + * import + * + * @param string $max_upload_size maximum upload size + * + * @return String + */ + public static function getBrowseUploadFileBlock($max_upload_size) + { + $block_html = ''; + + if ($GLOBALS['is_upload'] && ! empty($GLOBALS['cfg']['UploadDir'])) { + $block_html .= '
    '; echo '
    '; - echo URL::getHiddenInputs() , "\n"; + echo Url::getHiddenInputs() , "\n"; echo ''; echo ''; @@ -152,7 +147,7 @@ if (isset($_POST['submit_export']) exit; } - // check for ThemeDefault and fontsize + // check for ThemeDefault $params = array(); $tmanager = ThemeManager::getInstance(); if (isset($config['ThemeDefault']) @@ -162,27 +157,17 @@ if (isset($_POST['submit_export']) $tmanager->setActiveTheme($config['ThemeDefault']); $tmanager->setThemeCookie(); } - if (isset($config['fontsize']) - && $config['fontsize'] != $GLOBALS['PMA_Config']->get('fontsize') - ) { - $params['set_fontsize'] = $config['fontsize']; - } if (isset($config['lang']) && $config['lang'] != $GLOBALS['lang'] ) { $params['lang'] = $config['lang']; } - if (isset($config['collation_connection']) - && $config['collation_connection'] != $GLOBALS['collation_connection'] - ) { - $params['collation_connection'] = $config['collation_connection']; - } // save settings - $result = PMA_saveUserprefs($cf->getConfigArray()); + $result = $userPreferences->save($cf->getConfigArray()); if ($result === true) { if ($return_url) { - $query = PMA\libraries\Util::splitURLQuery($return_url); + $query = PhpMyAdmin\Util::splitURLQuery($return_url); $return_url = parse_url($return_url, PHP_URL_PATH); foreach ($query as $q) { @@ -198,22 +183,19 @@ if (isset($_POST['submit_export']) } // reload config $GLOBALS['PMA_Config']->loadUserPreferences(); - PMA_userprefsRedirect($return_url, $params); + $userPreferences->redirect($return_url, $params); exit; } else { $error = $result; } } -} else if (isset($_POST['submit_clear'])) { - $result = PMA_saveUserprefs(array()); +} elseif (isset($_POST['submit_clear'])) { + $result = $userPreferences->save(array()); if ($result === true) { $params = array(); - if ($GLOBALS['PMA_Config']->get('fontsize') != '82%') { - $GLOBALS['PMA_Config']->removeCookie('pma_fontsize'); - } $GLOBALS['PMA_Config']->removeCookie('pma_collaction_connection'); $GLOBALS['PMA_Config']->removeCookie('pma_lang'); - PMA_userprefsRedirect('prefs_manage.php', $params); + $userPreferences->redirect('prefs_manage.php', $params); exit; } else { $error = $result; @@ -247,7 +229,7 @@ echo '

    ' , __('Import') , '

    ' , '' , Util::generateHiddenMaxFileSize($GLOBALS['max_upload_size']) - , URL::getHiddenInputs() + , Url::getHiddenInputs() , '' , '' @@ -285,7 +267,7 @@ echo '' , __('Go') . '" />' , '
    ' , ''; -if (file_exists('setup/index.php') && ! file_exists(CONFIG_FILE)) { +if (@file_exists('setup/index.php') && ! @file_exists(CONFIG_FILE)) { // show only if setup script is available, allows to disable this message // by simply removing setup directory // Also do not show in config exists (and setup would refuse to work) @@ -299,7 +281,7 @@ if (file_exists('setup/index.php') && ! file_exists(CONFIG_FILE)) { 'You can set more settings by modifying config.inc.php, eg. ' . 'by using %sSetup script%s.' ), '', '' - ) , PMA\libraries\Util::showDocu('setup', 'setup-script'); + ) , PhpMyAdmin\Util::showDocu('setup', 'setup-script'); ?> @@ -310,7 +292,7 @@ if (file_exists('setup/index.php') && ! file_exists(CONFIG_FILE)) {

    -