/** * * @param PCRequest $request */ public function userAction($request) { $param = $request->getParams(); if (isset($param['id']) == FALSE) throw new PCExceptionController("Page not found", 404); $user = PCModelManager::fetchObjectWithIdentifier(PCModelUser::getMapper(), $param['id'], NULL, TRUE); if (isset($user) == FALSE) throw new PCExceptionController("Page not found", 404); $result = array(); $user_identifier = $user->getIdentifier(); $user_name = $user->getUsername(); $result['user_id'] = $user_identifier; $result['userName'] = $user_name; $result['userFrom'] = $user->getCreation_date()->format("Y-m-d H:i"); $avgTotReviews = PCMapperReview::getUserAverageAndCount($user_identifier); $result['averageVote'] = sprintf("%.1f",$avgTotReviews['avg']); $result['votesCount'] = $avgTotReviews['tot']; $result['reliability'] = $avgTotReviews['reliability']; $result['contents'] = $avgTotReviews['contents']; $result['usability'] = $avgTotReviews['usability']; $reviewsList = array(); $reviews = PCMapperReview::getReviewsWithUserIdentifier($user_identifier, 0); foreach ($reviews as $r) { $reviewArray = array(); $site = PCModelManager::fetchObjectWithIdentifier(PCModelWebsite::getMapper(), $r->getSiteIdentifier(), NULL, TRUE); $reviewArray["vote"] = sprintf("%.1f",$r->getVote()); $reviewArray["site"] = $site->getUrl(); $reviewArray["date_added"] = $r->getDate_added()->format("Y-m-d"); $reviewArray["comment"] = $r->getComment(); $reviewArray["siteId"] = $site->getIdentifier(); $reviewArray['reliability'] = sprintf("%.1f", $r->getReliabilityVote()); $reviewArray['contents'] = sprintf("%.1f", $r->getContentsVote()); $reviewArray['usability'] = sprintf("%.1f", $r->getUsabilityVote()); $reviewsList[] = $reviewArray; } $result['reviews'] = $reviewsList; $result['title'] = "WebSherpa - " . $user_name; return PCRendererHTML::rendererForView('host', $result); }