%PDF- %PDF-
| Direktori : /home/bitrix/www/local/components/p4/catalog.album.image/ |
| Current File : //home/bitrix/www/local/components/p4/catalog.album.image/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$arResult['APP_RESULT']['OK'] = true;
if (isset($_REQUEST['ID'])&&intval($_REQUEST['ID'])>0)
{
if (isset($_REQUEST['WIDTH'])&&intval($_REQUEST['WIDTH'])>0) // Выдать ссылку на изображение по ID альбома и лайки по нему
{
//$maxDim = isset($_REQUEST['WIDTH'])&&intval($_REQUEST['WIDTH'])>0?$_REQUEST['WIDTH']:1024;
$maxDim = $_REQUEST['WIDTH'];
$res = CIBlockElement::GetList(Array("created"=>"DESC","SORT"=>"ASC"), Array("IBLOCK_ID"=>4,"SECTION_ID"=>$_REQUEST['ID']), false, false,
array("IBLOCK_ID","ID","PROPERTY_REAL_PICTURE","PROPERTY_ADULT"));
while($arImage = $res->GetNext())
{
$file = CFile::GetFileArray($arImage['PROPERTY_REAL_PICTURE_VALUE']);
if ($file['WIDTH']<$file['HEIGHT'])
$arSize = array('width' => $maxDim, 'height' => round($maxDim * $file['HEIGHT'] / $file['WIDTH'])+1);
else
$arSize = array('width' => round($maxDim * $file['WIDTH'] / $file['HEIGHT'])+1, 'height' => $maxDim);
$image = CFile::ResizeImageGet($file, $arSize, BX_RESIZE_IMAGE_PROPORTIONAL, true);
if ($USER->IsAuthorized())
{
$arVoteResult = CRatings::GetRatingVoteResult("P4_PORTFOLIO", $arImage['ID']);
// $image['like'] = rand(0,1)==1; // debug
$image['like'] = $arVoteResult['USER_HAS_VOTED'] == 'Y';
}
else $image['like'] = false;
$image["adult"] = $arImage['PROPERTY_ADULT_VALUE']==1?'Y':'N';
$arResult['APP_RESULT']['PHOTOS'][$arImage['ID']] = $image;
}
}
elseif (isset($_REQUEST['ADULT']) && intval($_REQUEST['ID'])>0)
{
CIBlockElement::SetPropertyValuesEx($_REQUEST['ID'], false, array('ADULT' => $_REQUEST['ADULT']=='Y'?'1':'0'));
}
elseif (isset($_REQUEST['LIKE']) && intval($_REQUEST['ID'])>0)
{
if ($_REQUEST['LIKE']=='Y')
{
$arAddVote = array(
"ENTITY_TYPE_ID" => "P4_PORTFOLIO",
"ENTITY_ID" => $_REQUEST['ID'],
"VALUE" => $_REQUEST['LIKE']=='Y'?1:-1,
"USER_ID" => $USER->GetID(),
"USER_IP" => $_SERVER['REMOTE_ADDR'],
);
CRatings::AddRatingVote($arAddVote);
}
else
{
$arCancelVote = array(
"ENTITY_TYPE_ID" => "P4_PORTFOLIO",
"ENTITY_ID" => $_REQUEST['ID'],
"USER_ID" => $USER->GetID(),
"USER_IP" => $_SERVER['REMOTE_ADDR'],
);
CRatings::CancelRatingVote($arCancelVote);
}
//$arVoteResult = CRatings::GetRatingVoteResult("P4_PORTFOLIO", $_REQUEST['ID']);
//$arResult['APP_RESULT']['VOTE'] = $arVoteResult;
}
else
{
$res = CIBlockElement::GetList(Array("created"=>"desc"), Array("IBLOCK_ID"=>4,"SECTION_ID"=>$_REQUEST['ID']), false, false,
array("IBLOCK_ID","ID","DATE_CREATE","DETAIL_PICTURE","PROPERTY_REAL_PICTURE","PROPERTY_ADULT"));
$idx=0;
while($arImage = $res->Fetch())
{
$file = CFile::GetFileArray(intval($arImage['DETAIL_PICTURE'])>0?$arImage['DETAIL_PICTURE']:$arImage['PROPERTY_REAL_PICTURE_VALUE']);
$image = array(
"id" => $arImage['ID'],
"src" => $file['SRC'],
"height" => $file['HEIGHT'],
"width" => $file['WIDTH'],
"size" => $file['FILE_SIZE'],
"created" => $arImage['DATE_CREATE'],
"adult" => $arImage['PROPERTY_ADULT_VALUE']==1?'Y':'N'
);
if ($USER->IsAuthorized())
{
$arVoteResult = CRatings::GetRatingVoteResult("P4_PORTFOLIO", $arImage['ID']);
$image['like'] = $arVoteResult['USER_HAS_VOTED'] == 'Y';
}
else $image['like'] = false;
$arResult['APP_RESULT']['PHOTOS'][$idx++] = $image;
}
}
}
else
{
$arResult['APP_RESULT']['OK'] = false;
$arResult['APP_RESULT']['ERROR_MESSAGE'] = GetMessage('EMPTY_IMAGE_ID');
}
$this->IncludeComponentTemplate();
?>