我有一个安装了2个论坛的phpbb3留言板 -
每个人都可以看到公共论坛,但只有特定的群组才能看到私人论坛。
什么是和哪里存储的变量是什么,phpbb用来区分私人论坛和公共论坛?
谢谢!
答案 0 :(得分:3)
通常,论坛可见性基于两件事:
您可以在管理界面中找到此控件。在“论坛权限”中,您将看到具有某种角色的组列表,这些组将允许他们至少看到论坛(右上方框)。在“管理组”或单个用户管理下,您将能够看到哪个用户属于哪个组。
虽然必要时可以控制更精细的颗粒,但这是正常的基本设置。如果用户在一个组中,并且该组有权查看该论坛(该组具有可以看到它的“角色”),则该用户可以看到该论坛。
没有一个变量可以控制它。组和论坛权限存在于数据库中。
虽然有很多不同的设置方法,但我猜测你正在寻找的“变量”可能是数据库表phpbb_acl_groups
,其中一行可以关联一个论坛(由来自forum_id
的{{1}}标识,其中包含一个角色(phpbb_forums
来自auth_role_id
)和一个群组(phpbb_acl_roles
来自group_id
。)
我认为这是我能给出的最佳答案,除非你能给我们更多细节(例如实际问题是什么......)
答案 1 :(得分:0)
根据马特的回答,我提出了这个问题:
SELECT f.forum_id, f.forum_name
FROM forums f
WHERE f.forum_type = 1 AND f.forum_id IN (
SELECT a.forum_id
FROM acl_groups a
WHERE a.group_id = 1 AND (a.auth_role_id <> 16)
)
这将选择不属于类别的论坛(f.forum_type = 1
),并且访问者未设置ROLE_FORUM_NOACCESS
(a.auth_role_id <> 16
)。
我已考虑添加f_read
选项(a.auth_option_id <> 20
),但这并没有改变我的情况。
我想知道这是不是一个坏主意:p