public function getEventTypeArchives(DataContainer $dc) { $arrOptions = array(); $objArchives = \HeimrichHannot\CalendarPlus\CalendarEventtypesArchiveModel::findWithoutPids(array($dc->id)); if ($objArchives === null) { return $arrOptions; } while ($objArchives->next()) { $objCalendar = \HeimrichHannot\CalendarPlus\CalendarPlusModel::findByPk($objArchives->pid); $arrOptions[$objArchives->id] = $objCalendar->title . ' - ' . $objArchives->title; } return $arrOptions; }
public function getEventTypes(DataContainer $objDc) { $arrOptions = array(); $objCalendar = \HeimrichHannot\CalendarPlus\CalendarPlusModel::findByPk($objDc->activeRecord->pid); if ($objCalendar === null) { return $arrOptions; } // get additional archives from calendar config $arrArchiveIds = deserialize($objCalendar->eventTypeArchives, true); $objCurrentEventTypeArchives = \HeimrichHannot\CalendarPlus\CalendarEventtypesArchiveModel::findBy('pid', $objDc->activeRecord->pid); if ($objCurrentEventTypeArchives !== null) { $arrArchiveIds = array_merge($arrArchiveIds, $objCurrentEventTypeArchives->fetchEach('id')); } $arrArchiveTitles = array(); $objEventTypeArchives = \HeimrichHannot\CalendarPlus\CalendarEventtypesArchiveModel::findMultipleByIds($arrArchiveIds); if ($objEventTypeArchives !== null) { $arrArchiveTitles = $objEventTypeArchives->fetchEach('title'); } $objEventTypes = \HeimrichHannot\CalendarPlus\CalendarEventtypesModel::findByPids($arrArchiveIds); if ($objEventTypes !== null) { while ($objEventTypes->next()) { $strGroup = $arrArchiveTitles[$objEventTypes->pid]; $arrOptions[$strGroup][$objEventTypes->id] = $objEventTypes->title; } } return $arrOptions; }