Your IP : 3.145.102.69


Current Path : /home/bitrix/ext_www/ballu.in.ua/import/subscripts/
Upload File :
Current File : /home/bitrix/ext_www/ballu.in.ua/import/subscripts/fileprocesser.php

<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);*/


?>