PageRenderTime 42ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/application/controllers/CetakBarcode.php

https://gitlab.com/alfiantaufani/koperasi-tugas-kuliah
PHP | 59 lines | 57 code | 2 blank | 0 comment | 2 complexity | e7e7291b59878386033fe3fea597a274 MD5 | raw file
  1. <?php
  2. defined('BASEPATH') OR exit('No direct script access allowed');
  3. class CetakBarcode extends CI_Controller {
  4. public function __construct()
  5. {
  6. parent::__construct();
  7. $this->load->database();
  8. $this->load->library('form_validation');
  9. if (!$this->M_login->logged_id()) {
  10. redirect('login');
  11. }
  12. if($this->session->userdata('level') !='administrator'){
  13. redirect('login');
  14. }
  15. }
  16. public function index()
  17. {
  18. $data = [
  19. 'barcode' => $this->db->query("SELECT * FROM tbl_produk WHERE barcode_sendiri is NOT NULL ORDER BY id_produk DESC ")->result(),
  20. ];
  21. $this->load->view('admin/header');
  22. $this->load->view('admin/cetakbarcode/index', $data);
  23. }
  24. public function details($id)
  25. {
  26. require 'vendor/autoload.php';
  27. $generator = new Picqer\Barcode\BarcodeGeneratorPNG();
  28. $height = 2;
  29. $width = 55;
  30. $data = $this->db->query("SELECT * FROM tbl_produk WHERE barcode_sendiri='$id'")->row();
  31. echo '
  32. <div class="row" id="content-print">
  33. <div class="col-md-3" style="margin-top: 20px;text-align: center">
  34. <div class="barcode" style="height: 110px;width: 220px;float: left;margin: 5px;border: 1px solid #ccc;padding: 7px;background-color: white">
  35. <label style="font-size: 11px">'.$data->nama_produk.'</label>
  36. <br>
  37. <img src="data:image/png;base64,' . base64_encode($generator->getBarcode($data->barcode_sendiri, $generator::TYPE_CODE_128, $height, $width)) . '">
  38. <br>
  39. <label style="font-size: 11px; letter-spacing: 7px;">'.$data->barcode_sendiri.'</label>
  40. </div>
  41. </div>
  42. </div>
  43. <script src="'.base_url().'assets/js/jquery.min.js"></script>
  44. <script>
  45. $("document").ready(function (){
  46. var divToPrint = document.getElementById("content-print");
  47. console.log( divToPrint );
  48. document.open();
  49. document.write(`<html><body onload="window.print()">`+divToPrint.innerHTML+`</body></html>`);
  50. document.close();
  51. })
  52. </script>
  53. ' ;
  54. }
  55. }