Advertisement
dewa_01

Untitled

Dec 15th, 2019
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.00 KB | None | 0 0
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. class Products extends CI_Controller {
  4.     public function __construct(){
  5.         parent::__construct();
  6.        
  7.         if($this->session->userdata('group') != '1'){
  8.             $this->session->set_flashdata('error','Sorry, you are not logged in!');
  9.             redirect('login');
  10.         }
  11.        
  12.         //load model -> model_products
  13.         $this->load->model('model_products');
  14.     }
  15.    
  16.     public function index()
  17.     {
  18.         $data['products'] = $this->model_products->all();
  19.         $this->load->view('backend/view_all_products', $data);
  20.     }
  21.    
  22.     public function create(){
  23.         //form validation sebelum mengeksekusi QUERY INSERT
  24.         $this->form_validation->set_rules('name', 'Product Name', 'required');
  25.         $this->form_validation->set_rules('description', 'Product Description', 'required');
  26.         $this->form_validation->set_rules('price', 'Product Price', 'required|integer');
  27.         $this->form_validation->set_rules('stock', 'Available Stock', 'required|integer');
  28.         //$this->form_validation->set_rules('userfile', 'Product Image', 'required');
  29.  
  30.         if ($this->form_validation->run() == FALSE)
  31.         {
  32.             $this->load->view('backend/form_tambah_product');
  33.         } else {
  34.             //load uploading file library
  35.             $config['upload_path'] = './uploads/';
  36.             $config['allowed_types'] = 'jpg|png';
  37.             $config['max_size'] = '300'; //KB
  38.             $config['max_width']  = '2000'; //pixels
  39.             $config['max_height']  = '2000'; //pixels
  40.  
  41.             $this->load->library('upload', $config);
  42.            
  43.             if ( ! $this->upload->do_upload())
  44.             {
  45.                 //file gagal diupload -> kembali ke form tambah
  46.                 $this->load->view('backend/form_tambah_product');
  47.             } else {
  48.                 //file berhasil diupload -> lanjutkan ke query INSERT
  49.                 // eksekusi query INSERT
  50.                 $gambar = $this->upload->data();
  51.                 $data_product = array(
  52.                     'name'          => set_value('name'),
  53.                     'description'   => set_value('description'),
  54.                     'price'         => set_value('price'),
  55.                     'stock'         => set_value('stock'),
  56.                     'image'         => $gambar['file_name']
  57.                 );
  58.                 $this->model_products->create($data_product);
  59.                 redirect('admin/products');
  60.             }
  61.            
  62.         }
  63.     }
  64.    
  65.     public function update($id){
  66.         $this->form_validation->set_rules('name', 'Product Name', 'required');
  67.         $this->form_validation->set_rules('description', 'Product Description', 'required');
  68.         $this->form_validation->set_rules('price', 'Product Price', 'required|integer');
  69.         $this->form_validation->set_rules('stock', 'Available Stock', 'required|integer');
  70.  
  71.         if ($this->form_validation->run() == FALSE)
  72.         {
  73.             $data['product'] = $this->model_products->find($id);
  74.             $this->load->view('backend/form_edit_product', $data);
  75.         } else {
  76.             if($_FILES['userfile']['name'] != ''){
  77.                 //form submit dengan gambar diisi
  78.                 //load uploading file library
  79.                 $config['upload_path'] = './uploads/';
  80.                 $config['allowed_types'] = 'jpg|png';
  81.                 $config['max_size'] = '300'; //KB
  82.                 $config['max_width']  = '2000'; //pixels
  83.                 $config['max_height']  = '2000'; //pixels
  84.  
  85.                 $this->load->library('upload', $config);
  86.            
  87.            
  88.                 if ( ! $this->upload->do_upload())
  89.                 {
  90.                     $data['product'] = $this->model_products->find($id);
  91.                     $this->load->view('backend/form_edit_product', $data);
  92.                 } else {
  93.                     $gambar = $this->upload->data();
  94.                     $data_product = array(
  95.                         'name'          => set_value('name'),
  96.                         'description'   => set_value('description'),
  97.                         'price'         => set_value('price'),
  98.                         'stock'         => set_value('stock'),
  99.                         'image'         => $gambar['file_name']
  100.                     );
  101.                     $this->model_products->update($id, $data_product);
  102.                     redirect('admin/products');
  103.                 }
  104.             } else {
  105.                 //form submit dengan gambar dikosongkan
  106.                 $data_product = array(
  107.                     'name'          => set_value('name'),
  108.                     'description'   => set_value('description'),
  109.                     'price'         => set_value('price'),
  110.                     'stock'         => set_value('stock')
  111.                 );
  112.                 $this->model_products->update($id, $data_product);
  113.                 redirect('admin/products');
  114.             }
  115.         }
  116.     }
  117.    
  118.     public function delete($id){
  119.         $this->model_products->delete($id);
  120.         redirect('admin/products');
  121.     }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement