示例#1
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;
     }
 }