%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(); ?>