Страница 1 из 2

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2011.05.05, 16:07
samdark
Вот до этого я не добрался…

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2011.05.18, 17:21
RSol
Сделал расширение которое умеет:
* login
* logout
* user_add
* user_delete
* change_password
* user_update
* loggedin

Подключение в секции компонентов:

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

...
        'phpBB'=>array(
            'class'=>'ext.phpBB.phpBB',
            'path'=>dirname(dirname(dirname(__FILE__))).'/forum/',
            'php'=>'php',//default
            'user_table'=>'phpbb_users',//default
        ),
...
 
Использование:

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

Yii::app()->phpBB->login($user->phpBBLogin,$this->password);
 
и.т.д.

P.S. Для корректной работы необходимо в настройках форума "Общие - Регистрация пользователей" отключить опцию "Активация аккаунта".

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2011.08.03, 01:11
aZlo
RSol , большое спасибо за расширение очень сильно пригодилось.
Как в прочем и Sam Dark'у за авторизацию.

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2011.08.03, 07:48
RSol
aZlo писал(а):RSol , большое спасибо за расширение очень сильно пригодилось.
Как в прочем и Sam Dark'у за авторизацию.
Обращаетесь. :-)

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2011.08.09, 20:21
Stepan
RSol, не получается воспользоваться твоим расширением:

1. Форум на sqlite 3.0.9, инсталл чистый. Регистрация пользователей выключена.
2. Когда делаю вызов user_add(передаю первые 3 параметра), сначала такой набор ошибок(файлы на месте и доступ к ним тоже):

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

[phpBB Debug] PHP Warning: in file /home/yii-1.1.8/framework/YiiBase.php on line 421: include(utf_normalizer.php) [function.include]: failed to open stream: No such file or directory
[phpBB Debug] PHP Warning: in file /home/yii-1.1.8/framework/YiiBase.php on line 421: include() [function.include]: Failed opening 'utf_normalizer.php' for inclusion (include_path='.....')

General Error
SQL ERROR [ sqlite ]

SQL logic error or missing database [1]
 
3. Но пользователь на форум добавляется(возможно криво, обычный логин на форуме не срабаывает пароль в user_add() на прямую пишу "123456"), дальнейший автологин через login ествественно тоже не срабатывает из-за ошибок.

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2011.08.10, 11:44
RSol
Была у меня как-то такая проблема.

Как решил убей не помню... :-(

Попробуйте вот так:

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

public function init()
    {
        if(!$this->path)
            throw new CException("Don't set forum path");

        Yii::import($this->path.'/includes/utf/utf_normalizer.php');

        $this->_phpbb = new phpbbClass($this->path, $this->php);
    } 
хотя не уверен

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2011.08.10, 15:12
Stepan
RSol писал(а):Была у меня как-то такая проблема.

Как решил убей не помню... :-(

Попробуйте вот так:

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

public function init()
    {
        if(!$this->path)
            throw new CException("Don't set forum path");

        Yii::import($this->path.'/includes/utf/utf_normalizer.php');

        $this->_phpbb = new phpbbClass($this->path, $this->php);
    } 
Спасибо, на счет импорта думал не самое лучшее решение, потому что мало ли что оно там еще захочет подключить, Yii::import('webroot. ... .utf_normalizer') убрал warnings, теперь видимо осталась проблема самого phpBB с sqlite -> SQL logic error or missing database [1]

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2011.08.10, 19:11
Stepan
Вобщем с sqlite не будет работать.

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2011.12.16, 11:16
usualdesigner
bzz писал(а):аа, все. разобрался.
еще бы как-нибуть сделать, что бы оно логинилось и на форуме сразу. :)

Подскажи, КАК разобрался? А то у меня проблема аналогичная, победить не могу никак...все это же сообщение "Конфигурация объекта должна быть представлена массивом, содержащим элемент "class". " Тут подробно http://img1.uploadscreenshot.com/images ... 7-orig.png

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2012.01.19, 23:06
Werewolf
usualdesigner писал(а):Подскажи, КАК разобрался? А то у меня проблема аналогичная, победить не могу никак...все это же сообщение "Конфигурация объекта должна быть представлена массивом, содержащим элемент "class". " Тут подробно http://img1.uploadscreenshot.com/images ... 7-orig.png

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

'forumDb'=>array(
            'connectionString' => 'mysql:host=localhost;dbname=phpbb',
            'emulatePrepare' => true,
            'username' => 'phpbb',
            'password' => 'пароль',
            'charset' => 'utf8',
            'tablePrefix' => '',
            'class' => 'CDBConnection',
        ),
 
Вот тут нужно не забыть class указать, так впрочем для всех новых соединений с базой в Yii.

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2012.04.17, 09:38
jedi
интересно

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2012.04.17, 14:47
jedi
Не помогает (база MySQL)
RSol писал(а):Была у меня как-то такая проблема.

Как решил убей не помню... :-(

Попробуйте вот так:

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

public function init()
    {
        if(!$this->path)
            throw new CException("Don't set forum path");

        Yii::import($this->path.'/includes/utf/utf_normalizer.php');

        $this->_phpbb = new phpbbClass($this->path, $this->php);
    } 
вспомните пожалуйста

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2012.04.18, 15:28
jedi
Проблема в том, что экстеншн цепляет class User (от phpbb), но класс User уже используется в проекте. И тут ошибка возникает

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2012.04.27, 11:40
Kuklovod
Может кто-нибудь подскажет как сделать совместную авторизацию Yii и phpBB?

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2012.09.10, 12:26
swoop
RSol, спасибо за расширение. Такой вопрос: у меня нормально работают функции: user_add, user_delete, change_password, user_update,
а с login, logout, loggedin проблемы. Что может быть причиной? Никаких ошибок я не получаю. Если при авторизации сделать:

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

echo Yii::app()->phpBB->login($this->username,$original_pas);
exit; 
Результат будет SUCCESS. Но при переходе в форум пользователь не авторизован.
Соответственно при logout - не выходит, а loggedin возвращает FAIL даже если я авторизовался напрямую через форум.

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2012.09.10, 12:32
RSol
Я уже совсем не помню, что там было и как. И, к сожалению, совершенно нет времени на разбор полета. :-(

Мне часто пишут и в личку по поводу этого расширения, но ....

Попробуйте сами разобраться и потом отписать здесь, я буду преочень благодарен. :-)

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2012.09.10, 22:18
swoop
У меня проблемы возникали по двум причинам:
1) Неправильно настроенные куки на форуме ( неверно указанный домен)
2) Использование функции loggedin(). Если её не вызывать - всё работает отлично. Но при её вызове в куках изменяется ид юзера, и на форум попадаю неавторзованным. Думаю, эти строчки к этому причастны:

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

$this->init(false);
$user->session_begin();
Вместо loggedin() юзаю Yii::app()->user->isGuest

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2013.01.04, 19:42
ElisDN
RSol писал(а):Попробуйте сами разобраться и потом отписать здесь, я буду преочень благодарен. :-)
Набрался смелости и написал модуль для интеграции в Yii с использование вашего расширения.

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2013.01.05, 11:02
Zzevvsess
Я вот так вышел из положения.

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

    $post_data = array(
        'username' => $arr[0],
        'password' => $arr[1],
        'autologin' => 1,
        'login' => 'Вход',
        'redirect' => 'index.php',
        'sid' => 'dae7a979b7814c37be6e0734af1acc4f',
        );
    
    $ch = curl_init();
    // Стандартные настройки
    curl_setopt($ch, CURLOPT_URL, 'http://'.$_SERVER['HTTP_HOST'].'/forum/ucp.php?mode=login');
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT,
        'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
    
    
    // указываем, что у нас POST запрос и передаем массив с данными
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    
    // получаем HTML в качестве результата
    $output = curl_exec($ch);
    // закрываем соединение 
    curl_close($ch);
    
    // Парс куков
    // Устанавливаю куки
            preg_match_all('#phpbb3_mr7se_k=([A-z0-9]+);#',$output,$out);
            foreach($out[1] as $item){
                setcookie('phpbb3_mr7se_k',$item,time()+(60*60*24*30),'/',$_SERVER['HTTP_HOST']);
            }
            preg_match_all('#phpbb3_mr7se_u=([A-z0-9]+);#',$output,$out);
            foreach($out[1] as $item){
                setcookie('phpbb3_mr7se_u',$item,time()+(60*60*24*30),'/',$_SERVER['HTTP_HOST']);
            }
            preg_match_all('#phpbb3_mr7se_sid=([A-z0-9]+);#',$output,$out);
            foreach($out[1] as $item){
                setcookie('phpbb3_mr7se_sid',$item,time()+(60*60*24*30),'/',$_SERVER['HTTP_HOST']);
            } 

Re: PhpBBIdentity — авторизация юзеров PhpBB3

Добавлено: 2013.04.20, 07:43
frazelli
Sam Dark писал(а):Очень сырая, но всё-таки рабочая версия нестандартного UserIdentity для авторизации через базу PhpBB3.
PhpBBIdentity не работает с русскими никами. Пишет неправильное имя пользователя или пароль.
Как решить эту проблему?