Code

Added branches container for old stuff
[gosa.git] / gosa-core / plugins / admin / ogroups / class_divListOGroup.inc
index db7bae3f116882826a644680a13a515982d216f7..3e828b68f39a1150e2f29d6f2af0e41dd15933ce 100644 (file)
@@ -68,13 +68,13 @@ class divListOGroup extends MultiSelectWindow
     $this->EnableSaveButton (false);
 
     /* Dynamic action col, depending on snapshot icons */
-    $action_col_size = 80;
+    $action_col_size = 90;
     if($this->parent->snapshotEnabled()){
       $action_col_size += 38; 
     }
 
     /* Toggle all selected / deselected */
-    $chk = "<input type='checkbox' id='select_all' name='select_all'
+    $chk = "<input type='checkbox' id='select_all' name='select_all' title='"._("Select all")."'
                onClick='toggle_all_(\"^item_selected_[0-9]*$\",\"select_all\");' >";
 
     /* set Page header */
@@ -118,16 +118,12 @@ class divListOGroup extends MultiSelectWindow
 
   function GenHeader()
   {
-    /* Prepare departments,
-       which are shown in the listbox on top of the listbox
-     */
-    $options= "";
-
     /* Get all departments within this subtree */
     $ui= get_userinfo();
     $first = "";
     $found = FALSE;
     $base = $this->config->current['BASE'];
+    $options  = $this->create_department_list($this->module);
 
     /* Add base */
     $tmp = array();
@@ -135,82 +131,38 @@ class divListOGroup extends MultiSelectWindow
     $tmp=  array_merge($tmp,get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))", $this->module, $base,
                     array("ou", "description"), GL_SIZELIMIT | GL_SUBSEARCH));
 
-    $deps = array();
-    foreach($tmp as $tm){
-      $deps[$tm['dn']] = $tm['dn'];
-    }
-
-    /* Load possible departments */
-    $ui= get_userinfo();
-    $tdeps= $ui->get_module_departments("ogroups");
-    $ids = $this->config->idepartments;
-    $first = "";
-    $found = FALSE;
-    foreach($ids as $dep => $name){
-      if(isset($deps[$dep]) && in_array_ics($dep, $tdeps)){
-
-        /* Keep first base dn in mind, we could need this
-         *  info if no valid base was found
-         */
-        if(empty($first)) {
-          $first = $dep['dn'];
-        }
-
-        $value = $ids[$dep];
-        if ($this->selectedBase == $dep){
-          $found = TRUE;
-          $options.= "<option selected='selected' value='".$dep."'>$value</option>";
-        } else {
-          $options.= "<option value='".$dep."'>$value</option>";
-        }
-      }
-    }
-
-    /* The currently used base is not visible with your acl setup.
-     * Set base to first useable base.
-     */
-    if(!$found){
-      $this->selectedBase = $first;
-    }
-
     /* Add a seperator after displaying c&p and snapshot icons ? */
     $add_sep = false;
   
     /* Get copy & paste icon */
     $acls  = $ui->get_permissions($this->selectedBase,"ogroups/ogroup");
     $acl_all= $ui->has_complete_category_acls($this->selectedBase,"ogroups");
-    $Copy_Paste ="";
-    if(preg_match("/(c.*w|w.*c)/",$acl_all) &&  $this->parent->CopyPasteHandler){
-      $Copy_Paste = $this->parent->CopyPasteHandler->generatePasteIcon();
-      $add_sep = true;
-    }
+
 
     /* Add default header */
     $listhead = MultiSelectWindow::get_default_header();
-
   
     /* Add department selector */
     $listhead .= _("Base")."&nbsp;<select name='CurrentMainBase' onChange='mainform.submit()' class='center'>$options</select>".
-      " <input class='center' type='image' src='images/list_submit.png' align='middle' 
+      " <input class='center' type='image' src='images/lists/submit.png' align='middle' 
       title='"._("Submit department")."' name='submit_department' alt='"._("Submit")."'>&nbsp;";
 
 
     /* Create Layers menu */
     $s  = ".|"._("Actions")."|\n";
-    $s .= "..|<img src='images/list_new.png' alt='' border='0' class='center'>".
-      "&nbsp;"._("Create")."|\n";
 
     /* Append create options */
     if(preg_match("/c/",$acls)) {
-      $s.= "...|<input class='center' type='image' src='images/list_new_ogroup.png' alt=''>".
+      $s .= "..|<img src='images/lists/new.png' alt='' border='0' class='center'>".
+        "&nbsp;"._("Create")."|\n";
+      $s.= "...|<input class='center' type='image' src='plugins/ogroups/images/new.png' alt=''>".
         "&nbsp;"._("Object group")."|group_new|\n";
     }
 
     /* Multiple options */
     $s.= "..|---|\n";
-#    $s.= "..|<img src='images/edit.png' alt='' border='0' class='center'>".
-#      "&nbsp;"._("Edit")."|"."multiple_edit|\n";
-
+#   $s.= "..|<img src='images/lists/edit.png' alt='' border='0' class='center'>".
+#     "&nbsp;"._("Edit")."|"."multiple_edit|\n";
     $s.= "..|<img src='images/lists/trash.png' alt='' border='0' class='center'>".
       "&nbsp;"._("Remove")."|"."remove_multiple_ogroups/|\n";
 
@@ -225,33 +177,17 @@ class divListOGroup extends MultiSelectWindow
       }
     }
 
-    /* Add multiple copy & cut icons */
-    if(is_object($this->parent->CopyPasteHandler) && preg_match("/(c.*w|w.*c)/",$acl_all)){
-      $s.= "..|---|\n";
-      $s.= "..|<img src='images/lists/copy.png' alt='' border='0' class='center'>".
-        "&nbsp;"._("Copy")."|"."multiple_copy_systems|\n";
-      $s.= "..|<img src='images/lists/cut.png' alt='' border='0' class='center'>".
-        "&nbsp;"._("Cut")."|"."multiple_cut_systems|\n";
-
-      if($this->parent->CopyPasteHandler->entries_queued()){
-        $img = "<img border='0' class='center' src='images/lists/paste.png' alt=''>";
-        $s.="..|".$img."&nbsp;"._("Paste")."|editPaste|\n";
-      }else{
-        $img = "<img border='0' class='center' src='images/lists/paste.png' alt=''>";
-        $s.="..|".$img."&nbsp;"._("Paste")."\n";
-      }
-    }
+    /* Add Copy & Paste header */
+    $s .= $this->parent->get_copypaste_header($this->selectedBase,$this->module);
 
     /* Add snapshot icons */
-    if(preg_match("/(c.*w|w.*c)/",$acl_all)){
-      $s .= "..|---|\n";
-      $s .= $this->get_snapshot_header(TRUE);
-    }
+    $s .= $this->parent->get_snapshot_header($this->selectedBase,$this->module);    
 
     $this->SetDropDownHeaderMenu($s);
     $this->SetListHeader($listhead);
   }
 
+
   function execute()
   {
     $this->ClearElementsList();
@@ -263,14 +199,13 @@ class divListOGroup extends MultiSelectWindow
     /* Add Copy & Paste buttons if copy&paste is enabled
      */
     // Defining Links
-    $linkopen = "<a href='?plug=".$_GET['plug']."&amp;act=dep_open&amp;dep_id=%s'>%s</a>";
     $editlink = "<a href='?plug=".$_GET['plug']."&amp;id=%s&amp;act=edit_entry'>%s</a>";
-    $userimg  = "<img class='center' src='images/select_groups.png' alt='User'    title='%s'>";
-    $mailimg  = "<img class='center' src='images/mailto.png'             alt='M'  title='"._("Mail")   ."'>";
+    $userimg  = "<img class='center' src='plugins/groups/images/groups.png' alt='User'    title='%s'>";
+    $mailimg  = "<img class='center' src='plugins/ogroups/images/mail.png'             alt='M'  title='"._("Mail")   ."'>";
     $empty    = "<img class='center' src='images/empty.png' style='width:16px;height:16px;' alt=''>";
 
     /* Dynamic action col, depending on snapshot icons */
-    $action_col_size = 80;
+    $action_col_size = 90;
     if($this->parent->snapshotEnabled()){
       $action_col_size += 38; 
     }
@@ -280,24 +215,21 @@ class divListOGroup extends MultiSelectWindow
     // Assigning ogroups
     foreach($list as $key => $val){
 
+      $actions = "";
+      
       /* Create action icons */
-      $actions= "";
+      $acl    = $ui->get_permissions($val['dn'],"ogroups/ogroup");
       $acl_all= $ui->has_complete_category_acls($val['dn'],"ogroups");
-      if(($this->parent->CopyPasteHandler) && preg_match("/(c.*w|w.*c)/",$acl_all)){
-        $actions.= "<input class='center' type='image'
-          src='images/lists/cut.png' alt='"._("cut")."' name='cut_%KEY%' title='"._("Cut this entry")."'>&nbsp;";
-        $actions.= "<input class='center' type='image'
-          src='images/lists/copy.png' alt='"._("copy")."' name='copy_%KEY%' title='"._("Copy this entry")."'>&nbsp;";
-      }
+
+      /* Add copy & cut functionality */
+      $actions.= $this->parent->get_copypaste_action($val['dn'],"ogroups","ogroup");
 
       $actions.= "<input class='center' type='image'
-        src='images/edit.png' alt='"._("edit")."' name='group_edit_%KEY%' title='"._("Edit this entry")."'>";
+        src='images/lists/edit.png' alt='"._("edit")."' name='group_edit_%KEY%' title='"._("Edit this entry")."'>";
     
-      if(preg_match("/(c.*w|w.*c)/", $acl_all)){
-        $actions.= $this->GetSnapShotActions($val['dn']);
-      }
+      $actions.= $this->parent->get_snapshot_action($val['dn'],$this->module);
 
-      if(preg_match("/d/",$ui->get_permissions($val['dn'],"ogroups/ogroup"))) {
+      if(preg_match("/d/",$acl)){
         $actions.= "<input class='center' type='image'
           src='images/lists/trash.png' alt='"._("delete")."' name='group_del_%KEY%' title='"._("Delete this entry")."'>";
       }else{
@@ -305,7 +237,6 @@ class divListOGroup extends MultiSelectWindow
           title='".msgPool::permDelete()."'>";
       }
 
-
       if(isset($val['mail'])){
         $mail = $mailimg;
       }else{
@@ -332,7 +263,7 @@ class divListOGroup extends MultiSelectWindow
       /* Create each field */
       $field0 = array("string" => "<input type='checkbox' id='item_selected_".$key."' name='item_selected_".$key."'>" ,
                       "attach" => "style='width:20px;'");
-      $field1 = array("string" => "<img src='images/list_ogroup.png' alt='"._("Object group")."' ".$title.">", "attach" => "style='text-align:center;width: 20px;'");
+      $field1 = array("string" => "<img src='plugins/ogroups/images/ogroup.png' alt='"._("Object group")."' ".$title.">", "attach" => "style='text-align:center;width: 20px;'");
       $field2 = array("string" => sprintf($editlink,$key,$display), "attach" => "style='' ".$title);
       $field3 = array("string" => preg_replace("/%KEY/", $key, $this->parent->convert_list($val))."&nbsp;".$mail, "attach" => "style='width:136px;'");
       $field4 = array("string" => preg_replace("/%KEY%/", $key, $actions), "attach" => "style='width:".$action_col_size."px;border-right:0px;text-align:right;'");
@@ -351,7 +282,7 @@ class divListOGroup extends MultiSelectWindow
     $num_obj_str = _("Number of listed object groups");
     $num_dep_str = _("Number of listed departments");
 
-    $str = "<img class='center' src='images/select_ogroup.png'
+    $str = "<img class='center' src='plugins/ogroups/images/ogroup.png'
               title='".$num_obj_str."' alt='".$num_obj_str."'>&nbsp;".$num_objs."&nbsp;&nbsp;&nbsp;&nbsp;";
     $str.= "<img class='center' src='images/lists/folder.png'
               title='".$num_dep_str."' alt='".$num_dep_str."'>&nbsp;".$num_deps."&nbsp;&nbsp;&nbsp;&nbsp;";