gpt4 book ai didi

joomla - 在 joomla 2.5 中实现新类型的 ACL

转载 作者:行者123 更新时间:2023-12-04 05:32:40 25 4
gpt4 key购买 nike

我正在创建一个用于管理潜在客户的组件[从前端提交潜在客户或客户潜在客户],在这个组件中我想实现一个像这样的 ACL。

我的客户要求...

SuperAdmin
|— Manager
|—|— Administrator

考虑 Administrator在下 Manager .请不要与joomla默认ACL比较。

所有线索都显示给 super 管理员。 super 管理员会将线索分配给其他用户。

如果登录用户是 Manager ,他可以看到所有在 Manager下的用户线索群& Administrator组。

如果登录用户是 Administrator , 他没有权限查看其他线索,因为管理员没有任何子组,它是最后一个组。

我正在使用以下查询
$query->select( 'c.id as groupid,c.title AS group_name');
$query->from('#__usergroups AS c');
$query->join('LEFT', '#__usergroups AS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt)' );
$query->where('s.id = "'.$UG.'"');
$query->order('c.lft');
$db->setquery($query);
$gids = $db->loadResultArray();
$gids = implode(",",$gids);
$UG => 登录用户 groupid。

如果登录用户是 Manager , $UG6
输出
 groupid    group_name
1 Public
6 Manager
7 Administrator

如果登录用户是 Administrator , $UG7 .它也返回相同的答案......我想要输出

如果 Manager登录

输出将为
 groupid    group_name
6 Manager
7 Administrator

如果 Administrator登录

输出将为
 groupid    group_name
7 Administrator

或空

任何人请帮助我....

最佳答案

最后我找到了答案

添加行 AND s.lft <= c.lft AND s.rgt >= c.rgt where条件

$query->select( 'c.id as groupid,c.title AS group_name');
$query->from('#__usergroups AS c');
$query->join('LEFT', '#__usergroups AS s ON (s.lft <= c.lft AND s.rgt >= c.rgt) OR (s.lft > c.lft AND s.rgt < c.rgt)' );
$query->where('s.id = "'.$UG.'" AND s.lft <= c.lft AND s.rgt >= c.rgt ');
$query->order('c.lft');
$db->setquery($query);
$gids = $db->loadResultArray();

enter image description here

关于joomla - 在 joomla 2.5 中实现新类型的 ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12383284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com