%PDF- %PDF-
Direktori : /home/bitrix/www/local/components/UB/ub.ajax.post_avatar/ |
Current File : /home/bitrix/www/local/components/UB/ub.ajax.post_avatar/component.php |
<?php if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) { die(); } if (!(CModule::IncludeModule('main') && CModule::IncludeModule('iblock'))) { return; } $usrid = $USER->GetID(); // сохраняет аватар из cropit в аккаунт или профиль if ($usrid > 0 && 'POST' == $_SERVER['REQUEST_METHOD'] && strlen($_REQUEST['avatar']) > 0 && check_bitrix_sessid()) { $tmpdir = $_SERVER['DOCUMENT_ROOT'].'/tmp'; $tmpfname = tempnam($tmpdir, 'AVA').'.jpg'; $avatar = explode(',', $_REQUEST['avatar']); file_put_contents($tmpfname, base64_decode($avatar[1])); $arFile = CFile::MakeFileArray($tmpfname); echo 'FILE: '.print_r($arFile, true)."\n"; $res = CIBlockElement::GetList(array(), array('IBLOCK_ID' => IBLOCK_PROFILE_ID, 'PROPERTY_ACCOUNT' => $usrid), false, false, array('ID', 'IBLOCK_ID', 'DETAIL_PICTURE')); if ($ar_fields = $res->GetNext()) { // Если найден профиль, сохраняем в DETAIL_PICTURE $el = new CIBlockElement(); $arFile['old_file'] = $ar_fields['DETAIL_PICTURE']; $fields = array('DETAIL_PICTURE' => $arFile); if (false == $el->Update($ar_fields['ID'], $fields)) { echo 'ERROR: (user) '.$el->LAST_ERROR; } else { updateUserAvatar($usrid); echo 'OK'; } } else { // Сохраняем в аватар пользователя $fields = array('PERSONAL_PHOTO' => $arFile); $user = new CUser(); if (false == $user->Update($usrid, $fields)) { echo 'ERROR: (account) '.$user->LAST_ERROR; } else { echo 'OK'; } } unlink($tmpfname); } else { echo 'ERROR: parameters not valid'; }