📂 FileMgr
📍
/home/rsukartini.com/rs/app/Views/backend/halaman
✏️ Edit File: /home/rsukartini.com/rs/app/Views/backend/halaman/edit.php
⬅ Kembali
<?= $this->include('backend/headeradmin') ?> <div class="main-content"> <?= $this->include('backend/menuatasadmin') ?> <div class="header bg-gradient-primary pb-8 pt-5 pt-md-8"> <div class="container-fluid"> <div class="header-body"></div> </div> </div> <div class="container-fluid mt--7"> <div class="row"> <div class="col-xl-12"> <div class="card shadow"> <div class="card-header border-0 d-flex justify-content-between align-items-center"> <h3 class="mb-0">Edit Halaman</h3> <div class="float-right"> <a href="<?= base_url('halaman') ?>" class="btn btn-secondary">Kembali</a> </div> </div> <div class="card-body"> <?php if (session()->getFlashdata('error')): ?> <div class="alert alert-danger"> <?= session()->getFlashdata('error') ?> </div> <?php endif; ?> <form method="post" enctype="multipart/form-data" action="<?= base_url('halaman/update/'.$halaman['id_halaman']) ?>" id="form-halaman"> <?= csrf_field() ?> <div class="form-group"> <label>Judul Halaman <span class="text-danger">*</span></label> <input type="text" name="judul" class="form-control" value="<?= old('judul', $halaman['judul']) ?>" required maxlength="200" placeholder="Masukkan judul halaman"> </div> <div class="form-group"> <label>Slug</label> <input type="text" class="form-control" value="<?= esc($halaman['slug']) ?>" readonly> <small class="form-text text-muted">Slug akan otomatis di-generate dari judul halaman.</small> </div> <div class="form-group"> <label>Penulis <span class="text-danger">*</span></label> <input type="text" name="penulis" class="form-control" value="<?= old('penulis', $halaman['penulis']) ?>" required maxlength="100" placeholder="Masukkan nama penulis"> </div> <div class="form-group"> <label>Tanggal Publish <span class="text-danger">*</span></label> <input type="date" name="tanggal_publish" class="form-control" value="<?= old('tanggal_publish', $halaman['tanggal_publish']) ?>" required> </div> <div class="form-group"> <label>Konten Halaman <span class="text-danger">*</span></label> <textarea name="konten" id="konten" class="form-control" rows="15" required placeholder="Masukkan konten halaman"><?= old('konten', $halaman['konten']) ?></textarea> </div> <div class="form-group"> <label>Gambar</label> <div id="dropzone-gambar" class="dropzone-halaman" style="border:2px dashed #ccc;padding:20px;text-align:center;cursor:pointer;border-radius:5px;"> <span id="dropzone-text">Seret gambar ke sini atau klik untuk memilih file</span> <input type="file" name="gambar" id="input-gambar" class="form-control-file" style="display:none;" accept="image/*"> <div id="preview-gambar" style="margin-top:10px;"> <?php if ($halaman['gambar']): ?> <img src="<?= base_url('uploads/halaman/'.$halaman['gambar']) ?>" alt="Gambar" width="120" class="img-thumbnail"> <?php endif; ?> </div> </div> <small class="form-text text-muted">Format yang didukung: JPG, PNG, GIF. Maksimal 2MB. Kosongkan jika tidak ingin mengubah gambar.</small> </div> <!-- Progress Bar --> <div id="progress-container" style="display:none;"> <div class="progress mb-3"> <div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: 0%"></div> </div> <small class="text-muted">Mengupdate halaman...</small> </div> <button type="submit" class="btn btn-success" id="btn-submit"> <i class="fas fa-save"></i> Update </button> <a href="<?= base_url('halaman') ?>" class="btn btn-secondary"> <i class="fas fa-times"></i> Batal </a> </form> </div> </div> </div> </div> <?= $this->include('backend/footeradmin') ?> </div> </div> <?= $this->include('backend/jsadmin') ?> <script src="<?= base_url('ckeditor/ckeditor.js') ?>"></script> <script> CKEDITOR.replace('konten', { height: 400, removePlugins: 'elementspath,resize', removeButtons: 'Save,Form,Radio,Checkbox,TextField,Textarea,Select,Button,ImageButton,HiddenField,About', toolbarGroups: [ { name: 'document', groups: [ 'mode', 'document', 'doctools' ] }, { name: 'clipboard', groups: [ 'clipboard', 'undo' ] }, { name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] }, { name: 'forms', groups: [ 'forms' ] }, '/', { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] }, { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] }, { name: 'links', groups: [ 'links' ] }, { name: 'insert', groups: [ 'insert' ] }, '/', { name: 'styles', groups: [ 'styles' ] }, { name: 'colors', groups: [ 'colors' ] }, { name: 'tools', groups: [ 'tools' ] }, { name: 'others', groups: [ 'others' ] } ], removeDialogTabs: 'image:advanced;link:advanced', filebrowserUploadUrl: '<?= base_url('halaman/upload_image') ?>', filebrowserImageUploadUrl: '<?= base_url('halaman/upload_image') ?>' }); $(function(){ var dropzone = $('#dropzone-gambar'); var input = $('#input-gambar'); var preview = $('#preview-gambar'); var dropText = $('#dropzone-text'); var progressContainer = $('#progress-container'); var progressBar = $('.progress-bar'); var btnSubmit = $('#btn-submit'); // Klik area dropzone = klik input file dropzone.on('click', function(e){ if(e.target.id !== 'input-gambar') input.trigger('click'); }); // Drag over dropzone.on('dragover', function(e){ e.preventDefault(); e.stopPropagation(); dropzone.css('background','#f0f8ff'); dropzone.css('border-color','#007bff'); }); dropzone.on('dragleave', function(e){ e.preventDefault(); e.stopPropagation(); dropzone.css('background',''); dropzone.css('border-color','#ccc'); }); // Drop file dropzone.on('drop', function(e){ e.preventDefault(); e.stopPropagation(); dropzone.css('background',''); dropzone.css('border-color','#ccc'); var files = e.originalEvent.dataTransfer.files; if(files.length > 0){ input[0].files = files; showPreview(files[0]); } }); // Change input file input.on('change', function(){ if(this.files && this.files[0]){ showPreview(this.files[0]); } }); function showPreview(file){ // Validasi ukuran file (2MB) if(file.size > 2 * 1024 * 1024){ preview.html('<span class="text-danger">Ukuran file terlalu besar! Maksimal 2MB.</span>'); return; } if(!file.type.match('image.*')){ preview.html('<span class="text-danger">File bukan gambar! Pilih file JPG, PNG, atau GIF.</span>'); return; } var reader = new FileReader(); reader.onload = function(e){ preview.html('<img src="'+e.target.result+'" alt="Preview" width="120" class="img-thumbnail">'); } reader.readAsDataURL(file); } // Form submission dengan progress bar $('#form-halaman').on('submit', function(e){ var judul = $('input[name="judul"]').val().trim(); var penulis = $('input[name="penulis"]').val().trim(); var tanggal_publish = $('input[name="tanggal_publish"]').val(); var konten = CKEDITOR.instances.konten.getData(); if(!judul || !penulis || !tanggal_publish || !konten){ e.preventDefault(); Swal.fire({ icon: 'error', title: 'Error', text: 'Semua field yang bertanda * harus diisi!' }); return false; } // Tampilkan progress bar progressContainer.show(); btnSubmit.prop('disabled', true); // Simulasi progress bar var progress = 0; var interval = setInterval(function(){ progress += Math.random() * 30; if(progress > 90) progress = 90; progressBar.css('width', progress + '%'); }, 200); // Reset progress saat form berhasil disubmit $(this).on('submit', function(){ clearInterval(interval); progressBar.css('width', '100%'); }); }); }); </script>
💾 Simpan File
Batal
⬅ Naik ke backend
3 item
Nama
Tipe
Ukuran
Diubah
Aksi
🐘
create.php
php
8.5 KB
2025-08-02 10:11
✏️ Edit
👁️ View
🗑 Hapus
🐘
edit.php
php
9.2 KB
2025-08-02 10:11
✏️ Edit
👁️ View
🗑 Hapus
🐘
index.php
php
5.8 KB
2025-07-14 03:43
✏️ Edit
👁️ View
🗑 Hapus