Взаимодействие с phpBB

KPD

Новичок
Взаимодействие с phpBB

Кто-нибудь сталкивался с такой задачей?

есть форум и сайт.
на сайте есть разделы которые будут доступны только для авторизованных пользователей, например писать комментарии к статьям и новостям.

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

Найч

Алгоритмик :-)
Так в чем проблема? Если хост один и тот же, просто проверяй куки на своем сайте от форума и выставляй, соответственно, какие требует форум.
 

KPD

Новичок
Вот, разобрался я с этим, но возникла новая проблема.

В скрипт сайта встроил следующий код:
PHP:
$location=$QUERY_STRING;

define('IN_PHPBB', true); 
define('PHPBB_INSTALLED', true); 
$phpbb_root_path = '/usr/home/lada/web/forum/'; 
include('forum/extension.inc'); 
include('forum/common.php'); 

$userdata = session_pagestart($user_ip, PAGE_LOGIN); 
init_userprefs($userdata);
в массике userdata - находяится вся инфа о пользователе, логин пароль и тд...в общем то что нужно.

Авторизация с формы сайта тоже работает.

Но возникла такая проблема, при вставке вышепривёденного кода пропадают все переменные, переданные скрипту...
но в массиве $HTTP_GET_VARS они есть...

как быть в этом случае?
из-за чего так происходит?

-~{}~ 13.01.05 12:17:

хм...:)
а вот и решение данной проблемы...все оказалось оч легко

в файлике common.php есть участок кода который убивает глобальные переменные, вот он

PHP:
if ((@$ini_val('register_globals') == '1' || strtolower(@$ini_val('register_globals')) == 'on'))
{
	$var_prefix = 'HTTP';
	$var_suffix = '_VARS';
	
	$test = array('_GET', '_POST', '_SERVER', '_COOKIE', '_ENV');

	foreach ($test as $var)
	{
		if (is_array(${$var_prefix . $var . $var_suffix}))
		{
			unset_vars(${$var_prefix . $var . $var_suffix});
			@reset(${$var_prefix . $var . $var_suffix});
		}

		if (is_array(${$var}))
		{
			unset_vars(${$var});
			@reset(${$var});
		}
	}

	if (is_array(${'_FILES'}))
	{
		unset_vars(${'_FILES'});
		@reset(${'_FILES'});
	}

	if (is_array(${'HTTP_POST_FILES'}))
	{
		unset_vars(${'HTTP_POST_FILES'});
		@reset(${'HTTP_POST_FILES'});
	}
}

Решение проблемы очень просто.
В скрипте сайта делаем так:
PHP:
define('IN_SITE', true);
а вышеприведённый участок кода исправляем так
PHP:
if ((@$ini_val('register_globals') == '1' || strtolower(@$ini_val('register_globals')) == 'on') && !defined('IN_PHPBB'))
вот и всё:)
Интеграция выполнена.
 
Сверху