35 'ITEMS_LAST' =>
array(),
36 'ITEMS_HIDDEN' =>
array(),
37 'ADDITIONAL_INFO' =>
array(
38 'GROUPS_LIST' =>
array(
39 'sonetgroups' =>
array(
40 'TITLE' => Loc::getMessage(
'MAIN_UI_SELECTOR_TITLE_SONETGROUPS'),
42 'DESC_LESS_MODE' =>
'Y',
46 'SORT_SELECTED' => 300
57 $limitReached =
false;
61 'useProjects' => (!empty(
$options[
'enableProjects']) ?
$options[
'enableProjects'] :
'N')
71 && ModuleManager::isModuleInstalled(
'landing')
84 $sonetGroupsList = $sonetGroupsList[
'SONETGROUPS'];
87 $result[
'ADDITIONAL_INFO'][
'LIMITED'] = ($limitReached ?
'Y' :
'N');
89 $lastSonetGroupsList =
array();
90 if(!empty($lastItems[$entityType]))
92 $result[
"ITEMS_LAST"] = array_values($lastItems[$entityType]);
93 foreach ($lastItems[$entityType] as $value)
95 $lastSonetGroupsList[] = str_replace(
'SG',
'', $value);
99 $selectedSonetGroupsList =
array();
104 $selectedSonetGroupsList[] = str_replace(
'SG',
'', $value);
108 if (!empty($lastSonetGroupsList))
111 'id' => $lastSonetGroupsList,
112 'useProjects' => (!empty(
$options[
'enableProjects']) ?
$options[
'enableProjects'] :
'N')
118 if (trim($feature) <>
'')
121 if (!empty($operations))
123 $filter[
'features'] = [ $feature, $operations ];
130 && ModuleManager::isModuleInstalled(
'landing')
140 $sonetGroupsAdditionalList = \CSocNetLogDestination::getSocnetGroup(
$filter);
141 if (!empty($sonetGroupsAdditionalList))
145 &&
$options[
'enableProjects'] ==
'Y'
148 $sonetGroupsAdditionalList = $sonetGroupsAdditionalList[
'SONETGROUPS'];
151 $sonetGroupsList = array_merge($sonetGroupsList, $sonetGroupsAdditionalList);
155 if (!empty($selectedSonetGroupsList))
158 'id' => $selectedSonetGroupsList,
159 'useProjects' => (!empty(
$options[
'enableProjects']) ?
$options[
'enableProjects'] :
'N')
165 if (trim($feature) <>
'')
168 if (!empty($operations))
170 $filter[
'features'] = [ $feature, $operations ];
177 && ModuleManager::isModuleInstalled(
'landing')
187 $sonetGroupsAdditionalList = \CSocNetLogDestination::getSocnetGroup(
$filter);
188 if (!empty($sonetGroupsAdditionalList))
192 &&
$options[
'enableProjects'] ==
'Y'
195 $sonetGroupsAdditionalList = $sonetGroupsAdditionalList[
'SONETGROUPS'];
198 $sonetGroupsList = array_merge($sonetGroupsList, $sonetGroupsAdditionalList);
205 $hiddenItemsList = array_map(
function(
$code) {
return preg_replace(
'/^SG(\d+)$/',
'$1',
$code); }, $hiddenItemsList);
207 if (!empty($hiddenItemsList))
210 "@ID" => $hiddenItemsList
215 &&
$options[
'enableProjects'] ==
'Y'
221 $isCurrentUserModuleAdmin = \CSocNetUser::isCurrentUserModuleAdmin();
222 $res = \Bitrix\Socialnetwork\WorkgroupTable::getList(
array(
224 'select' =>
array(
"ID",
"NAME",
"DESCRIPTION",
"OPENED",
"VISIBLE")
229 while($groupFields =
$res->fetch())
233 $groupFields[
'OPENED'] ==
"Y"
234 || $isCurrentUserModuleAdmin
239 $sonetGroupsList[
'SG'.$groupFields[
"ID"]] =
array(
240 "id" =>
'SG'.$groupFields[
"ID"],
241 "entityId" => $groupFields[
"ID"],
242 "name" => $groupFields[
"NAME"],
243 "desc" => $groupFields[
"DESCRIPTION"],
244 "isExtranet" => (in_array($groupFields[
"ID"], $extranetGroupsIdList) ?
'Y' :
'N')
248 $groupFields[
'VISIBLE'] ==
"Y"
252 $sonetGroupsList[
'SG'.$groupFields[
"ID"]] =
array(
253 "id" =>
'SG'.$groupFields[
"ID"],
254 "entityId" => $groupFields[
"ID"],
255 "name" => $groupFields[
"NAME"],
256 "desc" => $groupFields[
"DESCRIPTION"],
257 "isExtranet" => (in_array($groupFields[
"ID"], $extranetGroupsIdList) ?
'Y' :
'N'),
263 $result[
'ITEMS_HIDDEN'][] =
'SG'.$groupFields[
"ID"];
269 $result[
'ITEMS'] = $sonetGroupsList;
291 'ADDITIONAL_INFO' =>
array()
298 !empty($entityOptions[
'additionalData'])
299 && !empty($entityOptions[
'additionalData'][
'LIMITED'])
300 && $entityOptions[
'additionalData'][
'LIMITED'] =
'Y'
304 "SEARCH" => $requestFields[
'searchString'],
305 "LANDING" => (!empty($entityOptions[
'landing']) && ModuleManager::isModuleInstalled(
'landing') && $entityOptions[
'landing'] ==
'Y' ?
'Y' :
'N')
308 if (!empty($entityOptions[
'feature']))
310 $feature = $entityOptions[
'feature'];
311 if (trim($feature) <>
'')
314 if (!empty($operations))
316 $filter[
'FEATURES'] = [ $feature, $operations ];
321 if (!empty($entityOptions[
'siteId']))
323 $filter[
'SITE_ID'] = $entityOptions[
'siteId'];
325 $result[
"ITEMS"] = \CSocNetLogDestination::searchSonetGroups(
$filter);