Your IP : 3.147.238.129


Current Path : /home/bitrix/ext_www/dev.ballu.in.ua/bitrix/components/bitrix/sale.personal.cc.detail/
Upload File :
Current File : /home/bitrix/ext_www/dev.ballu.in.ua/bitrix/components/bitrix/sale.personal.cc.detail/component.php

<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

$this->setFramemode(false);

if (!CModule::IncludeModule("sale"))
{
	ShowError(GetMessage("SALE_MODULE_NOT_INSTALL"));
	return;
}

if (!CBXFeatures::IsFeatureEnabled('SaleCCards'))
	return;

if (!$USER->IsAuthorized())
{
	$APPLICATION->AuthForm(GetMessage("SALE_ACCESS_DENIED"));
}

$ID = IntVal($arParams["ID"]);
$errorMessage = "";
$bVarsFromForm = false;

$arParams["PATH_TO_LIST"] = Trim($arParams["PATH_TO_LIST"]);
if (strlen($arParams["PATH_TO_LIST"]) <= 0)
	$arParams["PATH_TO_LIST"] = htmlspecialcharsbx($APPLICATION->GetCurPage());
	
$arParams["SET_TITLE"] = ($arParams["SET_TITLE"] == "N" ? "N" : "Y" );
if($arParams["SET_TITLE"] == 'Y')
{
	if ($ID > 0)
		$APPLICATION->SetTitle(str_replace("#ID#", $ID, GetMessage("STPC_TITLE_UPDATE")));
	else
		$APPLICATION->SetTitle(GetMessage("STPC_TITLE_ADD"));
}

if(strlen($_POST["reset"]) > 0)
	LocalRedirect($arParams["PATH_TO_LIST"]);
if ($_SERVER["REQUEST_METHOD"]=="POST" && (strlen($_POST["save"]) > 0 || strlen($_POST["apply"]) > 0) && check_bitrix_sessid())
{
	if ($ID > 0)
	{
		$dbUserCards = CSaleUserCards::GetList(
				array(),
				array(
						"ID" => $ID,
						"USER_ID" => IntVal($USER->GetID())
					),
				false,
				false,
				array("ID")
			);
		if (!($arUserCards = $dbUserCards->Fetch()))
		{
			$errorMessage .= GetMessage("STPC_NO_CARD").". ";
		}
	}

	if (strlen($errorMessage) <= 0)
	{
		$PAY_SYSTEM_ACTION_ID = IntVal($_REQUEST["PAY_SYSTEM_ACTION_ID"]);
		if ($PAY_SYSTEM_ACTION_ID <= 0)
			$errorMessage .= GetMessage("STPC_EMPTY_PAY_SYS").". ";

		$CARD_TYPE = Trim($_REQUEST["CARD_TYPE"]);
		$CARD_TYPE = ToUpper($CARD_TYPE);
		if (strlen($CARD_TYPE) <= 0)
			$errorMessage .= GetMessage("STPC_EMPTY_CARD_TYPE").". ";

		$CARD_NUM = preg_replace("/[\D]+/", "", $_REQUEST["CARD_NUM"]);
		if (strlen($CARD_NUM) <= 0)
		{
			$errorMessage .= GetMessage("STPC_EMPTY_CARDNUM").". ";
		}
		else
		{
			$cardType = CSaleUserCards::IdentifyCardType($CARD_NUM);
			if ($cardType != $CARD_TYPE)
				$errorMessage .= GetMessage("STPC_WRONG_CARDNUM").". ";
		}

		$CARD_EXP_MONTH = IntVal($_REQUEST["CARD_EXP_MONTH"]);
		if ($CARD_EXP_MONTH < 1 || $CARD_EXP_MONTH > 12)
			$errorMessage .= GetMessage("STPC_WRONG_MONTH").". ";

		$CARD_EXP_YEAR = IntVal($_REQUEST["CARD_EXP_YEAR"]);
		if ($CARD_EXP_YEAR < 2007 || $CARD_EXP_YEAR > 2100)
			$errorMessage .= GetMessage("STPC_WRONG_YEAR").". ";

		$CARD_CODE = Trim($_REQUEST["CARD_CODE"]);
	}

	if (strlen($errorMessage) <= 0)
	{
		$SUM_MIN = str_replace(",", ".", $_REQUEST["SUM_MIN"]);
		$SUM_MIN = DoubleVal($SUM_MIN);
		$SUM_MAX = str_replace(",", ".", $_REQUEST["SUM_MAX"]);
		$SUM_MAX = DoubleVal($SUM_MAX);
		$ACTIVE = (($_REQUEST["ACTIVE"] == "Y") ? "Y" : "N");
		$SORT = ((IntVal($_REQUEST["SORT"]) > 0) ? IntVal($_REQUEST["SORT"]) : 100);
		$CURRENCY = Trim($_REQUEST["CURRENCY"]);
		$SUM_CURRENCY = Trim($_REQUEST["SUM_CURRENCY"]);

		if (($SUM_MIN > 0 || $SUM_MAX > 0) && strlen($SUM_CURRENCY) <= 0)
			$errorMessage .= GetMessage("STPC_EMPTY_BCURRENCY").". ";
	}

	if (strlen($errorMessage) <= 0)
	{
		$arFields = array(
				"USER_ID" => IntVal($USER->GetID()),
				"ACTIVE" => $ACTIVE,
				"SORT" => $SORT,
				"PAY_SYSTEM_ACTION_ID" => $PAY_SYSTEM_ACTION_ID,
				"CURRENCY" => ((strlen($CURRENCY) > 0) ? $CURRENCY : False),
				"CARD_TYPE" => $CARD_TYPE,
				"CARD_NUM" => CSaleUserCards::CryptData($CARD_NUM, "E"),
				"CARD_EXP_MONTH" => $CARD_EXP_MONTH,
				"CARD_EXP_YEAR" => $CARD_EXP_YEAR,
				"CARD_CODE" => $CARD_CODE,
				"SUM_MIN" => (($SUM_MIN > 0) ? $SUM_MIN : False),
				"SUM_MAX" => (($SUM_MAX > 0) ? $SUM_MAX : False),
				"SUM_CURRENCY" => ((strlen($SUM_CURRENCY) > 0) ? $SUM_CURRENCY : False)
			);

		if ($ID > 0)
		{
			$res = CSaleUserCards::Update($ID, $arFields);
		}
		else
		{
			$ID = CSaleUserCards::Add($arFields);
			$res = ($ID > 0);
		}

		if (!$res)
		{
			if ($ex = $APPLICATION->GetException())
				$errorMessage .= $ex->GetString().". ";
			else
				$errorMessage .= GetMessage("STPC_ERROR_SAVING_CARD").". ";
		}
	}

	if (strlen($errorMessage) <= 0)
	{
		if (strlen($_POST["save"]) > 0)
			LocalRedirect($arParams["PATH_TO_LIST"]);
		elseif(strlen($_POST["apply"]) > 0)
			LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_DETAIL"], Array("ID" => $ID)));

	}
	else
	{
		$bVarsFromForm = true;
	}
}

$dbUserCards = CSaleUserCards::GetList(
		array("DATE_UPDATE" => "DESC"),
		array(
				"ID" => $ID,
				"USER_ID" => IntVal($GLOBALS["USER"]->GetID())
			),
		false,
		false,
		array("ID", "USER_ID", "ACTIVE", "SORT", "PAY_SYSTEM_ACTION_ID", "CURRENCY", "CARD_TYPE", "CARD_NUM", "CARD_CODE", "CARD_EXP_MONTH", "CARD_EXP_YEAR", "DESCRIPTION", "SUM_MIN", "SUM_MAX", "SUM_CURRENCY", "TIMESTAMP_X", "LAST_STATUS", "LAST_STATUS_CODE", "LAST_STATUS_DESCRIPTION", "LAST_STATUS_MESSAGE", "LAST_SUM", "LAST_CURRENCY", "LAST_DATE")
	);
if ($arUserCards = $dbUserCards->GetNext())
{
	$arResult = $arUserCards;
	$arResult["CARD_NUM"] = CSaleUserCards::CryptData($arResult["CARD_NUM"], "D");
}
else
{
	$arResult["ID"] = 0;
	$arResult["ACTIVE"] = "Y";
	$arResult["SORT"] = 100;
}

if ($bVarsFromForm)
{
	foreach($_POST as $k => $v)
	{
		$arResult[$k] = htmlspecialcharsex($v);
		$arResult['~'.$k] = $v;
	}
}

$arResult["ERROR_MESSAGE"] = $errorMessage;

$dbPaySysActions = CSalePaySystemAction::GetList(
		array("PERSON_TYPE_ID" => "ASC", "NAME" => "ASC", "PT_NAME" => "ASC", "PS_NAME" => "ASC"),
		array(
				"HAVE_ACTION" => "Y"
			),
		false,
		false,
		array("*")
	);
$arResult["PAY_SYSTEM"] = Array();
while ($arPaySysActions = $dbPaySysActions->GetNext())
	$arResult["PAY_SYSTEM"][] = $arPaySysActions;

$dbCurrency = CCurrency::GetList(($by="sort"), ($order="asc"));
$arResult["CURRENCY_INFO"] = Array();
while ($arCurrency = $dbCurrency->GetNext())
	$arResult["CURRENCY_INFO"][] = $arCurrency;

$arResult["CARD_TYPE_INFO"] = Array(
		"VISA" => "Visa",
		"MASTERCARD" => "MasterCard",
		"AMEX" => "Amex",
		"DINERS" => "Diners",
		"DISCOVER" => "Discover",
		"JCB" => "JCB",
		"ENROUTE" => "Enroute",
	);

$this->IncludeComponentTemplate();
?>