16use Bitrix\Calendar\Core\eventoption\EventOption;
24 private const MIN_MEETING_PARTICIPANT = 2;
29 protected ?
int $id =
null;
163 private ?
int $parentId =
null;
167 private bool $isMeeting =
false;
171 private ?
int $dtLength = 0;
175 private ?
string $meetingStatus =
null;
183 private ?
int $collabId =
null;
191 return $builder->
build();
199 return $this->name ??
'';
254 $this->startTimeZone = $timezone;
266 $this->endTimeZone = $timezone;
288 $this->attendeeCollection = $collection;
546 $this->eventType = $label;
570 $this->relations = $relations;
637 if (is_null($this->attendeeCollection))
639 $this->initAttendeesCollection();
713 if ($this->section ===
null)
715 $this->initSection();
750 return $this->relations;
864 return $this->recurringRule && $this->recurringRule->getFrequency();
880 return ($this->
id === $this->parentId) && ($this->
id !==
null);
898 return $this->attendeeCollection
899 &&
count($this->attendeeCollection) >= self::MIN_MEETING_PARTICIPANT;
924 private function initAttendeesCollection(): void
930 private function initSection(): void
933 $this->section =
new Section();
942 $this->parentId = $parentId;
952 return $this->parentId;
972 $this->meetingStatus = $meetingStatus;
982 return $this->meetingStatus;
990 return $this->
id === 0 || $this->
id ===
null;
1018 $this->calType = $calendarType;
1024 return $this->eventOption;
1029 $this->eventOption = $eventOption;
1036 return $this->
getSection()?->getType() === Dictionary::CALENDAR_TYPE[
'open_event'];
1041 $this->dtLength = $dtLength;
1048 return $this->dtLength;
1053 $this->collabId = $collabId;
1060 return $this->collabId;
1067 'PARENT_ID' => $this->parentId,
1068 'ACTIVE' => $this->
isActive ?
'Y' :
'N',
1069 'DELETED' => $this->
isDeleted ?
'Y' :
'N',
1071 'OWNER' => $this->owner?->getId(),
1077 'DT_SKIP_TIME' => $this->isFullDay ?
'Y' :
'N',
1078 'DT_LENGTH' => $this->dtLength,
1080 'CREATED_BY' => $this->creator?->getId(),
1085 'IS_MEETING' => $this->isMeeting,
1086 'MEETING_STATUS' => $this->meetingStatus,
1087 'MEETING_HOST' => $this->eventHost?->getId(),
1089 'LOCATION' => $this->location?->
toString(),
1090 'REMIND' => $this->remindCollection->getCollection(),
1092 'RRULE' => $this->recurringRule->toArray(),
1094 'ATTENDEES_CODE' => implode(
',', $this->attendeeCollection->getAttendeesCodes()),
1095 'SECTION_ID' => $this->section?->getId(),
DateTimeZone $startTimeZone
getExcludedDateCollection()
DateTimeZone $endTimeZone
setCollabId(?int $collabId)
setMeetingDescription(?MeetingDescription $meetingDescription)
setRemindCollection(?Properties\RemindCollection $remindCollection)
setParentId(?int $parentId)
setIsMeeting(bool $isMeeting)
setSection(?Section $section)
setIsPrivate(bool $isPrivate)
setStartTimeZone(?DateTimeZone $timezone)
setRelations(?Relations $relations)
MeetingDescription $meetingDescription
setAccessibility(?string $accessibility)
setIsFullDay(bool $isFullDay)
setEventType(?string $eventType)
setSpecialLabel(?string $label)
Properties RemindCollection $remindCollection
RecurringEventRules $recurringRule
setAttendeesCollection(?AttendeeCollection $collection)
setRecurrenceId(?int $recurrenceId)
static fromBuilder(Builder $builder)
setRecurringRule(?RecurringEventRules $recurringRule)
setEndTimeZone(?DateTimeZone $timezone)
setMeetingStatus(?string $meetingStatus)
setTransparent(?string $transparent)
ExcludedDatesCollection $excludedDateCollection
setImportance(?string $importance)
setIsActive(bool $isActive)
setLocation(?Location $location)
setCalendarType(?string $calendarType)
setEventOption(?EventOption $eventOption)
AttendeeCollection $attendeeCollection
setDateCreate(?Date $dateCreate)
setExcludedDateCollection(?ExcludedDatesCollection $excludedDateCollection)
setOriginalDateFrom(?Date $originalDateFrom)
setEventHost(?Role $eventHost)
setDescription(?string $description)
setCreator(?Role $creator)
setDateModified(?Date $dateModified)
setDtLength(?int $dtLength)
setIsDeleted(bool $isDeleted)
toString(Context\Culture $culture=null)
</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."%"