/** * * @param PCRequest $request */ public function getSiteByURLAction($request) { $auth = $request->getAuthHandler(); if ($auth->isAuthorized()) { $params = $request->getParams(); $url = $params['url']; $parsedUrl = parse_url($url); if ($parsedUrl && $parsedUrl['host']) { $site = PCMapperWebsite::getSiteWithDomain($parsedUrl['host']); if ($site != NULL) { if($site->cacheIsExpired()){ $site = PCMapperWebsite::recacheSiteReview($site); if(isset($site) == FALSE){ return new PCRendererJSON(array("error" => "Something went wrong"), 500); } } $result = array(); $result["site"] = $site; $result["last_review"] = PCMapperReview::lastReviewForSite($auth->getUserIdentifier(), $site); return new PCRendererJSON($result); } } return new PCRendererJSON(array("error" => "Site not found"), 404); } throw new PCExceptionAuth("Auth Required", 401); }