protected function processThingsToDoAfterGetUser(Request $request, Application $app) { global $CONFIG; $siteRepo = new SiteRepository(); $eventRepo = new EventRepository(); $areaRepo = new AreaRepository(); $event = null; $area = null; $siteToAdd = null; // Any sites of general interest? if ($request->query->has("site") && !$CONFIG->isSingleSiteMode) { $siteToAdd = $siteRepo->loadBySlug($request->query->get("site")); if ($siteToAdd && $siteToAdd->getIsAllowedForAfterGetUser()) { if (!$app['websession']->hasArray("afterGetUserAddSites")) { $app['websession']->setArray("afterGetUserAddSites", array($siteToAdd->getId())); } else { if (!in_array($siteToAdd->getId(), $app['websession']->getArray("afterGetUserAddSites"))) { $app['websession']->appendArray("afterGetUserAddSites", $siteToAdd->getId()); } } } } // Any events to add? if ($request->query->has("event")) { if ($CONFIG->isSingleSiteMode) { $event = $eventRepo->loadBySiteIDAndEventSlug($CONFIG->singleSiteID, $request->query->get("event")); } else { $site = $siteRepo->loadBySlug($request->query->get("eventSite")); if ($site) { $event = $eventRepo->loadBySlug($site, $request->query->get("event")); } } if ($event && $event->getIsAllowedForAfterGetUser()) { if (!$app['websession']->hasArray("afterGetUserAddEvents")) { $app['websession']->setArray("afterGetUserAddEvents", array($event->getId())); } else { if (!in_array($event->getId(), $app['websession']->getArray("afterGetUserAddEvents"))) { $app['websession']->appendArray("afterGetUserAddEvents", $event->getId()); } } } } // Any areas to add? if ($request->query->has("area")) { if ($CONFIG->isSingleSiteMode) { $area = $areaRepo->loadBySiteIDAndAreaSlug($CONFIG->singleSiteID, $request->query->get("area")); } else { $site = $siteRepo->loadBySlug($request->query->get("areaSite")); if ($site) { $area = $areaRepo->loadBySlug($site, $request->query->get("area")); } } if ($area && $area->getIsAllowedForAfterGetUser()) { if (!$app['websession']->hasArray("afterGetUserAddAreas")) { $app['websession']->setArray("afterGetUserAddAreas", array($area->getId())); } else { if (!in_array($area->getId(), $app['websession']->getArray("afterGetUserAddAreas"))) { $app['websession']->appendArray("afterGetUserAddAreas", $area->getId()); } } } } // Remove events? if ($request->query->has("removeEventId")) { $app['websession']->removeValueFromArray("afterGetUserAddEvents", $request->query->has("removeEventId")); } // Remove areas? if ($request->query->has("removeAreaId")) { $app['websession']->removeValueFromArray("afterGetUserAddAreas", $request->query->has("removeAreaId")); } // Remove Sites? if ($request->query->has("removeSiteId")) { $app['websession']->removeValueFromArray("afterGetUserAddSites", $request->query->has("removeSiteId")); } // load events to show user $this->parameters['afterGetUserAddEvents'] = array(); if ($app['websession']->hasArray("afterGetUserAddEvents")) { foreach ($app['websession']->getArray("afterGetUserAddEvents") as $eventID) { if ($event != null && $eventID == $event->getId()) { if ($event->getIsAllowedForAfterGetUser()) { $this->parameters['afterGetUserAddEvents'][] = $event; } } else { $eventTmp = $eventRepo->loadByID($eventID); if ($eventTmp && $eventTmp->getIsAllowedForAfterGetUser()) { $this->parameters['afterGetUserAddEvents'][] = $eventTmp; } } } } // load areas to show user $this->parameters['afterGetUserAddAreas'] = array(); if ($app['websession']->hasArray("afterGetUserAddAreas")) { foreach ($app['websession']->getArray("afterGetUserAddAreas") as $areaID) { if ($area != null && $areaID == $area->getId()) { if ($area->getIsAllowedForAfterGetUser()) { $this->parameters['afterGetUserAddAreas'][] = $area; } } else { $areaTmp = $areaRepo->loadByID($areaID); if ($areaTmp && $areaTmp->getIsAllowedForAfterGetUser()) { $this->parameters['afterGetUserAddAreas'][] = $areaTmp; } } } } // load sites to show user $this->parameters['afterGetUserAddSites'] = array(); if ($app['websession']->hasArray("afterGetUserAddSites")) { foreach ($app['websession']->getArray("afterGetUserAddSites") as $siteID) { if ($siteToAdd != null && $siteID == $siteToAdd->getId()) { if ($siteToAdd->getIsAllowedForAfterGetUser()) { $this->parameters['afterGetUserAddSites'][] = $siteToAdd; } } else { $siteTmp = $siteRepo->loadByID($siteID); if ($siteTmp && $siteTmp->getIsAllowedForAfterGetUser()) { $this->parameters['afterGetUserAddSites'][] = $siteTmp; } } } } }