Commit c0367894 by Tobin

mobile issues

parent 02e26495
......@@ -90,9 +90,9 @@ class Webservice extends CI_Controller {
$data = $_GET;
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->discover($data);
if(sizeof($res['data']) && $res['status']!=0){
if($res['status']!=0 && sizeof($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']);
}else{
$this->errorResponse($res['code'],$res['message']);
......@@ -427,5 +427,16 @@ class Webservice extends CI_Controller {
else
$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 {
$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();
if(count($rs) > 0) {
$res = array('status'=>1,'data'=>$rs);
......@@ -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();
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'])) {
$where .= ' AND locality.region_id = '.$data['city_id'];
$where .= " AND locality.region_id='".$data['city_id']."'";
}
if($count > 0) {
......
......@@ -74,9 +74,10 @@ class Validation_app_model extends CI_Model {
)
),
'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')),),
......
......@@ -29,20 +29,23 @@ class Webservice_model extends CI_Model {
function login($data){
try{
$this->db->select("customer.city,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");
$this->db->select("region.id AS city_id,region.name AS city,
customer.name AS user_name,customer.phone,
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.password',md5($data['password']));
$this->db->where('customer.email',$data['email']);
$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();
if($result){
$auth_token = md5(microtime().rand());
if($result->city != ''){
$cityResult = $this->db->select('id')->where('name', $result->city)->where('status', 1)->get('region')->row();
$cityId = $cityResult->id;
if($result->city_id != ''){
$cityId = $result->city_id;
$cityName = $result->city;
}else{
$cityId = 'null';
......@@ -219,6 +222,20 @@ class Webservice_model extends CI_Model {
$per_page = 10;
$user_id = $this->auth_token_get($data['auth_token']);
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 = '';
$case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')";
/******************* CATEGORY *********************/
......@@ -332,10 +349,8 @@ class Webservice_model extends CI_Model {
} else {
$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';
} else {
$cat_field = 'event_category.category';
......@@ -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();
$response = array();
$lang = $this->getUserLang($user_id);
foreach ($result as $key=>$rs) {
if($rs->layout!=''){
if($rs->custom_seat_layout!=''){
......@@ -382,8 +396,6 @@ class Webservice_model extends CI_Model {
);
array_push($response, $resData);
}
$cityName = $this->db->select('city')->where('customer_id', $user_id)->get('customer')->row();
$sql = "SELECT booking.id,review.rate
FROM booking
......@@ -394,16 +406,11 @@ class Webservice_model extends CI_Model {
$lastBooking = $this->db->query($sql)->row_array();
if($lastBooking['id'] != ''){
if($lastBooking['rate'] != ''){
$lastBooking = "false";
}else{
$lastBooking = "true";
}
}else{
$lastBooking = "false";
}
......@@ -416,20 +423,19 @@ class Webservice_model extends CI_Model {
if(count($result)>0){
$resultData = array();
$resultData['is_last_booking_avail'] = $lastBooking;
$resultData['city_name'] = $cityName->city;
$resultData['city_name'] = $cityName['city'];
$resultData['events'] = $response;
$resultData['meta'] = $meta;
$response = $resultData;
$res = array('status'=>1,'data'=>$response);
}else {
$res = array('status'=>1,'data' => []);
$res = array('status'=>1,'data' => array('city_name'=>$cityName['city']));
}
} else {
$res = array('status'=>1,'data' => []);
$res = array('status'=>1,'data' => array('city_name'=>$cityName['city']));
}
}else {
$res = array('status'=>1,'data' => []);
} else {
$res = array('status'=>1,'data' => array('city_name'=>$cityName['city']));
}
} else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
......@@ -766,7 +772,7 @@ class Webservice_model extends CI_Model {
}
if(!empty($cityId)){
$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);
$res = array('status'=>1, 'data'=>$resultArray);
......@@ -1303,14 +1309,14 @@ class Webservice_model extends CI_Model {
if($user_id > 0) {
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
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_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"]];
} 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_image AS category_image';
......@@ -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"]];
}
$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
FROM event_category WHERE status = 1")->result();
......@@ -1373,5 +1382,29 @@ class Webservice_model extends CI_Model {
}
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