⚝
One Hat Cyber Team
⚝
Your IP:
192.168.31.6
Server IP:
192.168.1.11
Server:
Linux pams 6.1.0-29-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64
PHP Version:
8.2.28
Buat File
|
Buat Folder
Upload File
Eksekusi
Dir :
~
/
var
/
www
/
pusaka
/
modules
/
Ebook
/
Views
/
Edit File: list.php
<div class="d-flex justify-content-between align-items-sm-center flex-column flex-sm-row mb-3"> <div class="me-4 mb-3 mb-sm-0"> <h1 class="mb-0"><?=$title?></h1> </div> </div> <div class="row"> <div class="col-12 mb-4"> <div class="card border-start-lg border-start-primary h-100 card card-header-actions"> <div class="card-header"> <div id="export"></div> <div class="card-tools"> <a class="btn btn-primary btn-sm" onclick="edit('0')">Tambah</a> <a class="btn btn-primary btn-sm" data-bs-toggle="modal" data-bs-target="#uploadxls">Tambah Xlsx</a> <a class="btn btn-primary btn-sm" href="<?=base_url('form/form-input-buku.xlsx')?>">Download Form</a> </div> </div> <div class="card-body"> <table id="myTable" class="table table-striped table-bordered" style="width:100%"> <thead> <tr> <th>No</th> <th>Kode</th> <th>Judul</th> <th>Penerbit</th> <th>Penulis</th> <th>Tahun</th> <th>Prodi</th> <th>Jenis</th> <th>Dokumen</th> <th>Aksi</th> </tr> </thead> <tbody> <?php $no =1; foreach ($table as $k) { $link_cover = ''; $link_ebook = ''; if($k->file_cover != ''){ $link_cover = '<a href="#" data-bs-toggle="modal" data-bs-target="#view" data-pdf-url="'.$k->file_cover.'" class="btn btn-info btn-sm view-doc">Cover</a>'; } if($k->file_ebook != ''){ $link_ebook = '<a href="#" data-bs-toggle="modal" data-bs-target="#view" data-pdf-url="'.$k->file_ebook.'" class="btn btn-success btn-sm view-doc">File</a>'; } echo ' <tr> <td>'.$no++.'</td> <td>'.$k->kode.'</td> <td>'.$k->judul.'</td> <td>'.$k->penerbit.'</td> <td>'.$k->penulis.'</td> <td>'.$k->tahun.'</td> <td>'.jur($k->prodi).'</td> <td>'.jenis_buku($k->jenis).'</td> <td>'.$link_cover.' '.$link_ebook.'</td> <td align="center"> <a class="btn btn-sm btn-warning" onclick="edit(`'.dc($k->id).'`)">Edit</a> <a class="btn btn-sm btn-danger" onclick="hapus(`ebook/delete/'.dc($k->id).'`)">Hapus</a> <a class="btn btn-sm btn-primary" onclick="upload(`'.dc($k->id).'`)">Upload</a> </td> </tr> '; } ?> </tbody> </table> </div> </div> </div> </div> <div class="modal fade" id="add" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <form method="post" id="form_<?=$title?>"> <div class="modal-header"> <h5 class="modal-title">Form <?=$title?></h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <input type="text" name="data_id" class="d-none" id="data_id"> <?php $t['options'] = ['--Pilih Jenis Buku--','Buku Fisik', 'Ebook']; $t['value'] = ['','1', '2']; echo csrf_field(); echo form_text('kode'); echo form_text('judul'); echo form_text('penerbit'); echo form_text('penulis'); echo form_text('tahun'); echo form_select('prodi', opt_jur()); echo form_select('jenis', $t); ?> </div> <div class="modal-footer"><button class="btn btn-primary" type="submit">Save</button></div> </form> </div> </div> </div> <div class="modal fade" id="upload" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <form method="post" id="form_<?=$title?>" enctype="multipart/form-data" action="<?=base_url('admin/ebook/upload')?>"> <div class="modal-header"> <h5 class="modal-title">Form Upload File Ebook</h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <input type="text" name="id_ebook" class="d-none" id="id_ebook"> <?php echo csrf_field(); $j['options'] = ['--Pilih Jenis File--','Cover', 'Ebook']; $j['value'] = ['','1', '2']; echo form_file('file'); echo form_select('jenis', $j); ?> </div> <div class="modal-footer"><button class="btn btn-primary" type="submit">Save</button></div> </form> </div> </div> </div> <div class="modal fade" id="view" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Doc Viewer</h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> </div> <div class="modal-footer"><button class="btn btn-primary" type="submit">Save</button></div> </div> </div> </div> <div class="modal fade" id="uploadxls" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <form method="post" enctype="multipart/form-data" action="<?=base_url('admin/ebook/verifikasiInput')?>"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Form XLSX <?=$title?></h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <?php echo csrf_field(); $j['options'] = ['--Pilih Jenis File--','Buku Fisik', 'Ebook']; $j['value'] = ['','1', '2']; echo form_file('file'); echo form_select('jenis', $j); ?> </div> <div class="modal-footer"><button class="btn btn-primary" type="submit">Save</button></div> </div> </form> </div> </div> <script type="text/javascript"> $(document).ready(function(){ var table = $('#myTable').DataTable({ dom: 'Blfrtip', buttons: [ { extend: 'excelHtml5', exportOptions: { columns: ':not(:last-child)' // Pengecualian kolom terakhir }, className: 'btn btn-primary btn-sm', }, { extend: 'pdfHtml5', exportOptions: { columns: ':not(:last-child)' // Pengecualian kolom terakhir }, className: 'btn btn-primary btn-sm', }, { extend: 'print', exportOptions: { columns: ':visible:not(:last-child)' // Pengecualian kolom terakhir & kolom tersembunyi }, className: 'btn btn-primary btn-sm', } ], scrollX : true }); table.buttons().container().appendTo('#export'); $('#view').on('show.bs.modal', function (event) { const button = $(event.relatedTarget); // Tombol yang memicu modal const pdfUrl = button.data('pdf-url'); // Ambil URL PDF dari tombol const modalBody = $(this).find('.modal-body'); // 1. Muat Konten View PDF.js (HTML dan Skrip) via AJAX $.ajax({ url: '<?= base_url('viewer') ?>', // Panggil Controller yang mengembalikan View PDF method: 'GET', beforeSend: function() { modalBody.html('<div class="text-center p-5">Memuat Viewer...</div>'); }, success: function(html) { // 2. Masukkan HTML (termasuk JS) ke dalam modal body modalBody.html(html); }, error: function() { modalBody.html('<p class="text-danger text-center">Gagal memuat komponen viewer.</p>'); } }); }); // Tangkap event saat modal sudah benar-benar terbuka (setelah CSS transisi selesai) $('#view').on('shown.bs.modal', function (event) { const button = $(event.relatedTarget); const pdfUrl = button.data('pdf-url'); // Cek apakah fungsi loadPdfViewer sudah ada dan muat PDF if (typeof window.loadPdfViewer === 'function') { window.loadPdfViewer(pdfUrl); } else { // Jaga-jaga jika skrip belum dimuat sempurna setTimeout(() => { if (typeof window.loadPdfViewer === 'function') { window.loadPdfViewer(pdfUrl); } }, 500); } }); // Penting: Reset konten modal saat ditutup agar skrip tidak tumpang tindih saat dibuka lagi $('#view').on('hidden.bs.modal', function () { $(this).find('.modal-body').empty(); // Hapus variabel global jika perlu, tapi membiarkannya biasanya aman }); }) function edit(id){ $('#data_id').val(id); if(id != 0){ $.ajax({ url : '<?=base_url()?>/ebook/get/' + id, dataType : 'JSON', success : function(d){ $('#form_<?=$title?>').attr('action', '<?=base_url('admin/ebook/edit')?>'); $('#form_kode').val(d.kode); $('#form_judul').val(d.judul); $('#form_penerbit').val(d.penerbit); $('#form_penulis').val(d.penulis); $('#form_tahun').val(d.tahun); $('#form_prodi').val(d.prodi); $('#form_jenis').val(d.jenis); } }) }else{ $('#form_<?=$title?>').attr('action', '<?=base_url('admin/ebook/add')?>'); } $('#add').modal('show'); } function upload(id){ $('#id_ebook').val(id); $('#upload').modal('show'); } </script>
Simpan