Code

Updated images
[gosa.git] / gosa-plugins / systems / admin / systems / class_systemManagement.inc
index a1cfadcb2a2b731bcc135d825070a0e41e2ad89b..4413c7ef91bb3b950fa72f3b360658481eabb237 100644 (file)
@@ -58,7 +58,7 @@
 class systemManagement extends management
 {
   var $plHeadline     = "Systems";
-  var $plDescription  = "List of systems";
+  var $plDescription  = "Systems";
   var $plIcon  = "plugins/systems/images/plugin.png";
 
   // Tab definition 
@@ -86,18 +86,19 @@ class systemManagement extends management
     $this->storagePoints = array_unique($sP);
 
     // Build filter
-    if (session::global_is_set(get_class($this)."_filter")){
     $filter= session::global_get(get_class($this)."_filter");
-    } else {
+#    if (session::global_is_set(get_class($this)."_filter")){
#    $filter= session::global_get(get_class($this)."_filter");
+  #  } else {
       $filter = new filter(get_template_path("system-filter.xml", true));
       $filter->setObjectStorage($this->storagePoints);
-    }
+   # }
     $this->setFilter($filter);
 
     // Build headpage
     $headpage = new listing(get_template_path("system-list.xml", true));
+    $headpage->registerElementFilter("systemRelease", "systemManagement::systemRelease");
     $headpage->setFilter($filter);
-    $filter->setConverter('INCOMING', 'systemManagement::incomingFilterConverter');
+    $filter->setConverter('systemManagement::incomingFilterConverter');
 
     // Register Daemon Events
     if(class_available("DaemonEvent") && class_available("gosaSupportDaemon")){
@@ -708,10 +709,10 @@ class systemManagement extends management
     if(!isset($tInfo[$info])){
       trigger_error("Unknown action type '".$action."' cant create a new system!");
     }else{
-      management::newEntry($action,$target,$all, 
+      return(management::newEntry($action,$target,$all, 
           $tInfo[$info]['tabClass'],
           $tInfo[$info]['tabDesc'],
-          $tInfo[$info]['aclCategory']);
+          $tInfo[$info]['aclCategory']));
     }
   }
 
@@ -832,9 +833,9 @@ class systemManagement extends management
 
           if($data['OG'] != "none"){
             $this->tabObject->base = preg_replace("/^[^,]+,".preg_quote(get_ou('ogroupRDN'), '/')."/i", "", $data['OG']);
-            $this->tabObject->by_object[$plugClass]->base = $this->tabObject->base;
+            $this->tabObject->by_object[$plugClass]->baseSelector->setBase($this->tabObject->base);
           } else {
-            $this->tabObject->by_object[$plugClass]->base = $headpage->getBase();
+            $this->tabObject->by_object[$plugClass]->baseSelector->setBase($headpage->getBase());
             $this->tabObject->base = $headpage->getBase();
           }
 
@@ -1344,6 +1345,42 @@ class systemManagement extends management
   }
 
 
+  static function systemRelease($a,$b,$c,$objectclasses= null,$class= null)
+  {
+    global $config;
+
+    // No objectclasses set - go ahead
+    if(!$objectclasses) return(" ");
+
+    // Skip non fai objects
+    if (!in_array_ics("FAIobject", $objectclasses)) {
+      return " ";
+    }
+
+    // If we've an own fai class, just use this
+    if ($class && is_array($class)) {
+      foreach (explode(' ', $class[0]) as $element) {
+        if ($element[0] == ":") {
+          return " ".image('images/empty.png')." ".mb_substr($element, 1);
+        }
+      }
+    }
+
+    // Load information if needed
+    $ldap = $config->get_ldap_link();
+    $ldap->cd($config->current['BASE']);
+    $ldap->search("(&(objectClass=gosaGroupOfNames)(FAIclass=*)(member=".$b."))",array('FAIclass','cn'));
+    while($attrs = $ldap->fetch()){
+      $rel = preg_replace("/^.*:/","",$attrs['FAIclass'][0]);
+      $sys = sprintf(_("Inherited from %s"),$attrs['cn'][0]);
+      $str = " ".image('plugins/ogroups/images/ogroup.png', "", $sys)." ".$rel;
+      return($str);
+    }
+    
+    return(" ");
+  }
+
+
   /*! \brief  !! Incoming dummy acls, required to defined acls for incoming objects
    */
   static function plInfo()