index 78f290597c1f17b13ff3a55e0b1f2531a85e7864..fd6fac1548084fe369ed5db1a36adccd8727d6ce 100644 (file)
return ($list);
}
- function check_access($modname)
+ function check_access($aclname)
{
- /* This plugin is readable for everyone, return true */
- if ($modname == 'default'){
- return (TRUE);
+ $acl = "";
+ $deps = $this->ui->get_module_departments($aclname);
+
+ $acls_to_check = array();
+ if(preg_match("/,/",$aclname)){
+ $acls_to_check = split(",",$aclname);
+ }else{
+ $acls_to_check = array($aclname);
}
-
- /* Look through ACL's */
- foreach($this->ui->subtreeACL as $arr){
- foreach($arr as $value){
- if ($value == ':all' || preg_match("/[,:]$modname#/", $value)){
- if (!preg_match('/^!/', $value)){
- return (TRUE);
- }
+
+ if(preg_match("/\//",$aclname)){
+ foreach($deps as $dep){
+ foreach($acls_to_check as $acl_to_check){
+ $acl.=$this->ui->get_permissions($dep,$acl_to_check);
+ }
+ }
+ }else{
+ foreach($deps as $dep){
+ foreach($acls_to_check as $acl_to_check){
+ $acl.=$this->ui->get_category_permissions($dep,$acl_to_check);
}
}
}
-
+ if($acl != ""){
+ return (TRUE);
+ }
return (FALSE);
}
$href= "main.php?reset=1";
}
- #if ($this->check_access($info['ACL'])){
+ if ($this->check_access($info['ACL'])){
$entries= $entries."<p class=\"menuitem\" ".
"onClick='return question(\""._("You are currently editing a database entry. Do you want to dismiss the changes?")."\", \"$href\");'>";
if(!isset($_SESSION['maxC'])){
$_SESSION['maxC'] = "RO0K9CzEYCSAAOtOICCFhEDBKGSKANyHMKDHAEwFLNTJILwEMODJYPgMRA0F9IOPSPUKNEVCUKyDBAHNbIWFJOIP";
}
- #}
+ }
}
/* Append to menu */
}
- #if ($this->check_access($info['ACL'])){
+ if ($this->check_access($info['ACL'])){
/* Hm this looks doubled */
$image= get_template_path('images/'.$info['ICON']);
$entries.= "</td>\n";
$col++ ;
- #}
+ }
}
/* Append to menu */