diff --git a/db_structure.php b/db_structure.php index adff577661..31c49d3f0c 100644 --- a/db_structure.php +++ b/db_structure.php @@ -344,43 +344,12 @@ foreach ($tables as $keyname => $each_table) { . '' . ''; - PMA_TableHeader(false, $server_slave_status); + echo PMA_TableHeader(false, $server_slave_status); } - $ignored = false; - $do = false; - - if ($server_slave_status) { - if ((strlen(array_search($truename, $server_slave_Do_Table)) > 0) - || (strlen(array_search($db, $server_slave_Do_DB)) > 0) - || (count($server_slave_Do_DB) == 1 && count($server_slave_Ignore_DB) == 1) - ) { - $do = true; - } - foreach ($server_slave_Wild_Do_Table as $db_table) { - $table_part = PMA_extract_db_or_table($db_table, 'table'); - if (($db == PMA_extract_db_or_table($db_table, 'db')) - && (preg_match("@^" . substr($table_part, 0, strlen($table_part) - 1) . "@", $truename)) - ) { - $do = true; - } - } - - if ((strlen(array_search($truename, $server_slave_Ignore_Table)) > 0) - || (strlen(array_search($db, $server_slave_Ignore_DB)) > 0) - ) { - $ignored = true; - } - foreach ($server_slave_Wild_Ignore_Table as $db_table) { - $table_part = PMA_extract_db_or_table($db_table, 'table'); - if (($db == PMA_extract_db_or_table($db_table)) - && (preg_match("@^" . substr($table_part, 0, strlen($table_part) - 1) . "@", $truename)) - ) { - $ignored = true; - } - } - unset($table_part); - } + list($do, $ignored) = PMA_getServerSlaveStatus( + $server_slave_status, $truename + ); echo PMA_getHtmlForStructureTableRow( $i, $odd_row, $table_is_view, $each_table, $checked, diff --git a/libraries/structure.lib.php b/libraries/structure.lib.php index dd4e4d8978..5dec45091f 100644 --- a/libraries/structure.lib.php +++ b/libraries/structure.lib.php @@ -923,8 +923,47 @@ function PMA_getAliasAndTruename($tooltip_aliasname, $each_table, return array($alias, $truename); } +function PMA_getServerSlaveStatus($server_slave_status, $truename) { + $ignored = false; + $do = false; + include_once 'libraries/replication.inc.php'; + if ($server_slave_status) { + if ((strlen(array_search($truename, $server_slave_Do_Table)) > 0) + || (strlen(array_search($GLOBALS['db'], $server_slave_Do_DB)) > 0) + || (count($server_slave_Do_DB) == 1 && count($server_slave_Ignore_DB) == 1) + ) { + $do = true; + } + foreach ($server_slave_Wild_Do_Table as $db_table) { + $table_part = PMA_extract_db_or_table($db_table, 'table'); + if (($GLOBALS['db'] == PMA_extract_db_or_table($db_table, 'db')) + && (preg_match( + "@^" . substr($table_part, 0, strlen($table_part) - 1) . "@", + $truename) + ) + ) { + $do = true; + } + } - - + if ((strlen(array_search($truename, $server_slave_Ignore_Table)) > 0) + || (strlen(array_search($GLOBALS['db'], $server_slave_Ignore_DB)) > 0) + ) { + $ignored = true; + } + foreach ($server_slave_Wild_Ignore_Table as $db_table) { + $table_part = PMA_extract_db_or_table($db_table, 'table'); + if (($db == PMA_extract_db_or_table($db_table)) + && (preg_match( + "@^" . substr($table_part, 0, strlen($table_part) - 1) . "@", + $truename) + ) + ) { + $ignored = true; + } + } + } + return array($do, $ignored); +} ?>