protected function processThingsToDoAfterGetUser(Request $request, Application $app) { global $CONFIG; $eventRepo = new EventRepository(); $areaRepo = new AreaRepository(); $event = null; $area = null; // Any events to add? if ($request->query->has("event")) { if ($CONFIG->isSingleSiteMode) { $event = $eventRepo->loadBySiteIDAndEventSlug($CONFIG->singleSiteID, $request->query->get("event")); } else { $siteRepo = new SiteRepository(); $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 { $siteRepo = new SiteRepository(); $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")); } // 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; } } } } }