Your IP : 3.148.107.184


Current Path : /home/bitrix/ext_www/dev.klimatlend.ua/bitrix/modules/mail/admin/
Upload File :
Current File : /home/bitrix/ext_www/dev.klimatlend.ua/bitrix/modules/mail/admin/mail_mailservice_edit.php

<?php

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/mail/prolog.php");

ClearVars();

$message = null;
$MOD_RIGHT = $APPLICATION->GetGroupRight("mail");
if ($MOD_RIGHT < "R")
	$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

IncludeModuleLangFile(__FILE__);
Bitrix\Main\Loader::includeModule('mail');

$err_mess = "File: ".__FILE__."<br>Line: ";

$strError = "";
$ID = intval($ID);

$bCanUseTLS = (defined('BX_MAIL_FORCE_USE_TLS') && BX_MAIL_FORCE_USE_TLS === true) || function_exists('openssl_open');

$str_ACTIVE = 'Y';
$str_SORT   = 100;

$ms = Bitrix\Mail\MailServicesTable::getById($ID)->fetch();
if ($ms)
{
	$str_ID         = $ms['ID'];
	$str_SITE_ID    = $ms['SITE_ID'];
	$str_ACTIVE     = $ms['ACTIVE'];
	$str_TYPE       = $ms['SERVICE_TYPE'];
	$str_NAME       = htmlspecialcharsbx($ms['NAME']);
	$str_SERVER     = htmlspecialcharsbx($ms['SERVER']);
	$str_PORT       = $ms['PORT'];
	$str_ENCRYPTION = $ms['ENCRYPTION'];
	$str_LINK       = htmlspecialcharsbx($ms['LINK']);
	$str_ICON       = $ms['ICON'];
	$str_TOKEN      = htmlspecialcharsbx($ms['TOKEN']);
	$str_SORT       = $ms['SORT'];
}
else
{
	$ID = 0;
}

if ($REQUEST_METHOD == "POST" && (strlen($save) > 0 || strlen($apply) > 0) && $MOD_RIGHT == "W" && check_bitrix_sessid())
{
	$ICON = $_FILES['ICON'];
	$ICON['old_file'] = $str_ICON;
	$ICON['del'] = $remove_icon;

	$arFields = array(
		'SITE_ID'    => $SITE_ID,
		'ACTIVE'     => $ACTIVE ?: 'N',
		'NAME'       => $NAME,
		'SERVER'     => $SERVER,
		'PORT'       => $PORT ?: null,
		'ENCRYPTION' => $TYPE == 'imap' ? ($bCanUseTLS ? $ENCRYPTION : 'N') : ($ENCRYPTION == 'N' ? 'N' : 'Y'),
		'LINK'       => $LINK,
		'ICON'       => $ICON,
		'TOKEN'      => $TOKEN,
		'SORT'       => $SORT
	);

	if ($ID > 0)
	{
		$result = Bitrix\Mail\MailServicesTable::update($ID, $arFields);
	}
	else
	{
		$arFields['SERVICE_TYPE'] = $TYPE;

		$result = Bitrix\Mail\MailServicesTable::add($arFields);
		$ID = $result->isSuccess() ? $result->getId() : 0;
	}

	if (!$result->isSuccess())
	{
		$message = new CAdminMessage(array(
			'MESSAGE' => GetMessage("MAIL_MSERVICE_EDT_ERROR"),
			'DETAILS' => join('<br>', $result->getErrorMessages())
		));
	}
	else
	{
		if (strlen($save) > 0)
			LocalRedirect("mail_mailservice_admin.php?lang=".LANG);
		else
			LocalRedirect($APPLICATION->GetCurPage()."?lang=".LANG."&ID=".$ID);
	}
}

if ($message)
{
	$DB->InitTableVarsForEdit("b_mail_mailservices", "", "str_");
	$str_ICON = null;
}

$sDocTitle = ($ID > 0) ? preg_replace("'#ID#'i", $ID, GetMessage("MAIL_MSERVICE_EDT_TITLE_1")) : GetMessage("MAIL_MSERVICE_EDT_TITLE_2");
$APPLICATION->SetTitle($sDocTitle);

require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_admin_after.php");
$aMenu = array(
	array(
		"ICON" => "btn_list",
		"TEXT" => GetMessage("MAIL_MSERVICE_EDT_BACK_LINK"),
		"LINK" => "mail_mailservice_admin.php?lang=".LANG
	)
);

if ($ID > 0)
{
	$aMenu[] = array("SEPARATOR" => "Y");
	$aMenu[] = array(
		"ICON" => "btn_new",
		"TEXT" => GetMessage("MAIL_MSERVICE_EDT_NEW"),
		"LINK" => "mail_mailservice_edit.php?lang=".LANG
	);

	if ($MOD_RIGHT == "W")
	{
		$aMenu[] = array(
			"TEXT" => GetMessage("MAIL_MSERVICE_EDT_DELETE"),
			"ICON" => "btn_delete",
			"LINK" => "javascript:if(confirm('".GetMessage("MAIL_MSERVICE_EDT_DELETE_CONFIRM")."'))window.location='mail_mailservice_admin.php?action=delete&ID=".$ID."&lang=".LANG."&".bitrix_sessid_get()."';",
		);
	}
}

$context = new CAdminContextMenu($aMenu);
$context->Show();

$aTabs = array(
	array("DIV" => "edit1", "TAB" => GetMessage("MAIL_MSERVICE_EDT_TAB"), "ICON" => "mail_mailbox_edit", "TITLE" => $sDocTitle),
);
$tabControl = new CAdminTabControl("tabControl", $aTabs);


?>

<? if ($message) echo $message->Show(); ?>
<form method="POST" action="<?=$APPLICATION->GetCurPage(); ?>?lang=<?=LANG; ?>&ID=<?=$ID; ?>" name="form1" enctype="multipart/form-data">
<?=bitrix_sessid_post(); ?>
<?=GetFilterHiddens("find_"); ?>

<? $tabControl->Begin(); ?>
<? $tabControl->BeginNextTab(); ?>
	<? if ($ID > 0) { ?>
	<tr>
		<td><?=GetMessage("MAIL_MSERVICE_EDT_ID"); ?></td>
		<td><?=$str_ID; ?></td>
	</tr>
	<? } ?>
	<tr>
		<td width="40%"><?=GetMessage("MAIL_MSERVICE_EDT_SITE_ID"); ?></td>
		<td width="60%">
			<select name="SITE_ID">
				<? $result = Bitrix\Main\SiteTable::getList(array('filter' => array('ACTIVE' => 'Y'), 'order' => array('SORT' => 'ASC'))); ?>
				<? while (($site = $result->fetch()) !== false) { ?>
					?><option value="<?=$site['LID']; ?>"<? if ($str_SITE_ID == $site['LID']) { ?> selected="selected"<? } ?>><?=$site['NAME']; ?></option>
				<? } ?>
			</select>
		</td>
	</tr>
	<tr>
		<td><?=GetMessage("MAIL_MSERVICE_EDT_ACT"); ?></td>
		<td><input type="checkbox" name="ACTIVE" value="Y"<? if ($str_ACTIVE == "Y") { ?> checked="checked"<? } ?>></td>
	</tr>
	<tr>
		<td valign="top"><?=GetMessage('MAIL_MSERVICE_EDT_ICON'); ?></td>
		<td>
			<input type="file" name="ICON">
			<? if ($icon = Bitrix\Mail\MailServicesTable::getIconSrc($str_NAME, $str_ICON)) { ?>
			<br><br><img src="<?=$icon; ?>" alt="<?=$str_NAME; ?>"><br>
			<? if ($str_ICON) { ?>
			<input type="checkbox" name="remove_icon" value="Y" id="remove_icon" >
			<label for="remove_icon"><?=GetMessage("MAIL_MSERVICE_EDT_ICON_REMOVE"); ?></label>
			<? } ?>
			</div>
			<? } ?>
		</td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?=GetMessage("MAIL_MSERVICE_EDT_NAME"); ?></td>
		<td><input type="text" name="NAME" size="53" maxlength="255" value="<?=$str_NAME; ?>"></td>
	</tr>
	<tr>
		<td><?=GetMessage("MAIL_MSERVICE_EDT_TYPE"); ?></td>
		<td>
			<? if ($ID > 0) { ?>
			<?=$str_TYPE; ?>
			<? } else { ?>
			<select onchange="change_type()" name="TYPE" id="TYPE">
				<option value="imap">imap</option>
				<option value="domain">domain</option>
			</select>
			<? } ?>
		</td>
	</tr>
	<tr id="el0" class="imap">
		<td><?=GetMessage('MAIL_MSERVICE_EDT_SERVER'); ?></td>
		<td><input type="text" name="SERVER" size="42" maxlength="255" value="<?=$str_SERVER; ?>">:<input type="text" id="PORT_PORT" name="PORT" size="4" maxlength="5" value="<?=$str_PORT; ?>"></td>
	</tr>
	<tr id="el1" class="adm-detail-required-field domain crdomain">
		<td><?=GetMessage('MAIL_MSERVICE_EDT_DOMAIN'); ?></td>
		<td><input type="text" name="SERVER" size="53" maxlength="255" value="<?=$str_SERVER; ?>"></td>
	</tr>
	<tr id="el2" class="adm-detail-required-field domain">
		<td><?=GetMessage('MAIL_MSERVICE_EDT_TOKEN'); ?></td>
		<td><input type="text" name="TOKEN" size="53" maxlength="255" value="<?=$str_TOKEN; ?>"></td>
	</tr>
	<tr id="el3" class="imap">
		<td><?=GetMessage("MAIL_MSERVICE_EDT_ENCRYPTION"); ?><span class="required"><sup>1</sup></span></td>
		<td>
			<select name="ENCRYPTION"<? if (!$bCanUseTLS) { ?> disabled<? } ?>>
				<option value=""></option>
				<option value="Y"<? if ($str_ENCRYPTION == "Y") { ?> selected="selected"<? } ?>><?=GetMessage('MAIN_YES'); ?></option>
				<option value="N"<? if ($str_ENCRYPTION == "N") { ?> selected="selected"<? } ?>><?=GetMessage('MAIN_NO'); ?></option>
			</select>
		</td>
	</tr>
	<tr id="el4" class="domain crdomain">
		<td><?=GetMessage("MAIL_MSERVICE_EDT_PUBLIC"); ?></td>
		<td><input type="checkbox" name="ENCRYPTION" value="N"<? if (!$ID || $str_ENCRYPTION == 'N') { ?> checked<? } ?>></td>
	</tr>
	<tr id="el5" class="imap">
		<td><?=GetMessage("MAIL_MSERVICE_EDT_LINK"); ?></td>
		<td><input type="text" name="LINK" size="53" maxlength="255" value="<?=$str_LINK; ?>"></td>
	</tr>
	<tr>
		<td><?=GetMessage('MAIL_MSERVICE_EDT_SORT'); ?></td>
		<td><input type="text" name="SORT" value="<?=$str_SORT; ?>" size="20"></td>
	</tr>

	<input type="hidden" value="Y" name="apply">


<script type="text/javascript">

	function change_type()
	{
		<? if ($ID > 0) { ?>
		var type = '<?=$str_TYPE; ?>';
		<? } else { ?>
		var typeSelect = document.getElementById('TYPE');
		var type = typeSelect.options[typeSelect.selectedIndex].value;
		<? } ?>

		for (var i = 0; i <= 5; i++)
		{
			var d = document.getElementById('el'+i);

			if (d)
			{
				var inps = BX.findChildren(d, {tag: 'input'}, true).concat(BX.findChildren(d, {tag: 'select'}, true));

				if (BX.hasClass(d, type))
				{
					for (var j in inps)
						inps[j].disabled = false;
					d.style.display = '';
				}
				else
				{
					for (var j in inps)
						inps[j].disabled = true;
					d.style.display = 'none';
				}
			}
		}
	}
	setTimeout(change_type, 0);

</script>

<? $tabControl->EndTab(); ?>
<? $tabControl->Buttons(array("disabled" => $MOD_RIGHT < "W", "back_url" => "mail_mailservice_admin.php?lang=".LANG)); ?>
<? $tabControl->End(); ?>
</form>
<? $tabControl->ShowWarnings("form1", $message); ?>

<?=BeginNote(); ?>
<span class="required"><sup>1</sup></span> <?=GetMessage('MAIL_MSERVICE_EDT_COMMENT1'); ?>
<?=EndNote(); ?>

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