Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.28 KB | None | 0 0
  1. <?php
  2. defined('BASEPATH') or exit('No Direct Script Access Allowed');
  3. date_default_timezone_set('Asia/Jakarta');
  4.  
  5. class Booking extends CI_Controller{
  6.     public function __construct()
  7.     {
  8.         parent::__construct();
  9.         cek_login();
  10.      
  11.         $this->load->model(['ModelBooking', 'ModelUser']);
  12.     }
  13.    
  14.     public function index(){
  15.         $id = ['bo.id_user' => $this->uri->segment(3)];
  16.         $id_user = $this->session->userdata('id_user');
  17.         $data['booking'] = $this->ModelBooking->joinOrder($id)->result();
  18.         $user = $this->ModelUser->cekData(['email' => $this->session->userdata('email')])->row_array();
  19.         foreach ($user as $a) {
  20.             $data = ['image' => $user['image'],
  21.                     'user' => $user['nama'],
  22.                     'email' => $user['email'],
  23.                     'tanggal_input' => $user['tanggal_input']
  24.                     ];
  25.         }
  26.  
  27.         $dtb = $this->ModelBooking->showtemp(['id_user' => $id_user])->num_rows();
  28.        
  29.         if ($dtb < 1) {
  30.                 $this->session->set_flashdata('pesan', '<div class="alert alertmassege alert-danger" role="alert">Tidak Ada Buku dikeranjang</div>');redirect(base_url());
  31.         } else {
  32.         $data['temp'] = $this->db->query("select image, judul_buku, penulis, penerbit, tahun_terbit,id_buku from temp where id_user='$id_user'")->result_array();
  33.         }
  34.  
  35.         $data['judul'] = "Data Booking";
  36.         $this->load->view('templates/templates-user/header', $data);
  37.         $this->load->view('booking/data-booking', $data);
  38.         $this->load->view('templates/templates-user/modal');
  39.         $this->load->view('templates/templates-user/footer');
  40.         }
  41.        
  42.         public function tambahBooking(){
  43.         $id_buku = $this->uri->segment(3);
  44.        
  45.         //memilih data buku yang untuk dimasukkan ke tabel temp/keranjang melalui variabel $isi
  46.             $d = $this->db->query("Select*from buku where id='$id_buku'")->row();
  47.        
  48.         //berupa data2 yang akan disimpan ke dalam tabel temp/keranjang
  49.             $isi = [
  50.                     'id_buku' => $id_buku,
  51.                     'judul_buku' => $d->judul_buku,
  52.                     'id_user' => $this->session->userdata('id_user'),
  53.                     'email_user' => $this->session->userdata('email'),
  54.                     'tgl_booking' => date('Y-m-d H:i:s'),
  55.                     'image' => $d->image,
  56.                     'penulis' => $d->pengarang,
  57.                     'penerbit' => $d->penerbit,
  58.                     'tahun_terbit' => $d->tahun_terbit
  59.                     ];
  60.  
  61.         //cek apakah buku yang di klik booking sudah ada di keranjang
  62.         $temp = $this->ModelBooking->getDataWhere('temp', ['id_buku' => $id_buku])->num_rows();
  63.         $userid = $this->session->userdata('id_user');
  64.        
  65.         //cek jika sudah memasukan 3 buku untuk dibooking dalam keranjang
  66.          $tempuser = $this->db->query("select*from temp where id_user ='$userid'")->num_rows();
  67.          
  68.         //cek jika masih ada booking buku yang belum diambil
  69.         $databooking = $this->db->query("select*from booking where id_user='$userid'")->num_rows();
  70.          
  71.             if ($databooking > 0) {
  72.             $this->session->set_flashdata('pesan', '<div class="alert alertdanger alertmessage" role="alert">Masih Ada booking buku sebelumnya yang belum diambil.<br> Ambil Buku yang dibooking atau tunggu 1x24 Jam untuk bisa booking kembali </div>');
  73.             redirect(base_url());
  74.                                     }
  75.  
  76.          //jika buku yang diklik booking sudah ada di keranjang
  77.          if ($temp > 0) {
  78.          $this->session->set_flashdata('pesan', '<div class="alert alertdanger alert-message" role="alert">Buku ini Sudah anda booking </div>');
  79.          redirect(base_url() . 'home');
  80.          }
  81.  
  82.          //jika buku yang akan dibooking sudah mencapai 3 item
  83.          if ($tempuser == 3) {
  84.          $this->session->set_flashdata('pesan', '<div class="alert alertdanger alert-message" role="alert">Booking Buku Tidak Boleh Lebih dari 3</div>');
  85.          redirect(base_url() . 'home');
  86.          }
  87.          
  88.          //membuat tabel temp jika belum ada
  89.             $this->ModelBooking->createTemp();
  90.             $this->ModelBooking->insertData('temp', $isi);
  91.          
  92.          //pesan ketika berhasil memasukkan buku ke keranjang
  93.             $this->session->set_flashdata('pesan', '<div class="alert alertsuccess alertmessage" role="alert">Buku berhasil ditambahkan ke keranjang </div>');
  94.             redirect(base_url() . 'home');
  95.             }
  96.  
  97.             public function hapusbooking(){
  98.                 $id_buku = $this->uri->segment(3);
  99.                 $id_user = $this->session->userdata('id_user');
  100.    
  101.                 $this->ModelBooking->deleteData(['id_buku' => $id_buku], 'temp');
  102.                 $kosong = $this->db->query("select*from temp where id_user='$id_user'")->num_rows();
  103.            
  104.             if ($kosong < 1) {
  105.                 $this->session->set_flashdata('pesan', '<div class="alert alertmassege alert-danger" role="alert">Tidak Ada Buku dikeranjang</div>');
  106.                 redirect(base_url());
  107.             } else {
  108.                 redirect(base_url() . 'booking');
  109.                     }
  110.                             }
  111.                            
  112.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement