Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

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

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Редирект со страницы регистрации и входа

Здравствуйте, подскажите, пожалуйста, как сделать, чтобы зарегистрированных пользователей редиректило со страницы регистрации, входа и восстановления пароля, если они туда случайно зашли по ссылке?

 

Сейчас, если перейти по этим ссылкам

 

форум.ru/index.php?app=core&module=global&section=login

форум.ru/index.php?app=core&module=global&section=register

форум.ru/index.php?app=core&module=global&section=lostpass

 

авторизованным пользователем, он попадает на эти страницы. Хотелось бы, чтобы его редиректило на главную.

 

Т.е. чтобы эти страницы были доступны только гостям.

Изменено пользователем Strategius

Рекомендованные сообщения

  • Автор

Получилось добавить редирект на главную страницу.

 

Для регистрации admin\applications\core\modules_public\global\register.php

 

После:

 

IPSMember::save( $this->memberData['member_id'], array( 'core' => array( 'login_anonymous' => "{$privacy}&0", 'last_activity' => IPS_UNIX_TIME_NOW ) ) );

Добавил:

 

/* Редирект авторизованного пользователя на главную страницу */
$this->registry->getClass('output')->redirectScreen( $return[0], $this->registry->output->formatUrl( $this->settings['board_url'] ) );

 

Для входа admin\applications\core\modules_public\global\login.php

 

После

 

$template .= $this->registry->getClass('output')->getTemplate('login')->errors($message);
	}

Добавил

 

/* Редирект авторизованного пользователя на главную страницу */
if ($this->memberData['member_id'])
  {
  $this->registry->getClass('output')->redirectScreen( $return[0], $this->registry->output->formatUrl( $this->settings['board_url'] ) );
  }

Но насколько ли правильное это решение, и разумное ли оно вообще?

 

Для восстановления пароля admin\applications\core\modules_public\global\lostpass.php составил такую функцию:

 

protected function _avMemberRed()
{
  /* Редирект авторизованного пользователя на главную страницу */
    if ($this->memberData['member_id'])
       {
       $this->registry->getClass('output')->redirectScreen( $return[0], $this->registry->output->formatUrl( $this->settings['board_url'] ) );
       }
}

Но она почему-то не работает...

Изменено пользователем Strategius

  • Автор

Кстати, чем отличается $this->registry->getClass('output')->silentRedirect от $this->registry->getClass('output')->redirectScreen?

Кстати, чем отличается $this->registry->getClass('output')->silentRedirect от $this->registry->getClass('output')->redirectScreen?

Во втором случае после редиректа появляется сообщение.

  • Автор

@newbie, понял, спасибо!

 

Для добавления редиректа на страницу восстановления пароля в файле admin\applications\core\modules_public\global\lostpass.php

 

После

 

if ( $this->settings['bot_antispam_type'] != 'none' )
	{
		$this->output = str_replace( "<!--{REG.ANTISPAM}-->", $captchaHTML, $this->output );
	}

Добавляем

 

/* Редирект авторизованного пользователя на главную страницу */
       if ($this->memberData['member_id'])
       {
          $this->registry->getClass('output')->silentRedirect( $this->registry->output->formatUrl( $this->settings['board_url'] ) );
       }

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.