Commit 782812dc by Tobin

Merge branch 'master' into 'dev_production'

Master See merge request !41
parents 805dde06 4aaf92aa
...@@ -190,7 +190,7 @@ class Event extends CI_Controller { ...@@ -190,7 +190,7 @@ class Event extends CI_Controller {
$subject = "TimeOut, New Event Created"; $subject = "TimeOut, New Event Created";
$emailId = $settings['admin_mail_id']; $emailId = $settings['admin_mail_id'];
$message = "<html><body> $message = "<html><body>
New Event Created, event name: <strong>".$_POST['event_name']."</strong> New Event Created, event name: <strong>".$_POST['event_name']."</strong>. Event URL : https://projects.nuvento.com/eventdetail?event_id=$event_id
</body></html>"; </body></html>";
$this->Api_model->send_mail($subject,$emailId,$message); $this->Api_model->send_mail($subject,$emailId,$message);
// END - NEW EVENT NOTIFICATION MAIL \\ // END - NEW EVENT NOTIFICATION MAIL \\
......
...@@ -421,4 +421,4 @@ class Webservice extends CI_Controller { ...@@ -421,4 +421,4 @@ class Webservice extends CI_Controller {
} }
?> ?>
\ No newline at end of file
<?php
$conn = mysqli_connect("192.168.140.123","root","Golden_123","tobin_eventTimeOut");
if($conn->connect_error){
return;
}
$todate = date('Y-m-d');
$sql = "UPDATE booking
INNER JOIN event_date_time ON event_date_time.id = booking.event_date_id
SET booking.status = '2'
WHERE event_date_time.date < '$todate' and event_date_time.time < now() and booking.status='1'";
$result = mysqli_query($conn, $sql);
$date_time = date('Y-m-d H:i:sa',strtotime('- 15 minutes'));
$sql = "UPDATE booking
INNER JOIN transaction ON transaction.booking_id = booking.bookId
SET booking.status = '5',transaction.status='3'
WHERE transaction.datetime > '$date_time'";
$conn->close();
?>
...@@ -332,7 +332,8 @@ class Api_model extends CI_Model { ...@@ -332,7 +332,8 @@ 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')->where('customer_id',$user_id)->get('booking')->num_rows(); $count = $this->db->query("SELECT id FROM booking WHERE customer_id='$user_id' AND status IN (0,1,2)")->num_rows();
if($count > 0) { if($count > 0) {
if(isset($data['page'])) { if(isset($data['page'])) {
...@@ -539,10 +540,11 @@ class Api_model extends CI_Model { ...@@ -539,10 +540,11 @@ class Api_model extends CI_Model {
if($user_id > 0) { if($user_id > 0) {
$post_data = $data; $post_data = $data;
unset($post_data['auth_token']); $status = (isset($post_data['has_payment']) && $post_data['has_payment'] == 0)?'1':'3';
unset($post_data['auth_token'],$post_data['has_payment']);
$post_data['customer_id'] = $user_id; $post_data['customer_id'] = $user_id;
$post_data['ticket_details'] = json_encode($post_data['ticket_details']); $post_data['ticket_details'] = json_encode($post_data['ticket_details']);
$post_data['status'] = 3; $post_data['status'] = $status;
$code = 'TO'; $code = 'TO';
$ymd = date('ymd'); $ymd = date('ymd');
$squence = rand(1111,9999); $squence = rand(1111,9999);
...@@ -718,12 +720,22 @@ class Api_model extends CI_Model { ...@@ -718,12 +720,22 @@ 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, AVG(review.rate) AS rate, MAX(booking.id) AS attendees, events.event_name,events.event_discription AS event_description,events.seat_pricing, events.custom_seat_layout, events.seat_pricing, venue.layout, venue.layout_details,venue.venue_name,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) AS tag, 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 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 tags on tags.tag_id = event_tags.tag_id LEFT JOIN review ON events.event_id = review.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(); $result = $this->db->query("SELECT events.has_payment,events.event_id, events.event_name,events.event_discription AS event_description,events.seat_pricing, events.custom_seat_layout, events.seat_pricing, venue.layout, venue.layout_details,venue.venue_name,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) AS tag, 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();
if(count($result)>0){ if(count($result)>0){
$resultData = array(); $resultData = array();
$event_layout = ''; $event_layout = '';
foreach ($result as $rs) { foreach ($result as $rs) {
$sql = "SELECT AVG(review.rate) AS rate
FROM review WHERE event_id=$rs->event_id";
$rating = $this->db->query($sql)->row_array();
$rate=isset($rating['rate'])&&!empty($rating['rate'])?$rating['rate']:'0.0';
$sql = "SELECT SUM(booking.no_of_ticket) AS attend FROM booking
WHERE status IN (1,2) AND event_id=$rs->event_id";
$atten = $this->db->query($sql)->row_array();
$atte=isset($atten['attend'])&&!empty($atten['attend'])?$atten['attend']:'0';
if($rs->layout!=''){ if($rs->layout!=''){
if($rs->custom_seat_layout!=''){ if($rs->custom_seat_layout!=''){
$pricelist = json_decode($rs->custom_seat_layout, TRUE); $pricelist = json_decode($rs->custom_seat_layout, TRUE);
...@@ -760,7 +772,7 @@ class Api_model extends CI_Model { ...@@ -760,7 +772,7 @@ class Api_model extends CI_Model {
$resData = array( $resData = array(
'latlng' => $latlng, 'latlng' => $latlng,
'event_id' => $rs->event_id, 'event_id' => $rs->event_id,
'event_rate' => $rs->rate, 'event_rate' => $rate,
'event_name' => $rs->event_name, 'event_name' => $rs->event_name,
'event_tags' => $tags, 'event_tags' => $tags,
'event_urls' => $media_url, 'event_urls' => $media_url,
...@@ -774,7 +786,7 @@ class Api_model extends CI_Model { ...@@ -774,7 +786,7 @@ class Api_model extends CI_Model {
'seat_pricing' => $rs->seat_pricing, 'seat_pricing' => $rs->seat_pricing,
'venue_details' => $rs->venue_details, 'venue_details' => $rs->venue_details,
'venue_location' => $rs->location, 'venue_location' => $rs->location,
'event_attendees' => $rs->attendees, 'event_attendees' => $atte,
'event_layout_url' => $rs->layout, 'event_layout_url' => $rs->layout,
'event_description' => $rs->event_description, 'event_description' => $rs->event_description,
'event_price_layout' => $event_layout 'event_price_layout' => $event_layout
......
...@@ -160,4 +160,4 @@ class Validation_app_model extends CI_Model { ...@@ -160,4 +160,4 @@ class Validation_app_model extends CI_Model {
return array('state'=>$state,'response'=>$error_key); return array('state'=>$state,'response'=>$error_key);
} }
} }
?> ?>
\ No newline at end of file
...@@ -4,44 +4,42 @@ class Webservice_model extends CI_Model { ...@@ -4,44 +4,42 @@ class Webservice_model extends CI_Model {
public function _consruct(){ public function _consruct(){
parent::_construct(); parent::_construct();
} }
function update_fcm_token($data) { function update_fcm_token($data) {
try{ try{
$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) {
$Data = array('fcm_token'=>$data['fcm_token']);
$Data = array('fcm_token'=>$data['fcm_token']); $this->db->where('customer_id', $user_id);
$this->db->where('customer_id', $user_id);
$status = $this->db->update('customer', $Data); $status = $this->db->update('customer', $Data);
//print_r($this->db->last_query());exit(); if ($status){
if ($status){ $res = array('status'=>1);
$res = array('status'=>1); }else {
}else { $res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER15');
$res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER15'); }
} } else {
} else { $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); }
} } catch(Exception $e) {
} catch(Exception $e) { $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); }
} return $res;
return $res; }
}
function login($data){ function login($data){
try{ try{
$this->db->select("customer.city,customer.name AS user_name, $this->db->select("customer.city,customer.name AS user_name,
customer.phone, customer.phone,
customer.email,customer.profile_image AS profile_photo,users.id AS user_id, IF(customer.phone_verified = 0,'false','true') AS is_phone_verified, IF(customer.city = '','false','true') AS is_location_updated"); customer.email,customer.profile_image AS profile_photo,users.id AS user_id, IF(customer.phone_verified = 0,'false','true') AS is_phone_verified, IF(customer.city = '','false','true') AS is_location_updated");
$this->db->where('users.status',1); $this->db->where('users.status',1);
$this->db->where('users.password',md5($data['password'])); $this->db->where('users.password',md5($data['password']));
$this->db->where('customer.email',$data['email']); $this->db->where('customer.email',$data['email']);
$this->db->from('users'); $this->db->from('users');
$this->db->join('customer','customer.customer_id = users.id'); $this->db->join('customer','customer.customer_id = users.id');
$result = $this->db->get()->row(); $result = $this->db->get()->row();
if($result){ if($result){
$auth_token = md5(microtime().rand()); $auth_token = md5(microtime().rand());
if($result->city != ''){ if($result->city != ''){
$cityResult = $this->db->select('id')->where('name', $result->city)->where('status', 1)->get('region')->row(); $cityResult = $this->db->select('id')->where('name', $result->city)->where('status', 1)->get('region')->row();
$cityId = $cityResult->id; $cityId = $cityResult->id;
...@@ -50,159 +48,152 @@ class Webservice_model extends CI_Model { ...@@ -50,159 +48,152 @@ class Webservice_model extends CI_Model {
$cityId = 'null'; $cityId = 'null';
$cityName = 'null'; $cityName = 'null';
} }
$resultArray = array(
'city_id'=>$cityId === 'null'? null: $cityId,
'city_name'=>$cityName === 'null'? null: $cityName,
'user_name'=>$result->user_name,
'phone'=>$result->phone,
'email'=>$result->email,
'profile_photo'=>$result->profile_photo,
'user_id'=>$result->user_id,
'is_phone_verified'=>$result->is_phone_verified === 'true'? true: false,
'is_location_updated'=>$result->is_location_updated === 'true'? true: false,
);
$response = array('user'=>$resultArray,'auth_token'=>$auth_token);
$this->generateAuth($result->user_id,$auth_token);
$res = array('status'=>1,'data'=>$response);
} else {
$res = array('status'=>0,'message'=>'Invalid username / Password','code'=>'ER05');
}
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
$resultArray = array( function user_language($data) {
'city_id'=>$cityId === 'null'? null: $cityId, try{
'city_name'=>$cityName === 'null'? null: $cityName, $user_id = $this->auth_token_get($data['auth_token']);
'user_name'=>$result->user_name, if($user_id > 0) {
'phone'=>$result->phone,
'email'=>$result->email,
'profile_photo'=>$result->profile_photo,
'user_id'=>$result->user_id,
'is_phone_verified'=>$result->is_phone_verified === 'true'? true: false,
'is_location_updated'=>$result->is_location_updated === 'true'? true: false,
);
$response = array('user'=>$resultArray,'auth_token'=>$auth_token);
$this->generateAuth($result->user_id,$auth_token);
$res = array('status'=>1,'data'=>$response);
} else {
$res = array('status'=>0,'message'=>'Invalid username / Password','code'=>'ER05');
}
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
function user_language($data) {
try{
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
$this->db->where('customer_id', $user_id); $this->db->where('customer_id', $user_id);
$id = $this->db->update('customer', array('language' => $data['language'])); $id = $this->db->update('customer', array('language' => $data['language']));
if($id) { if($id) {
$res = array('status'=>1); $res = array('status'=>1);
}else { }else {
$res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER15'); $res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER15');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function availability($data) { function availability($data) {
try{ try{
$is_email_available = "true"; $is_email_available = "true";
$is_phone_available = "true"; $is_phone_available = "true";
$res_count = $this->db->where('email',$data['email'])->or_where('phone',$data['phone'])->get('customer')->result(); $res_count = $this->db->where('email',$data['email'])->or_where('phone',$data['phone'])->get('customer')->result();
if(count($res_count) > 0) { if(count($res_count) > 0) {
foreach ($res_count as $rs) { foreach ($res_count as $rs) {
if($rs->email == $data['email']) { if($rs->email == $data['email']) {
$is_email_available = "false"; $is_email_available = "false";
} }
if($rs->phone == $data['phone']) { if($rs->phone == $data['phone']) {
$is_phone_available = "false"; $is_phone_available = "false";
} }
} }
} }
$data = array( $data = array(
'is_email_available'=>$is_email_available === 'true'? true: false, 'is_email_available'=>$is_email_available === 'true'? true: false,
'is_phone_available'=>$is_phone_available === 'true'? true: false 'is_phone_available'=>$is_phone_available === 'true'? true: false
); );
$res = array('status'=>1,'data'=>$data); $res = array('status'=>1,'data'=>$data);
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function register($data) { function register($data) {
try{ try{
$email = $data['email']; $email = $data['email'];
$phone = $data['phone']; $phone = $data['phone'];
$res_count = $this->db->query("SELECT * FROM customer INNER JOIN `users` ON users.id = customer.customer_id AND users.user_type = 3 WHERE users.status = 1 AND (customer.email = '$email' OR customer.phone LIKE '%$phone')")->row(); $res_count = $this->db->query("SELECT * FROM customer INNER JOIN `users` ON users.id = customer.customer_id AND users.user_type = 3 WHERE users.status = 1 AND (customer.email = '$email' OR customer.phone LIKE '%$phone')")->row();
if(count($res_count) > 0) {
if(count($res_count) > 0) { if($res_count->email == $data['email'] && $res_count->phone == $data['phone']){
if($res_count->email == $data['email'] && $res_count->phone == $data['phone']){ $res = array('status'=>0,'message'=>'Already have an account with email id and phone no. Please login','code'=>'ER12');
$res = array('status'=>0,'message'=>'Already have an account with email id and phone no. Please login','code'=>'ER12'); } else if($res_count->email == $data['email']){
} else if($res_count->email == $data['email']){ $res = array('status'=>0,'message'=>'Email id already exists','code'=>'ER09');
$res = array('status'=>0,'message'=>'Email id already exists','code'=>'ER09'); } else if($res_count->phone == $data['phone']) {
} else if($res_count->phone == $data['phone']) { $res = array('status'=>0,'message'=>'Phone no already exists','code'=>'ER10');
$res = array('status'=>0,'message'=>'Phone no already exists','code'=>'ER10'); }
} }else {
}else { $temp_password = $data['password'];
$temp_password = $data['password']; $data['password'] = md5($data['password']);
$data['password'] = md5($data['password']); $user_data = array(
'password'=>$data['password'],
$user_data = array( 'display_name'=>'Customer',
'password'=>$data['password'], 'user_type'=> 3
'display_name'=>'Customer', );
'user_type'=> 3 $this->db->insert('users',$user_data);
); $id = $this->db->insert_id();
$this->db->insert('users',$user_data); if($id) {
$id = $this->db->insert_id(); $customer_data = array(
if($id) { 'customer_id'=>$id,
$customer_data = array( 'phone'=>$data['phone'],
'customer_id'=>$id, 'email'=>$data['email'],
'phone'=>$data['phone'], 'name'=>$data['name'],
'email'=>$data['email'], 'language'=>$data['language']
'name'=>$data['name'], );
'language'=>$data['language'] $this->db->insert('customer', $customer_data);
); $subject = "New account created successfully";
$this->db->insert('customer', $customer_data); $email_id = $data['email'];
$message = "Hi,\n\r Welcome to TimeOut.\r\n Please use username: ".$email_id." and Password: ".$temp_password." for access your account";
$subject = "New account created successfully"; $this->send_mail($subject,$email_id,$message);
$email_id = $data['email']; $this->db->select("customer.name AS user_name,customer.phone,customer.email,customer.profile_image AS profile_photo,users.id AS user_id, IF(customer.phone_verified = 0,'false','true') AS is_phone_verified");
$message = "Hi,\n\r Welcome to TimeOut.\r\n Please use username: ".$email_id." and Password: ".$temp_password." for access your account"; $this->db->where('users.id',$id);
$this->send_mail($subject,$email_id,$message); $this->db->from('users');
$this->db->select("customer.name AS user_name,customer.phone,customer.email,customer.profile_image AS profile_photo,users.id AS user_id, IF(customer.phone_verified = 0,'false','true') AS is_phone_verified"); $this->db->join('customer','customer.customer_id = users.id');
$this->db->where('users.id',$id); $result = $this->db->get()->row();
$this->db->from('users'); if($result){
$this->db->join('customer','customer.customer_id = users.id'); $auth_token = md5(microtime().rand());
$result = $this->db->get()->row(); $this->generateAuth($result->user_id,$auth_token);
if($result){ $resultArray = array(
$auth_token = md5(microtime().rand()); 'user_id'=>$result->user_id,
$this->generateAuth($result->user_id,$auth_token); 'user_name'=>$result->user_name,
$resultArray = array( 'phone'=>$result->phone,
'user_id'=>$result->user_id, 'email'=>$result->email,
'user_name'=>$result->user_name, 'profile_photo'=>$result->profile_photo,
'phone'=>$result->phone, 'is_phone_verified'=>$result->is_phone_verified === 'true'? true: false
'email'=>$result->email, );
'profile_photo'=>$result->profile_photo, $response = array('user'=>$resultArray,'auth_token'=>$auth_token);
'is_phone_verified'=>$result->is_phone_verified === 'true'? true: false $res = array('status'=>1,'data'=>$response);
); } else {
$response = array('user'=>$resultArray,'auth_token'=>$auth_token); $res = array('status'=>0,'message'=>'No record found','code'=>'ER13');
$res = array('status'=>1,'data'=>$response); }
} else { } else {
$res = array('status'=>0,'message'=>'No record found','code'=>'ER13'); $res = array('status'=>0,'message'=>'Registration failed please try again','code'=>'ER11');
} }
} else { }
$res = array('status'=>0,'message'=>'Registration failed please try again','code'=>'ER11'); } catch(Exception $e) {
} $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
} catch(Exception $e) { return $res;
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); }
}
return $res;
} function profile_details($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
function profile_details($data) { if($user_id > 0) {
try { $settingsDetails = $this->db->query("SELECT faq_en AS faq,contact_number FROM privacy_policy")->row_array();
$user_id = $this->auth_token_get($data['auth_token']); $userDetails = $this->db->query("SELECT customer.name AS name, customer.profile_image AS profile_photo,customer.gender AS gender, customer.email, customer.dob, customer.profile_city AS city_name, users.notification_status, users.email_status FROM customer INNER JOIN users ON users.id = customer.customer_id WHERE customer.customer_id = ".$user_id." AND users.status = 1 ")->row_array();
if($user_id > 0) {
$settingsDetails = $this->db->query("SELECT faq_en AS faq,contact_number FROM privacy_policy")->row_array();
$userDetails = $this->db->query("SELECT customer.name AS name, customer.profile_image AS profile_photo,customer.gender AS gender, customer.email, customer.dob, customer.profile_city AS city_name, users.notification_status, users.email_status FROM customer INNER JOIN users ON users.id = customer.customer_id WHERE customer.customer_id = ".$user_id." AND users.status = 1 ")->row_array();
if(count($settingsDetails)>0 && count($userDetails)){ if(count($settingsDetails)>0 && count($userDetails)){
$resultData = array(); $resultData = array();
$resultData = array_merge($settingsDetails, $userDetails); $resultData = array_merge($settingsDetails, $userDetails);
...@@ -210,68 +201,59 @@ class Webservice_model extends CI_Model { ...@@ -210,68 +201,59 @@ class Webservice_model extends CI_Model {
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function discover($data) { function discover($data) {
try { try {
$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) { $where = '';
$where = ''; $case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')";
$case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')"; /******************* CATEGORY *********************/
/******************* CATEGORY *********************/
if(isset($data['category_id'])) {
if(isset($data['category_id'])) { $where = ' AND events.category_id = '.$data['category_id'];
$where = ' AND events.category_id = '.$data['category_id']; }
}
/******************* END CATEGORY *********************/
/******************* END CATEGORY *********************/
/******************* LATITUDE AND LONGITUDE *********************/
/******************* LATITUDE AND LONGITUDE *********************/
if(isset($data['latitude']) && isset($data['longitude'])) {
if(isset($data['latitude']) && isset($data['longitude'])) { $radius = 25;
$radius = 25; $res = $this->db->query("SELECT events.event_id,venue.id,venue.status, (((acos(sin((".$data['latitude']."*pi()/180)) * sin((venue.location_lat*pi()/180)) + cos((".$data['latitude']."*pi()/180)) * cos((venue.location_lat*pi()/180)) * cos(((".$data['longitude']." - venue.location_lng)*pi()/180))))*180/pi())*60*1.1515) as distance FROM venue RIGHT JOIN events ON events.venue_id = venue.id HAVING distance < ".$radius." AND venue.status = '1'")->result_array();
$res = $this->db->query("SELECT events.event_id,venue.id,venue.status, (((acos(sin((".$data['latitude']."*pi()/180)) * sin((venue.location_lat*pi()/180)) + cos((".$data['latitude']."*pi()/180)) * cos((venue.location_lat*pi()/180)) * cos(((".$data['longitude']." - venue.location_lng)*pi()/180))))*180/pi())*60*1.1515) as distance FROM venue RIGHT JOIN events ON events.venue_id = venue.id HAVING distance < ".$radius." AND venue.status = '1'")->result_array();
$otherV = '';
$otherV = ''; foreach($res as $key => $value){
foreach($res as $key => $value){ if ($otherV) $otherV .= ',';
if ($otherV) $otherV .= ','; $otherV .= $value['event_id'];
$otherV .= $value['event_id']; }
}
if($otherV!='') { if($otherV!='') {
$where = ' AND events.event_id IN ('.$otherV.')'; $where = ' AND events.event_id IN ('.$otherV.')';
//print_r($where);exit();
} else{ } else{
$where = ' AND events.category_id IN (0)'; $where = ' AND events.category_id IN (0)';
} }
}
}
/******************* END LATITUDE AND LONGITUDE *********************/ /******************* END LATITUDE AND LONGITUDE ***/
/******************* CITY ID *********************/ /******************* CITY ID *********************/
if(isset($data['city_id'])) {
$where = ' AND venue.region_id = '.$data['city_id'];
}
/******************* END CITY ID *********************/
/******************* FILTER ***************************/
if(isset($data['city_id'])) { if(isset($data['filters'])){
$filtersElement = json_decode($data['filters'], true);
$where = ' AND venue.region_id = '.$data['city_id'];
}
/******************* END CITY ID *********************/
/******************* FILTER *****************************************/
if(isset($data['filters'])){
//print_r($data['filters']);exit();
$filtersElement = json_decode($data['filters'], true);
$locality_id_Array = $filtersElement['cities']; $locality_id_Array = $filtersElement['cities'];
$locality_id = preg_replace("/[^a-zA-Z 0-9]+/", "", $locality_id_Array); $locality_id = preg_replace("/[^a-zA-Z 0-9]+/", "", $locality_id_Array);
$dateId_Array = $filtersElement['date']; $dateId_Array = $filtersElement['date'];
...@@ -279,352 +261,353 @@ class Webservice_model extends CI_Model { ...@@ -279,352 +261,353 @@ class Webservice_model extends CI_Model {
$categoryId_Array = $filtersElement['category']; $categoryId_Array = $filtersElement['category'];
$categoryId = preg_replace("/[^a-zA-Z 0-9]+/", "", $categoryId_Array); $categoryId = preg_replace("/[^a-zA-Z 0-9]+/", "", $categoryId_Array);
if($categoryId!=''){ if($categoryId!=''){
$where = ' AND events.category_id='.$categoryId; $where = ' AND events.category_id='.$categoryId;
} }
//$case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')"; //$case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')";
if($dateId != '') { if($dateId != '') {
switch ($dateId) { switch ($dateId) {
case '1': case '1':
$case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')"; $case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')";
break; break;
case '2': case '2':
$case = "AND event_date_time.date = DATE_FORMAT(NOW(),'%Y-%m-%d')"; $case = "AND event_date_time.date = DATE_FORMAT(NOW(),'%Y-%m-%d')";
break; 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'));
$saturday = date( 'Y-m-d', strtotime( 'saturday this week')); $saturday = date( 'Y-m-d', strtotime( 'saturday this week'));
$case = "AND event_date_time.date = $sunday OR event_date_time.date = $saturday"; $case = "AND event_date_time.date = $sunday OR event_date_time.date = $saturday";
case '6': case '6':
$sunday = date( 'Y-m-d', strtotime( 'sunday this week')); $sunday = date( 'Y-m-d', strtotime( 'sunday this week'));
$saturday = date( 'Y-m-d', strtotime( 'saturday this week')); $saturday = date( 'Y-m-d', strtotime( 'saturday this week'));
$case = "AND event_date_time.date = $sunday OR event_date_time.date = $saturday"; $case = "AND event_date_time.date = $sunday OR event_date_time.date = $saturday";
default: default:
$case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')"; $case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')";
break; break;
} }
} }
if($locality_id!=''){ if($locality_id!=''){
$venue_res = $this->db->select('id')->where('locality_id',$locality_id)->get('venue')->result_array(); $venue_res = $this->db->select('id')->where('locality_id',$locality_id)->get('venue')->result_array();
$list = implode(',', array_map(function($v) { return $v['id']; }, $venue_res)); $list = implode(',', array_map(function($v) { return $v['id']; }, $venue_res));
$where .= ' AND events.venue_id IN('.$list.')'; $where .= ' AND events.venue_id IN('.$list.')';
} }
// $count = $this->db->query("SELECT events.event_id FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id $case WHERE events.status = 1 $where GROUP BY events.event_id")->num_rows(); // $count = $this->db->query("SELECT events.event_id FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id $case WHERE events.status = 1 $where GROUP BY events.event_id")->num_rows();
} }
/******************* END FILTER *********************/ /******************* END FILTER *********************/
/******************* PAGINATION *********************/ /******************* PAGINATION *********************/
$count = $this->db->query("SELECT events.event_id FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id $case INNER JOIN venue on venue.id = events.venue_id WHERE events.status = 1 $where GROUP BY events.event_id")->num_rows(); $count = $this->db->query("SELECT events.event_id FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id $case INNER JOIN venue on venue.id = events.venue_id WHERE events.status = 1 $where GROUP BY events.event_id")->num_rows();
//echo "hai";exit(); //echo "hai";exit();
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;
} }
// Language Trnslation // Language Trnslation
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row(); $lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') { if($lang->language == 'ar') {
$cat_field = 'event_category.category_ar'; $cat_field = 'event_category.category_ar';
} else { } else {
$cat_field = 'event_category.category'; $cat_field = 'event_category.category';
} }
// End // End
$page_limit = ($page - 1)*$per_page; $page_limit = ($page - 1)*$per_page;
if($count > $page_limit) { if($count > $page_limit) {
/******************* END PAGINATION *********************/ /******************* END PAGINATION *********************/
$result = $this->db->query("SELECT events.seat_pricing,venue.location_lat AS latitude,venue.location_lng AS longitude,events.event_id AS event_id, events.event_name AS name,`event_gallery`.`media_url` AS image, (SELECT COUNT(booking.id) FROM booking WHERE booking.event_id = events.event_id) AS attendees, $cat_field AS category, 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 FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id ".$case." LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`media_type` = 0 LEFT JOIN booking ON booking.event_id = events.event_id LEFT JOIN event_category ON events.category_id = event_category.cat_id LEFT JOIN review ON review.event_id = events.event_id INNER JOIN venue ON venue.id = events.venue_id LEFT JOIN favourite ON favourite.event_id = events.event_id AND favourite.user_id = ".$user_id." AND favourite.status = 1 WHERE events.status = 1 ".$where." GROUP BY events.event_id LIMIT ". $page_limit.", ".$per_page)->result(); $result = $this->db->query("SELECT events.seat_pricing,venue.location_lat AS latitude,venue.location_lng AS longitude,events.event_id AS event_id, events.event_name AS name,`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.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 FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id ".$case." LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`media_type` = 0 LEFT JOIN booking ON booking.event_id = events.event_id LEFT JOIN event_category ON events.category_id = event_category.cat_id LEFT JOIN review ON review.event_id = events.event_id INNER JOIN venue ON venue.id = events.venue_id LEFT JOIN favourite ON favourite.event_id = events.event_id AND favourite.user_id = ".$user_id." AND favourite.status = 1 WHERE events.status = 1 ".$where." GROUP BY events.event_id LIMIT ". $page_limit.", ".$per_page)->result();
$response = array(); $response = array();
foreach ($result as $key=>$rs) { foreach ($result as $key=>$rs) {
$pricelist = json_decode($rs->seat_pricing, TRUE); $pricelist = json_decode($rs->seat_pricing, TRUE);
$price = $pricelist['price']; $price = $pricelist['price'];
$resData = array( $resData = array(
'id' => "$key", 'id' => "$key",
'event_id'=>$rs->event_id, 'event_id'=>$rs->event_id,
'image'=>$rs->image, 'image'=>$rs->image,
'attendees'=>$rs->attendees, 'attendees'=>$rs->attendees,
'category'=>$rs->category, 'category'=>$rs->category,
'name'=>$rs->name, 'name'=>$rs->name,
'rating'=>$rs->rating, 'rating'=>$rs->rating,
'location'=>$rs->location, 'location'=>$rs->location,
'rate'=>$price, 'rate'=>$price,
'is_editors_choice'=>$rs->is_editors_choice, 'is_editors_choice'=>$rs->is_editors_choice,
'is_favorite'=>$rs->is_favorite === 'true'? true: false, 'is_favorite'=>$rs->is_favorite === 'true'? true: false,
'latitude'=>$rs->latitude, 'latitude'=>$rs->latitude,
'longitude'=>$rs->longitude 'longitude'=>$rs->longitude
); );
array_push($response, $resData); array_push($response, $resData);
} }
$cityName = $this->db->select('city')->where('customer_id', $user_id)->get('customer')->row(); $cityName = $this->db->select('city')->where('customer_id', $user_id)->get('customer')->row();
$lastBooking = $this->db->query("SELECT booking.id,review.rate FROM booking LEFT JOIN review ON review.event_id = booking.event_id WHERE booking.customer_id = ".$user_id." ORDER BY booking.id DESC LIMIT 1")->row_array(); $lastBooking = $this->db->query("SELECT booking.id,review.rate FROM booking LEFT JOIN review ON review.event_id = booking.event_id WHERE booking.customer_id = ".$user_id." ORDER BY booking.id DESC LIMIT 1")->row_array();
if($lastBooking['id'] != ''){ if($lastBooking['id'] != ''){
if($lastBooking['rate'] != ''){ if($lastBooking['rate'] != ''){
$lastBooking = "false"; $lastBooking = "false";
}else{ }else{
$lastBooking = "true";
}
}else{ $lastBooking = "true";
$lastBooking = "false"; }
}
$meta = array('total_pages'=>ceil($count/$per_page), }else{
'total'=>$count, $lastBooking = "false";
'current_page'=>$page, }
'per_page'=>$per_page $meta = array('total_pages'=>ceil($count/$per_page),
); 'total'=>$count,
'current_page'=>$page,
if(count($result)>0){ 'per_page'=>$per_page
$resultData = array(); );
$resultData['is_last_booking_avail'] = $lastBooking;
$resultData['city_name'] = $cityName->city; if(count($result)>0){
$resultData['events'] = $response; $resultData = array();
$resultData['meta'] = $meta; $resultData['is_last_booking_avail'] = $lastBooking;
$response = $resultData; $resultData['city_name'] = $cityName->city;
$res = array('status'=>1,'data'=>$response); $resultData['events'] = $response;
$resultData['meta'] = $meta;
$response = $resultData;
$res = array('status'=>1,'data'=>$response);
}else {
$res = array('status'=>1,'data' => []);
}
} else {
$res = array('status'=>1,'data' => []);
}
}else { }else {
$res = array('status'=>1,'data' => []); $res = array('status'=>1,'data' => []);
} }
} else { } else {
$res = array('status'=>1,'data' => []); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
}}else { }
$res = array('status'=>1,'data' => []); } catch(Exception $e) {
} $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} else { }
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); return $res;
} }
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} function event($data) {
return $res;
} try {
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
function event($data) { $event_id = $data['event_id'];
$this->db->query("SET SESSION group_concat_max_len = 20000");
try { $rs = $this->db->query("SELECT IF(host_categories.show_layout = 0,'false','true') AS is_layout,IF(events.has_payment = 0,'false','true') AS is_payment_required,IF(favourite.is_favorite = 1,'true','false') AS is_favorite,events.event_id, CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rate, (SELECT COUNT(booking.id) FROM booking WHERE booking.event_id = events.event_id) AS attendees, events.event_name,events.event_discription AS event_description,events.seat_pricing, events.custom_seat_layout, venue.layout, venue.layout_details,venue.venue_name,venue.venue_details,venue.location,venue.location_lat AS lat,venue.location_lng AS lng,venue.venue_name AS address_name,venue.location AS address, GROUP_CONCAT(DISTINCT `event_gallery`.`media_url`) AS media_url,IF(favourite.status = 1,'true','false') AS fav_status, GROUP_CONCAT(DISTINCT tags.tag_name) AS tag, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time, events.max_booking 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 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 tags on tags.tag_id = event_tags.tag_id LEFT JOIN review ON events.event_id = review.event_id INNER JOIN host_categories ON venue.host_cat_id = host_categories.host_cat_id WHERE event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d') AND events.event_id = ".$event_id." GROUP BY events.event_id, event_date_time.event_id")->row();
$user_id = $this->auth_token_get($data['auth_token']); if(count($rs)>0){
if($user_id > 0) { $resultData = array();
$event_id = $data['event_id']; $event_layout = '';
$this->db->query("SET SESSION group_concat_max_len = 20000"); $colorData = array();
$rs = $this->db->query("SELECT IF(host_categories.show_layout = 0,'false','true') AS is_layout,IF(events.has_payment = 0,'false','true') AS is_payment_required,IF(favourite.is_favorite = 1,'true','false') AS is_favorite,events.event_id, CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rate, (SELECT COUNT(booking.id) FROM booking WHERE booking.event_id = events.event_id) AS attendees, events.event_name,events.event_discription AS event_description,events.seat_pricing, events.custom_seat_layout, venue.layout, venue.layout_details,venue.venue_name,venue.venue_details,venue.location,venue.location_lat AS lat,venue.location_lng AS lng,venue.venue_name AS address_name,venue.location AS address, GROUP_CONCAT(DISTINCT `event_gallery`.`media_url`) AS media_url,IF(favourite.status = 1,'true','false') AS fav_status, GROUP_CONCAT(DISTINCT tags.tag_name) AS tag, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time, events.max_booking 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 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 tags on tags.tag_id = event_tags.tag_id LEFT JOIN review ON events.event_id = review.event_id INNER JOIN host_categories ON venue.host_cat_id = host_categories.host_cat_id WHERE event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d') AND events.event_id = ".$event_id." GROUP BY events.event_id, event_date_time.event_id")->row(); $booking = $this->db->where('event_id',$event_id)->select('ticket_details')->get('booking')->result();
if(count($rs)>0){ if(count($booking) > 0){
$resultData = array(); foreach ($booking as $row) {
$event_layout = ''; $priceData[] = json_decode($row->ticket_details);
$colorData = array(); if(count($priceData) > 0){
$booking = $this->db->where('event_id',$event_id)->select('ticket_details')->get('booking')->result(); foreach ($priceData as $value) {
if(count($booking) > 0){ // $colorData[$value->color] = isset($colorData[$value->color]) ? + $colorData[$value->color] + $value->no_ticket: $value->no_ticket;
foreach ($booking as $row) {
$priceData[] = json_decode($row->ticket_details);
if(count($priceData) > 0){
foreach ($priceData as $value) {
// $colorData[$value->color] = isset($colorData[$value->color]) ? + $colorData[$value->color] + $value->no_ticket: $value->no_ticket;
}
} }
} }
} }
}
if($rs->layout!=''){ if($rs->layout!=''){
if($rs->custom_seat_layout!=''){ if($rs->custom_seat_layout!=''){
$pricelist = json_decode($rs->custom_seat_layout, TRUE); $pricelist = json_decode($rs->custom_seat_layout, TRUE);
$price = min(array_column($pricelist, 'price')); $price = min(array_column($pricelist, 'price'));
$event_layout = $rs->custom_seat_layout; $event_layout = $rs->custom_seat_layout;
} else { } else {
$pricelist = json_decode($rs->layout_details, TRUE); $pricelist = json_decode($rs->layout_details, TRUE);
$price = min(array_column($pricelist, 'price')); $price = min(array_column($pricelist, 'price'));
$event_layout = $rs->layout_details; $event_layout = $rs->layout_details;
} }
} else {
$pricelist = json_decode($rs->seat_pricing, TRUE);
$price = $pricelist['price'];
$event_layout = $rs->seat_pricing;
}
$event_layout = json_decode($event_layout);
$event_layouts = array();
if(is_array($event_layout)){
foreach ($event_layout as $value) {
if(isset($colorData[$value->color])) {
$avaliable = $value->capacity - $colorData[$value->color];
} else { } else {
$pricelist = json_decode($rs->seat_pricing, TRUE); $avaliable = $value->capacity;
$price = $pricelist['price'];
$event_layout = $rs->seat_pricing;
} }
$event_layout = json_decode($event_layout); $priceLayout = array('class_name' => $value->color,
$event_layouts = array(); 'rate'=>$value->price,
if(is_array($event_layout)){ 'total_tickets'=>$value->capacity,
foreach ($event_layout as $value) { 'available_tickets'=>$avaliable,
if(isset($colorData[$value->color])) { "max_ticket"=>$rs->max_booking
$avaliable = $value->capacity - $colorData[$value->color]; );
} else { array_push($event_layouts, $priceLayout);
$avaliable = $value->capacity;
}
$priceLayout = array('class_name' => $value->color,
'rate'=>$value->price,
'total_tickets'=>$value->capacity,
'available_tickets'=>$avaliable,
"max_ticket"=>$rs->max_booking
);
array_push($event_layouts, $priceLayout);
} }
} else { } else {
$event_layouts[] = array('class_name' => null, $event_layouts[] = array('class_name' => null,
'rate'=>$event_layout->price, 'rate'=>$event_layout->price,
'total_tickets'=>null, 'total_tickets'=>null,
'available_tickets'=>null, 'available_tickets'=>null,
"max_ticket"=>$rs->max_booking "max_ticket"=>$rs->max_booking
); );
} }
$dates = explode(',', $rs->date_time);
$time_spec = array();
$data_array = array();
foreach ($dates as $rss) {
list($id,$date,$time) = explode('#', $rss);
if($date == date("Y-m-d")){
$time_array = explode(':', $time);
if($time_array['0'] > date('H')) {
$time_spec[] = array('id'=>$id, 'date'=>$date, 'time'=>$time);
$data_array[$date][] = array('id'=>$id, 'time'=>$time);
}
} else {
$data_array[$date][] = array('id'=>$id, 'time'=>$time);
$time_spec[] = array('id'=>$id, 'date'=>$date, 'time'=>$time);
}
} $dates = explode(',', $rs->date_time);
$date_list = array(); $time_spec = array();
foreach ($data_array as $key => $value) { $data_array = array();
$date_list[] = array('date'=>$key, 'time'=>$value);
foreach ($dates as $rss) {
list($id,$date,$time) = explode('#', $rss);
if($date == date("Y-m-d")){
$time_array = explode(':', $time);
if($time_array['0'] > date('H')) {
$time_spec[] = array('id'=>$id, 'date'=>$date, 'time'=>$time);
$data_array[$date][] = array('id'=>$id, 'time'=>$time);
} }
} else {
$tags = explode(',', $rs->tag); $data_array[$date][] = array('id'=>$id, 'time'=>$time);
$media_url = explode(',', $rs->media_url); $time_spec[] = array('id'=>$id, 'date'=>$date, 'time'=>$time);
$resData = array( }
'event_id'=>$rs->event_id,
'name'=>$rs->event_name,
'description'=>$rs->event_description,
'rating'=>$rs->rate,
'total_attendees'=>$rs->attendees == ''? '0': $rs->attendees,
'layout_image'=>$rs->layout,
'is_favorite'=>$rs->is_favorite === 'true'? true: false,
'is_payment_required'=>$rs->is_payment_required === 'true'? true: false,
'is_layout'=>$rs->is_layout === 'true'? true: false,
'photos'=>$media_url,
'time'=>$time_spec[0]['time'],
'date'=>$time_spec[0]['date'],
'date_list'=>$date_list,
'classes'=>$event_layouts,
'latitude'=>$rs->lat,
'address_name'=>$rs->address_name,
'address'=>$rs->address,
'longitude'=>$rs->lng
);
$res = array('status'=>1,'data'=>$resData);
} else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
$date_list = array();
} else { foreach ($data_array as $key => $value) {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $date_list[] = array('date'=>$key, 'time'=>$value);
} }
$tags = explode(',', $rs->tag);
} catch(Exception $e) { $media_url = explode(',', $rs->media_url);
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $resData = array(
} 'event_id'=>$rs->event_id,
return $res; 'name'=>$rs->event_name,
} 'description'=>$rs->event_description,
function generateAuth($userId,$auth_token) { 'rating'=>$rs->rate,
$this->db->insert('customer_auth',array('user_id'=>$userId, 'auth_token'=>$auth_token)); 'total_attendees'=>$rs->attendees == ''? '0': $rs->attendees,
} 'layout_image'=>$rs->layout,
'is_favorite'=>$rs->is_favorite === 'true'? true: false,
function auth_token_get($token) { 'is_payment_required'=>$rs->is_payment_required === 'true'? true: false,
$rs = $this->db->select('user_id')->where('auth_token', $token)->get('customer_auth')->row(); 'is_layout'=>$rs->is_layout === 'true'? true: false,
if(count($rs) > 0) { 'photos'=>$media_url,
return $rs->user_id; 'time'=>$time_spec[0]['time'],
} else { 'date'=>$time_spec[0]['date'],
return 0; 'date_list'=>$date_list,
} 'classes'=>$event_layouts,
} 'latitude'=>$rs->lat,
'address_name'=>$rs->address_name,
function send_mail($subject,$email,$message,$attach=null) { 'address'=>$rs->address,
$ci =& get_instance(); 'longitude'=>$rs->lng
);
$res = array('status'=>1,'data'=>$resData);
} else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
}
} else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
}
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
function generateAuth($userId,$auth_token) {
$this->db->insert('customer_auth',array('user_id'=>$userId, 'auth_token'=>$auth_token));
}
function auth_token_get($token) {
$rs = $this->db->select('user_id')->where('auth_token', $token)->get('customer_auth')->row();
if(count($rs) > 0) {
return $rs->user_id;
} else {
return 0;
}
}
function send_mail($subject,$email,$message,$attach=null) {
$ci =& get_instance();
$ci->load->library('email'); $ci->load->library('email');
$ci->email->initialize(array( $ci->email->initialize(array(
'protocol' => 'smtp', 'protocol' => 'smtp',
'smtp_host' => 'smtp.sendgrid.net', 'smtp_host' => 'smtp.sendgrid.net',
'smtp_user' => '[email protected]', 'smtp_user' => '[email protected]',
'smtp_pass' => 'Golden_123', 'smtp_pass' => 'Golden_123',
'smtp_port' => 587, 'smtp_port' => 587,
'crlf' => "\r\n", 'crlf' => "\r\n",
'newline' => "\r\n" 'newline' => "\r\n"
)); ));
$ci->email->from('[email protected]', 'TimeOut'); $ci->email->from('[email protected]', 'TimeOut');
$ci->email->to($email); $ci->email->to($email);
$ci->email->cc('[email protected]'); $ci->email->cc('[email protected]');
$ci->email->subject($subject); $ci->email->subject($subject);
$ci->email->message($message); $ci->email->message($message);
if($attach!=null) { if($attach!=null) {
$ci->email->attach($attach); $ci->email->attach($attach);
} }
return $ci->email->send(); return $ci->email->send();
} }
function get_category_list($data) { function get_category_list($data) {
try { try {
$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) {
if(isset($data['query'])) { if(isset($data['query'])) {
$where = ' AND event_category.category LIKE '."'".$data['query'].'%'."'"; $where = ' AND event_category.category LIKE '."'".$data['query'].'%'."'";
} else { } else {
$where = ''; $where = '';
} }
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row(); $lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') { if($lang->language == 'ar') {
$cat_field = 'event_category.category_ar'; $cat_field = 'event_category.category_ar';
} else { } else {
$cat_field = 'event_category.category'; $cat_field = 'event_category.category';
} }
$result = $this->db->query("SELECT events.venue_id AS region_id,event_category.cat_id AS category_id, $cat_field AS category_name, event_category.category_image AS category_image, event_category.category_description AS category_description FROM event_category LEFT JOIN events ON events.category_id = event_category.cat_id WHERE event_category.status = 1 ".$where." GROUP BY event_category.cat_id")->result(); $result = $this->db->query("SELECT events.venue_id AS region_id,event_category.cat_id AS category_id, $cat_field AS category_name, event_category.category_image AS category_image, event_category.category_description AS category_description FROM event_category LEFT JOIN events ON events.category_id = event_category.cat_id WHERE event_category.status = 1 ".$where." GROUP BY event_category.cat_id")->result();
if(count($result)>0){ if(count($result)>0){
$resultData = array(); $resultData = array();
...@@ -633,72 +616,72 @@ function event($data) { ...@@ -633,72 +616,72 @@ function event($data) {
} else { } else {
$res = array('status'=>1,'data' => []); $res = array('status'=>1,'data' => []);
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function add_favorites($data) { function add_favorites($data) {
try{ try{
$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) {
$res_count = $this->db->where('event_id',$data['event_id'])->where('user_id',$user_id)->get('favourite')->num_rows(); $res_count = $this->db->where('event_id',$data['event_id'])->where('user_id',$user_id)->get('favourite')->num_rows();
$favoriteList = array('user_id'=>$user_id, 'event_id'=>$data['event_id'], 'is_favorite'=>$data['is_favorite']);
if($res_count > 0) {
$data=array('event_id'=>$data['event_id'], 'is_favorite'=>$data['is_favorite']); $favoriteList = array('user_id'=>$user_id, 'event_id'=>$data['event_id'], 'is_favorite'=>$data['is_favorite']);
$this->db->where('user_id',$user_id);
$this->db->where('event_id',$data['event_id']);
$id = $this->db->update('favourite',$data);
}else{
$id = $this->db->insert('favourite',$favoriteList); if($res_count > 0) {
}
if($id) { $data=array('event_id'=>$data['event_id'], 'is_favorite'=>$data['is_favorite']);
$this->db->where('user_id',$user_id);
$this->db->where('event_id',$data['event_id']);
$id = $this->db->update('favourite',$data);
$res = array('status'=>1); }else{
}else { $id = $this->db->insert('favourite',$favoriteList);
$res = array('status'=>0,'message'=>'Add Favorite failed please try again','code'=>'ER14'); }
}
if($id) {
} else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
}
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
function get_cities_list($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
// language
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') { $res = array('status'=>1);
$region_name = 'region.name_ar';
} else { }else {
$region_name = 'region.name'; $res = array('status'=>0,'message'=>'Add Favorite failed please try again','code'=>'ER14');
} }
// End
$result = $this->db->query("SELECT region.id AS city_id, $region_name AS city_name, region.region_icon AS city_image FROM region WHERE region.status = 1 GROUP BY region.name")->result(); } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
}
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
function get_cities_list($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
// language
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') {
$region_name = 'region.name_ar';
} else {
$region_name = 'region.name';
}
// End
$result = $this->db->query("SELECT region.id AS city_id, $region_name AS city_name, region.region_icon AS city_image FROM region WHERE region.status = 1 GROUP BY region.name")->result();
if(count($result)>0){ if(count($result)>0){
$resultData = array(); $resultData = array();
$resultData['cities'] = $result; $resultData['cities'] = $result;
...@@ -706,190 +689,190 @@ function event($data) { ...@@ -706,190 +689,190 @@ function event($data) {
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function update_city($data) { function update_city($data) {
try{ try{
$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) {
if($data['city_id']!=''){ if(isset($data['city_id']) && !empty($data['city_id'])){
$re = $this->db->select('name')->where('id', $data['city_id'])->where('status', 1)->get('region')->row(); $re = $this->db->select('name')->where('id', $data['city_id'])->where('status', 1)->get('region')->row();
$cityName = $re->name; $cityName = $re->name;
$cityId = $data['city_id']; $cityId = $data['city_id'];
}else{ }else{
$radius = 25; $radius = 25;
$data = $this->db->query("SELECT id,name,status, (((acos(sin((".$data['latitude']."*pi()/180)) * sin((region_lat*pi()/180)) + cos((".$data['latitude']."*pi()/180)) * cos((region_lat*pi()/180)) * cos(((".$data['longitude']." - region_lng)*pi()/180))))*180/pi())*60*1.1515) as distance FROM region HAVING distance < ".$radius." AND status = '1' ORDER BY distance ASC LIMIT 1")->result_array(); $data = $this->db->query("SELECT id,name,status, (((acos(sin((".$data['latitude']."*pi()/180)) * sin((region_lat*pi()/180)) + cos((".$data['latitude']."*pi()/180)) * cos((region_lat*pi()/180)) * cos(((".$data['longitude']." - region_lng)*pi()/180))))*180/pi())*60*1.1515) as distance FROM region HAVING distance < ".$radius." AND status = '1' ORDER BY distance ASC LIMIT 1")->result_array();
$cityName = $data[0]['name']; if(!empty($data)){
$cityId = $data[0]['id']; $cityId = $data[0]['id'];
$cityName = $data[0]['name'];
}
} }
$this->db->where('customer_id', $user_id); if(!empty($cityId)){
$id = $this->db->update('customer', array('city' => $cityName)); $this->db->where('customer_id', $user_id);
if($id) { $this->db->update('customer', array('city' => $cityName));
$resultArray = array(
'city_id'=>$cityId, $resultArray = array('city_id'=>$cityId,'city_name'=>$cityName);
'city_name'=>$cityName $res = array('status'=>1, 'data'=>$resultArray);
); }else {
$res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER15');
$res = array('status'=>1, 'data'=>$resultArray); }
}else { } else {
$res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER15'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} else { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
} catch(Exception $e) { return $res;
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); }
}
return $res;
} function booking_summary($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
function booking_summary($data) { if($user_id > 0) {
try { $bookingId = $data['booking_id'];
$user_id = $this->auth_token_get($data['auth_token']); $ticketDetails = $this->db->query("SELECT ticket_details FROM booking WHERE bookId = '$bookingId'")->row();
if($user_id > 0) { $res = json_decode($ticketDetails->ticket_details);
$bookingId = $data['booking_id']; $kk['ticket_rate'] = "$res->price";
$ticketDetails = $this->db->query("SELECT ticket_details FROM booking WHERE bookId = '$bookingId'")->row(); $settingsDetails = $this->db->query("SELECT instruction_en AS instruction,contact_number FROM privacy_policy")->row_array();
$res = json_decode($ticketDetails->ticket_details); $result = $this->db->query("SELECT booking.qrcode,events.event_id,events.has_payment AS is_payment_required,events.event_name, `event_gallery`.`media_url` AS event_image,event_date_time.date, booking.bookId AS ticket_id,event_date_time.time,venue.location_lat AS latitude, venue.location_lng AS longitude, venue.venue_name AS address_name, venue.location AS address, booking.amount AS total_rate, booking.no_of_ticket AS ticket_count, customer.name AS profile_name, customer.profile_image AS profile_photo FROM events LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`media_type` = 0 LEFT JOIN booking ON booking.event_id = events.event_id RIGHT JOIN event_date_time ON event_date_time.id = booking.event_date_id LEFT JOIN venue ON venue.id = events.venue_id LEFT JOIN customer ON customer.customer_id = booking.customer_id WHERE booking.bookId = '$bookingId' AND booking.customer_id = ".$user_id."")->row_array();
$kk['ticket_rate'] = "$res->price";
$settingsDetails = $this->db->query("SELECT instruction_en AS instruction,contact_number FROM privacy_policy")->row_array();
$result = $this->db->query("SELECT booking.qrcode, events.event_id,events.event_name, `event_gallery`.`media_url` AS event_image,event_date_time.date, booking.bookId AS ticket_id,event_date_time.time,venue.location_lat AS latitude, venue.location_lng AS longitude, venue.venue_name AS address_name, venue.location AS address, booking.amount AS total_rate, booking.no_of_ticket AS ticket_count, customer.name AS profile_name, customer.profile_image AS profile_photo FROM events LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`media_type` = 0 LEFT JOIN booking ON booking.event_id = events.event_id RIGHT JOIN event_date_time ON event_date_time.id = booking.event_date_id LEFT JOIN venue ON venue.id = events.venue_id LEFT JOIN customer ON customer.customer_id = booking.customer_id WHERE booking.bookId = '$bookingId' AND booking.customer_id = ".$user_id."")->row_array();
if(count($result)>0 && count($settingsDetails)>0){ if(count($result)>0 && count($settingsDetails)>0){
$result['is_payment_required'] = ($result['is_payment_required'] == 1) ? true: false;
$resultData = array(); $resultData = array();
$resultData = array_merge($settingsDetails, $result,$kk); $resultData = array_merge($settingsDetails, $result,$kk);
$res = array('status'=>1,'data'=>$resultData); $res = array('status'=>1,'data'=>$resultData);
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function payment($data) { function payment($data) {
try{ try{
$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) {
$this->db->where('customer_id', $user_id); $this->db->where('customer_id', $user_id);
$this->db->where('status', 1); $this->db->where('status', 1);
$this->db->where('id', $data['booking_id']); $this->db->where('id', $data['booking_id']);
$id = $this->db->update('booking', array('payment_status' => 1)); $id = $this->db->update('booking', array('payment_status' => 1));
if($id) { if($id) {
$res = array('status'=>1); $res = array('status'=>1);
}else { }else {
$res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER11'); $res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER11');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function event_rating($data) { function event_rating($data) {
try{ try{
$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) {
$ratingDetails = array( $ratingDetails = array(
'event_id'=>$data['event_id'], 'event_id'=>$data['event_id'],
'customer_id'=>$user_id, 'customer_id'=>$user_id,
'rate'=>$data['rating'], 'rate'=>$data['rating'],
'feedback'=>$data['description'] 'feedback'=>$data['description']
); );
$id = $this->db->insert('review', $ratingDetails); $id = $this->db->insert('review', $ratingDetails);
if($id) { if($id) {
$res = array('status'=>1); $res = array('status'=>1);
}else { }else {
$res = array('status'=>0,'message'=>'Event Rating failed please try again','code'=>'ER11'); $res = array('status'=>0,'message'=>'Event Rating failed please try again','code'=>'ER11');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function update_notification_email_status($data) { function update_notification_email_status($data) {
try{ try{
$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) {
$notData = array('notification_status'=>$data['notification_status'], 'email_status'=>$data['email_status']); $notData = array('notification_status'=>$data['notification_status'], 'email_status'=>$data['email_status']);
$this->db->where('id', $user_id); $this->db->where('id', $user_id);
$this->db->where('status', 1); $this->db->where('status', 1);
$this->db->where('user_type', 3); $this->db->where('user_type', 3);
$status = $this->db->update('users', $notData); $status = $this->db->update('users', $notData);
if ($status){ if ($status){
$res = array('status'=>1); $res = array('status'=>1);
}else { }else {
$res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER15'); $res = array('status'=>0,'message'=>'Update failed please try again','code'=>'ER15');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
public function update_profile($data) { public function update_profile($data) {
try{ try{
$user_id = $this->auth_token_get($data['auth_token']); $user_id = $this->auth_token_get($data['auth_token']);
$img_error = 0; $img_error = 0;
if($user_id > 0) { if($user_id > 0) {
$post_data = $data; $post_data = $data;
unset($post_data['file']); unset($post_data['file']);
unset($post_data['auth_token']); unset($post_data['auth_token']);
if(isset($data['email'])){ if(isset($data['email'])){
$this->db->select('customer.email'); $this->db->select('customer.email');
$this->db->where('customer.email',$data['email']); $this->db->where('customer.email',$data['email']);
$this->db->where('customer_id !=',$user_id); $this->db->where('customer_id !=',$user_id);
$this->db->where('users.status !=',2); $this->db->where('users.status !=',2);
$this->db->from('users'); $this->db->from('users');
$this->db->join('customer','customer.customer_id = users.id'); $this->db->join('customer','customer.customer_id = users.id');
$num = $this->db->get()->num_rows(); $num = $this->db->get()->num_rows();
if($num > 0) if($num > 0)
{ {
$res = array('status'=>0,'message'=>'Email address already exist','code'=>'ER32'); $res = array('status'=>0,'message'=>'Email address already exist','code'=>'ER32');
return $res; return $res;
} }
} }
if(isset($data['file'])){ if(isset($data['file'])){
$img=$data['file']['name']; $img=$data['file']['name'];
$expbanner = explode('.',$img); $expbanner = explode('.',$img);
$img_ext = strtolower($expbanner[1]); $img_ext = strtolower($expbanner[1]);
$rand = rand(10000,99999); $rand = rand(10000,99999);
$encname = time().$rand; $encname = time().$rand;
if($img_ext=='png' || $img_ext=='jpeg' || $img_ext == 'jpg' || $img_ext == 'gif'){ if($img_ext=='png' || $img_ext=='jpeg' || $img_ext == 'jpg' || $img_ext == 'gif'){
$bannername = $encname.'.'.$img_ext; $bannername = $encname.'.'.$img_ext;
$imagePath="./assets/uploads/".$bannername; $imagePath="./assets/uploads/".$bannername;
$post_data['profile_image'] = "assets/uploads/".$bannername; $post_data['profile_image'] = "assets/uploads/".$bannername;
move_uploaded_file($data['file']["tmp_name"],$imagePath); move_uploaded_file($data['file']["tmp_name"],$imagePath);
...@@ -900,52 +883,51 @@ function event($data) { ...@@ -900,52 +883,51 @@ function event($data) {
$res = array('status'=>0,'message'=>'Profile update failed','code'=>'ER32'); $res = array('status'=>0,'message'=>'Profile update failed','code'=>'ER32');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid Image type','code'=>'ER41'); $res = array('status'=>0,'message'=>'Invalid Image type','code'=>'ER41');
} }
} else { } else {
$state = $this->db->where('customer_id',$user_id)->update('customer',$post_data); $state = $this->db->where('customer_id',$user_id)->update('customer',$post_data);
if($state){ if($state){
$img_error = 1; $img_error = 1;
} else { } else {
$res = array('status'=>0,'message'=>'Profile update failed','code'=>'ER32'); $res = array('status'=>0,'message'=>'Profile update failed','code'=>'ER32');
} }
} }
if($img_error == 1) { if($img_error == 1) {
$this->db->select('customer.name,customer.dob,customer.phone,customer.email,customer.profile_image AS image,customer.gender,users.id AS userId, customer.city'); $this->db->select('customer.name,customer.dob,customer.phone,customer.email,customer.profile_image AS image,customer.gender,users.id AS userId, customer.city');
$this->db->where('users.id',$user_id); $this->db->where('users.id',$user_id);
$this->db->from('users'); $this->db->from('users');
$this->db->join('customer','customer.customer_id = users.id'); $this->db->join('customer','customer.customer_id = users.id');
$result = $this->db->get()->row(); $result = $this->db->get()->row();
if($result){ if($result){
$res = array('status'=>1,'data'=>$result); $res = array('status'=>1,'data'=>$result);
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} }
catch(Exception $e) { catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function booking($data) { function booking($data) {
try{ try{
$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) {
$post_data = $data;
$post_data = $data; unset($post_data['auth_token']);
unset($post_data['auth_token']); $post_data['customer_id'] = $user_id;
$post_data['customer_id'] = $user_id; $post_data['ticket_details'] = json_encode($post_data['ticket_details']);
$post_data['ticket_details'] = json_encode($post_data['ticket_details']); $post_data['status'] = 3;
$post_data['status'] = 1; $code = 'TO';
$code = 'TO';
$ymd = date('ymd'); $ymd = date('ymd');
$squence = rand(1111,9999); $squence = rand(1111,9999);
$squence = str_pad($squence,4,0,STR_PAD_LEFT); $squence = str_pad($squence,4,0,STR_PAD_LEFT);
...@@ -953,74 +935,72 @@ function event($data) { ...@@ -953,74 +935,72 @@ function event($data) {
$post_data['qrcode'] = genQRcode($post_data['bookId']); $post_data['qrcode'] = genQRcode($post_data['bookId']);
$rs = $this->db->insert('booking', $post_data); $rs = $this->db->insert('booking', $post_data);
$id = $this->db->insert_id(); $id = $this->db->insert_id();
$post_data['booking_date'] = date('Y-m-d H:i:s');
if($id){ if($id){
$res = array('status'=>1,'data'=>array('bookingCode'=>$post_data['bookId'])); $res = array('status'=>1,'data'=>array('bookingCode'=>$post_data['bookId']));
} else { } else {
$res = array('status'=>0,'message'=>'Seat booking failed','code'=>'ER37'); $res = array('status'=>0,'message'=>'Seat booking failed','code'=>'ER37');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function generateQR($data) { function generateQR($data) {
return 'https://www.barcodefaq.com/wp-content/uploads/2018/08/gs1-qrcode-fnc1.png'; return 'https://www.barcodefaq.com/wp-content/uploads/2018/08/gs1-qrcode-fnc1.png';
} }
function cancel($data) { function cancel($data) {
try { try {
$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) {
$res_count = $this->db->where('bookId',$data['booking_id'])->where('status',1)->get('booking')->num_rows(); $res_count = $this->db->where('bookId',$data['booking_id'])->where('status',1)->get('booking')->num_rows();
if($res_count > 0) { if($res_count > 0) {
$rs = $this->db->where('bookId',$data['booking_id'])->update('booking',array('status'=>0)); $rs = $this->db->where('bookId',$data['booking_id'])->update('booking',array('status'=>0));
if($rs) { if($rs) {
$res = array('status'=>1,'data'=>null); $res = array('status'=>1,'data'=>null);
} else { } else {
$res = array('status'=>0,'message'=>'Cancel submission failed','code'=>'ER25'); $res = array('status'=>0,'message'=>'Cancel submission failed','code'=>'ER25');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid booking code','code'=>'ER24'); $res = array('status'=>0,'message'=>'Invalid booking code','code'=>'ER24');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function favouritelist($data) { function favouritelist($data) {
try { try {
$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) {
$where = array( $where = array(
'favourite.status'=>1, 'favourite.status'=>1,
'favourite.is_favorite'=>1, 'favourite.is_favorite'=>1,
'favourite.user_id'=>$user_id, 'favourite.user_id'=>$user_id,
'events.status'=>1 'events.status'=>1
); );
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row(); $lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') { if($lang->language == 'ar') {
$cat_field = 'event_category.category_ar'; $cat_field = 'event_category.category_ar';
} else { } else {
$cat_field = 'event_category.category'; $cat_field = 'event_category.category';
} }
$result = $this->db->select("events.event_id,event_gallery.media_url,(SELECT COUNT(booking.id) FROM booking WHERE booking.event_id = events.event_id) AS attendees, $result = $this->db->select("events.event_id,event_gallery.media_url,(SELECT COUNT(booking.id) FROM booking WHERE booking.event_id = events.event_id) AS attendees,
$cat_field AS category,events.event_name,CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rating,venue.location,IF(favourite.is_favorite = 0,'false','true') AS is_favorite,IF(events.provider_id = 0,'false','true') AS is_editors_choice,events.seat_pricing,events.custom_seat_layout,venue.layout,venue.layout_details")->where($where)->from('favourite')->join('review', 'review.event_id = favourite.event_id','LEFT')->join('events', 'events.event_id = favourite.event_id')->join('booking', 'booking.event_id = events.event_id','LEFT')->join('venue', 'venue.id = events.venue_id')->join('event_category', 'events.category_id = event_category.cat_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->group_by('events.event_id')->get()->result(); $cat_field AS category,events.event_name,CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rating,venue.location,IF(favourite.is_favorite = 0,'false','true') AS is_favorite,IF(events.provider_id = 0,'false','true') AS is_editors_choice,events.seat_pricing,events.custom_seat_layout,venue.layout,venue.layout_details")->where($where)->from('favourite')->join('review', 'review.event_id = favourite.event_id','LEFT')->join('events', 'events.event_id = favourite.event_id')->join('booking', 'booking.event_id = events.event_id','LEFT')->join('venue', 'venue.id = events.venue_id')->join('event_category', 'events.category_id = event_category.cat_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->group_by('events.event_id')->get()->result();
if(count($result)>0){ if(count($result)>0){
$response = array(); $response = array();
foreach ($result as $rs) { foreach ($result as $rs) {
...@@ -1048,264 +1028,245 @@ function event($data) { ...@@ -1048,264 +1028,245 @@ function event($data) {
'location'=>$rs->location, 'location'=>$rs->location,
'is_favorite'=>$rs->is_favorite === 'true'? true: false, 'is_favorite'=>$rs->is_favorite === 'true'? true: false,
'is_editors_choice'=>$rs->is_editors_choice === 'true'? true: false 'is_editors_choice'=>$rs->is_editors_choice === 'true'? true: false
); );
array_push($response, $resData); array_push($response, $resData);
} }
$res = array('status'=>1,'data'=>$response); $res = array('status'=>1,'data'=>$response);
//print_r($res);exit();
} else { } else {
$res = array('status'=>1,'data' => []); $res = array('status'=>1,'data' => []);
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} catch(Exception $e) { }
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); return $res;
} }
return $res;
} function bookedlist_old($data) {
try {
function bookedlist_old($data) { $per_page = 10;
try { $user_id = $this->auth_token_get($data['auth_token']);
$per_page = 10; if($user_id > 0) {
$user_id = $this->auth_token_get($data['auth_token']); $count = $this->db->select('booking.bookId AS booking_id,booking.event_id,events.event_name,event_gallery.media_url AS event_image,venue.location,event_date_time.date,event_date_time.time,booking.no_of_ticket AS ticket_count,(CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 ELSE 2 END) AS booking_status')->where('booking.customer_id',$user_id)->from('booking')->join('transaction','transaction.booking_id = booking.bookId AND transaction.status = 1', 'LEFT')->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')->order_by('booking.id','DESC')->get()->num_rows();
if($user_id > 0) {
$count = $this->db->select('booking.bookId AS booking_id,booking.event_id,events.event_name,event_gallery.media_url AS event_image,venue.location,event_date_time.date,event_date_time.time,booking.no_of_ticket AS ticket_count,(CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 ELSE 2 END) AS booking_status')->where('booking.customer_id',$user_id)->from('booking')->join('transaction','transaction.booking_id = booking.bookId AND transaction.status = 1', 'LEFT')->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')->order_by('booking.id','DESC')->get()->num_rows(); if($count > 0) {
if(isset($data['page'])) {
if($count > 0) { $page = $data['page'];
} else {
if(isset($data['page'])) { $page = 1;
$page = $data['page']; }
} else { $page_limit = ($page - 1) * $per_page;
$page = 1; if($count > $page_limit) {
} $result = $this->db->select('booking.bookId AS booking_id,booking.event_id,events.event_name,event_gallery.media_url AS event_image,venue.location,event_date_time.date,event_date_time.time,booking.no_of_ticket AS ticket_count,
(CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 ELSE 2 END) AS booking_status')->where('booking.customer_id',$user_id)->from('booking')->join('transaction','transaction.booking_id = booking.bookId', 'LEFT')->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')->where('booking.payment_status', 1)->order_by('booking.id','DESC')->limit($per_page,$page_limit)->get()->result();
$page_limit = ($page - 1) * $per_page;
if($count > $page_limit) { echo $this->db->last_query();
$result = $this->db->select('booking.bookId AS booking_id,booking.event_id,events.event_name,event_gallery.media_url AS event_image,venue.location,event_date_time.date,event_date_time.time,booking.no_of_ticket AS ticket_count,
(CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 ELSE 2 END) AS booking_status')->where('booking.customer_id',$user_id)->from('booking')->join('transaction','transaction.booking_id = booking.bookId', 'LEFT')->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')->where('booking.payment_status', 1)->order_by('booking.id','DESC')->limit($per_page,$page_limit)->get()->result(); $meta = array('total_pages'=>ceil($count/$per_page),
'total'=>$count,
echo $this->db->last_query(); 'current_page'=>$page,
'per_page'=>$per_page
$meta = array('total_pages'=>ceil($count/$per_page), );
'total'=>$count,
'current_page'=>$page, $response = array('bookings'=>$result,'meta'=>$meta);
'per_page'=>$per_page
); $res = array('status'=>1,'data'=>$response);
} else {
$response = array('bookings'=>$result,'meta'=>$meta); $res = array('status'=>1,'data' => []);
}
$res = array('status'=>1,'data'=>$response); } else {
} else { $res = array('status'=>1,'data' => []);
$res = array('status'=>1,'data' => []); }
} } else {
} else { $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
$res = array('status'=>1,'data' => []); }
} } catch(Exception $e) {
} else { $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); }
} return $res;
} catch(Exception $e) { }
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} function bookedlist($data) {
return $res; try {
} $per_page = 10;
$user_id = $this->auth_token_get($data['auth_token']);
function bookedlist($data) { if($user_id > 0) {
try { $result1 = $this->db->select('booking.bookId AS booking_id,booking.event_id,events.event_name,event_gallery.media_url AS event_image,venue.location,event_date_time.date,event_date_time.time,booking.no_of_ticket AS ticket_count,
$per_page = 10; (CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 ELSE 2 END) AS booking_status, transaction.status AS t_status,events.has_payment')->where('booking.customer_id',$user_id)->from('booking')->join('events','booking.event_id = events.event_id')->join('event_date_time','booking.event_date_id = event_date_time.id')->join('transaction','transaction.booking_id = booking.bookId','LEFT')->join('venue', 'venue.id = events.venue_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->order_by('booking.id','DESC')->get()->result_array();
$user_id = $this->auth_token_get($data['auth_token']); foreach ($result1 as $value) {
if($user_id > 0) { if($value['t_status'] != '2' AND $value['t_status'] != '0' ) {
$result1 = $this->db->select('booking.bookId AS booking_id,booking.event_id,events.event_name,event_gallery.media_url AS event_image,venue.location,event_date_time.date,event_date_time.time,booking.no_of_ticket AS ticket_count, $data_arr[] = $value;
(CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 ELSE 2 END) AS booking_status, transaction.status AS t_status,events.has_payment')->where('booking.customer_id',$user_id)->from('booking')->join('events','booking.event_id = events.event_id')->join('event_date_time','booking.event_date_id = event_date_time.id')->join('transaction','transaction.booking_id = booking.bookId','LEFT')->join('venue', 'venue.id = events.venue_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->order_by('booking.id','DESC')->get()->result_array(); }
foreach ($result1 as $value) { }
$count = count($data_arr);
if($value['t_status'] != '2' AND $value['t_status'] != '0' ) { if($count > 0) {
$data_arr[] = $value;
} if(isset($data['page'])) {
} $page = $data['page'];
$count = count($data_arr); } else {
if($count > 0) { $page = 1;
}
if(isset($data['page'])) { $page_limit = ($page - 1) * $per_page;
$page = $data['page']; if($count > $page_limit) {
} else { $result = $this->db->select('booking.bookId AS booking_id,booking.event_id,events.event_name,event_gallery.media_url AS event_image,venue.location,event_date_time.date,event_date_time.time,booking.no_of_ticket AS ticket_count,
$page = 1; (CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 ELSE 2 END) AS booking_status, transaction.status AS t_status,events.has_payment')->where('booking.customer_id',$user_id)->from('booking')->join('events','booking.event_id = events.event_id')->join('event_date_time','booking.event_date_id = event_date_time.id')->join('transaction','transaction.booking_id = booking.bookId','LEFT')->join('venue', 'venue.id = events.venue_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->order_by('booking.id','DESC')->get()->result_array();
}
$page_limit = ($page - 1) * $per_page; $data_arr = array();
if($count > $page_limit) {
$result = $this->db->select('booking.bookId AS booking_id,booking.event_id,events.event_name,event_gallery.media_url AS event_image,venue.location,event_date_time.date,event_date_time.time,booking.no_of_ticket AS ticket_count, foreach ($result as $value) {
(CASE booking.status WHEN 1 THEN 0 WHEN 2 THEN 1 WHEN 0 THEN 2 ELSE 2 END) AS booking_status, transaction.status AS t_status,events.has_payment')->where('booking.customer_id',$user_id)->from('booking')->join('events','booking.event_id = events.event_id')->join('event_date_time','booking.event_date_id = event_date_time.id')->join('transaction','transaction.booking_id = booking.bookId','LEFT')->join('venue', 'venue.id = events.venue_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->order_by('booking.id','DESC')->get()->result_array();
if($value['t_status'] != '2' AND $value['t_status'] != '0' ) {
$data_arr = array(); $data_arr[] = $value;
$bookList = array_slice($data_arr, $page_limit, $per_page, false);
foreach ($result as $value) { }
}
if($value['t_status'] != '2' AND $value['t_status'] != '0' ) { $meta = array('total_pages'=>ceil($count/$per_page),
$data_arr[] = $value; 'total'=>$count,
$bookList = array_slice($data_arr, $page_limit, $per_page, false); 'current_page'=>$page,
} 'per_page'=>$per_page
} );
$meta = array('total_pages'=>ceil($count/$per_page), $response = array('bookings'=>$bookList,'meta'=>$meta);
'total'=>$count,
'current_page'=>$page, $res = array('status'=>1,'data'=>$response);
'per_page'=>$per_page } else {
); $res = array('status'=>1,'data' => []);
$response = array('bookings'=>$bookList,'meta'=>$meta); }
} else {
$res = array('status'=>1,'data'=>$response); $res = array('status'=>1,'data' => []);
} else { }
$res = array('status'=>1,'data' => []); } else {
} $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} else { }
$res = array('status'=>1,'data' => []); } catch(Exception $e) {
} $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} else { }
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); return $res;
} }
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); function get_settings($data) {
} try {
return $res;
}
function get_settings($data) {
try {
$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) {
$settingsDetails = $this->db->query("SELECT privacy_policy_en,terms_and_conditions_en,contact_number FROM privacy_policy")->row_array(); $settingsDetails = $this->db->query("SELECT privacy_policy_en,terms_and_conditions_en,contact_number FROM privacy_policy")->row_array();
$notificationDetails = $this->db->query("SELECT notification_status, email_status FROM users WHERE id = ".$user_id."")->row_array(); $notificationDetails = $this->db->query("SELECT notification_status, email_status FROM users WHERE id = ".$user_id."")->row_array();
if(count($settingsDetails)>0 && count($notificationDetails)>0){ if(count($settingsDetails)>0 && count($notificationDetails)>0){
$resultData = array_merge($settingsDetails, $notificationDetails); $resultData = array_merge($settingsDetails, $notificationDetails);
$resultArray = array( $resultArray = array(
'privacy_policy'=>$resultData['privacy_policy_en'], 'privacy_policy'=>$resultData['privacy_policy_en'],
'terms_and_conditions'=>$resultData['terms_and_conditions_en'], 'terms_and_conditions'=>$resultData['terms_and_conditions_en'],
'contact_number'=>$resultData['contact_number'], 'contact_number'=>$resultData['contact_number'],
'notification_status'=>$resultData['notification_status'] == 0? 0: 1, 'notification_status'=>$resultData['notification_status'] == 0? 0: 1,
'email_status'=>$resultData['email_status'] == 0? 0: 1 'email_status'=>$resultData['email_status'] == 0? 0: 1
); );
$res = array('status'=>1,'data'=>$resultArray); $res = array('status'=>1,'data'=>$resultArray);
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
function forgot_password($data) { function forgot_password($data) {
try { try {
$res_count = $this->db->select('customer.customer_id')->where('users.status=',1)->where('customer.phone',$data['phone'])->from('customer')->join('users','customer.customer_id = users.id')->get()->row_array();
$res_count = $this->db->select('customer.customer_id')->where('users.status=',1)->where('customer.phone',$data['phone'])->from('customer')->join('users','customer.customer_id = users.id')->get()->row_array(); if($res_count!='') {
if($res_count!='') { $rs = $this->db->where('id',$res_count['customer_id'])->update('users',array('password'=> md5($data['new_password'])));
$rs = $this->db->where('id',$res_count['customer_id'])->update('users',array('password'=> md5($data['new_password']))); if($rs) {
if($rs) { $res = array('status'=>1,'data'=>null);
$res = array('status'=>1,'data'=>null); } else {
} else { $res = array('status'=>0,'message'=>'Updation failed Please try again','code'=>'ER15');
$res = array('status'=>0,'message'=>'Updation failed Please try again','code'=>'ER15'); }
} } else {
} else { $res = array('status'=>0,'message'=>'Phone Number Does not exists','code'=>'ER19');
$res = array('status'=>0,'message'=>'Phone Number Does not exists','code'=>'ER19'); }
} } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} catch(Exception $e) { }
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); return $res;
} }
return $res;
}
function get_last_booking($data) {
try {
function get_last_booking($data) { $user_id = $this->auth_token_get($data['auth_token']);
try { if($user_id > 0) {
$user_id = $this->auth_token_get($data['auth_token']); $result = $this->db->query("SELECT IF(review.event_id = '','false','true') AS is_last_booking_rated, booking.id AS booking_id, events.event_id AS event_id, events.event_name, `event_gallery`.`media_url` AS event_image,UNIX_TIMESTAMP(event_date_time.date) AS date, booking.amount AS amount FROM events LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`media_type` = 0 LEFT JOIN booking ON booking.event_id = events.event_id RIGHT JOIN event_date_time ON event_date_time.id = booking.event_date_id LEFT JOIN venue ON venue.id = events.venue_id LEFT JOIN customer ON customer.customer_id = booking.customer_id LEFT JOIN review ON review.event_id = booking.event_id WHERE booking.customer_id = ".$user_id." ORDER BY booking.id DESC LIMIT 1")->row_array();
if($user_id > 0) {
$result = $this->db->query("SELECT IF(review.event_id = '','false','true') AS is_last_booking_rated, booking.id AS booking_id, events.event_id AS event_id, events.event_name, `event_gallery`.`media_url` AS event_image,UNIX_TIMESTAMP(event_date_time.date) AS date, booking.amount AS amount FROM events LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`media_type` = 0 LEFT JOIN booking ON booking.event_id = events.event_id RIGHT JOIN event_date_time ON event_date_time.id = booking.event_date_id LEFT JOIN venue ON venue.id = events.venue_id LEFT JOIN customer ON customer.customer_id = booking.customer_id LEFT JOIN review ON review.event_id = booking.event_id WHERE booking.customer_id = ".$user_id." ORDER BY booking.id DESC LIMIT 1")->row_array();
if(count($result)>0){ if(count($result)>0){
$resultData = array( $resultData = array(
'is_last_booking_rated'=>$result['is_last_booking_rated'] === 'true'? true: false, 'is_last_booking_rated'=>$result['is_last_booking_rated'] === 'true'? true: false,
'booking_id'=>$result['booking_id'], 'booking_id'=>$result['booking_id'],
'event_id'=>$result['event_id'], 'event_id'=>$result['event_id'],
'event_name'=>$result['event_name'], 'event_name'=>$result['event_name'],
'event_image'=>$result['event_image'], 'event_image'=>$result['event_image'],
'amount'=>$result['amount'], 'amount'=>$result['amount'],
'date'=>$result['date'] 'date'=>$result['date']
); );
$res = array('status'=>1,'data'=>$resultData); $res = array('status'=>1,'data'=>$resultData);
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
} else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
}
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
function filters($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
$locality = $this->db->select('id AS city_id,locality AS city_name')->where('status',1)->get('locality')->result();
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') {
$cat_field = 'event_category.category_ar';
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $cat_field = 'event_category.category';
} }
} catch(Exception $e) { //$category = $this->db->select('cat_id AS category_id, "$cat_field" AS category,category_image')->where('status',1)->get('event_category')->result();
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
function filters($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
$locality = $this->db->select('id AS city_id,locality AS city_name')->where('status',1)->get('locality')->result();
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') {
$cat_field = 'event_category.category_ar';
} else {
$cat_field = 'event_category.category';
}
//$category = $this->db->select('cat_id AS category_id, "$cat_field" AS category,category_image')->where('status',1)->get('event_category')->result();
$category = $this->db->query("SELECT cat_id AS category_id, $cat_field AS category,category_image FROM event_category WHERE status = 1")->result(); $category = $this->db->query("SELECT cat_id AS category_id, $cat_field AS category,category_image FROM event_category WHERE status = 1")->result();
//"$cat_field" $dateArray = [["date_id" => "All Days","date" => "1"],["date_id" => "Today","date" => "2"],["date_id" => "Tomorrow","date" => "3"],
$dateArray = [["date_id" => "All Days","date" => "1"],["date_id" => "Today","date" => "2"],["date_id" => "Tomorrow","date" => "3"], ["date_id" => "This week","date" => "4"],["date_id" => "Weekend","date" => "5"],["date_id" => "Later","date" => "6"]];
["date_id" => "This week","date" => "4"],["date_id" => "Weekend","date" => "5"],["date_id" => "Later","date" => "6"]];
if(!EMPTY($locality)) {
if(!EMPTY($locality)) { $locality = $locality;
$locality = $locality; }else{
}else{ $locality = 'null';
$locality = 'null'; }
} if(!EMPTY($category)) {
if(!EMPTY($category)) { $category = $category;
$category = $category; }else{
}else{ $category = 'null';
$category = 'null'; }
}
if(isset($dateArray)){ if(isset($dateArray)){
$resultData = array(); $resultData = array();
$resData = array( $resData = array(
'cities'=>$locality, 'cities'=>$locality,
'categories'=>$category, 'categories'=>$category,
'dates'=>$dateArray 'dates'=>$dateArray
); );
$res = array('status'=>1,'data'=>$resData); $res = array('status'=>1,'data'=>$resData);
} else { } else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13'); $res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
} }
} catch(Exception $e) { } catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06'); $res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
} }
return $res; return $res;
} }
} }
?> ?>
\ No newline at end of file \ No newline at end of file
...@@ -11,11 +11,11 @@ ...@@ -11,11 +11,11 @@
break; break;
case 2: case 2:
$menus = array('Dashboard','Tag','Host','City','Category','Venue','Event','Checker', $menus = array('Dashboard','Tag','Host','City','Category','Venue','Event','Checker',
'Organizer','Customer','Booking','Notification'); 'Customer','Booking');
break; break;
case 4: case 4:
$menus = array('Dashboard','Tag','Host','City','Category','Venue','Event','Checker', $menus = array('Dashboard','Tag','Host','City','Category','Venue','Event','Checker',
'Customer','Booking'); 'Organizer','Customer','Booking','Notification');
break; break;
} }
?> ?>
...@@ -177,7 +177,7 @@ ...@@ -177,7 +177,7 @@
</li> </li>
</ul> </ul>
</li> </li>
<?php } if(in_array('Commission',$menus)){ ?> <?php } if(in_array('Booking',$menus)){ ?>
<li> <li>
<a href="<?= base_url('Booking/viewBookings') ?>"> <a href="<?= base_url('Booking/viewBookings') ?>">
<img src="<?=base_url("assets/images/m8.png") ?>"> <img src="<?=base_url("assets/images/m8.png") ?>">
......
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