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

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

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

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

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

Быстрая авторизация

Есть хук который позволяет авторизироваться в попап-окне. Всё бы хорошо, но при авторизации с любой страницы форума, перебрасывает на главную, не редиректит на ту страницу откуда авторизировался.

 

Как бы это исправить?

 

<?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;
}
}

 

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

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''] ) );

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

  • Автор

Заменить на

Выдаёт ошибку:

Parse error: syntax error, unexpected ''] ) ); ' (T_ENCAPSED_AND_WHITESPACE), expecting ']' in

Хорошо бы посмотреть хук этот.

 

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'] ) );

По идее должно работать.

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

  • Автор

Или

 

После

Тоже не прокатило.

 

Хорошо бы посмотреть хук этот.

Лови

Авторизация во всплывающем окне.zip

По идее что-то такое нужно:

$this->output = $this->registry->output->getTemplate( 'global' )->quickLoginForm();

Заменить на:

$this->output = $this->registry->output->getTemplate( 'global' )->quickLoginForm( $_SERVER['HTTP_REFERER'] );

В настройках шаблона "quickLoginForm" добавить переменную:

$referer = ''

Но до конца не уверен, поскольку в вашем файле XML ничего кроме этого шаблона и языковой строки нет, непонятно каким методом попап грузится. Если вместе с глобальным шаблоном, то правка должна работать.

Странный какой-то полуфабрикат, частично заливаемый, частично устанавливаемый и видимо должна быть ещё ручная правка глобального шаблона с яваскрипт.

  • Автор

Но до конца не уверен, поскольку в вашем файле XML ничего кроме этого шаблона и языковой строки нет, непонятно каким методом попап грузится. Если вместе с глобальным шаблоном, то правка должна работать.

Странный какой-то полуфабрикат, частично заливаемый, частично устанавливаемый и видимо должна быть ещё ручная правка глобального шаблона с яваскрипт.

Вообще то да, забыл уточнить. В шаблон includeJS добавлялось это:

.js,public/js/ips.quicklogin.js (после &f=public/js/ipb.js,public/js/ips.quickpm)

 

 

Заменить на:

и

В настройках шаблона "quickLoginForm" добавить переменную:

Добавил. При авторизации, выдаёт nopermission на белой странице.

Может quickLogin.php из директории ajax тоже следует отредактировать?

Достаточно отредактировать шаблон quickLoginForm

А ну да. Заменить:

		<if test="referer:|:$referer">
	<input type="hidden" name="referer" value="{$referer}" />
	</if>

На:

		<input type="hidden" name="referer" value="{$this->settings['this_url']}" />

Хотя и с предыдущей правкой будет работать, отредактировал её.

  • Автор

Достаточно отредактировать шаблон quickLoginForm

Не работает.

При авторизации, выдаёт nopermission на белой странице.

 

Хотя и с предыдущей правкой будет работать, отредактировал её.

Хм... Тоже самое - выдаёт nopermission на белой странице.

Вставьте в нaчало шаблона:

<php>print $settings['this_url'];exit;</php>

И скопируйте сюда url, что там в окне будет.

 

P.S. Возможно, ещё потребуются правки яваскрипт, html кнопки "Быстрый вход" и аякс-обработчика.

P.P.S. Правку в 6-ом сообщении ещё раз отредактировал, пробуйте. Замену строки, с вызовом шаблона "quickLoginForm()", нужно делать в обоих файлах quickLogin.php.

  • Автор

P.P.S. Правку в 6-ом сообщении ещё раз отредактировал, пробуйте. Замену строки, с вызовом шаблона "quickLoginForm()", нужно делать в обоих файлах quickLogin.php.

Вот! Правка помогла + замена строки именно в двух файлах. Спасибо.

Вот! Правка помогла + замена строки именно в двух файлах. Спасибо.
Помогло то, что я влез на ваш форум, посмотрел яваскрипт и код кнопки. Заливать нужно было полный архив с модификацией, а не один шаблон сиротливый.

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

Аккаунт

Навигация

Поиск

Поиск

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

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