public function updateAction($id = null, $reviewId = null) { $userSession = $this->session->get("userSession"); $business = Business::findFirst($id); if (!$business) { return $this->response->redirect('review/search_business'); } $reviewUpdate = Reviews::findFirst($reviewId); if (!$reviewUpdate) { return $this->response->redirect('review/search_business'); } if ($reviewUpdate->member_id != $userSession['id']) { return $this->response->redirect('review/search_business'); } $this->view->setVar('reviewUpdate', $reviewUpdate); $this->view->setVar('business', $business); $reviews = Reviews::findByBusinessId($id); $this->view->setVar('reviews', $reviews); if ($this->request->isPost()) { $content = $this->request->getPost('review'); $rate = $this->request->getPost('rate'); $review = Reviews::findFirst($reviewId); $review->created = date('Y-m-d H:i:s'); $review->modified = date('Y-m-d H:i:s'); $review->member_id = $userSession['id']; $review->business_id = $id; $review->content = $content; $review->rate = $rate; if ($review->update()) { $averageRate = Reviews::average(array("column" => "rate", "conditions" => "business_id = '" . $id . "'")); $totalReview = Reviews::count(array("column" => "id", "conditions" => "business_id = '" . $id . "'")); $business->total_review = $totalReview; $business->average_rate = $averageRate; $business->update(); $this->flash->success('<button type="button" class="close" data-dismiss="alert">×</button>You\'re review has been submitted.'); return $this->response->redirect('business/view/' . $id); } } }