%PDF- %PDF-
| Direktori : /home/bitrix/www/local/components/p4/user.profile.avatar/ |
| Current File : //home/bitrix/www/local/components/p4/user.profile.avatar/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
/* @global CUser $USER */
$arResult[] = array();
$arResult['APP_RESULT'] = array('OK' => true, 'ERROR_MESSAGE' => '');
// AddMessage2Log('AVATAR_SESSID '.bitrix_sessid().' '.print_r($_REQUEST, true).' '.print_r($_COOKIE, true));
if ($USER->IsAuthorized() && $_SERVER["REQUEST_METHOD"]=="POST") {
$userID = $USER->GetID();
if (count($_FILES['AVATAR'])>0)
{
CFile::ResizeImage($_FILES['AVATAR']['tmp_name'], array("width" => 400, "height" => 400),BX_RESIZE_IMAGE_PROPORTIONAL_ALT);
$arFields['PERSONAL_PHOTO'] = $_FILES['AVATAR'];
$user = new CUser();
if (!$user->Update($userID, $arFields))
{
$arResult['APP_RESULT']['OK'] = false;
$arResult['APP_RESULT']['ERROR_MESSAGE'] = $user->LAST_ERROR; // todo Код ошибки и логирование
}
else
{
$rsProfile = CIBlockElement::GetList(array(),
array("IBLOCK_ID" => IBLOCK_PROFILE_ID, 'PROPERTY_ACCOUNT' => $userID, 'ACTIVE' => 'Y', 'SHOW_NEW' => 'Y'), false, false,
array('IBLOCK_ID', 'ID'));
if ($arProfile = $rsProfile->Fetch())
{
$el = new CIBlockElement;
if (!$el->Update($arProfile['ID'], array('DETAIL_PICTURE' => $_FILES['AVATAR']), true))
{
$arResult['APP_RESULT']['OK'] = false;
$arResult['APP_RESULT']['ERROR_MESSAGE'] = $el->LAST_ERROR; // todo Код ошибки и логирование
}
else
{
$rsProfile = CIBlockElement::GetList(array(),
array("IBLOCK_ID" => IBLOCK_PROFILE_ID, 'ID' => $arProfile['ID']), false, false, array('IBLOCK_ID', 'ID', 'DETAIL_PICTURE'));
if ($arProfile = $rsProfile->Fetch())
{
$arResult['APP_RESULT']['AVATAR'] = CFile::GetPath($arProfile['DETAIL_PICTURE']);
ProfileTypeHelper::runModerate($arProfile['ID'], true);
}
}
}
else
{
$arResult['APP_RESULT']['OK'] = false;
$arResult['APP_RESULT']['ERROR_MESSAGE'] = GetMessage('PROFILE_NOT_FOUND');
}
}
}
}
else {
$arResult['APP_RESULT']['OK'] = false;
$arResult['APP_RESULT']['ERROR_MESSAGE'] = GetMessage('USER_NOT_AUTHORIZED');
}
$this->IncludeComponentTemplate();