From df68f8de7636d20b7ddfc3d7bb32c4cfd56135ae Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Fri, 22 Apr 2011 17:11:19 +0530 Subject: [PATCH] Bug #3291397 Empty field does not honor field type --- libraries/display_tbl.lib.php | 70 ++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 26 deletions(-) diff --git a/libraries/display_tbl.lib.php b/libraries/display_tbl.lib.php index d8e29e101..70b9710ed 100644 --- a/libraries/display_tbl.lib.php +++ b/libraries/display_tbl.lib.php @@ -990,10 +990,48 @@ function PMA_buildNullDisplay($class, $condition_field) { * * @return string the td */ -function PMA_buildEmptyDisplay($class, $condition_field, $align = '') { - return ' '; +function PMA_buildEmptyDisplay($class, $condition_field, $meta, $align = '') { + $nowrap = ' nowrap'; + return ' '; } +/** + * Adds the relavant classes. + * + * @param string $class + * @param string $condition_field + * @param object $meta the meta-information about this field + * @param string $nowrap + * @param bool $is_field_truncated + * @param string $transform_function + * @param string $default_function + * + * @return string the list of classes + */ +function PMA_addClass($class, $condition_field, $meta, $nowrap, $is_field_truncated = false, $transform_function = '', $default_function = '') { + // Define classes to be added to this data field based on the type of data + $enum_class = ''; + if(strpos($meta->flags, 'enum') !== false) { + $enum_class = ' enum'; + } + + $set_class = ''; + if(strpos($meta->flags, 'set') !== false) { + $set_class = ' set'; + } + + $mime_type_class = ''; + if(isset($meta->mimetype)) { + $mime_type_class = ' ' . preg_replace('/\//', '_', $meta->mimetype); + } + + $result = $class . ($condition_field ? ' condition' : '') . $nowrap + . ' ' . ($is_field_truncated ? ' truncated' : '') + . ($transform_function != $default_function ? ' transformed' : '') + . $enum_class . $set_class . $mime_type_class; + + return $result; +} /** * Displays the body of the results table * @@ -1299,7 +1337,7 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) { $vertical_display['data'][$row_no][$i] = 'flags, 'enum') !== false) { - $enum_class = ' enum'; - } - - $set_class = ''; - if(strpos($meta->flags, 'set') !== false) { - $set_class = ' set'; - } - - $mime_type_class = ''; - if(isset($meta->mimetype)) { - $mime_type_class = ' ' . preg_replace('/\//', '_', $meta->mimetype); - } - - // continue the tag started before calling this function: - $result = ' class="' . $class . ($condition_field ? ' condition' : '') . $nowrap - . ' ' . ($is_field_truncated ? ' truncated' : '') - . ($transform_function != $default_function ? ' transformed' : '') - . $enum_class . $set_class . $mime_type_class . '">'; + $result = ' class="' . PMA_addClass($class, $condition_field, $meta, $nowrap, $is_field_truncated, $transform_function, $default_function) . '">'; if (isset($analyzed_sql[0]['select_expr']) && is_array($analyzed_sql[0]['select_expr'])) { foreach ($analyzed_sql[0]['select_expr'] AS $select_expr_position => $select_expr) {