Strategius 52 12/20/17 06:55 Добрый день. Есть такой хук Redirect back after Login and Logout, он перенаправляет пользователей на страницу, на которой они были до авторизации/выхода из аккаунта. Но его сейчас уже не найти. Возможно ли сделать такой фикс простым способом, как здесь, например? http://ipbskins.ru/forum/topic15102.html#entry101349 Поделиться сообщением Ссылка на сообщение
Trotor 27 12/20/17 07:57 @Strategius, Вот такой есть:Перенаправление Пользователей.xml Поделиться сообщением Ссылка на сообщение
Strategius 52 12/20/17 08:23 @Haktar, это немного не то, здесь нужно вводить адрес редиректа, а надо, чтобы просто оставался на той же странице после авторизации/выхода из учетной записи. Поделиться сообщением Ссылка на сообщение
newbie 1723 12/20/17 08:38 Смотрите в сторону $_SERVER['HTTP_REFERER'] 1 Поделиться сообщением Ссылка на сообщение
Strategius 52 01/06/18 09:21 (изменено) $_SERVER['HTTP_REFERER']Наподобие такого скрипта? <?php header('Location: '.$_SERVER["HTTP_REFERER"]);?>А куда его нужно добавить? Изменено 6 января 2018 пользователем Strategius Поделиться сообщением Ссылка на сообщение
newbie 1723 01/07/18 05:00 Наподобие такого скрипта? Да просто $_SERVER['HTTP_REFERER'] без всяких хедеров.Из поста из темы, ссылка на которую дана в стартовом посте.$this->registry->getClass('output')->redirectScreen( $return[0], $_SERVER['HTTP_REFERER'] ?: $this->registry->output->formatUrl( $this->settings['board_url'] ) ); 1 Поделиться сообщением Ссылка на сообщение
Strategius 52 01/07/18 10:50 А куда добавить этот код, чтобы при выходе пользователя перекидывало не на главную страницу, а он оставался на той же? Поделиться сообщением Ссылка на сообщение
newbie 1723 01/07/18 11:03 \admin\applications\core\modules_public\global\login.php return array( 'redirect', $this->lang->words['thanks_for_logout'], $this->settings['board_url'] ); return array( 'redirect', $this->lang->words['thanks_for_logout'], $_SERVER['HTTP_REFERER'] ?: $this->settings['board_url'] ); 1 Поделиться сообщением Ссылка на сообщение
Strategius 52 01/10/18 19:21 Работает, спасибо большое! А можно как-нибудь поставить исключение для страниц, доступа к которым нет у гостей? Например, чтобы при выходе из аккаунта на странице профиля перенаправляло на главную? Поделиться сообщением Ссылка на сообщение
newbie 1723 01/11/18 05:20 А можно как-нибудь поставить исключение для страниц, доступа к которым нет у гостей?Как вариант, http://php.net/manual/ru/function.get-headers.phpСравниваете первый элемент массива. Поделиться сообщением Ссылка на сообщение
siv1987 2628 01/15/18 17:23 С get_headers думаю newbie имел ввиду получить код статуса реферера и, если он не 200 то туда доступ запрещен гостям. $headers = $_SERVER['HTTP_REFERER'] ? get_headers( $_SERVER['HTTP_REFERER'] ) : ''; return array( 'redirect', $this->lang->words['thanks_for_logout'], ( isset( $headers[0] ) AND substr( $headers[0], 9, 3 ) == 200 ) ? $_SERVER['HTTP_REFERER'] : $this->settings['board_url'] ); 1 Поделиться сообщением Ссылка на сообщение
Strategius 52 01/16/18 19:55 @siv1987, спасибо огромное, именно так работает, как нужно! Поделиться сообщением Ссылка на сообщение