diff options
author | Christian Foellmann <foellmann@foe-services.de> | 2015-06-09 16:45:11 +0300 |
---|---|---|
committer | Christian Foellmann <foellmann@foe-services.de> | 2015-06-09 16:45:11 +0300 |
commit | 76822f57232a2aaa34d059ecefc3f4276c0b5677 (patch) | |
tree | 2cac311aa9d690a9989ed616c395443930ec649d | |
parent | f2ea0d2fc34241ffa0088129faaba08c4b4aceab (diff) |
UPDATE 4.4.9.04.4.9.0
63 files changed, 881 insertions, 714 deletions
@@ -1,6 +1,51 @@ phpMyAdmin - ChangeLog ====================== +4.4.9.0 (2015-06-04) +- bug #4920 relation view doesn't list fields of table in other database +- bug #4905 Sorting by an alias +- bug #4931 False error before entering reCAPTCHA +- bug #4909 central column with multiple server +- bug #4937 Custom export with backquotes off is not working +- bug #4908 Reverse proxy: infinite internal redirect (added warning in doc) +- bug #4942 Export to gzip saves plain text under Chrome + +4.4.8.0 (2015-05-28) +- bug Allow accessing visual query builder when pmadb is not configured +- bug #4893 Nav tree line alignment issue +- bug #4911 Lock page icon is not shown after fresh reload +- bug #4912 "Highlight pointer" and "Row marker" doesn't work properly +- bug Browse foreigners window goes out of the window +- bug #4918 Date field popup dialog position bug +- bug In /setup, PMA_messages is not defined +- bug #4924 Recaptcha failure +- bug #4930 Database copy doesn't work for tables with more than one FULLTEXT index +- bug #4929 Edit view structure doesn't load the algorithm +- bug #4923 Do not limit table comments to 60 characters + +4.4.7.0 (2015-05-16) +- bug #4876 Settings issues (Favorite tables shown twice in Settings) +- bug #4896 Non-styled error page when following results link +- bug #4894 Deleting without confirmation +- bug #4858 Issues with SQL autocomplete +- bug #4897 Column hint in SQL autocomplete is sometimes not shown +- bug #4898 JS error after selecting a field and press Enter +- bug Honor proxy settings when getting Git commit information +- bug Missing title on link +- bug #4512 ForceSSL Redirect Check +- bug Undefined index collation_connection +- bug Error when the reporting server is down +- bug Escape database and table names for partition maintenance +- bug Invalid value for CURLOPT_SSL_VERIFYPEER +- bug #4367 Import status infinite loop +- bug #4902 Designer: Loading does not work +- bug #4904 Setup: Overview > Display does not work +- bug #4906 Designer: pages from all databases + +4.4.6.1 (2015-05-13) +- bug #4899 [security] CSRF vulnerability in setup +- bug #4900 [security] Vulnerability allowing man-in-the-middle attack + 4.4.6.0 (2015-05-07) - bug #4890 webkitStorageInfo and webkitIndexedDB is deprecated - bug #4892 Undefined variable: unique_conditions @@ -1,7 +1,7 @@ phpMyAdmin - Readme =================== -Version 4.4.6 +Version 4.4.9 A set of PHP-scripts to manage MySQL over the web. diff --git a/db_qbe.php b/db_qbe.php index 55df65dff9..f499efd348 100644 --- a/db_qbe.php +++ b/db_qbe.php @@ -108,26 +108,24 @@ unset($message_to_display); // create new qbe search instance $db_qbe = new PMA_DBQbe($GLOBALS['db'], $savedSearchList, $savedSearch); +$url = 'db_designer.php' . PMA_URL_getCommon( + array_merge( + $url_params, + array('query' => 1) + ) +); +$response->addHTML( + PMA_Message::notice( + sprintf( + __('Switch to %svisual builder%s'), + '<a href="' . $url . '">', + '</a>' + ) + ) +); + /** * Displays the Query by example form */ -if ($cfgRelation['pdfwork']) { - $url = 'db_designer.php' . PMA_URL_getCommon( - array_merge( - $url_params, - array('query' => 1) - ) - ); - $response->addHTML( - PMA_Message::notice( - sprintf( - __('Switch to %svisual builder%s'), - '<a href="' . $url . '">', - '</a>' - ) - ) - ); -} - $response->addHTML($db_qbe->getSelectionForm()); ?> diff --git a/import_status.php b/import_status.php index a6c49f4b79..87c6132bef 100644 --- a/import_status.php +++ b/import_status.php @@ -51,6 +51,7 @@ if (version_compare(PHP_VERSION, '5.4.0', '>=') define('PMA_MINIMUM_COMMON', 1); require_once 'libraries/common.inc.php'; +require_once 'libraries/Util.class.php'; require_once 'libraries/display_import_ajax.lib.php'; /* @@ -86,9 +87,23 @@ if (isset($_GET["message"]) && $_GET["message"]) { // which is set inside import.php usleep(300000); + $maximumTime = ini_get('max_execution_time'); + $timestamp = time(); // wait until message is available while ($_SESSION['Import_message']['message'] == null) { + // close session before sleeping + session_write_close(); + // sleep usleep(250000); // 0.25 sec + // reopen session + session_start(); + + if ((time() - $timestamp) > $maximumTime) { + $_SESSION['Import_message']['message'] = PMA_Message::error( + __('Could not load the progress of the import.') + )->getDisplay(); + break; + } } echo $_SESSION['Import_message']['message']; diff --git a/js/ajax.js b/js/ajax.js index 5cc9de7e55..9882439f5d 100644 --- a/js/ajax.js +++ b/js/ajax.js @@ -433,16 +433,6 @@ var AJAX = { } AJAX._callback = function () {}; }); - // initializes all lock-page elements lock-id and - // val-hash data property - $('#page_content form.lock-page textarea, ' + - '#page_content form.lock-page input[type="text"]').each(function(i){ - $(this).data('lock-id', i); - // val-hash is the hash of default value of the field - // so that it can be compared with new value hash - // to check whether field was modified or not. - $(this).data('val-hash', AJAX.hash($(this).val())); - }); } else { PMA_ajaxShowMessage(data.error, false); AJAX.active = false; diff --git a/js/db_central_columns.js b/js/db_central_columns.js index 18b1153a81..feebd76953 100644 --- a/js/db_central_columns.js +++ b/js/db_central_columns.js @@ -159,6 +159,7 @@ AJAX.registerOnload('db_central_columns.js', function () { var params = { 'ajax_request' : true, 'token' : PMA_commonParams.get('token'), + 'server' : PMA_commonParams.get('server'), 'db' : PMA_commonParams.get('db'), 'selectedTable' : selectvalue, 'populateColumns' : true diff --git a/js/db_tracking.js b/js/db_tracking.js index 7bae373773..5b40084bce 100644 --- a/js/db_tracking.js +++ b/js/db_tracking.js @@ -46,10 +46,12 @@ AJAX.registerOnload('db_tracking.js', function () { var question = PMA_messages.strDeleteTrackingDataMultiple; $button.PMA_confirm(question, $form.attr('action'), function (url) { PMA_ajaxShowMessage(PMA_messages.strDeletingTrackingData); + AJAX.source = $form; $.post(url, submitData, AJAX.responseHandler); }); } else { PMA_ajaxShowMessage(); + AJAX.source = $form; $.post($form.attr('action'), submitData, AJAX.responseHandler); } }); @@ -63,6 +65,7 @@ AJAX.registerOnload('db_tracking.js', function () { var $form = $button.parent('form'); var submitData = $form.serialize() + '&ajax_request=true&ajax_page_request=true&submit_mult=' + $button.val(); PMA_ajaxShowMessage(); + AJAX.source = $form; $.post($form.attr('action'), submitData, AJAX.responseHandler); }); @@ -75,6 +78,7 @@ AJAX.registerOnload('db_tracking.js', function () { var question = PMA_messages.strDeleteTrackingData; $anchor.PMA_confirm(question, $anchor.attr('href'), function (url) { PMA_ajaxShowMessage(PMA_messages.strDeletingTrackingData); + AJAX.source = $anchor; $.get(url, {'ajax_page_request': true, 'ajax_request': true}, AJAX.responseHandler); }); }); diff --git a/js/functions.js b/js/functions.js index a81062617d..de85c226b1 100644 --- a/js/functions.js +++ b/js/functions.js @@ -35,6 +35,11 @@ var codemirror_editor = false; var codemirror_inline_editor = false; /** + * @var sql_autocomplete_in_progress bool shows if Table/Column name autocomplete AJAX is in progress + */ +var sql_autocomplete_in_progress = false; + +/** * @var sql_autocomplete object containing list of columns in each table */ var sql_autocomplete = false; @@ -1733,12 +1738,16 @@ AJAX.registerOnload('functions.js', function () { * "inputRead" event handler for CodeMirror SQL query editors for autocompletion */ function codemirrorAutocompleteOnInputRead(instance) { - if (!instance.options.hintOptions.tables || !sql_autocomplete){ + if (!sql_autocomplete_in_progress + && (!instance.options.hintOptions.tables || !sql_autocomplete)) { + if (!sql_autocomplete) { // Reset after teardown instance.options.hintOptions.tables = false; instance.options.hintOptions.defaultTable = ''; + sql_autocomplete_in_progress = true; + var href = 'db_sql_autocomplete.php'; var params = { 'ajax_request': true, @@ -1752,12 +1761,12 @@ function codemirrorAutocompleteOnInputRead(instance) { data: params, success: function (data) { if (data.success) { - sql_autocomplete = $.parseJSON(data.tables); + var tables = $.parseJSON(data.tables); sql_autocomplete_default_table = PMA_commonParams.get('table'); - var result = []; - for (var table in sql_autocomplete) { - if (sql_autocomplete.hasOwnProperty(table)) { - var columns = sql_autocomplete[table]; + sql_autocomplete = []; + for (var table in tables) { + if (tables.hasOwnProperty(table)) { + var columns = tables[table]; table = { text: table, columns: [] @@ -1777,11 +1786,14 @@ function codemirrorAutocompleteOnInputRead(instance) { } } } - result.push(table); + sql_autocomplete.push(table); } - instance.options.hintOptions.tables = result; + instance.options.hintOptions.tables = sql_autocomplete; instance.options.hintOptions.defaultTable = sql_autocomplete_default_table; } + }, + complete: function () { + sql_autocomplete_in_progress = false; } }); } @@ -3200,6 +3212,7 @@ AJAX.registerOnload('functions.js', function () { var params = { 'ajax_request' : true, 'token' : PMA_commonParams.get('token'), + 'server' : PMA_commonParams.get('server'), 'db' : PMA_commonParams.get('db'), 'cur_table' : PMA_commonParams.get('table'), 'getColumnList':true @@ -3823,13 +3836,10 @@ AJAX.registerOnload('functions.js', function () { * Enables the text generated by PMA_Util::linkOrButton() to be clickable */ $(document).on('click', 'a.formLinkSubmit', function (e) { - - if ($(this).attr('href').indexOf('=') != -1) { - var data = $(this).attr('href').substr($(this).attr('href').indexOf('#') + 1).split('=', 2); - $(this).parents('form').append('<input type="hidden" name="' + data[0] + '" value="' + data[1] + '"/>'); + if (! $(this).hasClass('requireConfirm')) { + submitFormLink($(this)); + return false; } - $(this).parents('form').submit(); - return false; }); if ($('#update_recent_tables').length) { @@ -3866,6 +3876,20 @@ AJAX.registerOnload('functions.js', function () { } }); // end of $() +/** + * Submits the form placed in place of a link due to the excessive url length + * + * @param $link anchor + * @returns {Boolean} + */ +function submitFormLink($link) +{ + if ($link.attr('href').indexOf('=') != -1) { + var data = $link.attr('href').substr($link.attr('href').indexOf('#') + 1).split('=', 2); + $link.parents('form').append('<input type="hidden" name="' + data[0] + '" value="' + data[1] + '"/>'); + } + $link.parents('form').submit(); +} /** * Initializes slider effect. @@ -4045,7 +4069,18 @@ AJAX.registerTeardown('functions.js', function () { codemirror_editor = false; } }); - +AJAX.registerOnload('functions.js', function () { + // initializes all lock-page elements lock-id and + // val-hash data property + $('#page_content form.lock-page textarea, ' + + '#page_content form.lock-page input[type="text"]').each(function (i) { + $(this).data('lock-id', i); + // val-hash is the hash of default value of the field + // so that it can be compared with new value hash + // to check whether field was modified or not. + $(this).data('val-hash', AJAX.hash($(this).val())); + }); +}); /** * jQuery plugin to cancel selection in HTML code. */ diff --git a/js/line_counts.php b/js/line_counts.php index 0f9bad20f3..079b22f651 100644 --- a/js/line_counts.php +++ b/js/line_counts.php @@ -13,511 +13,511 @@ if (! defined('PHPMYADMIN')) { define('LINE_COUNTS', true); $LINE_COUNT = array(); +$LINE_COUNT["OpenStreetMap.js"] = 126; +$LINE_COUNT["big_ints.js"] = 67; +$LINE_COUNT["canvg/canvg.js"] = 2508; +$LINE_COUNT["chart.js"] = 664; +$LINE_COUNT["codemirror/addon/hint/show-hint.js"] = 394; +$LINE_COUNT["codemirror/addon/hint/sql-hint.js"] = 248; +$LINE_COUNT["codemirror/addon/runmode/runmode.js"] = 72; +$LINE_COUNT["codemirror/lib/codemirror.js"] = 8645; +$LINE_COUNT["codemirror/mode/javascript/javascript.js"] = 692; +$LINE_COUNT["codemirror/mode/sql/sql.js"] = 391; +$LINE_COUNT["codemirror/mode/xml/xml.js"] = 384; +$LINE_COUNT["common.js"] = 515; +$LINE_COUNT["cross_framing_protection.js"] = 10; +$LINE_COUNT["db_operations.js"] = 157; +$LINE_COUNT["db_search.js"] = 239; +$LINE_COUNT["db_tracking.js"] = 84; +$LINE_COUNT["doclinks.js"] = 365; $LINE_COUNT["error_report.js"] = 340; -$LINE_COUNT["functions.js"] = 4545; -$LINE_COUNT["db_central_columns.js"] = 200; +$LINE_COUNT["gis_data_editor.js"] = 396; +$LINE_COUNT["import.js"] = 167; +$LINE_COUNT["jqplot/excanvas.js"] = 1438; +$LINE_COUNT["jqplot/jquery.jqplot.js"] = 11411; +$LINE_COUNT["jqplot/plugins/jqplot.barRenderer.js"] = 800; +$LINE_COUNT["jqplot/plugins/jqplot.byteFormatter.js"] = 46; +$LINE_COUNT["jqplot/plugins/jqplot.canvasAxisLabelRenderer.js"] = 202; +$LINE_COUNT["jqplot/plugins/jqplot.canvasTextRenderer.js"] = 448; +$LINE_COUNT["jqplot/plugins/jqplot.categoryAxisRenderer.js"] = 679; +$LINE_COUNT["jqplot/plugins/jqplot.cursor.js"] = 1108; +$LINE_COUNT["jqplot/plugins/jqplot.dateAxisRenderer.js"] = 741; +$LINE_COUNT["jqplot/plugins/jqplot.highlighter.js"] = 464; +$LINE_COUNT["jqplot/plugins/jqplot.pieRenderer.js"] = 903; +$LINE_COUNT["jqplot/plugins/jqplot.pointLabels.js"] = 376; +$LINE_COUNT["jquery/jquery-1.11.1.min.js"] = 4; +$LINE_COUNT["jquery/jquery-ui-1.11.2.min.js"] = 12; $LINE_COUNT["jquery/jquery-ui-timepicker-addon.js"] = 2223; +$LINE_COUNT["jquery/jquery.ba-hashchange-1.3.js"] = 390; $LINE_COUNT["jquery/jquery.cookie.js"] = 91; -$LINE_COUNT["jquery/jquery.sortableTable.js"] = 271; +$LINE_COUNT["jquery/jquery.debounce-1.0.5.js"] = 70; +$LINE_COUNT["jquery/jquery.event.drag-2.2.js"] = 401; +$LINE_COUNT["jquery/jquery.fullscreen.js"] = 60; $LINE_COUNT["jquery/jquery.mousewheel.js"] = 221; +$LINE_COUNT["jquery/jquery.sortableTable.js"] = 271; $LINE_COUNT["jquery/jquery.svg.js"] = 1352; -$LINE_COUNT["jquery/jquery.event.drag-2.2.js"] = 401; -$LINE_COUNT["jquery/jquery-ui-1.11.2.min.js"] = 12; -$LINE_COUNT["jquery/jquery.debounce-1.0.5.js"] = 70; +$LINE_COUNT["jquery/jquery.tablesorter.js"] = 1032; $LINE_COUNT["jquery/jquery.uitablefilter.js"] = 117; -$LINE_COUNT["jquery/src/jquery/intro.js"] = 44; -$LINE_COUNT["jquery/src/jquery/serialize.js"] = 110; +$LINE_COUNT["jquery/src/jquery-ui/accordion.js"] = 584; +$LINE_COUNT["jquery/src/jquery-ui/autocomplete.js"] = 628; +$LINE_COUNT["jquery/src/jquery-ui/button.js"] = 411; +$LINE_COUNT["jquery/src/jquery-ui/core.js"] = 304; +$LINE_COUNT["jquery/src/jquery-ui/datepicker.js"] = 2080; +$LINE_COUNT["jquery/src/jquery-ui/dialog.js"] = 875; +$LINE_COUNT["jquery/src/jquery-ui/draggable.js"] = 1128; +$LINE_COUNT["jquery/src/jquery-ui/droppable.js"] = 413; +$LINE_COUNT["jquery/src/jquery-ui/effect-blind.js"] = 90; +$LINE_COUNT["jquery/src/jquery-ui/effect-bounce.js"] = 123; +$LINE_COUNT["jquery/src/jquery-ui/effect-clip.js"] = 77; +$LINE_COUNT["jquery/src/jquery-ui/effect-drop.js"] = 75; +$LINE_COUNT["jquery/src/jquery-ui/effect-explode.js"] = 107; +$LINE_COUNT["jquery/src/jquery-ui/effect-fade.js"] = 40; +$LINE_COUNT["jquery/src/jquery-ui/effect-fold.js"] = 86; +$LINE_COUNT["jquery/src/jquery-ui/effect-highlight.js"] = 60; +$LINE_COUNT["jquery/src/jquery-ui/effect-puff.js"] = 60; +$LINE_COUNT["jquery/src/jquery-ui/effect-pulsate.js"] = 73; +$LINE_COUNT["jquery/src/jquery-ui/effect-scale.js"] = 89; +$LINE_COUNT["jquery/src/jquery-ui/effect-shake.js"] = 84; +$LINE_COUNT["jquery/src/jquery-ui/effect-size.js"] = 233; +$LINE_COUNT["jquery/src/jquery-ui/effect-slide.js"] = 74; +$LINE_COUNT["jquery/src/jquery-ui/effect-transfer.js"] = 57; +$LINE_COUNT["jquery/src/jquery-ui/effect.js"] = 1301; +$LINE_COUNT["jquery/src/jquery-ui/menu.js"] = 646; +$LINE_COUNT["jquery/src/jquery-ui/mouse.js"] = 199; +$LINE_COUNT["jquery/src/jquery-ui/position.js"] = 517; +$LINE_COUNT["jquery/src/jquery-ui/progressbar.js"] = 159; +$LINE_COUNT["jquery/src/jquery-ui/resizable.js"] = 1179; +$LINE_COUNT["jquery/src/jquery-ui/selectable.js"] = 287; +$LINE_COUNT["jquery/src/jquery-ui/selectmenu.js"] = 616; +$LINE_COUNT["jquery/src/jquery-ui/slider.js"] = 699; +$LINE_COUNT["jquery/src/jquery-ui/sortable.js"] = 1304; +$LINE_COUNT["jquery/src/jquery-ui/spinner.js"] = 514; +$LINE_COUNT["jquery/src/jquery-ui/tabs.js"] = 880; +$LINE_COUNT["jquery/src/jquery-ui/tooltip.js"] = 461; +$LINE_COUNT["jquery/src/jquery-ui/widget.js"] = 557; +$LINE_COUNT["jquery/src/jquery/ajax.js"] = 807; +$LINE_COUNT["jquery/src/jquery/ajax/jsonp.js"] = 89; +$LINE_COUNT["jquery/src/jquery/ajax/load.js"] = 75; +$LINE_COUNT["jquery/src/jquery/ajax/parseJSON.js"] = 51; +$LINE_COUNT["jquery/src/jquery/ajax/parseXML.js"] = 31; +$LINE_COUNT["jquery/src/jquery/ajax/script.js"] = 93; +$LINE_COUNT["jquery/src/jquery/ajax/var/nonce.js"] = 5; +$LINE_COUNT["jquery/src/jquery/ajax/var/rquery.js"] = 3; +$LINE_COUNT["jquery/src/jquery/ajax/xhr.js"] = 196; +$LINE_COUNT["jquery/src/jquery/attributes.js"] = 11; +$LINE_COUNT["jquery/src/jquery/attributes/attr.js"] = 271; +$LINE_COUNT["jquery/src/jquery/attributes/classes.js"] = 157; +$LINE_COUNT["jquery/src/jquery/attributes/prop.js"] = 134; +$LINE_COUNT["jquery/src/jquery/attributes/support.js"] = 62; +$LINE_COUNT["jquery/src/jquery/attributes/val.js"] = 178; +$LINE_COUNT["jquery/src/jquery/callbacks.js"] = 205; +$LINE_COUNT["jquery/src/jquery/core.js"] = 534; +$LINE_COUNT["jquery/src/jquery/core/access.js"] = 60; $LINE_COUNT["jquery/src/jquery/core/init.js"] = 132; $LINE_COUNT["jquery/src/jquery/core/parseHTML.js"] = 39; $LINE_COUNT["jquery/src/jquery/core/ready.js"] = 152; -$LINE_COUNT["jquery/src/jquery/core/access.js"] = 60; $LINE_COUNT["jquery/src/jquery/core/var/rsingleTag.js"] = 4; -$LINE_COUNT["jquery/src/jquery/traversing.js"] = 200; -$LINE_COUNT["jquery/src/jquery/offset.js"] = 211; -$LINE_COUNT["jquery/src/jquery/support.js"] = 58; -$LINE_COUNT["jquery/src/jquery/selector.js"] = 1; -$LINE_COUNT["jquery/src/jquery/exports/amd.js"] = 24; -$LINE_COUNT["jquery/src/jquery/exports/global.js"] = 32; -$LINE_COUNT["jquery/src/jquery/queue/delay.js"] = 22; -$LINE_COUNT["jquery/src/jquery/manipulation.js"] = 744; -$LINE_COUNT["jquery/src/jquery/effects/support.js"] = 55; -$LINE_COUNT["jquery/src/jquery/effects/animatedSelector.js"] = 13; -$LINE_COUNT["jquery/src/jquery/effects/Tween.js"] = 114; -$LINE_COUNT["jquery/src/jquery/selector-sizzle.js"] = 14; -$LINE_COUNT["jquery/src/jquery/css/support.js"] = 149; +$LINE_COUNT["jquery/src/jquery/css.js"] = 504; +$LINE_COUNT["jquery/src/jquery/css/addGetHookIf.js"] = 32; +$LINE_COUNT["jquery/src/jquery/css/curCSS.js"] = 117; $LINE_COUNT["jquery/src/jquery/css/defaultDisplay.js"] = 69; -$LINE_COUNT["jquery/src/jquery/css/swap.js"] = 28; $LINE_COUNT["jquery/src/jquery/css/hiddenVisibleSelectors.js"] = 20; +$LINE_COUNT["jquery/src/jquery/css/support.js"] = 149; +$LINE_COUNT["jquery/src/jquery/css/swap.js"] = 28; +$LINE_COUNT["jquery/src/jquery/css/var/cssExpand.js"] = 3; $LINE_COUNT["jquery/src/jquery/css/var/isHidden.js"] = 13; -$LINE_COUNT["jquery/src/jquery/css/var/rnumnonpx.js"] = 5; $LINE_COUNT["jquery/src/jquery/css/var/rmargin.js"] = 3; -$LINE_COUNT["jquery/src/jquery/css/var/cssExpand.js"] = 3; -$LINE_COUNT["jquery/src/jquery/css/curCSS.js"] = 117; -$LINE_COUNT["jquery/src/jquery/css/addGetHookIf.js"] = 32; +$LINE_COUNT["jquery/src/jquery/css/var/rnumnonpx.js"] = 5; +$LINE_COUNT["jquery/src/jquery/data.js"] = 335; +$LINE_COUNT["jquery/src/jquery/data/accepts.js"] = 21; +$LINE_COUNT["jquery/src/jquery/data/support.js"] = 25; +$LINE_COUNT["jquery/src/jquery/deferred.js"] = 150; $LINE_COUNT["jquery/src/jquery/deprecated.js"] = 13; -$LINE_COUNT["jquery/src/jquery/traversing/findFilter.js"] = 100; -$LINE_COUNT["jquery/src/jquery/traversing/var/rneedsContext.js"] = 6; -$LINE_COUNT["jquery/src/jquery/core.js"] = 534; -$LINE_COUNT["jquery/src/jquery/ajax.js"] = 807; +$LINE_COUNT["jquery/src/jquery/dimensions.js"] = 50; +$LINE_COUNT["jquery/src/jquery/effects.js"] = 656; +$LINE_COUNT["jquery/src/jquery/effects/Tween.js"] = 114; +$LINE_COUNT["jquery/src/jquery/effects/animatedSelector.js"] = 13; +$LINE_COUNT["jquery/src/jquery/effects/support.js"] = 55; +$LINE_COUNT["jquery/src/jquery/event.js"] = 1037; +$LINE_COUNT["jquery/src/jquery/event/alias.js"] = 39; +$LINE_COUNT["jquery/src/jquery/event/support.js"] = 26; +$LINE_COUNT["jquery/src/jquery/exports/amd.js"] = 24; +$LINE_COUNT["jquery/src/jquery/exports/global.js"] = 32; +$LINE_COUNT["jquery/src/jquery/intro.js"] = 44; $LINE_COUNT["jquery/src/jquery/jquery.js"] = 37; -$LINE_COUNT["jquery/src/jquery/manipulation/support.js"] = 76; +$LINE_COUNT["jquery/src/jquery/manipulation.js"] = 744; $LINE_COUNT["jquery/src/jquery/manipulation/_evalUrl.js"] = 18; +$LINE_COUNT["jquery/src/jquery/manipulation/support.js"] = 76; $LINE_COUNT["jquery/src/jquery/manipulation/var/rcheckableType.js"] = 3; -$LINE_COUNT["jquery/src/jquery/event/alias.js"] = 39; -$LINE_COUNT["jquery/src/jquery/event/support.js"] = 26; -$LINE_COUNT["jquery/src/jquery/dimensions.js"] = 50; -$LINE_COUNT["jquery/src/jquery/event.js"] = 1037; -$LINE_COUNT["jquery/src/jquery/ajax/parseJSON.js"] = 51; -$LINE_COUNT["jquery/src/jquery/ajax/jsonp.js"] = 89; -$LINE_COUNT["jquery/src/jquery/ajax/load.js"] = 75; -$LINE_COUNT["jquery/src/jquery/ajax/script.js"] = 93; -$LINE_COUNT["jquery/src/jquery/ajax/parseXML.js"] = 31; -$LINE_COUNT["jquery/src/jquery/ajax/var/nonce.js"] = 5; -$LINE_COUNT["jquery/src/jquery/ajax/var/rquery.js"] = 3; -$LINE_COUNT["jquery/src/jquery/ajax/xhr.js"] = 196; -$LINE_COUNT["jquery/src/jquery/attributes/classes.js"] = 157; -$LINE_COUNT["jquery/src/jquery/attributes/support.js"] = 62; -$LINE_COUNT["jquery/src/jquery/attributes/prop.js"] = 134; -$LINE_COUNT["jquery/src/jquery/attributes/val.js"] = 178; -$LINE_COUNT["jquery/src/jquery/attributes/attr.js"] = 271; -$LINE_COUNT["jquery/src/jquery/css.js"] = 504; -$LINE_COUNT["jquery/src/jquery/attributes.js"] = 11; -$LINE_COUNT["jquery/src/jquery/wrap.js"] = 75; -$LINE_COUNT["jquery/src/jquery/sizzle/dist/sizzle.min.js"] = 2; +$LINE_COUNT["jquery/src/jquery/offset.js"] = 211; +$LINE_COUNT["jquery/src/jquery/outro.js"] = 1; +$LINE_COUNT["jquery/src/jquery/queue.js"] = 142; +$LINE_COUNT["jquery/src/jquery/queue/delay.js"] = 22; +$LINE_COUNT["jquery/src/jquery/selector-sizzle.js"] = 14; +$LINE_COUNT["jquery/src/jquery/selector.js"] = 1; +$LINE_COUNT["jquery/src/jquery/serialize.js"] = 110; $LINE_COUNT["jquery/src/jquery/sizzle/dist/sizzle.js"] = 2044; +$LINE_COUNT["jquery/src/jquery/sizzle/dist/sizzle.min.js"] = 2; +$LINE_COUNT["jquery/src/jquery/sizzle/test/data/empty.js"] = 0; +$LINE_COUNT["jquery/src/jquery/sizzle/test/data/testinit.js"] = 136; +$LINE_COUNT["jquery/src/jquery/sizzle/test/jquery.js"] = 9596; $LINE_COUNT["jquery/src/jquery/sizzle/test/unit/extending.js"] = 95; $LINE_COUNT["jquery/src/jquery/sizzle/test/unit/selector.js"] = 1149; $LINE_COUNT["jquery/src/jquery/sizzle/test/unit/utilities.js"] = 169; -$LINE_COUNT["jquery/src/jquery/sizzle/test/jquery.js"] = 9596; -$LINE_COUNT["jquery/src/jquery/sizzle/test/data/testinit.js"] = 136; -$LINE_COUNT["jquery/src/jquery/sizzle/test/data/empty.js"] = 0; -$LINE_COUNT["jquery/src/jquery/deferred.js"] = 150; -$LINE_COUNT["jquery/src/jquery/data/accepts.js"] = 21; -$LINE_COUNT["jquery/src/jquery/data/support.js"] = 25; -$LINE_COUNT["jquery/src/jquery/queue.js"] = 142; -$LINE_COUNT["jquery/src/jquery/data.js"] = 335; -$LINE_COUNT["jquery/src/jquery/outro.js"] = 1; -$LINE_COUNT["jquery/src/jquery/callbacks.js"] = 205; -$LINE_COUNT["jquery/src/jquery/var/hasOwn.js"] = 5; +$LINE_COUNT["jquery/src/jquery/support.js"] = 58; +$LINE_COUNT["jquery/src/jquery/traversing.js"] = 200; +$LINE_COUNT["jquery/src/jquery/traversing/findFilter.js"] = 100; +$LINE_COUNT["jquery/src/jquery/traversing/var/rneedsContext.js"] = 6; +$LINE_COUNT["jquery/src/jquery/var/class2type.js"] = 4; $LINE_COUNT["jquery/src/jquery/var/concat.js"] = 5; -$LINE_COUNT["jquery/src/jquery/var/rnotwhite.js"] = 3; -$LINE_COUNT["jquery/src/jquery/var/support.js"] = 4; -$LINE_COUNT["jquery/src/jquery/var/slice.js"] = 5; $LINE_COUNT["jquery/src/jquery/var/deletedIds.js"] = 3; +$LINE_COUNT["jquery/src/jquery/var/hasOwn.js"] = 5; $LINE_COUNT["jquery/src/jquery/var/indexOf.js"] = 5; -$LINE_COUNT["jquery/src/jquery/var/strundefined.js"] = 3; -$LINE_COUNT["jquery/src/jquery/var/class2type.js"] = 4; +$LINE_COUNT["jquery/src/jquery/var/pnum.js"] = 3; $LINE_COUNT["jquery/src/jquery/var/push.js"] = 5; +$LINE_COUNT["jquery/src/jquery/var/rnotwhite.js"] = 3; +$LINE_COUNT["jquery/src/jquery/var/slice.js"] = 5; +$LINE_COUNT["jquery/src/jquery/var/strundefined.js"] = 3; +$LINE_COUNT["jquery/src/jquery/var/support.js"] = 4; $LINE_COUNT["jquery/src/jquery/var/toString.js"] = 5; -$LINE_COUNT["jquery/src/jquery/var/pnum.js"] = 3; -$LINE_COUNT["jquery/src/jquery/effects.js"] = 656; -$LINE_COUNT["jquery/src/jquery-ui/effect-scale.js"] = 89; -$LINE_COUNT["jquery/src/jquery-ui/effect-bounce.js"] = 123; -$LINE_COUNT["jquery/src/jquery-ui/effect-drop.js"] = 75; -$LINE_COUNT["jquery/src/jquery-ui/position.js"] = 517; -$LINE_COUNT["jquery/src/jquery-ui/effect-shake.js"] = 84; -$LINE_COUNT["jquery/src/jquery-ui/tooltip.js"] = 461; -$LINE_COUNT["jquery/src/jquery-ui/effect-slide.js"] = 74; -$LINE_COUNT["jquery/src/jquery-ui/dialog.js"] = 875; -$LINE_COUNT["jquery/src/jquery-ui/effect-size.js"] = 233; -$LINE_COUNT["jquery/src/jquery-ui/accordion.js"] = 584; -$LINE_COUNT["jquery/src/jquery-ui/effect-clip.js"] = 77; -$LINE_COUNT["jquery/src/jquery-ui/effect-transfer.js"] = 57; -$LINE_COUNT["jquery/src/jquery-ui/draggable.js"] = 1128; -$LINE_COUNT["jquery/src/jquery-ui/effect.js"] = 1301; -$LINE_COUNT["jquery/src/jquery-ui/mouse.js"] = 199; -$LINE_COUNT["jquery/src/jquery-ui/resizable.js"] = 1179; -$LINE_COUNT["jquery/src/jquery-ui/selectmenu.js"] = 616; -$LINE_COUNT["jquery/src/jquery-ui/button.js"] = 411; -$LINE_COUNT["jquery/src/jquery-ui/effect-fade.js"] = 40; -$LINE_COUNT["jquery/src/jquery-ui/effect-blind.js"] = 90; -$LINE_COUNT["jquery/src/jquery-ui/widget.js"] = 557; -$LINE_COUNT["jquery/src/jquery-ui/datepicker.js"] = 2080; -$LINE_COUNT["jquery/src/jquery-ui/core.js"] = 304; -$LINE_COUNT["jquery/src/jquery-ui/effect-fold.js"] = 86; -$LINE_COUNT["jquery/src/jquery-ui/tabs.js"] = 880; -$LINE_COUNT["jquery/src/jquery-ui/selectable.js"] = 287; -$LINE_COUNT["jquery/src/jquery-ui/menu.js"] = 646; -$LINE_COUNT["jquery/src/jquery-ui/effect-explode.js"] = 107; -$LINE_COUNT["jquery/src/jquery-ui/progressbar.js"] = 159; -$LINE_COUNT["jquery/src/jquery-ui/effect-highlight.js"] = 60; -$LINE_COUNT["jquery/src/jquery-ui/effect-puff.js"] = 60; -$LINE_COUNT["jquery/src/jquery-ui/autocomplete.js"] = 628; -$LINE_COUNT["jquery/src/jquery-ui/droppable.js"] = 413; -$LINE_COUNT["jquery/src/jquery-ui/effect-pulsate.js"] = 73; -$LINE_COUNT["jquery/src/jquery-ui/sortable.js"] = 1304; -$LINE_COUNT["jquery/src/jquery-ui/slider.js"] = 699; -$LINE_COUNT["jquery/src/jquery-ui/spinner.js"] = 514; -$LINE_COUNT["jquery/jquery-1.11.1.min.js"] = 4; -$LINE_COUNT["jquery/jquery.fullscreen.js"] = 60; -$LINE_COUNT["jquery/jquery.ba-hashchange-1.3.js"] = 390; -$LINE_COUNT["jquery/jquery.tablesorter.js"] = 1032; -$LINE_COUNT["indexes.js"] = 697; -$LINE_COUNT["gis_data_editor.js"] = 396; -$LINE_COUNT["db_search.js"] = 239; -$LINE_COUNT["db_tracking.js"] = 80; -$LINE_COUNT["server_plugins.js"] = 30; -$LINE_COUNT["tbl_zoom_plot_jqplot.js"] = 638; -$LINE_COUNT["tbl_change.js"] = 754; -$LINE_COUNT["tracekit/tracekit.js"] = 1114; -$LINE_COUNT["tbl_select.js"] = 395; -$LINE_COUNT["replication.js"] = 72; -$LINE_COUNT["normalization.js"] = 707; -$LINE_COUNT["rte.js"] = 944; -$LINE_COUNT["server_status_processes.js"] = 189; -$LINE_COUNT["tbl_relation.js"] = 233; -$LINE_COUNT["server_status_queries.js"] = 34; -$LINE_COUNT["tbl_structure.js"] = 395; -$LINE_COUNT["jqplot/plugins/jqplot.categoryAxisRenderer.js"] = 679; -$LINE_COUNT["jqplot/plugins/jqplot.pointLabels.js"] = 376; -$LINE_COUNT["jqplot/plugins/jqplot.dateAxisRenderer.js"] = 741; -$LINE_COUNT["jqplot/plugins/jqplot.barRenderer.js"] = 800; -$LINE_COUNT["jqplot/plugins/jqplot.byteFormatter.js"] = 46; -$LINE_COUNT["jqplot/plugins/jqplot.canvasAxisLabelRenderer.js"] = 202; -$LINE_COUNT["jqplot/plugins/jqplot.highlighter.js"] = 464; -$LINE_COUNT["jqplot/plugins/jqplot.pieRenderer.js"] = 903; -$LINE_COUNT["jqplot/plugins/jqplot.cursor.js"] = 1108; -$LINE_COUNT["jqplot/plugins/jqplot.canvasTextRenderer.js"] = 448; -$LINE_COUNT["jqplot/jquery.jqplot.js"] = 11411; -$LINE_COUNT["jqplot/excanvas.js"] = 1438; -$LINE_COUNT["canvg/canvg.js"] = 2508; -$LINE_COUNT["tbl_gis_visualization.js"] = 353; -$LINE_COUNT["server_status_advisor.js"] = 93; -$LINE_COUNT["config.js"] = 798; -$LINE_COUNT["big_ints.js"] = 67; -$LINE_COUNT["tbl_operations.js"] = 240; -$LINE_COUNT["server_user_groups.js"] = 42; -$LINE_COUNT["tbl_tracking.js"] = 95; -$LINE_COUNT["makegrid.js"] = 1978; -$LINE_COUNT["export.js"] = 401; -$LINE_COUNT["doclinks.js"] = 365; -$LINE_COUNT["console.js"] = 1032; -$LINE_COUNT["transformations/json.js"] = 17; -$LINE_COUNT["transformations/image_upload.js"] = 28; -$LINE_COUNT["transformations/xml.js"] = 18; -$LINE_COUNT["transformations/sql_editor.js"] = 30; -$LINE_COUNT["transformations/json_editor.js"] = 17; -$LINE_COUNT["transformations/xml_editor.js"] = 16; -$LINE_COUNT["sprintf.js"] = 211; -$LINE_COUNT["server_status_monitor.js"] = 2172; -$LINE_COUNT["ajax.js"] = 1041; +$LINE_COUNT["jquery/src/jquery/wrap.js"] = 75; +$LINE_COUNT["keyhandler.js"] = 145; $LINE_COUNT["menu-resizer.js"] = 182; -$LINE_COUNT["tbl_find_replace.js"] = 47; -$LINE_COUNT["codemirror/addon/hint/show-hint.js"] = 394; -$LINE_COUNT["codemirror/addon/hint/sql-hint.js"] = 248; -$LINE_COUNT["codemirror/addon/runmode/runmode.js"] = 72; -$LINE_COUNT["codemirror/lib/codemirror.js"] = 8645; -$LINE_COUNT["codemirror/mode/javascript/javascript.js"] = 692; -$LINE_COUNT["codemirror/mode/xml/xml.js"] = 384; -$LINE_COUNT["codemirror/mode/sql/sql.js"] = 391; -$LINE_COUNT["sql.js"] = 839; -$LINE_COUNT["server_databases.js"] = 137; -$LINE_COUNT["OpenStreetMap.js"] = 126; -$LINE_COUNT["db_structure.js"] = 391; -$LINE_COUNT["db_qbe.js"] = 64; -$LINE_COUNT["chart.js"] = 664; -$LINE_COUNT["tbl_chart.js"] = 437; -$LINE_COUNT["db_operations.js"] = 157; -$LINE_COUNT["pmd/init.js"] = 40; -$LINE_COUNT["pmd/iecanvas.js"] = 147; -$LINE_COUNT["pmd/designer_page.js"] = 150; -$LINE_COUNT["pmd/history.js"] = 811; -$LINE_COUNT["pmd/designer_db.js"] = 136; -$LINE_COUNT["pmd/designer_objects.js"] = 17; -$LINE_COUNT["pmd/move.js"] = 1993; -$LINE_COUNT["cross_framing_protection.js"] = 10; +$LINE_COUNT["multi_column_sort.js"] = 81; +$LINE_COUNT["normalization.js"] = 707; $LINE_COUNT["openlayers/OpenLayers.js"] = 2680; -$LINE_COUNT["openlayers/src/openlayers/lib/Rico/Color.js"] = 244; -$LINE_COUNT["openlayers/src/openlayers/lib/Rico/Corner.js"] = 329; +$LINE_COUNT["openlayers/src/openlayers/lib/Firebug/firebug.js"] = 674; +$LINE_COUNT["openlayers/src/openlayers/lib/Firebug/firebugx.js"] = 9; $LINE_COUNT["openlayers/src/openlayers/lib/Gears/gears_init.js"] = 88; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers.js"] = 348; -$LINE_COUNT["openlayers/src/openlayers/lib/Firebug/firebugx.js"] = 9; -$LINE_COUNT["openlayers/src/openlayers/lib/Firebug/firebug.js"] = 674; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Ajax.js"] = 678; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes.js"] = 681; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Bounds.js"] = 681; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Class.js"] = 116; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Element.js"] = 251; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/LonLat.js"] = 190; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Pixel.js"] = 125; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Size.js"] = 85; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Console.js"] = 246; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control.js"] = 368; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ArgParser.js"] = 166; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Attribution.js"] = 97; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Button.js"] = 44; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/DragFeature.js"] = 303; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/DragPan.js"] = 94; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/DrawFeature.js"] = 126; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/EditingToolbar.js"] = 63; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/GetFeature.js"] = 595; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Graticule.js"] = 373; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js"] = 127; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/LayerSwitcher.js"] = 620; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Measure.js"] = 321; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ModifyFeature.js"] = 777; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/MouseDefaults.js"] = 368; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/MousePosition.js"] = 213; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/MouseToolbar.js"] = 406; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/NavToolbar.js"] = 55; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Navigation.js"] = 303; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/NavigationHistory.js"] = 423; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/OverviewMap.js"] = 720; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Pan.js"] = 86; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/PanPanel.js"] = 63; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/PanZoom.js"] = 246; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/PanZoomBar.js"] = 396; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Panel.js"] = 371; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Permalink.js"] = 220; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/SLDSelect.js"] = 569; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Scale.js"] = 99; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ScaleLine.js"] = 223; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/SelectFeature.js"] = 613; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Snapping.js"] = 547; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Split.js"] = 498; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/TransformFeature.js"] = 579; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js"] = 524; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js"] = 442; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomBox.js"] = 95; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomIn.js"] = 35; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomOut.js"] = 35; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomPanel.js"] = 54; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js"] = 40; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Events.js"] = 855; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Feature.js"] = 227; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Feature/Vector.js"] = 454; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Feature/WFS.js"] = 80; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter.js"] = 68; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter/Comparison.js"] = 258; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter/FeatureId.js"] = 81; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter/Logical.js"] = 119; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter/Spatial.js"] = 128; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format.js"] = 123; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML.js"] = 1028; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML/Features.js"] = 49; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Atom.js"] = 727; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain.js"] = 34; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js"] = 243; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords.js"] = 34; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js"] = 440; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Context.js"] = 334; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Filter.js"] = 115; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1.js"] = 426; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js"] = 168; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js"] = 181; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GML.js"] = 924; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GML/Base.js"] = 578; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GML/v2.js"] = 193; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GML/v3.js"] = 462; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GPX.js"] = 184; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GeoJSON.js"] = 716; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GeoRSS.js"] = 420; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/JSON.js"] = 389; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/KML.js"] = 1429; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OSM.js"] = 457; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js"] = 256; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js"] = 50; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js"] = 64; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext.js"] = 81; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js"] = 589; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SLD.js"] = 131; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1.js"] = 1099; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js"] = 51; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities.js"] = 83; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js"] = 158; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js"] = 193; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetObservation.js"] = 262; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Text.js"] = 152; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFS.js"] = 220; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities.js"] = 79; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js"] = 126; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js"] = 156; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js"] = 35; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js"] = 197; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFST.js"] = 34; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1.js"] = 368; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js"] = 150; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js"] = 161; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WKT.js"] = 358; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMC.js"] = 152; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1.js"] = 835; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js"] = 76; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js"] = 127; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities.js"] = 81; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js"] = 418; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js"] = 118; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js"] = 62; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js"] = 58; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js"] = 128; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js"] = 30; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js"] = 91; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js"] = 100; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js"] = 284; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js"] = 162; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js"] = 221; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/XML.js"] = 881; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry.js"] = 456; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Marker.js"] = 242; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Collection.js"] = 546; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Curve.js"] = 93; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/LineString.js"] = 552; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/LinearRing.js"] = 417; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiLineString.js"] = 262; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPoint.js"] = 70; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js"] = 46; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Point.js"] = 283; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Polygon.js"] = 259; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Rectangle.js"] = 99; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Surface.js"] = 17; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler.js"] = 287; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Box.js"] = 221; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Click.js"] = 325; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Drag.js"] = 420; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Feature.js"] = 388; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Hover.js"] = 183; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Keyboard.js"] = 109; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/MouseWheel.js"] = 283; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Path.js"] = 302; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Point.js"] = 373; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Polygon.js"] = 144; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/RegularPolygon.js"] = 421; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Icon.js"] = 227; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang.js"] = 133; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/ar.js"] = 38; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/be-tarask.js"] = 80; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/bg.js"] = 29; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/br.js"] = 79; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/ca.js"] = 128; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/cs-CZ.js"] = 69; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/da-DK.js"] = 119; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/de.js"] = 81; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/el.js"] = 19; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/en-CA.js"] = 21; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/en.js"] = 128; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/es.js"] = 129; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/fi.js"] = 34; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/fr.js"] = 80; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/fur.js"] = 35; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/gl.js"] = 79; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/gsw.js"] = 79; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/hr.js"] = 61; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/nds.js"] = 61; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/hsb.js"] = 79; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/hu.js"] = 80; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/ia.js"] = 79; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/vi.js"] = 79; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/ru.js"] = 82; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/de.js"] = 81; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/fur.js"] = 35; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/bg.js"] = 29; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/id.js"] = 80; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/io.js"] = 19; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/nb.js"] = 118; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/fi.js"] = 34; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/is.js"] = 37; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/it.js"] = 116; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/es.js"] = 129; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/el.js"] = 19; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/da-DK.js"] = 119; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/oc.js"] = 79; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/te.js"] = 27; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/hsb.js"] = 79; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/ja.js"] = 80; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/km.js"] = 25; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/ksh.js"] = 79; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/gl.js"] = 79; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/pt-BR.js"] = 80; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/en.js"] = 128; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/nb.js"] = 118; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/nds.js"] = 61; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/nl.js"] = 79; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/be-tarask.js"] = 80; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/zh-CN.js"] = 116; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/hu.js"] = 80; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/ca.js"] = 128; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/km.js"] = 25; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/id.js"] = 80; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/ar.js"] = 38; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/nn.js"] = 27; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/sk.js"] = 71; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/cs-CZ.js"] = 69; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/oc.js"] = 79; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/pt-BR.js"] = 80; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/pt.js"] = 81; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/ru.js"] = 82; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/sk.js"] = 71; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/sv-SE.js"] = 71; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/en-CA.js"] = 21; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/fr.js"] = 80; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/br.js"] = 79; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/is.js"] = 37; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/te.js"] = 27; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/vi.js"] = 79; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/zh-CN.js"] = 116; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang/zh-TW.js"] = 117; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer.js"] = 1304; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Text.js"] = 264; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/WMS.js"] = 268; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer.js"] = 199; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Grid.js"] = 755; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js"] = 253; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/ArcIMS.js"] = 466; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Boxes.js"] = 76; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/EventPane.js"] = 418; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js"] = 315; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/GML.js"] = 174; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/GeoRSS.js"] = 266; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Google.js"] = 795; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Google/v3.js"] = 419; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Grid.js"] = 755; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/HTTPRequest.js"] = 230; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Image.js"] = 254; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/KaMap.js"] = 206; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/SphericalMercator.js"] = 196; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/KaMapCache.js"] = 148; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/MapGuide.js"] = 489; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer.js"] = 199; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer/Untiled.js"] = 72; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Markers.js"] = 187; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/MultiMap.js"] = 284; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/HTTPRequest.js"] = 230; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/XYZ.js"] = 196; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/VirtualEarth.js"] = 368; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Google/v3.js"] = 419; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/GeoRSS.js"] = 266; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js"] = 157; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/PointTrack.js"] = 103; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/SphericalMercator.js"] = 196; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/TMS.js"] = 167; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Text.js"] = 264; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/TileCache.js"] = 165; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Vector.js"] = 947; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Markers.js"] = 187; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/FixedZoomLevels.js"] = 315; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/KaMapCache.js"] = 148; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Vector/RootContainer.js"] = 157; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/VirtualEarth.js"] = 368; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/WFS.js"] = 609; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/TileCache.js"] = 165; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/ArcIMS.js"] = 466; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Boxes.js"] = 76; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/ArcGIS93Rest.js"] = 253; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/PointTrack.js"] = 103; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/MapServer/Untiled.js"] = 72; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Image.js"] = 254; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js"] = 72; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/WMS.js"] = 268; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Post.js"] = 99; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Yahoo.js"] = 430; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js"] = 72; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/WMTS.js"] = 476; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/WorldWind.js"] = 120; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Google.js"] = 795; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/XYZ.js"] = 196; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Yahoo.js"] = 430; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/Zoomify.js"] = 308; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/GML.js"] = 174; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/WMTS.js"] = 476; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/TMS.js"] = 167; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Layer/MapGuide.js"] = 489; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Map.js"] = 2417; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Marker.js"] = 242; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Marker/Box.js"] = 120; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Popup.js"] = 1052; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Icon.js"] = 227; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Popup/Anchored.js"] = 198; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Popup/AnchoredBubble.js"] = 190; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Popup/Framed.js"] = 343; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Popup/FramedCloud.js"] = 231; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Projection.js"] = 178; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol.js"] = 272; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/HTTP.js"] = 655; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS.js"] = 33; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS/v1_0_0.js"] = 132; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL.js"] = 88; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL/Gears.js"] = 561; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS.js"] = 71; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/SQL.js"] = 88; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/HTTP.js"] = 655; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1.js"] = 342; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js"] = 48; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_0_0.js"] = 44; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/SOS.js"] = 33; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control.js"] = 368; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext/v0_3_1.js"] = 589; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SLD.js"] = 131; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/JSON.js"] = 389; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Text.js"] = 152; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMC.js"] = 152; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1.js"] = 256; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_1_0.js"] = 64; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSCommon/v1_0_0.js"] = 50; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords/v2_0_2.js"] = 440; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer/v1_1.js"] = 100; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML.js"] = 1028; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GeoRSS.js"] = 420; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1.js"] = 835; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_1_0.js"] = 127; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMC/v1_0_0.js"] = 76; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetRecords.js"] = 34; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities/v1_0_0.js"] = 221; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities.js"] = 81; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities/v1_0_0.js"] = 158; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/XML.js"] = 881; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFS.js"] = 220; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Context.js"] = 334; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SOSCapabilities.js"] = 83; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities.js"] = 79; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/KML.js"] = 1429; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSDescribeLayer.js"] = 91; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSGetFeatureInfo.js"] = 284; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GML/v2.js"] = 193; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GML/v3.js"] = 462; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GML/Base.js"] = 578; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFST.js"] = 34; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain.js"] = 34; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OSM.js"] = 457; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetFeatureOfInterest.js"] = 193; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GeoJSON.js"] = 716; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1.js"] = 368; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_1_0.js"] = 161; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFST/v1_0_0.js"] = 150; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1.js"] = 126; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_1_0.js"] = 35; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSCapabilities/v1_0_0.js"] = 156; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WKT.js"] = 358; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/ArcXML/Features.js"] = 49; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Filter.js"] = 115; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMTSCapabilities.js"] = 162; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GPX.js"] = 184; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SOSGetObservation.js"] = 262; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/OWSContext.js"] = 81; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/GML.js"] = 924; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/CSWGetDomain/v2_0_2.js"] = 243; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1.js"] = 1099; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/SLD/v1_0_0.js"] = 51; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Atom.js"] = 727; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1.js"] = 426; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_1_0.js"] = 181; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/Filter/v1_0_0.js"] = 168; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WFSDescribeFeatureType.js"] = 197; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1.js"] = 418; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_1.js"] = 58; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3_0.js"] = 30; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1_0.js"] = 62; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_3.js"] = 128; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format/WMSCapabilities/v1_1.js"] = 118; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Popup/AnchoredBubble.js"] = 190; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Popup/Framed.js"] = 343; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Popup/FramedCloud.js"] = 231; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Popup/Anchored.js"] = 198; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js"] = 383; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Renderer/VML.js"] = 999; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Renderer/Elements.js"] = 1010; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol/WFS/v1_1_0.js"] = 48; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Renderer.js"] = 362; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Renderer/Canvas.js"] = 494; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Renderer/Elements.js"] = 1010; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Renderer/SVG.js"] = 995; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Format.js"] = 123; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Marker/Box.js"] = 120; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Rule.js"] = 239; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/MousePosition.js"] = 213; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/DragFeature.js"] = 303; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/PanZoomBar.js"] = 396; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/MouseToolbar.js"] = 406; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/SelectFeature.js"] = 613; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomPanel.js"] = 54; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/LayerSwitcher.js"] = 620; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Button.js"] = 44; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ArgParser.js"] = 166; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Navigation.js"] = 303; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Scale.js"] = 99; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Permalink.js"] = 220; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/OverviewMap.js"] = 720; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ScaleLine.js"] = 223; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Panel.js"] = 371; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomIn.js"] = 35; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Graticule.js"] = 373; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/WMTSGetFeatureInfo.js"] = 442; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/PanZoom.js"] = 246; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/NavToolbar.js"] = 55; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomToMaxExtent.js"] = 40; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ModifyFeature.js"] = 777; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/MouseDefaults.js"] = 368; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/KeyboardDefaults.js"] = 127; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/DrawFeature.js"] = 126; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Attribution.js"] = 97; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/WMSGetFeatureInfo.js"] = 524; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/DragPan.js"] = 94; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/NavigationHistory.js"] = 423; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/PanPanel.js"] = 63; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/GetFeature.js"] = 595; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomOut.js"] = 35; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/TransformFeature.js"] = 579; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Measure.js"] = 321; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/SLDSelect.js"] = 569; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Pan.js"] = 86; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Split.js"] = 498; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/Snapping.js"] = 547; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/EditingToolbar.js"] = 63; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Control/ZoomBox.js"] = 95; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Renderer.js"] = 362; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Lang.js"] = 133; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Console.js"] = 246; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Tile.js"] = 281; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Protocol.js"] = 272; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Style2.js"] = 111; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Renderer/VML.js"] = 999; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Request.js"] = 358; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/LineString.js"] = 552; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Polygon.js"] = 259; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPolygon.js"] = 46; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Collection.js"] = 546; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Curve.js"] = 93; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Rectangle.js"] = 99; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/LinearRing.js"] = 417; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Surface.js"] = 17; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiPoint.js"] = 70; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/MultiLineString.js"] = 262; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Geometry/Point.js"] = 283; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Request/XMLHttpRequest.js"] = 383; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Rule.js"] = 239; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/SingleFile.js"] = 10; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy.js"] = 117; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Symbolizer.js"] = 51; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Click.js"] = 325; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Polygon.js"] = 144; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Keyboard.js"] = 109; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Drag.js"] = 420; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/MouseWheel.js"] = 283; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Path.js"] = 302; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/RegularPolygon.js"] = 421; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Box.js"] = 221; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Hover.js"] = 183; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Feature.js"] = 388; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler/Point.js"] = 373; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Feature/Vector.js"] = 454; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Feature/WFS.js"] = 80; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Tween.js"] = 318; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Util.js"] = 1797; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/StyleMap.js"] = 160; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Events.js"] = 855; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Projection.js"] = 178; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Style.js"] = 443; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter.js"] = 68; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy/BBOX.js"] = 278; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy/Cluster.js"] = 280; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy/Filter.js"] = 164; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy/Fixed.js"] = 138; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy/Paging.js"] = 236; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy/Refresh.js"] = 140; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy/Filter.js"] = 164; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy/Save.js"] = 229; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Strategy/Paging.js"] = 236; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Pixel.js"] = 125; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Element.js"] = 251; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Class.js"] = 116; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Bounds.js"] = 681; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/Size.js"] = 85; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/BaseTypes/LonLat.js"] = 190; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Map.js"] = 2417; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Text.js"] = 65; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Style.js"] = 443; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Style2.js"] = 111; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/StyleMap.js"] = 160; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Symbolizer.js"] = 51; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Line.js"] = 69; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Point.js"] = 141; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Polygon.js"] = 81; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Raster.js"] = 34; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Point.js"] = 141; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/SingleFile.js"] = 10; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter/Spatial.js"] = 128; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter/Logical.js"] = 119; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter/FeatureId.js"] = 81; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Filter/Comparison.js"] = 258; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Ajax.js"] = 678; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Handler.js"] = 287; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Feature.js"] = 227; -$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Tile/WFS.js"] = 192; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Symbolizer/Text.js"] = 65; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Tile.js"] = 281; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Tile/Image.js"] = 578; $LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Tile/Image/IFrame.js"] = 262; -$LINE_COUNT["navigation.js"] = 1505; -$LINE_COUNT["import.js"] = 167; -$LINE_COUNT["server_status_variables.js"] = 103; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Tile/WFS.js"] = 192; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Tween.js"] = 318; +$LINE_COUNT["openlayers/src/openlayers/lib/OpenLayers/Util.js"] = 1797; +$LINE_COUNT["openlayers/src/openlayers/lib/Rico/Color.js"] = 244; +$LINE_COUNT["openlayers/src/openlayers/lib/Rico/Corner.js"] = 329; +$LINE_COUNT["pmd/designer_db.js"] = 136; +$LINE_COUNT["pmd/designer_objects.js"] = 17; +$LINE_COUNT["pmd/history.js"] = 811; +$LINE_COUNT["pmd/iecanvas.js"] = 147; +$LINE_COUNT["pmd/init.js"] = 40; +$LINE_COUNT["pmd/designer_page.js"] = 164; +$LINE_COUNT["pmd/move.js"] = 1993; +$LINE_COUNT["replication.js"] = 72; +$LINE_COUNT["server_databases.js"] = 137; +$LINE_COUNT["server_plugins.js"] = 30; +$LINE_COUNT["server_status_advisor.js"] = 93; +$LINE_COUNT["server_status_monitor.js"] = 2172; +$LINE_COUNT["server_status_processes.js"] = 189; +$LINE_COUNT["server_status_queries.js"] = 34; $LINE_COUNT["server_status_sorter.js"] = 89; -$LINE_COUNT["common.js"] = 515; -$LINE_COUNT["keyhandler.js"] = 145; -$LINE_COUNT["server_privileges.js"] = 451; -$LINE_COUNT["multi_column_sort.js"] = 81; +$LINE_COUNT["server_status_variables.js"] = 103; +$LINE_COUNT["server_user_groups.js"] = 42; $LINE_COUNT["server_variables.js"] = 147; +$LINE_COUNT["sprintf.js"] = 211; +$LINE_COUNT["tbl_find_replace.js"] = 47; +$LINE_COUNT["tbl_gis_visualization.js"] = 353; +$LINE_COUNT["tbl_select.js"] = 395; +$LINE_COUNT["tbl_tracking.js"] = 95; +$LINE_COUNT["tbl_zoom_plot_jqplot.js"] = 638; +$LINE_COUNT["tracekit/tracekit.js"] = 1114; +$LINE_COUNT["transformations/image_upload.js"] = 28; +$LINE_COUNT["transformations/json.js"] = 17; +$LINE_COUNT["transformations/xml.js"] = 18; +$LINE_COUNT["transformations/json_editor.js"] = 17; +$LINE_COUNT["transformations/sql_editor.js"] = 30; +$LINE_COUNT["transformations/xml_editor.js"] = 16; +$LINE_COUNT["ajax.js"] = 1031; +$LINE_COUNT["config.js"] = 798; +$LINE_COUNT["console.js"] = 1032; +$LINE_COUNT["db_central_columns.js"] = 201; +$LINE_COUNT["db_qbe.js"] = 64; +$LINE_COUNT["db_structure.js"] = 391; +$LINE_COUNT["export.js"] = 401; +$LINE_COUNT["functions.js"] = 4580; +$LINE_COUNT["indexes.js"] = 697; +$LINE_COUNT["makegrid.js"] = 1973; +$LINE_COUNT["navigation.js"] = 1505; +$LINE_COUNT["rte.js"] = 944; +$LINE_COUNT["server_privileges.js"] = 451; +$LINE_COUNT["sql.js"] = 842; +$LINE_COUNT["tbl_change.js"] = 754; +$LINE_COUNT["tbl_chart.js"] = 437; +$LINE_COUNT["tbl_operations.js"] = 240; +$LINE_COUNT["tbl_relation.js"] = 234; +$LINE_COUNT["tbl_structure.js"] = 397; diff --git a/js/makegrid.js b/js/makegrid.js index 48f311e79c..4ed8fa742e 100644 --- a/js/makegrid.js +++ b/js/makegrid.js @@ -754,7 +754,6 @@ function PMA_makegrid(t, enableResize, enableReorder, enableVisib, enableGridEdi // empty all edit area, then rebuild it based on $td classes $editArea.empty(); - $editArea.removeClass('edit_area_right'); // remember this instead of testing more than once var is_null = $td.is('.null'); @@ -1069,10 +1068,6 @@ function PMA_makegrid(t, enableResize, enableReorder, enableVisib, enableGridEdi $editArea.append('<div class="cell_edit_hint">' + g.cellEditHint + '</div>'); } } - if ($(g.cEdit).offset().left + $editArea.outerWidth() > $(document.body).width()) { - $editArea.addClass('edit_area_right'); - $editArea.css('top',''); - } if ($editArea.children().length > 0 && !is_null) { $editArea.show(); } diff --git a/js/pmd/designer_page.js b/js/pmd/designer_page.js index 68684f3cf2..9c292e79da 100644 --- a/js/pmd/designer_page.js +++ b/js/pmd/designer_page.js @@ -1,6 +1,6 @@ -function Show_tables_in_landing_page() +function Show_tables_in_landing_page(db) { - Load_first_page(function (page) { + Load_first_page(db, function (page) { if (page) { Load_HTML_for_page(page.pg_nr); selected_page = page.pg_nr; @@ -59,13 +59,16 @@ function Save_table_positions(positions, callback) DesignerOfflineDB.addObject('table_coords', positions, callback); } -function Create_page_list(callback) +function Create_page_list(db, callback) { DesignerOfflineDB.loadAllObjects('pdf_pages', function (pages) { var html = ""; for (var p = 0; p < pages.length; p++) { - html += '<option value="' + pages[p].pg_nr + '">'; - html += escapeHtml(pages[p].page_descr) + '</option>'; + var page = pages[p]; + if (page.db_name == db) { + html += '<option value="' + page.pg_nr + '">'; + html += escapeHtml(page.page_descr) + '</option>'; + } } if (typeof callback !== 'undefined') { callback(html); @@ -85,9 +88,17 @@ function Delete_page(page_id, callback) }); } -function Load_first_page(callback) +function Load_first_page(db, callback) { - DesignerOfflineDB.loadFirstObject('pdf_pages', callback); + DesignerOfflineDB.loadAllObjects('pdf_pages', function (pages) { + for (var i = 0; i < pages.length; i++) { + var page = pages[i]; + if (page.db_name == db) { + callback(page); + return; + } + } + }); } function Show_new_page_tables(check) @@ -104,7 +115,7 @@ function Show_new_page_tables(check) } } selected_page = -1; - $("#top_menu #page_name").text(PMA_messages.strUntitled); + $("#name-panel #page_name").text(PMA_messages.strUntitled); MarkUnsaved(); } @@ -112,7 +123,7 @@ function Load_HTML_for_page(page_id) { Show_new_page_tables(false); Load_page_objects(page_id, function (page, tbl_cords) { - $("#top_menu #page_name").text(page.page_descr); + $("#name-panel #page_name").text(page.page_descr); MarkSaved(); for (var t = 0; t < tbl_cords.length; t++) { var tb_id = db + '.' + tbl_cords[t].table_name; @@ -132,14 +143,17 @@ function Load_page_objects(page_id, callback) { DesignerOfflineDB.loadObject('pdf_pages', page_id, function (page) { var tbl_cords = []; - for (var i = 0; i < page.tbl_cords.length; i++) { + var count = page.tbl_cords.length; + for (var i = 0; i < count; i++) { DesignerOfflineDB.loadObject('table_coords', page.tbl_cords[i], function (tbl_cord) { tbl_cords.push(tbl_cord); + if (tbl_cords.length == count) { + if (typeof callback !== 'undefined') { + callback(page, tbl_cords); + } + } }); } - if (typeof callback !== 'undefined') { - callback(page, tbl_cords); - } }); } diff --git a/js/pmd/init.js b/js/pmd/init.js index 7adfca5a5c..2719353716 100644 --- a/js/pmd/init.js +++ b/js/pmd/init.js @@ -33,7 +33,7 @@ AJAX.registerOnload('pmd/init.js', function () { if (! pmd_tables_enabled) { DesignerOfflineDB.open(function(success) { if (success) { - Show_tables_in_landing_page(); + Show_tables_in_landing_page(db); } }); } diff --git a/js/pmd/move.js b/js/pmd/move.js index 8c13e78dee..1cef6fa4c9 100644 --- a/js/pmd/move.js +++ b/js/pmd/move.js @@ -716,7 +716,7 @@ function Edit_pages() PMA_ajaxRemoveMessage($msgbox); if (! pmd_tables_enabled) { - Create_page_list(function (options) { + Create_page_list(db, function (options) { $("#page_edit_dialog #selected_page").append(options); }); } @@ -796,7 +796,7 @@ function Delete_pages() PMA_ajaxRemoveMessage($msgbox); if (! pmd_tables_enabled) { - Create_page_list(function (options) { + Create_page_list(db, function (options) { $("#page_delete_dialog #selected_page").append(options); }); } @@ -895,7 +895,7 @@ function Save_as() PMA_ajaxRemoveMessage($msgbox); if (! pmd_tables_enabled) { - Create_page_list(function (options) { + Create_page_list(db, function (options) { $("#page_save_as_dialog #selected_page").append(options); }); } @@ -1010,7 +1010,7 @@ function Load_page(page) { .click(); } else { if (page === null) { - Show_tables_in_landing_page(); + Show_tables_in_landing_page(db); } else if (page > -1) { Load_HTML_for_page(page); } else if (page === -1) { @@ -155,14 +155,18 @@ AJAX.registerOnload('sql.js', function () { var $link = $(this); $link.PMA_confirm(question, $link.attr('href'), function (url) { $msgbox = PMA_ajaxShowMessage(); - $.get(url, {'ajax_request': true, 'is_js_confirmed': true}, function (data) { - if (data.success) { - PMA_ajaxShowMessage(data.message); - $link.closest('tr').remove(); - } else { - PMA_ajaxShowMessage(data.error, false); - } - }); + if ($link.hasClass('formLinkSubmit')) { + submitFormLink($link); + } else { + $.get(url, {'ajax_request': true, 'is_js_confirmed': true}, function (data) { + if (data.success) { + PMA_ajaxShowMessage(data.message); + $link.closest('tr').remove(); + } else { + PMA_ajaxShowMessage(data.error, false); + } + }); + } }); }); @@ -472,6 +476,7 @@ AJAX.registerOnload('sql.js', function () { function submitShowAllForm() { var submitData = $form.serialize() + '&ajax_request=true&ajax_page_request=true'; PMA_ajaxShowMessage(); + AJAX.source = $form; $.post($form.attr('action'), submitData, AJAX.responseHandler); } }); @@ -612,6 +617,7 @@ function browseForeignDialog($this_a) $dialog = $('<div>').append(data.message).dialog({ title: PMA_messages.strBrowseForeignValues, width: Math.min($(window).width() - 100, 700), + maxHeight: $(window).height() - 100, dialogClass: 'browse_foreign_modal', close: function (ev, ui) { // remove event handlers attached to elements related to dialog @@ -621,9 +627,6 @@ function browseForeignDialog($this_a) // remove dialog itself $(this).remove(); }, - create: function () { - $(this).css('maxHeight', $(window).height() - 100); - }, modal: true }); }).done(function () { diff --git a/js/tbl_relation.js b/js/tbl_relation.js index fd35443d40..f3de08295c 100644 --- a/js/tbl_relation.js +++ b/js/tbl_relation.js @@ -39,10 +39,12 @@ function getDropdownValues($dropdown) { var foreign = ''; // if the changed dropdown is for foreign key constraints if ($dropdown.is('select[name^="destination_foreign"]')) { + $databaseDd = $dropdown.parent().parent().parent().find('select[name^="destination_foreign_db"]'); $tableDd = $dropdown.parent().parent().parent().find('select[name^="destination_foreign_table"]'); $columnDd = $dropdown.parent().parent().parent().find('select[name^="destination_foreign_column"]'); foreign = '_foreign'; } else { // internal relations + $databaseDd = $dropdown.parent().find('select[name^="destination_db"]'); $tableDd = $dropdown.parent().find('select[name^="destination_table"]'); $columnDd = $dropdown.parent().find('select[name^="destination_column"]'); } @@ -57,8 +59,7 @@ function getDropdownValues($dropdown) { return; } } else { // if a table selector - foreignDb = $dropdown.parent().parent().parent() - .find('select[name^="destination' + foreign + '_db"]').val(); + foreignDb = $databaseDd.val(); foreignTable = $dropdown.val(); // if no table is selected empty the column dropdown if (foreignTable === '') { diff --git a/js/tbl_structure.js b/js/tbl_structure.js index e13e708407..d734b55104 100644 --- a/js/tbl_structure.js +++ b/js/tbl_structure.js @@ -233,6 +233,7 @@ AJAX.registerOnload('tbl_structure.js', function () { $(this).PMA_confirm(question, $(this).attr('href'), function (url) { PMA_ajaxShowMessage(); + AJAX.source = $this; $.get(url, {'ajax_request' : true, 'ajax_page_request' : true}, AJAX.responseHandler); }); // end $.PMA_confirm() }); //end Add key @@ -372,6 +373,7 @@ AJAX.registerOnload('tbl_structure.js', function () { var $form = $button.parent('form'); var submitData = $form.serialize() + '&ajax_request=true&ajax_page_request=true&submit_mult=' + $button.val(); PMA_ajaxShowMessage(); + AJAX.source = $form; $.post($form.attr('action'), submitData, AJAX.responseHandler); }); }); diff --git a/libraries/Config.class.php b/libraries/Config.class.php index 719312dc32..e622cc437e 100644 --- a/libraries/Config.class.php +++ b/libraries/Config.class.php @@ -114,7 +114,7 @@ class PMA_Config */ function checkSystem() { - $this->set('PMA_VERSION', '4.4.6'); + $this->set('PMA_VERSION', '4.4.9'); /** * @deprecated */ @@ -752,13 +752,11 @@ class PMA_Config return null; } $ch = curl_init($link); + PMA_Util::configureCurl($ch); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); - curl_setopt($ch, CURLOPT_USERAGENT, 'phpMyAdmin/' . PMA_VERSION); curl_setopt($ch, CURLOPT_TIMEOUT, 5); if (! defined('TESTSUITE')) { session_write_close(); @@ -1029,8 +1027,9 @@ class PMA_Config if (!PMA_DRIZZLE) { // just to shorten the lines $collation = 'collation_connection'; - if (isset($_COOKIE['pma_collation_connection']) - || isset($_POST[$collation]) + if (isset($GLOBALS[$collation]) + && (isset($_COOKIE['pma_collation_connection']) + || isset($_POST[$collation])) ) { if ((! isset($config_data[$collation]) && $GLOBALS[$collation] != 'utf8_general_ci') diff --git a/libraries/DisplayResults.class.php b/libraries/DisplayResults.class.php index c6ac22c894..909e133343 100644 --- a/libraries/DisplayResults.class.php +++ b/libraries/DisplayResults.class.php @@ -1848,7 +1848,8 @@ class PMA_DisplayResults // FROM `PMA_relation` AS `1` , `PMA_relation` AS `2` $sort_tbl = (isset($fields_meta->table) - && /*overload*/mb_strlen($fields_meta->table)) + && /*overload*/mb_strlen($fields_meta->table) + && $fields_meta->orgname == $fields_meta->name) ? PMA_Util::backquote( $fields_meta->table ) . '.' @@ -2621,11 +2622,18 @@ class PMA_DisplayResults ); } - $alternating_color_class = ($odd_row ? 'odd' : 'even'); + $tr_class = array(); + if ($GLOBALS['cfg']['BrowsePointerEnable'] != true) { + $tr_class[] = 'nopointer'; + } + if ($GLOBALS['cfg']['BrowseMarkerEnable'] != true) { + $tr_class[] = 'nomarker'; + } + $tr_class[] = ($odd_row ? 'odd' : 'even'); $odd_row = ! $odd_row; // pointer code part - $table_body_html .= '<tr class="' . $alternating_color_class . '">'; + $table_body_html .= '<tr class="' . implode(' ', $tr_class) . '">'; // 1. Prepares the row // 1.1 Results from a "SELECT" statement -> builds the @@ -5172,7 +5180,10 @@ class PMA_DisplayResults } /* Create link to download */ - if (count($url_params) > 0) { + + // in PHP < 5.5, empty() only checks variables + $tmpdb = $this->__get('db'); + if ((count($url_params) > 0) && (! empty($tmpdb) && ! empty($meta->orgtable))) { $result = '<a href="tbl_get_field.php' . PMA_URL_getCommon($url_params) . '" class="disableAjax">' @@ -5550,7 +5561,7 @@ class PMA_DisplayResults $ajax = PMA_Response::getInstance()->isAjax() ? ' ajax' : ''; $ret .= 'center" ' . ' >' . PMA_Util::linkOrButton( - $del_url, $del_str, array('class' => 'delete_row' . $ajax), false + $del_url, $del_str, array('class' => 'delete_row requireConfirm' . $ajax), false ) . '<div class="hide">' . $js_conf . '</div>' . '</td>'; diff --git a/libraries/Header.class.php b/libraries/Header.class.php index 064f6aa553..d7ca50b111 100644 --- a/libraries/Header.class.php +++ b/libraries/Header.class.php @@ -441,9 +441,11 @@ class PMA_Header $retval .= $this->_menu->getDisplay(); $retval .= '<span id="lock_page_icon"></span>'; $retval .= sprintf( - '<a id="goto_pagetop" href="#" title="%s">%s</a>', - __('Click on the bar to scroll to top of page'), - PMA_Util::getImage('s_top.png') + '<a id="goto_pagetop" href="#">%s</a>', + PMA_Util::getImage( + 's_top.png', + __('Click on the bar to scroll to top of page') + ) ); } $retval .= $this->_console->getDisplay(); diff --git a/libraries/Partition.class.php b/libraries/Partition.class.php index f96285e8c6..92e597148e 100644 --- a/libraries/Partition.class.php +++ b/libraries/Partition.class.php @@ -30,8 +30,8 @@ class PMA_Partition if (PMA_Partition::havePartitioning()) { return $GLOBALS['dbi']->fetchResult( "SELECT `PARTITION_NAME` FROM `information_schema`.`PARTITIONS`" - . " WHERE `TABLE_SCHEMA` = '" . $db - . "' AND `TABLE_NAME` = '" . $table . "'" + . " WHERE `TABLE_SCHEMA` = '" . PMA_Util::sqlAddSlashes($db) + . "' AND `TABLE_NAME` = '" . PMA_Util::sqlAddSlashes($table) . "'" ); } else { return array(); diff --git a/libraries/Table.class.php b/libraries/Table.class.php index 8ece698b86..6ce4c6fe0a 100644 --- a/libraries/Table.class.php +++ b/libraries/Table.class.php @@ -970,33 +970,56 @@ class PMA_Table // add indexes to the table if (!empty($GLOBALS['sql_indexes'])) { - $parsed_sql = PMA_SQP_parse($GLOBALS['sql_indexes']); - $i = 0; - while ($parsed_sql[$i]['type'] != $table_delimiter) { - $i++; + $index_queries = array(); + $sql_indexes = $GLOBALS['sql_indexes']; + $GLOBALS['sql_indexes'] = ''; + + $parsed_sql = PMA_SQP_parse($sql_indexes); + $cnt = $parsed_sql['len'] - 1; + $k = 0; + + for ($j = 0; $j < $cnt; $j++) { + if ($parsed_sql[$j]['type'] == 'punct_queryend') { + $index_queries[] = substr( + $sql_indexes, $k, $parsed_sql[$j]['pos'] - $k + ); + $k = $parsed_sql[$j]['pos']; + } } - $parsed_sql[$i]['data'] = $target; + foreach ($index_queries as $index_query) { - $cnt = $parsed_sql['len'] - 1; + $parsed_sql = PMA_SQP_parse($index_query); + $i = 0; - for ($j = $i; $j < $cnt; $j++) { - $dataUpper = /*overload*/mb_strtoupper($parsed_sql[$j]['data']); - if ($parsed_sql[$j]['type'] == 'alpha_reservedWord' - && $dataUpper == 'CONSTRAINT' - ) { - if ($parsed_sql[$j+1]['type'] == $table_delimiter) { - $parsed_sql[$j+1]['data'] = ''; + while ($parsed_sql[$i]['type'] != $table_delimiter) { + $i++; + } + + $parsed_sql[$i]['data'] = $target; + + $cnt = $parsed_sql['len'] - 1; + + for ($j = $i; $j < $cnt; $j++) { + $dataUpper = /*overload*/mb_strtoupper($parsed_sql[$j]['data']); + if ($parsed_sql[$j]['type'] == 'alpha_reservedWord' + && $dataUpper == 'CONSTRAINT' + ) { + if ($parsed_sql[$j+1]['type'] == $table_delimiter) { + $parsed_sql[$j+1]['data'] = ''; + } } } + + $sql_index = PMA_SQP_format($parsed_sql, 'query_only'); + if ($mode == 'one_table' || $mode == 'db_copy') { + $GLOBALS['dbi']->query($sql_index); + } + + $GLOBALS['sql_indexes'] .= $sql_index; } - $GLOBALS['sql_indexes'] = PMA_SQP_format( - $parsed_sql, 'query_only' - ); - if ($mode == 'one_table' || $mode == 'db_copy') { - $GLOBALS['dbi']->query($GLOBALS['sql_indexes']); - } + $GLOBALS['sql_query'] .= "\n" . $GLOBALS['sql_indexes']; if ($mode == 'one_table' || $mode == 'db_copy') { unset($GLOBALS['sql_indexes']); diff --git a/libraries/Util.class.php b/libraries/Util.class.php index 1521fd32ae..45fd2c82bc 100644 --- a/libraries/Util.class.php +++ b/libraries/Util.class.php @@ -1797,15 +1797,6 @@ class PMA_Util $tag_params['target'] = htmlentities($target); } - $tag_params_strings = array(); - foreach ($tag_params as $par_name => $par_value) { - // htmlspecialchars() only on non javascript - $par_value = /*overload*/mb_substr($par_name, 0, 2) == 'on' - ? $par_value - : htmlspecialchars($par_value); - $tag_params_strings[] = $par_name . '="' . $par_value . '"'; - } - $displayed_message = ''; // Add text if not already added if (stristr($message, '<img') @@ -1841,6 +1832,15 @@ class PMA_Util if (($url_length <= $GLOBALS['cfg']['LinkLengthLimit']) && $in_suhosin_limits ) { + $tag_params_strings = array(); + foreach ($tag_params as $par_name => $par_value) { + // htmlspecialchars() only on non javascript + $par_value = /*overload*/mb_substr($par_name, 0, 2) == 'on' + ? $par_value + : htmlspecialchars($par_value); + $tag_params_strings[] = $par_name . '="' . $par_value . '"'; + } + // no whitespace within an <a> else Safari will make it part of the link $ret = "\n" . '<a href="' . $url . '" ' . implode(' ', $tag_params_strings) . '>' @@ -1850,11 +1850,6 @@ class PMA_Util // or after the hidden fields // IE will display them all - // add class=link to submit button - if (empty($tag_params['class'])) { - $tag_params['class'] = 'link'; - } - if (! isset($query_parts)) { $query_parts = self::splitURLQuery($url); } @@ -1886,7 +1881,22 @@ class PMA_Util . htmlspecialchars(urldecode($eachval)) . '" />'; } // end while - $ret .= "\n" . '<a href="' . $submit_link . '" class="formLinkSubmit" ' + if (empty($tag_params['class'])) { + $tag_params['class'] = 'formLinkSubmit'; + } else { + $tag_params['class'] .= ' formLinkSubmit'; + } + + $tag_params_strings = array(); + foreach ($tag_params as $par_name => $par_value) { + // htmlspecialchars() only on non javascript + $par_value = /*overload*/mb_substr($par_name, 0, 2) == 'on' + ? $par_value + : htmlspecialchars($par_value); + $tag_params_strings[] = $par_name . '="' . $par_value . '"'; + } + + $ret .= "\n" . '<a href="' . $submit_link . '" ' . implode(' ', $tag_params_strings) . '>' . $message . ' ' . $displayed_message . '</a>' . "\n"; @@ -4236,6 +4246,7 @@ class PMA_Util ); } } + curl_setopt($curl_handle, CURLOPT_USERAGENT, 'phpMyAdmin/' . PMA_VERSION); return $curl_handle; } /** diff --git a/libraries/common.inc.php b/libraries/common.inc.php index 2de8594024..8a96f8480a 100644 --- a/libraries/common.inc.php +++ b/libraries/common.inc.php @@ -331,7 +331,7 @@ if (isset($_COOKIE) * check HTTPS connection */ if ($GLOBALS['PMA_Config']->get('ForceSSL') - && ! $GLOBALS['PMA_Config']->get('is_https') + && ! $GLOBALS['PMA_Config']->detectHttps() ) { // grab SSL URL $url = $GLOBALS['PMA_Config']->getSSLUri(); @@ -487,7 +487,7 @@ if ($token_mismatch) { 'pma_lang', 'pma_collation_connection', /* Possible login form */ 'pma_servername', 'pma_username', 'pma_password', - 'recaptcha_challenge_field', 'recaptcha_response_field', + 'g-recaptcha-response', /* Needed to send the correct reply */ 'ajax_request', /* Permit to log out even if there is a token mismatch */ diff --git a/libraries/config.default.php b/libraries/config.default.php index 973443be60..6abfd117a9 100644 --- a/libraries/config.default.php +++ b/libraries/config.default.php @@ -2638,9 +2638,7 @@ $cfg['LimitChars'] = 50; /** * Where to show the edit/copy/delete links in browse mode - * Possible values are 'left', 'right', 'both' and 'none'; - * which will be interpreted as 'top', 'bottom', 'both' and 'none' - * respectively for vertical display mode + * Possible values are 'left', 'right', 'both' and 'none'. * * @global string $cfg['RowActionLinks'] */ diff --git a/libraries/config/ServerConfigChecks.class.php b/libraries/config/ServerConfigChecks.class.php index 5315797083..6deac3d8a7 100644 --- a/libraries/config/ServerConfigChecks.class.php +++ b/libraries/config/ServerConfigChecks.class.php @@ -371,38 +371,38 @@ class ServerConfigChecks $sAllowArbitraryServerWarn = __('This %soption%s should be disabled as it allows attackers to bruteforce login to any MySQL server. If you feel this is necessary, use %srestrict login to MySQL server%s or %strusted proxies list%s. However, IP-based protection with trusted proxies list may not be reliable if your IP belongs to an ISP where thousands of users, including you, are connected to.'); $sAllowArbitraryServerWarn = sprintf( $sAllowArbitraryServerWarn, - '[a@?page=form&formset=Features#tab_Security]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Security]', '[/a]', - '[a@?page=form&formset=Features#tab_Security]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Security]', '[/a]', - '[a@?page=form&formset=Features#tab_Security]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Security]', '[/a]' ); $sBlowfishSecretMsg = __('You didn\'t have blowfish secret set and have enabled [kbd]cookie[/kbd] authentication, so a key was automatically generated for you. It is used to encrypt cookies; you don\'t need to remember it.'); $sBZipDumpWarning = __('%sBzip2 compression and decompression%s requires functions (%s) which are unavailable on this system.'); $sBZipDumpWarning = sprintf( $sBZipDumpWarning, - '[a@?page=form&formset=Features#tab_Import_export]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Import_export]', '[/a]', '%s' ); $sDirectoryNotice = __('This value should be double checked to ensure that this directory is neither world accessible nor readable or writable by other users on your server.'); $sForceSSLNotice = __('This %soption%s should be enabled if your web server supports it.'); $sForceSSLNotice = sprintf( $sForceSSLNotice, - '[a@?page=form&formset=Features#tab_Security]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Security]', '[/a]' ); $sGZipDumpWarning = __('%sGZip compression and decompression%s requires functions (%s) which are unavailable on this system.'); $sGZipDumpWarning = sprintf( $sGZipDumpWarning, - '[a@?page=form&formset=Features#tab_Import_export]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Import_export]', '[/a]', '%s' ); $sLoginCookieValidityWarn = __('%sLogin cookie validity%s greater than %ssession.gc_maxlifetime%s may cause random session invalidation (currently session.gc_maxlifetime is %d).'); $sLoginCookieValidityWarn = sprintf( $sLoginCookieValidityWarn, - '[a@?page=form&formset=Features#tab_Security]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Security]', '[/a]', '[a@' . PMA_getPHPDocLink( 'session.configuration.php#ini.session.gc-maxlifetime' @@ -413,41 +413,42 @@ class ServerConfigChecks $sLoginCookieValidityWarn2 = __('%sLogin cookie validity%s should be set to 1800 seconds (30 minutes) at most. Values larger than 1800 may pose a security risk such as impersonation.'); $sLoginCookieValidityWarn2 = sprintf( $sLoginCookieValidityWarn2, - '[a@?page=form&formset=Features#tab_Security]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Security]', '[/a]' ); $sLoginCookieValidityWarn3 = __('If using [kbd]cookie[/kbd] authentication and %sLogin cookie store%s is not 0, %sLogin cookie validity%s must be set to a value less or equal to it.'); $sLoginCookieValidityWarn3 = sprintf( $sLoginCookieValidityWarn3, - '[a@?page=form&formset=Features#tab_Security]', - '[/a]', '[a@?page=form&formset=Features#tab_Security]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Security]', + '[/a]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Security]', '[/a]' ); $sSecurityInfoMsg = __('If you feel this is necessary, use additional protection settings - %shost authentication%s settings and %strusted proxies list%s. However, IP-based protection may not be reliable if your IP belongs to an ISP where thousands of users, including you, are connected to.'); $sSecurityInfoMsg = sprintf( $sSecurityInfoMsg, - '[a@?page=servers&mode=edit&id=%1$d#tab_Server_config]', + '[a@?page=servers' . PMA_URL_getCommon(array(), 'html', '&') . '&mode=edit&id=%1$d#tab_Server_config]', '[/a]', - '[a@?page=form&formset=Features#tab_Security]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Security]', '[/a]' ); $sServerAuthConfigMsg = __('You set the [kbd]config[/kbd] authentication type and included username and password for auto-login, which is not a desirable option for live hosts. Anyone who knows or guesses your phpMyAdmin URL can directly access your phpMyAdmin panel. Set %sauthentication type%s to [kbd]cookie[/kbd] or [kbd]http[/kbd].'); $sServerAuthConfigMsg = sprintf( $sServerAuthConfigMsg, - '[a@?page=servers&mode=edit&id=%1$d#tab_Server]', + '[a@?page=servers' . PMA_URL_getCommon(array(), 'html', '&') . '&mode=edit&id=%1$d#tab_Server]', '[/a]' ); $sZipDumpExportWarn = __('%sZip compression%s requires functions (%s) which are unavailable on this system.'); $sZipDumpExportWarn = sprintf( $sZipDumpExportWarn, - '[a@?page=form&formset=Features#tab_Import_export]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Import_export]', '[/a]', '%s' ); $sZipDumpImportWarn = __('%sZip decompression%s requires functions (%s) which are unavailable on this system.'); $sZipDumpImportWarn = sprintf( $sZipDumpImportWarn, - '[a@?page=form&formset=Features#tab_Import_export]', + '[a@?page=form' . PMA_URL_getCommon(array(), 'html', '&') . '&formset=Features#tab_Import_export]', '[/a]', '%s' ); diff --git a/libraries/config/user_preferences.forms.php b/libraries/config/user_preferences.forms.php index 150642e93f..31fdf15953 100644 --- a/libraries/config/user_preferences.forms.php +++ b/libraries/config/user_preferences.forms.php @@ -32,7 +32,6 @@ $forms['Features']['General'] = array( 'DisableMultiTableMaintenance', 'MaxDbList', 'MaxTableList', - 'NumFavoriteTables', 'ShowHint', 'SendErrorReports' ); diff --git a/libraries/core.lib.php b/libraries/core.lib.php index 4add6f4680..a31f29dbe9 100644 --- a/libraries/core.lib.php +++ b/libraries/core.lib.php @@ -709,7 +709,9 @@ function PMA_downloadHeader($filename, $mimetype, $length = 0, $no_cache = true) header('Content-Type: ' . $mimetype); // inform the server that compression has been done, // to avoid a double compression (for example with Apache + mod_deflate) - if (strpos($mimetype, 'gzip') !== false) { + $notChromeOrLessThan43 = PMA_USR_BROWSER_AGENT != 'CHROME' // see bug #4942 + || (PMA_USR_BROWSER_AGENT == 'CHROME' && PMA_USR_BROWSER_VER < 43); + if (strpos($mimetype, 'gzip') !== false && $notChromeOrLessThan43) { header('Content-Encoding: gzip'); } header('Content-Transfer-Encoding: binary'); diff --git a/libraries/display_git_revision.lib.php b/libraries/display_git_revision.lib.php index fe22b931eb..0e633fd8a4 100644 --- a/libraries/display_git_revision.lib.php +++ b/libraries/display_git_revision.lib.php @@ -66,7 +66,7 @@ function PMA_printGitRevision() . sprintf( __('committed on %1$s by %2$s'), PMA_Util::localisedDate(strtotime($committer['date'])), - '<a href="' . PMA_linkURL('mailto:' . $committer['email']) . '">' + '<a href="' . PMA_linkURL('mailto:' . htmlspecialchars($committer['email'])) . '">' . htmlspecialchars($committer['name']) . '</a>' ) . ($author != $committer @@ -74,7 +74,7 @@ function PMA_printGitRevision() . sprintf( __('authored on %1$s by %2$s'), PMA_Util::localisedDate(strtotime($author['date'])), - '<a href="' . PMA_linkURL('mailto:' . $author['email']) . '">' + '<a href="' . PMA_linkURL('mailto:' . htmlspecialchars($author['email'])) . '">' . htmlspecialchars($author['name']) . '</a>' ) : ''), diff --git a/libraries/error_report.lib.php b/libraries/error_report.lib.php index 9a9768a410..5766b01f36 100644 --- a/libraries/error_report.lib.php +++ b/libraries/error_report.lib.php @@ -197,7 +197,7 @@ function PMA_sendErrorReport($report) ) ); $context = PMA_Util::handleContext($context); - $response = file_get_contents( + $response = @file_get_contents( SUBMISSION_URL, false, stream_context_create($context) diff --git a/libraries/export.lib.php b/libraries/export.lib.php index a345b64744..a8c598cf87 100644 --- a/libraries/export.lib.php +++ b/libraries/export.lib.php @@ -54,10 +54,14 @@ function PMA_gzencodeNeeded() * and gz compression was not asked via $cfg['OBGzip'] * but transparent compression does not apply when saving to server */ + $chromeAndGreaterThan43 = PMA_USR_BROWSER_AGENT == 'CHROME' + && PMA_USR_BROWSER_VER >= 43; // see bug #4942 + if (@function_exists('gzencode') && ((! @ini_get('zlib.output_compression') && ! PMA_isGzHandlerEnabled()) - || $GLOBALS['save_on_server']) + || $GLOBALS['save_on_server'] + || $chromeAndGreaterThan43) ) { return true; } else { diff --git a/libraries/language_stats.inc.php b/libraries/language_stats.inc.php index 584ff9a569..9511f7999c 100644 --- a/libraries/language_stats.inc.php +++ b/libraries/language_stats.inc.php @@ -5,24 +5,24 @@ $GLOBALS["language_stats"] = array ( 'af' => 9, 'ar' => 38, - 'az' => 57, - 'be@latin' => 26, + 'az' => 58, 'be' => 27, + 'be@latin' => 26, 'bg' => 62, 'bn' => 82, 'br' => 19, 'bs' => 14, 'ca' => 99, - 'ckb' => 17, + 'ckb' => 20, 'cs' => 96, 'cy' => 19, 'da' => 99, - 'de' => 99, + 'de' => 100, 'el' => 100, 'en_GB' => 88, 'eo' => 2, 'es' => 98, - 'et' => 99, + 'et' => 100, 'eu' => 17, 'fa' => 27, 'fi' => 63, @@ -36,7 +36,7 @@ $GLOBALS["language_stats"] = array ( 'hy' => 3, 'ia' => 69, 'id' => 73, - 'it' => 99, + 'it' => 100, 'ja' => 73, 'ka' => 15, 'kk' => 10, @@ -57,16 +57,16 @@ $GLOBALS["language_stats"] = array ( 'nl' => 100, 'pa' => 2, 'pl' => 86, - 'pt_BR' => 99, 'pt' => 59, + 'pt_BR' => 99, 'ro' => 58, - 'ru' => 96, + 'ru' => 97, 'si' => 65, 'sk' => 84, 'sl' => 99, 'sq' => 99, - 'sr@latin' => 50, 'sr' => 25, + 'sr@latin' => 50, 'sv' => 88, 'ta' => 38, 'te' => 10, @@ -77,11 +77,11 @@ $GLOBALS["language_stats"] = array ( 'ug' => 11, 'uk' => 89, 'ur' => 19, - 'uz@latin' => 35, 'uz' => 36, + 'uz@latin' => 35, 'vi' => 2, 'vls' => 3, 'zh_CN' => 80, - 'zh_TW' => 95, + 'zh_TW' => 98, ); ?> diff --git a/libraries/operations.lib.php b/libraries/operations.lib.php index 782d6e0eb9..220fe42477 100644 --- a/libraries/operations.lib.php +++ b/libraries/operations.lib.php @@ -743,8 +743,10 @@ function PMA_getTableOptionFieldset($comment, $tbl_collation, . '</tr>'; //Table comments + $commentLength = PMA_MYSQL_INT_VERSION >= 50503 ? 2048 : 60; $html_output .= '<tr><td>' . __('Table comments') . '</td>' - . '<td><input type="text" name="comment" maxlength="60" size="30"' + . '<td><input type="text" name="comment"' + . ' maxlength="' . $commentLength . '" size="30"' . 'value="' . htmlspecialchars($comment) . '" />' . '<input type="hidden" name="prev_comment" value="' . htmlspecialchars($comment) . '" />' diff --git a/libraries/plugins/auth/AuthenticationCookie.class.php b/libraries/plugins/auth/AuthenticationCookie.class.php index 7db3eb2071..b0df749205 100644 --- a/libraries/plugins/auth/AuthenticationCookie.class.php +++ b/libraries/plugins/auth/AuthenticationCookie.class.php @@ -323,50 +323,6 @@ class AuthenticationCookie extends AuthenticationPlugin return false; } - // We already have one correct captcha. - $skip = false; - if ( isset($_SESSION['last_valid_captcha']) - && $_SESSION['last_valid_captcha'] - ) { - $skip = true; - } - - // Verify Captcha if it is required. - if ( !empty($GLOBALS['cfg']['CaptchaLoginPrivateKey']) - && !empty($GLOBALS['cfg']['CaptchaLoginPublicKey']) - && !$skip - ) { - if (! empty($_POST["g-recaptcha-response"])) { - - include_once 'libraries/plugins/auth/recaptcha/recaptchalib.php'; - $reCaptcha = new ReCaptcha( - $GLOBALS['cfg']['CaptchaLoginPrivateKey'] - ); - - // verify captcha status. - $resp = $reCaptcha->verifyResponse( - $_SERVER["REMOTE_ADDR"], - $_POST["g-recaptcha-response"] - ); - - // Check if the captcha entered is valid, if not stop the login. - if ($resp == null || ! $resp->success) { - $conn_error = __('Entered captcha is wrong, try again!'); - $_SESSION['last_valid_captcha'] = false; - return false; - } else { - $_SESSION['last_valid_captcha'] = true; - } - } else { - if (! isset($_SESSION['last_valid_captcha']) - || ! $_SESSION['last_valid_captcha'] - ) { - $conn_error = __('Please enter correct captcha!'); - return false; - } - } - } - if (! empty($_REQUEST['old_usr'])) { // The user wants to be logged out // -> delete his choices that were stored in session @@ -398,6 +354,51 @@ class AuthenticationCookie extends AuthenticationPlugin } if (! empty($_REQUEST['pma_username'])) { + + // We already have one correct captcha. + $skip = false; + if (isset($_SESSION['last_valid_captcha']) + && $_SESSION['last_valid_captcha'] + ) { + $skip = true; + } + + // Verify Captcha if it is required. + if (! empty($GLOBALS['cfg']['CaptchaLoginPrivateKey']) + && ! empty($GLOBALS['cfg']['CaptchaLoginPublicKey']) + && ! $skip + ) { + if (! empty($_POST["g-recaptcha-response"])) { + + include_once 'libraries/plugins/auth/recaptcha/recaptchalib.php'; + $reCaptcha = new ReCaptcha( + $GLOBALS['cfg']['CaptchaLoginPrivateKey'] + ); + + // verify captcha status. + $resp = $reCaptcha->verifyResponse( + $_SERVER["REMOTE_ADDR"], + $_POST["g-recaptcha-response"] + ); + + // Check if the captcha entered is valid, if not stop the login. + if ($resp == null || ! $resp->success) { + $conn_error = __('Entered captcha is wrong, try again!'); + $_SESSION['last_valid_captcha'] = false; + return false; + } else { + $_SESSION['last_valid_captcha'] = true; + } + } else { + if (! isset($_SESSION['last_valid_captcha']) + || ! $_SESSION['last_valid_captcha'] + ) { + $conn_error = __('Please enter correct captcha!'); + return false; + } + } + } + // The user just logged in $GLOBALS['PHP_AUTH_USER'] = $_REQUEST['pma_username']; $GLOBALS['PHP_AUTH_PW'] = empty($_REQUEST['pma_password']) diff --git a/libraries/plugins/auth/swekey/swekey.php b/libraries/plugins/auth/swekey/swekey.php index 91547161e0..baba5ee696 100644 --- a/libraries/plugins/auth/swekey/swekey.php +++ b/libraries/plugins/auth/swekey/swekey.php @@ -222,7 +222,7 @@ function Swekey_HttpGet($url, &$response_code) } curl_setopt($sess, CURLOPT_SSL_VERIFYHOST, '2'); - curl_setopt($sess, CURLOPT_SSL_VERIFYPEER, '2'); + curl_setopt($sess, CURLOPT_SSL_VERIFYPEER, '1'); curl_setopt($sess, CURLOPT_CONNECTTIMEOUT, '20'); curl_setopt($sess, CURLOPT_TIMEOUT, '20'); } else { diff --git a/libraries/plugins/export/ExportSql.class.php b/libraries/plugins/export/ExportSql.class.php index 91227abcd8..eb335f3d83 100644 --- a/libraries/plugins/export/ExportSql.class.php +++ b/libraries/plugins/export/ExportSql.class.php @@ -737,6 +737,9 @@ class ExportSql extends ExportPlugin // by default we use the connection charset $set_names = $mysql_charset_map['utf-8']; } + if ($set_names == 'utf8' && PMA_MYSQL_INT_VERSION > 50503) { + $set_names = 'utf8mb4'; + } $head .= $crlf . '/*!40101 SET @OLD_CHARACTER_SET_CLIENT=' . '@@CHARACTER_SET_CLIENT */;' . $crlf @@ -1443,11 +1446,33 @@ class ExportSql extends ExportPlugin $sql_lines[$j], 'CONSTRAINT' ); + $tmp_str = $sql_lines[$j]; + if (! $sql_backquotes) { + $matches = array(); + $matched = preg_match( + '/REFERENCES[\s]([\S]*)[\s]\(([\S]*)\)/', + $tmp_str, + $matches + ); + if ($matched) { + $refTable = PMA_Util::backquoteCompat( + $matches[1], $compat, $sql_backquotes + ); + $refColumn = PMA_Util::backquoteCompat( + $matches[2], $compat, $sql_backquotes + ); + $tmp_str = preg_replace( + '/REFERENCES[\s]([\S]*)[\s]\(([\S]*)\)/', + 'REFERENCES ' . $refTable . ' (' . $refColumn . ')', + $tmp_str + ); + } + } if ($posConstraint === false) { $tmp_str = preg_replace( '/(FOREIGN[\s]+KEY)/', ' ADD \1', - $sql_lines[$j] + $tmp_str ); $sql_constraints_query .= $tmp_str; @@ -1457,7 +1482,7 @@ class ExportSql extends ExportPlugin $tmp_str = preg_replace( '/(CONSTRAINT)/', ' ADD \1', - $sql_lines[$j] + $tmp_str ); $sql_constraints_query .= $tmp_str; diff --git a/libraries/server_privileges.lib.php b/libraries/server_privileges.lib.php index f3810852ed..9a6a5f3f18 100644 --- a/libraries/server_privileges.lib.php +++ b/libraries/server_privileges.lib.php @@ -2521,7 +2521,7 @@ function PMA_getUserLink( $html .= PMA_Util::getIcon('b_tblexport.png', __('Export')); break; } - $html . '</a>'; + $html .= '</a>'; return $html; } diff --git a/libraries/structure.lib.php b/libraries/structure.lib.php index 60dabad94b..ed2390df32 100644 --- a/libraries/structure.lib.php +++ b/libraries/structure.lib.php @@ -1577,6 +1577,13 @@ function PMA_getHtmlForEditView($url_params) . " AND TABLE_NAME='" . PMA_Util::sqlAddSlashes($GLOBALS['table']) . "';"; $item = $GLOBALS['dbi']->fetchSingleRow($query); + $query = "SHOW CREATE TABLE " . PMA_Util::backquote($GLOBALS['db']) + . "." . PMA_Util::backquote($GLOBALS['table']); + $createView = $GLOBALS['dbi']->fetchValue($query, 0, 'Create View'); + // get algorithm from $createView of the form CREATE ALGORITHM=<ALGORITHM> DE... + $parts = explode(" ", substr($createView, 17)); + $item['ALGORITHM'] = $parts[0]; + $view = array( 'operation' => 'alter', 'definer' => $item['DEFINER'], @@ -1584,6 +1591,7 @@ function PMA_getHtmlForEditView($url_params) 'name' => $GLOBALS['table'], 'as' => $item['VIEW_DEFINITION'], 'with' => $item['CHECK_OPTION'], + 'algorithm' => $item['ALGORITHM'], ); $url = 'view_create.php' . PMA_URL_getCommon($url_params) . '&'; $url .= implode( diff --git a/libraries/tbl_columns_definition_form.lib.php b/libraries/tbl_columns_definition_form.lib.php index ce49a0ef47..9626ac6eb7 100644 --- a/libraries/tbl_columns_definition_form.lib.php +++ b/libraries/tbl_columns_definition_form.lib.php @@ -83,8 +83,10 @@ function PMA_getHtmlForTableConfigurations() . '</th>' . '</tr>'; + $commentLength = PMA_MYSQL_INT_VERSION >= 50503 ? 2048 : 60; $html .= '<tr>' - . '<td><input type="text" name="comment" size="40" maxlength="80"' + . '<td><input type="text" name="comment"' + . ' size="40" maxlength="' . $commentLength . '"' . ' value="' . (isset($_REQUEST['comment']) ? htmlspecialchars($_REQUEST['comment']) @@ -238,7 +240,7 @@ function PMA_getHtmlForTableFieldDefinitions($header_cells, $content_cells) } /** - * Function to get html for the hidden fields containing index creation info + * Function to get html for the hidden fields containing index creation info * * @param string $index_type the index type * @@ -248,7 +250,7 @@ function PMA_getHtmlForHiddenIndexInfo($index_type) { $html = '<input type="hidden" name="' . $index_type . '" value="'; if (! empty($_REQUEST[$index_type])) { - // happens when an index has been set on a column, + // happens when an index has been set on a column, // and a column is added to the table creation dialog // // this contains a JSON-encoded string @@ -259,7 +261,7 @@ function PMA_getHtmlForHiddenIndexInfo($index_type) $html .= '">'; return $html; -} +} /** * Function to get html for the create table or field add view diff --git a/libraries/url_generating.lib.php b/libraries/url_generating.lib.php index bc078ad9f1..799489b225 100644 --- a/libraries/url_generating.lib.php +++ b/libraries/url_generating.lib.php @@ -179,6 +179,7 @@ function PMA_URL_getCommon($params = array(), $encode = 'html', $divider = '?') if (isset($GLOBALS['server']) && $GLOBALS['server'] != $GLOBALS['cfg']['ServerDefault'] && ! isset($params['server']) + && ! defined('PMA_SETUP') ) { $params['server'] = $GLOBALS['server']; } diff --git a/locale/az/LC_MESSAGES/phpmyadmin.mo b/locale/az/LC_MESSAGES/phpmyadmin.mo Binary files differindex 6d082b85ab..d681fca4e2 100644 --- a/locale/az/LC_MESSAGES/phpmyadmin.mo +++ b/locale/az/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/bg/LC_MESSAGES/phpmyadmin.mo b/locale/bg/LC_MESSAGES/phpmyadmin.mo Binary files differindex 1c17ab7450..77c79ab9bc 100644 --- a/locale/bg/LC_MESSAGES/phpmyadmin.mo +++ b/locale/bg/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/ca/LC_MESSAGES/phpmyadmin.mo b/locale/ca/LC_MESSAGES/phpmyadmin.mo Binary files differindex 0727988e17..a67b2f098b 100644 --- a/locale/ca/LC_MESSAGES/phpmyadmin.mo +++ b/locale/ca/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/cs/LC_MESSAGES/phpmyadmin.mo b/locale/cs/LC_MESSAGES/phpmyadmin.mo Binary files differindex 17f8be36b2..0a5451382b 100644 --- a/locale/cs/LC_MESSAGES/phpmyadmin.mo +++ b/locale/cs/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/de/LC_MESSAGES/phpmyadmin.mo b/locale/de/LC_MESSAGES/phpmyadmin.mo Binary files differindex 319c87729d..0c3f108609 100644 --- a/locale/de/LC_MESSAGES/phpmyadmin.mo +++ b/locale/de/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/el/LC_MESSAGES/phpmyadmin.mo b/locale/el/LC_MESSAGES/phpmyadmin.mo Binary files differindex b2e2bad627..c937396516 100644 --- a/locale/el/LC_MESSAGES/phpmyadmin.mo +++ b/locale/el/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/et/LC_MESSAGES/phpmyadmin.mo b/locale/et/LC_MESSAGES/phpmyadmin.mo Binary files differindex 02671f7291..303731fb5c 100644 --- a/locale/et/LC_MESSAGES/phpmyadmin.mo +++ b/locale/et/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/fr/LC_MESSAGES/phpmyadmin.mo b/locale/fr/LC_MESSAGES/phpmyadmin.mo Binary files differindex 19d80d64e7..0653b3dbfe 100644 --- a/locale/fr/LC_MESSAGES/phpmyadmin.mo +++ b/locale/fr/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/hu/LC_MESSAGES/phpmyadmin.mo b/locale/hu/LC_MESSAGES/phpmyadmin.mo Binary files differindex 72c52e6fa2..29b983003a 100644 --- a/locale/hu/LC_MESSAGES/phpmyadmin.mo +++ b/locale/hu/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/id/LC_MESSAGES/phpmyadmin.mo b/locale/id/LC_MESSAGES/phpmyadmin.mo Binary files differindex 45bf015925..7e360071e2 100644 --- a/locale/id/LC_MESSAGES/phpmyadmin.mo +++ b/locale/id/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/it/LC_MESSAGES/phpmyadmin.mo b/locale/it/LC_MESSAGES/phpmyadmin.mo Binary files differindex 685d581f91..79e98705e0 100644 --- a/locale/it/LC_MESSAGES/phpmyadmin.mo +++ b/locale/it/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/nb/LC_MESSAGES/phpmyadmin.mo b/locale/nb/LC_MESSAGES/phpmyadmin.mo Binary files differindex 64d743f911..bd2817ea48 100644 --- a/locale/nb/LC_MESSAGES/phpmyadmin.mo +++ b/locale/nb/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/nl/LC_MESSAGES/phpmyadmin.mo b/locale/nl/LC_MESSAGES/phpmyadmin.mo Binary files differindex d892a55ef0..9dd8b17f2c 100644 --- a/locale/nl/LC_MESSAGES/phpmyadmin.mo +++ b/locale/nl/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/pt/LC_MESSAGES/phpmyadmin.mo b/locale/pt/LC_MESSAGES/phpmyadmin.mo Binary files differindex ac83214f92..e27dbcf221 100644 --- a/locale/pt/LC_MESSAGES/phpmyadmin.mo +++ b/locale/pt/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo b/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo Binary files differindex 1025065608..f2da199219 100644 --- a/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo +++ b/locale/pt_BR/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/ro/LC_MESSAGES/phpmyadmin.mo b/locale/ro/LC_MESSAGES/phpmyadmin.mo Binary files differindex 2bd9f6b350..4628233fe6 100644 --- a/locale/ro/LC_MESSAGES/phpmyadmin.mo +++ b/locale/ro/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/ru/LC_MESSAGES/phpmyadmin.mo b/locale/ru/LC_MESSAGES/phpmyadmin.mo Binary files differindex 9060310cf1..9acf1b7590 100644 --- a/locale/ru/LC_MESSAGES/phpmyadmin.mo +++ b/locale/ru/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/sk/LC_MESSAGES/phpmyadmin.mo b/locale/sk/LC_MESSAGES/phpmyadmin.mo Binary files differindex 42f576e67e..9eb3911d8a 100644 --- a/locale/sk/LC_MESSAGES/phpmyadmin.mo +++ b/locale/sk/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/sl/LC_MESSAGES/phpmyadmin.mo b/locale/sl/LC_MESSAGES/phpmyadmin.mo Binary files differindex 2aa213729d..59df614e80 100644 --- a/locale/sl/LC_MESSAGES/phpmyadmin.mo +++ b/locale/sl/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/tr/LC_MESSAGES/phpmyadmin.mo b/locale/tr/LC_MESSAGES/phpmyadmin.mo Binary files differindex a38cf5618d..5c0b5dd1df 100644 --- a/locale/tr/LC_MESSAGES/phpmyadmin.mo +++ b/locale/tr/LC_MESSAGES/phpmyadmin.mo diff --git a/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo b/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo Binary files differindex f20f766431..151c2faae5 100644 --- a/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo +++ b/locale/zh_TW/LC_MESSAGES/phpmyadmin.mo diff --git a/themes/original/css/common.css.php b/themes/original/css/common.css.php index 49b55a3ea5..58b6cd1b67 100644 --- a/themes/original/css/common.css.php +++ b/themes/original/css/common.css.php @@ -281,38 +281,30 @@ table tr.even { text-align: <?php echo $left; ?>; } -<?php if ($GLOBALS['cfg']['BrowseMarkerEnable']) { ?> - /* marked table rows */ - td.marked, - table tr.marked td, - table tr.marked th, - table tr.marked { - background: <?php echo $GLOBALS['cfg']['BrowseMarkerBackground']; ?>; - color: <?php echo $GLOBALS['cfg']['BrowseMarkerColor']; ?>; - } - <?php +/* 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: <?php echo $GLOBALS['cfg']['BrowseMarkerBackground']; ?>; + color: <?php echo $GLOBALS['cfg']['BrowseMarkerColor']; ?>; } -?> -<?php if ($GLOBALS['cfg']['BrowsePointerEnable']) { ?> - /* hovered items */ - .odd:hover, - .even:hover, - .hover { - background: <?php echo $GLOBALS['cfg']['BrowsePointerBackground']; ?>; - color: <?php echo $GLOBALS['cfg']['BrowsePointerColor']; ?>; - } +/* hovered items */ +.odd:not(.nopointer):hover, +.even:not(.nopointer):hover, +.hover:not(.nopointer) { + background: <?php echo $GLOBALS['cfg']['BrowsePointerBackground']; ?>; + color: <?php echo $GLOBALS['cfg']['BrowsePointerColor']; ?>; +} - /* hovered table rows */ - table tr.odd:hover th, - table tr.even:hover th, - table tr.hover th { - background: <?php echo $GLOBALS['cfg']['BrowsePointerBackground']; ?>; - color: <?php echo $GLOBALS['cfg']['BrowsePointerColor']; ?>; - } - <?php +/* hovered table rows */ +table tr.odd:not(.nopointer):hover th, +table tr.even:not(.nopointer):hover th, +table tr.hover:not(.nopointer) th { + background: <?php echo $GLOBALS['cfg']['BrowsePointerBackground']; ?>; + color: <?php echo $GLOBALS['cfg']['BrowsePointerColor']; ?>; } -?> /** * marks table rows/cells if the db field is in a where condition @@ -2285,11 +2277,6 @@ fieldset .disabled-field td { height: 10em; } -.cEdit .edit_area_right { - position: absolute; - right: 0; -} - .cEdit .goto_link { background: #EEE; color: #555; diff --git a/themes/pmahomme/css/common.css.php b/themes/pmahomme/css/common.css.php index ef51d8678d..46d4ac1eca 100644 --- a/themes/pmahomme/css/common.css.php +++ b/themes/pmahomme/css/common.css.php @@ -564,36 +564,30 @@ table tr.even { text-align: <?php echo $left; ?>; } -<?php if ($GLOBALS['cfg']['BrowseMarkerEnable']) { ?> - /* marked table rows */ - td.marked, - table tr.marked td, - table tr.marked th, - table tr.marked { +/* marked table rows */ +td.marked:not(.nomarker), +table tr.marked:not(.nomarker) td, +table tr.marked:not(.nomarker) th, +table tr.marked:not(.nomarker) { <?php echo $_SESSION['PMA_Theme']->getCssGradient('ced6df', 'b6c6d7'); ?> color: <?php echo $GLOBALS['cfg']['BrowseMarkerColor']; ?>; - } - <?php -} ?> +} -<?php if ($GLOBALS['cfg']['BrowsePointerEnable']) { ?> - /* hovered items */ - .odd:hover, - .even:hover, - .hover { +/* hovered items */ +.odd:not(.nopointer):hover, +.even:not(.nopointer):hover, +.hover:not(.nopointer) { <?php echo $_SESSION['PMA_Theme']->getCssGradient('ced6df', 'b6c6d7'); ?> color: <?php echo $GLOBALS['cfg']['BrowsePointerColor']; ?>; - } +} - /* hovered table rows */ - table tr.odd:hover th, - table tr.even:hover th, - table tr.hover th { +/* hovered table rows */ +table tr.odd:not(.nopointer):hover th, +table tr.even:not(.nopointer):hover th, +table tr.hover:not(.nopointer) th { <?php echo $_SESSION['PMA_Theme']->getCssGradient('ced6df', 'b6c6d7'); ?> color: <?php echo $GLOBALS['cfg']['BrowsePointerColor']; ?>; - } - <?php -} ?> +} /** * marks table rows/cells if the db field is in a where condition @@ -2857,11 +2851,6 @@ fieldset .disabled-field td { height: 10em; } -.cEdit .edit_area_right { - position: absolute; - right: 0; -} - .cEdit .goto_link { background: #EEE; color: #555; diff --git a/themes/pmahomme/css/navigation.css.php b/themes/pmahomme/css/navigation.css.php index 3ea9d9aaa1..2d4a6f8271 100644 --- a/themes/pmahomme/css/navigation.css.php +++ b/themes/pmahomme/css/navigation.css.php @@ -185,8 +185,6 @@ if (! defined('PMA_MINIMUM_COMMON') && ! defined('TESTSUITE')) { padding-bottom: 4px; clear: both; min-height: 16px; - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; } #pma_navigation_tree img { margin: 0; @@ -301,6 +299,7 @@ li.fast_filter span { cursor: pointer; font-weight: bold; color: #800; + font-size: 0.7em; } /* IE10+ has its own reset X */ html.ie li.fast_filter span { |