<?
define("STOP_STATISTICS", true);
if(array_key_exists('site_id',$_REQUEST) && is_string($_REQUEST['site_id']))
if($_REQUEST['site_id'] !== '' && preg_match('/^[a-z0-9_]{2}$/i',$_REQUEST['site_id']) === 1)
define('SITE_ID',$_REQUEST['site_id']);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
define("LOG_FILENAME", $_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/log.txt");
use Bitrix\Main\Loader,
Bitrix\Main\Application;
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
CModule::IncludeModule("sale");
CUtil::JSPostUnescape();
if (!check_bitrix_sessid() || $_SERVER["REQUEST_METHOD"] != "POST")
return;
$arRes = array();
if (isset($_POST["action"]) && strlen($_POST["action"]) > 0){
if($_POST["action"]=="add"){
$add = 0;
$price = floor(intval($_POST["item"]["price"]));
if($_POST["item"]["kod"] != ""){
//выбираем по коду поставщика
$arSelect = Array("IBLOCK_ID", "ID");
$arFilter = Array("IBLOCK_ID"=>$arIblocks[$_POST["item"]["category"]],"PROPERTY_KOD_POST" => $_POST["item"]["kod"]);
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>1), $arSelect);
if($ob = $res->GetNextElement()){
//нашли по коду
$arFields = $ob->GetFields();
//обновляем
$el = new CIBlockElement;
$el->Update($arFields["ID"], array("MODIFIED_BY" => $USER->GetID(),"ACTIVE"=>"Y"));
CCatalogProduct::Update($arFields["ID"], array("QUANTITY"=>intval($_POST["item"]["quant"]))); //обновили доступное количество
CPrice::SetBasePrice($arFields["ID"],$price,'RUB'); //обновили цену
$add = 1;
$arRes["FIND"] = $arFields;
}
}
if($add == 0){
//ищем по параметрам, если нашли, то обновляем и код добавляем
//..
//
if($add==0){
//добавляем
}
}
$arRes["STATUS"] = $add;
$arRes["LINE_ID"] = $_POST["line_id"];
}
elseif($_POST["action"]=="deactive_old"){
$el = new CIBlockElement;
$i = 0;
$arSelect = Array("IBLOCK_ID", "ID", "NAME");
$arFilter = Array(
"IBLOCK_ID"=>$arIblocks,
"ACTIVE"=>"Y",
"<TIMESTAMP_X"=> array(ConvertTimeStamp(time()-30000 , "FULL"))
);
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>10000), $arSelect);
while($ob = $res->GetNextElement()){
$i++;
$arFields = $ob->GetFields();
$el->Update($arFields["ID"], array("ACTIVE"=>"N", 'TIMESTAMP_X' => FALSE));
}
$arRes = $i.' деактивировано';
}
}
$APPLICATION->RestartBuffer();
header('Content-Type: application/json; charset='.LANG_CHARSET);
echo CUtil::PhpToJSObject($arRes);
die();
|