Commit c0367894 by Tobin

mobile issues

parent 02e26495
...@@ -90,9 +90,9 @@ class Webservice extends CI_Controller { ...@@ -90,9 +90,9 @@ class Webservice extends CI_Controller {
$data = $_GET; $data = $_GET;
$data['auth_token'] = $this->auth_token; $data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->discover($data); $res = $this->Webservice_model->discover($data);
if(sizeof($res['data']) && $res['status']!=0){ if($res['status']!=0 && sizeof($res['data'])){
$this->responseEventList($res['data']); $this->responseEventList($res['data']);
}elseif(sizeof($res['data'] == 0) && $res['status']!=0){ }elseif($res['status']!=0 && sizeof($res['data'] == 0)){
$this->response($res['data']); $this->response($res['data']);
}else{ }else{
$this->errorResponse($res['code'],$res['message']); $this->errorResponse($res['code'],$res['message']);
...@@ -427,5 +427,16 @@ class Webservice extends CI_Controller { ...@@ -427,5 +427,16 @@ class Webservice extends CI_Controller {
else else
$this->errorResponse($res['code'],$res['message']); $this->errorResponse($res['code'],$res['message']);
} }
public function logout(){
$data = (array) json_decode(file_get_contents('php://input'));
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->logout($data);
if($res['status'] != 0)
$this->successResponse($res);
else
$this->errorResponse($res['code'],$res['message']);
}
} }
?> ?>
...@@ -221,7 +221,7 @@ class Api_model extends CI_Model { ...@@ -221,7 +221,7 @@ class Api_model extends CI_Model {
$cond['region_id'] = $city_id; $cond['region_id'] = $city_id;
} }
$rs = $this->db->select('id AS locality_id,venue_id,locality') $rs = $this->db->select('id AS locality_id,region_id,locality,locality_ar')
->get_where('locality',$cond)->result(); ->get_where('locality',$cond)->result();
if(count($rs) > 0) { if(count($rs) > 0) {
$res = array('status'=>1,'data'=>$rs); $res = array('status'=>1,'data'=>$rs);
...@@ -880,11 +880,11 @@ class Api_model extends CI_Model { ...@@ -880,11 +880,11 @@ class Api_model extends CI_Model {
$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();
if(isset($data['venue_id']) && !empty($data['venue_id'])) { if(isset($data['venue_id']) && !empty($data['venue_id'])) {
$where .= ' AND locality.id ='.$data['venue_id']; $where .= " AND locality.id ='".$data['venue_id']."'";
} }
if(isset($data['city_id']) && !empty($data['city_id'])) { if(isset($data['city_id']) && !empty($data['city_id'])) {
$where .= ' AND locality.region_id = '.$data['city_id']; $where .= " AND locality.region_id='".$data['city_id']."'";
} }
if($count > 0) { if($count > 0) {
......
...@@ -74,9 +74,10 @@ class Validation_app_model extends CI_Model { ...@@ -74,9 +74,10 @@ class Validation_app_model extends CI_Model {
) )
), ),
'get_app_version'=>array(), 'get_app_version'=>array(),
'logout'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'))),
'profile_details'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)), 'profile_details'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'))),
'profile_edit'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),), 'profile_edit'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),),
......
...@@ -29,20 +29,23 @@ class Webservice_model extends CI_Model { ...@@ -29,20 +29,23 @@ class Webservice_model extends CI_Model {
function login($data){ function login($data){
try{ try{
$this->db->select("customer.city,customer.name AS user_name, $this->db->select("region.id AS city_id,region.name AS city,
customer.phone, 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, IF(customer.city = '','false','true') AS is_location_updated"); customer.email,customer.profile_image AS profile_photo,
IF(customer.phone_verified=0,'false','true') AS is_phone_verified,
IF(customer.city='','false','true') AS is_location_updated,
users.id AS user_id");
$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');
$this->db->join('region','region.id=customer.city','left');
$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_id != ''){
$cityResult = $this->db->select('id')->where('name', $result->city)->where('status', 1)->get('region')->row(); $cityId = $result->city_id;
$cityId = $cityResult->id;
$cityName = $result->city; $cityName = $result->city;
}else{ }else{
$cityId = 'null'; $cityId = 'null';
...@@ -219,6 +222,20 @@ class Webservice_model extends CI_Model { ...@@ -219,6 +222,20 @@ class Webservice_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) {
$lang = $this->getUserLang($user_id);
$cityField = "region.name AS city";
if($lang == 'ar') {
$cityField = 'region.name_ar AS city';
}
$sql = "SELECT $cityField FROM customer
INNER JOIN region ON customer.city=region.id
WHERE customer.customer_id='$user_id' AND region.status='1'";
$cityName = $this->db->query($sql)->row_array();
if(empty($cityName)){
$cityName['city'] = 'null';
}
$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 *********************/
...@@ -332,10 +349,8 @@ class Webservice_model extends CI_Model { ...@@ -332,10 +349,8 @@ class Webservice_model extends CI_Model {
} else { } else {
$page = 1; $page = 1;
} }
// Language Trnslation
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') { if($lang == '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';
...@@ -350,7 +365,6 @@ class Webservice_model extends CI_Model { ...@@ -350,7 +365,6 @@ class Webservice_model extends CI_Model {
$result = $this->db->query("SELECT events.seat_pricing,events.custom_seat_layout,venue.location_lat AS latitude,venue.location_lng AS longitude,venue.layout,venue.layout_details,events.event_id AS event_id, events.event_name AS name,events.event_name_ar AS name_ar,`event_gallery`.`media_url` AS image, (SELECT SUM(booking.no_of_ticket) FROM booking WHERE booking.event_id = events.event_id AND booking.status IN (1,2)) AS attendees, $cat_field AS category, CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rating, venue.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,events.custom_seat_layout,venue.location_lat AS latitude,venue.location_lng AS longitude,venue.layout,venue.layout_details,events.event_id AS event_id, events.event_name AS name,events.event_name_ar AS name_ar,`event_gallery`.`media_url` AS image, (SELECT SUM(booking.no_of_ticket) FROM booking WHERE booking.event_id = events.event_id AND booking.status IN (1,2)) AS attendees, $cat_field AS category, CAST(AVG (review.rate) AS DECIMAL (12,1)) AS rating, venue.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();
$lang = $this->getUserLang($user_id);
foreach ($result as $key=>$rs) { foreach ($result as $key=>$rs) {
if($rs->layout!=''){ if($rs->layout!=''){
if($rs->custom_seat_layout!=''){ if($rs->custom_seat_layout!=''){
...@@ -382,8 +396,6 @@ class Webservice_model extends CI_Model { ...@@ -382,8 +396,6 @@ class Webservice_model extends CI_Model {
); );
array_push($response, $resData); array_push($response, $resData);
} }
$cityName = $this->db->select('city')->where('customer_id', $user_id)->get('customer')->row();
$sql = "SELECT booking.id,review.rate $sql = "SELECT booking.id,review.rate
FROM booking FROM booking
...@@ -394,16 +406,11 @@ class Webservice_model extends CI_Model { ...@@ -394,16 +406,11 @@ class Webservice_model extends CI_Model {
$lastBooking = $this->db->query($sql)->row_array(); $lastBooking = $this->db->query($sql)->row_array();
if($lastBooking['id'] != ''){ if($lastBooking['id'] != ''){
if($lastBooking['rate'] != ''){ if($lastBooking['rate'] != ''){
$lastBooking = "false"; $lastBooking = "false";
}else{ }else{
$lastBooking = "true"; $lastBooking = "true";
} }
}else{ }else{
$lastBooking = "false"; $lastBooking = "false";
} }
...@@ -416,20 +423,19 @@ class Webservice_model extends CI_Model { ...@@ -416,20 +423,19 @@ class Webservice_model extends CI_Model {
if(count($result)>0){ if(count($result)>0){
$resultData = array(); $resultData = array();
$resultData['is_last_booking_avail'] = $lastBooking; $resultData['is_last_booking_avail'] = $lastBooking;
$resultData['city_name'] = $cityName->city; $resultData['city_name'] = $cityName['city'];
$resultData['events'] = $response; $resultData['events'] = $response;
$resultData['meta'] = $meta; $resultData['meta'] = $meta;
$response = $resultData; $response = $resultData;
$res = array('status'=>1,'data'=>$response); $res = array('status'=>1,'data'=>$response);
}else { }else {
$res = array('status'=>1,'data' => []); $res = array('status'=>1,'data' => array('city_name'=>$cityName['city']));
} }
} else { } else {
$res = array('status'=>1,'data' => []); $res = array('status'=>1,'data' => array('city_name'=>$cityName['city']));
} }
}else { } else {
$res = array('status'=>1,'data' => []); $res = array('status'=>1,'data' => array('city_name'=>$cityName['city']));
} }
} else { } else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19'); $res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
...@@ -766,7 +772,7 @@ class Webservice_model extends CI_Model { ...@@ -766,7 +772,7 @@ class Webservice_model extends CI_Model {
} }
if(!empty($cityId)){ if(!empty($cityId)){
$this->db->where('customer_id', $user_id); $this->db->where('customer_id', $user_id);
$this->db->update('customer', array('city' => $cityName)); $this->db->update('customer', array('city' => $cityId));
$resultArray = array('city_id'=>$cityId,'city_name'=>$cityName); $resultArray = array('city_id'=>$cityId,'city_name'=>$cityName);
$res = array('status'=>1, 'data'=>$resultArray); $res = array('status'=>1, 'data'=>$resultArray);
...@@ -1303,14 +1309,14 @@ class Webservice_model extends CI_Model { ...@@ -1303,14 +1309,14 @@ class Webservice_model extends CI_Model {
if($user_id > 0) { if($user_id > 0) {
$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') {
$loc_field = 'locality_ar AS city_name'; $loc_field = 'locality.locality_ar AS city_name';
$cat_field = 'event_category.category_ar AS category'; $cat_field = 'event_category.category_ar AS category';
$cat_field .= ',event_category.category_image_ar AS category_image'; $cat_field .= ',event_category.category_image_ar AS category_image';
$dateArray = [["date_id"=>'كل الأيام',"date"=>"1"],["date_id"=>'اليوم',"date"=>"2"],["date_id"=>'غدا',"date"=>"3"],["date_id"=>'هذا الاسبوع',"date"=>"4"],["date_id"=>'عطلة نهاية الاسبوع',"date"=>"5"],["date_id"=>'في وقت لاحق',"date"=>"6"]]; $dateArray = [["date_id"=>'كل الأيام',"date"=>"1"],["date_id"=>'اليوم',"date"=>"2"],["date_id"=>'غدا',"date"=>"3"],["date_id"=>'هذا الاسبوع',"date"=>"4"],["date_id"=>'عطلة نهاية الاسبوع',"date"=>"5"],["date_id"=>'في وقت لاحق',"date"=>"6"]];
} else { } else {
$loc_field = 'locality AS city_name'; $loc_field = 'locality.locality AS city_name';
$cat_field = 'event_category.category AS category'; $cat_field = 'event_category.category AS category';
$cat_field .= ',event_category.category_image AS category_image'; $cat_field .= ',event_category.category_image AS category_image';
...@@ -1318,7 +1324,10 @@ class Webservice_model extends CI_Model { ...@@ -1318,7 +1324,10 @@ class Webservice_model extends CI_Model {
$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"]]; $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"]];
} }
$locality = $this->db->select("id AS city_id, $loc_field")->where('status',1)->get('locality')->result(); $sql = "SELECT locality.id AS city_id, $loc_field FROM locality
INNER JOIN customer ON customer.city=locality.region_id
WHERE customer.customer_id='$user_id' AND locality.status='1'";
$locality = $this->db->query($sql)->result();
$category = $this->db->query("SELECT cat_id AS category_id, $cat_field $category = $this->db->query("SELECT cat_id AS category_id, $cat_field
FROM event_category WHERE status = 1")->result(); FROM event_category WHERE status = 1")->result();
...@@ -1373,5 +1382,29 @@ class Webservice_model extends CI_Model { ...@@ -1373,5 +1382,29 @@ class Webservice_model extends CI_Model {
} }
return $res; return $res;
} }
function logout($data) {
$res = array();
try{
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
$status = $this->db->update('customer',array('fcm_token'=>''),
array('customer_id'=>$user_id));
if ($status){
$res =array('status'=>1);
}else {
$res =array('status'=>0,'message'=>'Update failed please try again','code'=>'ER15');
}
}else {
$res = array('status'=>0,'message'=>'No Data Found','code'=>'ER15');
}
} catch(Exception $e) {
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
} }
?> ?>
\ No newline at end of file
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