403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/sale/admin/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/sale/admin/affiliate_edit.php
<?php

/** @global CMain $APPLICATION */
use Bitrix\Main\Context;
use Bitrix\Main\Loader;
use Bitrix\Sale\Internals\SiteCurrencyTable;

require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php';

$saleModulePermissions = $APPLICATION->GetGroupRight('sale');
if ($saleModulePermissions=='D')
{
	$APPLICATION->AuthForm(GetMessage('ACCESS_DENIED'));
}

IncludeModuleLangFile(__FILE__);

Loader::includeModule('sale');

if(!CBXFeatures::IsFeatureEnabled('SaleAffiliate'))
{
	require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/include/prolog_admin_after.php");

	ShowError(GetMessage("SALE_FEATURE_NOT_ALLOW"));

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

$request = Context::getCurrent()->getRequest();

$errorMessage = '';
$bVarsFromForm = false;

$ID = (int)$request->get('ID');

$aTabs = [
	[
		'DIV' => 'edit1',
		'TAB' => GetMessage('SAE_AFF_TAB'),
		'ICON' => 'sale',
		'TITLE' => GetMessage('SAE_AFF_TAB_TITLE'),
	],
];

$tabControl = new CAdminTabControl("tabControl", $aTabs);

$formFields = [];

if ($request->isPost() && $request->getPost('Update') !== null && $saleModulePermissions>="W" && check_bitrix_sessid())
{
	$requiredStringList = [
		'SITE_ID' => GetMessage('SAE_NO_SITE_PLAN'),
		'DATE_CREATE' => GetMessage('SAE_NO_DATE_CREATE'),
	];
	foreach ($requiredStringList as $fieldId => $fieldError)
	{
		$value = $request->getPost($fieldId);
		if (is_string($value) && $value !== '')
		{
			$formFields[$fieldId] = $value;
		}
		else
		{
			$errorMessage .= $fieldError . '<br>';
		}
	}
	unset($requiredStringList);
	$requiredIntList = [
		'USER_ID' => GetMessage('SAE_NO_USER'),
		'PLAN_ID' => GetMessage('SAE_NO_PLAN'),
	];
	foreach ($requiredIntList as $fieldId => $fieldError)
	{
		$correct = false;
		$value = $request->getPost($fieldId);
		if (is_string($value))
		{
			$value = (int)$value;
			if ($value > 0)
			{
				$correct = true;
				$formFields[$fieldId] = $value;
			}
		}
		if (!$correct)
		{
			$errorMessage .= $fieldError . '<br>';
		}
	}
	unset($requiredIntList);

	$stringList = [
		'AFF_SITE',
		'AFF_DESCRIPTION',
	];
	foreach ($stringList as $fieldId)
	{
		$value = $request->getPost($fieldId);
		if (is_string($value))
		{
			$formFields[$fieldId] = $value;
		}
	}
	unset($stringList);

	$booleanList = [
		'ACTIVE',
		'FIX_PLAN',
	];
	foreach ($booleanList as $fieldId)
	{
		$value = $request->getPost($fieldId);
		if ($value === 'Y' || $value === 'N')
		{
			$formFields[$fieldId] = $value;
		}
	}
	unset($booleanList);

	$stringZeroList = [
		'LAST_CALCULATE',
	];
	foreach ($stringZeroList as $fieldId)
	{
		$value = $request->getPost($fieldId);
		if (is_string($value))
		{
			$formFields[$fieldId] = $value !== '' ? $value : false;
		}
	}
	$intZeroList = [
		'AFFILIATE_ID',
	];
	foreach ($intZeroList as $fieldId)
	{
		$value = $request->getPost($fieldId);
		if (is_string($value))
		{
			$value = (int)$value;
			$formFields[$fieldId] = $value > 0 ? $value : false;
		}
	}
	$floatList = [
		'PAID_SUM',
		'APPROVED_SUM',
		'PENDING_SUM',
	];
	foreach ($floatList as $fieldId)
	{
		$value = $request->getPost($fieldId);
		if (is_string($value))
		{
			$formFields[$fieldId] = (float)str_replace(',', '.', $value);
		}
	}
	unset($floatList);

	if ($errorMessage === '')
	{
		$dbAffiliate = CSaleAffiliate::GetList(
			[],
			[
				"USER_ID" => $formFields['USER_ID'],
				"SITE_ID" => $formFields['SITE_ID'],
				"!ID" => $ID,
			]
		);
		if ($dbAffiliate->Fetch())
		{
			$errorMessage .=
				GetMessage(
					'SAE_AFFILIATE_ALREADY_EXISTS',
					[
						'#USER_ID#' => $formFields['USER_ID'],
						'#SITE_ID#' => $formFields['SITE_ID'],
					]
				)
				. '<br>'
			;
/*			$errorMessage .= str_replace("#USER_ID#", $USER_ID,
					str_replace("#SITE_ID#", $SITE_ID, GetMessage("SAE_AFFILIATE_ALREADY_EXISTS"))) . "<br>"; */
		}
	}

	if ($errorMessage === '')
	{
		if ($ID > 0)
		{
			if (!CSaleAffiliate::Update($ID, $formFields))
			{
				$ex = $APPLICATION->GetException();
				if ($ex)
				{
					$errorMessage .= $ex->GetString() . '<br>';
				}
				else
				{
					$errorMessage .= GetMessage('SAE_ERROR_SAVE_AFF') . '<br>';
				}
				unset($ex);
			}
		}
		else
		{
			$ID = (int)CSaleAffiliate::Add($formFields);
			if ($ID <= 0)
			{
				$ex = $APPLICATION->GetException();
				if ($ex)
				{
					$errorMessage .= $ex->GetString() . '<br>';
				}
				else
				{
					$errorMessage .= GetMessage('SAE_ERROR_SAVE_AFF') . '<br>';
				}
			}
		}
	}

	if ($errorMessage === '')
	{
		if ($request->getPost('apply') === null)
		{
			LocalRedirect('/bitrix/admin/sale_affiliate.php?lang=' . LANGUAGE_ID
				. GetFilterParams('filter_', false)
			);
		}
		else
		{
			LocalRedirect('/bitrix/admin/sale_affiliate_edit.php?lang=' . LANGUAGE_ID
				. '&ID=' . $ID . GetFilterParams('filter_', false)
			);
		}
	}
	else
	{
		$bVarsFromForm = true;
	}
}

require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/sale/prolog.php';

if ($ID > 0)
{
	$APPLICATION->SetTitle(GetMessage(
		'SAE_TITLE_UPDATE_AFF',
		[
			'#ID#' => $ID,
		]
	));
}
else
{
	$APPLICATION->SetTitle(GetMessage('SAE_TITLE_ADD_AFF'));
}

require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_after.php';

$defaultValues = [
	'SITE_ID' => '',
	'USER_ID' => '',
	'AFFILIATE_ID' => '',
	'PLAN_ID' => '',
	'ACTIVE' => 'Y',
	'DATE_CREATE' => '',
	'PAID_SUM' => 0,
	'APPROVED_SUM' => 0,
	'PENDING_SUM' => '',
	'LAST_CALCULATE' => '',
	'AFF_SITE' => '',
	'AFF_DESCRIPTION' => '',
	'FIX_PLAN' => 'N',
];
$fields = null;

if ($ID > 0)
{
	$iterator = CSaleAffiliate::GetList([], ["ID" => $ID]);
	$fields = $iterator->Fetch();
	unset($iterator);
}
if (!$fields)
{
	$ID = 0;
	$fields = $defaultValues;
}
if ($bVarsFromForm)
{
	$fields = array_merge($fields, $formFields);
}

$aMenu = [
	[
		'TEXT' => GetMessage('SAE_AFF_LIST'),
		'LINK' => '/bitrix/admin/sale_affiliate.php?lang=' . LANGUAGE_ID . GetFilterParams('filter_'),
		'ICON' => 'btn_list',
	],
];

if ($ID > 0)
{
	$aMenu[] = [
		'SEPARATOR' => 'Y',
	];

	$aMenu[] = [
		'TEXT' => GetMessage('SAE_AFF_ADD'),
		'LINK' => '/bitrix/admin/sale_affiliate_edit.php?lang=' . LANGUAGE_ID . GetFilterParams('filter_'),
		'ICON' => 'btn_new',
	];

	if ($saleModulePermissions >= "W")
	{
		$aMenu[] = [
			'TEXT' => GetMessage('SAE_AFF_DELETE'),
			'LINK' =>
				"javascript:if(confirm('" . CUtil::JSEscape(GetMessage('SAE_AFF_DELETE_CONF'))
				. "')) window.location='/bitrix/admin/sale_affiliate.php?ID=" . $ID
				. '&action=delete&lang=' . LANGUAGE_ID . '&'. bitrix_sessid_get() . "#tb';"
			,
			'WARNING' => 'Y',
			'ICON' => 'btn_delete',
		];
	}
}
$context = new CAdminContextMenu($aMenu);
$context->Show();

if($errorMessage !== '')
{
	CAdminMessage::ShowMessage([
		'DETAILS'=>$errorMessage,
		'TYPE'=>'ERROR',
		'MESSAGE'=>GetMessage('SAE_ERROR_SAVE_AFF'),
		'HTML'=>true,
	]);
}
?>
<script>
var arSitesArray = [];
var arCurrenciesArray = [];
<?php
$arBaseLangCurrencies = [];
$i = -1;
$dbSiteList = CSite::GetList();
while ($arSite = $dbSiteList->Fetch())
{
	$i++;
	?>
	arSitesArray[<?= $i ?>] = '<?= CUtil::JSEscape($arSite['LID']) ?>';
	arCurrenciesArray[<?= $i ?>] = '<?= CUtil::JSEscape(SiteCurrencyTable::getSiteCurrency($arSite['LID'])) ?>';
	<?php
}
?>
</script>

<form method="POST" action="<?= $APPLICATION->GetCurPage(); ?>?" name="form1">
<?= GetFilterHiddens("filter_"); ?>
<input type="hidden" name="Update" value="Y">
<input type="hidden" name="lang" value="<?= LANGUAGE_ID; ?>">
<input type="hidden" name="ID" value="<?= $ID; ?>">
<?= bitrix_sessid_post(); ?>
<?php
$tabControl->Begin();
$tabControl->BeginNextTab();
	if ($ID > 0):
		?>
		<tr>
			<td width="40%">ID:</td>
			<td width="60%"><?=$ID?></td>
		</tr>
		<tr>
			<td width="40%"><?= GetMessage("SAE_DATE_UPDATE")?></td>
			<td width="60%"><?= $fields['TIMESTAMP_X']; ?></td>
		</tr>
		<?php
	endif;
	?>
	<tr class="adm-detail-required-field">
		<td width="40%"><?= GetMessage("SAE_SITE"); ?></td>
		<td width="60%">
			<script>
			function OnChangeSite(val)
			{
				var currency = "";
				for (var i = 0; i < arSitesArray.length; i++)
				{
					if (arSitesArray[i] === val)
					{
						currency = arCurrenciesArray[i];
						break;
					}
				}

				document.getElementById('DIV_PAID_SUM_CURRENCY').innerHTML = currency;
				document.getElementById('DIV_PENDING_SUM_CURRENCY').innerHTML = currency;
			}
			</script>
			<?= CSite::SelectBox("SITE_ID", $fields['SITE_ID'], "", "OnChangeSite(this[this.selectedIndex].value)"); ?>
		</td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?= GetMessage("SAE_USER"); ?></td>
		<td>
			<?php
			$userName = '';
			$userId = (int)$fields['USER_ID'];
			if ($userId > 0)
			{
				$dbUser = CUser::GetByID($userId);
				if ($arUser = $dbUser->Fetch())
				{
					$userName = "[<a class=\"tablebodylink\" title=\""
						. GetMessage("SAE_PROFILE")
						. "\" href=\"/bitrix/admin/user_edit.php?lang="
						. LANGUAGE_ID
						. "&ID=" . $userId
						. "\">"
						. $userId
						. "</a>] ("
						. htmlspecialcharsex($arUser["LOGIN"])
						. ") "
						. htmlspecialcharsex($arUser["NAME"])
						. " "
						. htmlspecialcharsex($arUser["LAST_NAME"])
					;
				}
			}

			echo FindUserID("USER_ID", $fields['USER_ID'], $userName, "form1");
			?>
		</td>
	</tr>
	<tr>
		<td valign="top"><?= GetMessage("SAE_AFFILIATE_REG"); ?></td>
		<td valign="top">
			<input type="text" name="AFFILIATE_ID" value="<?= htmlspecialcharsbx($fields['AFFILIATE_ID']); ?>" size="10" maxlength="10">
			<iframe name="hiddenframe_affiliate" id="id_hiddenframe_affiliate" src="" width="0" height="0" style="width:0; height:0; border: 0"></iframe>
			<input
				type="button"
				class="button"
				name="FindAffiliate"
				onclick="window.open('/bitrix/admin/sale_affiliate_search.php?func_name=SetAffiliateID', '', 'scrollbars=yes,resizable=yes,width=600,height=500,top='+Math.floor((screen.height - 500)/2-14)+',left='+Math.floor((screen.width - 400)/2-5));"
				value="..."
			>
			<span id="div_affiliate_name"></span>
			<script>
			function SetAffiliateID(id)
			{
				document.form1.AFFILIATE_ID.value = id;
				BX.fireEvent(document.form1.AFFILIATE_ID, 'change');
			}

			function SetAffiliateName(val)
			{
				if (val !== "NA")
					document.getElementById('div_affiliate_name').innerHTML = val;
				else
					document.getElementById('div_affiliate_name').innerHTML = '<?= GetMessage("SAE_NO_AFFILIATE") ?>';
			}

			var affiliateID = '';
			function ChangeAffiliateName()
			{
				if (affiliateID !== document.form1.AFFILIATE_ID.value)
				{
					affiliateID = document.form1.AFFILIATE_ID.value;
					if (affiliateID !== '' && !isNaN(parseInt(affiliateID, 10)))
					{
						document.getElementById('div_affiliate_name').innerHTML = '<i><?= GetMessage("SAE_WAIT") ?></i>';
						window.frames["hiddenframe_affiliate"].location.replace('/bitrix/admin/sale_affiliate_get.php?ID=' + affiliateID + '&func_name=SetAffiliateName');
					}
					else
						document.getElementById('div_affiliate_name').innerHTML = '';
				}
				timerID = setTimeout('ChangeAffiliateName()',2000);
			}
			ChangeAffiliateName();
			</script>
		</td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?= GetMessage("SAE_PLAN"); ?></td>
		<td>
			<select name="PLAN_ID">
				<?php
				$planId = (int)$fields['PLAN_ID'];
				$dbPlan = CSaleAffiliatePlan::GetList(
					["NAME" => "ASC"],
					[],
					false,
					false,
					[
						"ID",
						"NAME",
						"SITE_ID"
					]
				);
				while ($arPlan = $dbPlan->Fetch())
				{
					$arPlan['ID'] = (int)$arPlan['ID'];
					?><option value="<?= $arPlan["ID"] ?>"<?= ($planId === $arPlan['ID'] ? ' selected' : ''); ?>><?= htmlspecialcharsbx("[".$arPlan["ID"]."] ".$arPlan["NAME"]." (".$arPlan["SITE_ID"].")") ?></option><?php
				}
				?>
			</select>
		</td>
	</tr>
	<tr>
		<td><?= GetMessage("SAE_FIX_PLAN"); ?>:</td>
		<td>
			<input type="hidden" name="FIX_PLAN" value="N">
			<input type="checkbox" name="FIX_PLAN" value="Y"<?= ($fields['FIX_PLAN'] === 'Y' ? ' checked' : ''); ?>>
		</td>
	</tr>
	<tr>
		<td><?= GetMessage("SAE_ACTIVE"); ?></td>
		<td>
			<input type="hidden" name="ACTIVE" value="N">
			<input type="checkbox" name="ACTIVE" value="Y"<?= ($fields['ACTIVE'] === 'Y' ? 'checked' : ''); ?>>
		</td>
	</tr>
	<tr class="adm-detail-required-field">
		<td><?= GetMessage("SAE_DATE_REG"); ?>:</td>
		<td>
			<?= CalendarDate("DATE_CREATE", $fields['DATE_CREATE'], "form1", "20", ""); ?>
		</td>
	</tr>
	<tr>
		<td><?= GetMessage("SAE_PAYED_SUM"); ?></td>
		<td>
			<input type="text" name="PAID_SUM" size="10" maxlength="15" value="<?= (float)$fields['PAID_SUM']; ?>">
			<span id="DIV_PAID_SUM_CURRENCY"></span>
		</td>
	</tr>
	<tr>
		<td><?= GetMessage("SAE_PENDING_SUM"); ?></td>
		<td>
			<input type="text" name="PENDING_SUM" size="10" maxlength="15" value="<?= (float)$fields['PENDING_SUM']; ?>">
			<span id="DIV_PENDING_SUM_CURRENCY"></span>
		</td>
	</tr>
	<tr>
		<td><?= GetMessage("SAE_LAST_CALC"); ?>:</td>
		<td>
			<?= CalendarDate("LAST_CALCULATE", $fields['LAST_CALCULATE'], "form1", "20", ""); ?>
		</td>
	</tr>
	<tr>
		<td><?= GetMessage("SAE_AFF_SITE"); ?>:</td>
		<td>
			<input type="text" name="AFF_SITE" size="60" maxlength="200" value="<?= htmlspecialcharsbx($fields['AFF_SITE']); ?>">
		</td>
	</tr>
	<tr>
		<td class="adm-detail-valign-top"><?= GetMessage("SAE_AFF_DESCRIPTION"); ?>:</td>
		<td>
			<textarea name="AFF_DESCRIPTION" rows="3" cols="50"><?= htmlspecialcharsbx($fields['AFF_DESCRIPTION']); ?></textarea>
		</td>
	</tr>
	<script>
	OnChangeSite(document.form1.SITE_ID[document.form1.SITE_ID.selectedIndex].value);
	</script>
<?php
$tabControl->EndTab();

$tabControl->Buttons([
	'disabled' => ($saleModulePermissions < 'W'),
	'back_url' => '/bitrix/admin/sale_affiliate_plan.php?lang=' . LANGUAGE_ID . GetFilterParams('filter_'),
]);

$tabControl->End();
?>
</form>
<?php
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_admin.php';

Youez - 2016 - github.com/yon3zu
LinuXploit