Google
Edit File: user_api1.php
<?php //ini_set('display_errors', 1); //ini_set('display_startup_errors', 1); //error_reporting(E_ALL); require_once 'API.php'; require_once 'ConDB.php'; require_once 'getErrorMsg.php'; require_once 'ManageToken.php'; //echo"hi"; define("APP_TITLE","event");//change this to your app name class MyAPI extends API { protected $User; private $db; private $chatMessagePageSize = 30; private $androidUrl = 'https://fcm.googleapis.com/fcm/send';//'http://android.googleapis.com/gcm/send'; public function __construct($request_uri, $postData, $origin) { parent::__construct($request_uri, $postData); $this->db = new ConDB(); $time = "set time_zone = '+05:30'"; mysqli_query( $this->db->conn,$time); // echo "2"; } protected function _getStatusMessage($code, $msg) { return array('code' => $code, 'msg' => $msg); //,'test'=>$test_num); } protected function _createOrUpdateSession($uid, $device_type, $device_id,$device_token) { //$session_token = $this->garbler($device_id); $a=rand(1000,9999); $b=rand(100,999); $c=rand(10000,99999); $d="aD12K6rtZ"; $e="b0bkhER#$"; $salt=($c.$d.$a.$e.$b); $session_token =md5($device_id.$salt); $getExistingSession = "select * from user_session where user_id like '$uid'"; $user = mysqli_query($this->db->conn,$getExistingSession)or die (mysqli_error($this->db->conn)) ; if (mysqli_num_rows($user) >0) { $updateSession = "update user_session set session_token = '$session_token',state = 1, modified_dt = NOW() where user_id like $uid "; $user1 = mysqli_query($this->db->conn,$updateSession)or die (mysqli_error($this->db->conn)) ; } else { $insertSession = "insert into user_session (user_id, session_token,state, created_dt, modified_dt) values ('$uid','$session_token','1', NOW(), NOW())"; //echo "atul"; $user2 = mysqli_query($this->db->conn,$insertSession)or die (mysqli_error($this->db->conn)) ; } return $session_token; } protected function _createOrUpdateSession1($uid, $device_type, $device_id,$device_token) { //$session_token = $this->garbler($device_id); $a=rand(1000,9999); $b=rand(100,999); $c=rand(10000,99999); $d="aD12K6rtZ"; $e="b0bkhER#$"; $salt=($c.$d.$a.$e.$b); $session_token =md5($device_id.$salt); $getExistingSession = "select * from kitchen_session where k_id like '$uid'"; $user = mysqli_query($this->db->conn,$getExistingSession)or die (mysqli_error($this->db->conn)) ; if (mysqli_num_rows($user) >0) { $updateSession = "update kitchen_session set session_token = '$session_token',state = 1, modified_dt = NOW() where k_id like $uid "; $user1 = mysqli_query($this->db->conn,$updateSession)or die (mysqli_error($this->db->conn)) ; } else { $insertSession = "insert into kitchen_session (k_id, session_token,state, created_dt, modified_dt) values ('$uid','$session_token','1', NOW(), NOW())"; //echo "atul"; $user2 = mysqli_query($this->db->conn,$insertSession)or die (mysqli_error($this->db->conn)) ; } return $session_token; } protected function get_brands_list($args){ if ($args['event_id'] == '' ) { $errMsgArr = $this->_getStatusMessage(10, "Invalid Inputs"); return array('err'=>$errMsgArr); } $event_id = $args['event_id']; //echo $qry; $qry = "select b.brand_id, b.brand_name, b.brand_logo, b.created_dt, (select count(*) from event_menu_map where event_id=$event_id and brand_id=b.brand_id) as item_count from brand b left join event_vendor_map ev on ev.brand_id=b.brand_id where ev.event_id=$event_id"; // $merchants = mysqli_query($this->db->conn,$qry) ; if(!$merchants = mysqli_query($this->db->conn,$qry)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } $myfile = fopen("get_mer_list.txt", "w"); fwrite($myfile,$qry); //fwrite($myfile,json_encode($args)); fclose($myfile); $mers = array(); while($mer = mysqli_fetch_assoc($merchants)){ if($mer['item_count'] >0 ){ $mers[]=$mer; } } $errMsgArr = $this->_getStatusMessage(1, "Success"); return array('err'=>$errMsgArr,'brands'=>$mers); } protected function get_menu_list($args){ if ($args['event_id'] == '' || $args['brand_id'] == '' ) { $errMsgArr = $this->_getStatusMessage(10, "Invalid Inputs"); return array('err'=>$errMsgArr); } $event_id = $args['event_id']; $brand_id = $args['brand_id']; //echo $qry; $qry = "select m.id,m.name,m.price,m.image,m.is_veg,m.description,m.created_dt,m.modified_dt,(select event_name from event er where er.event_id = e.event_id) as event_name , e.brand_id, (select brand_name from brand br where br.brand_id = e.brand_id) as brand_name from menu_items m inner join event_menu_map e on m.id = e.menu_id where e.event_id = '$event_id' and e.brand_id = '$brand_id'"; // $qry = "select * from menu_items where event_id=$event_id and brand_id=$brand_id"; // if(!$merchants = $this->con->db->query($qry)){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server");return array( 'err'=>$errMsgArr); // } if(!$merchants = mysqli_query($this->db->conn,$qry)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } $myfile = fopen("get_mer_list.txt", "w"); fwrite($myfile,$qry); // fwrite($myfile,json_encode($args)); fclose($myfile); $mers = array(); // while($mer = $merchants->fetch_assoc()){ while($mer = mysqli_fetch_assoc($merchants)){ $mers[] = $mer; } $errMsgArr = $this->_getStatusMessage(1, "Success"); return array('err'=>$errMsgArr,'items'=>$mers); } protected function get_events($args){ $getCuisine = "select *, date(NOW()) as curr_date, time(NOW()) as curr_time from event where date(end_dt)>=date(NOW())"; // if(!$cuisines = $this->con->db->query($getCuisine)){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server");return array( 'err'=>$errMsgArr); // } if(!$cuisines = mysqli_query($this->db->conn,$getCuisine)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } $csns = array(); // while($con = $cuisines->fetch_assoc()){ while($con = mysqli_fetch_assoc($cuisines)){ if ($con['curr_date']<$con['start_dt']) { $con['state']=2; $con['message'] = "The event has not started yet"; } else if ($con['curr_time']<$con['start_time'] || $con['curr_time']>$con['end_time']) { $con['state']=2; $con['message'] = "The ordering for the event is closed"; } else { $con['state']=1; $con['message'] = ""; } $csns[] = $con; } $errMsgArr = $this->_getStatusMessage(1,"Success"); return array('err'=>$errMsgArr,'events'=>$csns); } protected function add_order($args){ // var_dump($args); $event_id = $args['event_id']; $table = $args['user_table']; $hall_number = $args['hall_number']; $card_id = $args['card_id']; if($card_id == ''){$card_id = 0;} $comment = $args['comment']; $name = $args['name']; $email = $args['email']; $phone = $args['phone']; $company = $args['company']; $device_id = $args['device_id']; $mf = fopen("add_order_req.txt","w"); fwrite($mf,json_encode($args)); fclose($mf); $day = date("N", time()); $tim = date("H:i",time()); if ($event_id =='' || $table == '') { $errMsgArr = $this->_getStatusMessage(10, "Invalid Inputs"); return array('err'=>$errMsgArr); } $inOrder = "insert into orders (table_no, comments, state,created_dt, event_id, device_id,name, email, phone, company, ready_state, hall_number) values ('$table', \"" . $comment . "\",'-1',NOW(), '$event_id', '$device_id', '$name','$email','$phone','$company',0, '$hall_number')"; // if(!$this->con->db->query($inOrder)){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the 1server");return array( 'err'=>$errMsgArr); // } if(!$cuisines = mysqli_query($this->db->conn,$inOrder)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } // $order_id = $this->con->db->insert_id; $order_qry ="select order_id from orders order by order_id desc limit 1"; if(!$cuisines1 = mysqli_query($this->db->conn,$order_qry)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } $user1 = mysqli_fetch_assoc($cuisines1); $order_id=$user1['order_id']; $tot = 0; $ptot = 0; $inOk = 0; $items = json_decode($args['order_items'],true); $itm_cnt = count($items); $totl = 0; for($i=0;$i<$itm_cnt;$i++){ $item_id = $items[$i]['item_id']; $brand_id = $items[$i]['brand_id']; $quantity = $items[$i]['quantity']; // $gtItm = "select * from menu_items where id = $item_id and event_id=$event_id and brand_id=$brand_id"; $gtItm = "select menu_items.name, menu_items.price, emap.brand_id from menu_items left join event_menu_map emap on emap.menu_id= menu_items.id where menu_items.id = $item_id and emap.event_id=$event_id"; if(!$itms = mysqli_query($this->db->conn,$gtItm)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } $itm = $itms->fetch_assoc(); $itm_name = $itm['name']; $itm_price = $itm['price']; $brand_id = $itm['brand_id']; $total = $itm_price * $quantity; $addItem = "insert into order_items (item_id, order_id, item_name, quantity, price, total, brand_id) values ('$item_id', '$order_id', '$itm_name', '$quantity','$itm_price', '$total', '$brand_id')"; if(!$suc = mysqli_query($this->db->conn,$addItem)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } // if(!$suc = $this->con->db->query($addItem)){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the 3server");return array( 'err'=>$errMsgArr); // } $totl = $totl + $total; } $service = 0.1*$totl; $totl = $totl + $service; $upqry="update orders set amount = '$totl',service_charge = $service, state=0 where order_id = '$order_id'"; if(!$suc1 = mysqli_query($this->db->conn,$upqry)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } // if(!$this->con->db->query("update orders set amount = '$totl',service_charge = $service, state=0 where order_id = '$order_id'")){ // $errMsgArr = $this->_getStatusMessage(11, "4Trouble Connecting to the 4server");return array( 'err'=>$errMsgArr); // } /* $getMerchants = "select m.merchant_id, m.merchant_email, m.event_id, ms.device_token, ms.device_id, ms.device_type where m.event_id=$event_id and ms.state=1"; if(!$merchants = $this->con->db->query($getMerchants)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the 2server");return array( 'err'=>$errMsgArr); } while($dev = $merchants->fetch_assoc()) { $not = array("user_id"=>$dev['merchant_id'],"device_state"=>$dev['state'],"device_type"=>$dev['device_type'],"device_token"=>$dev['device_token'],"not_body"=>"New order received","email"=>$dev['merchant_email'],"subject"=>"New Order received","email_body"=>$email_body); $this->sendNotifications($not); } */ $errMsgArr = $this->_getStatusMessage(1,"Success"); return array('err'=>$errMsgArr,'order_id'=>(string)$order_id); } protected function get_pending_orders($args){ if ($args['event_id'] == '' || $args['device_id'] == '' ) { $errMsgArr = $this->_getStatusMessage(10, "Invalid Inputs"); return array('err'=>$errMsgArr); } $event_id = $args['event_id']; $device_id = $args['device_id']; //echo $qry; $qry = "select * from orders where event_id=$event_id and device_id='$device_id' and state<2"; // if(!$merchants = $this->con->db->query($qry)){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server");return array( 'err'=>$errMsgArr); //} if(!$merchants = mysqli_query($this->db->conn,$qry)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } $myfile = fopen("get_mer_list.txt", "w"); fwrite($myfile,$qry); // fwrite($myfile,json_encode($args)); fclose($myfile); $mers = array(); // while($mer = $merchants->fetch_assoc()){ while($mer = mysqli_fetch_assoc($merchants)){ $mers[] = $mer; } $errMsgArr = $this->_getStatusMessage(1, "Success"); return array('err'=>$errMsgArr,'brands'=>$mers); } protected function get_order_details($args) { $order_id = $args['order_id']; $device_id = $args['device_id']; if ($order_id == '') { $errMsgArr = $this->_getStatusMessage(10, "Invalid Inputs"); return array('err'=>$errMsgArr); } $checkExistingMerchant = "select * from orders where order_id=$order_id and device_id = '$device_id'"; // if(!$user = $this->con->db->query($checkExistingMerchant)){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server");return array( 'err'=>$errMsgArr); // } if(!$user = mysqli_query($this->db->conn,$checkExistingMerchant)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } // if ($user->num_rows <= 0) { // $errMsgArr = $this->_getStatusMessage(2, "Invalid Credentials"); // return array('err'=>$errMsgArr); // } if (mysqli_num_rows($user) <=0) { $errMsgArr = $this->_getStatusMessage(2, "Invalid Credentials"); return array('err'=>$errMsgArr); } else { // $usr = $user->fetch_assoc(); $usr = mysqli_fetch_assoc($user); $order = array(); $qry1="select o.order_id,o.table_no, o.ready_state,o.state, o.amount from orders o where o.order_id = '$order_id'"; if(!$orders = mysqli_query($this->db->conn,$qry1)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } // if(!$orders = $this->con->db->query("select o.order_id,o.table_no, o.ready_state,o.state, o.amount from orders o where o.order_id = '$order_id'")){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server");return array( 'err'=>$errMsgArr); // } // $ordr = $orders->fetch_assoc(); $ordr = mysqli_fetch_assoc($orders); $order = array("table_no"=>$ordr['table_no'], "order_state"=>$ordr['ready_state'],"order_id"=>$ordr['order_id'], "amount"=>$ordr['amount']); $dqry = "select o.item_id,o.item_name as name,o.quantity,o.price, o.brand_id, b.brand_name, b.brand_logo from order_items o left join brand b on b.brand_id=o.brand_id where o.order_id = '$order_id' "; if(!$drinks = mysqli_query($this->db->conn,$dqry)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } // if(!$drinks = $this->con->db->query($dqry)){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server");return array( 'err'=>$errMsgArr); // } $drink = array(); // while($drnk = $drinks->fetch_assoc()){ while($drnk = mysqli_fetch_assoc($drinks)){ $drink[] = array("name"=>$drnk['name'],"item_id"=>$drnk['item_id'],"quantity"=>$drnk['quantity'],"bc_type"=>$drnk['bc_preferred'], "brand"=>$drnk['brand_name'], "price"=>$drnk['price'],"brand_logo"=>$drnk['brand_logo']); } $errMsgArr = $this->_getStatusMessage(1,"Success"); return array('err'=>$errMsgArr,'order'=>$order,'items'=>$drink); } } protected function validate_order($args){ if ($args['order_id'] == '' || $args['device_id'] == '' || $args['otp'] == '') { $errMsgArr = $this->_getStatusMessage(10, "Invalid Inputs"); return array('err'=>$errMsgArr); } $order_id = $args['order_id']; $device_id = $args['device_id']; $otp = $args['otp']; //echo $qry; $qry = "update orders set state=0 where order_id=$order_id and device_id='$device_id' and state=-1 and otp='$otp'"; if(!$merchants = mysqli_query($this->db->conn,$qry)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } // if(!$merchants = $this->con->db->query($qry)){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server");return array( 'err'=>$errMsgArr); // } $myfile = fopen("get_mer_list.txt", "w"); fwrite($myfile,$qry); // fwrite($myfile,json_encode($args)); fclose($myfile); $errMsgArr = $this->_getStatusMessage(1, "Success"); return array('err'=>$errMsgArr); } protected function resend_otp($args){ if ($args['order_id'] == '' || $args['device_id'] == '' ) { $errMsgArr = $this->_getStatusMessage(10, "Invalid Inputs"); return array('err'=>$errMsgArr); } $order_id = $args['order_id']; $device_id = $args['device_id']; //echo $qry; $qry = "update orders set otp='1234' where order_id=$order_id and device_id='$device_id' and state=-2"; if(!$merchants = mysqli_query($this->db->conn,$qry)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } // if(!$merchants = $this->con->db->query($qry)){ // $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server");return array( 'err'=>$errMsgArr); // } $myfile = fopen("get_mer_list.txt", "w"); fwrite($myfile,$qry); // fwrite($myfile,json_encode($args)); fclose($myfile); $errMsgArr = $this->_getStatusMessage(1, "Success"); return array('err'=>$errMsgArr); } protected function sendfeedback($args){ // echo "<pre>"; //print_r($args); //echo "</pre>"; $requestlog = json_encode($args); $payloadQuery = "INSERT INTO `payload` (requestdata,responsedata,type,created_on ) VALUES ('".$requestlog."',NULL,'".feedback."',NOW()) "; mysqli_query($this->db->conn,$payloadQuery); if ($args['order_id'] == '' || $args['event_id'] == '') { $errMsgArr = $this->_getStatusMessage(10, "Invalid Inputs"); return array('err'=>$errMsgArr); } $feedbackQuery = "INSERT INTO `feedback` (`event_id`,`order_id`,`device_id`,`ratings`,`comments`,created_on) VALUES ( '".$args['event_id']."', '".$args['order_id']."', '".$args['device_id']."', '".$args['ratings']."', '".$args['comments']."', NOW() );"; if(!$merchants = mysqli_query($this->db->conn,$feedbackQuery)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } /* if(!$this->db->query($feedbackQuery)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the 1server"); return array( 'err'=>$errMsgArr); } */ $errMsgArr = $this->_getStatusMessage(1,"Success"); return array('err'=>$errMsgArr); } protected function sendGcmToken($args){ $requestlog = json_encode($args); $payloadQuery = "INSERT INTO `payload` (requestdata,responsedata,type,created_on ) VALUES ('".$requestlog."',NULL,'".sendGcmToken."',NOW()) "; mysqli_query($this->db->conn,$payloadQuery); if(isset($args['device_id']) && !empty($args['device_id'])){ $getExistingDeviceId = "select device_id from sendgcmdata where device_id ='".$args['device_id']."'"; $existdeviceID = mysqli_query($this->db->conn,$getExistingDeviceId) ; if(mysqli_num_rows($existdeviceID)>0){ $sendextGcmTokenQuery = "update `sendgcmdata` set token_id='".$args['token_id']."' where device_id='".$args['device_id']."'"; mysqli_query($this->db->conn,$sendextGcmTokenQuery) ; }else{ $sendGcmTokenQuery = "INSERT INTO `sendgcmdata` ( token_id, device_id, device_type, created_on) VALUES ( '".$args['token_id']."', '".$args['device_id']."', '".$args['device_type']."', '".$args['created_on']."' );"; } } if(!$merchants = mysqli_query($this->db->conn,$sendGcmTokenQuery)){ $errMsgArr = $this->_getStatusMessage(11, "Trouble Connecting to the server"); return array( 'err'=>$errMsgArr); } $errMsgArr = $this->_getStatusMessage(1,"Success"); return array('err'=>$errMsgArr); } } if (!array_key_exists('HTTP_ORIGIN', $_SERVER)) { $_SERVER['HTTP_ORIGIN'] = $_SERVER['SERVER_NAME']; } try { $API = new MyAPI($_SERVER['REQUEST_URI'], $_REQUEST, $_SERVER['HTTP_ORIGIN']); echo $API->processAPI(); } catch (Exception $e) { echo json_encode(Array('error' => $e->getMessage())); } $c=new MyAPI(); echo $c->_getStatusMessage(3, "your account is not activated"); ?>