--=REKLAMA=--
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.
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.
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ć:
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:
Wszystkie te parametry przechowywane są w kolumnie params w tabeli #__users.
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!"; }