AJK Harmony - pembetulan ralat 1267 dan jejak audit

1. Ralat Illegal mix of collations (utf8mb4_unicode_ci / utf8mb4_general_ci) diperbetulkan pada perbandingan ID staf antara jadual di staff_admin.php dan analytics.php. Tiada ALTER TABLE.
2. ID lantikan dalam sejarah import kini diambil sejurus selepas INSERT ajk_appointments, sebelum INSERT IGNORE ajk_programs. Ini mengelakkan ID 0 atau ID program dipaparkan sebagai ID lantikan.
3. Nama pentadbir pada jejak audit menggunakan sesi pentadbir; jika nama tiada dalam sesi lama, sistem cuba membaca username melalui ID pentadbir. Rekod audit lama tidak diubah.
4. Fail config.php dan schema.sql disalin TANPA SEBARANG PERUBAHAN daripada ZIP sebelumnya. Nama database tidak diubah.
5. Cara pasang: backup folder ajk_portal; extract ZIP, salin fail PHP ke folder asal. Jika config.php XAMPP anda sudah disesuaikan dengan nama database sendiri, KEKALKAN config.php XAMPP anda (jangan overwrite). Jangan import semula schema.sql.
6. Logout dan login semula sebagai pentadbir untuk memastikan sesi mempunyai nama pentadbir.
7. Semakan PHP syntax sahaja; uji dengan MySQL XAMPP anda untuk mengesahkan semua fungsi.
