diff --git a/libraries/config.default.php b/libraries/config.default.php index af5d592138..508c265f49 100644 --- a/libraries/config.default.php +++ b/libraries/config.default.php @@ -1071,6 +1071,12 @@ $cfg['ShowCreateDb'] = true; * Database structure */ +/** show charset column in database structure (true|false)? + * + * @global boolean $cfg['ShowDbStructureCharset'] + */ +$cfg['ShowDbStructureCharset'] = false; + /** * show comment column in database structure (true|false)? * diff --git a/libraries/config/messages.inc.php b/libraries/config/messages.inc.php index 8dd36fe173..5fa0d9970f 100644 --- a/libraries/config/messages.inc.php +++ b/libraries/config/messages.inc.php @@ -856,6 +856,10 @@ $strConfigShowDbStructureLastCheck_desc = __( 'Show or hide a column displaying the Last check timestamp for all tables.' ); $strConfigShowDbStructureLastCheck_name = __('Show last check timestamp'); +$strConfigShowDbStructureCharset_desc = __( + 'Show or hide a column displaying the charset for all tables.' +); +$strConfigShowDbStructureCharset_name = __('Show table charset'); $strConfigShowFieldTypesInDataEditView_desc = __( 'Defines whether or not type fields should be initially displayed in ' . 'edit/insert mode.' diff --git a/libraries/config/setup.forms.php b/libraries/config/setup.forms.php index 4b731759e7..1ae2fb406a 100644 --- a/libraries/config/setup.forms.php +++ b/libraries/config/setup.forms.php @@ -207,6 +207,7 @@ $forms['Main_panel']['Startup'] = array( 'ShowPhpInfo', 'ShowChgPassword'); $forms['Main_panel']['DbStructure'] = array( + 'ShowDbStructureCharset', 'ShowDbStructureComment', 'ShowDbStructureCreation', 'ShowDbStructureLastUpdate', diff --git a/libraries/config/user_preferences.forms.php b/libraries/config/user_preferences.forms.php index e403da654d..09bb547257 100644 --- a/libraries/config/user_preferences.forms.php +++ b/libraries/config/user_preferences.forms.php @@ -114,6 +114,7 @@ $forms['Main_panel']['Startup'] = array( 'ShowStats', 'ShowServerInfo'); $forms['Main_panel']['DbStructure'] = array( + 'ShowDbStructureCharset', 'ShowDbStructureComment', 'ShowDbStructureCreation', 'ShowDbStructureLastUpdate', diff --git a/libraries/controllers/database/DatabaseStructureController.php b/libraries/controllers/database/DatabaseStructureController.php index 893bf0a9cc..30ded389c5 100644 --- a/libraries/controllers/database/DatabaseStructureController.php +++ b/libraries/controllers/database/DatabaseStructureController.php @@ -435,6 +435,14 @@ class DatabaseStructureController extends DatabaseController } } // end if + if ($GLOBALS['cfg']['ShowDbStructureCharset']) { + if (isset($current_table['Collation'])) { + $charset = mb_substr($collation, 0, mb_strpos($collation, "_")); + } else { + $charset = ''; + } + } + if ($GLOBALS['cfg']['ShowDbStructureCreation']) { $create_time = isset($current_table['Create_time']) ? $current_table['Create_time'] : ''; @@ -631,6 +639,8 @@ class DatabaseStructureController extends DatabaseController ? $update_time : '', 'check_time' => isset($check_time) ? $check_time : '', + 'charset' => isset($charset) + ? $charset : '', 'is_show_stats' => $this->_is_show_stats, 'ignored' => $ignored, 'do' => $do, @@ -651,6 +661,7 @@ class DatabaseStructureController extends DatabaseController $this->response->addHTML(''); $db_collation = $this->dbi->getDbCollation($this->db); + $db_charset = mb_substr($db_collation, 0, mb_strpos($db_collation, "_")); // Show Summary $this->response->addHTML( @@ -662,6 +673,7 @@ class DatabaseStructureController extends DatabaseController 'sum_entries' => $sum_entries, 'db_collation' => $db_collation, 'is_show_stats' => $this->_is_show_stats, + 'db_charset' => $db_charset, 'sum_size' => $sum_size, 'overhead_size' => $overhead_size, 'create_time_all' => $create_time_all, diff --git a/templates/database/structure/body_for_table_summary.phtml b/templates/database/structure/body_for_table_summary.phtml index 33b84eef5a..ea53f2a19f 100644 --- a/templates/database/structure/body_for_table_summary.phtml +++ b/templates/database/structure/body_for_table_summary.phtml @@ -58,6 +58,7 @@ $cell_text = ($approx_rows) + = $sum_formatted , ' ' , $unit; ?>