%PDF-
%PDF-
Mini Shell
Mini Shell
<?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';
}
Zerion Mini Shell 1.0