X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_plugin.inc;h=24863ac16eb744738e38fdaea9bd1db22f7c90e1;hb=895712accc11cf9defc13cdbc64a6b3c7e7e548a;hp=a83cb1cea7635d4c1d774db435fadc04323287d4;hpb=1b02cf87a484fc096961998a8a6ebd6fac5f59da;p=gosa.git diff --git a/include/class_plugin.inc b/include/class_plugin.inc index a83cb1cea..24863ac16 100644 --- a/include/class_plugin.inc +++ b/include/class_plugin.inc @@ -109,6 +109,7 @@ class plugin var $saved_attributes= array(); var $acl_base= ""; + var $acl_category= ""; /* Plugin identifier */ var $plHeadline= ""; @@ -516,14 +517,13 @@ class plugin /* Show header message for tab dialogs */ function show_enable_header($button_text, $text, $disabled= FALSE) { - if ($disabled == TRUE){ + if (($disabled == TRUE) || (!$this->acl_is_createable())){ $state= "disabled"; } else { $state= ""; } $display= "\n

$text

\n"; - $display.= "acl_is_createable()?'':'disabled')." ".$state. + $display.= "

 

"; return($display); @@ -533,14 +533,13 @@ class plugin /* Show header message for tab dialogs */ function show_disable_header($button_text, $text, $disabled= FALSE) { - if ($disabled == TRUE){ + if (($disabled == TRUE) || !$this->acl_is_removeable()){ $state= "disabled"; } else { $state= ""; } $display= "\n

$text

\n"; - $display.= "acl_is_removeable()?'':'disabled')." ".$state. + $display.= "

 

"; return($display); @@ -1410,38 +1409,44 @@ echo "FIXME: remove_snapshot uses old acl's
"; } + function set_acl_category($category) + { + $this->acl_category= "$category/"; + } + + function acl_is_writeable($attribute,$skip_write = FALSE) { $ui= get_userinfo(); - return preg_match('/w/', $ui->get_permissions($this->acl_base, get_class($this), $attribute,$skip_write)); + return preg_match('/w/', $ui->get_permissions($this->acl_base, $this->acl_category.get_class($this), $attribute, $skip_write)); } function acl_is_readable($attribute) { $ui= get_userinfo(); - return preg_match('/r/', $ui->get_permissions($this->acl_base, get_class($this), $attribute)); + return preg_match('/r/', $ui->get_permissions($this->acl_base, $this->acl_category.get_class($this), $attribute)); } function acl_is_createable() { $ui= get_userinfo(); - return preg_match('/c/', $ui->get_permissions($this->acl_base, get_class($this), '0')); + return preg_match('/c/', $ui->get_permissions($this->acl_base, $this->acl_category.get_class($this), '0')); } function acl_is_removeable() { $ui= get_userinfo(); - return preg_match('/d/', $ui->get_permissions($this->acl_base, get_class($this), '0')); + return preg_match('/d/', $ui->get_permissions($this->acl_base, $this->acl_category.get_class($this), '0')); } function acl_is_moveable() { $ui= get_userinfo(); - return preg_match('/m/', $ui->get_permissions($this->acl_base, get_class($this), '0')); + return preg_match('/m/', $ui->get_permissions($this->acl_base, $this->acl_category.get_class($this), '0')); } @@ -1453,7 +1458,7 @@ echo "FIXME: remove_snapshot uses old acl's
"; function getacl($attribute,$skip_write= FALSE) { $ui= get_userinfo(); - return $ui->get_permissions($this->acl_base, get_class($this), $attribute,$skip_write); + return $ui->get_permissions($this->acl_base, $this->acl_category.get_class($this), $attribute,$skip_write); }