- Модуль: cluster
- Путь к файлу: ~/bitrix/modules/cluster/classes/general/dbnode.php
- Класс: CAllClusterDBNode
- Вызов: CAllClusterDBNode::getServerList
static function getServerList()
{
global $DB;
$result = array();
$rsData = $DB->Query("
SELECT ID, GROUP_ID, ROLE_ID, DB_HOST
FROM b_cluster_dbnode
ORDER BY GROUP_ID, ID
");
while ($arData = $rsData->Fetch())
{
if ($arData["ROLE_ID"] == "SLAVE" || $arData["ROLE_ID"] == "MASTER")
$edit_url = "/bitrix/admin/cluster_slave_edit.php?lang=".LANGUAGE_ID."&group_id=".$arData["GROUP_ID"]."&ID=".$arData["ID"];
elseif ($arData["ROLE_ID"] == "MODULE")
$edit_url = "/bitrix/admin/cluster_dbnode_edit.php?lang=".LANGUAGE_ID."&ID=".$arData["ID"];
else
$edit_url = "";
$host = "";
$match = array();
if (
preg_match("/\(\s*HOST\s*=\s*([^)]+)\)/i", $arData["DB_HOST"], $match)
|| preg_match("/^([^:]+)(:|)/", $arData["DB_HOST"], $match)
)
{
if ($match[1] !== 'localhost' && $match[1] !== '127.0.0.1')
$host = $arData["DB_HOST"];
}
$result[] = array(
"ID" => $arData["ID"],
"GROUP_ID" => $arData["GROUP_ID"],
"SERVER_TYPE" => "database",
"ROLE_ID" => $arData["ROLE_ID"],
"HOST" => $arData["DB_HOST"],
"DEDICATED" => $host == ""? "N": "Y",
"EDIT_URL" => $edit_url,
);
}
return $result;
}