2namespace Bitrix\UI\Avatar\Mask;
5use Bitrix\Main\HttpRequest;
13 return ' data-bx-ui-avatar-editor-info="'.htmlspecialcharsbx(self::getJson($fileId)).
'" ';
16 public static function getJson($fileId): string
19 static::getData($fileId)
25 if ($fileId > 0 && ($file = \CFile::GetByID($fileId)->Fetch()))
37 if ($file[
'VERSION_ORIGINAL_ID'] == $fileId)
39 $originalFile = \CFile::GetByID($fileId,
true)->Fetch();
42 ($metaData = $file[
'META'] ?
Main\
Web\Json::decode($file[
'META']) : [])
43 && is_array($metaData)
44 && isset($metaData[
'maskInfo'])
45 && $metaData[
'maskInfo'][
'id'] > 0
48 $maskId = $metaData[
'maskInfo'][
'id'];
50 else if (
$res = Avatar\
Model\ItemToFileTable::getList([
52 'filter' => [
'FILE_ID' => $fileId],
56 $maskId =
$res[
'ITEM_ID'];
65 'src' => \CFile::GetFileSRC($originalFile),
76 $originalFile = \CFile::GetByID($originalFileId)->Fetch();
83 while (((
int)$originalFile[
'ID'] !== (
int)$originalFileId))
85 \CFile::Delete($originalFile[
'ID']);
86 $originalFile = \CFile::GetByID($originalFileId)->Fetch();
88 if ($fileIdWithMask = \CFile::SaveFile($file + [
'MODULE_ID' =>
'ui'],
'ui/masked'))
90 $maskId = isset($file[
'maskInfo']) ? $file[
'maskInfo'][
'id'] :
null;
93 && $maskItem->isReadableBy($consumer)
94 && \CFile::AddVersion($originalFileId, $fileIdWithMask, [
'maskInfo' => [
'id' => $maskId]])->isSuccess()
97 $maskItem->applyToFileBy($originalFileId, $fileIdWithMask, $consumer);
98 $consumer->useRecentlyMaskId($maskItem->getId());
99 return $fileIdWithMask;
101 \CFile::Delete($fileIdWithMask);
111 if ($id =
$request->getPost(self::REQUEST_FIELD_NAME . $fieldName))
115 $request->getFile(self::REQUEST_FIELD_NAME),
116 $request->getPost(self::REQUEST_FIELD_NAME)
134 if (!is_array($rawFiles) || !is_array(
$postData))
140 array_walk($rawFiles,
function($item, $subField) use (&$orderedFiles) {
141 foreach ($item as
$key => $value)
143 $orderedFiles[
$key] = $orderedFiles[
$key] ?? [];
144 $orderedFiles[
$key][$subField] = $value;
148 if (isset($orderedFiles[$id]))
152 if (isset($maskInfo[
'maskId']))
154 $result[
'maskInfo'] = [
'id' => $maskInfo[
'maskId']];
183 'GROUP_ID' => $descriptionParams[
'GROUP_ID'] ??
null,
184 'TITLE' => $descriptionParams[
'TITLE'] ??
null,
185 'DESCRIPTION' => $descriptionParams[
'DESCRIPTION'] ??
null,
186 'SORT' => $descriptionParams[
'SORT'] ?? 0,
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
static getSrc($file=array())
static encode($data, $options=null)
static createOrGet(DefaultOwner $owner, string $title, ?string $description=null)
static addSystemMask(array $file, array $descriptionParams)
static getDataFromRequest(string $fieldName, ?HttpRequest $request=null)
static getHTMLAttribute($fileId)
static getData(?int $fileId)
static getMaskFromRequest($id, ?array $rawFiles, ?array $postData)
static save(?int $originalFileId, array $file, ?Main\Engine\CurrentUser $currentUser=null)
static setSystemGroup(string $title, ?string $description)
static create(Owner\DefaultOwner $owner, array $file, ?array $descriptionParams=[])
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if(Loader::includeModule( 'bitrix24')) elseif(Loader::includeModule('intranet') &&CIntranetUtils::getPortalZone() !=='ru') $description
static createFromId(int $userId)
if(empty($signedUserToken)) $key