Advertisement
Guest User

Untitled

a guest
May 17th, 2018
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.89 KB | None | 0 0
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. class Api extends CI_Controller {
  4. function __construct(){
  5. parent::__construct();
  6.  
  7. date_default_timezone_set('Asia/Jakarta');
  8. error_reporting(E_ALL);
  9. ini_set('display_errors', 1);
  10.  
  11. }
  12.  
  13. private function check_sesi(){
  14. $token = $this->input->post('f_token');
  15. $device = $this->input->post('f_device');
  16.  
  17. //$token = 'a6bccee9979eef5c66532b5a36880d39';
  18. //$device = 'ffffffff-be46-4574-ffff-ffffbdceeae1';
  19.  
  20. if($token || $device){
  21. $sql = "SELECT * FROM sesi WHERE
  22. sesi_key = ? AND sesi_device = ?
  23. AND sesi_status = ?";
  24. // $this->db->where('sesi_key', $token);
  25. // $this->db->where('sesi_status', 1);
  26. // $this->db->where('sesi_device', $device);
  27. $query = $this->db->query($sql, array($token, $device, 1));
  28. if($query->num_rows() > 0){
  29. return true;
  30. }else{
  31. return false;
  32. }
  33. }else{
  34. return false;
  35. }
  36.  
  37.  
  38.  
  39. }
  40.  
  41. public function daftar($isDriver = ''){
  42. $data = array();
  43. $nama = $this->input->post('nama');
  44. $email = $this->input->post('email');
  45. $password = $this->input->post('password');
  46. $hp = $this->input->post('phone');
  47.  
  48. //check email in di database
  49. $this->db->where('user_email', $email);
  50. $this->db->where_not_in('user_status', array(9));
  51. $q = $this->db->get('user');
  52.  
  53. if($q->num_rows() > 0) {
  54. $data['result'] = 'false';
  55. $data['msg'] = 'Email anda sudah terdaftar, silahkan untuk login.';
  56. }else{
  57. $simpan = array();
  58.  
  59. if($isDriver != ''){
  60. $level = 2;
  61. }else{
  62. $level = 3;
  63. }
  64. $simpan['user_level'] = $level;
  65. $simpan['user_password'] = md5x($password);
  66. $simpan['user_nama'] = $nama;
  67. $simpan['user_email'] = $email;
  68. $simpan['user_register'] = date('Y-m-d H:i:s');
  69. $simpan['user_hp'] = $hp;
  70.  
  71. $status = $this->db->insert('user',$simpan);
  72.  
  73. if($status){
  74. $data['result'] = '1';
  75. $data['msg'] = 'Pendaftaran berhasil, silahkan untuk login';
  76.  
  77.  
  78.  
  79. }else{
  80. $data['result'] = 'false';
  81. $data['msg'] = 'Pendafatran gagal, silahkan coba kembali';
  82. }
  83.  
  84. }
  85.  
  86. #pre($this->db->last_query());
  87. echo json_encode($data);
  88. }
  89.  
  90.  
  91. public function send_notification($penerima, $message) {
  92. $api_key = "AAAAR0NS_kw:APA91bFbE0WWBpNn3bpm2TiPH26DajrmrQCbzcI7Tz9YX3CZNYniz8UL78PDyk2cL3JU_FhGQ6i93qQSwdousgAPBA735-4BIhidsbDk3m1b7KIKiGw1-aaEbObSGZmQYKy4bpbLpbR7 ";
  93.  
  94. $url = 'https://fcm.googleapis.com/fcm/send';
  95. $fields = array(
  96. 'registration_ids' => $penerima,
  97. 'data' => array( "message" => $message ),
  98. );
  99.  
  100.  
  101.  
  102.  
  103. $headers = array(
  104. 'Authorization: key=' . $api_key,
  105. 'Content-Type: application/json');
  106. //echo $headers ;
  107.  
  108. $ch = curl_init();
  109. curl_setopt($ch, CURLOPT_URL, $url);
  110. curl_setopt( $ch, CURLOPT_POST, true );
  111. curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, 0);
  112. curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
  113. curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
  114. curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($fields));
  115. $result = curl_exec($ch);
  116.  
  117.  
  118. curl_close($ch);
  119.  
  120. return $result;
  121. }
  122.  
  123. public function login(){
  124. $data = array();
  125. $device = $this->input->post('device');
  126. $email = $this->input->post("f_email");
  127. $password = $this->input->post("f_password");
  128.  
  129. //$email = 'riyadi.rb@gmail.com';
  130. //$password = '123456';
  131.  
  132. if($email == '' || $password == ''){
  133. $data['result'] = 'false';
  134. $data['msg'] = 'Silahkan isi email dan atau password anda.';
  135. echo json_encode($data);
  136. return;
  137.  
  138. }
  139.  
  140. $this->db->where('user_email', $email);
  141. $this->db->where('user_password', md5x($password));
  142. $this->db->where('user_status', 1);
  143. $this->db->where('user_level', 3);
  144. $query = $this->db->get('user');
  145. if($query->num_rows() > 0){
  146. $q = $query->row();
  147.  
  148. //delete semua sesi user ini sebelumnya
  149. $this->db->where('id_user' , $q->id_user);
  150. $this->db->update('sesi', array('sesi_status' => 9));
  151. //create token
  152. $key = md5(date('Y-m-d H:i:s').$device);
  153. //masukkan kedlam tabel sesi
  154. $simpan = array();
  155. $simpan['sesi_key'] = $key;
  156. $simpan['id_user'] = $q->id_user;
  157. $simpan['sesi_device'] = $device;
  158. $status = $this->db->insert('sesi', $simpan);
  159. if($status){
  160. $data['result'] = 'true';
  161. $data['token'] = $key;
  162. $data['data'] = $q;
  163. $data['msg'] = 'Login berhasil.';
  164. $data['idUser'] = $q->id_user;
  165. }else{
  166. $data['result'] = 'false';
  167. $data['token'] = '';
  168. $data['idUser'] = '';
  169. $data['msg'] = 'Error create sesi login, Silahkan coba lagi.';
  170. }
  171. }else{
  172. $data['result'] = 'false';
  173. $data['msg'] = 'Username atau password salah.';
  174.  
  175. }
  176. echo json_encode($data);
  177. }
  178.  
  179. public function registerGcm(){
  180. $data = array();
  181.  
  182. $this->db->where('id_user', $this->input->post("f_idUser"));
  183. $data_simpan['user_gcm'] = $this->input->post("f_gcm");
  184. $simpan = $this->db->update('user', $data_simpan);
  185. if($simpan){
  186. $data['result'] = 'true';
  187. $data['msg'] = 'gcm berhasil disimpan';
  188. }else{
  189. $data['result'] = 'false';
  190. $data['msg'] = 'id Gcm gagal disimpan.';
  191. }
  192.  
  193. echo json_encode($data);
  194. }
  195.  
  196.  
  197. public function upload($folder = 'produk')
  198. {
  199. $status = "gagal, upload file";
  200. $file_element_name = $this->input->post('userfile');
  201. #pre($_FILES);
  202. $folder = 'img/'.$folder.'/';
  203.  
  204.  
  205. if (!empty($_FILES)) {
  206. buatDir($folder);
  207. $file_path = $folder . basename( $_FILES['userfile']['name']);
  208. //file_put_contents('f.txt',$file_path);
  209. if(move_uploaded_file($_FILES['userfile']['tmp_name'], $file_path)) {
  210. $status = "success";
  211. } else{
  212. $status = "fail";
  213. }
  214. }
  215. #pre($status);
  216. return $status;
  217. }
  218.  
  219. public function insert_booking(){
  220. $data = array();
  221.  
  222. // if(!$this->check_sesi()){
  223. // $data['result'] = 'false';
  224. // $data['msg'] = 'Sesi login expired, silahkan login kembali';
  225. // #pre($this->db->last_query());
  226. // echo json_encode($data);
  227. // return;
  228. // }
  229.  
  230. $idUser = $this->input->post('f_idUser');
  231. $latAwal = $this->input->post('f_latAwal');
  232. $lngAwal = $this->input->post('f_lngAwal');
  233. $awal = $this->input->post('f_awal');
  234. $latAkhir = $this->input->post('f_latAkhir');
  235. $lngAkhir = $this->input->post('f_lngAkhir');
  236. $akhir = $this->input->post('f_akhir');
  237. $alamat = $this->input->post('f_alamat');
  238. $jarak = $this->input->post('f_jarak');
  239. $tarifUser =$this->input->post('f_tarif');
  240.  
  241. // $tarifUser = $jarak * 10000;
  242. // $tarifDriver = $jarak * 15000;
  243. $waktu = date('Y-m-d H:i:s');
  244. $simpan['booking_user'] = $idUser;
  245. $simpan['booking_tanggal'] = $waktu;
  246. $simpan['booking_from'] = $awal;
  247. $simpan['booking_from_lat'] = $latAwal;
  248. $simpan['booking_from_lng'] = $lngAwal;
  249. $simpan['booking_from_alamat'] = $alamat;
  250. $simpan['booking_tujuan'] = $akhir;
  251. $simpan['booking_tujuan_lat'] = $latAkhir;
  252. $simpan['booking_tujuan_lng'] = $lngAkhir;
  253. $simpan['booking_biaya_user'] = $tarifUser;
  254. $simpan['booking_biaya_driver'] = $tarifUser;
  255. $simpan['booking_jarak'] = $jarak;
  256.  
  257. $status = $this->db->insert('booking',$simpan);
  258.  
  259. if($status){
  260. $idBooking = $this->db->insert_id();
  261. $data['result'] = 'true';
  262. $data['msg'] = 'Booking berhasil';
  263.  
  264. $data['id_booking'] = $idBooking;
  265. $data['waktu']=$waktu ;
  266.  
  267. //kirimkan pushnotif kepada driver
  268. //$this->push_notif($idBooking);
  269. }else{
  270. $data['result'] = 'false';
  271. $data['msg'] = 'Booking gagal, silahkan coba kembali';
  272. }
  273.  
  274. #pre($this->db->last_query());
  275. echo json_encode($data);
  276. }
  277.  
  278. public function check_booking(){
  279. $data = array();
  280.  
  281. $id = $this->input->post('id_booking');
  282.  
  283.  
  284. // if(!$this->check_sesi()){
  285. // $data['result'] = 'false';
  286. // $data['msg'] = 'Sesi login expired, silahkan login kembali';
  287. // #pre($this->db->last_query());
  288. // echo json_encode($data);
  289. // return;
  290. // }
  291.  
  292. if($id == ''){
  293. $data['result'] = 'false';
  294. $data['msg'] = 'Booking tidak dikenali';
  295. #pre($this->db->last_query());
  296. echo json_encode($data);
  297. return;
  298. }
  299. $simpan = array();
  300. $this->db->where('booking_status', 2);
  301. $this->db->where('id_booking', $id);
  302. $status = $this->db->get('booking');
  303.  
  304. if($status -> num_rows()> 0){
  305. $data['result'] = 'true';
  306. $data['msg'] = 'data ada';
  307. $data['data'] = $status -> result();
  308.  
  309. }else{
  310. $data['result'] = 'false';
  311. $data['msg'] = 'ndk da ';
  312. }
  313.  
  314. #pre($this->db->last_query());
  315. echo json_encode($data);
  316. }
  317.  
  318.  
  319. public function cancel_booking(){
  320. $data = array();
  321.  
  322. $id = $this->input->post('id_booking');
  323.  
  324.  
  325. if(!$this->check_sesi()){
  326. $data['result'] = 'false';
  327. $data['msg'] = 'Sesi login expired, silahkan login kembali';
  328. #pre($this->db->last_query());
  329. echo json_encode($data);
  330. return;
  331. }
  332.  
  333. if($id == ''){
  334. $data['result'] = 'false';
  335. $data['msg'] = 'Booking tidak dikenali';
  336. #pre($this->db->last_query());
  337. echo json_encode($data);
  338. return;
  339. }
  340. $simpan = array();
  341. $simpan['booking_status'] = 3; //3. Booking cancel
  342. $this->db->where('id_booking', $id);
  343. $status = $this->db->update('booking',$simpan);
  344.  
  345. if($status){
  346. $data['result'] = 'true';
  347. $data['msg'] = 'Booking berhasil dicancel';
  348. }else{
  349. $data['result'] = 'false';
  350. $data['msg'] = 'Cancel Booking gagal.';
  351. }
  352.  
  353. #pre($this->db->last_query());
  354. echo json_encode($data);
  355. }
  356.  
  357. public function get_booking(){
  358. $data = array();
  359.  
  360. // if(!$this->check_sesi()){
  361. // $data['result'] = 'false';
  362. // $data['msg'] = 'Sesi login expired, silahkan login kembali';
  363. // #pre($this->db->last_query());
  364. // echo json_encode($data);
  365. // return;
  366. // }
  367.  
  368. $status = $this->input->post('status');
  369. $idUser = $this->input->post('f_idUser');
  370. if($status == 1){
  371. $this->db->where_in('booking_status', array(1,2));
  372. }else if($status == 4){
  373. //$this->db->join('user', 'user.id_user=booking.booking_driver');
  374. $this->db->where('booking_status', $status);
  375. }else{
  376. $this->db->where('booking_status', $status);
  377. }
  378.  
  379. $this->db->where('booking_user', $idUser);
  380. $this->db->order_by('id_booking', 'DESC');
  381. $q = $this->db->get('booking ');
  382.  
  383. if($q->num_rows() > 0){
  384. $data['result'] = 'true';
  385. $data['msg'] = 'Data booking ada';
  386. $data['data'] = $q->result();
  387. }else{
  388. $data['result'] = 'false';
  389. $data['msg'] = 'Data booking tidak ada.';
  390. }
  391.  
  392. #pre($this->db->last_query());
  393. echo json_encode($data);
  394. }
  395.  
  396. // ===================== xrb21 | riyadi.rb@gmail.com ======================
  397. // Training Android "5 Hari Membangun aplikasi Ojeg Online" IMASTUDIO Jogja
  398. // Yogyakarta, 8-12 Feb 2016
  399.  
  400. // API for DRIVER
  401. public function login_driver(){
  402. $data = array();
  403. $device = $this->input->post('device');
  404. $email = $this->input->post("f_email");
  405. $password = $this->input->post("f_password");
  406.  
  407.  
  408. //$email = 'riyadi.rb@gmail.com';
  409. //$password = '123456';
  410.  
  411. if($email == '' || $password == ''){
  412. $data['result'] = 'false';
  413. $data['msg'] = 'Silahkan isi email dan atau password anda.';
  414. echo json_encode($data);
  415. return;
  416.  
  417. }
  418.  
  419. $this->db->where('user_email', $email);
  420. $this->db->where('user_password', md5x($password));
  421. $this->db->where('user_level', 2);
  422. $this->db->where('user_status', 1);
  423. $query = $this->db->get('user');
  424. if($query->num_rows() > 0){
  425. $q = $query->row();
  426.  
  427. //delete semua sesi user ini sebelumnya
  428. $this->db->where('id_user' , $q->id_user);
  429. $this->db->update('sesi', array('sesi_status' => 9));
  430. //create token
  431. $key = md5(date('Y-m-d H:i:s').$device);
  432. //masukkan kedlam tabel sesi
  433. $simpan = array();
  434. $simpan['sesi_key'] = $key;
  435. $simpan['id_user'] = $q->id_user;
  436. $simpan['sesi_device'] = $device;
  437. $status = $this->db->insert('sesi', $simpan);
  438. if($status){
  439. $data['result'] = 'true';
  440. $data['token'] = $key;
  441. $data['data'] = $q;
  442. $data['msg'] = 'Login berhasil.';
  443. $data['idUser'] = $q->id_user;
  444. }else{
  445. $data['result'] = 'false';
  446. $data['token'] = '';
  447. $data['idUser'] = '';
  448. $data['msg'] = 'Error create sesi login, Silahkan coba lagi.';
  449. }
  450. }else{
  451. $data['result'] = 'false';
  452. $data['msg'] = 'Username atau password salah.';
  453.  
  454. }
  455. echo json_encode($data);
  456. }
  457.  
  458. public function get_request_booking(){
  459. $data = array();
  460.  
  461. if(!$this->check_sesi()){
  462. $data['result'] = 'false';
  463. $data['msg'] = 'Sesi login expired, silahkan login kembali';
  464. #pre($this->db->last_query());
  465. echo json_encode($data);
  466. return;
  467. }
  468.  
  469. $this->db->join('user', 'user.id_user=booking.booking_user');
  470. $this->db->where('booking_status', 1);
  471. $this->db->order_by('id_booking', 'DESC');
  472. $q = $this->db->get('booking');
  473.  
  474. if($q->num_rows() > 0){
  475. $data['result'] = 'true';
  476. $data['msg'] = 'Data booking ada';
  477. $data['data'] = $q->result();
  478. }else{
  479. $data['result'] = 'false';
  480. $data['msg'] = 'Data booking tidak ada.';
  481. }
  482.  
  483. #pre($this->db->last_query());
  484. echo json_encode($data);
  485. }
  486.  
  487. public function booking_Driver(){
  488. $data = array();
  489. //inputan id driver
  490. $iduser = $this->input->post('f_idUser');
  491.  
  492. //get data table booking sesuai dengan id driver dan booking status 2
  493. $this->db->where('booking_driver',$iduser);
  494. $this->db->where('booking_status',2);
  495. $q =$this->db->get('booking');
  496.  
  497. if($q-> num_rows>0){
  498. $data['result'] = 'false';
  499. $data['msg'] = 'silakan di complete orderan lama anda dulu';
  500. }
  501. else{
  502. $data['result'] = 'true';
  503. $data['msg'] = 'ok';
  504.  
  505.  
  506. }
  507. echo json_encode($data);
  508.  
  509.  
  510. }
  511.  
  512. public function take_booking(){
  513. $data = array();
  514. $id =$this->input->post('idbooking');
  515. $idUser = $this->input->post('f_idUser');
  516. if(!$this->check_sesi()){
  517. $data['result'] = 'false';
  518. $data['msg'] = 'Sesi login expired, silahkan login kembali';
  519. #pre($this->db->last_query());
  520. echo json_encode($data);
  521. return;
  522. }
  523.  
  524. if($id == ''){
  525. $data['result'] = 'false';
  526. $data['msg'] = 'Booking tidak dikenali';
  527. #pre($this->db->last_query());
  528. echo json_encode($data);
  529. return;
  530. }
  531.  
  532. //check apakah booking sudah ada yang ambil atau tidak
  533. $this->db->where('id_booking', $id);
  534. $this->db->where('booking_status', 1);
  535. $q = $this->db->get('booking');
  536. if($q->num_rows() == 0){
  537. $data['result'] = 'false';
  538. $data['msg'] = 'Booking sudah ada yang take,coba booking yang lainnya.';
  539. #pre($this->db->last_query());
  540. echo json_encode($data);
  541. return;
  542. }
  543.  
  544.  
  545. $simpan = array();
  546. $simpan['booking_status'] = 2; //2. Booking diambil oleh driver
  547. $simpan['booking_driver'] = $idUser;
  548. $simpan['booking_take_tanggal'] = date('Y-m-d H:i:s');
  549. $this->db->where('id_booking', $id);
  550. $status = $this->db->update('booking',$simpan);
  551.  
  552. if($status){
  553. $data['result'] = 'true';
  554. $data['msg'] = 'Take Booking berhasil';
  555. }else{
  556. $data['result'] = 'false';
  557. $data['msg'] = 'Take Booking gagal.';
  558. }
  559.  
  560. #pre($this->db->last_query());
  561. echo json_encode($data);
  562. }
  563. public function get_handle_booking_user(){
  564. $data = array();
  565.  
  566. // if(!$this->check_sesi()){
  567. // $data['result'] = 'false';
  568. // $data['msg'] = 'Sesi login expired, silahkan login kembali';
  569. // #pre($this->db->last_query());
  570. // echo json_encode($data);
  571. // return;
  572. // }
  573.  
  574. $idUser = $this->input->post('f_idUser');
  575. $this->db->join('user', 'user.id_user=booking.booking_user');
  576. $this->db->where('booking_status', 2);
  577. $this->db->where('booking_user', $idUser);
  578. $this->db->order_by('id_booking', 'DESC');
  579. $q = $this->db->get('booking');
  580.  
  581. if($q->num_rows() > 0){
  582. $data['result'] = 'true';
  583. $data['msg'] = 'Data handle booking ada';
  584. $data['data'] = $q->result();
  585. }else{
  586. $data['result'] = 'false';
  587. $data['msg'] = 'Data handle booking tidak ada.';
  588. }
  589.  
  590. #pre($this->db->last_query());
  591. echo json_encode($data);
  592. }
  593. public function get_handle_booking(){
  594. $data = array();
  595.  
  596. if(!$this->check_sesi()){
  597. $data['result'] = 'false';
  598. $data['msg'] = 'Sesi login expired, silahkan login kembali';
  599. #pre($this->db->last_query());
  600. echo json_encode($data);
  601. return;
  602. }
  603.  
  604. $idUser = $this->input->post('f_idUser');
  605. $this->db->join('user', 'user.id_user=booking.booking_user');
  606. $this->db->where('booking_status', 2);
  607. $this->db->where('booking_driver', $idUser);
  608. $this->db->order_by('id_booking', 'DESC');
  609. $q = $this->db->get('booking');
  610.  
  611. if($q->num_rows() > 0){
  612. $data['result'] = 'true';
  613. $data['msg'] = 'Data handle booking ada';
  614. $data['data'] = $q->result();
  615. }else{
  616. $data['result'] = 'false';
  617. $data['msg'] = 'Data handle booking tidak ada.';
  618. }
  619.  
  620. #pre($this->db->last_query());
  621. echo json_encode($data);
  622. }
  623.  
  624. public function complete_booking(){
  625. $data = array();
  626.  
  627. $id =$this->input->post('idbooking');
  628. if(!$this->check_sesi()){
  629. $data['result'] = 'false';
  630. $data['msg'] = 'Sesi login expired, silahkan login kembali';
  631. #pre($this->db->last_query());
  632. echo json_encode($data);
  633. return;
  634. }
  635.  
  636. if($id == ''){
  637. $data['result'] = 'false';
  638. $data['msg'] = 'Booking tidak dikenali';
  639. #pre($this->db->last_query());
  640. echo json_encode($data);
  641. return;
  642. }
  643.  
  644. //check apakah booking sudah ada yang ambil atau tidak
  645. $idUser = $this->input->post('f_idUser');
  646. $this->db->where('id_booking', $id);
  647. $this->db->where('booking_status', 2);
  648. $this->db->where('booking_driver', $idUser);
  649. $q = $this->db->get('booking');
  650. if($q->num_rows() == 0){
  651. $data['result'] = 'false';
  652. $data['msg'] = 'Ini bukan data booking ada.' . $idUser;
  653. #pre($this->db->last_query());
  654. echo json_encode($data);
  655. return;
  656. }
  657.  
  658. $simpan = array();
  659. $simpan['booking_status'] = 4; //2. Booking diambil oleh driver
  660. $simpan['booking_complete_tanggal'] = date('Y-m-d H:i:s');
  661. $this->db->where('id_booking', $id);
  662. $status = $this->db->update('booking',$simpan);
  663.  
  664. if($status){
  665. $data['result'] = 'true';
  666. $data['msg'] = 'Booking Completed';
  667. }else{
  668. $data['result'] = 'false';
  669. $data['msg'] = 'Complete booking gagal.';
  670. }
  671.  
  672. #pre($this->db->last_query());
  673. echo json_encode($data);
  674. }
  675.  
  676. public function get_complete_booking(){
  677. $data = array();
  678.  
  679. if(!$this->check_sesi()){
  680. $data['result'] = 'false';
  681. $data['msg'] = 'Sesi login expired, silahkan login kembali';
  682. #pre($this->db->last_query());
  683. echo json_encode($data);
  684. return;
  685. }
  686.  
  687. $idUser = $this->input->post('f_idUser');
  688. $this->db->join('user', 'user.id_user=booking.booking_user');
  689. $this->db->where('booking_status', 4);
  690. $this->db->where('booking_driver', $idUser);
  691. $this->db->order_by('id_booking', 'DESC');
  692. $q = $this->db->get('booking');
  693.  
  694. if($q->num_rows() > 0){
  695. $data['result'] = 'true';
  696. $data['msg'] = 'Data complete ada';
  697. $data['data'] = $q->result();
  698. }else{
  699. $data['result'] = 'false';
  700. $data['msg'] = 'Data complete tidak ada.';
  701. }
  702.  
  703. #pre($this->db->last_query());
  704. echo json_encode($data);
  705. }
  706.  
  707. public function get_complete_booking_user(){
  708. $data = array();
  709.  
  710. if(!$this->check_sesi()){
  711. $data['result'] = 'false';
  712. $data['msg'] = 'Sesi login expired, silahkan login kembali';
  713. #pre($this->db->last_query());
  714. echo json_encode($data);
  715. return;
  716. }
  717.  
  718. $idUser = $this->input->post('f_idUser');
  719. $this->db->join('user', 'user.id_user=booking.booking_user');
  720. $this->db->where('booking_status', 4);
  721. $this->db->where('booking_user', $idUser);
  722. $this->db->order_by('id_booking', 'DESC');
  723. $q = $this->db->get('booking');
  724.  
  725. if($q->num_rows() > 0){
  726. $data['result'] = 'true';
  727. $data['msg'] = 'Data complete ada';
  728. $data['data'] = $q->result();
  729. }else{
  730. $data['result'] = 'false';
  731. $data['msg'] = 'Data complete tidak ada.';
  732. }
  733.  
  734. #pre($this->db->last_query());
  735. echo json_encode($data);
  736. }
  737.  
  738. //send totikasi kepada driver
  739. public function push_notif($idBooking){
  740. $last = $idBooking;
  741. if (isCurl()){
  742. //ambil semua id dari data gcm
  743. $datax = array();
  744. $this->db->join('user', 'user.id_user=booking.booking_user');
  745. $this->db->where('booking_status', 1);
  746. $this->db->where('id_booking', $idBooking);
  747. $q = $this->db->get('booking');
  748.  
  749. if($q->num_rows() > 0){
  750. $datax['result'] = 'true';
  751. $datax['msg'] = 'Data booking ada';
  752. $datax['data'] = $q->row();
  753. }else{
  754. $datax['result'] = 'false';
  755. $datax['msg'] = 'Data booking tidak ada.';
  756. }
  757.  
  758.  
  759. //echo json_encode($datax);
  760.  
  761. $this->db->where('user_level', 2);
  762. $this->db->where('user_status', 1);
  763. $this->db->where_not_in('user_gcm', array(""));
  764. $qq = $this->db->get('user');
  765. #pre($datax);
  766. if($qq->num_rows() > 0){
  767.  
  768. $receivers = array();
  769. $message = array("datax" => $datax);
  770.  
  771. echo $message ;
  772. foreach ($qq->result() as $r) {
  773. $receivers[] = $r->user_gcm;
  774. }
  775. #pre($receivers);
  776. $hasil = $this->send_notification($receivers, $message);
  777. #pre($hasil);
  778. }else{
  779. echo "data tidak ada";
  780. }
  781. }else{
  782. $pesan .= ' Curl tidak aktif tidak bisa kirim notifikasi berita ke user.';
  783. }
  784. }
  785.  
  786. public function insert_posisi(){
  787. $data = array();
  788.  
  789. if(!$this->check_sesi()){
  790. $data['result'] = 'false';
  791. $data['msg'] = 'Sesi login expired, silahkan login kembali';
  792. #pre($this->db->last_query());
  793. echo json_encode($data);
  794. return;
  795. }
  796.  
  797. $idUser = $this->input->post('f_idUser');
  798. $lat = $this->input->post('f_lat');
  799. $lng = $this->input->post('f_lng');
  800.  
  801. $waktu = date('Y-m-d H:i:s');
  802. $simpan['tracking_driver'] = $idUser;
  803. $simpan['tracking_waktu'] = $waktu;
  804. $simpan['tracking_lat'] = $lat;
  805. $simpan['tracking_lng'] = $lng;
  806.  
  807. $status = $this->db->insert('tracking',$simpan);
  808.  
  809. if($status){
  810. $data['result'] = 'true';
  811. $data['msg'] = 'input tracking berhasil';
  812. }else{
  813. $data['result'] = 'false';
  814. $data['msg'] = 'input tracking gagal, silahkan coba kembali';
  815. }
  816.  
  817. #pre($this->db->last_query());
  818. echo json_encode($data);
  819. }
  820.  
  821. public function get_driver(){
  822. $data = array();
  823.  
  824. $iddriver = $this->input->post('id');
  825.  
  826. $this->db->join('user', 'user.id_user=tracking.tracking_driver');
  827. $this->db->where('tracking_status', 1);
  828. $this->db->where('tracking_driver',$iddriver);
  829. $this->db->order_by('id_tracking', 'DESC');
  830. $this->db->limit(1);
  831.  
  832. $q = $this->db->get('tracking');
  833.  
  834. if($q->num_rows() > 0){
  835. $data['result'] = 'true';
  836. $data['msg'] = 'Data driver ada';
  837. $data['data'] = $q->result();
  838. }else{
  839. $data['result'] = 'false';
  840. $data['msg'] = 'Data driver tidak ada.';
  841. }
  842.  
  843. #pre($this->db->last_query());
  844. echo json_encode($data);
  845. }
  846.  
  847. public function insert_review(){
  848. $data = array();
  849.  
  850. if(!$this->check_sesi()){
  851. $data['result'] = 'false';
  852. $data['msg'] = 'Sesi login expired, silahkan login kembali';
  853. #pre($this->db->last_query());
  854. echo json_encode($data);
  855. return;
  856. }
  857.  
  858. $idUser = $this->input->post('f_idUser');
  859. $driver = $this->input->post('f_driver');
  860. $idBooking = $this->input->post('f_idBooking');
  861. $rating = $this->input->post('f_ratting');
  862. $comment = $this->input->post('f_comment');
  863.  
  864. $waktu = date('Y-m-d H:i:s');
  865. $simpan['review_driver'] = $driver;
  866. $simpan['review_user'] = $idUser;
  867. $simpan['review_waktu'] = $waktu;
  868. $simpan['review_rating'] = $rating;
  869. $simpan['review_komentar'] = $comment;
  870. $simpan['review_booking'] = $idBooking;
  871.  
  872. $status = $this->db->insert('review',$simpan);
  873.  
  874. if($status){
  875. $data['result'] = 'true';
  876. $data['msg'] = 'input review berhasil';
  877. }else{
  878. $data['result'] = 'false';
  879. $data['msg'] = 'input review gagal, silahkan coba kembali';
  880. }
  881.  
  882. #pre($this->db->last_query());
  883. echo json_encode($data);
  884. }
  885.  
  886.  
  887.  
  888. }
  889.  
  890. /* End of file welcome.php */
  891. /* Location: ./application/controllers/welcome.php */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement