diff --git a/ChangeLog b/ChangeLog index 3cfa6f99fe..c2611b1b1f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,8 @@ phpMyAdmin - ChangeLog - issue #12772 Fix case where the central columns attributes don't get filled in - issue #14049 Fix case where the query builder doesn't work when selected column is * - issue #14029 Revert "Browse" table CSS overflow +- issue #14241 Dropping indexes and foreign keys fail +- issue #14227 Relational linking broken 4.8.0.1 (2018-04-19) - issue [security] Multiple CSRF vulnerabilities, See PMASA-2018-02 diff --git a/js/indexes.js b/js/indexes.js index d096144439..19744833c9 100644 --- a/js/indexes.js +++ b/js/indexes.js @@ -601,10 +601,7 @@ AJAX.registerOnload('indexes.js', function () { $anchor.PMA_confirm(question, $anchor.attr('href'), function (url) { var $msg = PMA_ajaxShowMessage(PMA_messages.strDroppingPrimaryKeyIndex, false); - var params = { - 'is_js_confirmed': 1, - 'ajax_request': true - }; + var params = getJSConfirmCommonParam(this, $anchor.getPostData()); $.post(url, params, function (data) { if (typeof data !== 'undefined' && data.success === true) { PMA_ajaxRemoveMessage($msg); diff --git a/js/tbl_relation.js b/js/tbl_relation.js index a2211f4e7c..6446b8b1e6 100644 --- a/js/tbl_relation.js +++ b/js/tbl_relation.js @@ -222,10 +222,7 @@ AJAX.registerOnload('tbl_relation.js', function () { $anchor.PMA_confirm(question, $anchor.attr('href'), function (url) { var $msg = PMA_ajaxShowMessage(PMA_messages.strDroppingForeignKey, false); - var params = { - 'is_js_confirmed': 1, - 'ajax_request': true - }; + var params = getJSConfirmCommonParam(this, $anchor.getPostData()); $.post(url, params, function (data) { if (data.success === true) { PMA_ajaxRemoveMessage($msg); diff --git a/libraries/classes/Display/Results.php b/libraries/classes/Display/Results.php index 7784e496f3..bdbdd1b7a7 100644 --- a/libraries/classes/Display/Results.php +++ b/libraries/classes/Display/Results.php @@ -5301,11 +5301,11 @@ class Results // user chose "relational key" in the display options, so // the title contains the display field $title = (! empty($dispval)) - ? ' title="' . htmlspecialchars($dispval) . '"' + ? htmlspecialchars($dispval) : ''; } else { - $title = ' title="' . htmlspecialchars($data) . '"'; + $title = htmlspecialchars($data); } $_url_params = array( @@ -5320,14 +5320,10 @@ class Results . $where_comparison, ); - $result .= ''; - if ($transformation_plugin != $default_function) { // always apply a transformation on the real data, // not on the display field - $result .= $transformation_plugin->applyTransformation( + $message = $transformation_plugin->applyTransformation( $data, $transform_options, $meta @@ -5339,14 +5335,18 @@ class Results ) { // user chose "relational display field" in the // display options, so show display field in the cell - $result .= $default_function($dispval); + $message = $default_function($dispval); } else { // otherwise display data in the cell - $result .= $default_function($data); + $message = $default_function($data); } } - $result .= ''; + $result .= Util::linkOrButton( + 'sql.php' . Url::getCommon($_url_params), + $message, + array('class' => 'ajax', 'title' => $title) + ); } } else { diff --git a/libraries/classes/Index.php b/libraries/classes/Index.php index 6a456ae095..c971e5b363 100644 --- a/libraries/classes/Index.php +++ b/libraries/classes/Index.php @@ -765,12 +765,12 @@ class Index $r .= '