/** * Process user calendars and get data provider. * @param null|string $myCalendarIds * @param null|string $mySubscribedCalendarIds * @param null|string $dateRangeType * @param null|string $startDate * @param null|string $endDate * @return CalendarItemsDataProvider */ public static function processUserCalendarsAndMakeDataProviderForCombinedView($myCalendarIds = null, $mySubscribedCalendarIds = null, $dateRangeType = null, $startDate = null, $endDate = null) { $savedCalendarSubscriptions = SavedCalendarSubscriptions::makeByUser(Yii::app()->user->userModel, $myCalendarIds, $mySubscribedCalendarIds); if ($dateRangeType == null) { $dateRangeType = CalendarUtil::getDateRangeType(); ZurmoConfigurationUtil::setByUserAndModuleName(Yii::app()->user->userModel, 'CalendarsModule', 'myCalendarDateRangeType', $dateRangeType); } if ($startDate == null) { $startDate = CalendarUtil::getStartDate($dateRangeType); ZurmoConfigurationUtil::setByUserAndModuleName(Yii::app()->user->userModel, 'CalendarsModule', 'myCalendarStartDate', $startDate); } if ($endDate == null) { $endDate = CalendarUtil::getEndDate($dateRangeType); ZurmoConfigurationUtil::setByUserAndModuleName(Yii::app()->user->userModel, 'CalendarsModule', 'myCalendarEndDate', $endDate); } return CalendarItemsDataProviderFactory::getDataProviderByDateRangeType($savedCalendarSubscriptions, $startDate, $endDate, $dateRangeType); }