Advertisement
GWibisono

salahh logic?

Dec 26th, 2015
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');  
  2. class Cart extends CI_Controller {
  3. /*
  4. salah logika mas.. kayaknya salah target array
  5.  
  6. */
  7.     public function show(){  
  8.         $cart= array(
  9.             'barangs'=> $this->cart->contents(),
  10.             'total'=> $this->cart->total()       
  11.         );
  12.         foreach($cart['barangs'] AS $id=>$data){ //$keys['values']
  13. // foreach untuk perulangan data yang dinamis, berubah sesuai jumlah data yang ada
  14.             //$cart['price'] =
  15.             $cart['barangs']['price'] =
  16.                 number_format($data['price'], 2, ',', '.');
  17.             //$cart['subtotal']
  18.             $cart['barangs']['subtotal'] =
  19.              number_format($data['subtotal'], 2, ',', '.');
  20.         }
  21.         $cart['total'] = number_format($cart['total'], 2, ',', '.');
  22.        
  23.         $content= array(
  24.             'content'=> $this->parser->parse('cart_view', $cart, true)
  25.         );
  26.         $this->parser->parse('template', $content);
  27.     }
  28.  
  29. //=====================
  30.  
  31.  
  32.     function __construct() {
  33.         parent::__construct();
  34.         $this->load->model('barang_model');    
  35.         $this->load->model('cart_model');      
  36.         $this->load->library("cart");      
  37.     }
  38.     public function index(){
  39.         $this->show();
  40.     }
  41.  
  42.     public function how_shop(){
  43.         $content= array(
  44.             'content'=> $this->load->view('cara_belanja', '', true)
  45.         );
  46.         $this->parser->parse('template', $content);
  47.     }
  48.     public function add($barang_id){
  49.         $rows= $this->barang_model->buy_select($barang_id)->row_array();
  50.         $data= array(
  51.             'id'=> $rows['id'],
  52.             'qty'=> 1,
  53.             'price'=> $rows['price'],
  54.             'name'=> $rows['name'],
  55.             'options'=> array()
  56.         );
  57.         $this->cart->insert($data);
  58.         $this->show();
  59.     }
  60.     public function edit(){
  61.         $data=array();
  62.         foreach ($this->cart->contents() as $items){
  63.             $data = array_merge(
  64.                     $data,
  65.                     array(
  66.                         array(
  67.                             'rowid'=> $this->input->post('rowid_'.$items['rowid']),
  68.                             'qty'=> $this->input->post('qty_'.$items['rowid'])
  69.                         )
  70.                     )
  71.             );
  72.         }
  73.         $this->cart->update($data);
  74.         $this->show(); 
  75.     }
  76.  
  77.     public function finished(){
  78.         /*
  79.         $this->cart->destroy();
  80.         redirect('barang/show');
  81.         */
  82.         if(!is_login()){
  83.             redirect('customer/form_login');
  84.         }else{
  85.             if(count($this->cart->contents())>0){
  86.                 $cart_number= $this->get_cart_number();
  87.                 $cart= array(
  88.                             'header' => array(
  89.                                         'cart_nomor' => $cart_number,
  90.                                         'cart_customer_id' => $this->session->userdata('customer_id'),
  91.                                         'cart_tanggal' => mdate("%Y-%m-%d %H:%i:%s", time())
  92.                             ),
  93.                             'detail' => array()
  94.                 );
  95.                 $i=0;
  96.                 foreach($this->cart->contents() AS $cart_detail){
  97.                     $cart['detail'][$i]['cart_nomor']=$cart_number;
  98.                     $cart['detail'][$i]['cart_barang_id']=$cart_detail['id'];
  99.                     $cart['detail'][$i]['cart_barang_qty']=$cart_detail['qty'];
  100.                     $cart['detail'][$i]['cart_barang_harga']=$cart_detail['price'];
  101.                     $i++;
  102.                 }
  103.                 $this->cart_model->insert($cart);
  104.                 $this->cart->destroy();
  105.                 $content= array(
  106.                             'content' => "<h2>Transaksi selesai, silakan lakukan pembayaran</h2>"
  107.                 );
  108.                 $this->parser->parse('template', $content);
  109.             }else{
  110.                 redirect();
  111.             }
  112.         }
  113.     }
  114.     private function get_cart_number(){
  115.         $customer_id= $this->session->userdata('customer_id');
  116.         $count_cart= $this->cart_model->select_where($customer_id)->num_rows()+1;
  117.         $cart_number= $customer_id.$count_cart;
  118.         return $cart_number;
  119.     }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement