Większość naszych użytkowników nie rozumie, że powinni oni zapisywać lub anulować, kiedy edytują swoje treści, dlatego stale mamy zablokowane dziesiątki artykułów i kategorii. Zdaję sobie sprawę, że administrator może to zrobić ręcznie, ale edycja trwa 24 godziny na dobę, 7 dni w tygodniu, i ciągłe przeglądanie wszystkich elementów decydujących o tym, czy edycja została porzucona, jest dość nużące.
Czy istnieje sposób na przekroczenie limitu czasu blokady?
Starając się unikać cronów, gdy tylko jest to możliwe, ale na podstawie odpowiedzi z @Farahmand umieszczam odmianę tego kodu w
onUserLogout()
zdarzeniu wtyczki użytkownika :Kiedy każdy użytkownik loguje się sprawdza-in plugin któregokolwiek z ich treści, jak również wszelkie inne check-out, które mogły zostać porzucone. Chciałem, aby wpłynęło to tylko na niektóre grupy użytkowników i upewniłem się, że nie dotyczy to treści użytkowników administracyjnych (z naszych własnych wewnętrznych powodów - być może przesada w przypadku typowych instalacji, ale w naszym przypadku mamy niestandardowe grupy użytkowników, które mogą znajdować się w kilku standardowe grupy użytkowników, więc uwzględniają to nakładanie się).
Jestem pewien, że SQL można dostosować do stref czasowych itp., Ale oto wynikowa instrukcja SQL:
źródło
checked_out_time < NOW() - INTERVAL 12 HOUR
zchecked_out_time < JFactory::getDate('now +12 hours')
- nie testowano.