Myślę nad nowym systemem uprawnień dla wersji modułowej. Założenia są takie:
1. Blokowanie dostępu do określonych akcji z jednoczesnym ukrywaniem menu i części interfejsu wprowadzanych przez akcje, do których nie ma dostępu. Wyobrażam sobie po prostu, że na podstawie modinfo.php modułów budujemy listę modułów i ich akcji i zaznaczamy dla każdego użytkownika akcje do których ma mieć dostęp.
2. System uprawnień powinien być modułem. Z tego co się zorientowałem, to jest możliwe. Wystarczy go wywoływać jako pierwszą akcję ustawiając bindings na 'pre/code:header' (baseciq wie o czym mówię ;)) lub (przy okazji) zdefiniować akcję core/init i do niej dowiązywać. Ponadto lekka modyfikacja pętli foreach w index.php, aby można było usunąć akcje ze stosu. Moduł działałby w ten sposób, że po prostu przeleci listę akcji w stosie i usunie z niego te do których użytkownik nie ma uprawnień (wraz z templejtami).
Problem mam tylko z wymyśleniem ładnego i przede wszystkim szybkiego i uniwersalnego sposobu na zapis uprawnień w bazie danych (i późniejsze ich sprawdzanie). Na pewno nie tekstowo nazwy akcji/modułów. Ale w jaki sposób? Nadać każdemu modułowi unikalny identyfikator lub po prostu numer i każdej akcji w module także? Ma ktoś pomysły?