From 8364dce3244aa29ce7b46ff8378023fcf166a799 Mon Sep 17 00:00:00 2001 From: hickert Date: Thu, 30 Nov 2006 10:09:37 +0000 Subject: [PATCH] Fixed div list acls & displayed actions git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@5264 594d385d-05f5-0310-b6e9-bd551577e9d8 --- plugins/admin/systems/class_divListSystem.inc | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/plugins/admin/systems/class_divListSystem.inc b/plugins/admin/systems/class_divListSystem.inc index bb233f226..a5f6e463e 100644 --- a/plugins/admin/systems/class_divListSystem.inc +++ b/plugins/admin/systems/class_divListSystem.inc @@ -202,10 +202,10 @@ class divListSystem extends MultiSelectWindow $img9 = "F"; $img10 = "L"; - $empty =" "; + $empty =""; /* Dynamic action col, depending on snapshot icons */ - $action_col_size = 50; + $action_col_size = 70; if($this->parent->snapshotEnabled()){ $action_col_size += 38; } @@ -214,8 +214,16 @@ class divListSystem extends MultiSelectWindow $editlink = "%s"; /* ACL mapping */ - $acl_type = array("server" => "ser"); $ui = get_userinfo(); + $tabs = array( + "terminal" => array("CLASS"=>"TERMTABS", "TABCLASS" =>"termtabs", "ACL"=> "terminal/termgeneric"), + "workstation" => array("CLASS"=>"WORKTABS", "TABCLASS" =>"worktabs", "ACL"=> "workstation/workgeneric"), + "server" => array("CLASS"=>"SERVTABS", "TABCLASS" =>"servtabs", "ACL"=> "server/servgeneric"), + "printer" => array("CLASS"=>"PRINTTABS", "TABCLASS" =>"printtabs", "ACL"=> "printer/printgenric"), + "phone" => array("CLASS"=>"PHONETABS", "TABCLASS" =>"phonetabs", "ACL"=> "phone/phoneGeneric"), + "winstation" => array("CLASS"=>"WINTABS", "TABCLASS" =>"wintabs", "ACL"=> "winworkstation/wingeneric"), + "component" => array("CLASS"=>"COMPONENTTABS","TABCLASS" =>"componenttabs", "ACL"=> "component/componentGeneric")); + // Test Every Entry and generate divlist Array foreach($terminals as $key => $val){ @@ -228,15 +236,27 @@ class divListSystem extends MultiSelectWindow }else{ $acl_type = $type; } + + /* Get complete category acls */ $acl_all = $ui->has_complete_category_acls($val['dn'],$acl_type) ; + + /* Get specific generic acls */ + $acl = $ui->get_permissions($val['dn'],$tabs[$type]['ACL']); $action= ""; if(preg_match("/(c.*w|w.*c)/",$acl_all)){ $action.= $this->GetSnapShotActions($val['dn']); + }else{ + $action.= $empty." ".$empty." "; + } + + if(preg_match("/d/",$acl)){ + $action.= ""; + }else{ + $action.= $empty; } - $action.= ""; /* Generate picture list, which is currently disabled */ if(in_array("goCupsServer" ,$val['objectClass'])) $cups = $img1; else $cups =$empty; @@ -278,13 +298,15 @@ class divListSystem extends MultiSelectWindow if(preg_match("/w/",$pwd_acl)){ $action2 = ""; }else{ - $action2 = ""; + $action2 = $empty; } if(in_array("gotoWorkstation",$val['objectClass'])){ $action2= "".$action2; + name='gen_cd_%KEY%' title='"._("Create FAI CD")."'> ".$action2; + }else{ + $action2= $empty.$action2; } if(isset($val['message'])){ -- 2.30.2