Your IP : 18.119.132.72


Current Path : /home/bitrix/ext_www/ballu.in.ua/import/
Upload File :
Current File : /home/bitrix/ext_www/ballu.in.ua/import/.filecacher.functions.php

<?

#******************************* INPUT **************************

// Проверка доступности файла, возвращение результата - адреса файла на сервере, или пометки что файл принят на загрузку
function CheckGatewayFile($hash)
{
	global $DB;

	// проверка на ошибку
	if(empty($hash)) return "error";

	// если ничего не найдется скажем, что пусто
	$out = false;
	$sql = "SELECT * FROM a_gateway_file_stack WHERE HASH='$hash'; ";
	
	$results = $DB->Query($sql);
	while ($row = $results->Fetch()){
		// что-то вернулось
		if(!empty($row["PATH"])) 
			// найден, вернем путь
			$out = $row["PATH"];

		// не готов
		else $out = "not_ready";
	}

	return $out;
}



// Принимает файл на регистрацию и отправляет данны ео нем если найден
//					$file = [
//						"HASH" => $pval,
//						"ELEMENT_ID" => $pid,
//						"PROPERTY_CODE" => $pr["CODE"]
//					];
function registerGatewayFile($arFile)
{
	// получение статуса файла  error | not_ready | false | <PATH>
	$check = CheckGatewayFile($arFile["HASH"]);
	// возврат ошибки
	if( $check == "error") return "error";
	// некорректные данные
	if(empty($arFile["HASH"])) return "error_data";
	

	if($check == false){
	// пока пусто, файла нет
		global $DB;
		$strSql = "INSERT INTO a_gateway_file_stack (HASH, DATE) VALUES ('".$arFile["HASH"]."', NOW());";
		//echol($strSql);
		$DB->Query($strSql, false, $err_mess.__LINE__);
		
		//регистрируем элемента - слушателя
		setFileElementLink($arFile);
		return "registered";

	}elseif($check=="not_ready"){
	// файл есть, не готов
	
		//регистрируем элемента - слушателя
		setFileElementLink($arFile);
		return "not_ready";
	}else{
		setFileElementLink($arFile);
		// должен вернуть путь
		return $check;
	}

}


function setFileElementLink($arFile){
	global $IBLOCK;
	global $DB;
	// готовим параметры
	$ibl = $IBLOCK;
	$fid = $arFile["HASH"];
	$elid = $arFile["ELEMENT_ID"];
	$pcode = $arFile["PROPERTY_CODE"];
	$hash = md5($fid.$elid.$pcode);

	// обновляем или добавляем
	$strSql = "INSERT INTO a_gateway_file_element (HASH, FILE_ID, ELEMENT_ID, DATE, PROPERTY_KEY) VALUES ('$hash', '$fid', '$elid',  NOW(), '$pcode') ON DUPLICATE KEY UPDATE DATE=NOW();";
	$DB->Query($strSql, false, $err_mess.__LINE__);
}




#******************************* PROCESSING **************************

function getFileListeners($hash)
{
	global $DB;
	if(empty($hash)) return false;
	$sqlElements = "SELECT * FROM a_gateway_file_element WHERE FILE_ID='$hash';";
	$res = $DB->Query($sqlElements, false, $err_mess.__LINE__);
	while($elLink = $res->Fetch()){
		//echol($elLink);
		$out[$elLink["FILE_ID"]][$elLink["ELEMENT_ID"]] = $elLink["PROPERTY_KEY"];
	}
	return $out;

}

function checkElementReady($arIn)
{
	if(empty($arIn)) return false;
	echol($arIn);
	foreach($arIn as $id => $property){

	}
}


?>