Re: PhpBBIdentity — авторизация юзеров PhpBB3
Добавлено: 2011.05.05, 16:07
Вот до этого я не добрался…
Форум Yii-программистов
https://yiiframework.ru/forum/
Код: Выделить всё
...
'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);
Обращаетесь.aZlo писал(а):RSol , большое спасибо за расширение очень сильно пригодилось.
Как в прочем и Sam Dark'у за авторизацию.
Код: Выделить всё
[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]
Код: Выделить всё
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]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); }
bzz писал(а):аа, все. разобрался.
еще бы как-нибуть сделать, что бы оно логинилось и на форуме сразу.
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',
),
вспомните пожалуйста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); }
Код: Выделить всё
echo Yii::app()->phpBB->login($this->username,$original_pas);
exit;
Код: Выделить всё
$this->init(false);
$user->session_begin();
Набрался смелости и написал модуль для интеграции в Yii с использование вашего расширения.RSol писал(а):Попробуйте сами разобраться и потом отписать здесь, я буду преочень благодарен.
Код: Выделить всё
$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']);
}
PhpBBIdentity не работает с русскими никами. Пишет неправильное имя пользователя или пароль.Sam Dark писал(а):Очень сырая, но всё-таки рабочая версия нестандартного UserIdentity для авторизации через базу PhpBB3.