%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/widgets/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/widgets/UpcomingEvents.php |
<?php namespace humhub\modules\calendar\widgets; use Yii; use humhub\components\Widget; use humhub\modules\calendar\interfaces\CalendarService; use humhub\modules\calendar\models\CalendarEntryQuery; use humhub\modules\calendar\models\SnippetModuleSettings; use humhub\modules\content\components\ContentContainerActiveRecord; use humhub\modules\calendar\helpers\Url; /** * UpcomingEvents shows next events in sidebar. * * @package humhub.modules_core.calendar.widgets * @author luke */ class UpcomingEvents extends Widget { /** * ContentContainer to limit events to. (Optional) * * @var ContentContainerActiveRecord */ public $contentContainer; /** * How many days in future events should be shown? * * @var int */ public $daysInFuture = 7; public function run() { $settings = SnippetModuleSettings::instance(); /** @var CalendarService $calendarService */ $calendarService = Yii::$app->getModule('calendar')->get(CalendarService::class); $filters = []; if(!$this->contentContainer) { $filters[] = CalendarEntryQuery::FILTER_DASHBOARD; } $calendarEntries = $calendarService->getUpcomingEntries($this->contentContainer, $settings->upcomingEventsSnippetDuration, $settings->upcomingEventsSnippetMaxItems, $filters); if (empty($calendarEntries)) { return; } return $this->render('upcomingEvents', ['calendarEntries' => $calendarEntries, 'calendarUrl' => Url::toCalendar($this->contentContainer)]); } }