Your IP : 3.142.173.81


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

<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>