Commit 10a8a4bd by Tobin

Merge branch 'jansa' into 'master'

Jansa See merge request !96
parents c5265aab be763f0b
......@@ -75,10 +75,10 @@ $query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'nuvento_timeout',
'hostname' => '192.168.140.123',
'username' => 'root',
'password' => 'Golden_123',
'database' => 'nuvento_timeout',
'database' => 'tobin_eventTimeOut',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
......
......@@ -63,7 +63,6 @@ class Webservice extends CI_Controller {
}
}
public function check_email_availability() {
$data = (array) json_decode(file_get_contents('php://input'));
$res = $this->Webservice_model->availability($data);
......@@ -86,17 +85,17 @@ class Webservice extends CI_Controller {
}
}
public function get_events_list() {
$data = $_GET;
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->discover($data);
if($res['status']!=0 && sizeof($res['data'])){
$this->responseEventList($res['data']);
}elseif($res['status']!=0 && sizeof($res['data'] == 0)){
$this->response($res['data']);
}else{
$this->errorResponse($res['code'],$res['message']);
}
public function get_events_list() {
$data = $_GET;
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->discover($data);
if($res['status']!=0 && sizeof($res['data'])){
$this->responseEventList($res['data']);
}elseif($res['status']!=0 && sizeof($res['data'] == 0)){
$this->response($res['data']);
}else{
$this->errorResponse($res['code'],$res['message']);
}
}
public function events_details($event_id = null) {
......@@ -134,8 +133,7 @@ class Webservice extends CI_Controller {
print json_encode($result);
}
public function successResponse($data) {
public function successResponse($data) {
$result = array(
'status' => 'success',
);
......@@ -151,8 +149,7 @@ class Webservice extends CI_Controller {
print json_encode($result);
}
public function get_category_list($query = null) {
public function get_category_list($query = null) {
$data['query'] = !empty($_GET['query']) ? $_GET['query'] : '';
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->get_category_list($data);
......@@ -164,7 +161,7 @@ class Webservice extends CI_Controller {
}
}
public function add_favorites(){
public function add_favorites(){
$data = (array) json_decode(file_get_contents('php://input'));
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->add_favorites($data);
......@@ -176,8 +173,7 @@ class Webservice extends CI_Controller {
}
}
public function get_cities_list() {
public function get_cities_list() {
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->get_cities_list($data);
if($res['status']!=0){
......@@ -186,11 +182,9 @@ class Webservice extends CI_Controller {
else{
$this->errorResponse($res['code'],$res['message']);
}
}
public function update_city(){
public function update_city(){
$data = (array) json_decode(file_get_contents('php://input'));
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->update_city($data);
......@@ -291,6 +285,7 @@ class Webservice extends CI_Controller {
$this->errorResponse($res['code'],$res['message']);
}
}
public function cancel_booking() {
$data = (array) json_decode(file_get_contents('php://input'));
$data['auth_token'] = $this->auth_token;
......@@ -319,12 +314,12 @@ class Webservice extends CI_Controller {
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->bookedlist($data);
if(sizeof($res['data']) && $res['status']!=0){
$this->responseBookList($res['data']);
}elseif(sizeof($res['data'] == 0) && $res['status']!=0){
$this->response($res['data']);
}else{
$this->errorResponse($res['code'],$res['message']);
}
$this->responseBookList($res['data']);
}elseif(sizeof($res['data'] == 0) && $res['status']!=0){
$this->response($res['data']);
}else{
$this->errorResponse($res['code'],$res['message']);
}
}
public function settings() {
......@@ -338,7 +333,7 @@ class Webservice extends CI_Controller {
}
}
public function forgot_password() {
public function forgot_password() {
$data = (array) json_decode(file_get_contents('php://input'));
$res = $this->Webservice_model->forgot_password($data);
if($res['status']!=0){
......@@ -364,8 +359,7 @@ class Webservice extends CI_Controller {
}
public function get_last_booking() {
$data['auth_token'] = $this->auth_token;
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->get_last_booking($data);
if($res['status']!=0){
$this->response($res['data']);
......@@ -376,12 +370,12 @@ class Webservice extends CI_Controller {
}
public function responseBookList($data) {
$result = array(
'status' => 'success',
'data' => array(
'bookings' =>$data['bookings']),
'meta' =>$data['meta']
);
$result = array(
'status' => 'success',
'data' => array(
'bookings' =>$data['bookings']),
'meta' =>$data['meta']
);
print json_encode($result);
}
......@@ -410,7 +404,6 @@ class Webservice extends CI_Controller {
public function get_app_version(){
$res = $this->Webservice_model->get_app_version();
if($res['status'] != 0)
$this->response($res['data']);
else
......@@ -421,7 +414,6 @@ class Webservice extends CI_Controller {
$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
......@@ -435,7 +427,6 @@ class Webservice extends CI_Controller {
}
$data = $_GET;
$data['auth_token'] = $this->auth_token;
$res = $this->Webservice_model->event_search($data);
if($res['status']!=0){
$this->response($res['data']);
......@@ -452,7 +443,6 @@ class Webservice extends CI_Controller {
empty($settings['currency_api'])){
return;
}
$sourceCur = (!empty($settings['currency']))?$settings['currency']:'SAR';
$coma = '';
$convertCur = '';
......@@ -460,20 +450,16 @@ class Webservice extends CI_Controller {
$convertCur .= $coma.$curr['currency'];
$coma = ',';
}
$params = 'currencies='.$convertCur;
$params .= '&source='.$sourceCur;
$params .= '&access_key='.$settings['currency_api'];
$apiUrl = "http://apilayer.net/api/live?".$params;
$ch = curl_init($apiUrl);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$json = curl_exec($ch);
curl_close($ch);
$exchangeRates = json_decode($json, true);
if(empty($exchangeRates) || !isset($exchangeRates['quotes']) ||
empty($conversion = $exchangeRates['quotes'])){
if(empty($exchangeRates) || !isset($exchangeRates['quotes']) || empty($conversion = $exchangeRates['quotes'])){
return;
}
foreach($conversion AS $curr => $rate) {
......
......@@ -7,81 +7,41 @@ class Validation_app_model extends CI_Model {
'password'=>array('required'=>array('code'=>'ER04', 'message'=>'Password is null or empty')),
'language'=>array('required'=>array('code'=>'ER05','message'=>'Language is null or empty'))),
'check_email_availability'=> array('email'=>array('required'=>array('code'=>'ER02', 'message'=>'Email id is null or empty'),
'email'=>array('code'=>'ER03', 'message'=>'Invalid Email id')
),
'email'=>array('code'=>'ER03', 'message'=>'Invalid Email id')),
'phone'=>array('required'=>array('code'=>'ER07', 'message'=>'Phone no is null or empty'),
'phone'=>array('code'=>'ER08', 'message'=>'Invalid Phone no')
),
),
'phone'=>array('code'=>'ER08', 'message'=>'Invalid Phone no')),),
'registration'=> array('email'=>array('required'=>array('code'=>'ER02', 'message'=>'Email id is null or empty'),
'email'=>array('code'=>'ER03', 'message'=>'Invalid Email id')),
'phone'=>array('required'=>array('code'=>'ER07', 'message'=>'Phone no is null or empty'),
'phone'=>array('code'=>'ER08', 'message'=>'Invalid Phone no'),
),
'name'=>array('required'=>array('code'=>'ER04', 'message'=>'Name is null or empty'),
),
'phone'=>array('code'=>'ER08', 'message'=>'Invalid Phone no'),),
'name'=>array('required'=>array('code'=>'ER04', 'message'=>'Name is null or empty'),),
'password'=>array('required'=>array('code'=>'ER04','message'=>'Password is null or empty')),
'password'=>array('required'=>array('code'=>'ER04','message'=>'Password is null or empty'))),
'get_events_list'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'filters'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'events_details'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'get_category_list'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'get_events_list'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)),
'filters'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)),
'events_details'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)),
'get_category_list'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)),
'event_search'=>array(),
'get_last_booking'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'user_language'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),
'get_last_booking'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)),
'user_language'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),
'language'=>array('required'=>array('code'=>'ER16', 'message'=>'Language is null or empty')),),
'add_favorites'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),
'event_id'=>array('required'=>array('code'=>'ER16', 'message'=>'Event id is null or empty')),),
'get_cities_list'=>array('auth_token'=>array('required'=>array('code'=>'ER19', 'message'=>'User Id is null or empty'),
)
),
'update_city'=>array('auth_token'=>array('required'=>array('code'=>'ER19', 'message'=>'User Id is null or empty'),
)
),
'booking_summary'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'get_cities_list'=>array('auth_token'=>array('required'=>array('code'=>'ER19', 'message'=>'User Id is null or empty'),)),
'update_city'=>array('auth_token'=>array('required'=>array('code'=>'ER19', 'message'=>'User Id is null or empty'),)),
'booking_summary'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)),
'payment'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),
'booking_id'=>array('required'=>array('code'=>'ER34', 'message'=>'Booking id is null or empty'))),
'event_rating'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),
'rating'=>array('required'=>array('code'=>'ER26', 'message'=>'Rating is null or empty')),
'event_id'=>array('required'=>array('code'=>'ER27', 'message'=>'Event id is null or empty')),
'description'=>array('required'=>array('code'=>'ER28', 'message'=>'description id is null or empty')),),
'update_notification_email_status'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'get_app_version'=>array(),
'logout'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'))),
'update_notification_email_status'=>array('auth_token'=>array('required'=>array('code'=>'ER17',
'message'=>'User Id is null or empty'),)),
'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_edit'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),),
'booking'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),
'event_id'=>array('required'=>array('code'=>'ER20', 'message'=>'Event id is null or empty')),
'customer_id'=>array('required'=>array('code'=>'ER29', 'message'=>'Customer id is null or empty')),
......@@ -89,30 +49,15 @@ class Validation_app_model extends CI_Model {
'no_of_ticket'=>array('required'=>array('code'=>'ER31', 'message'=>'Number of ticket is null or empty')),
'ticket_details'=>array('required'=>array('code'=>'ER32', 'message'=>'Ticket details is null or empty')),
'amount'=>array('required'=>array('code'=>'ER33', 'message'=>'Amount is null or empty')),),
'cancel_booking'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),
'booking_id'=>array('required'=>array('code'=>'ER34', 'message'=>'Booking Id is null or empty')),),
'update_fcm_token'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),
'fcm_token'=>array('required'=>array('code'=>'ER16', 'message'=>'Fcm token is null or empty')),),
'get_favorites_list'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'get_booking_list'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'settings'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
)
),
'update_fcm_token'=> array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty')),
'fcm_token'=>array('required'=>array('code'=>'ER16', 'message'=>'Fcm token is null or empty')),),
'get_favorites_list'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)),
'get_booking_list'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)),
'settings'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),)),
'forgot_password'=> array('new_password'=>array('required'=>array('code'=>'ER35', 'message'=>'New password is null or empty')),
'phone'=>array('required'=>array('code'=>'ER07', 'message'=>'Phone is null or empty')),),
'convertCurrency'=> array(),
'sync_contacts' => array(
'auth_token' => array(
......@@ -120,12 +65,12 @@ class Validation_app_model extends CI_Model {
'code' => 'ER02',
'message' => 'User id is null or empty'
)
) ,
),
'contacts' => array(
'required' => array(
'code' => 'ER04',
'message' => 'Contacts is null or empty'
) ,
),
)
),
'update_friend_request' => array(
......@@ -134,18 +79,18 @@ class Validation_app_model extends CI_Model {
'code' => 'ER02',
'message' => 'User id is null or empty'
)
) ,
),
'user_id' => array(
'required' => array(
'code' => 'ER04',
'message' => 'User Id is null or empty'
) ,
),
),
'add_as_friend' => array(
'required' => array(
'code' => 'ER04',
'message' => 'Accept/Reject value is null or empty'
) ,
),
)
),
'send_friend_request' => array(
......@@ -154,12 +99,12 @@ class Validation_app_model extends CI_Model {
'code' => 'ER02',
'message' => 'User id is null or empty'
)
) ,
),
'user_id' => array(
'required' => array(
'code' => 'ER04',
'message' => 'User Id is null or empty'
) ,
),
)
),
'get_friend_requests' => array(
......@@ -193,19 +138,19 @@ class Validation_app_model extends CI_Model {
'code' => 'ER02',
'message' => 'User id is null or empty'
)
) ,
),
'event_id' => array(
'required' => array(
'code' => 'ER04',
'message' => 'Event Id is null or empty'
) ,
),
),
'promo_code' => array(
'required' => array(
'code' => 'ER02',
'message' => 'Promocode is null or empty'
)
) ,
),
'no_of_tickets' => array(
'required' => array(
'code' => 'ER04',
......@@ -216,13 +161,13 @@ class Validation_app_model extends CI_Model {
'required' => array(
'code' => 'ER04',
'message' => 'Seat Class is null or empty'
) ,
),
),
'tot_cost' => array(
'required' => array(
'code' => 'ER04',
'message' => 'Total Cost is null or empty'
) ,
)
)
)
);
......
......@@ -65,7 +65,6 @@ class Webservice_model extends CI_Model {
);
$this->db->update('customer',array('country_id'=>$data['country_id']),
array('customer_id'=>$result->user_id));
$response = array('user'=>$resultArray,'auth_token'=>$auth_token);
$this->generateAuth($result->user_id,$auth_token);
$res = array('status'=>1,'data'=>$response);
......@@ -98,7 +97,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function availability($data) {
try{
$is_email_available = "true";
......@@ -127,7 +125,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function register($data) {
try{
$email = $data['email'];
......@@ -163,24 +160,20 @@ class Webservice_model extends CI_Model {
'country_id'=>$data['country_id']
);
$this->db->insert('customer', $customer_data);
$email = $data['email'];
$subject = "New account created successfully";
$message = "Hi, Welcome to TimeOut. Please use username: ".$email.
" for access your account";
if(isset($template['registration_mail']) && !empty($template['registration_mail'])){
$message = str_replace(array('{:email}'),
array($email),$template['registration_mail']);
}
$this->send_mail($subject,$email,$message);
if(isset($template['registration_sms']) && !empty($template['registration_sms'])){
$message = str_replace(array('{:email}'),
array($email),$template['registration_sms']);
}
$this->sendSMS($data['phone'],$message);
$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->where('users.id',$id);
$this->db->from('users');
......@@ -212,7 +205,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function profile_details($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
......@@ -223,7 +215,6 @@ class Webservice_model extends CI_Model {
if($lang == 'ar'){
$field = 'faq_ar';
}
$settingsDetails = $this->db->query("SELECT $field 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)){
......@@ -242,7 +233,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function discover($data) {
try {
$per_page = 10;
......@@ -251,7 +241,6 @@ class Webservice_model extends CI_Model {
$where = '';
$countryData = $this->getCountryData($user_id);
$lang = $countryData['language_code'];
$sql = "SELECT region.id FROM customer
INNER JOIN region ON customer.city=region.id
WHERE customer.customer_id='$user_id' AND region.status='1'";
......@@ -263,16 +252,13 @@ class Webservice_model extends CI_Model {
} else {
$cityName['city'] = 'null';
}
if(isset($data['category_id'])) {
$where = ' AND events.category_id = '.$data['category_id'];
}
$case = "AND event_date_time.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')";
if(isset($data['latitude']) && isset($data['longitude'])) {
$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();
$otherV = '';
foreach($res as $key => $value){
if ($otherV) $otherV .= ',';
......@@ -284,11 +270,9 @@ class Webservice_model extends CI_Model {
$where = ' AND events.category_id IN (0)';
}
}
if(isset($cityName['id'])) {
$where .= ' AND venue.region_id = '.$cityName['id'];
}
if(isset($data['filters'])){
$filtersElement = json_decode($data['filters'], true);
$locality_id_Array = $filtersElement['cities'];
......@@ -297,11 +281,9 @@ class Webservice_model extends CI_Model {
$dateId = preg_replace("/[^a-zA-Z 0-9]+/", "", $dateId_Array);
$categoryId_Array = $filtersElement['category'];
$categoryId = preg_replace("/[^a-zA-Z 0-9]+/", "", $categoryId_Array);
if($categoryId!=''){
$where = ' AND events.category_id='.$categoryId;
}
if($dateId != '') {
switch ($dateId) {
case '1':
......@@ -339,14 +321,12 @@ class Webservice_model extends CI_Model {
break;
}
}
if($locality_id!=''){
$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));
$where .= ' AND events.venue_id IN('.$list.')';
}
}
$resCount = $this->db->query("
SELECT GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,
event_date_time.time)) AS date_time
......@@ -362,11 +342,9 @@ class Webservice_model extends CI_Model {
favourite.user_id = $user_id AND favourite.status = 1
WHERE events.status = 1 $where
GROUP BY events.event_id")->result();
if(empty($resCount)){
return array('status'=>1,'data'=>array('city_name'=>$cityName['city']));
}
foreach ($resCount AS $key => $rs) {
if(!empty($dates = explode(',',$rs->date_time))){
$checkTime = 0;
......@@ -389,7 +367,6 @@ class Webservice_model extends CI_Model {
}
}
$count = count($resCount);
if($count > 0) {
$page = (isset($data['page']))?$data['page']:1;
$page_limit = ($page - 1)*$per_page;
......@@ -410,7 +387,6 @@ class Webservice_model extends CI_Model {
WHERE events.status = 1 $where $case
GROUP BY events.event_id
LIMIT $page_limit,$per_page")->result();
$response = array();
foreach ($result as $key=>$rs) {
if(!empty($dates = explode(',',$rs->date_time)) && count($dates) > 0){
......@@ -423,7 +399,6 @@ class Webservice_model extends CI_Model {
}
if($checkTime == count($dates)) continue;
} else continue;
if($rs->layout!=''){
if($rs->custom_seat_layout!=''){
$pricelist = json_decode($rs->custom_seat_layout, TRUE);
......@@ -465,7 +440,6 @@ class Webservice_model extends CI_Model {
);
array_push($response, $resData);
}
$sql = "SELECT booking.id,review.rate
FROM booking
LEFT JOIN review ON review.event_id=booking.event_id AND
......@@ -473,7 +447,6 @@ class Webservice_model extends CI_Model {
WHERE booking.customer_id = ".$user_id." AND booking.status='2'
ORDER BY booking.id DESC LIMIT 1";
$lastBooking = $this->db->query($sql)->row_array();
if($lastBooking['id'] != ''){
if($lastBooking['rate'] != ''){
$lastBooking = "false";
......@@ -488,7 +461,6 @@ class Webservice_model extends CI_Model {
'current_page'=>$page,
'per_page'=>$per_page
);
if(count($result)>0){
$resultData = array();
$resultData['is_last_booking_avail'] = $lastBooking;
......@@ -515,7 +487,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function event($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
......@@ -550,24 +521,20 @@ class Webservice_model extends CI_Model {
INNER JOIN host_categories ON venue.host_cat_id = host_categories.host_cat_id
WHERE event_date_time.date>='".date('Y-m-d')."' AND events.event_id=$event_id
GROUP BY events.event_id, event_date_time.event_id")->row();
if(count($rs)>0){
$event_layout = '';
$colorData = array();
$resultData = array();
$sql = "SELECT AVG(review.rate) AS rate
FROM review WHERE event_id=$event_id";
$rating = $this->db->query($sql)->row_array();
$rate = isset($rating['rate'])&&!empty($rating['rate'])?
round($rating['rate'],1):'0.0';
$sql = "SELECT SUM(booking.no_of_ticket) AS attend FROM booking
WHERE status IN (1,2) AND event_id=$event_id";
$atten = $this->db->query($sql)->row_array();
$atte = isset($atten['attend'])&&!empty($atten['attend'])?
$atten['attend']:'0';
if($rs->layout!=''){
if($rs->custom_seat_layout!=''){
$event_layout = $rs->custom_seat_layout;
......@@ -577,11 +544,9 @@ class Webservice_model extends CI_Model {
} else {
$event_layout = $rs->seat_pricing;
}
$dates = explode(',', $rs->date_time);
$time_spec = array();
$data_array = array();
foreach ($dates as $rss) {
list($id,$date,$time) = explode('#', $rss);
$sTime = $date.' '.$time;
......@@ -595,7 +560,6 @@ class Webservice_model extends CI_Model {
foreach ($data_array as $key => $value) {
$date_list[] = array('date'=>$key, 'time'=>$value);
}
$lang = $this->getCountryData($user_id);
if($rs->is_layout == 1 && !empty($pData = json_decode($rs->seat_pricing, TRUE))){
if($lang == 'en'){
......@@ -605,13 +569,11 @@ class Webservice_model extends CI_Model {
$rs->event_description_ar .= '<p>'.$pData['price_details_ar'].' '.'(SAR '.$pData['price'].')'.'</p>';
}
}
$event_layouts = [];
if(isset($data['event_date_id']) && !empty($eDateId = $data['event_date_id'])){
$param = array('user_id'=>$user_id,'event_id'=>$event_id,'time_id'=>$eDateId);
$event_layouts = $this->checkSeatAvailability($param);
}
$tags = ($lang == 'en')? explode(',', $rs->tag) : explode(',', $rs->tag_ar);
$media_url = explode(',', $rs->media_url);
$resData = array(
......@@ -634,17 +596,13 @@ class Webservice_model extends CI_Model {
'address'=>$rs->address,
'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');
}
......@@ -676,7 +634,6 @@ class Webservice_model extends CI_Model {
'crlf' => "\r\n",
'newline' => "\r\n"
));
$ci->email->from('[email protected]', 'TimeOut');
$ci->email->to($email);
$ci->email->cc('[email protected]');
......@@ -687,7 +644,6 @@ class Webservice_model extends CI_Model {
}
return $ci->email->send();
}
function sendSMS($phone_no, $message) {
$phone_no = trim($phone_no);
......@@ -695,13 +651,11 @@ class Webservice_model extends CI_Model {
if(empty($phone_no) && count($phone_no) < 10 && empty($message)){
return;
}
$user = "eventstimeout";
$senderid = "SMSCountry";
$password = "timeout2030";
$url = "http://www.smscountry.com/SMSCwebservice_Bulk.aspx";
$message = urlencode($message);
if($ch = curl_init()){
$ret = curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
......@@ -715,7 +669,6 @@ class Webservice_model extends CI_Model {
function get_category_list($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
if(isset($data['query'])) {
......@@ -724,7 +677,6 @@ class Webservice_model extends CI_Model {
$where = '';
}
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') {
$cat_field = 'event_category.category_ar AS category_name';
$cat_field .= ',event_category.category_image_ar AS category_image';
......@@ -732,9 +684,7 @@ class Webservice_model extends CI_Model {
$cat_field = 'event_category.category_en AS category_name';
$cat_field .= ',event_category.category_image AS category_image';
}
$result = $this->db->query("SELECT events.venue_id AS region_id,event_category.cat_id AS category_id, $cat_field,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 ORDER BY event_category.priority")->result();
if(count($result)>0){
$resultData = array();
$resultData['category'] = $result;
......@@ -751,37 +701,25 @@ class Webservice_model extends CI_Model {
return $res;
}
function add_favorites($data) {
try{
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
$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']);
$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($id) {
$res = array('status'=>1);
}else {
$res = array('status'=>0,'message'=>'Add Favorite failed please try again','code'=>'ER14');
}
} else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
}
......@@ -791,19 +729,16 @@ class Webservice_model extends CI_Model {
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){
$resultData = array();
......@@ -821,7 +756,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function update_city($data) {
try{
$user_id = $this->auth_token_get($data['auth_token']);
......@@ -830,7 +764,6 @@ class Webservice_model extends CI_Model {
$re = $this->db->select('name')->where('id', $data['city_id'])->where('status', 1)->get('region')->row();
$cityName = $re->name;
$cityId = $data['city_id'];
}else{
$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();
......@@ -839,12 +772,10 @@ class Webservice_model extends CI_Model {
$cityId = $data[0]['id'];
$cityName = $data[0]['name'];
}
}
if(!empty($cityId)){
$this->db->where('customer_id', $user_id);
$this->db->update('customer', array('city' => $cityId));
$resultArray = array('city_id'=>$cityId,'city_name'=>$cityName);
$res = array('status'=>1, 'data'=>$resultArray);
}else {
......@@ -859,7 +790,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function booking_summary($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
......@@ -872,7 +802,6 @@ class Webservice_model extends CI_Model {
}
$settingsDetails = $this->db->query("SELECT instruction_en AS instruction,contact_number FROM privacy_policy")->row_array();
$lang = $this->getCountryData($user_id);
if($lang == 'en'){
$cat_filed = 'events.event_name AS event_name';
$cat_filed .= ',venue.venue_name AS address_name';
......@@ -880,7 +809,6 @@ class Webservice_model extends CI_Model {
$cat_filed = 'events.event_name_ar AS event_name';
$cat_filed .= ',venue.venue_name_ar AS address_name';
}
$result = $this->db->query("SELECT booking.qrcode,events.event_id,events.has_payment AS is_payment_required,$cat_filed, `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.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){
$result['is_payment_required'] = ($result['is_payment_required'] == 1) ? true: false;
......@@ -899,7 +827,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function payment($data) {
try{
$user_id = $this->auth_token_get($data['auth_token']);
......@@ -922,7 +849,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function event_rating($data) {
try{
$user_id = $this->auth_token_get($data['auth_token']);
......@@ -948,13 +874,10 @@ class Webservice_model extends CI_Model {
return $res;
}
function update_notification_email_status($data) {
try{
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
$notData = array('notification_status'=>$data['notification_status'], 'email_status'=>$data['email_status']);
$this->db->where('id', $user_id);
$this->db->where('status', 1);
......@@ -974,9 +897,7 @@ class Webservice_model extends CI_Model {
return $res;
}
public function update_profile($data) {
try{
$user_id = $this->auth_token_get($data['auth_token']);
$img_error = 0;
......@@ -984,7 +905,6 @@ class Webservice_model extends CI_Model {
$post_data = $data;
unset($post_data['file']);
unset($post_data['auth_token']);
if(isset($data['email'])){
$this->db->select('customer.email');
$this->db->where('customer.email',$data['email']);
......@@ -996,7 +916,6 @@ class Webservice_model extends CI_Model {
if($num > 0)
{
$res = array('status'=>0,'message'=>'Email address already exist','code'=>'ER32');
return $res;
}
}
......@@ -1028,7 +947,6 @@ class Webservice_model extends CI_Model {
$res = array('status'=>0,'message'=>'Profile update failed','code'=>'ER32');
}
}
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->where('users.id',$user_id);
......@@ -1041,7 +959,6 @@ class Webservice_model extends CI_Model {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
}
}
} else {
$res = array('status'=>0,'message'=>'Invalid user','code'=>'ER19');
}
......@@ -1052,7 +969,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function booking($data) {
try{
$user_id = $this->auth_token_get($data['auth_token']);
......@@ -1097,7 +1013,6 @@ class Webservice_model extends CI_Model {
if($id){
$res = array('status'=>1,'data'=>array('bookingCode'=>$post_data['bookId']));
$insertArr = array();
$inStatus = ($post_data['status'] == 1)?'1':'0';
if(!empty($invite_ids)){
......@@ -1127,14 +1042,12 @@ class Webservice_model extends CI_Model {
INNER JOIN event_date_time AS EDATE ON (EDATE.id=BK.event_date_id)
WHERE BK.bookId='".$post_data['bookId']."' AND EVT.status='1' AND
BK.status='1' AND EDATE.status='1'")->row_array();
$subject = "Your Tickets - TimeOut";
$showTime = date("d'S F Y - h:i, (l)",strtotime($bkData['show_time']));
$msgContent = "Hi, Your booking is confirmed for the event '".
$bkData['event_name']."' and show is on '".$showTime."'.
Booking ID ".$post_data['bookId'];
$message = "<html><body><p>".$msgContent."</p></body></html>";
$template = getNotifTemplate();
if(isset($template['booking_mail']) && !empty($template['booking_mail'])){
$msgContent = str_replace(
......@@ -1143,7 +1056,6 @@ class Webservice_model extends CI_Model {
$template['booking_mail']);
}
$this->send_mail($subject,$bkData['email'],$message);
if(isset($template['booking_sms']) && !empty($template['booking_sms'])){
$msgContent = str_replace(
array('{:event_name}','{:booking_id}','{:time}'),
......@@ -1178,7 +1090,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function generateQR($data) {
return 'https://www.barcodefaq.com/wp-content/uploads/2018/08/gs1-qrcode-fnc1.png';
}
......@@ -1201,20 +1112,17 @@ class Webservice_model extends CI_Model {
} 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 favouritelist($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
$lang = $this->getCountryData($user_id);
if($lang == 'ar') {
$cat_field = 'event_category.category_ar AS category';
$cat_field .= ',events.event_name_ar AS event_name';
......@@ -1222,7 +1130,6 @@ class Webservice_model extends CI_Model {
$cat_field = 'event_category.category_en AS category';
$cat_field .= ',events.event_name AS event_name';
}
$result = $this->db->query("
SELECT events.event_id, event_gallery.media_url, (SELECT COUNT(booking.id) FROM booking WHERE booking.event_id = events.event_id) AS attendees, event_category.category AS category, events.event_name AS 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, GROUP_CONCAT(DISTINCT CONCAT_WS('#', event_date_time.id, event_date_time.date, event_date_time.time)) AS date_time
FROM favourite
......@@ -1238,11 +1145,9 @@ class Webservice_model extends CI_Model {
favourite.user_id='$user_id' AND events.status=1 AND
event_date_time.date>=DATE_FORMAT(NOW(),'%Y-%m-%d')
GROUP BY events.event_id")->result();
if(empty($result)){
return array('status'=>1,'data' => []);
}
foreach ($result AS $key => $rs) {
if(!empty($dates = explode(',',$rs->date_time))){
$checkTime = 0;
......@@ -1264,7 +1169,6 @@ class Webservice_model extends CI_Model {
unset($result[$key]);
}
}
if(($count = count($result)) > 0){
$response = array();
foreach ($result as $rs) {
......@@ -1315,7 +1219,6 @@ class Webservice_model extends CI_Model {
$user_id = $this->auth_token_get($data['auth_token']);
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'])) {
$page = $data['page'];
......@@ -1330,8 +1233,7 @@ class Webservice_model extends CI_Model {
$cat_field = 'events.event_name AS event_name';
}else{
$cat_field = 'events.event_name_ar AS event_name';
}
}
$result = $this->db->select("booking.bookId AS booking_id,booking.event_id,$cat_field,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();
......@@ -1385,21 +1287,18 @@ class Webservice_model extends CI_Model {
}
$result = $this->db->select("booking.bookId AS booking_id,booking.event_id,$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, events.has_payment")->where('booking.customer_id',$user_id)->where_in('booking.status',array(0,1,2))->from('booking')->join('events','booking.event_id = events.event_id')->join('event_date_time','booking.event_date_id = event_date_time.id')->join('venue','venue.id = events.venue_id')->join('event_gallery', 'events.event_id = event_gallery.event_id AND event_gallery.media_type = 0', 'LEFT')->group_by('booking.id')->order_by('booking.id','DESC')->limit($per_page,$page_limit)->get()->result_array();
// $data_arr = array();
// foreach ($result as $value) {
// $data_arr[] = $value;
// $bookList = array_slice($data_arr, $page_limit, $per_page, false);
// }
$meta = array('total_pages'=>ceil($count/$per_page),
'total'=>$count,
'current_page'=>$page,
'per_page'=>$per_page
);
$response = array('bookings'=>$result,'meta'=>$meta);
$res = array('status'=>1,'data'=>$response);
} else {
$res = array('status'=>1,'data' => []);
......@@ -1420,7 +1319,6 @@ class Webservice_model extends CI_Model {
try {
$user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) {
$lang = $this->getCountryData($user_id);
$fields = 'privacy_policy_en AS privacy_policy,
terms_and_conditions_en AS terms_and_conditions,';
......@@ -1428,10 +1326,8 @@ class Webservice_model extends CI_Model {
$fields = 'privacy_policy_ar AS privacy_policy,
terms_and_conditions_ar AS terms_and_conditions,';
}
$settingsDetails = $this->db->query("SELECT $fields contact_number FROM privacy_policy")
->row_array();
$notificationDetails = $this->db->query("SELECT notification_status, email_status
FROM users WHERE id = ".$user_id."")
->row_array();
......@@ -1476,7 +1372,6 @@ class Webservice_model extends CI_Model {
return $res;
}
function get_last_booking($data) {
try {
$user_id = $this->auth_token_get($data['auth_token']);
......@@ -1499,7 +1394,6 @@ class Webservice_model extends CI_Model {
'amount'=>$result['amount'],
'date'=>$result['date']
);
$res = array('status'=>1,'data'=>$resultData);
} else {
$res = array('status'=>0,'message'=>'No records found','code'=>'ER13');
......@@ -1520,31 +1414,23 @@ class Webservice_model extends CI_Model {
$lang = $this->db->select('language')->where('customer_id', $user_id)->get('customer')->row();
if($lang->language == 'ar') {
$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.locality_en AS city_name';
$cat_field = 'event_category.category_en AS category';
$cat_field .= ',event_category.category_image AS category_image';
$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"]];
}
$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
ORDER BY event_category.priority")->result();
if(!EMPTY($locality)) {
$locality = $locality;
}else{
......@@ -1624,7 +1510,6 @@ class Webservice_model extends CI_Model {
if($user_id > 0) {
$per_page = 10;
$str = urldecode(strtolower($data['query']));
$this->db->query("SET SESSION group_concat_max_len = 20000");
$sql = "SELECT GROUP_CONCAT(DISTINCT CONCAT_WS('#',EDATE.id,EDATE.date,EDATE.time))
AS date_time
......@@ -1639,11 +1524,9 @@ class Webservice_model extends CI_Model {
VEN.status='1' AND IMG.status='1' AND EDATE.status='1'
GROUP BY EVT.event_id";
$resCount = $this->db->query($sql)->result();
if(empty($resCount)){
return array('status'=>1,'data'=>array('events'=>[],'meta'=>$meta));
}
foreach ($resCount AS $key => $rs) {
if(!empty($dates = explode(',',$rs->date_time))){
$checkTime = 0;
......@@ -1664,23 +1547,17 @@ class Webservice_model extends CI_Model {
} else {
unset($resCount[$key]);
}
}
$count = count($resCount);
$page = (isset($data['page']))?$data['page']:1;
$page_limit = ($page - 1) * $per_page;
$meta = array('total_pages'=>ceil($count/$per_page),'total'=>$count,
'current_page'=>$page,'per_page'=>$per_page);
if($count > 0 && $count > $page_limit) {
$lang = $this->getCountryData($user_id);
if($lang == 'en') $event_name = 'events.event_name AS event_name';
else $event_name = 'events.event_name_ar AS event_name';
$limit = $page_limit.','.$per_page;
$this->db->query("SET SESSION group_concat_max_len = 20000");
$sql = "SELECT EVT.event_id,EVT.event_name,VEN.location,
IMG.media_url AS event_image,
......@@ -1699,7 +1576,6 @@ class Webservice_model extends CI_Model {
ORDER BY EVT.event_id DESC
LIMIT $limit";
$result = $this->db->query($sql)->result();
foreach ($result AS $key => $rs) {
if(!empty($dates = explode(',',$rs->date_time)) && count($dates) > 0){
$checkTime = 0;
......@@ -1718,7 +1594,6 @@ class Webservice_model extends CI_Model {
}
unset($result[$key]->date_time);
}
$res = array('status'=>1,'data'=>array('events'=>$result,'meta'=>$meta));
} else {
$res = array('status'=>1,'data'=>array('events'=>[],'meta'=>$meta));
......@@ -1732,12 +1607,10 @@ class Webservice_model extends CI_Model {
return $res;
}
public function checkSeatAvailability($data = ''){
$user_id = $data['user_id'];
$event_id = $data['event_id'];
$evtTimeId = $data['time_id'];
$user_id = $data['user_id'];
$event_id = $data['event_id'];
$evtTimeId = $data['time_id'];
$lyCapacity = array();
$capacity = $usrBooked = $maxBooking = 0;
$sql = "SELECT EDATE.date,EDATE.time,EVT.custom_seat_layout,EVT.seat_pricing,
......@@ -1750,41 +1623,34 @@ class Webservice_model extends CI_Model {
EDATE.date >= DATE_FORMAT(NOW(),'%Y-%m-%d')";
$evtSql = $this->db->query($sql);
$evtData = $evtSql->row_array();
if(!empty($user_id)){
if(!empty($user_id)){
$sql = "SELECT SUM(BOK.no_of_ticket) AS bookCount
FROM booking AS BOK
INNER JOIN event_date_time AS EDATE ON (BOK.event_date_id=EDATE.id)
WHERE BOK.event_id='$event_id' AND BOK.customer_id='$user_id' AND
EDATE.id='$evtTimeId' AND BOK.status IN (1,2)";
$result = $this->db->query($sql)->row_array();
$usrBooked = (!empty($result))?$result['bookCount']:0;
}
$maxBooking = $evtData['max_booking']-$usrBooked;
if($evtData['show_layout'] == 0){
$lyout = json_decode($evtData['seat_pricing'],true);
$lyCapacity['price'] = $lyout['price'];
$lyCapacity['capacity'] = $lyout['capacity'];
} else {
$lyout = (!empty($evtData['custom_seat_layout']))
?json_decode($evtData['custom_seat_layout'],true)
:json_decode($evtData['layout_details'],true);
foreach($lyout AS $custLy) {
$lyCapacity[$custLy['color']] = array('price'=>$custLy['price'],
'capacity'=>$custLy['capacity'],
'weekend_price'=>$custLy['weekend_price']);
}
}
$sql = "SELECT BOOK.no_of_ticket,BOOK.ticket_details
FROM booking AS BOOK
INNER JOIN event_date_time AS EDATE ON (BOOK.event_date_id=EDATE.id)
WHERE BOOK.event_id='$event_id' AND BOOK.event_date_id='$evtTimeId'";
if(!empty($result = $this->db->query($sql)->result_array())){
foreach($result AS $value) {
if($evtData['show_layout'] == 0){
......@@ -1797,7 +1663,6 @@ class Webservice_model extends CI_Model {
}
}
}
$event_layouts = array();
if($evtData['show_layout'] == 0){
$capacity = $lyCapacity['capacity'];
......@@ -1809,7 +1674,6 @@ class Webservice_model extends CI_Model {
foreach($lyCapacity AS $block => $sData) {
$capacity = $sData['capacity'];
$lyCapacity[$block]['capacity'] = ($capacity < $maxBooking)? $capacity : $maxBooking;
$event_layouts[] = array('rate' => $lyCapacity[$block]['price'],
'class_name' => $block,
'max_ticket' => $lyCapacity[$block]['capacity']);
......@@ -1842,8 +1706,6 @@ class Webservice_model extends CI_Model {
WHERE (".$phNumbers.") AND
customer_id NOT IN (SELECT from_user FROM chats WHERE (from_user=$user_id AND type='2') OR (to_user =$user_id AND type='2')) AND
customer_id NOT IN (SELECT to_user FROM chats WHERE (from_user=$user_id AND type='2') OR (to_user =$user_id AND type='2'))");
$respArr['status'] = 1;
if(!empty($result) && !empty($result = $result->result_array())){
$respArr['data'] = $result;
......@@ -1881,7 +1743,6 @@ class Webservice_model extends CI_Model {
public function get_friend_requests($data){
$respArr = array('status'=>0,'code'=>'918','message'=>'No Request for you');
$user_id = $this->auth_token_get($data['auth_token']);
$result = $this->db->query("SELECT CUST.name,CUST.phone,CUST.profile_image,CUST.customer_id
FROM customer AS CUST
INNER JOIN chats AS CHT ON (CUST.customer_id = CHT.from_user)
......@@ -1910,7 +1771,6 @@ class Webservice_model extends CI_Model {
} else {
continue;
}
$this->db->select("name,phone,profile_image,customer_id");
$cust = $this->db->get_where('customer',array('customer_id'=>$fromUsrId));
if(!empty($cust) && !empty($cust = $cust->row_array())){
......@@ -1969,8 +1829,6 @@ class Webservice_model extends CI_Model {
$respArr['message'] = 'Invalid Promocode';
return $respArr;
}
$eventData = $this->db->query("SELECT VEN.region_id,EVT.category_id FROM events AS EVT
INNER JOIN venue AS VEN ON (VEN.id = EVT.venue_id)
WHERE EVT.event_id='".$promoData['event_id']."' AND EVT.status='1'");
......@@ -1980,47 +1838,42 @@ class Webservice_model extends CI_Model {
$respArr['message'] = 'Promocode Invalid or Expired';
return $respArr;
}
if(!empty($promoData['event_id']) && $promoData['event_id'] != $data['event_id']){
$respArr['status'] = 0;
$respArr['code'] = 981;
$respArr['message'] = 'Promocode is not Valid for this Event';
return $respArr;
}
if(!empty($promoData['category_id']) && $promoData['category_id'] != $eventData['category_id']){
$respArr['status'] = 0;
$respArr['code'] = 982;
$respArr['message'] = 'Promocode is not Valid for this Category';
return $respArr;
}
if(!empty($promoData['city_id']) && $promoData['city_id'] != $eventData['region_id']){
$respArr['status'] = 0;
$respArr['code'] = 983;
$respArr['message'] = 'Promocode is not Valid for this City';
return $respArr;
}
if(!empty($promoData['min_order_amount']) && $promoData['min_order_amount'] > $tot_cost){
$respArr['status'] = 0;
$respArr['status'] = 1;
$respArr['code'] = 984;
$respArr['message'] = 'Minimum amount is not satisfied';
$respArr['minimum_amount'] = $promoData['min_order_amount'];
$respArr['data'] = array('message'=>'Minimum amount is not satisfied',
'minimum_amount'=>$promoData['min_order_amount']);
return $respArr;
}
$discAmt = 0;
if($promoData['discount_type'] == 1){
$discAmt = $tot_cost - (($tot_cost * $promoData['discount_percentage'])/100);
$discAmt = ($tot_cost * $promoData['discount_percentage'])/100;
} else {
$discAmt = ($tot_cost<=$promoData['discount_percentage'])?0:$tot_cost-$promoData['discount_percentage'];
}
if(!empty($promoData['max_redeem']) && $promoData['max_redeem'] < $discAmt){
$discAmt = $promoData['max_redeem'];
$discAmt = ($tot_cost<=$promoData['discount_percentage'])?$tot_cost:$promoData['discount_percentage'];
}
$discAmt = (!empty($maxReedem = $promoData['max_redeem']) && $maxReedem < $discAmt)?$maxReedem:$discAmt;
$tot_cost = $tot_cost-$discAmt;
$tot_cost = ($tot_cost <= 0)?0:$tot_cost;
$promDetails = langTranslator($promoData['promocode_id'],'PROMO','');
$datas['discounted_price'] = $discAmt;
$datas['discounted_price'] = $tot_cost;
$datas['promocode_tc_ar'] = $promDetails['promocode_tc_AR'];
$datas['promocode_tc_en'] = $promDetails['promocode_tc_EN'];
$datas['promocode_desc_ar'] = $promDetails['promocode_desc_AR'];
......
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