Trotor Posted February 17, 2017 Share Posted February 17, 2017 Есть хук который позволяет авторизироваться в попап-окне. Всё бы хорошо, но при авторизации с любой страницы форума, перебрасывает на главную, не редиректит на ту страницу откуда авторизировался. Как бы это исправить? <?php class public_core_global_quickLogin extends ipsCommand { private $output; public function doExecute( ipsRegistry $registry ) { /* Watcha up to? */ switch ( $this->request[ 'do' ] ) { Case 'login': default: $this->quickLogin(); break; } /* Print */ $this->registry->output->addContent( $this->output ); $this->registry->output->sendOutput(); } public function quickLogin() { $this->registry->getClass( 'class_localization' )->loadLanguageFile( array( 'public_login' ), 'core' ); if ( $this->memberData['member_id'] ) { $this->registry->output->showError( 'no_permission' ); } $this->output = $this->registry->output->getTemplate( 'global' )->quickLoginForm(); return $this->output; } } Link to comment Share on other sites More sharing options...
Strategius Posted February 17, 2017 Share Posted February 17, 2017 (edited) http://ipbskins.ru/forum/topic14993.html/page__view__findpost__p__100351 return $this->output;Заменить на return $this->registry->getClass('output')->silentRedirect( $this->registry->output->formatUrl( $this->settings['this_url''] ) ); Edited February 17, 2017 by Strategius Link to comment Share on other sites More sharing options...
Trotor Posted February 17, 2017 Author Share Posted February 17, 2017 Заменить наВыдаёт ошибку:Parse error: syntax error, unexpected ''] ) ); ' (T_ENCAPSED_AND_WHITESPACE), expecting ']' in Link to comment Share on other sites More sharing options...
Strategius Posted February 17, 2017 Share Posted February 17, 2017 (edited) Хорошо бы посмотреть хук этот. Parse error: syntax error, unexpected ''] ) ); ' (T_ENCAPSED_AND_WHITESPACE), expecting ']' inВ вышеприведенном коде удалить лишнюю кавычку после this_url' (ошибка). Или После return $this->output;Добавить $this->registry->getClass('output')->silentRedirect( $this->registry->output->formatUrl( $this->settings['this_url'] ) );По идее должно работать. Edited February 17, 2017 by Strategius Link to comment Share on other sites More sharing options...
Trotor Posted February 18, 2017 Author Share Posted February 18, 2017 Или ПослеТоже не прокатило. Хорошо бы посмотреть хук этот.ЛовиАвторизация во всплывающем окне.zip Link to comment Share on other sites More sharing options...
Dmitriy427 Posted February 18, 2017 Share Posted February 18, 2017 По идее что-то такое нужно:$this->output = $this->registry->output->getTemplate( 'global' )->quickLoginForm();Заменить на:$this->output = $this->registry->output->getTemplate( 'global' )->quickLoginForm( $_SERVER['HTTP_REFERER'] );В настройках шаблона "quickLoginForm" добавить переменную:$referer = ''Но до конца не уверен, поскольку в вашем файле XML ничего кроме этого шаблона и языковой строки нет, непонятно каким методом попап грузится. Если вместе с глобальным шаблоном, то правка должна работать.Странный какой-то полуфабрикат, частично заливаемый, частично устанавливаемый и видимо должна быть ещё ручная правка глобального шаблона с яваскрипт. 2 Link to comment Share on other sites More sharing options...
Trotor Posted February 18, 2017 Author Share Posted February 18, 2017 Но до конца не уверен, поскольку в вашем файле XML ничего кроме этого шаблона и языковой строки нет, непонятно каким методом попап грузится. Если вместе с глобальным шаблоном, то правка должна работать.Странный какой-то полуфабрикат, частично заливаемый, частично устанавливаемый и видимо должна быть ещё ручная правка глобального шаблона с яваскрипт.Вообще то да, забыл уточнить. В шаблон includeJS добавлялось это:.js,public/js/ips.quicklogin.js (после &f=public/js/ipb.js,public/js/ips.quickpm) Заменить на:иВ настройках шаблона "quickLoginForm" добавить переменную:Добавил. При авторизации, выдаёт nopermission на белой странице.Может quickLogin.php из директории ajax тоже следует отредактировать? Link to comment Share on other sites More sharing options...
newbie Posted February 18, 2017 Share Posted February 18, 2017 Достаточно отредактировать шаблон quickLoginFormВот похожая задача http://ipbskins.ru/forum/topic14993.html/page__view__findpost__p__100351 1 Link to comment Share on other sites More sharing options...
Dmitriy427 Posted February 18, 2017 Share Posted February 18, 2017 Достаточно отредактировать шаблон quickLoginFormА ну да. Заменить: <if test="referer:|:$referer"> <input type="hidden" name="referer" value="{$referer}" /> </if> На: <input type="hidden" name="referer" value="{$this->settings['this_url']}" />Хотя и с предыдущей правкой будет работать, отредактировал её. Link to comment Share on other sites More sharing options...
Trotor Posted February 18, 2017 Author Share Posted February 18, 2017 Достаточно отредактировать шаблон quickLoginFormНе работает.При авторизации, выдаёт nopermission на белой странице. Хотя и с предыдущей правкой будет работать, отредактировал её.Хм... Тоже самое - выдаёт nopermission на белой странице. Link to comment Share on other sites More sharing options...
Dmitriy427 Posted February 18, 2017 Share Posted February 18, 2017 Вставьте в нaчало шаблона:<php>print $settings['this_url'];exit;</php>И скопируйте сюда url, что там в окне будет. P.S. Возможно, ещё потребуются правки яваскрипт, html кнопки "Быстрый вход" и аякс-обработчика.P.P.S. Правку в 6-ом сообщении ещё раз отредактировал, пробуйте. Замену строки, с вызовом шаблона "quickLoginForm()", нужно делать в обоих файлах quickLogin.php. 1 Link to comment Share on other sites More sharing options...
Trotor Posted February 18, 2017 Author Share Posted February 18, 2017 P.P.S. Правку в 6-ом сообщении ещё раз отредактировал, пробуйте. Замену строки, с вызовом шаблона "quickLoginForm()", нужно делать в обоих файлах quickLogin.php.Вот! Правка помогла + замена строки именно в двух файлах. Спасибо. Link to comment Share on other sites More sharing options...
Dmitriy427 Posted February 18, 2017 Share Posted February 18, 2017 Вот! Правка помогла + замена строки именно в двух файлах. Спасибо.Помогло то, что я влез на ваш форум, посмотрел яваскрипт и код кнопки. Заливать нужно было полный архив с модификацией, а не один шаблон сиротливый. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now