Advertisement
Guest User

Api.php

a guest
Aug 4th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.83 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.  public function index()
  8.  {
  9.   $this->load->view('json');
  10.  
  11.  }
  12.  
  13.  public function login()
  14.  {
  15.   $this->form_validation->set_rules('username', 'username', 'required|max_length[256]');
  16.   $this->form_validation->set_rules('password','password', 'required|min_length[2]|max_length[256]');
  17.   return Validation::validate($this, '', '', function($token, $output)
  18.   {
  19.    $username = $this->input->post('username');
  20.    $password = $this->input->post('password');
  21.    $id = $this->M_api->login($username, $password);
  22.    if ($id != false) {
  23.     $token = array();
  24.     $token['id'] = $id;
  25.     $output['status'] = true;
  26.     $output['username'] = $username;
  27.     $output['token'] = JWT::encode($token, $this->config->item('jwt_key'));
  28.    }
  29.    else
  30.    {
  31.     $output['errors'] = '{"type": "invalid"}';
  32.    }
  33.    return $output;
  34.   });
  35.  }
  36.  
  37.  public function list_produk()
  38.  {
  39.   return Validation::validate($this, 'user', 'read', function($token, $output)
  40.   {
  41.    $list = $this->M_api->get_list_produk();
  42.    foreach($list->result() as $data)
  43.    {
  44.     $output[] = array('id_produk' => $data->id_produk,
  45.      'nama' => $data->nama,
  46.      'harga' => $data->harga
  47.      );
  48.     $output['status'] = true;
  49.    }
  50.    return $output;
  51.   });
  52.  }
  53.  
  54.  public function detail_produk()
  55.  {
  56.   $this->form_validation->set_rules('id_produk', 'id_produk', 'required|max_length[256]');
  57.   return Validation::validate($this, 'user', 'read', function($token, $output)
  58.   {
  59.    $detail = $this->M_api->detail_produk($this->input->post('id_produk'));
  60.    foreach($detail->result() as $data)
  61.    {
  62.     $output = array('id_produk' => $data->id_produk,
  63.      'nama' => $data->nama,
  64.      'deskripsi' => $data->deskripsi,
  65.      'harga' => $data->harga
  66.      );
  67.     $output['status'] = true;
  68.    }
  69.    return $output;
  70.   });
  71.  }
  72.  
  73.  public function transaksi()
  74.  {
  75.   $this->form_validation->set_rules('order', 'order', 'required');
  76.   return Validation::validate($this, 'user', 'read', function($token, $output)
  77.   {
  78.    $parse = json_decode($this->input->post('order',true),true);
  79.    $id_user = $parse[0]['id_user'];
  80.    $lokasi = $parse[0]['lokasi'];
  81.    $alamat = $parse[0]['alamat'];
  82.    $detail = $parse[0]['myorder'];
  83.    $total = $detail['total'];
  84.  
  85.  //insert tabel transaksi
  86.    $insert_trans = array('tanggal' => date('Y-m-d'),
  87.     'id_user' => $id_user,
  88.     'total' => $total,
  89.     'lokasi' => $lokasi,
  90.     'alamat' => $alamat
  91.     );
  92.  
  93.    $this->db->insert('transaksi',$insert_trans);
  94.    $id_transaksi = $this->db->insert_id();
  95.  
  96.    foreach ($detail['detail'] as $data) {
  97.     $nama[] = $data['nama'];
  98.     $id_produk[] = $data['id_menu'];
  99.     $qty[] = $data['qty'];
  100.     $insert_det = array('id_transaksi' => $id_transaksi,
  101.      'id_produk' => $data['id_menu'],
  102.      'qty' => $data['qty'],
  103.      );
  104.     $this->db->insert('detail_transaksi',$insert_det);
  105.    }
  106.    $output['pesan'] = "berhasil";
  107.    $output['status'] = true;
  108.    return $output;
  109.   });
  110.  }
  111.  
  112.  
  113. }
  114.  
  115. Lalu kita buat model dengan nama M_api.php
  116.  
  117. <?php
  118. if (! defined('BASEPATH')) EXIT ('No direct script access allowed');
  119.  
  120. class M_api extends CI_Model {
  121.  
  122. public function login($username, $password)
  123.  {
  124.   $query = $this->db->query("SELECT * from user_agung where username ='$username' and status = 'active'");
  125.   if ($query->num_rows() == 1)
  126.   {
  127.   foreach ($query->result() as $data) {
  128.   $password_db = $data->password;
  129.   if ($password_db == md5($password)) {
  130.      return true;
  131.     } else {
  132.      return false;
  133.     }
  134.  
  135.    }
  136.   }
  137.   else
  138.   {
  139.    return false;
  140.     }
  141.  }
  142.  
  143.  public function get_list_produk()
  144.  {
  145.   return $this->db->get('produk_agung');
  146.  }
  147.  
  148.  public function detail_produk($id)
  149.  {
  150.   $query = $this->db->query("SELECT * from produk_agung where id_produk = '$id'");
  151.   return $query;
  152.     }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement