Joomla:使用PHP从页面访问级别获取用户组


Joomla: get the user group from the page access level using PHP

在Joomla 2.5.16中:

  1. 假设用户 100 属于用户组 14 和 16。
  2. 假设他当前正在查看的页面的访问权限级别 ID 为 6。
  3. 根据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