3namespace Bitrix\Im\V2\Controller;
6use Bitrix\Im\V2\Chat\ChatError;
7use Bitrix\Im\V2\Import\ImportError;
8use Bitrix\Im\V2\Import\ImportService;
9use Bitrix\Main\Engine\Controller;
10use Bitrix\Main\Engine\CurrentUser;
19 parent::getDefaultPreFilters(),
36 $isOpen = (
$fields[
'isOpen'] ??
'N') ===
'Y';
40 'TITLE' =>
$fields[
'title'] ??
null,
41 'DESCRIPTION' =>
$fields[
'description'] ??
null,
43 'AVATAR_ID' => $this->saveAvatar(
$fields[
'avatar'] ??
null),
44 'ENTITY_ID' => $externalId,
45 'AUTHOR_ID' => $ownerId,
51 if (!$initResult->isSuccess())
53 $this->addErrors($initResult->getErrors());
58 return $this->convertKeysToCamelCase($initResult->getResult());
69 if (
count($users) !== 2)
76 $users = array_map(
'intval', $users);
80 'ENTITY_ID' => $externalId,
81 'ENTITY_DATA_1' =>
"{$users[0]}|{$users[1]}",
82 'AUTHOR_ID' => $users[0],
88 if (!$initResult->isSuccess())
90 $this->addErrors($initResult->getErrors());
95 return $this->convertKeysToCamelCase($initResult->getResult());
118 return [
'chatFolderId' => $folderId];
133 if (!$importService->hasAccess())
140 $abortResult = $importService->abort();
142 if (!$abortResult->isSuccess())
144 $this->addErrors($abortResult->getErrors());
166 if (!$importService->hasAccess())
173 $finalizeResult = $importService->commitGroup($users, $server->
getClientId());
175 if (!$finalizeResult->isSuccess())
177 $this->addErrors($finalizeResult->getErrors());
199 if (!$importService->hasAccess())
206 $finalizeResult = $importService->commitPrivate($newIsMain ===
'Y', $hideOriginal ===
'Y', $server->
getClientId());
208 if (!$finalizeResult->isSuccess())
210 $this->addErrors($finalizeResult->getErrors());
228 $imageCheck = (new \Bitrix\Main\File\Image($file[
"tmp_name"]))->getInfo();
231 || !$imageCheck->getWidth()
232 || $imageCheck->getWidth() > 5000
233 || !$imageCheck->getHeight()
234 || $imageCheck->getHeight() > 5000
240 if (!$file || !(mb_strpos($file[
'type'],
'image/') === 0))
245 return CFile::saveFile($file,
'im');
commitPrivateAction(int $chatId, string $newIsMain, CurrentUser $user, \CRestServer $server, string $hideOriginal='Y')
createGroupAction(int $ownerId, CurrentUser $user, array $fields=[], string $externalId='')
getFolderIdAction(int $chatId, CurrentUser $user)
commitGroupAction(int $chatId, array $users, CurrentUser $user, \CRestServer $server)
abortAction(int $chatId, CurrentUser $user)
createPrivateAction(array $users, CurrentUser $user, string $externalId='')
const PRIVATE_CHAT_COUNT_USERS_ERROR
static create(array $chatData)
static isAdmin(int $userId)
static GetFolderModel($chatId, $createFolder=true)
static ChangeFolderMembers($chatId, $userId, $append=true)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"