3namespace Bitrix\Mail\Internals;
5use Bitrix\Mail\MailboxTable;
7use Bitrix\Main\ORM\Data\Internal\DeleteByFilterTrait;
8use Bitrix\Main\UserAccessTable;
28 use DeleteByFilterTrait;
37 return 'b_mail_mailbox_access';
44 'data_type' =>
'integer',
46 'autocomplete' =>
true,
48 'MAILBOX_ID' =>
array(
49 'data_type' =>
'integer',
53 'data_type' =>
'integer',
55 'ACCESS_CODE' =>
array(
56 'data_type' =>
'string',
73 '=MAILBOX_ID' => $mailboxId,
80 while ($item = $accesses->fetch())
82 if (preg_match(
'/^(U)(\d+)$/', $item[
'ACCESS_CODE'],
$matches))
122 while (
$user = $users->fetch())
125 'id' => (int)
$user[
'ID'],
126 'name' => trim(\CUser::formatName(\CSite::getNameFormat(),
$user,
true,
false)),
145 foreach ($usersData as
$user)
149 $foundUsers[] =
$user;
166 foreach ($usersData as
$user)
180 self::cleanMailboxCache(
$event);
185 self::cleanMailboxCache(
$event);
190 self::cleanMailboxCache(
$event);
195 $mailboxAccess =
$event->getParameter(
'fields');
197 if (isset($mailboxAccess[
'ACCESS_CODE']))
199 $userIds = UserAccessTable::query()
200 ->setSelect([
'USER_ID'])
201 ->where(
'ACCESS_CODE', $mailboxAccess[
'ACCESS_CODE'])
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static onAfterAdd(Entity\Event $event)
static getUsersDataWithAccessToTheMailbox(int $mailboxId)
static getUserIdsWithAccessToTheMailbox(int $mailboxId)
static onAfterUpdate(Entity\Event $event)
static getUsersDataByName(int $mailboxId, $name)
static onAfterDelete(Entity\Event $event)
static onBeforeDeleteByFilter()
static getUserDataById(int $mailboxId, int $userId)
static cleanUserSharedCache(int $userId)
static cleanAllSharedCache()
static getList(array $parameters=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)