Ejemplo n.º 1
0
 function pay()
 {
     if (!$this->input->get('list_id') || !$this->input->get('status')) {
         echo '[{"status":"Required All Fields"}]';
     } else {
         $list_id = $this->input->get('list_id');
         $list['list_id'] = $list_id;
         $token = $_GET["token"];
         $playerid = $_GET["PayerID"];
         $status = $this->input->get('status');
         //$httpParsedResponseAr = $this->PPHttpPost('GetExpressCheckoutDetails', $padata, $api_user, $api_pwd, $api_key, $PayPalMode);
         // print_r($httpParsedResponseAr['ACK']);exit;
         if ($status == 'success') {
             //print_r($_REQUEST['ItemName']);exit;
             //echo "<script> alert(''success');</script>";
             $custom = $this->session->userdata('custom');
             //print_r($custom);
             //exit;
             $data = array();
             $list = array();
             $data = explode('@', $custom);
             $contact_key = $data[9];
             $list['list_id'] = $data[0];
             $list['userby'] = $data[1];
             $query1 = $this->Common_model->getTableData('list', array('id' => $list['list_id']));
             $buyer_id = $query1->row()->user_id;
             $list['userto'] = $buyer_id;
             $list['checkin'] = $data[2];
             $list['checkout'] = $data[3];
             $list['no_quest'] = $data[4];
             $amt = explode('%', $httpParsedResponseAr['AMT']);
             $list['price'] = $amt[0];
             $currency = $httpParsedResponseAr['CURRENCYCODE'];
             $list['payment_id'] = 2;
             $list['credit_type'] = 1;
             $list['transaction_id'] = 0;
             $is_travelCretids = $data[5];
             $user_travel_cretids = $data[6];
             $list['topay'] = get_currency_value2($currency, $query1->row()->currency, $data[7]);
             $list['currency'] = $query1->row()->currency;
             $list['admin_commission'] = $data[8];
             //Entering into it
             $list['status'] = 3;
             $this->db->select_max('group_id');
             $group_id = $this->db->get('calendar')->row()->group_id;
             if (empty($group_id)) {
                 echo $countJ = 0;
             } else {
                 $countJ = $group_id;
             }
             $insertData['list_id'] = $list['list_id'];
             $insertData['group_id'] = $countJ + 1;
             $insertData['availability'] = 'Booked';
             $insertData['booked_using'] = 'Other';
             $checkin = date('m/d/Y', $list['checkin']);
             $checkout = date('m/d/Y', $list['checkout']);
             $days = getDaysInBetween($checkin, $checkout);
             $count = count($days);
             $i = 1;
             foreach ($days as $val) {
                 if ($count == 1) {
                     $insertData['style'] = 'single';
                 } else {
                     if ($count > 1) {
                         if ($i == 1) {
                             $insertData['style'] = 'left';
                         } else {
                             if ($count == $i) {
                                 $insertData['notes'] = '';
                                 $insertData['style'] = 'right';
                             } else {
                                 $insertData['notes'] = '';
                                 $insertData['style'] = 'both';
                             }
                         }
                     }
                 }
                 $insertData['booked_days'] = $val;
                 $this->Trips_model->insert_calendar($insertData);
                 $i++;
             }
             if ($list['price'] > 75) {
                 $user_id = $list['userby'];
                 $details = $this->Referrals_model->get_details_by_Iid($user_id);
                 $row = $details->row();
                 $count = $details->num_rows();
                 if ($count > 0) {
                     $details1 = $this->Referrals_model->get_details_refamount($row->invite_from);
                     if ($details1->num_rows() == 0) {
                         $insertData = array();
                         $insertData['user_id'] = $row->invite_from;
                         $insertData['count_trip'] = 1;
                         $insertData['amount'] = 25;
                         $this->Referrals_model->insertReferralsAmount($insertData);
                     } else {
                         $count_trip = $details1->row()->count_trip;
                         $amount = $details1->row()->amount;
                         $updateKey = array('id' => $row->id);
                         $updateData = array();
                         $updateData['count_trip'] = $count_trip + 1;
                         $updateData['amount'] = $amount + 25;
                         $this->Referrals_model->updateReferralsAmount($updateKey, $updateData);
                     }
                 }
             }
             $q = $query1->result();
             $row_list = $query1->row();
             $iUser_id = $q[0]->user_id;
             $details2 = $this->Referrals_model->get_details_by_Iid($iUser_id);
             $row = $details2->row();
             $count = $details2->num_rows();
             if ($count > 0) {
                 $details3 = $this->Referrals_model->get_details_refamount($row->invite_from);
                 if ($details3->num_rows() == 0) {
                     $insertData = array();
                     $insertData['user_id'] = $row->invite_from;
                     $insertData['count_book'] = 1;
                     $insertData['amount'] = 75;
                     $this->Referrals_model->insertReferralsAmount($insertData);
                 } else {
                     $count_book = $details3->row()->count_book;
                     $amount = $details3->row()->amount;
                     $updateKey = array('id' => $row->id);
                     $updateData = array();
                     $updateData['count_trip'] = $count_book + 1;
                     $updateData['amount'] = $amount + 75;
                     $this->Referrals_model->updateReferralsAmount($updateKey, $updateData);
                 }
             }
             $admin_email = $this->dx_auth->get_site_sadmin();
             $admin_name = $this->dx_auth->get_site_title();
             $query3 = $this->Common_model->getTableData('users', array('id' => $list['userby']));
             $rows = $query3->row();
             $username = $rows->username;
             $user_id = $rows->id;
             $email_id = $rows->email;
             $query4 = $this->Users_model->get_user_by_id($buyer_id);
             $buyer_name = $query4->row()->username;
             $buyer_email = $query4->row()->email;
             //Check md5('No Travel Cretids') || md5('Yes Travel Cretids')
             if ($is_travelCretids == '7c4f08a53f4454ea2a9fdd94ad0c2eeb') {
                 $query5 = $this->Referrals_model->get_details_refamount($user_id);
                 $amount = $query5->row()->amount;
                 $updateKey = array('user_id ' => $user_id);
                 $updateData = array();
                 $updateData['amount'] = $amount - $user_travel_cretids;
                 $this->Referrals_model->updateReferralsAmount($updateKey, $updateData);
                 $list['credit_type'] = 2;
                 $list['ref_amount'] = $user_travel_cretids;
                 $row = $query4->row();
                 //sent mail to administrator
                 $email_name = 'tc_book_to_admin';
                 $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $user_travel_cretids + $list['price'], "{payed_amount}" => $list['price'], "{travel_credits}" => $user_travel_cretids, "{host_name}" => ucfirst($buyer_name), "{host_email_id}" => $buyer_email);
                 //Send Mail
                 $this->Email_model->sendMail($admin_email, $email_id, ucfirst($username), $email_name, $splVars);
                 //sent mail to buyer
                 $email_name = 'tc_book_to_host';
                 $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{username}" => ucfirst($buyer_name), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $list['price']);
                 //Send Mail
                 if ($buyer_email != '0') {
                     $this->Email_model->sendMail($buyer_email, $admin_email, ucfirst($admin_name), $email_name, $splVars);
                 }
             }
             $list['book_date'] = local_to_gmt();
             //Actual insertion into the database
             $this->Common_model->insertData('reservation', $list);
             $reservation_id = $this->db->insert_id();
             //Send Message Notification
             $insertData = array('list_id' => $list['list_id'], 'reservation_id' => $reservation_id, 'userby' => $list['userby'], 'userto' => $list['userto'], 'message' => 'You have a new reservation request from ' . ucfirst($username), 'created' => local_to_gmt(), 'message_type' => 1);
             $this->Message_model->sentMessage($insertData, ucfirst($buyer_name), ucfirst($username), $row_list->title, $reservation_id);
             $message_id = $this->db->insert_id();
             $actionurl = site_url('trips/request/' . $reservation_id);
             //Reservation Notification To Host
             $email_name = 'host_reservation_notification';
             $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{username}" => ucfirst($buyer_name), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $list['price'], "{action_url}" => $actionurl);
             //Send Mail
             //
             if ($buyer_email != '0') {
                 $this->Email_model->sendMail($buyer_email, $admin_email, ucfirst($admin_name), $email_name, $splVars);
             }
             //Reservation Notification To Traveller
             $email_name = 'traveller_reservation_notification';
             $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($username));
             //Send Mail
             $this->Email_model->sendMail($email_id, $admin_email, ucfirst($admin_name), $email_name, $splVars);
             //Reservation Notification To Administrator
             $email_name = 'admin_reservation_notification';
             $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $user_travel_cretids + $list['price'], "{payed_amount}" => $list['price'], "{travel_credits}" => $user_travel_cretids, "{host_name}" => ucfirst($buyer_name), "{host_email_id}" => $buyer_email);
             //Send Mail
             $this->Email_model->sendMail($admin_email, $email_id, ucfirst($username), $email_name, $splVars);
             //	if($is_block == 'on')
             //	{
             $this->db->select_max('group_id');
             $group_id = $this->db->get('calendar')->row()->group_id;
             if (empty($group_id)) {
                 echo $countJ = 0;
             } else {
                 $countJ = $group_id;
             }
             $insertData1['list_id'] = $list['list_id'];
             //$insertData['reservation_id'] = $reservation_id;
             $insertData1['group_id'] = $countJ + 1;
             $insertData1['availability'] = 'Not Available';
             $insertData1['booked_using'] = 'Other';
             $checkin = date('m/d/Y', $list['checkin']);
             $checkout = date('m/d/Y', $list['checkout']);
             $days = getDaysInBetween($checkin, $checkout);
             $count = count($days);
             $i = 1;
             foreach ($days as $val) {
                 if ($count == 1) {
                     $insertData1['style'] = 'single';
                 } else {
                     if ($count > 1) {
                         if ($i == 1) {
                             $insertData1['style'] = 'left';
                         } else {
                             if ($count == $i) {
                                 $insertData1['notes'] = '';
                                 $insertData1['style'] = 'right';
                             } else {
                                 $insertData1['notes'] = '';
                                 $insertData1['style'] = 'both';
                             }
                         }
                     }
                 }
                 $insertData1['booked_days'] = $val;
                 $this->Trips_model->insert_calendar($insertData1);
                 $i++;
             }
         }
         $referral_amount = $this->db->where('id', $this->dx_auth->get_user_id())->get('users')->row()->referral_amount;
         if ($referral_amount > 100) {
             $this->db->set('referral_amount', $referral_amount - 100)->where('id', $this->dx_auth->get_user_id())->update('users');
         } else {
             $this->db->set('referral_amount', 0)->where('id', $this->dx_auth->get_user_id())->update('users');
         }
         echo '[{"status":"SUCCESS updated"}]';
     }
 }
Ejemplo n.º 2
0
 function braintree_success()
 {
     $result = Braintree_Transaction::sale(array('amount' => get_currency_value_lys(get_currency_code(), 'USD', $this->session->userdata('subtotal')), "paymentMethodNonce" => $_POST['payment_method_nonce'], 'options' => array('submitForSettlement' => true)));
     $transaction = $result->transaction;
     if ($transaction->status == "authorized" || $transaction->status == "submitted_for_settlement") {
         $custom = $this->session->userdata('custom');
         $data = array();
         $list = array();
         $data = explode('@', $custom);
         $contact_key = $data[9];
         $list['list_id'] = $data[0];
         $list['userby'] = $data[1];
         $query1 = $this->Common_model->getTableData('list', array('id' => $list['list_id']));
         $buyer_id = $query1->row()->user_id;
         $list['userto'] = $buyer_id;
         $list['checkin'] = $data[2];
         $list['checkout'] = $data[3];
         $list['no_quest'] = $data[4];
         $date1 = new DateTime(date('Y-m-d H:i:s', $list['checkin']));
         $date2 = new DateTime(date('Y-m-d H:i:s', $list['checkout']));
         $interval = $date1->diff($date2);
         if ($interval->days >= 28) {
             $list['policy'] = 5;
         } else {
             $list['policy'] = $query1->row()->cancellation_policy;
         }
         $amt = $data[14];
         $list['transaction_id'] = "{$transaction->id}";
         $list['price'] = $this->session->userdata('subtotal');
         $currency = $data[15];
         $list['payment_id'] = 2;
         $list['credit_type'] = 1;
         $is_travelCretids = $data[5];
         $user_travel_cretids = $data[6];
         $list['currency'] = get_currency_code();
         if ($currency != 'USD') {
             $list['admin_commission'] = $data[8];
             $list['cleaning'] = $data[10];
             $list['security'] = $data[11];
             $list['topay'] = $amt - $data[8];
         } else {
             $list['admin_commission'] = $data[8];
             $list['cleaning'] = $data[10];
             $list['security'] = $data[11];
             $list['topay'] = $amt - $data[8];
         }
         $list['guest_count'] = $data[13];
         if ($list['no_quest'] > $list['guest_count']) {
             if ($currency != 'USD') {
                 $list['extra_guest_price'] = $data[12];
             } else {
                 $list['extra_guest_price'] = $data[12];
             }
         }
         if ($this->session->userdata('contact_key') != '') {
             $updateKey = array('contact_key' => $this->session->userdata('contact_key'));
             $updateData = array();
             $list['contacts_offer'] = $this->session->userdata('contacts_offer');
             $updateData['status'] = 10;
             $this->Contacts_model->update_contact($updateKey, $updateData);
         }
         if ($contact_key != "None") {
             $list['status'] = 1;
             $this->db->select_max('group_id');
             $group_id = $this->db->get('calendar')->row()->group_id;
             if (empty($group_id)) {
                 echo $countJ = 0;
             } else {
                 $countJ = $group_id;
             }
             $insertData['list_id'] = $list['list_id'];
             $insertData['group_id'] = $countJ + 1;
             $insertData['availability'] = 'Booked';
             $insertData['booked_using'] = 'Other';
             $checkin = date('m/d/Y', $list['checkin']);
             $checkout = date('m/d/Y', $list['checkout']);
             $days = getDaysInBetween($checkin, $checkout);
             $count = count($days);
             $i = 1;
             foreach ($days as $val) {
                 if ($count == 1) {
                     $insertData['style'] = 'single';
                 } else {
                     if ($count > 1) {
                         if ($i == 1) {
                             $insertData['style'] = 'left';
                         } else {
                             if ($count == $i) {
                                 $insertData['notes'] = '';
                                 $insertData['style'] = 'right';
                             } else {
                                 $insertData['notes'] = '';
                                 $insertData['style'] = 'both';
                             }
                         }
                     }
                 }
                 $insertData['booked_days'] = $val;
                 $this->Trips_model->insert_calendar($insertData);
                 $i++;
             }
         } else {
             $listid1 = $list['list_id'];
             $instance_book = $this->db->where('id', $listid1)->get('list')->row()->instance_book;
             //echo $this->db->last_query();
             if ($instance_book == 1) {
                 $list['status'] = 3;
             } else {
                 $list['status'] = 1;
             }
         }
         if ($list['price'] > $rent) {
             $user_id = $list['userby'];
             $details = $this->Referrals_model->get_details_by_Iid($user_id);
             $row = $details->row();
             $count = $details->num_rows();
             if ($count > 0) {
                 $details1 = $this->Referrals_model->get_details_refamount($row->invite_from);
                 $amt_check2 = $this->db->where('id', $row->invite_from)->get('users');
                 $user = $this->Users_model->get_user_by_id($this->dx_auth->get_user_id())->row();
                 $trip1 = $user->ref_trip;
                 $rent1 = $user->ref_rent;
                 if ($amt_check2->num_rows() == 0) {
                     $insertData = array();
                     $insertData['user_id'] = $row->invite_from;
                     $insertData['count_trip'] = 1;
                     $insertData['amount'] = $trip1;
                     $this->Referrals_model->insertReferralsAmount($insertData);
                 } else {
                     $count_trip = $amt_check2->row()->count_trip;
                     $amount = $amt_check2->row()->amount;
                     $updateKey = array('id' => $row->id);
                     $updateData = array();
                     $updateData['count_trip'] = $count_trip + 1;
                     $updateData['amount'] = $amount + $trip1;
                     $this->Referrals_model->updateReferralsAmount($updateKey, $updateData);
                 }
             }
         }
         $q = $query1->result();
         $row_list = $query1->row();
         $iUser_id = $q[0]->user_id;
         $details2 = $this->Referrals_model->get_details_by_Iid($iUser_id);
         $row = $details2->row();
         $count = $details2->num_rows();
         if ($count > 0) {
             $user = $this->Users_model->get_user_by_id($this->dx_auth->get_user_id())->row();
             $trip1 = $user->ref_trip;
             $rent1 = $user->ref_rent;
             $details3 = $this->Referrals_model->get_details_refamount($row->invite_from);
             $amt_check3 = $this->db->where('id', $row->invite_from)->get('users');
             if ($amt_check3->num_rows() == 0) {
                 $insertData = array();
                 $insertData['user_id'] = $row->invite_from;
                 $insertData['count_book'] = 1;
                 $insertData['amount'] = $rent1;
                 $this->Referrals_model->insertReferralsAmount($insertData);
             } else {
                 $count_book = $amt_check3->row()->count_book;
                 $amount = $amt_check3->row()->amount;
                 $updateKey = array('id' => $row->id);
                 $updateData = array();
                 $updateData['count_trip'] = $count_book + 1;
                 $updateData['amount'] = $amount + $rent1;
                 $this->Referrals_model->updateReferralsAmount($updateKey, $updateData);
             }
         }
         $admin_email = $this->dx_auth->get_site_sadmin();
         $admin_name = $this->dx_auth->get_site_title();
         $query3 = $this->Common_model->getTableData('users', array('id' => $list['userby']));
         $rows = $query3->row();
         $username = $rows->username;
         $user_id = $rows->id;
         $email_id = $rows->email;
         $query4 = $this->Users_model->get_user_by_id($buyer_id);
         $buyer_name = $query4->row()->username;
         $buyer_email = $query4->row()->email;
         //Check md5('No Travel Cretids') || md5('Yes Travel Cretids')
         if ($is_travelCretids == '7c4f08a53f4454ea2a9fdd94ad0c2eeb') {
             $query5 = $this->Referrals_model->get_details_refamount($user_id);
             $amount = $query5->row()->amount;
             $updateKey = array('user_id ' => $user_id);
             $updateData = array();
             $updateData['amount'] = $amount - $user_travel_cretids;
             $this->Referrals_model->updateReferralsAmount($updateKey, $updateData);
             $list['credit_type'] = 2;
             $list['ref_amount'] = $user_travel_cretids;
             $row = $query4->row();
             //sent mail to administrator
             $email_name = 'tc_book_to_admin';
             $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $user_travel_cretids + $list['price'], "{payed_amount}" => $list['price'], "{travel_credits}" => $user_travel_cretids, "{host_name}" => ucfirst($buyer_name), "{host_email_id}" => $buyer_email);
             //Send Mail
             $this->Email_model->sendMail($admin_email, $email_id, ucfirst($username), $email_name, $splVars);
             //sent mail to buyer
             $email_name = 'tc_book_to_host';
             $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{username}" => ucfirst($buyer_name), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $list['price']);
             //Send Mail
             if ($buyer_email != '0') {
                 $this->Email_model->sendMail($buyer_email, $admin_email, ucfirst($admin_name), $email_name, $splVars);
             }
         }
         $list['book_date'] = local_to_gmt();
         if ($this->session->userdata('coupon_code_used') == 1) {
             $list['coupon'] = $this->session->userdata('coupon_code');
             $this->db->where('couponcode', $list['coupon'])->update('coupon', array('status' => 1));
             $this->db->where('used_coupon_code', $list['coupon'])->update('coupon_users', array('status' => 1));
             $this->session->unset_userdata('coupon_code');
             $this->session->unset_userdata('coupon_code_used');
         } else {
             $list['coupon'] = 0;
         }
         //Actual insertion into the database
         $this->Common_model->insertData('reservation', $list);
         $reservation_id = $this->db->insert_id();
         $reservation_result = $this->Common_model->getTableData('reservation', array('id' => $reservation_id))->row();
         $currency_symbol = $this->Common_model->getTableData('currency', array('currency_code' => $reservation_result->currency))->row()->currency_symbol;
         $price = $reservation_result->currency . ' ' . $currency_symbol . $reservation_result->price;
         $host_price = $reservation_result->currency . ' ' . $currency_symbol . $reservation_result->topay;
         if ($interval->days >= 28) {
             $conversation = $this->db->where('userto', $list['userto'])->where('userby', $list['userby'])->order_by('id', 'desc')->get('messages');
             $conversation1 = $this->db->where('userto', $list['userby'])->where('userby', $list['userto'])->order_by('id', 'desc')->get('messages');
             if ($conversation->num_rows() != 0) {
                 $conversation_id = $conversation->row()->id;
             } elseif ($conversation1->num_rows() != 0) {
                 $conversation_id = $conversation1->row()->id;
             } else {
                 $conversation_id = $reservation_id . '1';
             }
             //Send Message Notification
             $insertData = array('list_id' => $list['list_id'], 'reservation_id' => $reservation_id, 'conversation_id' => $conversation_id, 'userby' => 1, 'userto' => $list['userby'], 'message' => "Your reservation is 28 days or more. So, Long Term cancellation policy applied for " . $row_list->title, 'created' => local_to_gmt(), 'message_type' => 3);
             $this->Message_model->sentMessage($insertData, $isCoversation = 0, ucfirst($buyer_name), ucfirst($username), $row_list->title, $reservation_id);
             //Send Message Notification
             $insertData = array('list_id' => $list['list_id'], 'reservation_id' => $reservation_id, 'conversation_id' => $conversation_id, 'userby' => 1, 'userto' => $list['userto'], 'message' => ucfirst($username) . " reservation is 28 days or more. So, Long Term cancellation policy applied for " . $row_list->title, 'created' => local_to_gmt(), 'message_type' => 3);
             $this->Message_model->sentMessage($insertData, ucfirst($buyer_name), ucfirst($username), $row_list->title, $reservation_id);
         }
         //Send Message Notification
         if ($instance_book == 1) {
             $insertData = array('list_id' => $list['list_id'], 'reservation_id' => $reservation_id, 'conversation_id' => $reservation_id, 'userby' => $list['userto'], 'userto' => $list['userby'], 'message' => 'Your reservation is successfully done ', 'created' => local_to_gmt(), 'message_type' => 3);
             $this->Message_model->sentMessage($insertData, $isCoversation = 0, ucfirst($username), ucfirst($buyer_name), $row_list->title, $reservation_id);
             $message_id = $this->db->insert_id();
             $insertData = array('list_id' => $list['list_id'], 'reservation_id' => $reservation_id, 'conversation_id' => $reservation_id, 'userby' => $list['userby'], 'userto' => $list['userto'], 'message' => 'You have a new reservation from ' . ucfirst($username), 'created' => local_to_gmt(), 'message_type' => 1);
         } else {
             $insertData = array('list_id' => $list['list_id'], 'reservation_id' => $reservation_id, 'userby' => $list['userby'], 'userto' => $list['userto'], 'message' => 'You have a new reservation request from ' . ucfirst($username), 'created' => local_to_gmt(), 'message_type' => 1);
         }
         $this->Message_model->sentMessage($insertData, ucfirst($buyer_name), ucfirst($username), $row_list->title, $reservation_id);
         $message_id = $this->db->insert_id();
         $actionurl = site_url('trips/request/' . $reservation_id);
         //	date_default_timezone_set('Asia/Kolkata');
         //Reservation Notification To Host
         $email_name = 'host_reservation_notification';
         $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{username}" => ucfirst($buyer_name), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A', time()), "{traveler_email_id}" => $email_id, "{checkin}" => date('m/d/Y', $list['checkin']), "{checkout}" => date('m/d/Y', $list['checkout']), "{market_price}" => $host_price, "{action_url}" => $actionurl);
         //Send Mail
         //
         if ($buyer_email != '0') {
             $this->Email_model->sendMail($buyer_email, $admin_email, ucfirst($admin_name), $email_name, $splVars);
         }
         //Reservation Notification To Traveller
         $email_name = 'traveller_reservation_notification';
         $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($username));
         //Send Mail
         $this->Email_model->sendMail($email_id, $admin_email, ucfirst($admin_name), $email_name, $splVars);
         //Reservation Notification To Administrator
         $email_name = 'admin_reservation_notification';
         $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A', time()), "{traveler_email_id}" => $email_id, "{checkin}" => date('m/d/Y', $list['checkin']), "{checkout}" => date('m/d/Y', $list['checkout']), "{market_price}" => $price, "{payed_amount}" => $list['price'], "{travel_credits}" => $user_travel_cretids, "{host_name}" => ucfirst($buyer_name), "{host_email_id}" => $buyer_email);
         //Send Mail
         $this->Email_model->sendMail($admin_email, $email_id, ucfirst($username), $email_name, $splVars);
         //	if($is_block == 'on')
         //	{
         $this->db->select_max('group_id');
         $group_id = $this->db->get('calendar')->row()->group_id;
         if (empty($group_id)) {
             echo $countJ = 0;
         } else {
             $countJ = $group_id;
         }
         $insertData1['list_id'] = $list['list_id'];
         //$insertData['reservation_id'] = $reservation_id;
         $insertData1['group_id'] = $countJ + 1;
         $insertData1['availability'] = 'Not Available';
         $insertData1['booked_using'] = 'Other';
         $checkin = date('m/d/Y', $list['checkin']);
         $checkout = date('m/d/Y', $list['checkout']);
         $days = getDaysInBetween($checkin, $checkout);
         // print_r($days);exit;
         $count = count($days);
         $i = 1;
         foreach ($days as $val) {
             if ($count == 1) {
                 $insertData1['style'] = 'single';
             } else {
                 if ($count > 1) {
                     if ($i == 1) {
                         $insertData1['style'] = 'left';
                     } else {
                         if ($count == $i) {
                             $insertData1['notes'] = '';
                             $insertData1['style'] = 'right';
                         } else {
                             $insertData1['notes'] = '';
                             $insertData1['style'] = 'both';
                         }
                     }
                 }
             }
             $insertData1['booked_days'] = $val;
             $this->Trips_model->insert_calendar($insertData1);
             $i++;
         }
         $referral_amount = $this->db->where('id', $this->dx_auth->get_user_id())->get('users')->row()->referral_amount;
         if ($referral_amount > $ref_total) {
             $this->db->set('referral_amount', $referral_amount - $ref_total)->where('id', $this->dx_auth->get_user_id())->update('users');
         }
         // else
         //{
         // $this->db->set('referral_amount',0)->where('id',$this->dx_auth->get_user_id())->update('users');
         //}
         $data['title'] = "Payment Success !";
         $data['message_element'] = "payments/paypal_success";
         $this->load->view('template', $data);
     } else {
         if ($this->session->userdata('call_back') == 'mobile') {
             $message_element = 'payments/paypal_cancel_mobile';
         } else {
             $message_element = 'payments/paypal_cancel';
         }
         $data['title'] = "Payment Cancelled !";
         $data['message_element'] = $message_element;
         $this->load->view('template', $data);
     }
 }
Ejemplo n.º 3
0
 public function decline()
 {
     $reservation_id = $this->input->post('reservation_id');
     $is_block = $this->input->post('is_block');
     $comment = $this->input->post('comment');
     $checkin = $this->input->post('checkin');
     $checkout = $this->input->post('checkout');
     $admin_email = $this->dx_auth->get_site_sadmin();
     $admin_name = $this->dx_auth->get_site_title();
     $conditions = array('reservation.id' => $reservation_id);
     $row = $this->Trips_model->get_reservation($conditions)->row();
     $query1 = $this->Users_model->get_user_by_id($row->userby);
     $traveler_name = $query1->row()->username;
     $traveler_email = $query1->row()->email;
     $query2 = $this->Users_model->get_user_by_id($row->userto);
     $host_name = $query2->row()->username;
     $host_email = $query2->row()->email;
     $list_title = $this->Common_model->getTableData('list', array('id' => $row->list_id))->row()->title;
     //for calendar
     //if($is_block == 'on')
     //{
     $this->db->select_max('group_id');
     $group_id = $this->db->get('calendar')->row()->group_id;
     if (empty($group_id)) {
         echo $countJ = 0;
     } else {
         $countJ = $group_id;
     }
     $insertData['list_id'] = $row->list_id;
     $insertData['group_id'] = $countJ + 1;
     $insertData['availability'] = 'Available';
     $insertData['booked_using'] = 'Other';
     $checkin = date('m/d/Y', $checkin);
     $checkout = date('m/d/Y', $checkout);
     $days = getDaysInBetween($checkin, $checkout);
     $count = count($days);
     $i = 1;
     foreach ($days as $val) {
         if ($count == 1) {
             $insertData['style'] = 'single';
         } else {
             if ($count > 1) {
                 if ($i == 1) {
                     $insertData['style'] = 'left';
                 } else {
                     if ($count == $i) {
                         $insertData['notes'] = '';
                         $insertData['style'] = 'right';
                     } else {
                         $insertData['notes'] = '';
                         $insertData['style'] = 'both';
                     }
                 }
             }
         }
         $insertData['booked_days'] = $val;
         $this->Trips_model->insert_calendar($insertData);
         $i++;
     }
     $this->db->where('list_id', $row->list_id)->where('availability', 'Available')->delete('calendar');
     $query = $this->db->get('calendar');
     $row1 = $query->last_row();
     if ($row1->availability == 'Not Available') {
         $this->db->where('group_id', $row1->group_id)->delete('calendar');
     }
     //}
     //Send Message Notification To Traveller
     $insertData = array('list_id' => $row->list_id, 'reservation_id' => $reservation_id, 'userby' => $row->userto, 'userto' => $row->userby, 'message' => "Sorry, Your reservation request is declined by {$host_name} for {$list_title}.", 'created' => local_to_gmt(), 'message_type' => 3);
     $this->Message_model->sentMessage($insertData, 1);
     $message_id = $this->db->insert_id();
     $updateKey = array('id' => $reservation_id);
     $updateData = array();
     $updateData['status '] = 4;
     $this->Trips_model->update_reservation($updateKey, $updateData);
     //Send Mail To Traveller
     $email_name = 'traveler_reservation_declined';
     $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($traveler_name), "{list_title}" => $list_title, "{host_name}" => ucfirst($host_name), "{comment}" => $comment);
     $this->Email_model->sendMail($traveler_email, $admin_email, ucfirst($admin_name), $email_name, $splVars);
     //Send Mail To Host
     $email_name = 'host_reservation_declined';
     $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($traveler_name), "{list_title}" => $list_title, "{host_name}" => ucfirst($host_name), "{comment}" => $comment);
     $this->Email_model->sendMail($host_email, $admin_email, ucfirst($admin_name), $email_name, $splVars);
     //Send Mail To Administrator
     $email_name = 'admin_reservation_declined';
     $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($traveler_name), "{list_title}" => $list_title, "{host_name}" => ucfirst($host_name));
     $this->Email_model->sendMail($admin_email, $admin_email, ucfirst($admin_name), $email_name, $splVars);
 }
Ejemplo n.º 4
0
 function paypal_success()
 {
     $token = $_GET['token'];
     $payer_id = $_GET['PayerID'];
     // GetExpressCheckoutDetails
     $get_ec_return = $this->paypal_ec->get_ec($token);
     if (isset($get_ec_return['ec_status']) && $get_ec_return['ec_status'] === true) {
         // at this point, you have all of the data for the transaction.
         // you may want to save the data for future action. what's left to
         // do is to collect the money -- you do that by call DoExpressCheckoutPayment
         // via $this->paypal_ec->do_ec();
         //
         // I suggest to save all of the details of the transaction. You get all that
         // in $get_ec_return array
         $ec_details = array('token' => $token, 'payer_id' => $payer_id, 'currency' => get_currency_code(), 'amount' => $get_ec_return['PAYMENTREQUEST_0_AMT'], 'IPN_URL' => site_url('payments/ipn'), 'type' => 'sale');
         // DoExpressCheckoutPayment
         $do_ec_return = $this->paypal_ec->do_ec($ec_details);
         if (isset($do_ec_return['ec_status']) && $do_ec_return['ec_status'] === true) {
             // at this point, you have collected payment from your customer
             // you may want to process the order now.
             /* echo "<h1>Thank you. We will process your order now.</h1>";
                echo "<pre>";
                echo "\nGetExpressCheckoutDetails Data\n" . print_r($get_ec_return, true);
                echo "\n\nDoExpressCheckoutPayment Data\n" . print_r($do_ec_return, true);
                echo "</pre>";exit; */
             if (isset($do_ec_return['L_SHORTMESSAGE0']) && $do_ec_return['L_SHORTMESSAGE0'] === 'Duplicate Request') {
                 redirect('home');
             }
             $custom = $this->session->userdata('custom');
             $data = array();
             $list = array();
             $data = explode('@', $custom);
             $contact_key = $data[9];
             $list['list_id'] = $data[0];
             $list['userby'] = $data[1];
             $query1 = $this->Common_model->getTableData('list', array('id' => $list['list_id']));
             $buyer_id = $query1->row()->user_id;
             $list['userto'] = $buyer_id;
             $list['checkin'] = $data[2];
             $list['checkout'] = $data[3];
             $list['no_quest'] = $data[4];
             $amt = $do_ec_return['PAYMENTINFO_0_AMT'];
             $list['price'] = $amt;
             $currency = $do_ec_return['PAYMENTINFO_0_CURRENCYCODE'];
             $list['payment_id'] = 2;
             $list['credit_type'] = 1;
             $list['transaction_id'] = 0;
             $is_travelCretids = $data[5];
             $user_travel_cretids = $data[6];
             $list['topay'] = $amt - $data[8];
             $list['currency'] = $query1->row()->currency;
             $list['admin_commission'] = $data[8];
             $list['cleaning'] = $data[10];
             $list['security'] = $data[11];
             $list['extra_guest_price'] = $data[12];
             $list['guest_count'] = $data[13];
             if ($contact_key != "None") {
                 $list['status'] = 1;
                 $this->db->select_max('group_id');
                 $group_id = $this->db->get('calendar')->row()->group_id;
                 if (empty($group_id)) {
                     echo $countJ = 0;
                 } else {
                     $countJ = $group_id;
                 }
                 $insertData['list_id'] = $list['list_id'];
                 $insertData['group_id'] = $countJ + 1;
                 $insertData['availability'] = 'Booked';
                 $insertData['booked_using'] = 'Other';
                 $checkin = date('m/d/Y', $list['checkin']);
                 $checkout = date('m/d/Y', $list['checkout']);
                 $days = getDaysInBetween($checkin, $checkout);
                 $count = count($days);
                 $i = 1;
                 foreach ($days as $val) {
                     if ($count == 1) {
                         $insertData['style'] = 'single';
                     } else {
                         if ($count > 1) {
                             if ($i == 1) {
                                 $insertData['style'] = 'left';
                             } else {
                                 if ($count == $i) {
                                     $insertData['notes'] = '';
                                     $insertData['style'] = 'right';
                                 } else {
                                     $insertData['notes'] = '';
                                     $insertData['style'] = 'both';
                                 }
                             }
                         }
                     }
                     $insertData['booked_days'] = $val;
                     $this->Trips_model->insert_calendar($insertData);
                     $i++;
                 }
             } else {
                 $list['status'] = 1;
             }
             if ($list['price'] > 75) {
                 $user_id = $list['userby'];
                 $details = $this->Referrals_model->get_details_by_Iid($user_id);
                 $row = $details->row();
                 $count = $details->num_rows();
                 if ($count > 0) {
                     $details1 = $this->Referrals_model->get_details_refamount($row->invite_from);
                     if ($details1->num_rows() == 0) {
                         $insertData = array();
                         $insertData['user_id'] = $row->invite_from;
                         $insertData['count_trip'] = 1;
                         $insertData['amount'] = 25;
                         $this->Referrals_model->insertReferralsAmount($insertData);
                     } else {
                         $count_trip = $details1->row()->count_trip;
                         $amount = $details1->row()->amount;
                         $updateKey = array('id' => $row->id);
                         $updateData = array();
                         $updateData['count_trip'] = $count_trip + 1;
                         $updateData['amount'] = $amount + 25;
                         $this->Referrals_model->updateReferralsAmount($updateKey, $updateData);
                     }
                 }
             }
             $q = $query1->result();
             $row_list = $query1->row();
             $iUser_id = $q[0]->user_id;
             $details2 = $this->Referrals_model->get_details_by_Iid($iUser_id);
             $row = $details2->row();
             $count = $details2->num_rows();
             if ($count > 0) {
                 $details3 = $this->Referrals_model->get_details_refamount($row->invite_from);
                 if ($details3->num_rows() == 0) {
                     $insertData = array();
                     $insertData['user_id'] = $row->invite_from;
                     $insertData['count_book'] = 1;
                     $insertData['amount'] = 75;
                     $this->Referrals_model->insertReferralsAmount($insertData);
                 } else {
                     $count_book = $details3->row()->count_book;
                     $amount = $details3->row()->amount;
                     $updateKey = array('id' => $row->id);
                     $updateData = array();
                     $updateData['count_trip'] = $count_book + 1;
                     $updateData['amount'] = $amount + 75;
                     $this->Referrals_model->updateReferralsAmount($updateKey, $updateData);
                 }
             }
             $admin_email = $this->dx_auth->get_site_sadmin();
             $admin_name = $this->dx_auth->get_site_title();
             $query3 = $this->Common_model->getTableData('users', array('id' => $list['userby']));
             $rows = $query3->row();
             $username = $rows->username;
             $user_id = $rows->id;
             $email_id = $rows->email;
             $query4 = $this->Users_model->get_user_by_id($buyer_id);
             $buyer_name = $query4->row()->username;
             $buyer_email = $query4->row()->email;
             //Check md5('No Travel Cretids') || md5('Yes Travel Cretids')
             if ($is_travelCretids == '7c4f08a53f4454ea2a9fdd94ad0c2eeb') {
                 $query5 = $this->Referrals_model->get_details_refamount($user_id);
                 $amount = $query5->row()->amount;
                 $updateKey = array('user_id ' => $user_id);
                 $updateData = array();
                 $updateData['amount'] = $amount - $user_travel_cretids;
                 $this->Referrals_model->updateReferralsAmount($updateKey, $updateData);
                 $list['credit_type'] = 2;
                 $list['ref_amount'] = $user_travel_cretids;
                 $row = $query4->row();
                 //sent mail to administrator
                 $email_name = 'tc_book_to_admin';
                 $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $user_travel_cretids + $list['price'], "{payed_amount}" => $list['price'], "{travel_credits}" => $user_travel_cretids, "{host_name}" => ucfirst($buyer_name), "{host_email_id}" => $buyer_email);
                 //Send Mail
                 $this->Email_model->sendMail($admin_email, $email_id, ucfirst($username), $email_name, $splVars);
                 //sent mail to buyer
                 $email_name = 'tc_book_to_host';
                 $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{username}" => ucfirst($buyer_name), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $list['price']);
                 //Send Mail
                 if ($buyer_email != '0') {
                     $this->Email_model->sendMail($buyer_email, $admin_email, ucfirst($admin_name), $email_name, $splVars);
                 }
             }
             $list['book_date'] = local_to_gmt();
             //Actual insertion into the database
             $this->Common_model->insertData('reservation', $list);
             $reservation_id = $this->db->insert_id();
             $conversation_result = $this->db->select('conversation_id')->order_by('conversation_id', 'desc')->limit(1)->get('messages');
             if ($conversation_result->num_rows() == 0) {
                 $conversation_id = 1;
             } else {
                 $conversation_id = $conversation_result->row()->conversation_id + 1;
             }
             //Send Message Notification
             $insertData = array('list_id' => $list['list_id'], 'reservation_id' => $reservation_id, 'conversation_id' => $conversation_id, 'userby' => $list['userby'], 'userto' => $list['userto'], 'message' => 'You have a new reservation request from ' . ucfirst($username), 'created' => local_to_gmt(), 'message_type' => 1);
             $this->Message_model->sentMessage($insertData, ucfirst($buyer_name), ucfirst($username), $row_list->title, $reservation_id);
             $message_id = $this->db->insert_id();
             $actionurl = site_url('trips/request/' . $reservation_id);
             //Reservation Notification To Host
             $email_name = 'host_reservation_notification';
             $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{username}" => ucfirst($buyer_name), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $list['price'], "{action_url}" => $actionurl);
             //Send Mail
             //
             if ($buyer_email != '0') {
                 $this->Email_model->sendMail($buyer_email, $admin_email, ucfirst($admin_name), $email_name, $splVars);
             }
             //Reservation Notification To Traveller
             $email_name = 'traveller_reservation_notification';
             $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($username));
             //Send Mail
             $this->Email_model->sendMail($email_id, $admin_email, ucfirst($admin_name), $email_name, $splVars);
             //Reservation Notification To Administrator
             $email_name = 'admin_reservation_notification';
             $splVars = array("{site_name}" => $this->dx_auth->get_site_title(), "{traveler_name}" => ucfirst($username), "{list_title}" => $row_list->title, "{book_date}" => date('m/d/Y'), "{book_time}" => date('g:i A'), "{traveler_email_id}" => $email_id, "{checkin}" => date('d-m-Y', $list['checkin']), "{checkout}" => date('d-m-Y', $list['checkout']), "{market_price}" => $user_travel_cretids + $list['price'], "{payed_amount}" => $list['price'], "{travel_credits}" => $user_travel_cretids, "{host_name}" => ucfirst($buyer_name), "{host_email_id}" => $buyer_email);
             //Send Mail
             $this->Email_model->sendMail($admin_email, $email_id, ucfirst($username), $email_name, $splVars);
             //	if($is_block == 'on')
             //	{
             $this->db->select_max('group_id');
             $group_id = $this->db->get('calendar')->row()->group_id;
             if (empty($group_id)) {
                 echo $countJ = 0;
             } else {
                 $countJ = $group_id;
             }
             $insertData1['list_id'] = $list['list_id'];
             //$insertData['reservation_id'] = $reservation_id;
             $insertData1['group_id'] = $countJ + 1;
             $insertData1['availability'] = 'Not Available';
             $insertData1['booked_using'] = 'Other';
             $checkin = date('m/d/Y', $list['checkin']);
             $checkout = date('m/d/Y', $list['checkout']);
             $days = getDaysInBetween($checkin, $checkout);
             $count = count($days);
             $i = 1;
             foreach ($days as $val) {
                 if ($count == 1) {
                     $insertData1['style'] = 'single';
                 } else {
                     if ($count > 1) {
                         if ($i == 1) {
                             $insertData1['style'] = 'left';
                         } else {
                             if ($count == $i) {
                                 $insertData1['notes'] = '';
                                 $insertData1['style'] = 'right';
                             } else {
                                 $insertData1['notes'] = '';
                                 $insertData1['style'] = 'both';
                             }
                         }
                     }
                 }
                 $insertData1['booked_days'] = $val;
                 $this->Trips_model->insert_calendar($insertData1);
                 $i++;
             }
             $referral_amount = $this->db->where('id', $this->dx_auth->get_user_id())->get('users')->row()->referral_amount;
             if ($referral_amount > 100) {
                 $this->db->set('referral_amount', $referral_amount - 100)->where('id', $this->dx_auth->get_user_id())->update('users');
             } else {
                 $this->db->set('referral_amount', 0)->where('id', $this->dx_auth->get_user_id())->update('users');
             }
             $data['title'] = "Payment Success !";
             $data['message_element'] = "payments/paypal_success";
             $this->load->view('template', $data);
         } else {
             $this->_error($do_ec_return);
         }
     } else {
         $this->_error($get_ec_return);
     }
 }