Strategius 52 12/20/2017 06:55 AM Добрый день. Есть такой хук Redirect back after Login and Logout, он перенаправляет пользователей на страницу, на которой они были до авторизации/выхода из аккаунта. Но его сейчас уже не найти. Возможно ли сделать такой фикс простым способом, как здесь, например? http://ipbskins.ru/forum/topic15102.html#entry101349 Share this post Link to post
Trotor 27 12/20/2017 07:57 AM @Strategius, Вот такой есть:Перенаправление Пользователей.xml Share this post Link to post
Strategius 52 12/20/2017 08:23 AM @Haktar, это немного не то, здесь нужно вводить адрес редиректа, а надо, чтобы просто оставался на той же странице после авторизации/выхода из учетной записи. Share this post Link to post
newbie 1,722 12/20/2017 08:38 AM Смотрите в сторону $_SERVER['HTTP_REFERER'] 1 Share this post Link to post
Strategius 52 01/06/2018 09:21 AM (edited) $_SERVER['HTTP_REFERER']Наподобие такого скрипта? <?php header('Location: '.$_SERVER["HTTP_REFERER"]);?>А куда его нужно добавить? Edited January 6, 2018 by Strategius Share this post Link to post
newbie 1,722 01/07/2018 05:00 AM Наподобие такого скрипта? Да просто $_SERVER['HTTP_REFERER'] без всяких хедеров.Из поста из темы, ссылка на которую дана в стартовом посте.$this->registry->getClass('output')->redirectScreen( $return[0], $_SERVER['HTTP_REFERER'] ?: $this->registry->output->formatUrl( $this->settings['board_url'] ) ); 1 Share this post Link to post
Strategius 52 01/07/2018 10:50 AM А куда добавить этот код, чтобы при выходе пользователя перекидывало не на главную страницу, а он оставался на той же? Share this post Link to post
newbie 1,722 01/07/2018 11:03 AM \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 Share this post Link to post
Strategius 52 01/10/2018 07:21 PM Работает, спасибо большое! А можно как-нибудь поставить исключение для страниц, доступа к которым нет у гостей? Например, чтобы при выходе из аккаунта на странице профиля перенаправляло на главную? Share this post Link to post
newbie 1,722 01/11/2018 05:20 AM А можно как-нибудь поставить исключение для страниц, доступа к которым нет у гостей?Как вариант, http://php.net/manual/ru/function.get-headers.phpСравниваете первый элемент массива. Share this post Link to post
siv1987 2,627 01/15/2018 05:23 PM С 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 Share this post Link to post
Strategius 52 01/16/2018 07:55 PM @siv1987, спасибо огромное, именно так работает, как нужно! Share this post Link to post