X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_divListSystem.inc;h=34dfaac5cd5c3a36f6f08feca84bf646618fceb7;hb=ecabf2056dc1350d73115d5fa226676be30017d6;hp=435f8291fda0ba698df4d61f6e656467de5e2fd0;hpb=b4dd732c45b096d0c4b4c869244d13b36e3eb733;p=gosa.git diff --git a/plugins/admin/systems/class_divListSystem.inc b/plugins/admin/systems/class_divListSystem.inc index 435f8291f..34dfaac5c 100644 --- a/plugins/admin/systems/class_divListSystem.inc +++ b/plugins/admin/systems/class_divListSystem.inc @@ -126,9 +126,13 @@ class divListSystem extends MultiSelectWindow display the snapshot paste icon. BUT check the correct acls in the management plugin */ $all_module_acls = ""; foreach($this->module as $module){ - $all_module_acls .= $ui->has_complete_category_acls($this->selectedBase,$module)." | ".$module."
"; + $all_module_acls .= $ui->has_complete_category_acls($this->selectedBase,$module); } + /* Must we add an additional seperator */ + $add_sep = false; + + /* Add the basic icons for navigation */ $listhead = "
". "  ". @@ -139,43 +143,56 @@ class divListSystem extends MultiSelectWindow "  ". "  "; + /* Add snapshot icons */ if(preg_match("/(c.*w|w.*c)/",$all_module_acls)){ $listhead .= $this->get_snapshot_header($this->selectedBase); + $add_sep = true; } - + /* Handle create icons */ if(preg_match("/c/",$ui->get_permissions($this->selectedBase,"terminal/termgeneric"))){ + $add_sep = true; $listhead .= " "; } if(preg_match("/c/",$ui->get_permissions($this->selectedBase,"workstation/workgeneric"))){ + $add_sep = true; $listhead .= " "; } if(preg_match("/c/",$ui->get_permissions($this->selectedBase,"server/servgeneric"))){ + $add_sep = true; $listhead .= " "; } - if(preg_match("/c/",$ui->get_permissions($this->selectedBase,"printer/printgenric"))){ + if(preg_match("/c/",$ui->get_permissions($this->selectedBase,"printer/printgeneric"))){ + $add_sep = true; $listhead .= " "; } if(preg_match("/c/",$ui->get_permissions($this->selectedBase,"phone/phoneGeneric"))){ + $add_sep = true; $listhead .= " "; } if(preg_match("/c/",$ui->get_permissions($this->selectedBase,"component/componentGeneric"))){ + $add_sep = true; $listhead .= " "; } - $listhead .= " "._("Base")." ". - " ". + /* Should we add a seperator ? */ + if($add_sep){ + $listhead .= " "; + } + + /* Add base selection */ + $listhead .= _("Base")."  ". "  ". "
"; @@ -202,10 +219,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 +231,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/printgeneric"), + "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 +253,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 +315,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'])){