Перейти к публикации
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

(STR34) IPB 3.4.9 VK Login

Опубликовано:

index.php?app=downloads&module=display&section=screenshot&id=333

Имя файла: (STR34) IPB 3.4.9 VK Login

Владелец файла: Strategius

Файл размещен: 14 Ноя 2016

Файл обновлен: 28 Ноя 2016

Категория файла: Mods/Моды

 

Авторизация с помощью Вконтакте для IPB 3.4.9.

Модуль является извлечением авторизации из локализации от IBResource с адаптацией под последнюю версию IPB 3 (3.4.9).

 

Подготовлено специально для IPBSkins.ru

 

Установка:

 

1. Скопировать файлы из папки upload в корень форума с заменой.

2. Установить хук VK_Forms.xml с формой, отвечающей за вывод кнопок авторизации.

3. Админцентр -> Системные настройки -> Импортировать файл Setting_Integration.xml с настройками (внизу страницы).

4. Добавить языковые строки из файла VK_Lang_RU.txt (редактировать свой языковой пакет).

 

P.S. - Публикация релиза на сторонних ресурсах без согласия автора запрещена!

 

Нажмите сюда, чтобы скачать этот файл

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

Опубликовано:

Посмотрите что в $result.

Как?

Опубликовано:
Как?

Например, var_dump

Вы же, судя по постам, работаете с php :)

В /ips_kernel/vkontakte/OAuth2Client.php до

parent::__construct($message, $code);

добавить

var_dump($result); exit;

Войти с помощью ВК для получения информации.

Опубликовано:

array(1) { ["error"]=> array(3) { ["error_code"]=> int(8) ["error_msg"]=> string(40) "Invalid request: v (version) is required" ["request_params"]=> array(4) { [0]=> array(2) { ["key"]=> string(5) "oauth" ["value"]=> string(1) "1" } [1]=> array(2) { ["key"]=> string(6) "method" ["value"]=> string(11) "getProfiles" } [2]=> array(2) { ["key"]=> string(4) "uids" ["value"]=> string(8) "***" } [3]=> array(2) { ["key"]=> string(6) "fields" ["value"]=> string(93) "uid,first_name,last_name,nickname,photo,photo_medium,photo_big,timezone,sex,nickname,activity" } } } }

Ругается на какую то версию

 

Работаю с php на уровне самоучки, вардамп тыкал, но чуть не в то место и без exit, по этому и выхлопа не получилось)

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

Опубликовано:

$message = $result['error'];

заменить на

$message = $result['error']['error_msg'];

Ругается на какую то версию

https://vk.com/dev/api_requests

V (обязательно) — используемая версия API.
Опубликовано:

$message = $result['error'];

заменить на

$message = $result['error']['error_msg'];

 

Ничего не изменилось

Опубликовано:
Ничего не изменилось
Что именно не изменилось? Ошибка старая осталась?
Опубликовано:

Да, точно такая же ошибка

Опубликовано:

Да, точно такая же ошибка

Посмотрите снова, что в переменных $message и $code

 

Я на тестовом борде проверил. Ошибки нет.

Чтобы добавить необходимый параметр, выше

$result = json_decode($this->makeOAuth2Request(

добавить

$params['v'] = '5.73';

 

А хендлер работает корректно? Я во время тестов не нашел ключа uid (который записывается в таблицу members в колонку vk_uid) в ответе и в документации нет ничего подобного.

Есть id.

Если авторизовываться, то создаются дубли

Опубликовано:
  • Автор
На 3.4.6 подойдёт это мод?

Нет, только для 3.4.9.

 

@newbie, действительно, перестала работать авторизация( Как исправить, не подскажете? Без нее совсем никак :(

Опубликовано:

newbie, действительно, перестала работать авторизация( Как исправить, не подскажете? Без нее совсем никак

 

Я же написал,что возвращается id, а не uid. Нужно найти, где используется ключ и заменить.

Как вариант, добавить этот ключ. В методе api до

    return $result;

добавить

	if (isset($result['response']) and is_array($result['response']))
{
	foreach ($result['response'] as &$res)
	{
		$res['uid'] = $res['id'];
	}
}

Опубликовано:

Посмотрите снова, что в переменных $message и $code

 

Я на тестовом борде проверил. Ошибки нет.

Чтобы добавить необходимый параметр, выше

$result = json_decode($this->makeOAuth2Request(

добавить

$params['v'] = '5.73';

 

А хендлер работает корректно? Я во время тестов не нашел ключа uid (который записывается в таблицу members в колонку vk_uid) в ответе и в документации нет ничего подобного.

Есть id.

Если авторизовываться, то создаются дубли

Теперь форум выдает системную ошибку

Извините, вы не имеете доступа к этому!

[#1090194]

Возникла ошибка при попытке проверки соединения с VKontakte

Опубликовано:

Теперь форум выдает системную ошибку

Дальше цитируемого поста читали тему про uid и id?

Опубликовано:

Каюсь, нет :D

Делал по порядку.

Вроде помогло.Спасибо

Так что они изменили то?

Версию требуется указать или что (про id \ uid не понял разницы)

Опубликовано:

Так что они изменили то?

1. Теперь при работе с api нужно указывать версию. Пост №24

2. В коде в нескольких местах фигурирует uid

Например,

$_member = IPSMember::load( $_userData['uid'], 'all', 'vk_uid' );

Но в массиве $_userData нет ключа uid. Есть только id. Поэтому, если в бд есть пользователь с vk_uid равным 12345, и мы попытаемся загрузить о нем информацию, получив от ВК данные, где есть id 12345, то получим, что юзера нет.

Версию требуется указать или что (про id \ uid не понял разницы)

Версию указать и изменить uid на id или добавить uid со значением равным значению id.
Опубликовано:
  • Автор

@newbie, спасибо Вам огромное! Что без Вас делали бы... Разрабы ВК молодцы, конечно, хотя бы в блоге написали об этом.

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.