Commit 3280636f by Tobin

dc

parent b2eeb1bb
...@@ -359,7 +359,9 @@ ...@@ -359,7 +359,9 @@
function getLanguages(){ function getLanguages(){
$thisObj = & get_instance(); $thisObj = & get_instance();
$sql = "SELECT language_code FROM country GROUP BY language_code $sql = "SELECT language_code FROM country
WHERE status='1'
GROUP BY language_code
ORDER BY CASE WHEN language_code LIKE 'EN' THEN 0 ELSE 1 END, language_code ASC"; ORDER BY CASE WHEN language_code LIKE 'EN' THEN 0 ELSE 1 END, language_code ASC";
$langData = $thisObj->db->query($sql); $langData = $thisObj->db->query($sql);
......
...@@ -181,9 +181,16 @@ class Api_model extends CI_Model { ...@@ -181,9 +181,16 @@ class Api_model extends CI_Model {
function popular() { function popular() {
try { try {
$rs = $this->db->select('id AS city_id,name_en,name_ar')->where('status',1)->get('region')->result(); $rs = $this->db->get_where('region',array('status'=>'1'))->result_array();
if(count($rs) > 0) { if(count($rs) > 0) {
$res = array('status'=>1,'data'=>$rs); $cityData = array();
foreach ($rs AS $city) {
$cData = langTranslator($city['id'],'REG');
$cData['city_id'] = $city['id'];
$cData['city_image'] = $city['region_icon'];
$cityData[] = $cData;
}
$res = array('status'=>1,'data'=>$cityData);
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
...@@ -196,11 +203,18 @@ class Api_model extends CI_Model { ...@@ -196,11 +203,18 @@ class Api_model extends CI_Model {
function category() { function category() {
try { try {
$rs = $this->db->select('cat_id,category_en,category_ar,category_description, $sql = "SELECT * FROM event_category WHERE status='1' ORDER BY priority";
category_image_en,category_image_ar,category_banner') $rs = $this->db->query($sql)->result_array();
->where('status',1)->order_by('priority')->get('event_category')->result();
if(count($rs) > 0) { if(count($rs) > 0) {
$res = array('status'=>1,'data'=>$rs); $catData = array();
foreach ($rs AS $cat) {
$cData = langTranslator($cat['cat_id'],'CAT');
$cData['cat_id'] = $cat['cat_id'];
$cData['category_banner'] = $cat['category_banner'];
$catData[] = $cData;
}
$res = array('status'=>1,'data'=>$catData);
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
...@@ -236,11 +250,16 @@ class Api_model extends CI_Model { ...@@ -236,11 +250,16 @@ class Api_model extends CI_Model {
if(!empty($city_id)){ if(!empty($city_id)){
$cond['region_id'] = $city_id; $cond['region_id'] = $city_id;
} }
$rs = $this->db->select('id,region_id')->get_where('locality',$cond)->result_array();
$rs = $this->db->select('id AS locality_id,region_id,locality_en,locality_ar')
->get_where('locality',$cond)->result();
if(count($rs) > 0) { if(count($rs) > 0) {
$res = array('status'=>1,'data'=>$rs); $locData = array();
foreach ($rs AS $loc) {
$lData = langTranslator($loc['id'],'LOC');
$lData['locality_id'] = $loc['id'];
$lData['region_id'] = $loc['region_id'];
$locData[] = $lData;
}
$res = array('status'=>1,'data'=>$locData);
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
...@@ -350,26 +369,46 @@ class Api_model extends CI_Model { ...@@ -350,26 +369,46 @@ class Api_model extends CI_Model {
$per_page = 10; $per_page = 10;
$user_id = $this->auth_token_get($data['auth_token']); $user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) { if($user_id > 0) {
$count = $this->db->select('booking.id AS book_id,booking.event_id,booking.bookId AS bookingCode,booking.qrcode,booking.no_of_ticket,booking.amount,booking.status AS book_status,events.event_name_en,events.event_name_ar,events.event_description_en,events.event_description_ar,event_gallery.media_url,venue.location,event_date_time.date AS event_date,event_date_time.time AS event_time')->where('customer_id',$user_id)->where_in('booking.status',array(0,1,2))->from('booking')->join('events','booking.event_id = events.event_id')->join('event_date_time','booking.event_date_id = event_date_time.id')->join('venue', 'venue.id = events.venue_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->group_by('booking.id')->get()->num_rows(); $sql = "SELECT id FROM booking
WHERE customer_id='$user_id' AND status IN (0,1,2)
GROUP BY booking.id";
$count = $this->db->query($sql)->num_rows();
if($count > 0) { if($count > 0) {
$page = 1;
if(isset($data['page'])) { if(isset($data['page'])) {
$page = $data['page']; $page = $data['page'];
} else {
$page = 1;
} }
$page_limit = ($page - 1) * $per_page; $page_limit = ($page - 1) * $per_page;
if($count > $page_limit) { if($count > $page_limit) {
$result = $this->db->select('booking.id AS book_id,booking.event_id,booking.bookId AS bookingCode,booking.qrcode,booking.no_of_ticket,booking.amount,booking.status AS book_status,events.event_name_en,events.event_name_ar,events.event_description_en,events.event_description_ar,event_gallery.media_url,venue.location,event_date_time.date AS event_date,event_date_time.time AS event_time')->where('customer_id',$user_id)->where_in('booking.status',array(0,1,2))->from('booking')->join('events','booking.event_id = events.event_id')->join('event_date_time','booking.event_date_id = event_date_time.id')->join('venue', 'venue.id = events.venue_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->group_by('booking.id')->order_by('booking.id','DESC')->limit($per_page,$page_limit)->get()->result(); $sql = "SELECT booking.id AS book_id,booking.event_id,booking.bookId AS bookingCode,
booking.qrcode,booking.no_of_ticket,booking.amount,venue.location,
booking.status AS book_status,event_gallery.media_url,
venue.id AS venue_id,event_date_time.date AS event_date,
event_date_time.time AS event_time
FROM booking
JOIN events ON booking.event_id=events.event_id
JOIN event_date_time ON booking.event_date_id=event_date_time.id
JOIN venue ON venue.id=events.venue_id
LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id AND
event_gallery.media_type=0
WHERE customer_id='$user_id' AND booking.status IN(0,1,2)
GROUP BY booking.id ORDER BY booking.id DESC LIMIT 10";
$result = $this->db->query($sql)->result_array();
if(!empty($result)){
foreach ($result AS $key => $data) {
$eData = langTranslator($data['event_id'],'EVT');
$result[$key] = array_merge($result[$key],$eData);
$vData = langTranslator($data['venue_id'],'VEN');
$result[$key] = array_merge($result[$key],$vData);
}
}
$meta = array('total_pages'=>ceil($count/$per_page),'total'=>$count,
'current_page'=>$page,'per_page'=>$per_page);
$meta = array('total_pages'=>ceil($count/$per_page),
'total'=>$count,
'current_page'=>$page,
'per_page'=>$per_page
);
$response = array('data'=>$result,'meta'=>$meta); $response = array('data'=>$result,'meta'=>$meta);
$res = array('status'=>1,'data'=>$response); $res = array('status'=>1,'data'=>$response);
} else { } else {
...@@ -438,23 +477,27 @@ class Api_model extends CI_Model { ...@@ -438,23 +477,27 @@ class Api_model extends CI_Model {
if($user_id > 0) { if($user_id > 0) {
$res_count=$this->db->where('bookId',$data['bookingCode'])->get('booking')->num_rows(); $res_count=$this->db->where('bookId',$data['bookingCode'])->get('booking')->num_rows();
if($res_count > 0) { if($res_count > 0) {
$result = $this->db-> $sql = "SELECT booking.id AS book_id,booking.event_id,booking.bookId AS bookingCode,
select('booking.id AS book_id,booking.event_id,booking.bookId AS bookingCode, booking.qrcode,booking.no_of_ticket,booking.amount,venue.id AS venue_id,
booking.qrcode,booking.no_of_ticket,booking.amount, booking.status AS book_status,event_gallery.media_url,venue.location,
booking.status AS book_status,events.event_name_en,events.event_name_ar, customer.name AS customer_name,customer.profile_image,
events.event_description_en,events.event_description_ar,event_gallery.media_url,venue.location, booking.ticket_details,event_date_time.time,event_date_time.date,
customer.name AS customer_name,customer.profile_image,venue.venue_name_en, venue.location_lat AS lat,venue.location_lng AS lng
venue.venue_name_ar,venue.location_lat AS lat,booking.ticket_details, FROM booking
venue.location_lng AS lng,event_date_time.date,event_date_time.time')-> JOIN events ON booking.event_id=events.event_id
where('booking.bookId',$data['bookingCode'])-> JOIN event_date_time ON booking.event_date_id=event_date_time.id
from('booking')-> JOIN venue ON venue.id=events.venue_id
join('events','booking.event_id = events.event_id')-> LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id
join('event_date_time','booking.event_date_id = event_date_time.id')-> JOIN customer ON customer.customer_id=booking.customer_id
join('venue', 'venue.id = events.venue_id')-> WHERE booking.bookId='".$data['bookingCode']."'";
join('event_gallery', 'events.event_id = event_gallery.event_id', 'LEFT')-> $result = $this->db->query($sql)->row_array();
join('customer','customer.customer_id = booking.customer_id')->get()->row();
if(count($result)>0){ if(count($result)>0){
$eData = langTranslator($result['event_id'],'EVT');
$result = array_merge($result,$eData);
$vData = langTranslator($result['venue_id'],'VEN');
$result = array_merge($result,$vData);
$res = array('status'=>1,'data'=>$result); $res = array('status'=>1,'data'=>$result);
} else { } else {
$res = array('status'=>0,'message'=>'Invalid booking code','code'=>'ER24'); $res = array('status'=>0,'message'=>'Invalid booking code','code'=>'ER24');
...@@ -531,6 +574,8 @@ class Api_model extends CI_Model { ...@@ -531,6 +574,8 @@ class Api_model extends CI_Model {
imagecopyresampled($bagSrc,$imgSrc,$iWidth,$bagH,0,0,$iWidth,$iHeight,$imgW,$imgH); imagecopyresampled($bagSrc,$imgSrc,$iWidth,$bagH,0,0,$iWidth,$iHeight,$imgW,$imgH);
imagepng($bagSrc,$imgPath); imagepng($bagSrc,$imgPath);
imagealphablending($imgPath, false);
imagesavealpha($imgPath, true);
genQRcode(encode_param($user_id),$imgQRPath,$imgPath); genQRcode(encode_param($user_id),$imgQRPath,$imgPath);
...@@ -600,25 +645,25 @@ class Api_model extends CI_Model { ...@@ -600,25 +645,25 @@ class Api_model extends CI_Model {
$post_data['booking_date'] = date('Y-m-d H:i:s'); $post_data['booking_date'] = date('Y-m-d H:i:s');
$rs = $this->db->insert('booking', $post_data); $rs = $this->db->insert('booking', $post_data);
if($rs){ if($rs){
$res = array('status'=>1, $res = array('status'=>1,'data'=>array('user_id'=>$user_id,
'data'=>array('user_id'=>$user_id,
'bookingCode'=>$post_data['bookId'])); 'bookingCode'=>$post_data['bookId']));
if($status == 1){ if($status == 1){
$bkData = $this->db->query(" $sql = "SELECT TEVT.event_name,CUST.name,CUST.email,CUST.phone,
SELECT EVT.event_name_en,CUST.name,CUST.email,CUST.phone,
CONCAT(EDATE.date,' ',EDATE.time) AS show_time CONCAT(EDATE.date,' ',EDATE.time) AS show_time
FROM booking AS BK FROM booking AS BK
INNER JOIN events AS EVT ON (EVT.event_id=BK.event_id) INNER JOIN events AS EVT ON (EVT.event_id=BK.event_id)
INNER JOIN customer AS CUST ON (CUST.customer_id=BK.customer_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) 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 INNER JOIN translator_event AS TEVT ON (TEVT.event_id=EVT.event_id)
BK.status='1' AND EDATE.status='1'")->row_array(); WHERE EVT.status='1' AND BK.status='1' AND EDATE.status='1' AND
TEVT.language_code='EN' AND BK.bookId='".$post_data['bookId']."'";
$bkData = $this->db->query($sql)->row_array();
$subject = "Your Tickets - TimeOut"; $subject = "Your Tickets - TimeOut";
$showTime = date("d'S F Y - h:i, (l)",strtotime($bkData['show_time'])); $showTime = date("d'S F Y - h:i, (l)",strtotime($bkData['show_time']));
$msgContent = "Hi, Your booking is confirmed for the event '". $msgContent = "Hi, Your booking is confirmed for the event '".
$bkData['event_name_en']."' and show is on '".$showTime."'. $bkData['event_name']."' and show is on '".$showTime."'.
Booking ID ".$post_data['bookId']; Booking ID ".$post_data['bookId'];
$message = "<html><body><p>".$msgContent."</p></body></html>"; $message = "<html><body><p>".$msgContent."</p></body></html>";
...@@ -626,7 +671,7 @@ class Api_model extends CI_Model { ...@@ -626,7 +671,7 @@ class Api_model extends CI_Model {
if(isset($template['booking_mail']) && !empty($template['booking_mail'])){ if(isset($template['booking_mail']) && !empty($template['booking_mail'])){
$msgContent = str_replace( $msgContent = str_replace(
array('{:event_name}','{:booking_id}','{:time}'), array('{:event_name}','{:booking_id}','{:time}'),
array($bkData['event_name_en'],$post_data['bookId'],$showTime), array($bkData['event_name'],$post_data['bookId'],$showTime),
$template['booking_mail']); $template['booking_mail']);
} }
$this->send_mail($subject,$bkData['email'],$message); $this->send_mail($subject,$bkData['email'],$message);
...@@ -634,7 +679,7 @@ class Api_model extends CI_Model { ...@@ -634,7 +679,7 @@ class Api_model extends CI_Model {
if(isset($template['booking_sms']) && !empty($template['booking_sms'])){ if(isset($template['booking_sms']) && !empty($template['booking_sms'])){
$msgContent = str_replace( $msgContent = str_replace(
array('{:event_name}','{:booking_id}','{:time}'), array('{:event_name}','{:booking_id}','{:time}'),
array($bkData['event_name_en'],$post_data['bookId'],$showTime), array($bkData['event_name'],$post_data['bookId'],$showTime),
$template['booking_sms']); $template['booking_sms']);
} }
$this->sendSMS($bkData['phone'],$msgContent); $this->sendSMS($bkData['phone'],$msgContent);
...@@ -664,6 +709,12 @@ class Api_model extends CI_Model { ...@@ -664,6 +709,12 @@ class Api_model extends CI_Model {
if(isset($data['city_id']) && !empty($data['city_id'])){ if(isset($data['city_id']) && !empty($data['city_id'])){
$locCond = " AND venue.region_id='".$data['city_id']."'"; $locCond = " AND venue.region_id='".$data['city_id']."'";
} }
$languages = getLanguages();
$tagDummy = array();
foreach ($languages AS $lang) {
$tagDummy['tag_'.$lang] = array();
}
if($user_id > 0) { if($user_id > 0) {
$count = $this->db->query(" $count = $this->db->query("
SELECT events.event_id SELECT events.event_id
...@@ -685,19 +736,25 @@ class Api_model extends CI_Model { ...@@ -685,19 +736,25 @@ class Api_model extends CI_Model {
if($count > $page_limit) { if($count > $page_limit) {
$this->db->query("SET SESSION group_concat_max_len = 20000"); $this->db->query("SET SESSION group_concat_max_len = 20000");
$result = $this->db->query("SELECT events.event_id, events.event_name_en,events.event_name_ar,events.event_description_en,venue.location,venue.venue_name_en,venue.venue_name_ar, events.event_description_ar,events.seat_pricing, events.custom_seat_layout, venue.layout, venue.layout_details,`event_gallery`.`media_url`,favourite.status AS fav_status, GROUP_CONCAT(DISTINCT tags.tag_name_en) AS tag_en,GROUP_CONCAT(DISTINCT tags.tag_name_ar) AS tag_ar, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time $sql = "SELECT events.event_id,venue.location,events.seat_pricing,venue.id AS venue_id,
events.custom_seat_layout,venue.layout,venue.layout_details,
event_gallery.media_url,favourite.status AS fav_status,
GROUP_CONCAT(DISTINCT event_tags.tag_id) AS tag_ids,
GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time
FROM events FROM events
INNER JOIN event_date_time ON events.event_id = event_date_time.event_id INNER JOIN event_date_time ON events.event_id = event_date_time.event_id
INNER JOIN venue ON venue.id = events.venue_id INNER JOIN venue ON venue.id = events.venue_id
LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`media_type` = 0 LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id AND
LEFT JOIN booking on booking.event_id = events.event_id event_gallery.media_type=0
LEFT JOIN favourite ON favourite.event_id = events.event_id AND favourite.user_id = ".$user_id." AND favourite.status = 1 LEFT JOIN booking ON booking.event_id = events.event_id
LEFT JOIN favourite ON favourite.event_id = events.event_id AND
favourite.user_id = '$user_id' AND favourite.status = 1
LEFT JOIN event_tags ON events.event_id = event_tags.event_id LEFT JOIN event_tags ON events.event_id = event_tags.event_id
LEFT JOIN tags on tags.tag_id = event_tags.tag_id
WHERE events.status = 1 AND WHERE events.status = 1 AND
event_date_time.date>=DATE_FORMAT(NOW(),'%Y-%m-%d') $locCond event_date_time.date>=DATE_FORMAT(NOW(),'%Y-%m-%d') $locCond
GROUP BY events.event_id GROUP BY events.event_id
LIMIT ".$page_limit.",".$per_page)->result(); LIMIT $page_limit,$per_page";
$result = $this->db->query($sql)->result();
if(count($result)>0){ if(count($result)>0){
$resultData = array(); $resultData = array();
...@@ -743,25 +800,38 @@ class Api_model extends CI_Model { ...@@ -743,25 +800,38 @@ class Api_model extends CI_Model {
$price = $pricelist['price']; $price = $pricelist['price'];
} }
$tags_en = !empty($rs->tag_en) ? explode(',', $rs->tag_en) : ''; $tagArr = array();
$tags_ar = !empty($rs->tag_ar) ? explode(',', $rs->tag_ar) : ''; $resData = array();
$resData = array(
'event_name_en'=>$rs->event_name_en, $resData['rate'] = $rate;
'event_name_ar'=>$rs->event_name_ar, $resData['price'] = $price;
'event_description_en'=>$rs->event_description_en, $resData['event_id'] = $rs->event_id;
'event_description_ar'=>$rs->event_description_ar, $resData['attendees'] = $atte;
'venue_name_en'=>$rs->venue_name_en, $resData['media_url'] = $rs->media_url;
'venue_name_ar'=>$rs->venue_name_ar, $resData['fav_status'] = $rs->fav_status;
'venue_location'=>$rs->location, $resData['venue_location'] = $rs->location;
'media_url'=>$rs->media_url,
'fav_status'=>$rs->fav_status, $evtData = langTranslator($rs->event_id,'EVT');
'price'=>$price, $resData = array_merge($resData,$evtData);
'event_id'=>$rs->event_id,
'attendees'=>$atte, $venData = langTranslator($rs->venue_id,'VEN');
'rate'=>$rate, $resData = array_merge($resData,$venData);
'tag_en'=>$tags_en,
'tag_ar'=>$tags_ar if(!empty($rs->tag_ids) && !empty($tag_ids = explode(',',$rs->tag_ids))){
); foreach ($tag_ids AS $key => $id) {
$tags = langTranslator($id,'TAG');
foreach ($tags AS $key => $id) {
if(isset($tagArr[$key])){
$tagArr[$key][] = $id;
} else {
$tagArr[$key] = array($id);
}
}
}
} else {
$tagArr = $tagDummy;
}
$resData = array_merge($resData,$tagArr);
array_push($resultData, $resData); array_push($resultData, $resData);
} }
...@@ -797,7 +867,18 @@ class Api_model extends CI_Model { ...@@ -797,7 +867,18 @@ class Api_model extends CI_Model {
$city_id = $data['city']; $city_id = $data['city'];
$category = $this->db->where('cat_id',$cat_id)->get('event_category')->row(); $category = $this->db->where('cat_id',$cat_id)->get('event_category')->row();
$this->db->query("SET SESSION group_concat_max_len = 20000"); $this->db->query("SET SESSION group_concat_max_len = 20000");
$result = $this->db->query("SELECT events.event_id, events.event_name_en,events.event_name_ar,events.event_description_en,events.event_description_ar,events.seat_pricing, events.custom_seat_layout, venue.layout, venue.layout_details,`event_gallery`.`media_url`, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d') INNER JOIN venue ON venue.id = events.venue_id LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`media_type` = 0 WHERE events.status = 1 AND events.category_id = ".$cat_id." AND venue.region_id = ".$city_id." GROUP BY events.event_id")->result(); $sql = "SELECT events.event_id,events.seat_pricing,events.custom_seat_layout,venue.layout,
venue.layout_details,event_gallery.media_url,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 AND
event_date_time.date>=DATE_FORMAT(NOW(),'%Y-%m-%d')
LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id AND
event_gallery.media_type=0
WHERE events.status=1 AND events.category_id='$cat_id' AND venue.region_id='$city_id'
GROUP BY events.event_id";
$result = $this->db->query($sql)->result();
if(count($result)>0){ if(count($result)>0){
$resultData = array(); $resultData = array();
foreach ($result as $rs) { foreach ($result as $rs) {
...@@ -829,16 +910,10 @@ class Api_model extends CI_Model { ...@@ -829,16 +910,10 @@ class Api_model extends CI_Model {
$pricelist = json_decode($rs->seat_pricing, TRUE); $pricelist = json_decode($rs->seat_pricing, TRUE);
$price = $pricelist['price']; $price = $pricelist['price'];
} }
$resData = langTranslator($rs->event_id,'EVT');
$resData = array( $resData['price'] = $price;
'event_name_en'=>$rs->event_name_en, $resData['event_id'] = $rs->event_id;
'event_name_ar'=>$rs->event_name_ar, $resData['media_url'] = $rs->media_url;
'event_description_en'=>$rs->event_description_en,
'event_description_ar'=>$rs->event_description_ar,
'media_url'=>$rs->media_url,
'price'=>$price,
'event_id'=>$rs->event_id
);
array_push($resultData, $resData); array_push($resultData, $resData);
} }
$category->data = $resultData; $category->data = $resultData;
...@@ -859,6 +934,13 @@ class Api_model extends CI_Model { ...@@ -859,6 +934,13 @@ class Api_model extends CI_Model {
$authToken = (isset($data['auth_token']) && !empty($data['auth_token']))?$data['auth_token']:''; $authToken = (isset($data['auth_token']) && !empty($data['auth_token']))?$data['auth_token']:'';
$user_id = $this->auth_token_get($authToken); $user_id = $this->auth_token_get($authToken);
$bookedCount = 0; $bookedCount = 0;
$languages = getLanguages();
$tagDummy = array();
foreach ($languages AS $lang) {
$tagDummy['tag_'.$lang] = array();
}
if(!empty($user_id)) { if(!empty($user_id)) {
$sql = "SELECT SUM(no_of_ticket) AS bookCount $sql = "SELECT SUM(no_of_ticket) AS bookCount
FROM booking AS BOK FROM booking AS BOK
...@@ -870,8 +952,24 @@ class Api_model extends CI_Model { ...@@ -870,8 +952,24 @@ class Api_model extends CI_Model {
} }
$this->db->query("SET SESSION group_concat_max_len = 20000"); $this->db->query("SET SESSION group_concat_max_len = 20000");
$result = $this->db->query("SELECT events.has_payment,events.event_id,events.event_name_en, $sql = "SELECT events.has_payment,events.event_id,events.seat_pricing,events.custom_seat_layout,
events.event_name_ar,events.event_description_en,events.event_description_ar,events.seat_pricing, events.custom_seat_layout, events.seat_pricing, venue.layout, venue.layout_details,venue.venue_name_en,venue.venue_name_ar,venue.venue_details,venue.location,venue.location_lat AS lat,venue.location_lng AS lng, GROUP_CONCAT(DISTINCT `event_gallery`.`media_url`) AS media_url,favourite.status AS fav_status, events.max_booking, host_categories.show_layout, GROUP_CONCAT(DISTINCT tags.tag_name_en) AS tag_en, GROUP_CONCAT(DISTINCT tags.tag_name_ar) AS tag_ar, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id INNER JOIN venue ON venue.id = events.venue_id LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`status` != 0 LEFT JOIN favourite ON favourite.event_id = events.event_id AND favourite.user_id = '".$user_id."' AND favourite.status = 1 LEFT JOIN event_tags ON events.event_id = event_tags.event_id LEFT JOIN tags on tags.tag_id = event_tags.tag_id INNER JOIN host_categories ON venue.host_cat_id = host_categories.host_cat_id WHERE events.event_id = ".$event_id." GROUP BY events.event_id, event_date_time.event_id")->result(); events.seat_pricing,venue.layout,venue.layout_details,events.max_booking,
venue.location,venue.location_lat AS lat,venue.location_lng AS lng,
favourite.status AS fav_status,host_categories.show_layout,venue.id AS venue_id,
GROUP_CONCAT(DISTINCT event_gallery.media_url) AS media_url,
GROUP_CONCAT(DISTINCT event_tags.tag_id) AS tag_ids,
GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time
FROM events
INNER JOIN event_date_time ON events.event_id = event_date_time.event_id
INNER JOIN venue ON venue.id = events.venue_id
LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id AND
event_gallery.status!=0
LEFT JOIN favourite ON favourite.event_id=events.event_id AND favourite.status=1 AND favourite.user_id='$user_id'
LEFT JOIN event_tags ON events.event_id=event_tags.event_id
INNER JOIN host_categories ON venue.host_cat_id=host_categories.host_cat_id
WHERE events.event_id='$event_id'
GROUP BY events.event_id, event_date_time.event_id";
$result = $this->db->query($sql)->result();
if(count($result)>0){ if(count($result)>0){
$resultData = array(); $resultData = array();
...@@ -917,36 +1015,48 @@ class Api_model extends CI_Model { ...@@ -917,36 +1015,48 @@ class Api_model extends CI_Model {
"time"=>$timeArray[2]); "time"=>$timeArray[2]);
} }
} }
$tags_en = !empty($rs->tag_en) ? explode(',', $rs->tag_en): '';
$tags_ar = !empty($rs->tag_ar) ? explode(',', $rs->tag_ar) : '';
$media_url = explode(',', $rs->media_url); $media_url = explode(',', $rs->media_url);
$resData = array( $tagArr = array();
'latlng' => $latlng, $resData = array();
'event_id' => $rs->event_id,
'event_rate' => $rate, $resData['latlng'] = $latlng;
'event_name_en' => $rs->event_name_en, $resData['event_id'] = $rs->event_id;
'event_name_ar' => $rs->event_name_ar, $resData['event_rate'] = $rate;
'event_tags_en' => $tags_en, $resData['event_urls'] = $media_url;
'event_tags_ar' => $tags_ar, $resData['fav_status'] = $rs->fav_status;
'event_urls' => $media_url, $resData['event_price'] = $price;
'fav_status' => $rs->fav_status, $resData['has_payment'] = $rs->has_payment;
'venue_name_en' => $rs->venue_name_en, $resData['event_times'] = $time_spec;
'venue_name_ar' => $rs->venue_name_ar, $resData['max_booking'] = $rs->max_booking-$bookedCount;
'event_price' => $price, $resData['show_layout'] = $rs->show_layout;
'has_payment' => $rs->has_payment, $resData['seat_pricing'] = $rs->seat_pricing;
'event_times' => $time_spec, $resData['venue_location'] = $rs->location;
'max_booking' => $rs->max_booking-$bookedCount, $resData['event_attendees'] = $atte;
'show_layout' => $rs->show_layout, $resData['event_layout_url'] = $rs->layout;
'seat_pricing' => $rs->seat_pricing, $resData['event_price_layout'] = $event_layout;
'venue_details' => $rs->venue_details,
'venue_location' => $rs->location, $evtData = langTranslator($rs->event_id,'EVT');
'event_attendees' => $atte, $resData = array_merge($resData,$evtData);
'event_layout_url' => $rs->layout,
'event_description_en' => $rs->event_description_en, $venData = langTranslator($rs->venue_id,'VEN');
'event_description_ar' => $rs->event_description_ar, $resData = array_merge($resData,$venData);
'event_price_layout' => $event_layout
); if(!empty($rs->tag_ids) && !empty($tag_ids = explode(',',$rs->tag_ids))){
foreach ($tag_ids AS $key => $id) {
$tags = langTranslator($id,'TAG');
foreach ($tags AS $key => $id) {
if(isset($tagArr[$key])){
$tagArr[$key][] = $id;
} else {
$tagArr[$key] = array($id);
}
}
}
} else {
$tagArr = $tagDummy;
}
$resData = array_merge($resData,$tagArr);
array_push($resultData, $resData); array_push($resultData, $resData);
} }
$res = array('status'=>1,'data'=>$resultData); $res = array('status'=>1,'data'=>$resultData);
...@@ -963,8 +1073,14 @@ class Api_model extends CI_Model { ...@@ -963,8 +1073,14 @@ class Api_model extends CI_Model {
function search($data) { function search($data) {
try { try {
$per_page = 10; $per_page = 10;
$user_id = (!isset($data['auth_token']) || empty($data['auth_token']))?'':$this->auth_token_get($data['auth_token']);
$where = $case = ''; $where = $case = '';
$user_id = (!isset($data['auth_token']) || empty($data['auth_token']))?'':$this->auth_token_get($data['auth_token']);
$languages = getLanguages();
$tagDummy = array();
foreach ($languages AS $lang) {
$tagDummy['tag_'.$lang] = array();
}
if(isset($data['cat_id']) && !empty($data['cat_id'])) { if(isset($data['cat_id']) && !empty($data['cat_id'])) {
$where = ' AND events.category_id='.$data['cat_id']; $where = ' AND events.category_id='.$data['cat_id'];
...@@ -972,27 +1088,22 @@ class Api_model extends CI_Model { ...@@ -972,27 +1088,22 @@ class Api_model extends CI_Model {
if(isset($data['choose_date']) && !empty($data['choose_date'])) { if(isset($data['choose_date']) && !empty($data['choose_date'])) {
switch ($data['choose_date']) { switch ($data['choose_date']) {
case '1': case '1':$case = "";break;
$case = ""; case '2':$case = "AND event_date_time.date = DATE_FORMAT(NOW(),'%Y-%m-%d')";break;
break;
case '2':
$case = "AND event_date_time.date = DATE_FORMAT(NOW(),'%Y-%m-%d')";
break;
case '3': case '3':
$case = "AND event_date_time.date = DATE_FORMAT(NOW() + INTERVAL 1 DAY,'%Y-%m-%d')"; $case = "AND event_date_time.date = DATE_FORMAT(NOW() + INTERVAL 1 DAY,'%Y-%m-%d')";
break; break;
case '4': case '4':
$first_day_of_the_week = 'Monday'; $first_day_of_the_week = 'Monday';
$start_of_the_week = strtotime("Last $first_day_of_the_week"); $start_of_the_week = strtotime("Last $first_day_of_the_week");
if ( strtolower(date('l')) === strtolower($first_day_of_the_week) ) if ( strtolower(date('l')) === strtolower($first_day_of_the_week) ) {
{
$start_of_the_week = strtotime('today'); $start_of_the_week = strtotime('today');
} }
$end_of_the_week = $start_of_the_week + (60 * 60 * 24 * 7) - 1; $end_of_the_week = $start_of_the_week + (60 * 60 * 24 * 7) - 1;
$date_format = 'Y-m-d'; $date_format = 'Y-m-d';
$start_date = date($date_format, $start_of_the_week); $start_date = date($date_format, $start_of_the_week);
$end_date = date($date_format, $end_of_the_week); $end_date = date($date_format, $end_of_the_week);
$case = "AND event_date_time.date >= $start_date AND event_date_time.date <= $end_date"; $case = "AND event_date_time.date>=$start_date AND event_date_time.date<=$end_date";
break; break;
case '5': case '5':
$sunday = date( 'Y-m-d', strtotime( 'sunday this week')); $sunday = date( 'Y-m-d', strtotime( 'sunday this week'));
...@@ -1013,38 +1124,33 @@ class Api_model extends CI_Model { ...@@ -1013,38 +1124,33 @@ class Api_model extends CI_Model {
} }
if($count > 0) { if($count > 0) {
if(isset($data['page'])) { if(isset($data['page'])) {
$page = $data['page']; $page = $data['page'];
} else { } else {
$page = 1; $page = 1;
} }
$page_limit = ($page - 1) * $per_page; $page_limit = ($page - 1) * $per_page;
if($count > $page_limit) { if($count > $page_limit) {
$this->db->query("SET SESSION group_concat_max_len = 20000"); $this->db->query("SET SESSION group_concat_max_len = 20000");
$result = $this->db->query(" $result = $this->db->query("
SELECT events.event_id,events.event_name_en,venue.venue_name_en,venue.venue_name_ar,venue.location, events.event_name_ar,events.event_description_en,events.event_description_ar,events.seat_pricing, SELECT events.event_id,venue.id AS venue_id,venue.location,events.seat_pricing,
events.custom_seat_layout, venue.layout, venue.layout_details, venue.layout,venue.layout_details,events.custom_seat_layout,
event_gallery.media_url,favourite.status AS fav_status, event_gallery.media_url,favourite.status AS fav_status,
GROUP_CONCAT(DISTINCT tags.tag_name_en) AS tag_en, GROUP_CONCAT(DISTINCT event_tags.tag_id) AS tag_ids,
GROUP_CONCAT(DISTINCT tags.tag_name_ar) AS tag_ar,
GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time
FROM events FROM events
INNER JOIN event_date_time ON events.event_id=event_date_time.event_id $case INNER JOIN event_date_time ON events.event_id=event_date_time.event_id $case
INNER JOIN venue ON venue.id=events.venue_id INNER JOIN venue ON venue.id=events.venue_id
LEFT JOIN locality ON locality.id=venue.locality_id LEFT JOIN locality ON locality.id=venue.locality_id
LEFT JOIN `event_gallery` ON `events`.`event_id`=`event_gallery`.`event_id` LEFT JOIN event_gallery ON events.event_id=event_gallery.event_id AND
AND `event_gallery`.`media_type`=0 event_gallery.media_type=0
LEFT JOIN booking on booking.event_id=events.event_id
LEFT JOIN favourite ON favourite.event_id=events.event_id AND LEFT JOIN favourite ON favourite.event_id=events.event_id AND
favourite.user_id='$user_id' AND favourite.status=1 favourite.user_id='$user_id' AND favourite.status=1
LEFT JOIN event_tags ON events.event_id=event_tags.event_id LEFT JOIN event_tags ON events.event_id=event_tags.event_id AND event_tags.status=1
LEFT JOIN tags on tags.tag_id = event_tags.tag_id WHERE events.status=1 AND event_date_time.date>=DATE_FORMAT(NOW(),'%Y-%m-%d') $where
WHERE events.status=1 AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d') $where
GROUP BY events.event_id GROUP BY events.event_id
ORDER BY events.event_id DESC LIMIT ". $page_limit.",".$per_page)->result(); ORDER BY events.event_id DESC LIMIT $page_limit,$per_page")->result();
if(count($result)>0){ if(count($result)>0){
$resultData = array(); $resultData = array();
...@@ -1090,33 +1196,43 @@ class Api_model extends CI_Model { ...@@ -1090,33 +1196,43 @@ class Api_model extends CI_Model {
$price = $pricelist['price']; $price = $pricelist['price'];
} }
$tags_en = !empty($rs->tag_en)? explode(',', $rs->tag_en) : ''; $tagArr = array();
$tags_ar = !empty($rs->tag_ar)? explode(',', $rs->tag_ar) : ''; $resData = array();
$resData = array(
'event_name_en'=>$rs->event_name_en, $resData['rate'] = $rate;
'event_name_ar'=>$rs->event_name_ar, $resData['price'] = $price;
'event_description_en'=>$rs->event_description_en, $resData['event_id'] = $rs->event_id;
'event_description_ar'=>$rs->event_description_ar, $resData['attendees'] = $atte;
'venue_name_en'=>$rs->venue_name_en, $resData['media_url'] = $rs->media_url;
'venue_name_ar'=>$rs->venue_name_ar, $resData['fav_status'] = $rs->fav_status;
'venue_location'=>$rs->location, $resData['venue_location'] = $rs->location;
'media_url'=>$rs->media_url,
'fav_status'=>$rs->fav_status, $evtData = langTranslator($rs->event_id,'EVT');
'price'=>$price, $resData = array_merge($resData,$evtData);
'event_id'=>$rs->event_id,
'attendees'=>$atte, $venData = langTranslator($rs->venue_id,'VEN');
'rate'=>$rate, $resData = array_merge($resData,$venData);
'tag_en'=>$tags_en,
'tag_ar'=>$tags_ar if(!empty($rs->tag_ids) && !empty($tag_ids = explode(',',$rs->tag_ids))){
); foreach ($tag_ids AS $key => $id) {
$tags = langTranslator($id,'TAG');
foreach ($tags AS $key => $id) {
if(isset($tagArr[$key])){
$tagArr[$key][] = $id;
} else {
$tagArr[$key] = array($id);
}
}
}
} else {
$tagArr = $tagDummy;
}
$resData = array_merge($resData,$tagArr);
array_push($resultData, $resData); array_push($resultData, $resData);
} }
$meta = array('total_pages'=>ceil($count/$per_page),'total'=>$count,
'current_page'=>$page,'per_page'=>$per_page);
$meta = array('total_pages'=>ceil($count/$per_page),
'total'=>$count,
'current_page'=>$page,
'per_page'=>$per_page
);
$response = array('data'=>$resultData,'meta'=>$meta); $response = array('data'=>$resultData,'meta'=>$meta);
$res = array('status'=>1,'data'=>$response); $res = array('status'=>1,'data'=>$response);
} else { } else {
...@@ -1138,19 +1254,20 @@ class Api_model extends CI_Model { ...@@ -1138,19 +1254,20 @@ class Api_model extends CI_Model {
function searchEvent($data) { function searchEvent($data) {
$str = urldecode(strtolower($data['str'])); $str = urldecode(strtolower($data['str']));
$this->db->query("SET SESSION group_concat_max_len = 20000"); $this->db->query("SET SESSION group_concat_max_len=20000");
$sql = "SELECT GROUP_CONCAT(DISTINCT CONCAT_WS('#',EDATE.id,EDATE.date,EDATE.time)) $sql = "SELECT GROUP_CONCAT(DISTINCT CONCAT_WS('#',EDATE.id,EDATE.date,EDATE.time))
AS date_time,EVT.event_name_en,EVT.event_id AS date_time,EVT.event_id
FROM events AS EVT FROM events AS EVT
INNER JOIN event_date_time AS EDATE ON (EVT.event_id=EDATE.event_id) INNER JOIN event_date_time AS EDATE ON (EVT.event_id=EDATE.event_id)
WHERE (EVT.event_name_en LIKE '%$str%' OR EVT.event_name_ar LIKE '%$str%') AND INNER JOIN translator_event AS TEVT ON (TEVT.event_id=EVT.event_id)
EDATE.date>=DATE_FORMAT(NOW(),'%Y-%m-%d') AND EVT.status='1' AND EDATE.status='1' WHERE TEVT.event_name LIKE '%$str%' AND EDATE.date>=DATE_FORMAT(NOW(),'%Y-%m-%d') AND
EVT.status='1' AND EDATE.status='1'
GROUP BY EVT.event_id LIMIT 5"; GROUP BY EVT.event_id LIMIT 5";
$resCount = $this->db->query($sql)->result(); $resCount = $this->db->query($sql)->result_array();
if(!empty($resCount)){ if(!empty($resCount)){
foreach ($resCount AS $key => $rs) { foreach ($resCount AS $key => $rs) {
if(!empty($dates = explode(',',$rs->date_time))){ if(!empty($dates = explode(',',$rs['date_time']))){
$checkTime = 0; $checkTime = 0;
foreach ($dates as $date) { foreach ($dates as $date) {
if(empty($date)){ unset($resCount[$key]); continue; } if(empty($date)){ unset($resCount[$key]); continue; }
...@@ -1161,17 +1278,31 @@ class Api_model extends CI_Model { ...@@ -1161,17 +1278,31 @@ class Api_model extends CI_Model {
$checkTime += 1; $checkTime += 1;
} }
} }
if($checkTime == count($dates)){ unset($resCount[$key]); continue; } if($checkTime == count($dates)){
} else { unset($resCount[$key]); continue; } unset($resCount[$key]);
continue;
}
$evtData = langTranslator($rs['event_id'],'EVT');
$resCount[$key] = array_merge($resCount[$key],$evtData);
} else {
unset($resCount[$key]); continue;
}
unset($resCount[$key]->date_time); unset($resCount[$key]->date_time);
} }
} }
$sEvents = (!empty($resCount))?$resCount:[]; $sEvents = (!empty($resCount))?$resCount:[];
$region = $this->db->query("SELECT id,name_en,name_ar FROM region $region = $this->db->query("SELECT REG.id FROM region AS REG
WHERE (name_en LIKE '%$str%' OR name_ar LIKE '%$str%') AND status=1 INNER JOIN translator_region AS TREG ON (TREG.region_id=REG.id)
LIMIT 5"); WHERE TREG.region_name LIKE '%$str%' AND REG.status=1
$response = array('events'=>$sEvents, 'cityList'=>$region->result()); GROUP BY REG.id LIMIT 5")->result_array();
if(!empty($region)){
foreach ($region AS $key => $regData) {
$reg = langTranslator($regData['id'],'REG');
$region[$key] = array_merge($region[$key],$reg);
}
}
$response = array('events'=>$sEvents, 'cityList'=>$region);
$res = array('status'=>1,'data'=>$response); $res = array('status'=>1,'data'=>$response);
return $res; return $res;
} }
...@@ -1266,18 +1397,15 @@ class Api_model extends CI_Model { ...@@ -1266,18 +1397,15 @@ class Api_model extends CI_Model {
function get_cms_data(){ function get_cms_data(){
$language = array(); $language = array();
try{ try{
$cms = $this->db->get('privacy_policy')->row_array(); $cmsData = $this->db->get('translator_policies')->result_array();
if($cms){ if(!empty($cmsData)){
$language['ar'] = array( foreach ($cmsData AS $cms) {
'faq'=>$cms['faq_ar'], $lang = $cms['language_code'];
'instruction'=>$cms['instruction_ar'], $language['faq_'.$lang] = $cms['faq'];
'privacy_policy'=>$cms['privacy_policy_ar'], $language['instruction_'.$lang] = $cms['instruction'];
'terms_and_conditions'=>$cms['terms_and_conditions_ar']); $language['privacy_policy_'.$lang] = $cms['privacy_policy'];
$language['en'] = array( $language['terms_and_conditions_'.$lang] = $cms['terms_and_conditions'];
'faq'=>$cms['faq_en'], }
'instruction'=>$cms['instruction_en'],
'privacy_policy'=>$cms['privacy_policy_en'],
'terms_and_conditions'=>$cms['terms_and_conditions_en']);
$res = array('status'=>1,'data'=>$language); $res = array('status'=>1,'data'=>$language);
} }
}catch(Exception $e){ }catch(Exception $e){
......
...@@ -10,18 +10,15 @@ class Booking_model extends CI_Model { ...@@ -10,18 +10,15 @@ class Booking_model extends CI_Model {
$cond .= (!empty($booking_id))?" AND BOK.id='$booking_id' ":""; $cond .= (!empty($booking_id))?" AND BOK.id='$booking_id' ":"";
$cond .= (!empty($provider_id))?" AND EVT.provider_id='$provider_id' ":""; $cond .= (!empty($provider_id))?" AND EVT.provider_id='$provider_id' ":"";
$sql = "SELECT BOK.id AS booking_id,CUST.customer_id,CUST.name AS customer_name, $sql = "SELECT BOK.id AS booking_id,CUST.customer_id,CUST.name AS customer_name,EVT.provider_id,
CUST.phone AS customer_phone,CUST.email AS customer_email,CUST.gender, CUST.phone AS customer_phone,CUST.email AS customer_email,CUST.gender,EVT.venue_id,
CUST.dob,CUST.city,CUST.profile_image,BOK.event_id,BOK.bookId,BOK.event_date_id, CUST.dob,CUST.city,CUST.profile_image,BOK.event_id,BOK.bookId,BOK.event_date_id,
BOK.qrcode,BOK.no_of_ticket,BOK.ticket_details,BOK.amount, BOK.qrcode,BOK.no_of_ticket,BOK.ticket_details,BOK.amount,EVT.has_payment,
BOK.reserved_by,BOK.status AS book_status,EVT.venue_id,EVT.category_id, BOK.reserved_by,BOK.status AS book_status,EVT.category_id,EVT.max_booking,
EVT.provider_id,EVT.event_name_en,EVT.event_description_en,EVT.has_payment, EVT.seat_pricing,EVT.custom_seat_layout,EVT.status AS evt_status,EDT.time,
EVT.max_booking,EVT.seat_pricing,EVT.custom_seat_layout,EVT.status AS evt_status, HCAT.host_category,HCAT.show_layout,EDT.date,PRV.name AS provider_name,
HCAT.host_category,HCAT.show_layout,EDT.date,EDT.time,ECAT.category_en, PRV.email AS provider_email,PRV.phone AS provider_phone,VEN.location,
ECAT.category_description,ECAT.category_image_en,PRV.name AS provider_name, PRV.profile_image AS provider_image,TRANS.transaction_id,TRANS.status AS trans_status
PRV.email AS provider_email,PRV.phone AS provider_phone,
PRV.profile_image AS provider_image,VEN.venue_name_en,VEN.venue_details,VEN.location,
TRANS.transaction_id,TRANS.status AS trans_status
FROM booking AS BOK FROM booking AS BOK
INNER JOIN events AS EVT ON (EVT.event_id=BOK.event_id) INNER JOIN events AS EVT ON (EVT.event_id=BOK.event_id)
INNER JOIN customer AS CUST ON (CUST.customer_id=BOK.customer_id) INNER JOIN customer AS CUST ON (CUST.customer_id=BOK.customer_id)
...@@ -34,11 +31,30 @@ class Booking_model extends CI_Model { ...@@ -34,11 +31,30 @@ class Booking_model extends CI_Model {
WHERE $cond"; WHERE $cond";
$bookingData = $this->db->query($sql); $bookingData = $this->db->query($sql);
if(empty($bookingData)){
return 0;
}
if(!empty($bookingData)){ if(empty($booking_id)){
return (empty($booking_id))?$bookingData->result():$bookingData->row(); $bookingData = $bookingData->result_array();
foreach ($bookingData AS $index => $book) {
$rtlData = langTranslator($book['event_id'],'EVT');
$bookingData[$index] = array_merge($bookingData[$index],$rtlData);
$rtlData = langTranslator($book['venue_id'],'VEN');
$bookingData[$index] = array_merge($bookingData[$index],$rtlData);
$rtlData = langTranslator($book['category_id'],'CAT');
$bookingData[$index] = array_merge($bookingData[$index],$rtlData);
} }
return 0; } else {
$bookingData = $bookingData->row_array();
$rtlData = langTranslator($bookingData['event_id'],'EVT');
$bookingData = array_merge($bookingData,$rtlData);
$rtlData = langTranslator($bookingData['venue_id'],'VEN');
$bookingData = array_merge($bookingData,$rtlData);
$rtlData = langTranslator($bookingData['category_id'],'CAT');
$bookingData = array_merge($bookingData,$rtlData);
}
return json_decode(json_encode($bookingData));
} }
function changeStatus($booking_id = '', $status = '0'){ function changeStatus($booking_id = '', $status = '0'){
...@@ -87,7 +103,10 @@ class Booking_model extends CI_Model { ...@@ -87,7 +103,10 @@ class Booking_model extends CI_Model {
} }
$fields = 'BOK.id AS Booking_ID,TRANS.transaction_id,TRANS.status AS trans_status, $fields = 'BOK.id AS Booking_ID,TRANS.transaction_id,TRANS.status AS trans_status,
EVT.has_payment,'.$fields; EVT.has_payment,'.$fields;
$sql = "SELECT ".$fields."
$fields = str_replace(array('EVT.event_name,','EVT.event_description,','ECAT.category,','VEN.venue_name,','REG.name_en AS Region,'),'',$fields);
$sql = "SELECT EVT.event_id,EVT.category_id,VEN.id AS venue_id,REG.id AS region_id,".$fields."
FROM booking AS BOK FROM booking AS BOK
INNER JOIN events AS EVT ON (EVT.event_id=BOK.event_id) INNER JOIN events AS EVT ON (EVT.event_id=BOK.event_id)
INNER JOIN customer AS CUST ON (CUST.customer_id=BOK.customer_id) INNER JOIN customer AS CUST ON (CUST.customer_id=BOK.customer_id)
...@@ -101,15 +120,30 @@ class Booking_model extends CI_Model { ...@@ -101,15 +120,30 @@ class Booking_model extends CI_Model {
".$where_clause." ".$where_clause."
GROUP BY Booking_ID GROUP BY Booking_ID
ORDER BY BOK.id ASC"; ORDER BY BOK.id ASC";
$data = $this->db->query($sql);
if(!empty($data)){ $reportData = $this->db->query($sql);
$resData = $data->result_array(); if(empty($reportData)){
if(empty($resData)){ return 0;
}
if(empty($reportData = $reportData->result_array())){
return 2; return 2;
} }
return $resData; foreach ($reportData AS $key => $data) {
$evtData = langTranslator($data['event_id'],'EVT');
$venData = langTranslator($data['venue_id'],'VEN');
$regData = langTranslator($data['region_id'],'REG');
$catData = langTranslator($data['category_id'],'CAT');
$reportData[$key]['Event Name'] = $evtData['event_name_EN'];
$reportData[$key]['Venue Name'] = $venData['venue_name_EN'];
$reportData[$key]['Region Name'] = $regData['region_name_EN'];
$reportData[$key]['Event Category'] = $catData['category_name_EN'];
$reportData[$key]['Event Description'] = $evtData['event_description_EN'];
unset($reportData[$key]['event_id'],$reportData[$key]['venue_id'],
$reportData[$key]['category_id'],$reportData[$key]['region_id']);
} }
return 0; return $reportData;
} }
} }
?> ?>
\ No newline at end of file
...@@ -65,6 +65,7 @@ class Region_model extends CI_Model { ...@@ -65,6 +65,7 @@ class Region_model extends CI_Model {
$insertArr = array(); $insertArr = array();
foreach ($languages AS $lang) { foreach ($languages AS $lang) {
if(!isset($regionData['name_'.$lang]) || empty($regionData['name_'.$lang])){ if(!isset($regionData['name_'.$lang]) || empty($regionData['name_'.$lang])){
unset($regionData['name_'.$lang]);
continue; continue;
} }
$insertArr[] = array('region_id'=>$region_id, $insertArr[] = array('region_id'=>$region_id,
......
...@@ -31,7 +31,7 @@ class Tag_model extends CI_Model { ...@@ -31,7 +31,7 @@ class Tag_model extends CI_Model {
if(empty($tagData)){ if(empty($tagData)){
return 0; return 0;
} }
$status = $this->db->insert('tags',array('tag'=>$tagData['tag_en'])); $status = $this->db->insert('tags',array('tag'=>$tagData['tag_EN']));
if($status){ if($status){
$tag_id = $this->db->insert_id(); $tag_id = $this->db->insert_id();
$languages = getLanguages(); $languages = getLanguages();
...@@ -57,7 +57,7 @@ class Tag_model extends CI_Model { ...@@ -57,7 +57,7 @@ class Tag_model extends CI_Model {
if(empty($tag_id) || empty($tagData)){ if(empty($tag_id) || empty($tagData)){
return 0; return 0;
} }
$status = $this->db->update('tags',array('tag'=>$tagData['tag_en']),array('tag_id'=>$tag_id)); $status = $this->db->update('tags',array('tag'=>$tagData['tag_EN']),array('tag_id'=>$tag_id));
if($status){ if($status){
$languages = getLanguages(); $languages = getLanguages();
if(!empty($languages)){ if(!empty($languages)){
......
...@@ -1347,7 +1347,7 @@ class Webservice_model extends CI_Model { ...@@ -1347,7 +1347,7 @@ class Webservice_model extends CI_Model {
$lang = $countryData['language_code']; $lang = $countryData['language_code'];
$sql = "SELECT booking.bookId AS booking_id,event_date_time.date, $sql = "SELECT booking.bookId AS booking_id,event_date_time.date,
translator_event.event_name,event_gallery.media_url AS event_image, translator_event.event_name,booking.qrcode AS event_image,
venue.location,event_date_time.time,booking.event_id, venue.location,event_date_time.time,booking.event_id,
booking.no_of_ticket AS ticket_count,events.has_payment, booking.no_of_ticket AS ticket_count,events.has_payment,
(CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 (CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2
...@@ -1357,7 +1357,6 @@ class Webservice_model extends CI_Model { ...@@ -1357,7 +1357,6 @@ class Webservice_model extends CI_Model {
INNER JOIN event_date_time ON booking.event_date_id = event_date_time.id INNER JOIN event_date_time ON booking.event_date_id = event_date_time.id
INNER JOIN venue ON venue.id = events.venue_id INNER JOIN venue ON venue.id = events.venue_id
INNER JOIN translator_event ON translator_event.event_id = events.event_id INNER JOIN translator_event ON translator_event.event_id = events.event_id
LEFT JOIN event_gallery ON events.event_id = event_gallery.event_id AND event_gallery.media_type = 0
WHERE booking.customer_id = '$user_id' AND booking.status IN(0, 1, 2) AND WHERE booking.customer_id = '$user_id' AND booking.status IN(0, 1, 2) AND
translator_event.language_code = '$lang' translator_event.language_code = '$lang'
GROUP BY booking.id GROUP BY booking.id
......
...@@ -131,10 +131,9 @@ ...@@ -131,10 +131,9 @@
), ),
array('name' => 'Event Details', array('name' => 'Event Details',
'fields' => 'fields' =>
array('EVT.event_name_en AS Event_Name'=>'Event Name', array('EVT.event_name'=>'Event Name',
'EVT.event_description_en'=>'Event Discription', 'EVT.event_description'=>'Event Discription',
'ECAT.category_en AS Category'=>'Event Category', 'ECAT.category'=>'Event Category'
'ECAT.category_description AS Category_Description'=>'Category Description'
) )
), ),
array('name' => 'Customer Details', array('name' => 'Customer Details',
...@@ -154,8 +153,7 @@ ...@@ -154,8 +153,7 @@
), ),
array('name' => 'Venue Details', array('name' => 'Venue Details',
'fields' => 'fields' =>
array('VEN.venue_name_en AS Venue_Name'=>'Venue Name', array('VEN.venue_name'=>'Venue Name',
'VEN.venue_details AS Venue_Details'=>'Venue Details',
'REG.name_en AS Region'=>'Region', 'REG.name_en AS Region'=>'Region',
'VEN.location AS Location'=>'Location' 'VEN.location AS Location'=>'Location'
) )
...@@ -251,8 +249,12 @@ ...@@ -251,8 +249,12 @@
</section> </section>
</div> </div>
<?php
$defFields = '[name^="BOK.bookId"],[name^="CONCAT(EDT.date,EDT.time)"],[name^="BOK.amount"],[name^="BOK.status"],[name^="EVT.event_name"],[name^="EVT.event_description"],[name^="ECAT.category"],[name^="CUST.name"],[name^="VEN.venue_name"],[name^="REG.name_en AS Region"]';
?>
<script type="text/javascript"> <script type="text/javascript">
jQuery(document).ready(function(){ jQuery(document).ready(function(){
jQuery('[name^="BOK.bookId"],[name^="CONCAT(EDT.date,\' \',EDT.time)"],[name^="BOK.amount"],[name^="BOK.status"],[name^="EVT.event_name_en"],[name^="CUST.name"]').prop("checked", true).parent().closest('div').addClass('disable-block'); jQuery('<?= $defFields ?>').prop("checked", true).parent().closest('div').addClass('disable-block');
}); });
</script> </script>
\ No newline at end of file
...@@ -54,8 +54,8 @@ ...@@ -54,8 +54,8 @@
<tr> <tr>
<th class="hidden"><?= $booking->booking_id ?></th> <th class="hidden"><?= $booking->booking_id ?></th>
<th class="center"><?= $booking->bookId ?></th> <th class="center"><?= $booking->bookId ?></th>
<th class="center"><?= $booking->category_en ?></th> <th class="center"><?= $booking->category_name_EN ?></th>
<th class="center"><?= $booking->event_name_en ?></th> <th class="center"><?= $booking->event_name_EN ?></th>
<th class="center"><?= $booking->customer_name ?></th> <th class="center"><?= $booking->customer_name ?></th>
<th class="center"><?= $booking->date.' '.$booking->time ?></th> <th class="center"><?= $booking->date.' '.$booking->time ?></th>
<th class="center"><?= $booking->amount ?></th> <th class="center"><?= $booking->amount ?></th>
......
<?php
// pr($bookData);
?>
<div class="box-body"> <div class="box-body">
<div class="view_booking_modal"> <div class="view_booking_modal">
<div class="row"> <div class="row">
...@@ -134,7 +130,7 @@ ...@@ -134,7 +130,7 @@
: :
</div> </div>
<div class="col-md-9"> <div class="col-md-9">
<?= $bookData->event_name_en ?> <?= $bookData->event_name_EN ?>
</div> </div>
</div> </div>
...@@ -146,7 +142,7 @@ ...@@ -146,7 +142,7 @@
: :
</div> </div>
<div class="col-md-9"> <div class="col-md-9">
<?= $bookData->event_description_en ?> <?= $bookData->event_description_EN ?>
</div> </div>
</div> </div>
...@@ -160,20 +156,7 @@ ...@@ -160,20 +156,7 @@
: :
</div> </div>
<div class="col-md-5"> <div class="col-md-5">
<?= $bookData->category_en ?> <?= $bookData->category_name_EN ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-5">
Catagory Description
</div>
<div class="col-md-1">
:
</div>
<div class="col-md-5">
<p class="truncateText"><?= $bookData->category_description ?></p>
</div> </div>
</div> </div>
</div> </div>
...@@ -284,20 +267,7 @@ ...@@ -284,20 +267,7 @@
: :
</div> </div>
<div class="col-md-5"> <div class="col-md-5">
<?= $bookData->venue_name_en ?> <?= $bookData->venue_name_EN ?>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-5">
Venue Details
</div>
<div class="col-md-1">
:
</div>
<div class="col-md-5">
<p class="truncateText"><?= $bookData->venue_details ?></p>
</div> </div>
</div> </div>
</div> </div>
...@@ -318,6 +288,6 @@ ...@@ -318,6 +288,6 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
\ No newline at end of file
...@@ -42,8 +42,7 @@ ...@@ -42,8 +42,7 @@
<div class="form-group"> <div class="form-group">
<label>Category Name (EN)</label> <label>Category Name (EN)</label>
<input type="text" class="form-control required" data-parsley-trigger="change" <input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" data-parsley-pattern="^[a-zA-Z0-9\ . _ - ' \/]+$" data-parsley-minlength="2" name="category_name_EN" value="<?= (isset($categoryData->category_name_EN))?$categoryData->category_name_EN:'' ?>" placeholder="Category Name (EN)">
name="category_name_EN" value="<?= (isset($categoryData->category_name_EN))?$categoryData->category_name_EN:'' ?>" placeholder="Category Name (EN)">
<span class="glyphicon form-control-feedback"></span> <span class="glyphicon form-control-feedback"></span>
</div> </div>
</div> </div>
......
...@@ -360,7 +360,7 @@ ...@@ -360,7 +360,7 @@
id="eventEndDate"> id="eventEndDate">
<input id="date" type="text" class="form-control" disabled <input id="date" type="text" class="form-control" disabled
data-parsley-trigger="change" data-parsley-minlength="5" data-parsley-trigger="change" data-parsley-minlength="5"
name="event_ENd_date" placeholder="Event End Date" autocomplete="off"> name="event_end_date" placeholder="Event End Date" autocomplete="off">
<div class="input-group-addon"> <div class="input-group-addon">
<i class="fa fa-calendar"></i> <i class="fa fa-calendar"></i>
</div> </div>
......
...@@ -419,9 +419,8 @@ ...@@ -419,9 +419,8 @@
<div class="input-group date padTop10 <?= ($sType==1)?'hide':'' ?>" data-provide="datepicker" <div class="input-group date padTop10 <?= ($sType==1)?'hide':'' ?>" data-provide="datepicker"
id="eventEndDate"> id="eventEndDate">
<input id="date" type="text" class="form-control" <input id="date" type="text" class="form-control" <?= ($sType != 1)?'required':'disabled' ?>
<?= ($sType != 1)?'required':'disabled' ?> data-parsley-trigger="change" data-parsley-minlength="5" name="event_end_date"
data-parsley-trigger="change" data-parsley-minlength="5" name="event_ENd_date"
placeholder="Event End Date" autocomplete="off" value="<?= $end_date ?>"> placeholder="Event End Date" autocomplete="off" value="<?= $end_date ?>">
<div class="input-group-addon"> <div class="input-group-addon">
<i class="fa fa-calendar"></i> <i class="fa fa-calendar"></i>
......
...@@ -41,8 +41,7 @@ ...@@ -41,8 +41,7 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<input type="text" class="form-control <?= ($lang == 'EN')?'required':'' ?>" <input type="text" class="form-control <?= ($lang == 'EN')?'required':'' ?>"
name="name_<?= $lang ?>" data-parsley-trigger="change" data-parsley-minlength="2" data-parsley-pattern="^[a-zA-Z0-9\ . _ - ' \/]+$" name="name_<?= $lang ?>" data-parsley-trigger="change" data-parsley-minlength="2" placeholder="Region Name (<?= $lang ?>)" value="<?= $regionName ?>">
placeholder="Region Name (<?= $lang ?>)" value="<?= $regionName ?>">
<span class="glyphicon form-control-feedback"></span> <span class="glyphicon form-control-feedback"></span>
</div> </div>
</div> </div>
......
...@@ -36,10 +36,10 @@ ...@@ -36,10 +36,10 @@
<?php foreach($language AS $lang) { ?> <?php foreach($language AS $lang) { ?>
<div class="col-md-4"> <div class="col-md-4">
<div class="form-group"> <div class="form-group">
<?php $tagName = (isset($tag_data->{'tag_'.strtolower($lang)}))?$tag_data->{'tag_'.strtolower($lang)}:''; ?> <?php $tagName = (isset($tag_data->{'tag_'.$lang}))?$tag_data->{'tag_'.$lang}:''; ?>
<input type="text" class="form-control <?= ($lang == 'EN')?'required':'' ?>" <input type="text" class="form-control <?= ($lang == 'EN')?'required':'' ?>"
data-parsley-trigger="change" data-parsley-minlength="2" data-parsley-trigger="change" data-parsley-minlength="2"
name="<?= 'tag_'.strtolower($lang)?>" placeholder="Tag (<?= $lang ?>)" name="<?= 'tag_'.$lang?>" placeholder="Tag (<?= $lang ?>)"
value="<?= $tagName ?>"> value="<?= $tagName ?>">
<span class="glyphicon form-control-feedback"></span> <span class="glyphicon form-control-feedback"></span>
</div> </div>
......
...@@ -714,7 +714,7 @@ jQuery('[id="rGenerate"]').click(function(){ ...@@ -714,7 +714,7 @@ jQuery('[id="rGenerate"]').click(function(){
jQuery.each(resp_data['report_data'], function(key, data) { jQuery.each(resp_data['report_data'], function(key, data) {
report_data[key] = data; report_data[key] = data;
var vBtn = '<a class="btn btn-sm btn-primary" onclick="viewBooking('+data['Booking_ID']+');"><i class="fa fa-fw fa-edit"></i>View</a>'; var vBtn = '<a class="btn btn-sm btn-primary" onclick="viewBooking('+data['Booking_ID']+');"><i class="fa fa-fw fa-edit"></i>View</a>';
table.row.add([data['Book_ID'],data['Event_Name'],data['Customer_Name'],data['Amount'],data['Show_Time'],data['Book_Status'],vBtn]).draw(); table.row.add([data['Book_ID'],data['Event Name'],data['Customer_Name'],data['Amount'],data['Show_Time'],data['Book_Status'],vBtn]).draw();
}); });
jQuery('[id="report_table_html"]').removeClass('hide'); jQuery('[id="report_table_html"]').removeClass('hide');
......
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