Commit c5265aab by Tobin

dc

parent 205dcb7e
......@@ -87,7 +87,6 @@ class Webservice extends CI_Controller {
}
public function get_events_list() {
$data = $_GET;
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->discover($data);
......@@ -98,7 +97,6 @@ class Webservice extends CI_Controller {
}else{
$this->errorResponse($res['code'],$res['message']);
}
}
public function events_details($event_id = null) {
......@@ -218,7 +216,6 @@ class Webservice extends CI_Controller {
else{
$this->errorResponse($res['code'],$res['message']);
}
}
public function payment(){
......
......@@ -256,10 +256,12 @@ class Webservice_model extends CI_Model {
INNER JOIN region ON customer.city=region.id
WHERE customer.customer_id='$user_id' AND region.status='1'";
$cityName = $this->db->query($sql)->row_array();
$cityName['city'] = 'null';
if(!empty($cityName)){
$regData = langTranslator($cityName['id'],'REG','EN');
$regData = langTranslator($cityName['id'],'REG',$lang);
$cityName['city'] = $regData['region_name'];
} else {
$cityName['city'] = 'null';
}
if(isset($data['category_id'])) {
......@@ -392,14 +394,9 @@ class Webservice_model extends CI_Model {
$page = (isset($data['page']))?$data['page']:1;
$page_limit = ($page - 1)*$per_page;
if($lang == 'ar') {
$cat_field = 'event_category.category_ar';
} else {
$cat_field = 'event_category.category_en';
}
if($count > $page_limit) {
$result = $this->db->query("
SELECT events.seat_pricing,events.custom_seat_layout,venue.location_lat AS latitude,venue.location_lng AS longitude,venue.layout,venue.layout_details,events.event_id AS event_id, events.event_name AS name,events.event_name_ar AS name_ar,`event_gallery`.`media_url` AS image, (SELECT SUM(booking.no_of_ticket) FROM booking WHERE booking.event_id = events.event_id AND booking.status IN (1,2)) AS attendees, $cat_field AS category, CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rating, venue.venue_name, venue.location, IF(events.avg_price = 0, '100','150') AS rate, IF(events.provider_id = 1,'true','false') AS is_editors_choice, IF(favourite.is_favorite = 1, 'true','false') AS is_favorite, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time
SELECT events.seat_pricing,events.custom_seat_layout,event_category.cat_id,venue.id AS venue_id,venue.location_lat AS latitude,venue.location_lng AS longitude,venue.layout,venue.layout_details,events.event_id AS event_id,event_gallery.media_url AS image, (SELECT SUM(booking.no_of_ticket) FROM booking WHERE booking.event_id = events.event_id AND booking.status IN (1,2)) AS attendees,CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rating,venue.location, IF(events.avg_price = 0, '100','150') AS rate, IF(events.provider_id = 1,'true','false') AS is_editors_choice, IF(favourite.is_favorite = 1, 'true','false') AS is_favorite, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time
FROM events
INNER JOIN venue ON venue.id = events.venue_id
INNER JOIN event_date_time ON events.event_id = event_date_time.event_id
......@@ -439,15 +436,27 @@ class Webservice_model extends CI_Model {
$pricelist = json_decode($rs->seat_pricing, TRUE);
$price = $pricelist['price'];
}
$transData = array('event'=>'','category'=>'','venue'=>'');
if(!empty($lanTrans = langTranslator($rs->event_id,'EVT',$lang))){
$transData['event'] = $lanTrans['event_name'];
}
if(!empty($lanTrans = langTranslator($rs->cat_id,'CAT',$lang))){
$transData['category'] = $lanTrans['category_name'];
}
if(!empty($lanTrans = langTranslator($rs->venue_id,'VEN',$lang))){
$transData['venue'] = $lanTrans['venue_name'];
}
$resData = array(
'id' => "$key",
'event_id'=>$rs->event_id,
'image'=>$rs->image,
'attendees'=>(!empty($rs->attendees))?$rs->attendees:'0',
'category'=>$rs->category,
'name'=>($lang == 'en')?$rs->name:$rs->name_ar,
'category'=>$transData['category'],
'name'=>$transData['event'],
'rating'=>(!empty($rs->rating))?$rs->rating:'0',
'location'=>$rs->venue_name.', '.$rs->location,
'location'=>$transData['venue'].', '.$rs->location,
'rate'=>$price,
'is_editors_choice'=>$rs->is_editors_choice,
'is_favorite'=>$rs->is_favorite === 'true'? true: false,
......@@ -1051,26 +1060,69 @@ class Webservice_model extends CI_Model {
$post_data = $data;
$post_data['customer_id'] = $user_id;
$post_data['ticket_details'] = json_encode($post_data['ticket_details']);
$post_data['status'] = (isset($post_data['has_payment']) && $post_data['has_payment'] == 0)?'1':'3';
unset($post_data['auth_token'],$post_data['has_payment']);
$post_data['status'] = '3';
if(isset($post_data['has_payment']) && $post_data['has_payment'] == 0){
$post_data['status'] = '1';
}
if(isset($post_data['promo_code']) && !empty($post_data['promo_code']) &&
isset($post_data['discounted_price']) && !empty($post_data['discounted_price'])){
$promoData = $this->db->get_where('promocode_management',array('status'=>'1',
'promocode_name'=>$post_data['promo_code']))->row_array();
$promo_id = $promoData['promocode_id'];
$redeem_amount = $post_data['amount']-$post_data['discounted_price'];
$post_data['amount'] = $redeem_amount;
$this->db->insert('promocode_used',
array('user_id'=>$user_id,'event_id'=>$post_data['event_id'],
'promocode_id'=>$promo_id,'redeem_amount'=>$redeem_amount,
'created_date'=>date('Y-m-d H:i:s')));
}
$invite_ids = (isset($post_data['friends_ids']))?$post_data['friends_ids']:'';
$invite_phone = (isset($post_data['invite_list']))?$post_data['invite_list']:'';
unset($post_data['auth_token'],$post_data['has_payment'],$post_data['friends_ids'],
$post_data['promo_code'],$post_data['discounted_price'],$post_data['invite_list']);
$code = 'TO';
$ymd = date('ymd');
$squence = rand(1111,9999);
$squence = str_pad($squence,4,0,STR_PAD_LEFT);
$post_data['bookId'] = $code.$ymd.$squence;
$book_id = $code.$ymd.$squence;
$post_data['bookId'] = $book_id;
$post_data['qrcode'] = genQRcode($post_data['bookId']);
$post_data['booking_date'] = date('Y-m-d H:i:s');
$rs = $this->db->insert('booking', $post_data);
$id = $this->db->insert_id();
if($id){
$res = array('status'=>1,'data'=>array('bookingCode'=>$post_data['bookId']));
$insertArr = array();
$inStatus = ($post_data['status'] == 1)?'1':'0';
if(!empty($invite_ids)){
foreach($invite_ids AS $userId) {
$insertArr[] = array('book_id'=>$book_id,'phone'=>'',
'user_id'=>$userId,'status'=>$inStatus);
}
}
if(!empty($invite_phone)){
foreach($invite_phone AS $key => $phone) {
$phone = preg_replace('/\D/','',$phone);
$insertArr[] = array('book_id'=>$book_id,'user_id'=>'',
'phone'=>$phone,'status'=>$inStatus);
}
}
if(!empty($insertArr)){
$this->db->insert_batch('event_invites',$insertArr);
}
if($post_data['status'] == 1){
$bkData = $this->db->query("
SELECT EVT.event_name,CUST.name,CUST.email,CUST.phone,
CONCAT(EDATE.date,' ',EDATE.time) AS show_time
FROM booking AS BK
INNER JOIN events AS EVT ON (EVT.event_id=BK.event_id)
INNER JOIN events_bak AS EVT ON (EVT.event_id=BK.event_id)
INNER JOIN customer AS CUST ON (CUST.customer_id=BK.customer_id)
INNER JOIN event_date_time AS EDATE ON (EDATE.id=BK.event_date_id)
WHERE BK.bookId='".$post_data['bookId']."' AND EVT.status='1' AND
......@@ -1099,6 +1151,20 @@ class Webservice_model extends CI_Model {
$template['booking_sms']);
}
$this->sendSMS($bkData['phone'],$msgContent);
$msg = "Hi, You are invited for the event '".$bkData['event_name']."', and show is on '".$showTime."'. Booking ID ".$post_data['bookId'];
if(!empty($invite_ids)){
foreach($invite_ids AS $userId) {
$usrData = $this->db->get_where('customer',
array('customer_id'=>$userId))->row_array();
$this->sendSMS($usrData['phone'],$msg);
}
}
if(!empty($invite_phone)){
foreach($invite_phone AS $key => $phone) {
$this->sendSMS($phone,$msg);
}
}
}
} else {
$res = array('status'=>0,'message'=>'Seat booking failed','code'=>'ER37');
......@@ -1113,7 +1179,6 @@ class Webservice_model extends CI_Model {
}
function generateQR($data) {
return 'https://www.barcodefaq.com/wp-content/uploads/2018/08/gs1-qrcode-fnc1.png';
}
......@@ -1873,9 +1938,14 @@ class Webservice_model extends CI_Model {
}
public function getCountryData($user_id){
$ctryData = $this->db->query("SELECT CTRY.* FROM customer AS CUST
$ctryData = '';
if(!empty($user_id)){
$sql = "SELECT CTRY.* FROM customer AS CUST
INNER JOIN country AS CTRY ON (CTRY.country_id=CUST.country_id)
WHERE CUST.customer_id='$user_id'")->row_array();
WHERE CUST.customer_id='$user_id'";
$ctryData = $this->db->query($sql)->row_array();
}
if(empty($ctryData)){
$ctryData = $this->db->query("SELECT * FROM country WHERE language_code='EN'")->row_array();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment