Jump to content

Ошибки авторизации через соцсети


DarthOld
 Share

Recommended Posts

ИПБ 3.4.6

 

Через Фейсбук нормально

Через Стим (с хуком) нормально

 

А твиттер и вконтакт проблемы.

Например при попытки авторизоваться через твиттер:

 

Fatal error: Class 'darkLAE' not found in /admin/sources/classes/output/publicOutput.php on line 2046

darkLAE где положено лежит.

В пабликОутпут.пхп:

 

           if ( ! ipsRegistry::$settings['use_friendly_urls'] )
           {
                return $url;
           }

           if(darkLAE::$settings['url_transliteration']) {
                $seoTitle = IPSText::makeSeoTransliterate( $seoTitle );
           }

           $_template           = FALSE;
           $seoTitle          = ( ! empty( $seoTitle ) && ! is_array( $seoTitle ) ) ? array( $seoTitle ) : $seoTitle;
           $_seoTitleForCache = ( is_array( $seoTitle ) ) ? implode( ';', $seoTitle ) : '';
           $_md5               = md5($url.$_seoTitleForCache.$seoTemplate);
           $_s                   = '';

           $cached = $this->getCachedFurl($_md5);

           if(!is_null($cached))
           {
               return $cached;
           }

Link to comment
Share on other sites

Используйте нулл, класс которого darkLAE подключен не во всех файлах где используется ядро форума с отдельной точкой входа от index.php (интерфейсы социальных сетей). Эта ошибка говорит не о том, что не существует файл, а о том что не объявлен такой класс.

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

Link to comment
Share on other sites

/admin/sources/classes/output/publicOutput.php

 

Перед

	if(darkLAE::$settings['url_transliteration']) {
			$seoTitle = IPSText::makeSeoTransliterate( $seoTitle );
		}

Доабвить

	if(!class_exists('darkLAE')){
		require_once IPS_ROOT_PATH . 'sources/base/darkLAE.php';
	}

Link to comment
Share on other sites

Fatal error: Class 'darkLAE' not found in /admin/sources/classes/output/formats/html/htmlOutput.php on line 617

 

Другая теперь:

 if (!darkLAE::$settings['ipboard_copyright_showing'])

Link to comment
Share on other sites

/admin/sources/classes/output/formats/html/htmlOutput.php

 

Перед:

if (!darkLAE::$settings['ipboard_copyright_showing'])

Добавить:

if(!class_exists('darkLAE')){
	require_once IPS_ROOT_PATH . 'sources/base/darkLAE.php';
}

  • Upvote 1
Link to comment
Share on other sites

О, уже ошибка на фоне форума. )

 

Есть проблема с настройками вашего Twitter-приложения. Пожалуйста, убедитесь, что в приложении указан правильный callback URL

[#0,717734]

Link to comment
Share on other sites

Всё !!! Отлично! Через твиттер зашёл!!! +1

__________________________________________

 

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

 

И если через профиль пытаешься связать, то Fatal error: Call to a member function membersVkontakteConnect() on a non-object in /var/www/ipb346/upload/admin/applications/core/extensions/usercpForms.php on line 1021

Link to comment
Share on other sites

Разобрался. У меня хук авторизации ВКонтакта не стоит, я его похоже удалил, когда что то другое настраивал. А потом назад не поставил, потому что его нет на компе у меня. И скачать где найти не могу.

 

У кого есть?

Link to comment
Share on other sites

Вконтакте это не просто отдельный хук, а целая интеграция. У вас не все файлы соответствует типу дистрибутива (интегрирован он только в версиях от ибр), и начать следует с вышеуказанного файла в ошибке.

Link to comment
Share on other sites

membersVkontakteConnect это шаблон. Вот шаблоны добавляются через хук. Тут достаточно его переустановить из /admin/applications/core/xml/hooks/vkontakte.xml

Link to comment
Share on other sites

Все встало, интеграция как была. Первую стадию подключения продходит. Потом ошибка Fatal error: Call to undefined function curl_init() in /var/www/ipb346/upload/ips_kernel/vkontakte/OAuth2Client.php on line 456

 

цитата с 454 линии

protected function makeRequest($path, $method = 'GET', $params = array(), $ch = NULL) {
   if (!$ch)
     $ch = curl_init();

   $opts = self::$CURL_OPTS;
   if ($params) {
     switch ($method) {
       case 'GET':
         $path .= '?' . http_build_query($params, NULL, '&');
         break;
       // Method override as we always do a POST.
       default:
         if ($this->getVariable('file_upload_support')) {
           $opts[CURLOPT_POSTFIELDS] = $params;
         }
         else {
           $opts[CURLOPT_POSTFIELDS] = http_build_query($params, NULL, '&');

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...