PhpBBIdentity — авторизация юзеров PhpBB3
- samdark
- Администратор
- Сообщения: 9404
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Вот до этого я не добрался…
Нравится Yii? Давайте сделаем его лучше!.
- RSol
- Сообщения: 325
- Зарегистрирован: 2010.05.07, 08:36
- Откуда: Северодонецк, Украина
- Контактная информация:
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Сделал расширение которое умеет:
* login
* logout
* user_add
* user_delete
* change_password
* user_update
* loggedin
Подключение в секции компонентов:
Использование:
и.т.д.
P.S. Для корректной работы необходимо в настройках форума "Общие - Регистрация пользователей" отключить опцию "Активация аккаунта".
* 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. Для корректной работы необходимо в настройках форума "Общие - Регистрация пользователей" отключить опцию "Активация аккаунта".
- Вложения
-
- phpBB.7z
- папка компонента
- (3.02 КБ) 718 скачиваний
Re: PhpBBIdentity — авторизация юзеров PhpBB3
RSol , большое спасибо за расширение очень сильно пригодилось.
Как в прочем и Sam Dark'у за авторизацию.
Как в прочем и Sam Dark'у за авторизацию.
- RSol
- Сообщения: 325
- Зарегистрирован: 2010.05.07, 08:36
- Откуда: Северодонецк, Украина
- Контактная информация:
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Обращаетесь.aZlo писал(а):RSol , большое спасибо за расширение очень сильно пригодилось.
Как в прочем и Sam Dark'у за авторизацию.

Re: PhpBBIdentity — авторизация юзеров PhpBB3
RSol, не получается воспользоваться твоим расширением:
1. Форум на sqlite 3.0.9, инсталл чистый. Регистрация пользователей выключена.
2. Когда делаю вызов user_add(передаю первые 3 параметра), сначала такой набор ошибок(файлы на месте и доступ к ним тоже):
3. Но пользователь на форум добавляется(возможно криво, обычный логин на форуме не срабаывает пароль в user_add() на прямую пишу "123456"), дальнейший автологин через login ествественно тоже не срабатывает из-за ошибок.
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]
- RSol
- Сообщения: 325
- Зарегистрирован: 2010.05.07, 08:36
- Откуда: Северодонецк, Украина
- Контактная информация:
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Была у меня как-то такая проблема.
Как решил убей не помню...
Попробуйте вот так:
хотя не уверен
Как решил убей не помню...

Попробуйте вот так:
Код: Выделить всё
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
Спасибо, на счет импорта думал не самое лучшее решение, потому что мало ли что оно там еще захочет подключить, Yii::import('webroot. ... .utf_normalizer') убрал warnings, теперь видимо осталась проблема самого phpBB с sqlite -> SQL logic error or missing database [1]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
Вобщем с sqlite не будет работать.
- usualdesigner
- Сообщения: 119
- Зарегистрирован: 2011.08.08, 13:23
- Откуда: Киев, Украина
- Контактная информация:
Re: PhpBBIdentity — авторизация юзеров PhpBB3
bzz писал(а):аа, все. разобрался.
еще бы как-нибуть сделать, что бы оно логинилось и на форуме сразу.
Подскажи, КАК разобрался? А то у меня проблема аналогичная, победить не могу никак...все это же сообщение "Конфигурация объекта должна быть представлена массивом, содержащим элемент "class". " Тут подробно http://img1.uploadscreenshot.com/images ... 7-orig.png
Re: PhpBBIdentity — авторизация юзеров PhpBB3
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',
),
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Не помогает (база 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); }
joomla->drupal->yii
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Проблема в том, что экстеншн цепляет class User (от phpbb), но класс User уже используется в проекте. И тут ошибка возникает
joomla->drupal->yii
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Может кто-нибудь подскажет как сделать совместную авторизацию Yii и phpBB?
Re: PhpBBIdentity — авторизация юзеров PhpBB3
RSol, спасибо за расширение. Такой вопрос: у меня нормально работают функции: user_add, user_delete, change_password, user_update,
а с login, logout, loggedin проблемы. Что может быть причиной? Никаких ошибок я не получаю. Если при авторизации сделать:
Результат будет SUCCESS. Но при переходе в форум пользователь не авторизован.
Соответственно при logout - не выходит, а loggedin возвращает FAIL даже если я авторизовался напрямую через форум.
а с login, logout, loggedin проблемы. Что может быть причиной? Никаких ошибок я не получаю. Если при авторизации сделать:
Код: Выделить всё
echo Yii::app()->phpBB->login($this->username,$original_pas);
exit;
Соответственно при logout - не выходит, а loggedin возвращает FAIL даже если я авторизовался напрямую через форум.
- RSol
- Сообщения: 325
- Зарегистрирован: 2010.05.07, 08:36
- Откуда: Северодонецк, Украина
- Контактная информация:
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Я уже совсем не помню, что там было и как. И, к сожалению, совершенно нет времени на разбор полета. 
Мне часто пишут и в личку по поводу этого расширения, но ....
Попробуйте сами разобраться и потом отписать здесь, я буду преочень благодарен.

Мне часто пишут и в личку по поводу этого расширения, но ....
Попробуйте сами разобраться и потом отписать здесь, я буду преочень благодарен.

Re: PhpBBIdentity — авторизация юзеров PhpBB3
У меня проблемы возникали по двум причинам:
1) Неправильно настроенные куки на форуме ( неверно указанный домен)
2) Использование функции loggedin(). Если её не вызывать - всё работает отлично. Но при её вызове в куках изменяется ид юзера, и на форум попадаю неавторзованным. Думаю, эти строчки к этому причастны:
Вместо loggedin() юзаю Yii::app()->user->isGuest
1) Неправильно настроенные куки на форуме ( неверно указанный домен)
2) Использование функции loggedin(). Если её не вызывать - всё работает отлично. Но при её вызове в куках изменяется ид юзера, и на форум попадаю неавторзованным. Думаю, эти строчки к этому причастны:
Код: Выделить всё
$this->init(false);
$user->session_begin();
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Набрался смелости и написал модуль для интеграции в Yii с использование вашего расширения.RSol писал(а):Попробуйте сами разобраться и потом отписать здесь, я буду преочень благодарен.
Re: PhpBBIdentity — авторизация юзеров PhpBB3
Я вот так вышел из положения.
Код: Выделить всё
$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
PhpBBIdentity не работает с русскими никами. Пишет неправильное имя пользователя или пароль.Sam Dark писал(а):Очень сырая, но всё-таки рабочая версия нестандартного UserIdentity для авторизации через базу PhpBB3.
Как решить эту проблему?