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;
 }