--=REKLAMA=--

Dostęp do obiektu aktualnego użytkownika

Z Joomla!WikiPL

Pisząc własne rozszerzenia, dość często musimy odczytać pewne dane o aktualnie zalogowanym użytkowniku lub po prostu sprawdzić, czy użytkownik jest zalogowany. Framework Joomla, daje nam narzędzie służące do odczytywania tych danych.

Pobieranie obiektu użytkownika

Dane o użytkowniku możemy odczytać za pomocą metody getUser z klasy JFactory. Aby pobrać dane o aktualnie zalogowanym użytkowniku, wystarczy jedna linijka kodu:

$uzytkownik=&JFactory::getUser()

W ten sposób uzyskujemy dostęp do danych o użytkowniku, który właśnie przegląda naszą stronę. Możemy również pobrać dane o innym użytkowniku np:

$uzytkownik=&JFactory::getUser(33)

spowoduje pobranie danych użytkownika o id 33, z kolei taki zapis:

$uzytkownik=&JFactory::getUser('Jan Kowalski')

spowoduje pobranie danych o użytkowniku, który ma ustawioną nazwę użytkownika na Jan Kowalski.

Zmienne i parametry obiektu użytkownika

Skoro już uzyskaliśmy dostęp do danych użytkownika, możemy teraz odczytać wszystkie informacje o nim. Poniżej pełna lista informacji, jakie możemy uzyskać:

  • id - Numer id, to unikalny numer dla każdego użytkownika pozwala on jednoznacznie określić rekord w bazie danych.
  • name - nazwa własna użytkownika.
  • username - zawiera login/nazwę użytkownika.
  • email - adres e-mail podany przy rejestracji.
  • password - zaszyfrowane hasło użytkownika.
  • password_clear - zawiera hasło użytkownika, ale tylko wówczas gdy jest ono właśnie zmieniane, w przeciwnym wypadku to pole jest puste.
  • usertype - typ użytkownika np. administrator, wydawca itd.
  • gid - zawiera id grupy, do której należy użytkownik.
  • block - zmienna ma wartość 1, gdy użytkownik jest zablokowany.
  • registerDate - przechowuje datę zarejestrowania użytkownika.
  • lastvisitDate - przechowuje datę ostatniego logowanie użytkownika.
  • guest - zmienna ma wartość 1 w przypadku, gdy użytkownik nie jest zalogowany.

Jeżeli chcielibyśmy na przykład wyświetlić login i e-mail użytkownika o id 33, powinniśmy napisać:

$uzytkownik=&JFactory::getUser(33);
echo "Login:".$uzytkownik->username.", e-mail:".$uzytkownik->email;

za pomocą metody getParam możemy pobrać informację np. o języku użytkownika:

$uzytkownik=&JFactory::getUser(33);
$jezyk=$uzytkownik->getParam('language','domyślny język');
echo "Język:".$jezyk;

Dostępne są również następujące ustawienia:

  • admin_language - język zaplecza.
  • editor - wybrany edytor.
  • helpsite - serwer pomocy.
  • timezone - strefa czasowa.

Wszystkie te parametry przechowywane są w kolumnie params w tabeli #__users.

Sprawdzanie stanu użytkownika

Najczęściej obiektu użytkownika używa się do określenia, czy jest on zalogowany, czy też nie. Możemy to wykonać na kilka sposobów, jednak zalecana jest konstrukcja podobna do poniższej:

$uzytkownik=&JFactory::getUser();
if($uzytkownik->guest){
  echo "ZALOGUJ SIĘ KONIECZNIE!!!";
} else {
  echo "Jesteś zalogowany!";
}


© Ten materiał jest dokładnym albo swobodnym tłumaczeniem artykułu http://docs.joomla.org/Accessing_the_current_user_object udostępnionego na licencji JEDL na witrynie: Joomla! Official Documentation Wiki

Dziękujemy za wkład

» Stefan Wajda [zwiastun],