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.