Advertisement
Guest User

Api.php

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