14 private string $languageId;
18 $this->languageId = $languageId;
29 . Loc::getMessage(
'CAL_SYNC_UTIL_ATTENDEES',
false, $this->languageId)
31 .
"\D+(.?);[\r\n]*|is"
35 $acceptedAttendeePattern =
"|"
36 . Loc::getMessage(
'CAL_SYNC_UTIL_ATTENDEES_STATUS_Y',
false, $this->languageId)
38 .
"\D+(.?);[\r\n]*|is"
57 $result = $this->prepareUserNames($attendeesCodes, $parentId)
78 private function prepareUserNames(
array $codes, ?
int $parentId): string
82 $users = \CCalendar::GetDestinationUsers($codes,
true);
83 $usersMeetingStatus = [];
87 $usersMeetingStatus = $this->getUsersMeetingStatus($parentId);
90 if (!$usersMeetingStatus)
92 $names = array_map(
static function(
$user) {
93 return $user[
'FORMATTED_NAME'];
96 return implode(
', ', $names);
99 foreach ($users as
$user)
106 if (!empty($attendees))
108 $result .= Loc::getMessage(
'CAL_SYNC_UTIL_ATTENDEES',
false, $this->languageId)
110 . implode(
', ', $attendees)
125 private function getUsersMeetingStatus(
int $eventId):
array
128 $events = EventTable::query()
129 ->setSelect([
'OWNER_ID',
'MEETING_STATUS'])
130 ->where(
'PARENT_ID', $eventId)
133 while (
$event = $events->fetchObject())
cutAttendeesFromDescription(?string $description)
addAttendeesToDescription(array $attendeesCodes, ?string $description, ?int $parentId)
__construct(string $languageId)
</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
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
if(!Loader::includeModule('sale')) $pattern