%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 52.14.80.90
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/sale.mobile.order.deduction/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/sale.mobile.order.deduction/component.php
<?
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED!==true)
	die();

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

if (!CModule::IncludeModule('mobileapp'))
{
	ShowError("SMPL_MOBILEAPP_NOT_INSTALLED");
	return;
}

if (!CModule::IncludeModule('iblock'))
{
	ShowError("SMPL_IBLOCK_NOT_INSTALLED");
	return;
}

$arResult = array(
	"CURRENT_PAGE_PARAMS" => $APPLICATION->GetCurPageParam(),
	"AJAX_URL" => $componentPath."/ajax.php"
);

$arResult["STORE_PAGE"] = CHTTP::urlAddParams(
	$arResult["CURRENT_PAGE_PARAMS"],
	array(
		"set_store" => 'Y'
	),
	array(
		"encode" => true,
	)
);

$arResult["BARCODE_PAGE"] = CHTTP::urlAddParams(
	$arResult["CURRENT_PAGE_PARAMS"],
	array(
		"set_barcode" => 'Y'
	),
	array(
		"encode" => true,
	)
);

if(isset($_REQUEST["product_id"]))
	$arResult["PRODUCT_ID"];

if(isset($_REQUEST["set_store"]))
	$templatePage = 'store';
elseif(isset($_REQUEST["set_barcode"]))
	$templatePage = 'barcode';
else
	$templatePage = 'template';

$bXmlId = COption::GetOptionString("sale", "show_order_product_xml_id", "N");

$rsSites = CSite::GetList("id", "asc", array("ACTIVE" => "Y", "DEF" => "Y"));
$arSite = $rsSites->Fetch();
$LID = $arSite["ID"];

$arResult["LID"] = $LID;

$dbBasket = CSaleBasket::GetList(
	array("NAME" => "ASC"),
	array("ORDER_ID" => $arParams["ORDER_ID"]),
	false,
	false,
	array("ID", "PRODUCT_ID", "QUANTITY", "NAME", "MODULE", "PRODUCT_PROVIDER_CLASS", "BARCODE_MULTI")
);

$weight = 0;
$price =0;
$price_total = 0;
$arProdIds = array(); //http://jabber.bx/view.php?id=37744
$arProdIdsPrIds = array();
$useStores = false;

while ($arBasket = $dbBasket->Fetch())
{
	$arProdIds[] = $arBasket["PRODUCT_ID"];
	$arProdIdsPrIds[$arBasket["PRODUCT_ID"]] = $arBasket["ID"];
	$arBasket["BALANCE"] = "0";
	$arBasket["STORES"] = array();
	$arBasket["HAS_SAVED_QUANTITY"] = "N";
	$arBasket["HAS_SAVED_BARCODES"] = false;

	/** @var $productProvider IBXSaleProductProvider */
	if ($productProvider = CSaleBasket::GetProductProvider($arBasket))
	{
		$storeCount = $productProvider::GetStoresCount(array("SITE_ID" => $LID));

		if ($storeCount > 0)
		{
			if ($arProductStore = $productProvider::GetProductStores(
					array(
						"PRODUCT_ID" => $arBasket["PRODUCT_ID"],
						"SITE_ID" => $LID,
						'BASKET_ID' => $arBasket['ID']
					)
				))
			{

				foreach ($arProductStore as $arStore)
					$arBasket["STORES"][$arStore["STORE_ID"]] = $arStore;

				if (!$useStores && $storeCount != -1) // -1 means store control is not used
				{
					$useStores = true;
				}

				// if barcodes/store quantity are already saved for this product,
				// then check if barcodes are still valid and save them to the store array
				$ind = 0;
				$dbres = CSaleStoreBarcode::GetList(
					array(),
					array("BASKET_ID" => $arBasket["ID"]),
					false,
					false,
					array("ID", "BASKET_ID", "BARCODE", "STORE_ID", "ORDER_ID", "QUANTITY", "DEDUCTED")
				);
				while ($arRes = $dbres->GetNext())
				{
					$arCheckBarcodeFields = array(
						"BARCODE"    => $arRes["BARCODE"],
						"PRODUCT_ID" => $arBasket["PRODUCT_ID"],
						"ORDER_ID"   => $arParams["ORDER_ID"]
					);

					if ($arBasket["BARCODE_MULTI"] == "Y")
						$arCheckBarcodeFields["STORE_ID"] = $arRes["STORE_ID"];

					if ($arRes["BARCODE"] == "")
						$res = true;
					else if ($arRes["DEDUCTED"] == "Y")
						$res = false;
					else
						$res = $productProvider::CheckProductBarcode($arCheckBarcodeFields);

					if(is_array($arBasket["STORES"]))
					{
						foreach ($arBasket["STORES"] as $storeId => $arStoreInfo)
						{
							if ($arStoreInfo["STORE_ID"] == $arRes["STORE_ID"])
							{
								if ($arBasket["BARCODE_MULTI"] == "Y")
								{
									$arBasket["STORES"][$storeId]["QUANTITY"] += $arRes["QUANTITY"];

									if ($arRes["DEDUCTED"] == "Y")
										$val = "D";
									else
										$val = ($res) ? "Y" : "N";

									$arBasket["STORES"][$storeId]["BARCODE"][] = $arRes["BARCODE"];
									$arBasket["STORES"][$storeId]["BARCODE_FOUND"][] = $val;
								}
								else
								{
									$arBasket["STORES"][$storeId]["QUANTITY"] = $arRes["QUANTITY"];

									$arBasket["STORES"][$storeId]["QUANTITY_DEDUCTED"] = ($arRes["DEDUCTED"] == "Y") ? "Y" : "N";
								}
							}
						}
					}

					$arBasket["HAS_SAVED_QUANTITY"] = "Y";
					$arBasket["HAS_SAVED_BARCODES"] = true;

					$ind++;
				}
			}
		}
	}

	$arResult["BASKET"][$arBasket["ID"]] = $arBasket;
}

if(CModule::IncludeModule('catalog'))
{
	$rsCatProd = CCatalogProduct::GetList(
									array(),
									array("ID" => $arProdIds),
									false,
									false,
									array("ID", "QUANTITY")
	);

	while($arCatProd = $rsCatProd->Fetch())
		if ($arResult["BASKET"][$arProdIdsPrIds[$arCatProd["ID"]]]["MODULE"] == "catalog")
			$arResult["BASKET"][$arProdIdsPrIds[$arCatProd["ID"]]]["BALANCE"] = FloatVal($arCatProd["QUANTITY"]);
}

$arResult["USE_STORES"] = $useStores;

$this->IncludeComponentTemplate($templatePage);
?>

Youez - 2016 - github.com/yon3zu
LinuXploit