index 4871a710dc9c96111d7a014aa41b1ba73b6be622..8f24af3399412b74debcef9f1c6a407b605cd248 100644 (file)
function check_access($aclname)
{
- $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);
}
-
- if(preg_match("/\//",$aclname)){
+
+ foreach($acls_to_check as $acl_to_check){
+ $deps = $this->ui->get_module_departments($acl_to_check);
foreach($deps as $dep){
- foreach($acls_to_check as $acl_to_check){
+ if(preg_match("/\//",$acl_to_check)){
if($this->ui->get_permissions($dep,$acl_to_check) != ""){
return(TRUE);
}
- }
- }
- }else{
- foreach($deps as $dep){
- foreach($acls_to_check as $acl_to_check){
+ }else{
if($this->ui->get_category_permissions($dep,$acl_to_check) != ""){
return(TRUE);
}
if(count($this->headlines) == 0){
foreach($this->config->data['MENU'] as $headline => $plugins){
foreach( $plugins as $id => $plug){
- $attrs = (get_class_vars($plug['CLASS']));
- $ret[$id]['HEADLINE'] = $headline;
- $ret[$id]['NAME'] = $attrs['plHeadline'];
+ if (plugin_available($plug['CLASS'])){
+ $attrs = (get_class_vars($plug['CLASS']));
+ $ret[$id]['HEADLINE'] = $headline;
+ $ret[$id]['NAME'] = $attrs['plHeadline'];
+ }
}
}
$this->headlines = $ret;
/* Read information from class variable */
if (!isset($info['CLASS'])){
- print_red(_("Your gosa.conf format has changed. Please re-run setup!"));
+ msg_dialog::display(_("Configuration error"), _("The configuration format has changed. Please re-run setup!"), ERROR_DIALOG);
display_error_page();
}
+ if (!plugin_available($info['CLASS'])){
+ continue;
+ }
$vars= get_class_vars($info['CLASS']);
$plHeadline= $vars['plHeadline'];
$plDescription= $vars['plDescription'];
foreach ($plug as $info){
+ if (!plugin_available($info['CLASS'])){
+ continue;
+ }
+
/* Read information from class variable */
$vars= get_class_vars($info['CLASS']);
$plHeadline= $vars['plHeadline'];