Code

Bugfix for #4263
[gosa.git] / trunk / gosa-plugins / goto / admin / systems / goto / class_workstationGeneric.inc
index a9c0d62d8a4644083f60e952df26e573ca487701..1872e0223810c285164264b49e96075436e04f9c 100644 (file)
@@ -21,6 +21,8 @@ class workgeneric extends plugin
   var $ghScsiDev= array();
   var $ghGfxAdapter= "-";
   var $ghSoundAdapter= "-";
+  var $gotoHardwareChecksum = "";
+  var $gotoSysStatus = "";
   var $gotoLastUser= "-";
   var $FAIscript= "";
   var $view_logged = FALSE;
@@ -47,7 +49,8 @@ class workgeneric extends plugin
   var $attributes= array("gotoMode", "gotoSyslogServer", "gotoNtpServer",
       "gotoFloppyEnable", "gotoCdromEnable", "cn", "gotoSndModule",
       "ghCpuType", "ghMemSize", "ghUsbSupport", "description",
-      "ghGfxAdapter", "ghSoundAdapter", "gotoLastUser", "l","FAIscript");
+      "ghGfxAdapter", "ghSoundAdapter", "gotoLastUser", "l","FAIscript",
+      "gotoHardwareChecksum", "gotoSysStatus");
   var $objectclasses= array("top", "gotoWorkstation", "GOhard");
 
   var $validActions   = array("reboot" => "", "localboot" => "", "halt" => "", "update" => "", "reinstall" => "",
@@ -701,6 +704,24 @@ class workgeneric extends plugin
       $this->inheritTimeServer = true;
       $this->gotoNtpServer=array();
     }
+
+    $source_o = new workgeneric($this->config, $source['dn']);
+    foreach (array('ghIdeDev', 'ghNetNic', 'ghScsiDev') as $attr) {
+      if (isset($source_o->$attr)) {
+        $this->$attr = $source_o->$attr;
+      }
+    }
+
+    $ldap = $this->config->get_ldap_link();
+    $res = $ldap->cat($source['dn'], array('gotoHardwareChecksum', 'gotoSysStatus'));
+    if ($res) {
+      $attrs = $ldap->fetch();
+      foreach(array('gotoHardwareChecksum', 'gotoSysStatus') as $attr) {
+        if (isset($attrs[$attr])) {
+            $this->$attr = $attrs[$attr][0];
+        }
+      }
+    }
   }