Advertisement
mfahmifadh

Untitled

Aug 3rd, 2017
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3.  
  4. class Api extends REST_Controller {
  5.  
  6.  
  7.  
  8. public function index()
  9. {
  10. $this->form_validation->set_rules('username', 'username', 'required|max_length[256]');
  11. $this->form_validation->set_rules('password', 'password', 'required|min_length[2]|max_length[256]');
  12. return Validation::validate($this, '', '', function($token, $output)
  13. {
  14. $username = $this->input->post('username'); //mengambil data username
  15. $password = $this->input->post('password');//mengambil data password
  16. $id = $this->m_api->login($username, $password);
  17. if ($id != false) {
  18. $token = array();
  19. $token['id'] = $id;
  20. $output['status'] = true;
  21. $output['username'] = $username;
  22. $output['token'] = JWT::encode($token, $this->config->item('jwt_key'));//setelah login mendapatkan token
  23. }
  24. else
  25. {
  26. $output['errors'] = '{"type": "invalid"}';
  27. }
  28. return $output;
  29. });
  30. $this->load->view('json');
  31. }
  32.  
  33.  
  34. public function register()
  35. {
  36. $this->form_validation->set_rules('username', 'username', 'required|max_length[256]');
  37. $this->form_validation->set_rules('password', 'password', 'required|min_length[8]|max_length[256]');
  38. return Validation::validate($this, '', '', function($token, $output)
  39. {
  40. $password = $this->input->post('password');
  41. $username = $this->input->post('username');
  42. $this->m_api->register($password,$username);
  43. $output['status'] = true;
  44. return $output;
  45. });
  46. }
  47.  
  48.  
  49.  
  50.  
  51.  
  52. public function list_produk()
  53. {
  54. return Validation::validate($this, 'user', 'read', function($token, $output)
  55. {
  56. $list = $this->m_api->get_list_produk();
  57. foreach($list->result() as $data)
  58. {
  59. $output[] = array('id_produk' => $data->id_produk,
  60. 'nama' => $data->nama,
  61. 'harga' => $data->harga
  62. );
  63. $output['status'] = true;
  64. }
  65. return $output;
  66. });
  67. }
  68.  
  69. public function detail_produk()
  70. {
  71. $this->form_validation->set_rules('id_produk', 'id_produk', 'required|max_length[256]');
  72. return Validation::validate($this, 'user', 'read', function($token, $output)
  73. {
  74. $detail = $this->m_api->detail_produk($this->input->post('id_produk'));
  75. foreach($detail->result() as $data)
  76. {
  77. $output = array('id_produk' => $data->id_produk,
  78. 'nama' => $data->nama,
  79. 'deskripsi' => $data->deskripsi,
  80. 'harga' => $data->harga
  81. );
  82. $output['status'] = true;
  83. }
  84. return $output;
  85. });
  86. }
  87.  
  88. public function transaksi()
  89. {
  90. $this->form_validation->set_rules('order', 'order', 'required');
  91. return Validation::validate($this, 'user', 'read', function($token, $output)
  92. {
  93. $parse = json_decode($this->input->post('order',true),true);
  94. $id_user = $parse[0]['id_user'];
  95. $lokasi = $parse[0]['lokasi'];
  96. $alamat = $parse[0]['alamat'];
  97. $detail = $parse[0]['myorder'];
  98. $total = $detail['total'];
  99.  
  100. //insert tabel transaksi
  101. $insert_trans = array('tanggal' => date('Y-m-d'),
  102. 'id_user' => $id_user,
  103. 'total' => $total,
  104. 'lokasi' => $lokasi,
  105. 'alamat' => $alamat
  106. );
  107.  
  108. $this->db->insert('transaksi',$insert_trans);
  109. $id_transaksi = $this->db->insert_id();
  110.  
  111. foreach ($detail['detail'] as $data) {
  112. $nama[] = $data['nama'];
  113. $id_produk[] = $data['id_menu'];
  114. $qty[] = $data['qty'];
  115. $insert_det = array('id_transaksi' => $id_transaksi,
  116. 'id_produk' => $data['id_menu'],
  117. 'qty' => $data['qty'],
  118. );
  119. $this->db->insert('detail_transaksi',$insert_det);
  120. }
  121. $output['pesan'] = "berhasil";
  122. $output['status'] = true;
  123. return $output;
  124. });
  125. }
  126.  
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement