Your IP : 3.129.25.152


Current Path : /home/bitrix/ext_www/crm.klimatlend.ua/bitrix/modules/cluster/admin/
Upload File :
Current File : /home/bitrix/ext_www/crm.klimatlend.ua/bitrix/modules/cluster/admin/cluster_dbnode_edit.php

<?
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/cluster/prolog.php");
IncludeModuleLangFile(__FILE__);

if(!$USER->IsAdmin())
	$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

$group_id = intval($_REQUEST["group_id"]);
$arNode = CClusterDBNode::GetByID($_GET["ID"]);
if(is_array($arNode) && $arNode["GROUP_ID"] != $group_id && $arNode["ROLE_ID"] !== "MODULE")
	$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

$aTabs = array(
	array(
		"DIV" => "edit1",
		"TAB" => GetMessage("CLU_DBNODE_EDIT_TAB"),
		"ICON"=>"main_user_edit",
		"TITLE"=>GetMessage("CLU_DBNODE_EDIT_TAB_TITLE"),
	),
);
$tabControl = new CAdminTabControl("tabControl", $aTabs);

$ID = intval($_REQUEST["ID"]); // Id of the edited record
$strFatalError = "";
$strError = "";
$bVarsFromForm = false;

if($ID < 2)
{
	if($DB->type == "MYSQL")
		$strFatalError = GetMessage("CLU_DBNODE_EDIT_ERROR");
}
else
{
	$arNode = CClusterDBNode::GetByID($ID);
	if(!is_array($arNode))
		$strFatalError = GetMessage("CLU_DBNODE_EDIT_ERROR");
	elseif($arNode["ROLE_ID"] == "SLAVE")
		$strFatalError = GetMessage("CLU_DBNODE_EDIT_ERROR");
}

if($strFatalError)
{
	require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
	ShowError($strFatalError);
	require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
}

if($_SERVER["REQUEST_METHOD"] == "POST" && check_bitrix_sessid())
{
	if(
		(isset($_REQUEST["save"]) && $_REQUEST["save"] != "")
		|| (isset($_REQUEST["apply"]) && $_REQUEST["apply"] != "")
	)
	{
		$ob = new CClusterDBNode;
		$arFields = array(
			"ACTIVE" => $_POST["ACTIVE"],
			"SORT" => $_POST["SORT"],
			"NAME" => $_POST["NAME"],
			"DB_HOST" => $_POST["DB_HOST"],
			"DB_NAME" => $_POST["DB_NAME"],
			"DB_LOGIN" => $_POST["DB_LOGIN"],
			"DB_PASSWORD" => $_POST["DB_PASSWORD"],
			"DESCRIPTION" => $_POST["DESCRIPTION"],
		);

		if($ID > 0)
		{
			$res = $ob->Update($ID, $arFields);
		}
		else
		{
			$arFields["ROLE_ID"] = "MODULE";
			$arFields["STATUS"] = "READY";
			$arFields["GROUP_ID"] = $group_id;
			$res = $ID = $ob->Add($arFields);
		}

		if($res)
		{
			if(isset($_REQUEST["apply"]) && $_REQUEST["apply"] != "")
				LocalRedirect("/bitrix/admin/cluster_dbnode_edit.php?ID=".$ID."&lang=".LANGUAGE_ID."&".$tabControl->ActiveTabParam().'&group_id='.$group_id);
			else
				LocalRedirect("/bitrix/admin/cluster_dbnode_list.php?lang=".LANGUAGE_ID.'&group_id='.$group_id);
		}
		else
		{
			if($e = $APPLICATION->GetException())
				$message = new CAdminMessage(GetMessage("CLU_DBNODE_EDIT_SAVE_ERROR"), $e);
			$bVarsFromForm = true;
		}
	}
	elseif((isset($_REQUEST["delete"]) && $_REQUEST["delete"] != "") && $ID > 1)
	{
		$ob = new CClusterDBNode;
		$res = $ob->Delete($ID);
		if($res)
			LocalRedirect("/bitrix/admin/cluster_dbnode_list.php?lang=".LANGUAGE_ID.'&group_id='.$group_id);
		else
			$bVarsFromForm = true;
	}
}

ClearVars("str_");
$str_ACTIVE = "Y";
$str_SORT = "10";
$str_NAME = "";
$str_DESCRIPTION = "";
$str_DB_HOST = "";
$str_DB_NAME = "";
$str_DB_LOGIN = "";
$str_DB_PASSWORD = "";
$str_STATUS = "";

if($ID > 0)
{
	$rs = CClusterDBNode::GetList(array(), array("=ID"=>$ID), array());
	if(!$rs->ExtractFields("str_"))
		$ID = 0;
}

if($bVarsFromForm)
	$DB->InitTableVarsForEdit("b_cluster_dbnode", "", "str_");

$APPLICATION->SetTitle(($ID>0? GetMessage("CLU_DBNODE_EDIT_EDIT_TITLE") : GetMessage("CLU_DBNODE_EDIT_ADD_TITLE")));

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");

$aMenu = array(
	array(
		"TEXT" => GetMessage("CLU_DBNODE_EDIT_MENU_LIST"),
		"TITLE" => GetMessage("CLU_DBNODE_EDIT_MENU_LIST_TITLE"),
		"LINK" => "cluster_dbnode_list.php?lang=".LANGUAGE_ID.'&group_id='.$group_id,
		"ICON" => "btn_list",
	)
);
if($ID > 0)
{
	if($str_STATUS!="ONLINE")
	{
		$aMenu[] = array(
			"TEXT" => GetMessage("CLU_DBNODE_EDIT_MENU_DELETE"),
			"TITLE" => GetMessage("CLU_DBNODE_EDIT_MENU_DELETE_TITLE"),
			"LINK" => "javascript:jsDelete('editform', '".GetMessage("CLU_DBNODE_EDIT_MENU_DELETE_CONF")."')",
			"ICON" => "btn_delete",
		);
	}
}
$context = new CAdminContextMenu($aMenu);
$context->Show();

if($message)
	echo $message->Show();
?>
<script>
function jsDelete(form_id, message)
{
	var _form = document.getElementById(form_id);
	var _flag = document.getElementById('delete');
	if(_form && _flag)
	{
		if(confirm(message))
		{
			_flag.value = 'y';
			_form.submit();
		}
	}
}
</script>
<form method="POST" action="<?echo $APPLICATION->GetCurPage()?>"  enctype="multipart/form-data" name="editform" id="editform">
<?
$tabControl->Begin();
?>
<?
$tabControl->BeginNextTab();
?>
	<?if($ID > 0):?>
		<tr>
			<td><?echo GetMessage("CLU_DBNODE_EDIT_ID")?>:</td>
			<td><?echo $str_ID;?></td>
		</tr>
	<?endif?>
	<tr>
		<td width="40%"><?echo GetMessage("CLU_DBNODE_EDIT_ACTIVE")?>:</td>
		<td width="60%">
			<input type="hidden" name="ACTIVE" value="N">
			<input type="checkbox" name="ACTIVE" value="Y"<?if($str_ACTIVE == "Y") echo " checked"?>>
		</td>
	</tr>
	<tr>
		<td><?echo GetMessage("CLU_DBNODE_EDIT_NAME")?>:</td>
		<td><input type="text" size="40" maxsize="50" name="NAME" value="<?echo $str_NAME?>"></td>
	</tr>
	<?if($DB->type == "ORACLE"):?>
		<tr>
			<td><?echo GetMessage("CLU_DBNODE_EDIT_ORACLE_DB_NAME")?>:</td>
			<td><input type="text" size="40" maxsize="50" name="DB_NAME" value="<?echo $str_DB_NAME?>"></td>
		</tr>
	<?else:?>
		<tr>
			<td><?echo GetMessage("CLU_DBNODE_EDIT_DB_HOST")?>:</td>
			<td><input type="text" size="40" maxsize="50" name="DB_HOST" value="<?echo $str_DB_HOST?>"></td>
		</tr>
		<tr>
			<td><?echo GetMessage("CLU_DBNODE_EDIT_DB_NAME")?>:</td>
			<td><input type="text" size="40" maxsize="50" name="DB_NAME" value="<?echo $str_DB_NAME?>"></td>
		</tr>
	<?endif;?>
	<tr>
		<td><?echo GetMessage("CLU_DBNODE_EDIT_DB_LOGIN")?>:</td>
		<td><input type="text" size="40" maxsize="50" name="DB_LOGIN" value="<?echo $str_DB_LOGIN?>"></td>
	</tr>
	<tr>
		<td><?echo GetMessage("CLU_DBNODE_EDIT_DB_PASSWORD")?>:</td>
		<td><input autocomplete="off" type="password" size="40" maxsize="50" name="DB_PASSWORD" value="<?echo $str_DB_PASSWORD?>"></td>
	</tr>
	<tr>
		<td class="adm-detail-valign-top"><?echo GetMessage("CLU_DBNODE_EDIT_DESCRIPTION")?>:</td>
		<td><textarea cols="40" rows="10" name="DESCRIPTION"><?echo $str_DESCRIPTION?></textarea></td>
	</tr>
<?
$tabControl->Buttons(
	array(
		"back_url"=>"cluster_dbnode_list.php?lang=".LANGUAGE_ID.'&group_id='.$group_id,
	)
);
?>
<?echo bitrix_sessid_post();?>
<input type="hidden" name="lang" value="<?echo LANGUAGE_ID?>">
<input type="hidden" name="group_id" value="<?echo $group_id?>">
<?if($ID>0):?>
	<input type="hidden" name="ID" value="<?=$ID?>">
	<input type="hidden" name="delete" id="delete" value="">
<?endif;?>
<?
$tabControl->End();
?>
</form>

<?
$tabControl->ShowWarnings("editform", $message);

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
?>