在Joomla 2.5.16中:
- 假设用户 100 属于用户组 14 和 16。
- 假设他当前正在查看的页面的访问权限级别 ID 为 6。
- 根据MySQL数据库中的"视图级别"表,访问级别6可用于组8,16和17
我的目标是为此页面找到"正确"的用户组。由于用户属于 2 个用户组,其中一个 (16) 包含在允许查看此页面的组数组中,因此如何查询数据库以查找该组?
我试过了:
$usr_id=100;
$access=6;
$query(SELECT rules from 'viewlevels' WHERE ???);
表视图级别的结构如下:
ID | rules
6 |[8,16,17]
表 user_usergroup_map 的结构如下:
User_id |Group_id
100 |14
100 |16
有什么帮助吗?
SELECT * FROM `#__viewlevels` AS `a`
INNER JOIN `#__usergroups` AS `b`
ON `a`.`rules` LIKE CONCAT('%',b.id,'%')
INNER JOIN `#__user_usergroup_map` AS `m`
ON m.group_id=b.id
WHERE m.user_id = 100