phpbb проверяет, что пользователь вошел в систему на пользовательской странице php

Я запускаю частный форум phpbb 3.0.12 и ссылаюсь на страницу с именем videochat.php, на которой есть флэш-страница, подключенная к серверу rtmfp. Я хотел бы убедиться, что человек, посещающий videochat.php, вошел в систему и зарегистрирован (любой уровень доступа, кроме гостевого), иначе он перенаправит их на www.domain.com. Если участник зарегистрирован, я бы хотел установить переменную с именем $videochatusername. Спасибо!

videochat.php (ссылка с форума на эту страницу) -> domain.com/forum/videochat.php корневой каталог форума -> domain.com/forum/

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '/forum';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.'.$phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);

if ($user->data['user_id'] == ANONYMOUS)
{
echo('NOT LOGGEDIN');
}
else{
include($phpbb_root_path.'config.'.$phpEx);

// test echo
echo $user->data['username'];

?>

person EEEE    schedule 22.04.2014    source источник
comment
обновлено, извините, у меня были проблемы с форматированием сообщения   -  person EEEE    schedule 22.04.2014
comment
Пожалуйста, не портите свой пост таким образом. Я откатил его назад. Если вам больше не нужна помощь, вы можете удалить сообщение.   -  person Chris    schedule 22.04.2014
comment
Эй, чувак, не сдавайся :) Теперь вопрос в порядке +1! Для вашего следующего вопроса обязательно прочитайте Как спросить. Удачи!   -  person brasofilo    schedule 22.04.2014


Ответы (2)


В phpBB 3.3.2:

<!-- IF S_USER_LOGGED_IN -->
     ...do something...
     ...you can even run php by this...
<!-- ELSE -->
     ...if user is not logged in...
<!-- ENDIF -->

РЕДАКТИРОВАТЬ: для запуска php вам нужно включить его в настройках администратора.

<!-- IF S_USER_LOGGED_IN -->
     ...do something...
     <!-- PHP -->
          ...php code...
     <!-- ENDPHP -->

<!-- ELSE -->
     ...if user is not logged in...
<!-- ENDIF -->
person superbox    schedule 06.12.2020

Ваш код близок к функциональному. Попробуй это:

if ($user->data['username'] == 'Anonymous')
{
    // User is not logged in/registered
    // Your redirect code can go here if you haven't output anything to the browser
}

Разница в том, что 'Anonymous' заключен в кавычки, а не является константой, как в вашем коде.

Если вы добавите блок else к этому if, вы можете установить свою переменную $videochatusername

else
{
    $videochatusername = $user->data['username'];
}
person Andy♦    schedule 22.04.2014