Code

* Created "old" branch and moved stuff
[gosa.git] / branches / old / gosa-plugins / fai / admin / systems / services / repository / class_divListRepositories.inc
diff --git a/branches/old/gosa-plugins/fai/admin/systems/services/repository/class_divListRepositories.inc b/branches/old/gosa-plugins/fai/admin/systems/services/repository/class_divListRepositories.inc
new file mode 100644 (file)
index 0000000..00dfd8e
--- /dev/null
@@ -0,0 +1,84 @@
+<?php
+
+class divListRepository extends MultiSelectWindow
+{
+  /* CheckBoxes, to change default values modify $this->AddCheckBox */
+  var $parent             ;
+  var $ui                 ;
+
+  var $regex ="*";
+
+  function divListRepository ($config,$parent)
+  {
+    MultiSelectWindow::MultiSelectWindow($config,"Repository", "server");
+    
+    $this->parent       = $parent;
+    $this->ui           = get_userinfo();
+
+    $this->SetTitle("repositories");
+    $this->SetSummary(_("List of configured repositories."));
+    $this->SetInformation(_("This menu allows you to create, delete and edit repository settings."));
+    $this->EnableCloseButton(FALSE);
+    $this->EnableSaveButton(FALSE);
+    $this->AddHeader(array("string"=>_("Release"),"attach"=>"style='width:80px;'"));
+    $this->AddHeader(array("string"=>_("Sections")));
+    $this->AddHeader(array("string"=>_("Options"),"attach"=>"style='border-right:0px;width:55px;'"));
+    $this->AddRegex("regex",_("Regular expression for matching object names"),"*",TRUE);
+    $this->EnableAplhabet(TRUE);
+  }
+
+  function GenHeader()
+  {
+    if($this->parent->acl_is_createable()){
+      $this->SetListHeader("<input type=\"image\" src=\"plugins/fai/images/fai_new_packages.png\" title=\""._("Add repository")."\"                 name=\"AddRepository\">");
+    }
+  }
+
+  function execute()
+  {
+    $this->ClearElementsList();
+    $this->GenHeader();
+  }
+
+  function setEntries($list)
+  {
+    $link   = "<a href='?plug=".$_GET['plug']."&amp;act=open_repository&amp;id=%s'>%s</a>";
+    $edit   = "<input type='image' value='%s' name='edit_%s'   src='images/lists/edit.png'>&nbsp;";
+
+    /* Hide delete icon, if delete is not allowed */
+    if($this->parent->acl_is_removeable()){
+      $delete = "<input type='image' value='%s' name='delete_%s' src='images/lists/trash.png'>";
+    }else{
+      $delete = "<img src='images/empty.png' alt='&nbsp;'>";
+    }
+
+    foreach($list as $name => $reps){
+
+      $str = " ";
+      if(preg_match("/".str_replace("*",".*",$this->regex)."/",$reps['Release'])){
+        foreach($reps['Sections'] as $sec){
+          $str.=$sec." ";
+        }
+        $this->AddElement(array(
+              array("string"=>sprintf($link,base64_encode($name),$name),"attach"=>"style='width:80px;'"),
+              array("string"=>sprintf($link,base64_encode($name),_("Sections")." :".$str)),
+              array("string"=>preg_replace("/%s/",base64_encode($name),$edit.$delete),"attach"=>"style='border-right:0px;width:55px;text-  align:right;'")
+              ));
+      }
+    }
+
+  }
+
+  function Save()
+  {
+    MultiSelectWindow :: Save();  
+  }
+
+  function save_object()
+  {
+    /* Save automatic created POSTs like regex, checkboxes */
+    MultiSelectWindow :: save_object();   
+  }
+}
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>