=== WP One Login Session ===
Contributors: hubert-m
Donate link: https://machala.dev/
Tags: login, session, security, single device, heartbeat
Requires at least: 6.0
Tested up to: 6.9.1
Stable tag: 1.0.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Limit the ability to log into a given WordPress user account to only one device/session at a time.

== Description ==

**WP One Login Session** to wtyczka do WordPressa, która ogranicza możliwość logowania na dane konto użytkownika tylko do jednego urządzenia (lub jednej sesji) w danym momencie. Jeśli użytkownik zaloguje się z nowego urządzenia lub nowej przeglądarki, jego poprzednia sesja zostaje automatycznie zniszczona (wylogowanie).

### Główne cechy:
* **Blokowanie wielu sesji:** Natychmiastowe zniszczenie starych sesji przy nowym logowaniu w oparciu o wbudowane mechanizmy sesji WordPress (`WP_Session_Tokens`).
* **Wylogowanie w tle (Heartbeat):** Pełna integracja z protokołem WordPress Heartbeat API, która asynchronicznie (w tle) wylogowuje użytkownika ze starszego urządzenia, bez odświeżania strony.
* **Nowoczesny kod i obiektowość:** Napisane w pełni obiektowo z wykorzystaniem bezpiecznych i sprawdzonych praktyk kodowania WordPress (OOP, oddzielne klasy dla poszczególnych logik).
* **Komunikaty o blokadzie:** Gdy sesja użytkownika zostanie unieważniona przez inne logowanie, otrzymuje on czytelny komunikat na stronie logowania informujący o powodzie wylogowania.
* **Aktualizacje z GitHub:** Wbudowany system automatycznych aktualizacji (Plugin Update Checker) ułatwia wdrażanie nowych wersji bezpośrednio z repozytorium GitHub.

== Installation ==

1. Pobierz plik ZIP lub sklonuj repozytorium do katalogu `/wp-content/plugins/wp-one-login-session-plugin`.
2. Aktywuj wtyczkę w panelu administracyjnym WordPress (zakładka "Wtyczki").
3. Gotowe! Wtyczka działa automatycznie zaraz po aktywacji. Nie wymaga dodatkowej konfiguracji.

== Frequently Asked Questions ==

= Czy muszę coś konfigurować po instalacji? =
Nie. Wtyczka działa "out of the box", automatycznie przejmując powiązania z akcjami logowania (`wp_login`, `set_logged_in_cookie`).

= Czy obsługuje AJAX i narzędzia tła? =
Tak, asynchroniczne odpytywanie Heartbeat API automatycznie zrywa przestarzałe połączenia na otwartych już kartach w przeglądarkach.

== Screenshots ==

1. Komunikat informacyjny na ekranie logowania, po tym jak sesja została zamknięta na rzecz innej przeglądarki lub urządzenia.

== Changelog ==

= 1.0.0 =
* Pierwsze wydanie wtyczki.
* Ograniczenie jednej sesji na jedno konto logowania.
* Integracja z Heartbeat API dla odpytywania zablokowanej sesji w tle.
* Dodanie informacyjnego komunikatu po wylogowaniu.
* Wsparcie dla wielu języków (w tym en_US i pl_PL).
* Integracja aktualizatora Plugin Update Checker.