summaryrefslogtreecommitdiff
path: root/app/php/facades/CalendarFacade.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/php/facades/CalendarFacade.php')
-rw-r--r--app/php/facades/CalendarFacade.php22
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);