Your IP : 18.218.121.9


Current Path : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/pull/
Upload File :
Current File : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/pull/options.php

<?php

IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'].BX_ROOT.'/modules/pull/options.php');
IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'].BX_ROOT.'/modules/main/options.php');

$module_id = 'pull';
CModule::IncludeModule($module_id);
$MOD_RIGHT = $APPLICATION->GetGroupRight($module_id);

include($_SERVER['DOCUMENT_ROOT'].BX_ROOT.'/modules/pull/default_option.php');
$arDefaultValues['default'] = $pull_default_option;

$aTabs = array(
	array(
		"DIV" => "edit1", "TAB" => GetMessage("PULL_TAB_SETTINGS"), "ICON" => "pull_path", "TITLE" => GetMessage("PULL_TAB_TITLE_SETTINGS"),
	),
);
$tabControl = new CAdminTabControl("tabControl", $aTabs);
if(strlen($_POST['Update'].$_GET['RestoreDefaults'])>0 && check_bitrix_sessid() && $MOD_RIGHT>='W')
{
	if(strlen($_GET['RestoreDefaults'])>0)
	{
		$arDefValues = $arDefaultValues['default'];
		foreach($arDefValues as $key=>$value)
		{
			COption::RemoveOption("pull", $key);
		}
		COption::RemoveOption("pull", 'exclude_sites');
	}
	elseif(strlen($_POST['Update'])>0)
	{
		$send = false;
		if (CPullOptions::GetSignatureKey() != $_POST['signature_key'] && $_POST['nginx_version'] > 1)
		{
			CPullOptions::SetSignatureKey($_POST['signature_key']);
		}
		if ($_POST['path_to_publish'] != "" && CPullOptions::GetPublishUrl() != $_POST['path_to_publish'])
		{
			CPullOptions::SetPublishUrl($_POST['path_to_publish']);
		}
		if ($_POST['nginx_command_per_hit'] != "" && CPullOptions::GetCommandPerHit() != $_POST['nginx_command_per_hit'])
		{
			CPullOptions::SetCommandPerHit($_POST['nginx_command_per_hit']);
		}
		if ($_POST['path_to_modern_listener'] != "" && CPullOptions::GetListenUrl("") != $_POST['path_to_modern_listener'])
		{
			CPullOptions::SetListenUrl($_POST['path_to_modern_listener']);
			$send = true;
		}
		if ($_POST['path_to_modern_listener_secure'] != "" && CPullOptions::GetListenSecureUrl("") != $_POST['path_to_modern_listener_secure'])
		{
			CPullOptions::SetListenSecureUrl($_POST['path_to_modern_listener_secure']);
			$send = true;
		}
		if ($_POST['push_message_per_hit'] != "")
		{
			CPullOptions::SetPushMessagePerHit($_POST['push_message_per_hit']);
			$send = true;
		}
		if ($_POST['nginx_version'] != "" && CPullOptions::GetQueueServerVersion() != $_POST['nginx_version'])
		{
			CPullOptions::SetQueueServerVersion($_POST['nginx_version']);
			if (isset($_POST['websocket']))
				$send = true;
		}
		$websocketEnabled = CPullOptions::GetWebSocket();
		if (isset($_POST['websocket']))
		{
			CPullOptions::SetWebSocket('Y');
			if (!$websocketEnabled)
				$send = true;
		}
		else
		{
			CPullOptions::SetWebSocket('N');
			if ($websocketEnabled)
				$send = true;
		}
		if ($_POST['path_to_websocket'] != "" && CPullOptions::GetWebSocketUrl() != $_POST['path_to_websocket'])
		{
			CPullOptions::SetWebSocketUrl($_POST['path_to_websocket']);
			if (isset($_POST['websocket']))
				$send = true;
		}
		if ($_POST['path_to_websocket_secure'] != "" && CPullOptions::GetWebSocketSecureUrl() != $_POST['path_to_websocket_secure'])
		{
			CPullOptions::SetWebSocketSecureUrl($_POST['path_to_websocket_secure']);
			$send = true;
		}

		if ($send)
			CPullOptions::SendConfigDie();

		if (isset($_POST['nginx']))
		{
			if (!CPullOptions::GetQueueServerStatus())
			{
				$send = true;
				CPullOptions::SendConfigDie();
				CPullOptions::SetQueueServerStatus('Y');
			}
		}
		else
		{
			if (CPullOptions::GetQueueServerStatus())
			{
				$send = true;
				CPullOptions::SendConfigDie();
				CPullOptions::SetQueueServerStatus('N');
			}
		}

		if (isset($_POST['push']))
		{
			if (!CPullOptions::GetPushStatus())
				CPullOptions::SetPushStatus('Y');
		}
		else
		{
			if (CPullOptions::GetPushStatus())
				CPullOptions::SetPushStatus('N');
		}

		if (isset($_POST['guest']))
		{
			if (!CPullOptions::GetGuestStatus())
				CPullOptions::SetGuestStatus('Y');
		}
		else
		{
			if (CPullOptions::GetGuestStatus())
				CPullOptions::SetGuestStatus('N');
		}

		if (isset($_POST['exclude_sites']))
		{
			$arSites = Array();
			foreach ($_POST['exclude_sites'] as $site)
			{
				$site = htmlspecialcharsbx(trim($site));
				if (strlen($site) <= 0)
					continue;

				$arSites[$site] = $site;
			}
			CPullOptions::SetExcludeSites($arSites);
		}
	}
	if($send):
	?>
		<script type="text/javascript">
			if (BX.PULL)
			{
				BX.PULL.clearChannelId();
			}
		</script>
	<?
	endif;
}
?>
<form method="post" action="<?echo $APPLICATION->GetCurPage()?>?mid=<?=htmlspecialcharsbx($mid)?>&lang=<?echo LANG?>">
<?php echo bitrix_sessid_post()?>
<?php
$tabControl->Begin();
$tabControl->BeginNextTab();

CPullOptions::ClearAgent();
$arDependentModule = Array();
$ar = CPullOptions::GetDependentModule();
foreach ($ar as $key => $value)
	$arDependentModule[] = $value['MODULE_ID'];


$dbSites = CSite::GetList(($b = ""), ($o = ""), Array("ACTIVE" => "Y"));
$arSites = array();
$aSubTabs = array();
while ($site = $dbSites->Fetch())
{
	$site["ID"] = htmlspecialcharsbx($site["ID"]);
	$site["NAME"] = htmlspecialcharsbx($site["NAME"]);
	$arSites[$site["ID"]] = $site;
}
$arExcludeSites = CPullOptions::GetExcludeSites();
?>
	<tr>
		<td width="40%"><?=GetMessage("PULL_OPTIONS_STATUS")?>:</td>
		<td width="60%">
			<? if(CPullOptions::ModuleEnable()): ?>
				<span style="color:green; font-weight: bold"><?=GetMessage("PULL_OPTIONS_STATUS_Y")?></span>
			<? else: ?>
				<span style="color:gray; font-weight: bold"><?=GetMessage("PULL_OPTIONS_STATUS_N")?></span>
			<? endif; ?>
		</td>
	</tr>
<? if(CPullOptions::ModuleEnable()): ?>
	<tr>
		<td width="40%"><?=GetMessage("PULL_OPTIONS_USE")?>:</td>
		<td width="60%"><?=implode(", ", $arDependentModule)?></td>
	</tr>
<?endif;?>
	<tr>
		<td width="40%"></td>
		<td width="60%"></td>
	</tr>
	<tr>
		<td align="right" width="50%"><?=GetMessage("PULL_OPTIONS_PUSH")?>:</td>
		<td><input  id="push_enable" type="checkbox" size="40" value="Y" <?=(CPullOptions::GetPushStatus()?' checked':'')?> name="push"></td>
	</tr>
	<tr>
		<td align="right" width="50%"><?= GetMessage("PULL_BATCH_MAX_COUNT_MESSAGES");?>:</td>
		<td><input id="push_message_per_hit" type="text" size="10" value="<?=\CPullOptions::GetPushMessagePerHit()?>" name="push_message_per_hit"  <?=(!CPullOptions::GetPushStatus()?' disabled':'')?>></td>
	</tr>
	<tr>
		<td align="right" width="50%" valign="top"><?=GetMessage("PULL_OPTIONS_GUEST")?>:</td>
		<td><input type="checkbox" size="40" value="Y" <?=(CPullOptions::GetGuestStatus()?' checked':'')?> <?=(IsModuleInstalled('statistic')?'':' disabled="true')?> name="guest" title="<?=htmlspecialcharsEx(GetMessage("PULL_OPTIONS_GUEST_DESC"))?>"></td>
	</tr>
	<tr>
		<td width="40%"></td>
		<td width="60%"></td>
	</tr>
	<tr>
		<td width="40%"><nobr><?=GetMessage("PULL_OPTIONS_NGINX_2")?></nobr>:</td>
		<td width="60%"><input id="config_nginx" type="checkbox" size="40" value="Y" <?=(CPullOptions::GetQueueServerStatus()?' checked':'')?> name="nginx"></td>
	</tr>
	<tr>
		<td width="40%"><nobr><?=GetMessage("PULL_OPTIONS_NGINX_VERSION")?></nobr>:</td>
		<td width="60%">
			<nobr><label><input type="radio" id="config_nginx_version_1" value="1" name="nginx_version" <?=(CPullOptions::GetQueueServerVersion() == 1?' checked':'')?> <?=(CPullOptions::GetQueueServerStatus()? '':'disabled="true"')?>><?=GetMessage("PULL_OPTIONS_NGINX_VERSION_034")?></label></nobr><br>
			<nobr><label><input type="radio" id="config_nginx_version_2" value="2" name="nginx_version" <?=(CPullOptions::GetQueueServerVersion() == 2?' checked':'')?> <?=(CPullOptions::GetQueueServerStatus()? '':'disabled="true"')?>><?=GetMessage("PULL_OPTIONS_NGINX_VERSION_040")?></label></nobr>
			<nobr><label><input type="radio" id="config_nginx_version_3" value="3" name="nginx_version" <?=(CPullOptions::GetQueueServerVersion() == 3?' checked':'')?> <?=(CPullOptions::GetQueueServerStatus()? '':'disabled="true"')?>><?=GetMessage("PULL_OPTIONS_NGINX_VERSION_710")?></label></nobr>
		</td>
	</tr>
	<tr class="heading">
		<td colspan="2"><b><?=GetMessage('PULL_OPTIONS_HEAD_PUB')?></b></td>
	</tr>
	<tr>
		<td><?=GetMessage("PULL_OPTIONS_PATH_TO_PUBLISH")?>:</td>
		<td><input id="config_path_to_publish" type="text" size="40" value="<?=htmlspecialcharsbx(CPullOptions::GetPublishUrl())?>" name="path_to_publish" <?=(CPullOptions::GetQueueServerStatus()? '':'disabled="true"')?>></td>
	</tr>
	<tr>
		<td><?=GetMessage("PULL_OPTIONS_SIGNATURE_KEY")?>:</td>
		<td><input id="config_signature_key" type="text" size="40" value="<?=htmlspecialcharsbx(CPullOptions::GetSignatureKey())?>" name="signature_key" <?=(CPullOptions::GetQueueServerStatus() && CPullOptions::GetQueueServerVersion() > 1? '':'disabled="true"')?>></td>
	</tr>
	<tr>
		<td align="right" width="50%"><?=GetMessage("PULL_OPTIONS_NGINX_BUFFER")?>:</td>
		<td><input id="config_nginx_command_per_hit" type="text" size="10" value="<?=CPullOptions::GetCommandPerHit()?>" name="nginx_command_per_hit" <?=(CPullOptions::GetQueueServerStatus() && CPullOptions::GetQueueServerVersion() > 1? '':'disabled="true"')?>></td>
	</tr>
	<tr>
		<td width="40%"></td>
		<td width="60%">
			<?=GetMessage("PULL_OPTIONS_NGINX_BUFFERS_DESC")?>
		</td>
	</tr>
	<tr class="heading">
		<td colspan="2"><b><?=GetMessage('PULL_OPTIONS_HEAD_SUB_MODERN')?></b></td>
	</tr>
	<tr>
		<td ><?=GetMessage("PULL_OPTIONS_PATH_TO_LISTENER")?>:</td>
		<td><input id="config_path_to_modern_listener" type="text" size="40" value="<?=htmlspecialcharsbx(CPullOptions::GetListenUrl())?>" name="path_to_modern_listener" <?=(CPullOptions::GetQueueServerStatus()? '':'disabled="true"')?>></td>
	</tr>
	<tr>
		<td ><?=GetMessage("PULL_OPTIONS_PATH_TO_LISTENER_SECURE")?>:</td>
		<td><input id="config_path_to_modern_listener_secure" type="text" size="40" value="<?=htmlspecialcharsbx(CPullOptions::GetListenSecureUrl())?>" name="path_to_modern_listener_secure" <?=(CPullOptions::GetQueueServerStatus()? '':'disabled="true"')?>></td>
	</tr>
	<tr>
		<td width="40%"></td>
		<td width="60%">
			<?=GetMessage("PULL_OPTIONS_PATH_TO_LISTENER_MODERN_DESC")?>
		</td>
	</tr>
	<tr class="heading">
		<td colspan="2"><b><?=GetMessage('PULL_OPTIONS_HEAD_SUB_WS')?></b></td>
	</tr>
	<tr>
		<td align="right" width="50%"><?=GetMessage("PULL_OPTIONS_WEBSOCKET")?>:</td>
		<td><input type="checkbox" size="40" value="Y" <?=(CPullOptions::GetWebSocket()?' checked':'')?> id="config_websocket" name="websocket" <?=(CPullOptions::GetQueueServerStatus() && CPullOptions::GetQueueServerVersion() > 1 ? '': 'disabled="true"')?>></td>
	</tr>
	<tr>
		<td ><?=GetMessage("PULL_OPTIONS_PATH_TO_LISTENER")?>:</td>
		<td><input id="config_path_to_websocket" type="text" size="40" value="<?=htmlspecialcharsbx(CPullOptions::GetWebSocketUrl())?>" name="path_to_websocket" <?=(!CPullOptions::GetQueueServerStatus() || !CPullOptions::GetWebSocketStatus() ? 'disabled="true"': '')?></td>
	</tr>
	<tr>
		<td ><?=GetMessage("PULL_OPTIONS_PATH_TO_LISTENER_SECURE")?>:</td>
		<td><input id="config_path_to_websocket_secure" type="text" size="40" value="<?=htmlspecialcharsbx(CPullOptions::GetWebSocketSecureUrl())?>" name="path_to_websocket_secure" <?=(!CPullOptions::GetQueueServerStatus() || !CPullOptions::GetWebSocketStatus() ? 'disabled="true"': '')?></td>
	</tr>
	<tr>
		<td width="40%"></td>
		<td width="60%">
			<?=GetMessage("PULL_OPTIONS_WEBSOCKET_DESC")?>
		</td>
	</tr>
	<?if (count($arSites) > 1 || count($arExcludeSites) > 0):?>
	<tr class="heading">
		<td colspan="2"><b><?=GetMessage('PULL_OPTIONS_HEAD_BLOCK')?></b></td>
	</tr>
	<tr valign="top">
		<td><?=GetMessage("PULL_OPTIONS_SITES")?>:</td>
		<td>
			<select name="exclude_sites[]" multiple size="4">
				<option value=""></option>
			<?foreach($arSites as $site):?>
				<option value="<?=$site['ID']?>" <?=(isset($arExcludeSites[$site['ID']])?' selected':'')?>><? echo $site['NAME'].' ['.$site['ID'].']'?></option>
			<?endforeach;?>
			</select>
		</td>
	</tr>
	<?endif;?>

<?$tabControl->Buttons();?>
<script language="JavaScript">
BX.bind(BX('push_enable'), 'change', function(){
	BX('push_message_per_hit').disabled = !this.checked;
});
BX.bind(BX('config_nginx'), 'change', function(){
	if (this.checked)
	{
		if (confirm("<?=GetMessageJS("PULL_OPTIONS_NGINX_CONFIRM")?>"))
		{
			BX('config_nginx_version_1').disabled = false;
			BX('config_nginx_version_2').disabled = false;
			BX('config_nginx_version_3').disabled = false;
			BX('config_path_to_publish').disabled = false;
			BX('config_path_to_modern_listener').disabled = false;
			BX('config_path_to_modern_listener_secure').disabled = false;
			BX('config_signature_key').disabled = false;

			if (BX('config_nginx_version_2').checked || BX('config_nginx_version_3').checked)
			{
				BX('config_nginx_command_per_hit').disabled = false;
				BX('config_websocket').disabled = false;
				BX('config_signature_key').disabled = false;

				if (BX('config_websocket').checked || BX('config_nginx_version_3').checked)
				{
					BX('config_path_to_websocket').disabled = false;
					BX('config_path_to_websocket_secure').disabled = false;
				}
				if (BX('config_nginx_version_3').checked)
				{
					BX('config_websocket').disabled = true;
				}
			}
			else
			{
				BX('config_nginx_command_per_hit').disabled = true;
				BX('config_websocket').disabled = true;
				BX('config_signature_key').disabled = true;
				BX('config_path_to_websocket').disabled = true;
				BX('config_path_to_websocket_secure').disabled = true;
			}
		}
		else
		{
			this.checked = false;
		}
	}
	else
	{
		BX('config_nginx_version_1').disabled = true;
		BX('config_nginx_version_2').disabled = true;
		BX('config_nginx_version_3').disabled = true;
		BX('config_signature_key').disabled = true;
		BX('config_path_to_publish').disabled = true;
		BX('config_path_to_modern_listener').disabled = true;
		BX('config_path_to_modern_listener_secure').disabled = true;

		BX('config_nginx_command_per_hit').disabled = true;
		BX('config_websocket').disabled = true;
		BX('config_path_to_websocket').disabled = true;
		BX('config_path_to_websocket_secure').disabled = true;
	}
});
BX.bind(BX('config_nginx_version_1'), 'change', function(){
	if (this.checked)
	{
		BX('config_nginx_command_per_hit').disabled = true;
		BX('config_websocket').disabled = true;
		BX('config_path_to_websocket').disabled = true;
		BX('config_path_to_websocket_secure').disabled = true;
		BX('config_signature_key').disabled = true;
		BX('config_websocket').checked = false;
	}
	else
	{
		BX('config_nginx_command_per_hit').disabled = false;
		BX('config_websocket').disabled = false;
		if (BX('config_websocket').checked)
		{
			BX('config_path_to_websocket').disabled = false;
			BX('config_path_to_websocket_secure').disabled = false;
		}
	}
});
BX.bind(BX('config_nginx_version_2'), 'change', function(){
	if (this.checked)
	{
		BX('config_signature_key').disabled = false;
		BX('config_nginx_command_per_hit').disabled = false;
		BX('config_websocket').disabled = false;
		if (BX('config_websocket').checked)
		{
			BX('config_path_to_websocket').disabled = false;
			BX('config_path_to_websocket_secure').disabled = false;
		}
	}
	else
	{
		BX('config_nginx_command_per_hit').disabled = true;
		BX('config_websocket').disabled = true;
		BX('config_path_to_websocket').disabled = true;
		BX('config_path_to_websocket_secure').disabled = true;
	}
});
BX.bind(BX('config_nginx_version_3'), 'change', function(){
	if (this.checked)
	{
		BX('config_signature_key').disabled = false;
		BX('config_nginx_command_per_hit').disabled = false;
		BX('config_websocket').disabled = false;
		if (BX('config_websocket').checked)
		{
			BX('config_path_to_websocket').disabled = false;
			BX('config_path_to_websocket_secure').disabled = false;
		}
		if (BX('config_nginx_version_3').checked)
		{
			BX('config_websocket').disabled = true;
			BX('config_websocket').checked = true;
			BX('config_path_to_websocket').disabled = false;
			BX('config_path_to_websocket_secure').disabled = false;
		}
	}
	else
	{
		BX('config_nginx_command_per_hit').disabled = true;
		BX('config_websocket').disabled = true;
		BX('config_path_to_websocket').disabled = true;
		BX('config_path_to_websocket_secure').disabled = true;
	}
});
BX.bind(BX('config_websocket'), 'change', function(){
	if (this.checked)
	{
		BX('config_path_to_websocket').disabled = false;
		BX('config_path_to_websocket_secure').disabled = false;
	}
	else
	{
		BX('config_path_to_websocket').disabled = true;
		BX('config_path_to_websocket_secure').disabled = true;
	}
});
function RestoreDefaults()
{
	if(confirm('<?echo AddSlashes(GetMessage('MAIN_HINT_RESTORE_DEFAULTS_WARNING'))?>'))
		window.location = "<?echo $APPLICATION->GetCurPage()?>?RestoreDefaults=Y&lang=<?echo LANG?>&mid=<?echo urlencode($mid)."&".bitrix_sessid_get();?>";
}
</script>
<input type="submit" name="Update" <?if ($MOD_RIGHT<'W') echo "disabled" ?> value="<?echo GetMessage('MAIN_SAVE')?>" class="adm-btn-save">
<input type="reset" name="reset" value="<?echo GetMessage('MAIN_RESET')?>">
<?=bitrix_sessid_post();?>
<input type="button" <?if ($MOD_RIGHT<'W') echo "disabled" ?> title="<?echo GetMessage('MAIN_HINT_RESTORE_DEFAULTS')?>" OnClick="RestoreDefaults();" value="<?echo GetMessage('MAIN_RESTORE_DEFAULTS')?>">
<?$tabControl->End();?>
</form>
<?=BeginNote();?>
	<?=GetMessage("PULL_OPTIONS_NGINX_DOC")?> <a href="<?=(LANGUAGE_ID == "ru"? "http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=41&LESSON_ID=2033": "http://www.bitrixsoft.com/support/training/course/index.php?COURSE_ID=26&LESSON_ID=5144")?>" target="_blank"><?=GetMessage("PULL_OPTIONS_NGINX_DOC_LINK")?></a>.
<?=EndNote();?>
</div>