From 5d17afc85b1bc2f768fa8e7c782f18df28fbbfbb Mon Sep 17 00:00:00 2001 From: hickert Date: Fri, 2 Jun 2006 04:53:30 +0000 Subject: [PATCH] Added FAIstate execute-save git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@3615 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../systems/class_workstationGeneric.inc | 50 +++++++++++++++++-- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/plugins/admin/systems/class_workstationGeneric.inc b/plugins/admin/systems/class_workstationGeneric.inc index 7097a145e..237919660 100644 --- a/plugins/admin/systems/class_workstationGeneric.inc +++ b/plugins/admin/systems/class_workstationGeneric.inc @@ -50,6 +50,16 @@ class workgeneric extends plugin "ghGfxAdapter", "ghSoundAdapter", "gotoLastUser", "l","FAIscript"); var $objectclasses= array("top", "gotoWorkstation", "GOhard","FAIobject"); + var $mapActions = array("reboot" => "", + "instant_update" => "softupdate", + "update" => "sceduledupdate", + "reinstall" => "install", + "rescan" => "", + "memcheck" => "memcheck", + "sysinfo" => "sysinfo"); + + + function workgeneric ($config, $dn= NULL) { plugin::plugin ($config, $dn); @@ -91,8 +101,6 @@ class workgeneric extends plugin $this->modes["active"]= _("Activated"); $this->modes["locked"]= _("Locked"); - $this->modes["memcheck"]= _("Memory test"); - $this->modes["sysinfo"]= _("System analysis"); /* Set base */ if ($this->dn == "new"){ @@ -135,6 +143,36 @@ class workgeneric extends plugin if ($retval != 0){ print_red(sprintf(_("Execution of '%s' failed!"), $cmd)); } else { + + /* Set FAIstate */ + $ldap = $this->config->get_ldap_link(); + $ldap->cd($this->config->current['BASE']); + $ldap->cat($this->dn,array("objectClass")); + $res = $ldap->fetch(); + + $attrs = array(); + $attrs['FAIstate'] = ""; + if(isset($this->mapActions[$_POST['saction']])){ + $attrs['FAIstate'] = $this->mapActions[$_POST ['saction']]; + } + + for($i = 0; $i < $res['objectClass']['count'] ; $i ++){ + $attrs['objectClass'][] = $res['objectClass'][$i]; + } + + if(($attrs['FAIstate'] != "") && (!in_array("FAIobject",$attrs['objectClass']))){ + $attrs['objectClass'][] = "FAIobject"; + } + + if($attrs['FAIstate'] == ""){ + #FIXME we should check if FAIobject is used anymore + $attrs['FAIstate'] = array(); + } + + $ldap->cd($this->dn); + $ldap->modify($attrs); + show_ldap_error($ldap->get_error()); + $this->didAction= TRUE; } } @@ -202,11 +240,15 @@ class workgeneric extends plugin "instant_update" => _("Instant update"), "update" => _("Scheduled update"), "reinstall" => _("Reinstall"), - "rescan" => _("Rescan hardware"))); + "rescan" => _("Rescan hardware"), + "memcheck" => _("Memory test"), + "sysinfo" => _("System analysis"))); } else { $smarty->assign("actions", array("wake" => _("Wake up"), "reinstall" => _("Reinstall"), - "update" => _("Scheduled update"))); + "update" => _("Scheduled update"), + "memcheck" => _("Memory test"), + "sysinfo" => _("System analysis"))); } /* Arrays */ $smarty->assign("modes", $this->modes); -- 2.30.2