Skip to content
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Увеличить время активности сессии пользователя

В 4 версии нет настройки в виджете (пользователи онлайн). Хочу поправить период отсутствия, через которое пользователь считается неактивным.

 

Есть PHP виджета, я правильно понимаю, что цифру 60 нужно заменить? Или он отвечает за вывод до 60 человек, а остальных скрывает, чтоб блок не заполнять.

 

foreach( \IPS\Db::i()->select( 'core_sessions.member_id,core_sessions.member_name,core_sessions.seo_name,core_sessions.member_group,core_sessions.login_type', 'core_sessions', $where, 'core_sessions.running_time DESC', $this->orientation === 'horizontal' ? NULL : 60 )->join( 'core_groups', 'core_sessions.member_group=core_groups.g_id' ) as $row )

Featured Replies

Или он отвечает за вывод до 60 человек

Да.

В виджете /applications/core/widgets/whosOnline.php

 

array( 'core_sessions.running_time>' . \IPS\DateTime::create()->sub( new \DateInterval( 'PT30M' ) )->getTimeStamp() ),

PT30M

 

Да и то изменение не особо поможет, т.к. время жизни сессии (session.gc_maxlifetime) по дефолту равно 24 минуты, значение которого тоже придется менять.

 

Если нужно фиктивное присутствие людей на форуме, можно установить плагин "Traffic Generator"

  • Author

PT30M - заменил на PT200M = заработало (в виджете сразу отобразило много пользователей в сети), но когда заходишь чтоб просмотреть список пользователей онлайн в отдельной вкладке, там отображается реальная картинка, но для этого как Вы сказали нужно session.gc_maxlifetime. У меня значение в phpinfo:

 

session.gc_maxlifetime 86400

 

Сейчас ищу где в самой странице это правится.

 

Спасибо.

но когда заходишь чтоб просмотреть список пользователей онлайн в отдельной вкладке, там отображается реальная картинка, но для этого как Вы сказали нужно session.gc_maxlifetime.

Для этого нужно изменить /applications/core/modules/front/online/online.php

 

array( "core_sessions.running_time>?", \IPS\DateTime::create()->sub( new \DateInterval( 'PT30M' ) )->getTimeStamp() ),

Время жизни сессии session.gc_maxlifetime можно установить из php, добавив в constants.php (в секундах):

 

ini_set('session.gc_maxlifetime', 30*60);

Для форума нет смысла устанавливать большие значения на уровне php.ini, IPS хранит сессии в бд, а временная папка только будет забиваться старыми сессиями других сайтов.

А как сделать, чтобы из админки подольше не выкидывало при бездействии? Сейчас около 30 минут.

  • 2 weeks later...

А как сделать, чтобы из админки подольше не выкидывало при бездействии? Сейчас около 30 минут.

Сессии в АЦ работают по тому же принцу, что и в публичной части - увеличив время сессии на форуме также увеличивается и время в АЦ.

  • 2 months later...
PT30M - заменил на PT200M = заработало (в виджете сразу отобразило много пользователей в сети)

 

Поставил в /applications/core/widgets/whosOnline.php значение PT200M и ни чего не поменялось, у пользователей и гостей тот же период считается не активным, а нужно что бы дольше задерживались в блоке (Сейчас в сети), даже если вышли с форума. Подскажите что нужно сделать?

ini_set('session.gc_maxlifetime', 30*60);

Какие цифры менять надо (30*60)?, если кто пробовал, какие значения там поставить, что бы папку со старыми сессиями не забивать?

Меняю в блоке (Сейчас в сети) делаю такие значения:

В /applications/core/widgets/whosOnline.php - ставлю на PT200M и ни чего не происходит. Не пойму почему здесь не работает?

 

Меняю список пользователей онлайн в отдельной вкладке:

в /applications/core/modules/front/online/online.php - ставлю на PT200M вроде работает, появляется больше пользователей и гостей.

 

В файл constants.php поставил такие значения:

ini_set('session.gc_maxlifetime', 130*160);

Ни чего не поменялось.

 

В IPB 3 версии таких проблем не было с этой настройкой.

 

Может кто ни будь объяснить толком как изменить, что бы всё работало?

  • 3 months later...
  • Author

Есть еще виджет (недавно просматривали). Мне нужно увеличит хотя-бы время прибывания юзеров в теме на 5-10 мин.

members.php

 

Подскажите, что поправить?

$where[] = array( 'last_activity > ?', \IPS\DateTime::create()->sub( new \DateInterval( 'PT30M' ) )->getTimeStamp() );

 

30M - 30 минут. Поменять на требуемое количество минут.

  • Author

Странно по умолчанию даже минуты нету. Там живое время, вошел - вышел с темы.

А настройка "widget_member_online" включена?

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.