From 0a88bcec8bd52f9debb3e825722e4dedfe4c7849 Mon Sep 17 00:00:00 2001 From: hickert Date: Tue, 27 May 2008 12:30:15 +0000 Subject: [PATCH] Updated acl handling in mimetype listing git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@11034 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../mimetypes/class_divListMimeTypes.inc | 75 ++++++++++--------- 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/gosa-plugins/goto/admin/mimetypes/class_divListMimeTypes.inc b/gosa-plugins/goto/admin/mimetypes/class_divListMimeTypes.inc index dbec3a702..53872dabb 100644 --- a/gosa-plugins/goto/admin/mimetypes/class_divListMimeTypes.inc +++ b/gosa-plugins/goto/admin/mimetypes/class_divListMimeTypes.inc @@ -148,54 +148,48 @@ class divListMimeTypes extends MultiSelectWindow /* Get acls */ $ui = get_userinfo(); - $acl = $ui->get_permissions("cn=dummy,".$this->parent->mime_base,"mimetypes/mimetype"); + $acl = $ui->get_permissions($this->parent->mime_base,"mimetypes/mimetype"); $acl_all = $ui->has_complete_category_acls($this->parent->mime_base,"mimetypes") ; /* If this is true we add an additional seperator. Just look a few lines below */ $add_sep = false; - /* Get copy & paste icon */ - $Copy_Paste =""; - if(preg_match("/(c.*w|w.*c)/",$acl_all) && $this->parent->CopyPasteHandler){ - $Copy_Paste = $this->parent->CopyPasteHandler->generatePasteIcon(); - $add_sep = true; - } - - /* Create Layers menu */ $s = ".|"._("Actions")."|\n"; - $s .= "..|". - " "._("Create")."|\n"; /* Append create options */ if(preg_match("/c/",$acl)) { + $s .= "..|". + " "._("Create")."|\n"; $s.= "...|". " "._("Mime type")."|mime_new|\n"; + $s.= "..|---|\n"; } /* Multiple options */ - $s.= "..|---|\n"; $s.= "..|". " "._("Remove")."|"."remove_multiple|\n"; - /* Add multiple copy & cut icons */ - if(is_object($this->parent->CopyPasteHandler) && preg_match("/(c.*w|w.*c)/",$acl_all)){ + if(is_object($this->parent->CopyPasteHandler) && preg_match("/r/",$acl_all)){ $s.= "..|---|\n"; $s.= "..|". " "._("Copy")."|"."multiple_copy_systems|\n"; - $s.= "..|". - " "._("Cut")."|"."multiple_cut_systems|\n"; - - if($this->parent->CopyPasteHandler->entries_queued()){ - $img = ""; - $s.="..|".$img." "._("Paste")."|editPaste|\n"; - }else{ - $img = ""; - $s.="..|".$img." "._("Paste")."\n"; + if(is_object($this->parent->CopyPasteHandler) && preg_match("/(r.*d|d.*r)/",$acl_all)){ + $s.= "..|". + " "._("Cut")."|"."multiple_cut_systems|\n"; } } + /* Copy & paste icons */ + if(is_object($this->parent->CopyPasteHandler) && $this->parent->CopyPasteHandler->entries_queued()){ + $img = ""; + $s.="..|".$img." "._("Paste")."|editPaste|\n"; + }else{ + $img = ""; + $s.="..|".$img." "._("Paste")."\n"; + } + /* Add snapshot icons */ if(preg_match("/(c.*w|w.*c)/",$acl_all)){ $s .= "..|---|\n"; @@ -244,29 +238,38 @@ class divListMimeTypes extends MultiSelectWindow $acl = $ui->get_permissions($val['dn'],"mimetypes/mimetype"); $acl_all = $ui->has_complete_category_acls($val['dn'],"mimetypes") ; - /* Create action icons */ - $actions = ""; - if(preg_match("/(c.*w|w.*c)/",$acl_all)){ - $actions .= $this->GetSnapShotActions($val['dn']); + $action = ""; + if(preg_match("/(r.*d|r.*d)/",$acl_all) && $this->parent->CopyPasteHandler){ + $action.= " "; + }else{ + $action.="  "; } - /* Get copy Paste icons */ - if(($this->parent->CopyPasteHandler) && preg_match("/(c.*w|w.*c)/",$acl_all)){ - $actions.= " "; - $actions.= "parent->CopyPasteHandler){ + $action.= " "; + }else{ + $action.="  "; } - $actions.= ""; + /* Add snapshot icon */ + if(preg_match("/(r.*w|w.*r)/",$acl_all)){ + $action.= $this->GetSnapShotActions($val['dn']); + }else{ + $action.="  "; + $action.="  "; + } + /* Add delete button */ if(preg_match("/d/",$acl)){ - $actions.= ""; }else{ - $actions.= " "; + $action.= " "; } $title = "title='".preg_replace('/ /', ' ', @LDAP::fix($val['dn']))."'"; @@ -294,7 +297,7 @@ class divListMimeTypes extends MultiSelectWindow "attach" => "style='width:20px;'"); $field1 = array("string" => sprintf($mimeimg,$val['dn']), "attach" => "style='text-align:center;width:20px;'"); $field2 = array("string" => sprintf($editlink,$key,$display), "attach" => "style='' ".$title); - $field3 = array("string" => preg_replace("/%KEY%/", $key, $actions), "attach" => "style='width:".$action_col_size."px;border-right:0px;text-align:right;'"); + $field3 = array("string" => preg_replace("/%KEY%/", $key, $action), "attach" => "style='width:".$action_col_size."px;border-right:0px;text-align:right;'"); $this->AddElement(array($field0,$field1,$field2,$field3)); } -- 2.30.2