Страница 5 из 10

Внешняя авторизация через соц сети [API, OAuth]

Добавлено: 26.01.2015, 21:07 #41
sanfunkdisco
Anvar, забыл в инструкции по обновлению про functions.php ;)
А так, спасибо за обновление в целом!

Внешняя авторизация через соц сети [API, OAuth]

Добавлено: 26.01.2015, 21:41 #42
Anvar
sanfunkdisco, Да, functions.php недавно добавил, до этого был hook, без правок.

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

[API, OAuth] Внешняя авторизация для phpBB3.0

Добавлено: 20.02.2015, 13:06 #43
ИринаСП
Подскажите пожалуйста: как отключить значок просмотра сайта пользователя в сообщениях тем под аватарами? Люди пришедшие из соцсетей не хотят чтобы данная информация была общедоступной. Но для одной группы пользователей (например номер 6)оставить этот значок.
Спасибо за помощь.

[API, OAuth] Внешняя авторизация для phpBB3.0

Добавлено: 21.02.2015, 09:03 #44
Anvar
Можно оставить только для определённого провайдера, например вконтакте.

Открыть: viewtopic.php
Find Найти содержимое с полным или частичным совпадением.

Код: Выделить всё

'ON'	=> 's.user_id = p.poster_id AND user_soc_type = ' . USER_ACTIVATION_NONE
Replace with Замените найденное выше, новым содержимым.

Код: Выделить всё

'ON'	=> 's.user_id = p.poster_id AND user_soc_provider = "vkontakte" AND user_soc_type = ' . USER_ACTIVATION_NONE
Список названий провайдеров в базе данных:
  • vkontakte
  • facebook
  • mailru
  • okru
  • yandex

[API, OAuth] Внешняя авторизация для phpBB3.0

Добавлено: 24.02.2015, 13:44 #45
ИринаСП
У меня нет такого кода((. У меня форум 3.0.11. Может есть еще решение?

[API, OAuth] Внешняя авторизация для phpBB3.0

Добавлено: 24.02.2015, 14:06 #46
Anvar
Не верно понял я, наверное имеется ввиду ссылки на аккаунт соц сети.

Открываете: includes/oAuth/oAuth_okru.php (В данном случае одноклассники).
Find Найти содержимое с полным или частичным совпадением.

Код: Выделить всё

'website'		=> 'http://www.ok.ru/profile/' . $socprofile['uid'],
Replace with Замените найденное выше, новым содержимым.

Код: Выделить всё

'website'		=> '',
И так для каждой соц сети.

Если предыдущая версия стоит, то править нужно файлы по такому пути root/includes/social/okru.api.php
Find Найти содержимое с полным или частичным совпадением.

Код: Выделить всё

$profile->website = 'http://www.odnoklassniki.ru/profile/'.$socprofile['uid'];
Replace with Замените найденное выше, новым содержимым.

Код: Выделить всё

$profile->website = '';

[API, OAuth] Внешняя авторизация для phpBB3.0

Добавлено: 20.04.2015, 15:11 #47
sanfunkdisco
Anvar, я опять с проблемой ВК. Не хочет он работать с file_get_contents.
curl у меня установлен. Если я выключаю в php.ini allow_url_fopen = 0, то phpbb пишет Не по­луче­ны дан­ные ак­ка­ун­та Вкон­такте, а в логах такое:

Код: Выделить всё

Страница: ucp.php?mode=vkontakte&code=******
Файл: [ROOT]/includes/oAuth/oAuth_vkontakte.php
Строка: 138
[PHP Warning]
file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0

Страница: ucp.php?mode=vkontakte&code=******
Файл: [ROOT]/includes/oAuth/oAuth_vkontakte.php
Строка: 138
[PHP Warning]
file_get_contents(https://api.vk.com/method/users.get?uids=607823&fields=uid,first_name,last_name,screen_name,sex,bdate,photo_medium&access_token=2f24d45bb28a04ac2354138c40e957703e0529f1404ff598636f233934415bb20e99ba55d538cc0138fc82d71aa2e): failed to open stream: no suitable wrapper could be found
Почему? Должен же использоваться curl, зачем ему allow_url_fopen?

[API, OAuth] Внешняя авторизация для phpBB3.0

Добавлено: 20.04.2015, 16:09 #48
Anvar
После обновления мода, файлы были заменены. file_get_contents() используется по умолчанию для запроса данных об аккаунте пользователя. Заменять глобально для всех нет смысла.

В файле oAuth_vkontakte.php
Find Найти содержимое с полным или частичным совпадением.

Код: Выделить всё

$socprofile = json_decode($this->build_url_query('https://api.vk.com/method/users.get', $params, true), true);
Replace with Замените найденное выше, новым содержимым.

Код: Выделить всё

$socprofile = json_decode($this->curl_post('https://api.vk.com/method/users.get', $params), true);
Это решение только для вашего случая. Аналогично может быть понадобится сделать для других соц сетей, если будет такая ошибка.

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

[API, OAuth] Внешняя авторизация для phpBB3.0

Добавлено: 20.04.2015, 16:43 #49
sanfunkdisco
Anvar, пришлось сменить для всех соцсетей. Только теперь аватарки не подгружаются :(

[API, OAuth] Внешняя авторизация для phpBB3.0

Добавлено: 20.04.2015, 16:58 #50
Anvar
А внешние ставятся? Можно проверить в личном разделе, обновив аккаунт.