Your IP : 3.142.173.81
<pre><?$_SERVER["DOCUMENT_ROOT"] = __DIR__."/../..";
require $_SERVER["DOCUMENT_ROOT"]."/import/.config.php";
$LIMIT_PROCESS = 1000;
//Подготовим список ссылок товаров
$arElements = allElements( $IBLOCK, array("ID","NAME","XML_ID"), "XML_ID");
//echol($arElements);
$sql = "SELECT * FROM a_gateway_file_element WHERE UPDATED IS NULL ORDER BY DATE ASC;";
//echol($sql);
$result = $DB->Query($sql, false, $err_mess.__LINE__);
startTimer("getFiles");
while($row=$result->Fetch()){
//echol($row);
// **************************** ПОЛУЧЕНИЕ ФАЙЛА ****************
$sql_in = "SELECT * FROM a_gateway_file_stack WHERE HASH='".$row["FILE_ID"]."';";
//echol($sql_in);
$res = $DB->Query($sql_in, false, $err_mess.__LINE__);
startTimer("getFiles");
while($file=$res->Fetch()){
$value = CFile::MakeFileArray($file["PATH"]);
}
$id = ($arElements[$row["ELEMENT_ID"]]["ID"]);
$prop = $row["PROPERTY_KEY"];
if(!empty($value)){
CIBlockElement::SetPropertyValuesEx($id, $IBLOCK, array($prop => Array ("VALUE" => array("del" => "Y"))));
if($GLOBALTEST !=true ) {
CIBlockElement::SetPropertyValueCode($id, $prop, $value);
$hash = $row["HASH"];
$sqlUp = "UPDATE a_gateway_file_element SET UPDATED='Y' WHERE HASH='$hash';";
$DB->Query($sqlUp, false, $err_mess.__LINE__);
}
if($SILENTPROPS !=true ) echo "done $id -> $prop \n";
//echol($sqlUp);
//echol(["ID"=>$id, "PROP" => $prop, "file" => $value]);
}
/*
// Заправшиваем файл
$hash = $row["HASH"];
if(empty($hash)) continue;
//startTimer("fl".$hash);
$files[$hash]["FOLDER"] = $API_FILE_FOLDER.$folder;
$files[$hash]["NEW_NAME"] = $API_FILE_FOLDER.$folder.$filename;
$files[$hash]["URL"] = $API_ADDRESS["file_get"].$hash."/";
// Проверка наличия папки загрузки
if (!is_dir($files[$hash]["FOLDER"])) {
mkdir($files[$hash]["FOLDER"], 0777, true);
}
// Загрузка файла
//stopTimer("fl".$hash);
// ******************** ОБНОВЛЕНИЕ ИНФО ************************
$sqlUp = "UPDATE a_gateway_file_stack SET PATH='".$files[$hash]["NEW_NAME"]."', UPDATED='Y', DATE_UPDATE=NOW() WHERE HASH='$hash';";
//echol($sqlUp);
$DB->Query($sqlUp, false, $err_mess.__LINE__);
//echol("done ".$hash);
// ********************** ОБНОВЛЕНИЕ СЛУШАТЕЛЕЙ ****************
// получить спсиок слушателей файла
$arListeners = getFileListeners($hash);
//echol($arListeners);
// для каждого
// проверить, есть ли элемент
//$arListeners = checkElementReady($arListeners);
foreach($arListeners as $file => $Listeners){
// проверить, есть ли свойство
// подготовить массив
$value = CFile::MakeFileArray($files[$hash]["NEW_NAME"]);
// Подготовить метку залитости файла
$updated="Y";
// сделать заливку свойств
foreach($Listeners as $xmlid => $prop){
$id = ($arElements[$xmlid]["ID"]);
if(!empty($value)){
CIBlockElement::SetPropertyValuesEx($id, $IBLOCK, array($prop => Array ("VALUE" => array("del" => "Y"))));
if($GLOBALTEST !=true ) CIBlockElement::SetPropertyValueCode($id, $prop, $value);
if($SILENTPROPS !=true ) echo "done $id -> $prop \n";
$hash = md5($file.$xmlid.$prop);
$sqlUp = "UPDATE a_gateway_file_element SET UPDATED='Y' WHERE HASH='$hash';";
$DB->Query($sqlUp, false, $err_mess.__LINE__);
//echol($sqlUp);
}
}
}
// радоваться*/
}
stopTimer("getFiles");
//echol($files);
outTimers();
/*$fd = fopen("/home/bitrix/www/tmp/my_cron.txt","a");
fwrite($fd, "Обращение к файлу - ".date("d.m.Y H:i")."\r\n");
fclose($fd);*/
$fd = fopen($_SERVER["DOCUMENT_ROOT"]."/import/my_cron.txt","a");
fwrite($fd, "Обращение к file_element_loader - ".date("d.m.Y H:i")."\r\n");
fclose($fd);
?></pre>