public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $serviceManager = $e->getApplication()->getServiceManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); $this->bootstrapSession($e); // Added by sazid to use common data in every page $application = $e->getParam('application'); $viewModel = $application->getMvcEvent()->getViewModel(); $api_url = $serviceManager->get('Config')['api_url']['value']; $session_apiurl = new Container('api_url'); $session_apiurl->apiurl = $api_url; $apiCall = new Api(); $getCommonData = $apiCall->getCommonData($api_url); foreach ($getCommonData as $key => $val) { if (!empty($val)) { $viewModel->{$key} = $val; } } // Hybrid view for ajax calls (disable layout for xmlHttpRequests) $eventManager->getSharedManager()->attach('Zend\\Mvc\\Controller\\AbstractController', MvcEvent::EVENT_DISPATCH, function (MvcEvent $event) { /** * @var Request $request */ $request = $event->getRequest(); $viewModel = $event->getResult(); $vModel = $event->getViewModel(); $vModel->setVariable('api_url', $event->getApplication()->getServiceManager()->get('Config')['api_url']['value']); $userAuth = new FrontEndAuth(); if ($userAuth->hasIdentity()) { $practitioner = new Practitioners(); $userSession = new Container('frontend'); $userType = $userSession->user_type_id == '3' ? 'practitioner' : 'consumer'; $vModel->setVariable('notifications', $practitioner->getNotifications($event->getApplication()->getServiceManager()->get('Config')['api_url']['value'], $userType)); } if ($request->isXmlHttpRequest()) { $viewModel->setTerminal(true); } return $viewModel; }, -95); $eventManager->attach('route', array($this, 'doHttpsRedirect')); }
public function indexAction() { $api = new Api(); $common = new Common(); $api_url = $this->getServiceLocator()->get('Config')['api_url']['value']; //Start:-- Search form $session = new Container('frontend'); $loggedInUser = $session->userid; $userType = $session->user_type_id; $model_practitioner = new Practitioners(); $loggedInUserAddress = $model_practitioner->getLoggedInUserAddress($loggedInUser, $userType, $api_url); $treatment_list = $common->getAllservices($api_url); $search_form = new SearchForm($treatment_list, $common->getstatesByCountry($api_url, $loggedInUserAddress->country_id)); // getting banners $banners = $common->getBanner($api_url, 1); //End:-- Search form $page1 = $common->getPage($api_url, 7); $page2 = $common->getPage($api_url, 8); $page3 = $common->getPage($api_url, 9); $page4 = $common->getMedia($api_url); $banner_content = $common->getPage($api_url, 13); $data = array('page1' => stripcslashes($page1), 'page2' => stripcslashes($page2), 'page3' => stripcslashes($page3), 'page4' => $page4, 'search_form' => $search_form, 'banners' => $banners, 'banner_content' => $banner_content); return new ViewModel($data); }
public function invoiceAction() { $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('home'); } $auth = new FrontEndAuth(); $bookingModel = new Bookings(); $consumers = new Consumers(); $common = new Common(); $practitioners = new Practitioners(); $session = new Container('frontend'); $api_url = $this->getServiceLocator()->get('config')['api_url']['value']; if ($auth->hasIdentity(3)) { // service provider invoice $data = $bookingModel->getBookings($api_url, '', '', '', '', '', '', $id, 'subscription'); $userDetails = $practitioners->getSPDetails($api_url, $session->userid); } else { return $this->redirect()->toRoute('home'); } $userDetails['address'] = json_decode($userDetails['address'][0], true); $userDetails['contact'] = json_decode($userDetails['contact'][0], true); //print_r($userDetails['address']); exit; if (isset($data['results']) && count($data['results']) == 1) { if ($this->getRequest()->getQuery('print') == 1) { $view = new viewModel(array('booking_details' => $data['results'], 'user_details' => $userDetails)); $view->setTemplate('application/membership/printinvoice.phtml'); $printData = $this->getServiceLocator()->get('viewrenderer')->render($view); // Store in PDF format $dompdf = new \DOMPDF(); $dompdf->load_html($printData); $dompdf->render(); $dompdf->stream('invoice.pdf', array('Attachment' => 0)); exit; } else { $banners = $common->getBanner($api_url, 16); return new viewModel(array('booking_details' => $data['results'], 'user_details' => $userDetails, 'id' => $id, 'banners' => $banners)); } } else { return $this->redirect()->toRoute('home'); } return new viewModel($this->invoicedetails()); }
public function readnotificationsAction() { $request = $this->getRequest(); if ($request->isPost()) { $model = new Practitioners(); $session = new Container('frontend'); $api_url = $this->getServiceLocator()->get('config')['api_url']['value']; if ($model->readNotifications($api_url, $request->getPost('tab'), $session->userid)) { echo json_encode(array('status' => 1, 'notifications' => $model->getNotifications($api_url))); } else { echo json_encode(array('status' => 0, 'notifications' => $model->getNotifications($api_url))); } } exit; }
public function ratingsAction() { $id = $this->params()->fromRoute('id'); $getparams = $this->getRequest()->getQuery(); if (!empty($id) && $id != null && $id != "") { $auth = new FrontEndAuth(); if (!$auth->hasIdentity(4)) { return $this->redirect()->toUrl('/login'); } $ratingType = array(); $ratingData = array(); $session = new Container('frontend'); $model = new Practitioners(); $bookingModel = new Bookings(); $common = new Common(); $api = new Api(); $api_url = $this->getServiceLocator()->get('config')['api_url']['value']; $reviewFlag = false; $user_id = $session->userid; if (isset($getparams['review']) && $getparams['review'] == 1 && isset($getparams['s_id'])) { // check service $serivce_id = $getparams['s_id']; $sp_id = $id; $result = $bookingModel->getBookings($api_url, $sp_id, $user_id, '4', "", "", $serivce_id); $reviewFlag = $model->setreviewFlg($result); //get service provider details $sp_res = $api->curl($api_url . "/api/spusers/" . $sp_id . "/", array(), "GET"); if ($sp_res->getStatusCode() == 200) { $spData = json_decode($sp_res->getBody(), true); } } if ($reviewFlag == true) { //get previous ratings $ratings_data_res = $api->curl($api_url . "/api/rating/", array("users_id" => $id, "service_id" => $serivce_id, "created_by" => $user_id), "GET"); if ($ratings_data_res->getStatusCode() == 200) { $ratingData = json_decode($ratings_data_res->getBody(), true); } //Check if rating data exits otherwise send $ratingType for fresh reviews. if (empty($ratingData)) { if (empty($ratingData)) { $rating_res = $api->curl($api_url . "/api/ratingtype/", array("status_id" => 1), "GET"); if ($rating_res->getStatusCode() == 200) { $ratingType = json_decode($rating_res->getBody(), true); } } } } else { return $this->redirect()->toUrl('/consumer/dashboard'); } } else { return $this->redirect()->toUrl('/consumer/dashboard'); } // getting banner for this page $banners = $common->getBanner($api_url, 5); return new viewModel(array("ratingType" => $ratingType, "ratingData" => $ratingData, "spData" => $spData, "service_id" => $serivce_id, 'banners' => $banners)); }
public function changeBookingStatus($api_url, $id, $status, $common) { $suggestion_res = $this->api->curl($api_url . "/api/suggestionhistory/", array('booking_id' => $id), "GET"); $session = new Container('frontend'); //print_r($id); exit; if ($suggestion_res->getStatusCode() == 200) { $suggestions = json_decode($suggestion_res->getBody(), true); $last = end($suggestions); $user = json_decode($last['user'], true); $user_name = $user['first_name'] . ' ' . $user['last_name']; $user_email = $user['email']; if ($user['user_type_id'] != '3') { $userObject = new Consumers(); $user_type = 'Practitioner'; $contact = $userObject->getContact($api_url, $user['user_id']); $phone = $contact[0]['home_phone']; } else { $userObject = new Practitioners(); $user_type = 'Consumer'; $contact = $userObject->getContact($api_url, $user['user_id']); $phone = $contact[0]['phone_number']; } $update_res = $this->api->curl($api_url . "/api/suggestionhistory/" . $last['id'] . "/", array('booking_status' => $status), "PUT"); if ($update_res->getStatusCode() != 200 && $update_res->getStatusCode() != 201) { return false; } else { switch ($status) { case 4: $status = 'Confirmed'; break; case 5: $status = 'Pending Approval'; break; case 6: $status = 'Cancelled'; break; } $pattern = array('/{{user_name}}/i', '/{{user_type}}/i', '/{{booking_id}}/i', '/{{status}}/i'); $replace = array('<strong>' . $user_name . '</strong>', $user_type, '<strong>#' . $last['booking_id'] . '</strong>', $status); $userFeatures = $common->getFeatures($api_url, $user['user_id']); if ($user_type == 'Consumer') { $subscriptionDetails = $common->getSubscriptiondetails($api_url, $session->userid, true); if (isset($subscriptionDetails['features']) && is_array($subscriptionDetails['features']) && in_array(11, $subscriptionDetails['features']) || $userFeatures['email'] == 1) { $common->sendMail($api_url, $user_email, '', 14, '', $pattern, $replace); } if (isset($subscriptionDetails['features']) && is_array($subscriptionDetails['features']) && in_array(12, $subscriptionDetails['features']) && $userFeatures['sms'] == 1) { $common->sendMsg($phone, 3, '', $pattern, array($user_name, $user_type, $last['booking_id'], $status)); } } else { $subscriptionDetails = $common->getSubscriptiondetails($api_url, $user['user_id'], true); $common->sendMail($api_url, $user_email, '', 14, '', $pattern, $replace); if (isset($subscriptionDetails['features']) && is_array($subscriptionDetails['features']) && in_array(12, $subscriptionDetails['features']) && $userFeatures['sms'] == 1) { $common->sendMsg($phone, 3, '', $pattern, array($user_name, $user_type, $last['booking_id'], $status)); } } return true; } } else { return false; } }
public function renewcardAction() { set_time_limit(0); $model = new Practitioners(); $common = $this->getServiceLocator()->get('Application\\Model\\Common'); $api_url = $this->getServiceLocator()->get('config')['api_url']['value']; $filter = array('card_expiration_hash' => md5(date('n-Y'))); $cardDetails = $common->getUserCardDetails($api_url, $filter); // Start :- Get admin email id $adminEmailId = ''; $consumer = new Consumers(); $res = $consumer->getConsumerdetails($api_url, 1); if (count($res) > 0) { $adminEmailId = $res['email']; } $card = end($cardDetails); /* renew card code for all users pi20jan */ if (count($cardDetails) > 0) { foreach ($cardDetails as $card) { $user_details = $model->getSPDetails($api_url, $card['user_id']); // getting use email permissions $subscriptionDetails = $common->getSubscriptiondetails($api_url, $card['user_id'], true); // getting service provider subscription details $userFeatures = $common->getFeatures($api_url, $card['user_id']); if (isset($subscriptionDetails['features']) && is_array($subscriptionDetails['features']) && in_array(11, $subscriptionDetails['features']) || $userFeatures['email'] == 1) { $pattern = array('/{{user_name}}/i'); $replace = array('<strong>' . $user_details['first_name'] . ' ' . $user_details['last_name'] . '</strong>'); $common->sendMail($api_url, $user_details['email'], '', 20, '', $pattern, $replace, '', $adminEmailId); $common->sendMail($api_url, $adminEmailId, '', 20, '', $pattern, $replace, '', ''); } } } exit; }
public function updateAction() { $request = $this->getRequest(); if ($request->isPost()) { $model = new Practitioners(); $bookingModel = new Bookings(); $action = $request->getPost('action', 'profile'); $api_url = $this->getServiceLocator()->get('config')['api_url']['value']; switch ($action) { case 'booking_status': $status = $request->getPost('status', 4); $ids = $request->getPost('bookings'); if (is_array($ids) && count($ids) > 0) { foreach ($ids as $id) { if (!$bookingModel->changeBookingStatus($api_url, $id, $status, $this->getServiceLocator()->get('Application\\Model\\Common'))) { echo json_encode(array('status' => 0, 'msg' => 'Failed to change booking status..!!')); exit; } } echo json_encode(array('status' => 1, 'msg' => 'Booking status changed successfully..!!', 'notifications' => $model->getNotifications($api_url))); } else { echo json_encode(array('status' => 0, 'msg' => 'Failed to change booking status..!!')); } break; } } exit; }