From eb36bef6a9f42a063f5940d5b61730b51cafdf91 Mon Sep 17 00:00:00 2001 From: Rouslan Placella Date: Thu, 22 Mar 2012 20:03:01 +0000 Subject: [PATCH 1/2] Fixed bug #3509686 - reverting sort on joined column does not work --- libraries/display_tbl.lib.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libraries/display_tbl.lib.php b/libraries/display_tbl.lib.php index eefe2214f8..ffbb08c925 100644 --- a/libraries/display_tbl.lib.php +++ b/libraries/display_tbl.lib.php @@ -926,9 +926,18 @@ function PMA_displayTableHeaders(&$is_display, &$fields_meta, $fields_cnt = 0, $ && strpos($sort_expression_nodirection, $sort_tbl) === false && strpos($sort_expression_nodirection, '(') === false ) { - $sort_expression_nodirection = $sort_tbl . $sort_expression_nodirection; + $new_sort_expression_nodirection = $sort_tbl . $sort_expression_nodirection; + } + + $is_in_sort = false; + $sort_name = str_replace('`', '', $sort_tbl) . $name_to_use_in_sort; + if ( + $sort_name == str_replace('`', '', $new_sort_expression_nodirection) + || + $sort_name == str_replace('`', '', $sort_expression_nodirection) + ) { + $is_in_sort = true; } - $is_in_sort = (str_replace('`', '', $sort_tbl) . $name_to_use_in_sort == str_replace('`', '', $sort_expression_nodirection) ? true : false); } // 2.1.3 Check the field name for a bracket. // If it contains one, it's probably a function column From 5cdc8bbcd7bbf0aabf4bd210aebcc8ff6b4efd6e Mon Sep 17 00:00:00 2001 From: Rouslan Placella Date: Fri, 23 Mar 2012 14:08:52 +0000 Subject: [PATCH 2/2] Fixed uninitialised value from commit eb36bef6a9f4 --- libraries/display_tbl.lib.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/display_tbl.lib.php b/libraries/display_tbl.lib.php index ffbb08c925..af896e458d 100644 --- a/libraries/display_tbl.lib.php +++ b/libraries/display_tbl.lib.php @@ -927,6 +927,8 @@ function PMA_displayTableHeaders(&$is_display, &$fields_meta, $fields_cnt = 0, $ && strpos($sort_expression_nodirection, '(') === false ) { $new_sort_expression_nodirection = $sort_tbl . $sort_expression_nodirection; + } else { + $new_sort_expression_nodirection = $sort_expression_nodirection; } $is_in_sort = false;