diff options
Diffstat (limited to 'app/php/facades/CalendarFacade.php')
-rw-r--r-- | app/php/facades/CalendarFacade.php | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/app/php/facades/CalendarFacade.php b/app/php/facades/CalendarFacade.php index a1ff42d..c342cd2 100644 --- a/app/php/facades/CalendarFacade.php +++ b/app/php/facades/CalendarFacade.php @@ -22,8 +22,16 @@ class CalendarFacade extends Facade { ); } + public function getCalendarPreference(DbUser $user) { + if ($user->IsGuest) { + return Calendar::finder()->findAllByIsVisible(1); + } else { + return $user->DbRecord->Calendars; + } + } + public function getPreferenceList(DbUser $user) { - $calendars = $user->getCalendarPreference(); + $calendars = $this->getCalendarPreference($user); if ($calendars) { $categories = array_map( function($category) use($calendars) { @@ -39,6 +47,18 @@ class CalendarFacade extends Facade { return []; } + public function isCalendarPreferred(DbUser $user, $calendarID) { + return in_array( + $calendarID, + array_map( + function($calendar) { + return $calendar->UID; + }, + $this->getCalendarPreference($user) + ) + ); + } + public function addToPreference(DbUser $user, $calendarID) { if (!$user->IsGuest) { $calendar = Calendar::finder()->findByPk($calendarID); |