środa, 21 stycznia 2015

Drupal: dane aktualnie zalogowanego użytkownika

Po raz kolejny pracuję z CMS Drupal tworząc własny moduł. Nie ma znaczenia co to za moduł, ale istotne jest, że często robię dowiązania do użytkowników w przechowywanych danych. W związku z tym, szybki post na temat tego, jak dostać się do informacji na temat aktualnie zalogowanego użytkownika.

Drupal przechowuje dane aktualnie zalogowanego usera w zmiennej globalnej $user. No nie jest to za ładnie i w Drupal 8 już to się zmienia, ale do Drupal 7 tak już jest, więc trzeba się z tym pogodzić. Aby się do niej dostać należy wcześniej zarejestrować zmienna globalną:
global $user;

Od tego momentu mamy dostęp do wszystkich danych użytkownika przechowywanych w tej zmiennej. Wg dokumentacji można w niej znaleźć:

  • uid - Identyfikator użytkownika
  • name - nazwa użytkownika (login)
  • pass - zaszyfrowane hasło
  • mail - adres email użytkownika
  • theme - nazwa tematu graficznego dla tego użytkownika
  • signature - podpis użytkownika
  • signature_format - format tekstu dla podpisu użytkownika
  • created - unixowy timestamp momentu gdy konto zostało utworzone
  • access - unixowy timestamp momentu gdy użytkownik ostatnio wykonał rządanie do witryny
  • login - unixowy timestamp momentu gdy użytkownik ostatni raz się zalogował
  • status - 1 jeśli konto aktywne 0 jeśli zablokowane
  • timezone - kod strefy czasowej użytkownika (jeśli ustawianie strefy włączone dla użytkowników)
  • language - kod języka użytkownika
  • picture - url awataru użytkownika
  • hostname - adres IP użytkownika
  • roles - tablica wszystkich ról przypisanych do użytkownika

Nie są to wszystkie pola. Wyciąłem te, których wartość jest nieudokumentowana.

Przy okazji aby określić, czy użytkownik jest zalogowany, wystarczy sprawdzić uid w tej zmiennej. Niezalogowany użytkownik ma uid o wartości 0.

Brak komentarzy:

Prześlij komentarz