diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index 9e49330e..806ca949 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -972,6 +972,14 @@ if (!defined("DRIVER")) { return get_key_vals("SHOW STATUS"); } + /** Get replication status of master or slave + * @param string + * @return array ($name => $value) + */ + function replication_status($type) { + return get_rows("SHOW $type STATUS"); + } + /** Convert field in select and edit * @param array one element from fields() * @return string diff --git a/adminer/include/connect.inc.php b/adminer/include/connect.inc.php index b008faf7..70cb6d3c 100644 --- a/adminer/include/connect.inc.php +++ b/adminer/include/connect.inc.php @@ -17,6 +17,7 @@ function connect_error() { 'processlist' => lang('Process list'), 'variables' => lang('Variables'), 'status' => lang('Status'), + 'replication' => lang('Replication'), ) as $key => $val) { if (support($key)) { echo "$val\n"; @@ -77,7 +78,7 @@ if (isset($_GET["import"])) { $_GET["sql"] = $_GET["import"]; } -if (!(DB != "" ? $connection->select_db(DB) : isset($_GET["sql"]) || isset($_GET["dump"]) || isset($_GET["database"]) || isset($_GET["processlist"]) || isset($_GET["privileges"]) || isset($_GET["user"]) || isset($_GET["variables"]) || $_GET["script"] == "connect" || $_GET["script"] == "kill")) { +if (!(DB != "" ? $connection->select_db(DB) : isset($_GET["sql"]) || isset($_GET["dump"]) || isset($_GET["database"]) || isset($_GET["processlist"]) || isset($_GET["privileges"]) || isset($_GET["user"]) || isset($_GET["replication"]) || isset($_GET["variables"]) || $_GET["script"] == "connect" || $_GET["script"] == "kill")) { if (DB != "" || $_GET["refresh"]) { restart_session(); set_session("dbs", null); diff --git a/adminer/index.php b/adminer/index.php index 88cbcec2..5620c952 100644 --- a/adminer/index.php +++ b/adminer/index.php @@ -65,6 +65,8 @@ if (isset($_GET["download"])) { include "./user.inc.php"; } elseif (isset($_GET["processlist"])) { include "./processlist.inc.php"; +} elseif (isset($_GET["replication"])) { + include "./replication.inc.php"; } elseif (isset($_GET["select"])) { include "./select.inc.php"; } elseif (isset($_GET["variables"])) { diff --git a/adminer/lang/xx.inc.php b/adminer/lang/xx.inc.php index 79db0b08..fe24b81a 100644 --- a/adminer/lang/xx.inc.php +++ b/adminer/lang/xx.inc.php @@ -45,6 +45,10 @@ $translations = array( 'Variables' => 'Xx', 'Status' => 'Xx', + 'Replication' => 'Xx', + 'Master status' => 'Xx', + 'Slave status' => 'Xx', + 'SQL command' => 'Xx', '%d query(s) executed OK.' => array('Xx.', 'Xx.'), 'Query executed OK, %d row(s) affected.' => array('Xx.', 'Xx.'), diff --git a/adminer/replication.inc.php b/adminer/replication.inc.php new file mode 100644 index 00000000..bd25841d --- /dev/null +++ b/adminer/replication.inc.php @@ -0,0 +1,26 @@ +" . lang('Master status') . "" . doc_link(array("sql" => "show-master-status.html")) . "\n"; +$master_replication_status = replication_status("MASTER"); +echo "
" . h($key); + echo " | " . nbsp($val); +} +echo " |
---|
" . lang('Slave status') . "" . doc_link(array("sql" => "show-slave-status.html")) . "\n"; + foreach ($slave_replication_status as $slave) { + echo "
" . h($key); + echo " | " . nbsp($val); + } + echo " |
---|