• Модуль: cluster
  • Путь к файлу: ~/bitrix/modules/cluster/classes/mysql/dbnode_check.php
  • Класс: CClusterDBNodeCheck
  • Вызов: CClusterDBNodeCheck::MainNodeCommon
function MainNodeCommon($arMasterNode)
{
	if($arMasterNode["ID"] == 1)
		global $DB;
	else
		$DB = CDatabase::GetDBNodeConnection($arMasterNode["ID"], true);;

	$result = array();

	$is_ok  = CCluster::checkForServers(1);
	$result["server_count"] = array(
		"IS_OK" => $is_ok? CClusterDBNodeCheck::OK: CClusterDBNodeCheck::WARNING,
		"MESSAGE" => GetMessage("CLUSTER_SERVER_COUNT_CHECK"),
		"WIZ_REC" => "",
	);

	$is_ok = !file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/after_connect.php");
	$result["after_connect"] = array(
		"IS_OK" => $is_ok? CClusterDBNodeCheck::OK: CClusterDBNodeCheck::ERROR,
		"MESSAGE" => GetMessage("CLU_AFTER_CONNECT_MSG"),
		"WIZ_REC" => GetMessage("CLU_AFTER_CONNECT_WIZREC"),
	);

	$is_ok = !file_exists($_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/php_interface/after_connect_d7.php");
	$result["after_connect_d7"] = array(
		"IS_OK" => $is_ok? CClusterDBNodeCheck::OK: CClusterDBNodeCheck::ERROR,
		"MESSAGE" => GetMessage("CLU_AFTER_CONNECT_D7_MSG"),
		"WIZ_REC" => GetMessage("CLU_AFTER_CONNECT_WIZREC"),
	);

	$arVariables = $this->GetServerVariables($DB, array(
		"character_set_server" => "",
		"character_set_database" => "",
		"character_set_connection" => "",
		"character_set_client" => "",
	), 'character_set%');
	$is_ok = $arVariables["character_set_server"] !== ""
		&& $arVariables["character_set_server"] === $arVariables["character_set_database"]
		&& $arVariables["character_set_database"] === $arVariables["character_set_connection"]
		&& $arVariables["character_set_connection"] === $arVariables["character_set_client"]
	;
	$result["charset"] = array(
		"IS_OK" => $is_ok? CClusterDBNodeCheck::OK: CClusterDBNodeCheck::ERROR,
		"MESSAGE" => GetMessage("CLU_CHARSET_MSG"),
		"WIZ_REC" => GetMessage("CLU_CHARSET_WIZREC", array(
			"#character_set_server#" => $arVariables["character_set_server"],
			"#character_set_database#" => $arVariables["character_set_database"],
			"#character_set_connection#" => $arVariables["character_set_connection"],
			"#character_set_client#" => $arVariables["character_set_client"],
		)),
	);

	$arVariables = $this->GetServerVariables($DB, array(
		"collation_server" => "",
		"collation_database" => "",
		"collation_connection" => "",
	), 'collation%');
		$is_ok = $arVariables["collation_server"] !== ""
			&& $arVariables["collation_server"] === $arVariables["collation_database"]
			&& $arVariables["collation_database"] === $arVariables["collation_connection"]
	;
	$result["collation"] = array(
		"IS_OK" => $is_ok? CClusterDBNodeCheck::OK: CClusterDBNodeCheck::ERROR,
		"MESSAGE" => GetMessage("CLU_COLLATION_MSG"),
		"WIZ_REC" => GetMessage("CLU_COLLATION_WIZREC", array(
			"#collation_server#" => $arVariables["collation_server"],
			"#collation_database#" => $arVariables["collation_database"],
			"#collation_connection#" => $arVariables["collation_connection"],
		)),
	);

	return $result;
}