Cara menangani sub menu dari plugins tidak muncul di akun pustakawan di halaman admin slims yang dikarenakan hasil migrasi dari slims 9.61 ke slims 9.72

Berdasarkan perbandingan dua versi kode module.inc.php (9.61 dan 9.72), perbedaan utama yang menyebabkan menu plugin tidak muncul di versi 9.61 adalah logika pemeriksaan hak akses (permission check) pada fungsi getSubMenuItems. Versi 9.61 memiliki bug yang menghalangi menu plugin untuk ditampilkan kepada pengguna.

FiturVersi 9.61 (Buggy)Versi 9.72 (Diperbaiki)Konsekuensi pada Versi 9.61
ID Akses untuk PluginMenggunakan md5($item[1])Menggunakan $query_params['id'] dari URL pluginID yang dihitung (md5) tidak cocok dengan ID asli plugin yang disimpan di sesi, sehingga akses selalu ditolak.
Metode Pemeriksaan AksesMemanggil utility::haveAccess($access_id)Memeriksa apakah $access_id ada dalam array $_SESSION['priv'][$str_module]['menus']haveAccess() tidak dirancang untuk menangani ID plugin yang panjangnya 32 karakter, sehingga mengembalikan false.
Filter Akses PluginTidak ada penanganan khusus untuk URL pluginBlok kode khusus untuk URL yang mengandung 'plugin_container.php'Semua menu plugin diabaikan karena logika akses umum gagal.

Selain perbaikan bug utama, terdapat beberapa perubahan kecil lainnya:
Fungsi reorderMenus(): Logika pembuatan array $ungrouped (untuk plugin yang tidak dikelompokkan) ditulis ulang di versi 9.72 agar lebih jelas dan efisien.
Komentar Dokumen: Beberapa komentar untuk metode reorderMenus dan getFirstMenu di versi 9.72 memiliki karakter asterisk (*) ekstra di awal baris, yang hanya perbedaan format penulisan.

Kesalahan di versi 9.61 adalah ketidakcocokan antara cara sistem menghasilkan ID akses untuk menu plugin dengan cara sistem memverifikasinya. Perbaikan di versi 9.72 memastikan ID plugin yang sama (yang berasal dari URL) digunakan baik untuk pembuatan menu maupun pemeriksaan izin.

Jika kamu terjebak di versi 9.61 dan tidak dapat memperbarui, kamu dapat menerapkan patch manual dengan mengganti blok kode pemeriksaan akses di fungsi getSubMenuItems() versi 9.61 dengan blok kode dari versi 9.72 (seperti yang diuraikan di atas).

kode yang harus di perbaiki berada di lib/module.inc.php

bisa lihat code yang sudah diperbarui di gist saya di : https://gist.github.com/erwansetyobudi/b369e637ad0ef0b052314f8fdb66204b