7.5. Poziomy dostępu

W sumie tutaj to wytłumaczę bardziej dla developerów, gdyż osoby korzystające z LMS raczej nie będą zainteresowane.

Oryginalnie poziomy dostępu miały być definiowane poprzez różne litery. Było to założenie z czasów LMS-0.4, lecz nigdy nie wykorzystane. Z racji tego, że weszło to do 1.0, długo się głowiłem jak wykorzystać 64-znakowego stringa. Otóż w kolumnie rights jest po prostu 64-znakowa (256-bitowa) liczba heksadecymalna. Każdy jej znak może opisać maksymalnie cztery bity kombinacji (4*64 = 256 - stąd ilość możliwych poziomów). Tak więc włączenie jakiegoś poziomu dostępu powoduje ustawienie w tej liczbie odpowiedniego bitu. I tak jeżeli "pełen dostęp" ma pozycję 0 w lib/accesstable.php, zostanie ustawiony bit 0, czyli będzie to liczba 1. Więc poziomy mogą mieć numery od 0 do 255. Nie jest to finalne ograniczenie. Stosując więcej liter i znaków można rozszerzyć ilość możliwych kombinacji do przynajmniej 6 bitów na znak, co da nam 384 kombinacje.