Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Witam,

Mam następujący problem, widget "Kto jest dostępny" pokazuje użytkowników którzy byli dostępni nawet 30 min temu, chciałbym zmienić ten limit na 15 min, pytanie tylko gdzie zmienić, takową opcję, w ACP nie znalazłem, a w kodzie nie wiem gdzie tego szukać.

Opublikowano

No witaj, witaj! :)

Nie widziałem żadnej opcji, która by ustawiałaby sesje użytkownika. Sprawdziłem dokładnie zaawansowane oraz metody logowania i nie znalazłem.Odpowiadając na Twoje pytania, opcji w ACP takowych nie ma (chyba, że wyjdzie coś w 4.1.16, ale wątpię) aczkolwiek możesz pogrzebać sobie w kodzie.Zmiana, którą Ci napiszę ingeruje w kod IPS, co za tym idzie jak będziesz robił upgrade na nowszą wersje stracisz zmiany, ale będziesz mógł je ponownie raczej wprowadzić (z resztą wprowadzić albo nie, zależy jak kod php się zmieni).

Wersja: 4.1.15
Lokalizacja pliku: system/Sessions/Front.php linijka 210:
 

'running_time'	=> ( \IPS\Request::i()->isAjax() ) ? ( $session ? $session['running_time'] : time() - 1860 ) : time(), 

zamień na:
 

'running_time'	=> ( \IPS\Request::i()->isAjax() ) ? ( $session ? $session['running_time'] : time() - 960 ) : time(), 

Według mnie powinno Ci zadziałać bez problemów. Sprawdzałem jak to działa w widget'cie (lokalizacja applications/core/widgets/whosOnline.php - chyba widget, który próbowałeś szukać, ale nie znalazłeś :)) i doszedłem do wniosku, że w ten sposób musi być to generowane. W sidebarze limit wyświetlanych użytkowników jest ustawiony na 60, aby nie zaśmiecać zbytnio forum zbyt dużą ilością użytkowników ze względów estetycznych, ale to tak na marginesie tylko dodam. Tak czy inaczej mam nadzieje, że pomogłem. :)

  • Lubię to 1
Opublikowano

Tak, sprawdziłem dwa razy w przypadku $orientation == 'horizontal' oraz $orientation == 'vertical' i nie pomogło.
W bicie szablonu nic nie znalazłem ciekawego, to jest bardzo dziwna dla mnie sytuacja, ale nic niemożliwego.
Przeorałem jeszcze raz i jednak po sprawdzeniu to musi być jednak to applications/core/widgets/whosOnline.php:
 

		$where = array(
			array( 'core_sessions.running_time>' . \IPS\DateTime::create()->sub( new \DateInterval( 'PT30M' ) )->getTimeStamp() )
		);

zamienić na:

		$where = array(
			array( 'core_sessions.running_time>' . \IPS\DateTime::create()->sub( new \DateInterval( 'PT15M' ) )->getTimeStamp() )
		);

Działa! :)
P.S Takie banalne a tak niepozorne...

  • Lubię to 2

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.