Php JOOMLA 2.5检查用户是否属于某个组
我在用这个工具检查一个用户是否属于一个叫出纳员的组 作用我似乎做得不对Php JOOMLA 2.5检查用户是否属于某个组,php,joomla2.5,Php,Joomla2.5,我在用这个工具检查一个用户是否属于一个叫出纳员的组 作用我似乎做得不对 function isMember($userid,$group){ $privGroups = array('Administrator', 'Super Users'); // Always return true for these if(is_array($group))$mygroup = $group; else $mygroup[0]=$group; $j=0; $n=count($mygroup);
function isMember($userid,$group){
$privGroups = array('Administrator', 'Super Users'); // Always return true for these
if(is_array($group))$mygroup = $group;
else $mygroup[0]=$group;
$j=0;
$n=count($mygroup);
for($i=count($mygroup); $i<($n+count($privGroups)); $i++) {
$mygroup[$i] = $privGroups[$j]; // Add "always" admins to argument admins
$j++;
}
// DB access credentials: $db, $dbhost, $login, and $pw need to be defined here
$link = mysql_connect($this->DB_HOST, $this->DB_USER, $this->DB_PASS)
or die("Could not connect : " . mysql_error());
mysql_select_db($this->DB_NAME) or die("Could not select database");
// extract all groups user's a member of
$query = "Select q.title FROM (#__user_usergroup_map as p)
LEFT JOIN (#__usergroups as q)
on p.group_id=q.id
WHERE p.user_id=$userid;";
// remove prefix etc.
$SQL = $this->cleanSQL($query);
$res=mysql_query($SQL) or die('<p>Groups select query failed<br />' . mysql_error() . "<br />$SQL</p>");
if (mysql_num_rows($res) == 0) { // No groups? Then user clearly isn't a mamber of "$group"
if($termlink) mysql_close($link);
return false;
}
while ($line = mysql_fetch_array($res, MYSQL_ASSOC)) {
extract($line);
$userGroups[]=$title;
}
mysql_close($link); // Close link
for($i=0; $i<count($userGroups); $i++){
for($j=0; $j<count($mygroup); $j++) {
if(strtolower($userGroups[$i])==strtolower($mygroup[$j])) return true;
}
}
return false;
}
这不管用;它从某个地方失败了。
如果某个成员是给定组的一部分,是否有检查的快捷方式?有此快捷方式
in_array($group_id, $user->getAuthorisedGroups() )
所以你只需要知道你的组id并拥有一个用户对象。没关系,这个问题是由上一个mysql关闭链接引起的,当我把它注释掉后,模板和菜单开始显示这是否爬升到组树以检查父组的继承性?否,我不认为是这样。有没有joomla函数可以做到这一点?@Wobbles请看一看其中一个核心组件的代码,您正在寻找的是整个系统的一个常见功能。