public function addreviewAction() { $id = $this->params()->fromRoute('id'); $request = $this->getRequest(); $session = new Container('frontend'); if ($request) { $request->getPost('service_id') != '' ? $s_id = $request->getPost('service_id') : ($s_id = ''); } $redirectUrl = "/practitioner/view/" . $id . "/?tab=review&review=1&s_id=" . $s_id; $api_url = $this->getServiceLocator()->get('config')['api_url']['value']; $model = new Practitioners(); if (!empty($id) && $s_id != '') { $services_list = $model->getSpserviceslist($api_url, $id); $form = new ReviewForm($services_list); $review_model = new Review(); $form->setInputFilter($review_model->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $api = new Api(); $data = array(); $data['users_id'] = $id; $request->getPost('comments') != '' ? $data['comments'] = $request->getPost('comments') : ($data['comments'] = ''); $data['created_date'] = date('Y-m-d h:i:s', time()); $request->getPost('created_by') != '' ? $data['created_by'] = $request->getPost('created_by') : ($data['created_by'] = ''); $data['status_id'] = '9'; $request->getPost('service_id') != '' ? $data['service_id'] = $request->getPost('service_id') : ($data['service_id'] = ''); $request->getPost('comment') != '' ? $data['comments'] = $request->getPost('comment') : ($data['comments'] = ''); $data['created_by'] = $session->userid; $url = $api_url . "/api/feedback/"; $res = $api->curl($url, $data, "POST"); if ($res->getStatusCode() == 201) { $this->flashMessenger()->addSuccessMessage('Your feedback has been submitted ... It will be displayed on frontend as soon as admin will aprove it'); return $this->redirect()->toUrl($redirectUrl); } else { if ($res->getStatusCode() == 400) { $result = json_decode($res->getBody(), true); if (isset($result['__all__'])) { $this->flashMessenger()->addErrorMessage('You have already submitted feedback for this practitioner for selected service'); return $this->redirect()->toUrl($redirectUrl); } } $this->flashMessenger()->addErrorMessage('Error !! Your feedback has not been submitted'); return $this->redirect()->toUrl($redirectUrl); } } else { $messages = $form->getMessages(); if (isset($messages['captcha']['badCaptcha'])) { $this->flashMessenger()->addErrorMessage($messages['captcha']['badCaptcha']); } else { $this->flashMessenger()->addErrorMessage($form->getMessages()); } return $this->redirect()->toUrl($redirectUrl); } } else { return $this->redirect()->toUrl($redirectUrl); } }