Your IP : 172.28.240.42


Current Path : /var/www/html/clients/wodo.e-nk.ru/bitrix/modules/photogallery_old/
Upload File :
Current File : /var/www/html/clients/wodo.e-nk.ru/bitrix/modules/photogallery_old/include.php

<?
##############################################
# Bitrix Site Manager IBlock                 #
# Copyright (c) 2002-2007 Bitrix             #
# http://www.bitrixsoft.com                  #
# mailto:admin@bitrixsoft.com                #
##############################################
$_SESSION['photogallery'] = (is_array($_SESSION['photogallery']) ? $_SESSION['photogallery'] : array());
CModule::AddAutoloadClasses(
	"photogallery",
	array(
		"CPGalleryInterface" => "tools/components_lib.php", 
		"CPhotogalleryElement" => "classes/general/element.php"));

IncludeModuleLangFile(__FILE__);

// Spisok oshibok
// fatal'nye oshibki
// 100 - oshibka pri proverke sessii
// ne najdeny elementy
// 101 - ne najden infoblok
// 102 - ne najdena sekciya
// 103 - ne najden element infobloka
// 104 - ne najdena fotogalereya
// 105 - ne najden pol'zovatel'


// net prav
// 110 - dlya dostupa neobhodimo avtorizovat'sya
// 111 - net dostupa k infobloku
// 112 - net prav dlya sozdaniya galerei
// 113 - net prav dlya sozdaniya ewe odnoj galerei (single)


// Oshibki dannyh
// 200 - pustoj zapros
// 201 - ne ukazany obyazatel'nye parametry

// Pol'zovatel'skie oshibki (500-600)

function PhotoShowError($arError, $arShowFields = array("ID", "NAME"), $bShowErrorCode = false)
{
	$bShowErrorCode = ($bShowErrorCode === true ? true : false);
	$sReturn = "";
	$tmp = false; 
	$arRes = array();
	if (empty($arError))
		return $sReturn;
	
	if (!is_array($arError))
	{
		$sReturn = $arError;
	}
	else
	{
		if (isset($arError["title"]))
			$sReturn = $arError["title"];
			
		if (isset($arError["code"]))
		{
			if (empty($sReturn))
			{
				$str = GetMessage("P_ERROR_".$arError["code"]);
				if (!empty($str))
					$sReturn = $str;
			}
			$sReturn .= ($bShowErrorCode ? " [CODE: ".$arError["code"]."]" : "");
		}
		
		if (isset($arError["DATA"]) || isset($arError["data"]))
		{
			$tmp = (isset($arError["DATA"]) ? $arError["DATA"] : $arError["data"]);
			
			if (!empty($arShowFields) && is_array($arShowFields))
			{
				if (in_array("ID", $arShowFields) && !empty($tmp["ID"]))
				{
					$arRes[] = "ID: ".$tmp["ID"];
					$tmp["ID"] = false;
				}
				
				foreach ($arShowFields as $key)
				{
					if (empty($tmp["~".$key]) && empty($tmp[$key]))
						continue;
					$arRes[] = $key.": ".(!empty($tmp["~".$key]) ? htmlspecialchars($tmp["~".$key]) : $tmp[$key]);
				}
			}
			else
			{
				$arRes[] = $tmp;
			}
			if (!empty($arRes))
				$sReturn .= " (".implode(", ", $arRes).")";
		}
	}
	return $sReturn;
}

function PhotoGetBrowser()
{
	$Browser = "";
	$str = strToLower($_SERVER['HTTP_USER_AGENT']);
	if (strpos($str, "opera") !== false)
		$Browser = "opera";
	elseif (strpos($str, "msie") !== false)
	{
		$Browser = "ie";
		if (strpos($str, "win") !== false)
			$Browser = "win_ie";
	}
	return $Browser;
}

function PhotoDateFormat($format="", $timestamp="")
{
	if (empty($timestamp))
		return "";
	if(LANG=="en")
	{
		return date($format, $timestamp);
	}
	elseif(preg_match_all("/[FMlD]/", $format, $matches))
	{
		$ar = preg_split("/[FMlD]/", $format);
		$result = "";
		foreach($matches[0] as $i=>$match)
		{
			switch($match)
			{
				case "F":$match=GetMessage("P_MONTH_".date("n", $timestamp));break;
				case "M":$match=GetMessage("P_MON_".date("n", $timestamp));break;
				case "l":$match=GetMessage("P_DAY_OF_WEEK_".date("w", $timestamp));break;
				case "D":$match=GetMessage("P_DOW_".date("w", $timestamp));break;
			}
			$result .= date($ar[$i], $timestamp).$match;
		}
		$result .= date($ar[count($ar)-1], $timestamp);
		return $result;
	}
	else
		return date($format, $timestamp);
}

function PhotoFormatDate($strDate, $format="DD.MM.YYYY HH:MI:SS", $new_format="DD.MM.YYYY HH:MI:SS")
{
	$strDate = trim($strDate);

	$new_format = str_replace("MI","I", $new_format);
	$new_format = preg_replace("/([DMYIHS])\\1+/is".BX_UTF_PCRE_MODIFIER, "\\1", $new_format);
	$arFormat = preg_split('[^0-9A-Za-z]', strtoupper($format));
	$arDate = preg_split('[^0-9]', $strDate);
	$arParsedDate=Array();
	$bound = min(count($arFormat), count($arDate));
	
	for($i=0; $i<$bound; $i++)
	{
		if(preg_match("/[^0-9]/", $arDate[$i], $matches))
			$r = CDatabase::ForSql($arDate[$i], 4);
		else
			$r = intVal($arDate[$i]);

		$arParsedDate[substr($arFormat[$i], 0, 2)] = $r;
	}
	if (intval($arParsedDate["DD"])<=0 || intval($arParsedDate["MM"])<=0 || intval($arParsedDate["YY"])<=0) 
		return false;

	$strResult = "";
	
	if(intval($arParsedDate["YY"])>1970 && intval($arParsedDate["YY"])<2038)
	{
		$ux_time = mktime(
				intval($arParsedDate["HH"]),
				intval($arParsedDate["MI"]),
				intval($arParsedDate["SS"]),
				intval($arParsedDate["MM"]),
				intval($arParsedDate["DD"]),
				intval($arParsedDate["YY"])
				);

		for ($i=0; $i<strlen($new_format); $i++)
		{
			switch (substr($new_format, $i, 1))
			{
				case "F":$match=GetMessage("P_MONTH_".date("n", $ux_time));break;
				case "M":$match=GetMessage("P_MON_".date("n", $ux_time));break;
				case "l":$match=GetMessage("P_DAY_OF_WEEK_".date("w", $ux_time));break;
				case "D":$match=GetMessage("P_DOW_".date("w", $ux_time));break;
				default: $match = date(substr($new_format, $i, 1), $ux_time); break;
			}
			$strResult .= $match;
		}
	}
	else
	{
		if($arParsedDate["MM"]<1 || $arParsedDate["MM"]>12) 
			$arParsedDate["MM"] = 1;
		for ($i=0; $i<strLen($new_format); $i++)
		{
			switch (substr($new_format, $i, 1))
			{
				case "F":
					$match = str_pad($arParsedDate["MM"], 2, "0", STR_PAD_LEFT);
					if (intVal($arParsedDate["MM"]) > 0)
						$match=GetMessage("P_MONTH_".intVal($arParsedDate["MM"]));
					break;
				case "M":
					$match = str_pad($arParsedDate["MM"], 2, "0", STR_PAD_LEFT);
					if (intVal($arParsedDate["MM"]) > 0)
						$match=GetMessage("P_MON_".intVal($arParsedDate["MM"]));
					break;
				case "l":
					$match = str_pad($arParsedDate["DD"], 2, "0", STR_PAD_LEFT);
					if (intVal($arParsedDate["DD"]) > 0)
						$match = GetMessage("P_DAY_OF_WEEK_".intVal($arParsedDate["DD"]));
					break;
				case "D": 
					$match = str_pad($arParsedDate["DD"], 2, "0", STR_PAD_LEFT); 
					if (intVal($arParsedDate["DD"]) > 0)
						$match = GetMessage("P_DOW_".intVal($arParsedDate["DD"]));
					break;
				case "d": $match = str_pad($arParsedDate["DD"], 2, "0", STR_PAD_LEFT); break;
				case "m": $match = str_pad($arParsedDate["MM"], 2, "0", STR_PAD_LEFT); break;
				case "j": $match = intVal($arParsedDate["MM"]); break;
				case "Y": $match = str_pad($arParsedDate["YY"], 4, "0", STR_PAD_LEFT); break;
				case "y": $match = substr($arParsedDate["YY"], 2);break;
				case "H": $match = str_pad($arParsedDate["HH"], 2, "0", STR_PAD_LEFT); break;
				case "i": $match = str_pad($arParsedDate["MI"], 2, "0", STR_PAD_LEFT); break;
				case "S": $match = str_pad($arParsedDate["SS"], 2, "0", STR_PAD_LEFT); break;
				case "g": 
					$match = intVal($arParsedDate["HH"]);
					if ($match > 12)
						$match = $match-12;
				case "a": 
				case "A": 
					$match = intVal($arParsedDate["HH"]);
					if ($match > 12)
						$match = ($match-12)." PM";
					else 
						$match .= " AM";
						
					if (substr($new_format, $i, 1) == "a")
						$match = strToLower($match);
						
				default: $match = substr($new_format, $i, 1); break;
			}
			$strResult .= $match;
		}
	}
	return $strResult;
}

function PClearComponentCache($components, $nameSpace = "bitrix")
{
	if (empty($components))
		return false;
	if (is_array($components))
		$aComponents = $components;
	else
		$aComponents = explode(",", $components);
	foreach($aComponents as $component_name)
	{
		$add_path = "";
		if (strpos($component_name, "/") !== false):
			$add_path = substr($component_name, strpos($component_name, "/"));
			$component_name = substr($component_name, 0, strpos($component_name, "/"));
		endif;
		$component_name = $nameSpace.":".$component_name;
		
		$componentRelativePath = CComponentEngine::MakeComponentPath($component_name);
		if (strlen($componentRelativePath) > 0)
		{
			$arComponentDescription = CComponentUtil::GetComponentDescr($component_name);
			if (!is_array($arComponentDescription))
			{
			}
			elseif (array_key_exists("CACHE_PATH", $arComponentDescription))
			{
				if($arComponentDescription["CACHE_PATH"] == "Y")
					$arComponentDescription["CACHE_PATH"] = "/".SITE_ID.$componentRelativePath;
				if(strlen($arComponentDescription["CACHE_PATH"]) > 0)
					BXClearCache(true, $arComponentDescription["CACHE_PATH"].$add_path);
			}
		}
	}
}

function PClearTmpUploadDir($hours = 12)
{
	$hours = intVal($hours > 0 ? $hours : 12);
	$point = time();
	$point = ($point - $hours*3600);
	$path = preg_replace("'[\\\\/]+'", "/", $_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/tmp/uploader");
	if ($handle = @opendir($path))
	{
		while (($file = readdir($handle)) !== false)
		{
			if ($file == "." || $file == "..") continue;

			if (is_dir($path."/".$file))
			{
			}
			else
			{
				$file_time = @filemtime($path."/".$file);
				if (!$file_time || $file_time <= $point):
					@unlink($path."/".$file);
				endif;
			}
		}
	}
	@closedir($handle);
	return "PClearTmpUploadDir();";
}
?>