public function writereviewAction() { $request = $this->getRequest(); $productId = $request->getParam('productId'); $rating = $request->getParam('starRating'); $productReview = $request->getParam('productReview'); if ($productId == '' || $productReview == '') { $this->messenger->addMessage('Oops, there is an error with this request'); echo 'badd stuff1'; $this->_redirect($_SERVER['HTTP_REFERER']); } else { $product = new DatabaseObject_OrderProfile($this->db); if ($product->load($productId)) { if ($product->buyer_UserID == $this->signedInUserSessionInfoHolder->generalInfo->userID && $product->product_order_status == 'order completed' && $product->product_returned == 0 && $product->seller_review_written != 1) { $product_user = new DatabaseObject_User($this->db); $product_user->load($product->product_UserId); $review = new DatabaseObject_UserReview($this->db); $review->rating = $rating; $review->description = $productReview; $review->order_profile_id = $productId; $review->order_unique_id = $product->order_unique_id; $review->order_product_name = $product->product_name; $review->User_id = $product->product_UserId; $product_user->review_count = $product_user->review_count + 1; $product_user->review_total_score = $product_user->review_total_score + $rating; $product_user->review_average_score = $product_user->review_total_score / ($product_user->review_count + 1); $product_user->save(); $review->save(); $product->seller_review_written = 1; $product->save(); echo 'here'; //add reward points. DatabaseObject_Helper_UserManager::addRewardPointToUser($this->db, $this->signedInUserSessionInfoHolder->generalInfo->referee_id, '8', 'review written for product: ' . $product->product_name . 'from order: ' . $product->order_unique_id, $_SERVER['REMOTE_ADDR'], $this->signedInUserSessionInfoHolder->generalInfo->username, $this->signedInUserSessionInfoHolder->generalInfo->userID, $this->signedInUserSessionInfoHolder->generalInfo->referee_id); echo 'here2'; //$this->messenger->addMessage('thank you for your review. you have been rewarded the the appropriate reward points: '.$review->rating); $this->_redirect($_SERVER['HTTP_REFERER']); } else { $this->messenger->addMessage('We are sorry, but you are not able to write a review for this product order'); echo 'sorry, bad stuff'; $this->_redirect($_SERVER['HTTP_REFERER']); } } } }