/** * @return array BaseUserWatchesNotifyContent */ public function getUserNotifyContents(SiteModel $site, UserAccountModel $userAccountModel) { $out = array(); $userWatchesSiteRepo = new \repositories\UserWatchesSiteRepository(); $data = $userWatchesSiteRepo->getUserNotifyContentForSiteAndUser($site, $userAccountModel); if ($data) { // no point carrying on; someone watching a site overrides any data contained within return array($data); } $siteFeatureRepo = new \repositories\SiteFeatureRepository($this->app); if ($siteFeatureRepo->doesSiteHaveFeatureByExtensionAndId($site, 'org.openacalendar', 'Group')) { $userWatchesGroupRepo = new \repositories\UserWatchesGroupRepository(); $data = $userWatchesGroupRepo->getUserNotifyContentForSiteAndUser($site, $userAccountModel); if ($data) { $out = array_merge($out, $data); } } $userWatchesAreaRepo = new \repositories\UserWatchesAreaRepository(); $data = $userWatchesAreaRepo->getUserNotifyContentForSiteAndUser($site, $userAccountModel); if ($data) { $out = array_merge($out, $data); } return $out; }
/** * @return array BaseUserWatchesNotifyContent */ public function getUserNotifyContents(SiteModel $site, UserAccountModel $userAccountModel) { $out = array(); $userWatchesSiteRepo = new \repositories\UserWatchesSiteRepository(); $data = $userWatchesSiteRepo->getUserNotifyContentForSiteAndUser($site, $userAccountModel); if ($data) { // no point carrying on; someone watching a site overrides any data contained within return array($data); } if ($site->getIsFeatureGroup()) { $userWatchesGroupRepo = new \repositories\UserWatchesGroupRepository(); $data = $userWatchesGroupRepo->getUserNotifyContentForSiteAndUser($site, $userAccountModel); if ($data) { $out = array_merge($out, $data); } } $userWatchesAreaRepo = new \repositories\UserWatchesAreaRepository(); $data = $userWatchesAreaRepo->getUserNotifyContentForSiteAndUser($site, $userAccountModel); if ($data) { $out = array_merge($out, $data); } return $out; }