%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/photogallery.section.edit.icon/ |
| Current File : //home/bitrix/www/bitrix/components/bitrix/photogallery.section.edit.icon/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
if (!CModule::IncludeModule("photogallery"))
return ShowError(GetMessage("P_MODULE_IS_NOT_INSTALLED"));
elseif (!CModule::IncludeModule("iblock"))
return ShowError(GetMessage("IBLOCK_MODULE_NOT_INSTALLED"));
elseif ($arParams["BEHAVIOUR"] == "USER" && empty($arParams["USER_ALIAS"]))
return ShowError(GetMessage("P_GALLERY_EMPTY"));
CPageOption::SetOptionString("main", "nav_page_in_session", "N");
// **************************************************************************************
// $arParams["ALBUM_PHOTO"]["WIDTH"]
// $arParams["ALBUM_PHOTO"]["HEIGHT"]
// $arParams["ALBUM_PHOTO_THUMBS"]["WIDTH"]
// $arParams["ALBUM_PHOTO_THUMBS"]["HEIGHT"]
if(!function_exists("__UnEscape"))
{
function __UnEscape(&$item, $key)
{
if(is_array($item))
array_walk($item, '__UnEscape');
elseif (strpos($item, "%u") !== false)
$item = $GLOBALS["APPLICATION"]->UnJSEscape($item);
elseif (LANG_CHARSET != "UTF-8" && preg_match("/^.{1}/su", $item) == 1)
$item = $GLOBALS["APPLICATION"]->ConvertCharset($item, "UTF-8", LANG_CHARSET);
}
}
function UnsharpMask(&$img /*, $amount, $radius, $threshold*/)
{
$amount = intVal($amount);
$amount = ($amount > 500 ? 500 : $amount) * 0.016;
$radius = round(intVal($radius > 50 ? 50 : $radius) * 2);
if ($radius <= 0):
return false;
endif;
$threshold = intVal($threshold > 255 ? 255 : $threshold);
$amount = 150;
$radius = 2;
$threshold = 70;
$w = imagesx($img); $h = imagesy($img);
$imgCanvas = false;
$imgBlur = imagecreatetruecolor($w, $h);
$imgCanvas = imagecreatetruecolor($w, $h);
for ($i = 0; $i < $radius; $i++)
{
imagecopy ($imgBlur, $img, 0, 0, 1, 0, $w - 1, $h); // left
imagecopymerge ($imgBlur, $img, 1, 0, 0, 0, $w, $h, 50); // right
imagecopymerge ($imgBlur, $img, 0, 0, 0, 0, $w, $h, 50); // center
imagecopy ($imgCanvas, $imgBlur, 0, 0, 0, 0, $w, $h);
imagecopymerge ($imgBlur, $imgCanvas, 0, 0, 0, 1, $w, $h - 1, 33.33333 ); // up
imagecopymerge ($imgBlur, $imgCanvas, 0, 1, 0, 0, $w, $h, 25); // down
}
if($threshold > 0)
{
// Calculate the difference between the blurred pixels and the original
// and set the pixels
for ($x = 0; $x < $w-1; $x++) // each row
{
for ($y = 0; $y < $h; $y++) // each pixel
{
$rgbOrig = ImageColorAt($img, $x, $y);
$rOrig = (($rgbOrig >> 16) & 0xFF);
$gOrig = (($rgbOrig >> 8) & 0xFF);
$bOrig = ($rgbOrig & 0xFF);
$rgbBlur = ImageColorAt($imgBlur, $x, $y);
$rBlur = (($rgbBlur >> 16) & 0xFF);
$gBlur = (($rgbBlur >> 8) & 0xFF);
$bBlur = ($rgbBlur & 0xFF);
$rNew = (abs($rOrig - $rBlur) >= $threshold) ? max(0, min(255, ($amount * ($rOrig - $rBlur)) + $rOrig)) : $rOrig;
$gNew = (abs($gOrig - $gBlur) >= $threshold) ? max(0, min(255, ($amount * ($gOrig - $gBlur)) + $gOrig)) : $gOrig;
$bNew = (abs($bOrig - $bBlur) >= $threshold) ? max(0, min(255, ($amount * ($bOrig - $bBlur)) + $bOrig)) : $bOrig;
if (($rOrig != $rNew) || ($gOrig != $gNew) || ($bOrig != $bNew))
{
$pixCol = ImageColorAllocate($img, $rNew, $gNew, $bNew);
ImageSetPixel($img, $x, $y, $pixCol);
}
}
}
}
else
{
for ($x = 0; $x < $w; $x++) // each row
{
for ($y = 0; $y < $h; $y++) // each pixel
{
$rgbOrig = ImageColorAt($img, $x, $y);
$rOrig = (($rgbOrig >> 16) & 0xFF);
$gOrig = (($rgbOrig >> 8) & 0xFF);
$bOrig = ($rgbOrig & 0xFF);
$rgbBlur = ImageColorAt($imgBlur, $x, $y);
$rBlur = (($rgbBlur >> 16) & 0xFF);
$gBlur = (($rgbBlur >> 8) & 0xFF);
$bBlur = ($rgbBlur & 0xFF);
$rNew = ($amount * ($rOrig - $rBlur)) + $rOrig;
$rNew = ($rNew > 255 ? 255 : ($rNew < 0 ? 0 : $rNew));
$gNew = ($amount * ($gOrig - $gBlur)) + $gOrig;
$gNew = ($gNew > 255 ? 255 : ($gNew < 0 ? 0 : $gNew));
$bNew = ($amount * ($bOrig - $bBlur)) + $bOrig;
$bNew = ($bNew > 255 ? 255 : ($bNew < 0 ? 0 : $bNew));
$rgbNew = ($rNew << 16) + ($gNew <<8) + $bNew;
ImageSetPixel($img, $x, $y, $rgbNew);
}
}
}
@imagedestroy($imgCanvas);
@imagedestroy($imgBlur);
return $img;
}
if (empty($arParams["INDEX_URL"]) && !empty($arParams["SECTIONS_TOP_URL"]))
$arParams["INDEX_URL"] = $arParams["SECTIONS_TOP_URL"];
/********************************************************************
Input params
********************************************************************/
//***************** BASE *******************************************/
$arParams["IBLOCK_TYPE"] = trim($arParams["IBLOCK_TYPE"]);
$arParams["IBLOCK_ID"] = intval($arParams["IBLOCK_ID"]);
$arParams["SECTION_ID"] = intVal($arParams["SECTION_ID"]);
$arParams["USER_ALIAS"] = trim($arParams["USER_ALIAS"]);
$arParams["PERMISSION_EXTERNAL"] = trim($arParams["PERMISSION"]);
$arParams["BEHAVIOUR"] = ($arParams["BEHAVIOUR"] == "USER" ? "USER" : "SIMPLE");
$arParams["ELEMENT_SORT_FIELD"] = (empty($arParams["ELEMENT_SORT_FIELD"]) ? "ID" : strToUpper($arParams["ELEMENT_SORT_FIELD"]));
$arParams["ELEMENT_SORT_ORDER"] = (strToUpper($arParams["ELEMENT_SORT_ORDER"]) != "DESC" ? "ASC" : "DESC");
$arParams["PATH_TMP"] = CTempFile::GetDirectoryName(12, "uploader");
//***************** URL ********************************************/
$URL_NAME_DEFAULT = array(
"index" => "",
"gallery" => "PAGE_NAME=gallery&USER_ALIAS=#USER_ALIAS#",
"section" => "PAGE_NAME=section".($arParams["BEHAVIOUR"] == "USER" ? "&USER_ALIAS=#USER_ALIAS#" : "" ).
"&SECTION_ID=#SECTION_ID#",
"section_edit_icon" => "PAGE_NAME=section_edit_icon".($arParams["BEHAVIOUR"] == "USER" ? "&USER_ALIAS=#USER_ALIAS#" : "" ).
"&SECTION_ID=#SECTION_ID#"
);
foreach ($URL_NAME_DEFAULT as $URL => $URL_VALUE)
{
$arParams[strToUpper($URL)."_URL"] = trim($arParams[strToUpper($URL)."_URL"]);
if (empty($arParams[strToUpper($URL)."_URL"]))
$arParams[strToUpper($URL)."_URL"] = $APPLICATION->GetCurPage()."?".$URL_VALUE;
$arParams["~".strToUpper($URL)."_URL"] = $arParams[strToUpper($URL)."_URL"];
$arParams[strToUpper($URL)."_URL"] = htmlspecialcharsbx($arParams["~".strToUpper($URL)."_URL"]);
}
//***************** ADDITIONAL **************************************/
$arParams["ALBUM_PHOTO"] = array(
"WIDTH" => (intVal($arParams["ALBUM_PHOTO_WIDTH"]) > 0 ? intVal($arParams["ALBUM_PHOTO_WIDTH"]) : 200),
"HEIGHT" => (intVal($arParams["ALBUM_PHOTO_HEIGHT"]) > 0 ? intVal($arParams["ALBUM_PHOTO_HEIGHT"]) : 200)
);
$arParams["ALBUM_PHOTO"]["HEIGHT"] = $arParams["ALBUM_PHOTO"]["WIDTH"];
$arParams["PAGE_ELEMENTS"] = intVal($arParams["PAGE_ELEMENTS"] > 0 ? $arParams["PAGE_ELEMENTS"] : 20);
$arParams["PAGE_NAVIGATION_TEMPLATE"] = trim($arParams["PAGE_NAVIGATION_TEMPLATE"]);
$arParams["ALBUM_PHOTO_THUMBS"] = array(
"WIDTH" => (intVal($arParams["ALBUM_PHOTO_THUMBS_WIDTH"]) > 0 ? intVal($arParams["ALBUM_PHOTO_THUMBS_WIDTH"]) : 120),
"HEIGHT" => (intVal($arParams["ALBUM_PHOTO_THUMBS_HEIGHT"]) > 0 ? intVal($arParams["ALBUM_PHOTO_THUMBS_HEIGHT"]) : 120)
);
$arParams["ALBUM_PHOTO_THUMBS"]["HEIGHT"] = $arParams["ALBUM_PHOTO_THUMBS"]["WIDTH"];
$arParams["SET_STATUS_404"] = ($arParams["SET_STATUS_404"] == "Y" ? "Y" : "N");
$arParams["AJAX_CALL"] = ($_REQUEST["AJAX_CALL"] == "Y" ? "Y" : "N");
//***************** STANDART ****************************************/
$arParams["SET_TITLE"] = $arParams["SET_TITLE"]!="N"; //Turn on by default
$arParams["SET_NAV_CHAIN"] = ($arParams["SET_NAV_CHAIN"] == "N" ? "N" : "Y"); //Turn on by default
$arParams["DISPLAY_PANEL"] = $arParams["DISPLAY_PANEL"]=="Y"; //Turn off by default
/********************************************************************
/Input params
********************************************************************/
if ($arParams["AJAX_CALL"] == "Y")
$GLOBALS['APPLICATION']->RestartBuffer();
/********************************************************************
Main data
********************************************************************/
$oPhoto = new CPGalleryInterface(
array(
"IBlockID" => $arParams["IBLOCK_ID"],
"GalleryID" => $arParams["USER_ALIAS"],
"Permission" => $arParams["PERMISSION_EXTERNAL"]
),
array(
"cache_time" => $arParams["CACHE_TIME"],
"set_404" => $arParams["SET_STATUS_404"]
)
);
$bError = true;
if ($oPhoto)
{
$bError = false;
$arResult["GALLERY"] = $oPhoto->Gallery;
$arParams["PERMISSION"] = $oPhoto->User["Permission"];
if ($arParams["SECTION_ID"] <= 0)
return ShowError(GetMessage("P_ALBUM_EMPTY"));
if ($oPhoto->GetSection($arParams["SECTION_ID"], $arResult["SECTION"]) > 200)
{
$bError = true;
}
elseif ($arParams["PERMISSION"] < "U")
{
ShowError(GetMessage("P_ACCESS_DENIED"));
$bError = true;
}
}
if ($bError)
{
if ($arParams["AJAX_CALL"] == "Y")
die();
return false;
}
/********************************************************************
Main data
********************************************************************/
/********************************************************************
Default values
********************************************************************/
$arResult["ITEMS"] = array();
$arResult["ELEMENTS"] = array("MAX_WIDTH" => 0, "MAX_HEIGHT" => 0);
$arError = array();
$arResult["ERROR_MESSAGE"] = "";
$bVarsFromForm = false;
$bGD2 = false;
if (function_exists("gd_info"))
{
$arGDInfo = gd_info();
$bGD2 = ((strpos($arGDInfo['GD Version'], "2.") !== false) ? true : false);
}
$arSelect = array("ID", "CODE", "IBLOCK_ID", "NAME", "PREVIEW_PICTURE"/*, "DETAIL_PICTURE", "PROPERTY_REAL_PICTURE"*/);
//WHERE
$arFilter = array(
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"SECTION_ID" => $arResult["SECTION"]["ID"],
"INCLUDE_SUBSECTIONS" => "Y",
"CHECK_PERMISSIONS" => "Y"
);
/************** URL ************************************************/
if (intVal($arResult["SECTION"]["IBLOCK_SECTION_ID"]) <= 0)
$arResult["SECTION"]["BACK_LINK"] = CComponentEngine::MakePathFromTemplate($arParams["~INDEX_URL"], array());
elseif ($arResult["SECTION"]["IBLOCK_SECTION_ID"] != $arResult["GALLERY"]["ID"])
$arResult["SECTION"]["BACK_LINK"] = CComponentEngine::MakePathFromTemplate($arParams["~GALLERY_URL"], array("USER_ALIAS" => $arParams["USER_ALIAS"]));
else
$arResult["SECTION"]["BACK_LINK"] = CComponentEngine::MakePathFromTemplate($arParams["~SECTION_URL"], array("USER_ALIAS" => $arParams["USER_ALIAS"], "SECTION_ID" => $arResult["SECTION"]["IBLOCK_SECTION_ID"]));
$arResult["SECTION"]["SECTION_LINK"] = CComponentEngine::MakePathFromTemplate($arParams["~SECTION_URL"], array("USER_ALIAS" => $arParams["USER_ALIAS"], "SECTION_ID" => $arResult["SECTION"]["ID"]));
foreach ($arResult["SECTION"]["PATH"] as $key => $arPath)
{
$arPath["~SECTION_PAGE_URL"] = CComponentEngine::MakePathFromTemplate($arParams["~SECTION_URL"],
array("USER_ALIAS" => $arParams["USER_ALIAS"], "SECTION_ID" => $arPath["ID"]));
$arPath["SECTION_PAGE_URL"] = htmlspecialcharsbx($arPath["~SECTION_PAGE_URL"]);
$arResult["SECTION"]["PATH"][$key] = $arPath;
}
/********************************************************************
/Default values
********************************************************************/
/********************************************************************
Action
********************************************************************/
if ($_REQUEST["save_edit"] == "Y" || $_REQUEST["edit"] == "Y")
{
if (isset($_REQUEST["cancel"]))
{
LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["~SECTION_URL"], array("USER_ALIAS" => $arParams["USER_ALIAS"], "SECTION_ID" => $arResult["SECTION"]["ID"])));
}
elseif(!check_bitrix_sessid())
{
$arError[] = array(
"id" => "bad sessid",
"text" => GetMessage("IBLOCK_WRONG_SESSION")
);
}
elseif (count($_REQUEST["photos"]) <= 0)
{
$arError[] = array(
"id" => "empty data",
"text" => GetMessage("P_NO_PHOTO")
);
}
else
{
array_walk($_REQUEST, '__UnEscape');
$arImages = array();
$arrFilter = $arFilter;
if (count($_REQUEST["photos"]) == 1)
{
reset($_REQUEST["photos"]);
$arrFilter["ID"] = current($_REQUEST["photos"]);
}
$arSort = array("SORT" => "ASC", "ID" => "ASC");
$db_res = CIBlockElement::GetList($arSort, $arrFilter, false, false, array("ID", "CODE", "IBLOCK_ID", "NAME", "PREVIEW_PICTURE", "DETAIL_PICTURE", "PROPERTY_REAL_PICTURE"));
if ($db_res && $arItem = $db_res->Fetch())
{
do
{
if (!in_array($arItem["ID"], $_REQUEST["photos"]))
continue;
foreach (array("PREVIEW_PICTURE", "DETAIL_PICTURE", "PROPERTY_REAL_PICTURE_VALUE") as $key)
{
$iImage = intVal($arItem[$key]);
if ($iImage <= 0)
continue;
$arImage = CFile::GetFileArray($iImage);
if ($arImage["WIDTH"] >= $arParams["ALBUM_PHOTO"]["WIDTH"] && $arImage["HEIGHT"] >= $arParams["ALBUM_PHOTO"]["HEIGHT"])
break;
}
if ($arImage)
$arImages[] = $arImage;
} while ($arItem = $db_res->Fetch());
}
if (empty($arImages))
{
$arError[] = array(
"id" => "empty data",
"text" => GetMessage("P_NO_PHOTO")
);
}
else
{
$iCount = ceil(sqrt(count($arImages)));
$arPhoto = array(
"w" => ($arParams["ALBUM_PHOTO"]["WIDTH"]),
"h" => ($arParams["ALBUM_PHOTO"]["HEIGHT"]),
"width" => ($arParams["ALBUM_PHOTO"]["WIDTH"] / $iCount),
"height" => ($arParams["ALBUM_PHOTO"]["HEIGHT"] / $iCount)
);
$row = 0; $cell = 0; $count = 1;
if ($bGD2)
$picture = ImageCreateTrueColor($arPhoto["w"], $arPhoto["h"]);
else
$picture = ImageCreate($arPhoto["w"], $arPhoto["h"]);
foreach ($arImages as $key => $arImage)
{
if ($cell >= $iCount)
{
$cell = 0;
$row++;
}
$dst = array(
"width" => $arPhoto["width"],
"height" => $arPhoto["height"],
"x" => ($cell * $arPhoto["width"]),
"y" => ($row * $arPhoto["height"])
);
$src = array(
"width" => $dst["width"],
"height" => $dst["height"],
"x" => 0,
"y" => 0
);
$cell++;
$iResizeCoeff = 1;
if ($arImage["WIDTH"] > 0 && $arImage["HEIGHT"] > 0)
$iResizeCoeff = max($dst["width"] / $arImage["WIDTH"], $dst["height"] / $arImage["HEIGHT"]);
if ($iResizeCoeff > 0)
{
$src["x"] = ((($arImage["WIDTH"]*$iResizeCoeff - $dst["width"])/2)/$iResizeCoeff);
$src["y"] = ((($arImage["HEIGHT"]*$iResizeCoeff - $dst["height"])/2)/$iResizeCoeff);
$src["width"] = $dst["width"] / $iResizeCoeff;
$src["height"] = $dst["height"] / $iResizeCoeff;
}
$arTempFile = CFile::MakeFileArray($arImage["ID"]);
$src["pathinfo"] = pathinfo($arTempFile["tmp_name"]);
$src["SRC"] = $arTempFile["tmp_name"];
$imageInput = false;
switch (strToLower($src["pathinfo"]["extension"]))
{
case 'gif':
$imageInput = imagecreatefromgif($src["SRC"]);
break;
case 'png':
$imageInput = imagecreatefrompng($src["SRC"]);
break;
case 'bmp':
$imageInput = imagecreatefromgif($src["SRC"]);
break;
default:
$imageInput = imagecreatefromjpeg($src["SRC"]);
break;
}
$src["image"] = $imageInput;
if ($bGD2)
{
imagecopyresampled($picture, $src["image"],
$dst["x"], $dst["y"], $src["x"], $src["y"],
$dst["width"], $dst["height"], $src["width"], $src["height"]);
// UnsharpMask($picture);
}
else
{
imagecopyresized($picture, $src["image"],
$dst["x"], $dst["y"], $src["x"], $src["y"],
$dst["width"], $dst["height"], $src["width"], $src["height"]
);
}
}
if ($bGD2)
{
$thumbnail = ImageCreateTrueColor($arParams["ALBUM_PHOTO_THUMBS"]["WIDTH"], $arParams["ALBUM_PHOTO_THUMBS"]["HEIGHT"]);
imagecopyresampled($thumbnail, $picture, 0, 0, 0, 0,
$arParams["ALBUM_PHOTO_THUMBS"]["WIDTH"], $arParams["ALBUM_PHOTO_THUMBS"]["HEIGHT"],
$arParams["ALBUM_PHOTO"]["HEIGHT"], $arParams["ALBUM_PHOTO"]["HEIGHT"]);
}
else
{
$thumbnail = ImageCreate($arParams["ALBUM_PHOTO_THUMBS"]["WIDTH"], $arParams["ALBUM_PHOTO_THUMBS"]["HEIGHT"]);
imagecopyresized($thumbnail, $picture, 0, 0, 0, 0,
$arParams["ALBUM_PHOTO_THUMBS"]["WIDTH"], $arParams["ALBUM_PHOTO_THUMBS"]["HEIGHT"],
$arParams["ALBUM_PHOTO"]["HEIGHT"], $arParams["ALBUM_PHOTO"]["HEIGHT"]);
}
CheckDirPath($arParams["PATH_TMP"]);
$section_image = "iblock_section_".$arResult["SECTION"]["ID"].".jpg";
$section_image_path = $arParams["PATH_TMP"].$section_image;
imagejpeg($picture, $section_image_path, 95);
imagedestroy($picture);
$thumbnail_image = "iblock_section_thumbnail_".$arResult["SECTION"]["ID"].".jpg";
$thumbnail_image_path = $arParams["PATH_TMP"].$thumbnail_image;
imagejpeg($thumbnail, $thumbnail_image_path, 95);
imagedestroy($thumbnail);
$arFields = Array(
"PICTURE" => array(
"name" => $thumbnail_image,
"type" => "image/jpeg",
"tmp_name" => $thumbnail_image_path,
"size" => filesize($thumbnail_image_path),
"MODULE_ID" => "iblock",
),
"DETAIL_PICTURE" => array(
"name" => $section_image,
"type" => "image/jpeg",
"tmp_name" => $section_image_path,
"size" => filesize($section_image_path),
"MODULE_ID" => "iblock",
),
);
$bs = new CIBlockSection;
$res = $bs->Update($arResult["SECTION"]["ID"], $arFields);
@unlink($arFields["PICTURE"]["tmp_name"]);
@unlink($arFields["DETAIL_PICTURE"]["tmp_name"]);
if(!$res)
{
$arError[] = array(
"id" => "bad_update",
"text" => $bs->LAST_ERROR
);
}
else
{
PClearComponentCacheEx($arParams["IBLOCK_ID"], array(0, $arResult["SECTION"]["ID"]));
if ($arParams["AJAX_CALL"] == "Y")
{
$rsSection = CIBlockSection::GetList(Array(), array("ID" => $arResult["SECTION"]["ID"]));
$arResult["SECTION"] = $rsSection->Fetch();
$arResult["SECTION"]["DETAIL_PICTURE"] = CFile::GetFileArray($arResult["SECTION"]["DETAIL_PICTURE"]);
$arFields = array(
"ID" => $arResult["SECTION"]["ID"],
"SRC" => $arResult["SECTION"]["DETAIL_PICTURE"]["SRC"],
"error" => "");
$APPLICATION->RestartBuffer();
?><?=CUtil::PhpToJSObject($arFields);?><?
die();
}
else
{
LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["SECTION_URL"],
array("USER_ALIAS" => $arParams["USER_ALIAS"], "SECTION_ID" => $arResult["SECTION"]["ID"])));
}
}
}
}
if (!empty($arError))
{
$e = new CAdminException($arError);
$arResult["ERROR_MESSAGE"] = $e->GetString();
$bVarsFromForm = true;
}
}
/********************************************************************
/Action
********************************************************************/
/********************************************************************
Data
********************************************************************/
//PAGENAVIGATION
$arNavParams = array("nPageSize" => $arParams["PAGE_ELEMENTS"], "bDescPageNumbering" => true, "bShowAll" => false);
$arNavigation = CDBResult::GetNavParams($arNavParams);
$rsElements = CIBlockElement::GetList(array($arParams["ELEMENT_SORT_FIELD"] => $arParams["ELEMENT_SORT_ORDER"]), $arFilter, false, $arNavParams, $arSelect);
$rsElements->NavStart($arParams["PAGE_ELEMENTS"], false);
$arResult["NAV_STRING"] = $rsElements->GetPageNavStringEx($navComponentObject, GetMessage("P_PHOTO"), $arParams["PAGE_NAVIGATION_TEMPLATE"]);
$arResult["NAV_RESULT"] = $rsElements;
while($obElement = $rsElements->GetNextElement())
{
$arItem = $obElement->GetFields();
$arItem["PICTURE"] = CFile::GetFileArray($arItem["PREVIEW_PICTURE"]);
$arResult["ELEMENTS"]["MAX_WIDTH"] = max($arResult["ELEMENTS"]["MAX_WIDTH"], $arItem["PICTURE"]["WIDTH"]);
$arResult["ELEMENTS"]["MAX_HEIGHT"] = max($arResult["ELEMENTS"]["MAX_HEIGHT"], $arItem["PICTURE"]["HEIGHT"]);
$arResult["ITEMS"][$arItem["ID"]] = $arItem;
}
/********************************************************************
/Data
********************************************************************/
CUtil::InitJSCore(array('window', 'ajax'));
$this->IncludeComponentTemplate();
/********************************************************************
Standart
********************************************************************/
/************** Title **********************************************/
$arResult["PAGE_TITLE"] = $arResult["SECTION"]["NAME"].GetMessage("P_TITLE");
if ($arParams["SET_TITLE"] == "Y")
$APPLICATION->SetTitle($arResult["PAGE_TITLE"]);
/************** Chain Items ****************************************/
if ($arParams["SET_NAV_CHAIN"] != "N")
{
$bFound = ($arParams["BEHAVIOUR"] != "USER");
foreach($arResult["SECTION"]["PATH"] as $arPath)
{
if (!$bFound)
{
$bFound = ($arResult["GALLERY"]["ID"] == $arPath["ID"]);
continue;
}
$APPLICATION->AddChainItem($arPath["NAME"], CComponentEngine::MakePathFromTemplate($arParams["~SECTION_URL"],
array("USER_ALIAS" => $arParams["USER_ALIAS"], "SECTION_ID" => $arPath["ID"])));
}
$APPLICATION->AddChainItem(GetMessage("P_NAV_TITLE"));
}
/************** Admin panel ****************************************/
// if($arParams["DISPLAY_PANEL"] && $USER->IsAuthorized())
// CIBlock::ShowPanel($arParams["IBLOCK_ID"], 0, $arResult["SECTION"]["ID"], $arParams["IBLOCK_TYPE"], false, $this->GetName());
/********************************************************************
/Standart
********************************************************************/
?>