X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_pluglist.inc;h=ee593b34ba9b2a60c558783e523a4539d22cbe5d;hb=fccaf95b90012b6946d1c60dc7de21270921ddfc;hp=2709997ed86b1e780e023d74c366e7a45125bff9;hpb=5b2ded59a215aef9d9e7356814f599cc0359437c;p=gosa.git diff --git a/gosa-core/include/class_pluglist.inc b/gosa-core/include/class_pluglist.inc index 2709997ed..ee593b34b 100644 --- a/gosa-core/include/class_pluglist.inc +++ b/gosa-core/include/class_pluglist.inc @@ -74,36 +74,14 @@ class pluglist $this->info['all']['plDescription']= _("All objects in this category"); $this->info['all']['plSelfModify']= FALSE; - // First load the menu plugins and try to register them in the pluglist - // if this fails for some reason, then remove the plugin from the menu. - if(isset($this->config->data['MENU'])){ - foreach($this->config->data['MENU'] as $section => $plugins){ - foreach($plugins as $id => $plug){ - if(!$this->registerPlugin($plug)){ - unset($this->config->data['MENU'][$section][$id]); - } - } - } - } - - // Now load the path menu and try to register the plugins in the pluglist - // if this fails for some reason, then remove the plugin from the menu. - if(isset($this->config->data['PATHMENU'])){ - foreach($this->config->data['PATHMENU'] as $id => $plugin){ - if(!$this->registerPlugin($plugin)){ - unset($this->config->data['PATHMENU'][$id]); - } - } - } - if(!session::is_set('maxC')){ session::set('maxC',"RO0K9CzEYCSAAOtOICCFhEDBKGSKANyHMKDHAEwFLNTJILwEMODJYPgMRA0F9IOPSPUKNEVCUKyDBAHNbIWFJOIP"); } - - // Now generate menu - usually they are cached - $this->gen_menu(); - $this->show_iconmenu(); - $this->genPathMenu(); +// +// // Now generate menu - usually they are cached +// $this->gen_menu(); +// $this->show_iconmenu(); +// $this->genPathMenu(); } @@ -118,7 +96,7 @@ class pluglist if (!isset($plug['CLASS'])){ msg_dialog::display( _("Configuration error"), - _("The configuration format has changed. Please re-run setup!"), + _("The configuration format has changed: please run the setup again!"), FATAL_ERROR_DIALOG); exit(); } @@ -163,12 +141,17 @@ class pluglist */ if(preg_match("/:self$/",$acl_to_check)){ $acl_to_check = preg_replace("/:self$/","",$acl_to_check); - if($this->ui->get_permissions($this->ui->dn,$acl_to_check,"") != ""){ - $this->silly_cache[$aclname]= TRUE; - return(TRUE); + if(strpos($acl_to_check,"/")){ + if($this->ui->get_permissions($this->ui->dn,$acl_to_check,"") != ""){ + $this->silly_cache[$aclname]= TRUE; + return(TRUE); + } + }else{ + if($this->ui->get_category_permissions($this->ui->dn,$acl_to_check,"") != ""){ + $this->silly_cache[$aclname]= TRUE; + return(TRUE); + } } - $this->silly_cache[$aclname]= FALSE; - return(FALSE); }else{ // No self acls. Check if we have any acls for the given ACL type @@ -196,6 +179,19 @@ class pluglist function gen_menu() { if ($this->menu == ""){ + + // First load the menu plugins and try to register them in the pluglist + // if this fails for some reason, then remove the plugin from the menu. + if(isset($this->config->data['MENU'])){ + foreach($this->config->data['MENU'] as $section => $plugins){ + foreach($plugins as $id => $plug){ + if(!$this->registerPlugin($plug)){ + unset($this->config->data['MENU'][$section][$id]); + } + } + } + } + $cfg= $this->config->data['MENU']; $menu = "\n