Code

Updated gosa-si dependencies
[gosa.git] / gosa-plugins / systems / admin / systems / class_systemManagement.inc
index a1cfadcb2a2b731bcc135d825070a0e41e2ad89b..9835de109d924ceba6873dd2b56eff95b6459e2d 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 
@@ -87,7 +87,7 @@ class systemManagement extends management
 
     // Build filter
     if (session::global_is_set(get_class($this)."_filter")){
-      $filter= session::global_get(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);
@@ -96,6 +96,7 @@ class systemManagement extends management
 
     // 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');
 
@@ -526,13 +527,15 @@ class systemManagement extends management
    */ 
   function saveEventDialog()
   {
-    $o_queue = new gosaSupportDaemon();
-    $o_queue->append($this->dialogObject);
-    if($o_queue->is_error()){
-      msg_dialog::display(_("Service infrastructure"),msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
-    }else{
-      $this->closeDialogs();
-    }
+      if($this->si_active){
+          $o_queue = new gosaSupportDaemon();
+          $o_queue->append($this->dialogObject);
+          if($o_queue->is_error()){
+              msg_dialog::display(_("Service infrastructure"),msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
+          }else{
+              $this->closeDialogs();
+          }
+      }
   }
  
 
@@ -708,10 +711,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 +835,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();
           }
 
@@ -1303,7 +1306,7 @@ class systemManagement extends management
             "aclClass"    => "phoneGeneric",
             "aclCategory" => "phone"),
 
-        "FAKE_OC_winstation" => array(
+        "sambaSamAccount" => array(
             "ou"          => get_winstations_ou(),
             "plugClass"   => "wingeneric",
             "sendEvents"  => TRUE,
@@ -1344,6 +1347,44 @@ 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 "&nbsp;<img class='center' src='images/empty.png'>&nbsp;".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 = "&nbsp;<img class='center' src='plugins/ogroups/images/ogroup.png' 
+          title='".$sys."' 
+          alt='".$sys."' >&nbsp;".$rel;
+      return($str);
+    }
+    
+    return("&nbsp;");
+  }
+
+
   /*! \brief  !! Incoming dummy acls, required to defined acls for incoming objects
    */
   static function plInfo()