Modul functions_user.php powinien znajdowac sie w katalogu include/. Powinien zawierac funkcje zwiazane z obsluga uzytkownika. Na razie proponuje takie dwie, podstawowe ;) funkcje:
user_ban($user_id, $user_ip, $user_email, $reason, $expired)
Funkcja powinna banowac uzytkownika, dodawac wpis do tabeli rr_ban na podstawie danych podanych w parametrach, gdzie:
- $user_id - ID usera (opcjonalnie)
- $user_ip - IP usera (opcjonalnie)
- $user_email - e-mail do zbanowania (opcjonalnie)
- $reason - powod bana
- $expired - przedawnienie (W formacie UTC)
Funkcja powinna zwracac wartosci true/false w zaleznosci od wyniku dzialania.
user_unban($ban_id)
Funkcja powinna usuwac bana na podstawie podanego parametru (id Bana).
user_kick($user_id)
Funkcja na podstawie ID usera ($user_id) powinna "kopać" użytkownika. Poniewaz zapytanie sprawdzajace czy user jest zbanowany jest wysylane w momencie tworzenia sesji musi istniec opcja kopania usera w razie gdy chcemy aby ban zadzialal natychmiastowo.
user_flood()
Funkcja musi wykrywac proby spamowania. Musi blokowac proby dodania ponownego hasla jezeli poprzednie przez tego samego usera zostalo dodane w ciagu 2 min. W przypadku anonimow ow czas powinien wydluzac sie do 5 min. W przypadku moderatorow i adminow funkcja nie powinna dzialac.
user_delete($user_id)
Funkcja powinna usuwac uzytkownika. Nie powinna usuwac fizycznie rekordu z bazy danych lecz jedynie dezaktywowac go (zmienic pole uesr_level na 0). Dzieki temu uzytkownika nie bedzie mogl sie zalogowac. Nalezy takze zmienic jego haslo na crypt(uniqid()). Zawsze w takim wypadku bedzie mozliwe przywrocenie usera.