Your IP : 3.145.102.69
<pre><?$_SERVER["DOCUMENT_ROOT"] = __DIR__."/../..";
require $_SERVER["DOCUMENT_ROOT"]."/import/.config.php";
//echol($_SERVER["DOCUMENT_ROOT"]);
$LIMIT_PROCESS = 400;
//Подготовим список ссылок товаров
$arElements = allElements( $IBLOCK, array("ID","NAME","XML_ID"), "XML_ID");
//echol($arElements);
$arparams = [
"max_len" => 200,
"change_case" => "L",
"replace_space" => "_",
"replace_other" => "",
"delete_repeat_replace" => true
];
$sql = "SELECT * FROM a_gateway_file_stack WHERE PATH IS NULL ORDER BY DATE ASC LIMIT $LIMIT_PROCESS ;";
//echol($sql);
$result = $DB->Query($sql, false, $err_mess.__LINE__);
startTimer("getFiles");
while($row=$result->Fetch()){
// **************************** ПОЛУЧЕНИЕ ФАЙЛА ****************
// Заправшиваем файл
$hash = $row["HASH"];
if(empty($hash)) continue;
//startTimer("fl".$hash);
$data = getRest($API_ADDRESS["file_info"]."?guid=".$hash,[],"GET",true);
//echol ( $API_FILE_FOLDER);
//$files[$hash]["DATA"] = $data;
// Подготовка нового названия
$path = $data["data"][0]["Наименование"];
$path_parts = pathinfo($path);
if($path_parts["extension"]=="") $ext = $data["data"][0]["ТекущаяВерсияРасширение"];
else $ext = $path_parts["extension"];
//echol($path_parts);
$filename = Cutil::translit($path_parts['filename'],"ru",$arParams).".".$ext;
$folder=$path_parts['dirname'];
if( $folder != "." && trim($folder) != "") $folder = $folder."/";
else $folder="";
//$files[$hash]["FULLPATH"] = $path;
//$files[$hash]["NAME"] = $filename;
$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);
}
// Загрузка файла
$content = getRestFile($files[$hash]["URL"]);
file_put_contents($files[$hash]["NEW_NAME"], $content);
//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($_SERVER["DOCUMENT_ROOT"]."/import/my_cron.txt","a");
fwrite($fd, "Обращение к fileprocesser - ".date("d.m.Y H:i")."\r\n");
fclose($fd);
/*$fd = fopen("/home/bitrix/www/tmp/my_cron.txt","a");
fwrite($fd, "Обращение к файлу - ".date("d.m.Y H:i")."\r\n");
fclose($fd);*/
?>