Exemplo n.º 1
0
 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'));
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 5
0
 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));
 }
Exemplo n.º 6
0
 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;
     }
 }
Exemplo n.º 7
0
 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;
 }
Exemplo n.º 8
0
 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;
 }