/** * Generate module */ protected function compile() { parent::compile(); if (FE_USER_LOGGED_IN) { // Get the current event $objEvent = \CalendarEventsModel::findPublishedByParentAndIdOrAlias(\Input::get('events'), $this->cal_calendar); if ($objEvent === null) { return false; } // If current event isn't a registration event, don't go on if (!$objEvent->ser_register) { $this->blnParseRegistration = false; } // If registrations should not be shown if (!$objEvent->ser_show) { $this->blnShowList = false; } // Check, if the active user is in one of the usergroups $this->import('FrontendUser', 'User'); $arrRegGroups = deserialize($objEvent->ser_groups); $arrShowGroups = deserialize($objEvent->ser_showgroups); if (is_array($arrRegGroups) && count(array_intersect($this->User->groups, $arrRegGroups)) < 1) { $this->blnParseRegistration = false; } if (is_array($arrShowGroups) && count(array_intersect($this->User->groups, $arrShowGroups)) < 1 || !is_array($arrShowGroups) && is_array($arrRegGroups) && count(array_intersect($this->User->groups, $arrRegGroups)) < 1) { $this->blnShowList = false; } $arrMessage = array(); // If everything is OK, show the form and perform the registration if ($this->blnParseRegistration) { $this->Template->event .= $this->parseRegistration($objEvent); } // If everything is OK, show the list of all registered members if ($this->blnShowList) { $this->Template->event .= $this->parseList($objEvent); } } }
/** * Generate the module */ protected function compile() { /** @var \PageModel $objPage */ global $objPage; $this->Template->event = ''; $this->Template->referer = 'javascript:history.go(-1)'; $this->Template->back = $GLOBALS['TL_LANG']['MSC']['goBack']; // Get the current event $objEvent = \CalendarEventsModel::findPublishedByParentAndIdOrAlias(\Input::get('events'), $this->cal_calendar); if (null === $objEvent) { /** @var \PageError404 $objHandler */ $objHandler = new $GLOBALS['TL_PTY']['error_404'](); $objHandler->generate($objPage->id); } // Overwrite the page title (see #2853 and #4955) if ($objEvent->title != '') { $objPage->pageTitle = strip_tags(strip_insert_tags($objEvent->title)); } // Overwrite the page description if ($objEvent->teaser != '') { $objPage->description = $this->prepareMetaDescription($objEvent->teaser); } $intStartTime = $objEvent->startTime; $intEndTime = $objEvent->endTime; $span = \Calendar::calculateSpan($intStartTime, $intEndTime); // Do not show dates in the past if the event is recurring (see #923) if ($objEvent->recurring) { $arrRange = deserialize($objEvent->repeatEach); if (is_array($arrRange) && isset($arrRange['unit']) && isset($arrRange['value'])) { while ($intStartTime < time() && $intEndTime < $objEvent->repeatEnd) { $intStartTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intStartTime); $intEndTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intEndTime); } } } $strDate = \Date::parse($objPage->dateFormat, $intStartTime); if ($span > 0) { $strDate = \Date::parse($objPage->dateFormat, $intStartTime) . ' – ' . \Date::parse($objPage->dateFormat, $intEndTime); } $strTime = ''; if ($objEvent->addTime) { if ($span > 0) { $strDate = \Date::parse($objPage->datimFormat, $intStartTime) . ' – ' . \Date::parse($objPage->datimFormat, $intEndTime); } elseif ($intStartTime == $intEndTime) { $strTime = \Date::parse($objPage->timeFormat, $intStartTime); } else { $strTime = \Date::parse($objPage->timeFormat, $intStartTime) . ' – ' . \Date::parse($objPage->timeFormat, $intEndTime); } } $until = ''; $recurring = ''; // Recurring event if ($objEvent->recurring) { $arrRange = deserialize($objEvent->repeatEach); if (is_array($arrRange) && isset($arrRange['unit']) && isset($arrRange['value'])) { $strKey = 'cal_' . $arrRange['unit']; $recurring = sprintf($GLOBALS['TL_LANG']['MSC'][$strKey], $arrRange['value']); if ($objEvent->recurrences > 0) { $until = sprintf($GLOBALS['TL_LANG']['MSC']['cal_until'], \Date::parse($objPage->dateFormat, $objEvent->repeatEnd)); } } } /** @var \FrontendTemplate|object $objTemplate */ $objTemplate = new \FrontendTemplate($this->cal_template); $objTemplate->setData($objEvent->row()); $objTemplate->date = $strDate; $objTemplate->time = $strTime; $objTemplate->datetime = $objEvent->addTime ? date('Y-m-d\\TH:i:sP', $intStartTime) : date('Y-m-d', $intStartTime); $objTemplate->begin = $intStartTime; $objTemplate->end = $intEndTime; $objTemplate->class = $objEvent->cssClass != '' ? ' ' . $objEvent->cssClass : ''; $objTemplate->recurring = $recurring; $objTemplate->until = $until; $objTemplate->locationLabel = $GLOBALS['TL_LANG']['MSC']['location']; $objTemplate->details = ''; $objTemplate->hasDetails = false; $objTemplate->hasTeaser = false; // Clean the RTE output if ($objEvent->teaser != '') { $objTemplate->hasTeaser = true; if ($objPage->outputFormat == 'xhtml') { $objTemplate->teaser = \StringUtil::toXhtml($objEvent->teaser); } else { $objTemplate->teaser = \StringUtil::toHtml5($objEvent->teaser); } $objTemplate->teaser = \StringUtil::encodeEmail($objTemplate->teaser); } // Display the "read more" button for external/article links if ($objEvent->source != 'default') { $objTemplate->details = true; $objTemplate->hasDetails = true; } else { $id = $objEvent->id; $objTemplate->details = function () use($id) { $strDetails = ''; $objElement = \ContentModel::findPublishedByPidAndTable($id, 'tl_calendar_events'); if ($objElement !== null) { while ($objElement->next()) { $strDetails .= $this->getContentElement($objElement->current()); } } return $strDetails; }; $objTemplate->hasDetails = \ContentModel::countPublishedByPidAndTable($id, 'tl_calendar_events') > 0; } $objTemplate->addImage = false; // Add an image if ($objEvent->addImage && $objEvent->singleSRC != '') { $objModel = \FilesModel::findByUuid($objEvent->singleSRC); if ($objModel === null) { if (!\Validator::isUuid($objEvent->singleSRC)) { $objTemplate->text = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>'; } } elseif (is_file(TL_ROOT . '/' . $objModel->path)) { // Do not override the field now that we have a model registry (see #6303) $arrEvent = $objEvent->row(); // Override the default image size if ($this->imgSize != '') { $size = deserialize($this->imgSize); if ($size[0] > 0 || $size[1] > 0 || is_numeric($size[2])) { $arrEvent['size'] = $this->imgSize; } } $arrEvent['singleSRC'] = $objModel->path; $this->addImageToTemplate($objTemplate, $arrEvent); } } $objTemplate->enclosure = array(); // Add enclosures if ($objEvent->addEnclosure) { $this->addEnclosuresToTemplate($objTemplate, $objEvent->row()); } $this->Template->event = $objTemplate->parse(); // HOOK: comments extension required if ($objEvent->noComments || !in_array('comments', \ModuleLoader::getActive())) { $this->Template->allowComments = false; return; } /** @var \CalendarModel $objCalendar */ $objCalendar = $objEvent->getRelated('pid'); $this->Template->allowComments = $objCalendar->allowComments; // Comments are not allowed if (!$objCalendar->allowComments) { return; } // Adjust the comments headline level $intHl = min(intval(str_replace('h', '', $this->hl)), 5); $this->Template->hlc = 'h' . ($intHl + 1); $this->import('Comments'); $arrNotifies = array(); // Notify the system administrator if ($objCalendar->notify != 'notify_author') { $arrNotifies[] = $GLOBALS['TL_ADMIN_EMAIL']; } // Notify the author if ($objCalendar->notify != 'notify_admin') { /** @var \UserModel $objAuthor */ if (($objAuthor = $objEvent->getRelated('author')) !== null && $objAuthor->email != '') { $arrNotifies[] = $objAuthor->email; } } $objConfig = new \stdClass(); $objConfig->perPage = $objCalendar->perPage; $objConfig->order = $objCalendar->sortOrder; $objConfig->template = $this->com_template; $objConfig->requireLogin = $objCalendar->requireLogin; $objConfig->disableCaptcha = $objCalendar->disableCaptcha; $objConfig->bbcode = $objCalendar->bbcode; $objConfig->moderate = $objCalendar->moderate; $this->Comments->addCommentsToTemplate($this->Template, $objConfig, 'tl_calendar_events', $objEvent->id, $arrNotifies); }
protected function generateArrowNavigation($objCurrentEvent, $strUrl) { $objT = new \FrontendTemplate('eventnavigation_arrows'); $objT->setData($this->arrData); $arrIds = array(); // get ids from EventsPlus::getAllEvents $session = \Session::getInstance()->getData(); $arrIds = $session[CALENDARPLUS_SESSION_EVENT_IDS]; // EventsPlus::getAllEvents did not run before the reader // TODO: run EventsPlus::getAllEvents before if (!is_array($arrIds) || empty($arrIds)) { return; } $prevID = null; $nextID = null; $currentIndex = array_search($objCurrentEvent->id, $arrIds); // prev only of not first item if (isset($arrIds[$currentIndex - 1])) { $prevID = $arrIds[$currentIndex - 1]; $objEvent = \CalendarEventsModel::findPublishedByParentAndIdOrAlias($prevID, $this->cal_calendar); $intStartTime = $objEvent->startTime; $intEndTime = $objEvent->endTime; $span = \Calendar::calculateSpan($intStartTime, $intEndTime); // Do not show dates in the past if the event is recurring (see #923) if ($objEvent->recurring) { $arrRange = deserialize($objEvent->repeatEach); while ($intStartTime < time() && $intEndTime < $objEvent->repeatEnd) { $intStartTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intStartTime); $intEndTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intEndTime); } } if ($objEvent !== null) { $objT->prev = $this->getEventDetails($objEvent, $intStartTime, $intEndTime, $strUrl, 0, $objEvent->pid); $objT->prevLink = $GLOBALS['TL_LANG']['event']['prevLink']; } } // next only of not last item if (isset($arrIds[$currentIndex + 1])) { $nextID = $arrIds[$currentIndex + 1]; $objEvent = \CalendarEventsModel::findPublishedByParentAndIdOrAlias($nextID, $this->cal_calendar); $intStartTime = $objEvent->startTime; $intEndTime = $objEvent->endTime; $span = \Calendar::calculateSpan($intStartTime, $intEndTime); // Do not show dates in the past if the event is recurring (see #923) if ($objEvent->recurring) { $arrRange = deserialize($objEvent->repeatEach); while ($intStartTime < time() && $intEndTime < $objEvent->repeatEnd) { $intStartTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intStartTime); $intEndTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intEndTime); } } if ($objEvent !== null) { $objT->next = $this->getEventDetails($objEvent, $intStartTime, $intEndTime, $strUrl, 0, $objEvent->pid); $objT->nextLink = $GLOBALS['TL_LANG']['event']['nextLink']; } } return $objT->parse(); }
/** * Generate the module */ protected function compile() { global $objPage; $this->Template->event = ''; $this->Template->referer = 'javascript:history.go(-1)'; $this->Template->back = $GLOBALS['TL_LANG']['MSC']['goBack']; // Get the current event $objEvent = \CalendarEventsModel::findPublishedByParentAndIdOrAlias(\Input::get('events'), $this->cal_calendar); if ($objEvent === null) { // Do not index or cache the page $objPage->noSearch = 1; $objPage->cache = 0; // Send a 404 header header('HTTP/1.1 404 Not Found'); $this->Template->event = '<p class="error">' . sprintf($GLOBALS['TL_LANG']['MSC']['invalidPage'], \Input::get('events')) . '</p>'; return; } // Overwrite the page title if ($objEvent->title != '') { $objPage->pageTitle = strip_insert_tags($objEvent->title); } // Overwrite the page description if ($objEvent->teaser != '') { $objPage->description = $this->prepareMetaDescription($objEvent->teaser); } $span = \Calendar::calculateSpan($objEvent->startTime, $objEvent->endTime); if ($objPage->outputFormat == 'xhtml') { $strTimeStart = ''; $strTimeEnd = ''; $strTimeClose = ''; } else { $strTimeStart = '<time datetime="' . date('Y-m-d\\TH:i:sP', $objEvent->startTime) . '">'; $strTimeEnd = '<time datetime="' . date('Y-m-d\\TH:i:sP', $objEvent->endTime) . '">'; $strTimeClose = '</time>'; } // Get date if ($span > 0) { $date = $strTimeStart . $this->parseDate($objEvent->addTime ? $objPage->datimFormat : $objPage->dateFormat, $objEvent->startTime) . $strTimeClose . ' - ' . $strTimeEnd . $this->parseDate($objEvent->addTime ? $objPage->datimFormat : $objPage->dateFormat, $objEvent->endTime) . $strTimeClose; } elseif ($objEvent->startTime == $objEvent->endTime) { $date = $strTimeStart . $this->parseDate($objPage->dateFormat, $objEvent->startTime) . ($objEvent->addTime ? ' (' . $this->parseDate($objPage->timeFormat, $objEvent->startTime) . ')' : '') . $strTimeClose; } else { $date = $strTimeStart . $this->parseDate($objPage->dateFormat, $objEvent->startTime) . ($objEvent->addTime ? ' (' . $this->parseDate($objPage->timeFormat, $objEvent->startTime) . $strTimeClose . ' - ' . $strTimeEnd . $this->parseDate($objPage->timeFormat, $objEvent->endTime) . ')' : '') . $strTimeClose; } $until = ''; $recurring = ''; // Recurring event if ($objEvent->recurring) { $arrRange = deserialize($objEvent->repeatEach); $strKey = 'cal_' . $arrRange['unit']; $recurring = sprintf($GLOBALS['TL_LANG']['MSC'][$strKey], $arrRange['value']); if ($objEvent->recurrences > 0) { $until = sprintf($GLOBALS['TL_LANG']['MSC']['cal_until'], $this->parseDate($objPage->dateFormat, $objEvent->repeatEnd)); } } // Override the default image size if ($this->imgSize != '') { $size = deserialize($this->imgSize); if ($size[0] > 0 || $size[1] > 0) { $objEvent->size = $this->imgSize; } } $objTemplate = new \FrontendTemplate($this->cal_template); $objTemplate->setData($objEvent->row()); $objTemplate->date = $date; $objTemplate->start = $objEvent->startTime; $objTemplate->end = $objEvent->endTime; $objTemplate->class = $objEvent->cssClass != '' ? ' ' . $objEvent->cssClass : ''; $objTemplate->recurring = $recurring; $objTemplate->until = $until; // Clean the RTE output if ($objPage->outputFormat == 'xhtml') { $objEvent->details = \String::toXhtml($objEvent->details); } else { $objEvent->details = \String::toHtml5($objEvent->details); } $objTemplate->details = \String::encodeEmail($objEvent->details); $objTemplate->addImage = false; // Add an image if ($objEvent->addImage && $objEvent->singleSRC != '') { if (!is_numeric($objEvent->singleSRC)) { $objTemplate->details = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>'; } else { $objModel = \FilesModel::findByPk($objEvent->singleSRC); if ($objModel !== null && is_file(TL_ROOT . '/' . $objModel->path)) { $objEvent->singleSRC = $objModel->path; $this->addImageToTemplate($objTemplate, $objEvent->row()); } } } $objTemplate->enclosure = array(); // Add enclosures if ($objEvent->addEnclosure) { $this->addEnclosuresToTemplate($objTemplate, $objEvent->row()); } $this->Template->event = $objTemplate->parse(); // HOOK: comments extension required if ($objEvent->noComments || !in_array('comments', $this->Config->getActiveModules())) { $this->Template->allowComments = false; return; } $objCalendar = $objEvent->getRelated('pid'); $this->Template->allowComments = $objCalendar->allowComments; // Adjust the comments headline level $intHl = min(intval(str_replace('h', '', $this->hl)), 5); $this->Template->hlc = 'h' . ($intHl + 1); $this->import('Comments'); $arrNotifies = array(); // Notify the system administrator if ($objCalendar->notify != 'notify_author') { $arrNotifies[] = $GLOBALS['TL_ADMIN_EMAIL']; } // Notify the author if ($objCalendar->notify != 'notify_admin') { if (($objAuthor = $objEvent->getRelated('author')) !== null && $objAuthor->email != '') { $arrNotifies[] = $objAuthor->email; } } $objConfig = new \stdClass(); $objConfig->perPage = $objCalendar->perPage; $objConfig->order = $objCalendar->sortOrder; $objConfig->template = $this->com_template; $objConfig->requireLogin = $objCalendar->requireLogin; $objConfig->disableCaptcha = $objCalendar->disableCaptcha; $objConfig->bbcode = $objCalendar->bbcode; $objConfig->moderate = $objCalendar->moderate; $this->Comments->addCommentsToTemplate($this->Template, $objConfig, 'tl_calendar_events', $objEvent->id, $arrNotifies); }
/** * Render a calendar event. * * @param GetCalendarEventEvent $event The event. * * @param string $eventName The event name. * * @param EventDispatcherInterface $eventDispatcher The event dispatcher. * * @return void * * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) * @SuppressWarnings(PHPMD.ExcessiveMethodLength) * @SuppressWarnings(PHPMD.Superglobals) * @SuppressWarnings(PHPMD.CamelCaseVariableName) * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function handleEvent(GetCalendarEventEvent $event, $eventName, EventDispatcherInterface $eventDispatcher) { if ($event->getCalendarEventHtml()) { return; } $calendarCollection = \CalendarModel::findAll(); if (!$calendarCollection) { return; } $calendarIds = $calendarCollection->fetchEach('id'); $eventModel = \CalendarEventsModel::findPublishedByParentAndIdOrAlias($event->getCalendarEventId(), $calendarIds); if (!$eventModel) { return; } $calendarModel = $eventModel->getRelated('pid'); $objPage = \PageModel::findWithDetails($calendarModel->jumpTo); if ($event->getDateTime()) { $selectedStartDateTime = clone $event->getDateTime(); $selectedStartDateTime->setTime(date('H', $eventModel->startTime), date('i', $eventModel->startTime), date('s', $eventModel->startTime)); $secondsBetweenStartAndEndTime = $eventModel->endTime - $eventModel->startTime; $intStartTime = $selectedStartDateTime->getTimestamp(); $intEndTime = $intStartTime + $secondsBetweenStartAndEndTime; } else { $intStartTime = $eventModel->startTime; $intEndTime = $eventModel->endTime; } $span = \Calendar::calculateSpan($intStartTime, $intEndTime); // Do not show dates in the past if the event is recurring (see #923). if ($eventModel->recurring) { $arrRange = deserialize($eventModel->repeatEach); while ($intStartTime < time() && $intEndTime < $eventModel->repeatEnd) { $intStartTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intStartTime); $intEndTime = strtotime('+' . $arrRange['value'] . ' ' . $arrRange['unit'], $intEndTime); } } if ($objPage->outputFormat == 'xhtml') { $strTimeStart = ''; $strTimeEnd = ''; $strTimeClose = ''; } else { $strTimeStart = ''; $strTimeEnd = ''; $strTimeClose = ''; // @codingStandardsIgnoreStart /* TODO $this->date and $this->time is used in the <a> title attribute and cannot contain HTML! $strTimeStart = '<time datetime="' . date('Y-m-d\TH:i:sP', $intStartTime) . '">'; $strTimeEnd = '<time datetime="' . date('Y-m-d\TH:i:sP', $intEndTime) . '">'; $strTimeClose = '</time>'; */ // @codingStandardsIgnoreEnd } // Get date. if ($span > 0) { $date = $strTimeStart . \Date::parse($eventModel->addTime ? $objPage->datimFormat : $objPage->dateFormat, $intStartTime) . $strTimeClose . ' - ' . $strTimeEnd . \Date::parse($eventModel->addTime ? $objPage->datimFormat : $objPage->dateFormat, $intEndTime) . $strTimeClose; } elseif ($intStartTime == $intEndTime) { $date = $strTimeStart . \Date::parse($objPage->dateFormat, $intStartTime) . ($eventModel->addTime ? ' (' . \Date::parse($objPage->timeFormat, $intStartTime) . ')' : '') . $strTimeClose; } else { $date = $strTimeStart . \Date::parse($objPage->dateFormat, $intStartTime) . ($eventModel->addTime ? ' (' . \Date::parse($objPage->timeFormat, $intStartTime) . $strTimeClose . ' - ' . $strTimeEnd . \Date::parse($objPage->timeFormat, $intEndTime) . ')' : '') . $strTimeClose; } $until = ''; $recurring = ''; // Recurring event. if ($eventModel->recurring) { $arrRange = deserialize($eventModel->repeatEach); $strKey = 'cal_' . $arrRange['unit']; $recurring = sprintf($GLOBALS['TL_LANG']['MSC'][$strKey], $arrRange['value']); if ($eventModel->recurrences > 0) { $until = sprintf($GLOBALS['TL_LANG']['MSC']['cal_until'], \Date::parse($objPage->dateFormat, $eventModel->repeatEnd)); } } // Override the default image size. // This is always false. if ($this->imgSize != '') { $size = deserialize($this->imgSize); if ($size[0] > 0 || $size[1] > 0) { $eventModel->size = $this->imgSize; } } $objTemplate = new \FrontendTemplate($event->getTemplate()); $objTemplate->setData($eventModel->row()); $objTemplate->date = $date; $objTemplate->start = $intStartTime; $objTemplate->end = $intEndTime; $objTemplate->class = $eventModel->cssClass != '' ? ' ' . $eventModel->cssClass : ''; $objTemplate->recurring = $recurring; $objTemplate->until = $until; $objTemplate->locationLabel = $GLOBALS['TL_LANG']['MSC']['location']; $objTemplate->details = ''; $objElement = \ContentModel::findPublishedByPidAndTable($eventModel->id, 'tl_calendar_events'); if ($objElement !== null) { while ($objElement->next()) { $getContentElementEvent = new GetContentElementEvent($objElement->id); $eventDispatcher->dispatch(ContaoEvents::CONTROLLER_GET_CONTENT_ELEMENT, $getContentElementEvent); $objTemplate->details .= $getContentElementEvent->getContentElementHtml(); } } $objTemplate->addImage = false; // Add an image. if ($eventModel->addImage && $eventModel->singleSRC != '') { $objModel = \FilesModel::findByUuid($eventModel->singleSRC); if ($objModel === null) { if (!\Validator::isUuid($eventModel->singleSRC)) { $objTemplate->text = '<p class="error">' . $GLOBALS['TL_LANG']['ERR']['version2format'] . '</p>'; } } elseif (is_file(TL_ROOT . '/' . $objModel->path)) { // Do not override the field now that we have a model registry (see #6303). $arrEvent = $eventModel->row(); $arrEvent['singleSRC'] = $objModel->path; $addImageToTemplateEvent = new AddImageToTemplateEvent($arrEvent, $objTemplate); $eventDispatcher->dispatch(ContaoEvents::CONTROLLER_ADD_IMAGE_TO_TEMPLATE, $addImageToTemplateEvent); } } $objTemplate->enclosure = array(); // Add enclosures. if ($eventModel->addEnclosure) { $addEnclosureToTemplateEvent = new AddEnclosureToTemplateEvent($eventModel->row(), $objTemplate); $eventDispatcher->dispatch(ContaoEvents::CONTROLLER_ADD_ENCLOSURE_TO_TEMPLATE, $addEnclosureToTemplateEvent); } $calendarEvent = $objTemplate->parse(); $event->setCalendarEventHtml($calendarEvent); }
public static function findRelatedEventEntity($varId, array $arrRelation, \ModuleModel $objModule = null) { if (!isset($arrRelation['table'])) { return null; } $strModelClass = \Model::getClassFromTable($arrRelation['table']); if (!class_exists($strModelClass)) { return null; } if ($objModule === null) { return \CalendarEventsModel::findByPk($varId); } return \CalendarEventsModel::findPublishedByParentAndIdOrAlias($varId, deserialize($objModule->cal_calendar)); }
protected function getEvent($id = false) { $tmpArr = array(); $i = 0; $id = $id ? $id : \Input::get($this->request['id']) ? \Input::get($this->request['id']) : false; if ($id) { $result = \CalendarEventsModel::findPublishedByParentAndIdOrAlias($id, array($this->settings['calendar'])); } else { list($start, $end, $empty) = $this->getDatesFromFormat($this->settings['eventFormat']); $result = \CalendarEventsModel::findCurrentByPid($this->settings['calendar'], $start, $end); } if ($result) { if ($result instanceof \Model\Collection) { while ($result->next()) { $tmpArr[] = $this->fillEventArray($result, ++$i); } } else { $tmpArr = $this->fillEventArray($result, 1); } } else { $tmpArr = false; } return $tmpArr; }