Сейчас всё задаётся так:
Код: Выделить всё
// Start session management
$user->session_begin();
$auth->acl($user->data); Код: Выделить всё
// Start session management
$user->session_begin();
$auth->acl($user->data); 
Код: Выделить всё
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');
$test = $auth->acl_get_list(array(1, 2, 50), array('f_read'));
echo '<pre>';
print_r($test);
echo '</ pre>';
exit; Код: Выделить всё
Array
(
[3] => Array
(
[f_read] => Array
(
[0] => 2
)
)
[1] => Array
(
[f_read] => Array
(
[0] => 2
[1] => 1
[2] => 50
)
)
[2] => Array
(
[f_read] => Array
(
[0] => 2
[1] => 1
[2] => 50
)
)
) Код: Выделить всё
$user->session_begin();
$auth->acl($user->data); Код: Выделить всё
if ($auth->acl_get('f_list', $row['forum_id'])) 


Тогда вообще не понял вопроса. $user->data всегда привязана только к одному конкретному аккаунту.FladeX писал(а):user_id использовать тем более не вариант, так как привязка к конкретному аккаунту не нужна, это слишком неуниверсальное решение.

Это не будет для поисковых ботов. Еще раз: передаются данные только одного конкретного пользователя. Не для группы, не для нескольких пользователей, а только для одного.FladeX писал(а):$auth->acl($foo); - это пусть будет для поисковых ботов.

Я так думаю, что моё сообщение «Есть шаманский код проверки прав по роли» никто не видел...FladeX писал(а):А ведь есть роль "Доступ для бота", значит её как-то можно использовать.
Код: Выделить всё
SELECT (SELECT auth_setting FROM phpbb_acl_roles_data WHERE auth_option_id = (SELECT auth_option_id FROM phpbb_acl_options WHERE auth_option = "f_post") AND role_id = 19) | 0 as auth_setting