1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
usertogroup.php
См. документацию.
1<?php
2
9namespace Bitrix\Socialnetwork;
10
11use Bitrix\Main\Entity;
12use Bitrix\Main\ModuleManager;
13use Bitrix\Main\NotImplementedException;
14use Bitrix\Main\ORM\Data\Internal\DeleteByFilterTrait;
15use Bitrix\Main\ORM\Data\Internal\MergeTrait;
16use Bitrix\Main\ORM\Query\Join;
17use Bitrix\Socialnetwork\Internals\Member\MemberEntityCollection;
18use Bitrix\Socialnetwork\Space\Member;
19
36class UserToGroupTable extends Entity\DataManager
37{
38 use MergeTrait;
39 use DeleteByFilterTrait;
40
42 public const ROLE_OWNER = 'A';
43
45 public const ROLE_MODERATOR = 'E';
46
48 public const ROLE_USER = 'K';
49
51 public const ROLE_BAN = 'T';
52
54 public const ROLE_REQUEST = 'Z';
55
57 public const INITIATED_BY_USER = 'U';
58
60 public const INITIATED_BY_GROUP = 'G';
61
62 public const INITIATED_BY_STRUCTURE = 'S';
63
64 public static function getObjectClass(): string
65 {
66 return Member::class;
67 }
68
69 public static function getCollectionClass(): string
70 {
71 return MemberEntityCollection::class;
72 }
73
79 public static function getTableName(): string
80 {
81 return 'b_sonet_user2group';
82 }
83
84 public static function getUfId(): string
85 {
86 return 'USER_TO_WORKGROUP';
87 }
88
94 public static function getRolesAll(): array
95 {
96 return [ self::ROLE_OWNER, self::ROLE_MODERATOR, self::ROLE_USER, self::ROLE_BAN, self::ROLE_REQUEST ];
97 }
98
104 public static function getRolesMember(): array
105 {
106 return [ self::ROLE_OWNER, self::ROLE_MODERATOR, self::ROLE_USER ];
107 }
108
114 public static function getInitiatedByAll(): array
115 {
116 return [ self::INITIATED_BY_USER, self::INITIATED_BY_GROUP, self::INITIATED_BY_STRUCTURE ];
117 }
118
122 public static function getMap(): array
123 {
124 return array(
125 'ID' => array(
126 'data_type' => 'integer',
127 'primary' => true,
128 'autocomplete' => true,
129 ),
130 'USER_ID' => array(
131 'data_type' => 'integer',
132 ),
133 'USER' => array(
134 'data_type' => (ModuleManager::isModuleInstalled('intranet') ? 'Bitrix\Intranet\UserTable' : 'Bitrix\Main\UserTable'),
135 'reference' => array('=this.USER_ID' => 'ref.ID'),
136 'join_type' => Join::TYPE_INNER,
137 ),
138 'GROUP_ID' => array(
139 'data_type' => 'integer',
140 ),
141 'GROUP' => array(
142 'data_type' => 'Bitrix\Socialnetwork\WorkgroupTable',
143 'reference' => array('=this.GROUP_ID' => 'ref.ID'),
144 'join_type' => Join::TYPE_INNER,
145 ),
146 'ROLE' => array(
147 'data_type' => 'enum',
148 'values' => array(self::ROLE_OWNER, self::ROLE_MODERATOR, self::ROLE_USER, self::ROLE_BAN, self::ROLE_REQUEST),
149 ),
150 'AUTO_MEMBER' => array(
151 'data_type' => 'boolean',
152 'values' => array('N','Y'),
153 ),
154 'DATE_CREATE' => array(
155 'data_type' => 'datetime',
156 ),
157 'DATE_UPDATE' => array(
158 'data_type' => 'datetime',
159 ),
160 'INITIATED_BY_TYPE' => array(
161 'data_type' => 'enum',
162 'values' => [ self::INITIATED_BY_USER, self::INITIATED_BY_GROUP, self::INITIATED_BY_STRUCTURE ],
163 ),
164 'INITIATED_BY_USER_ID' => array(
165 'data_type' => 'integer',
166 ),
167 'INITIATED_BY_USER' => array(
168 'data_type' => 'Bitrix\Main\UserTable',
169 'reference' => array('=this.INITIATED_BY_USER_ID' => 'ref.ID'),
170 ),
171 'MESSAGE' => array(
172 'data_type' => 'text',
173 ),
174 );
175 }
176
186 public static function add(array $data)
187 {
188 throw new NotImplementedException("Use CSocNetUserToGroup class.");
189 }
190
201 public static function update($primary, array $data)
202 {
203 throw new NotImplementedException("Use CSocNetUserToGroup class.");
204 }
205
215 public static function delete($primary)
216 {
217 throw new NotImplementedException("Use CSocNetUserToGroup class.");
218 }
219
220 public static function getGroupModerators(int $groupId): array
221 {
222 $query = UserToGroupTable::query()
223 ->setDistinct()
224 ->setSelect(['USER_ID'])
225 ->where('GROUP_ID', '=', $groupId)
226 ->where('ROLE', '<=', UserToGroupTable::ROLE_MODERATOR)
227 ->exec();
228
229 return $query->fetchAll() ?? [];
230 }
231}
static getGroupModerators(int $groupId)
Определения usertogroup.php:220
static add(array $data)
Определения usertogroup.php:186
static update($primary, array $data)
Определения usertogroup.php:201
static getCollectionClass()
Определения usertogroup.php:69
$data['IS_AVAILABLE']
Определения .description.php:13
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$query
Определения get_search.php:11