X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_pluglist.inc;h=0f89f3b611bb05aeda5ba7c67a386a0236578d9b;hb=e1e757ca6816d818fa1a393b66f165ffefb1afe7;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..0f89f3b61 100644 --- a/gosa-core/include/class_pluglist.inc +++ b/gosa-core/include/class_pluglist.inc @@ -68,42 +68,14 @@ class pluglist } } - /* Provide field for 'all' */ - $this->info['all']= array(); - $this->info['all']['plProvidedAcls']= array(); - $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 +90,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 +135,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 +173,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