From 3fbe198215517d9246de12d4c6649f9c1434daa0 Mon Sep 17 00:00:00 2001 From: cajus Date: Mon, 22 May 2006 08:17:20 +0000 Subject: [PATCH] Updated server tab to have same action script like in workstation generic git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@3486 594d385d-05f5-0310-b6e9-bd551577e9d8 --- TODO | 2 + plugins/admin/systems/class_servGeneric.inc | 55 ++++++--------------- 2 files changed, 18 insertions(+), 39 deletions(-) diff --git a/TODO b/TODO index 249de715e..ae6ee31fb 100644 --- a/TODO +++ b/TODO @@ -17,6 +17,8 @@ Target for 2.4.1: * Change FAIstate when triggering actions (install, sysinfo, softupdate) +* Fix error messages on login + * Fix DNS plugin * Zones are not creatable, currently * Error messages are partly wrong diff --git a/plugins/admin/systems/class_servGeneric.inc b/plugins/admin/systems/class_servGeneric.inc index a28ed75b7..92e5b46be 100644 --- a/plugins/admin/systems/class_servGeneric.inc +++ b/plugins/admin/systems/class_servGeneric.inc @@ -17,6 +17,7 @@ class servgeneric extends plugin var $l= ""; var $description= ""; var $orig_dn= ""; + var $didAction= FALSE; /* attribute list for save action */ var $attributes= array("cn", "description","gotoMode"); @@ -51,8 +52,8 @@ class servgeneric extends plugin function execute() { - /* Call parent execute */ - plugin::execute(); + /* Call parent execute */ + plugin::execute(); /* Do we represent a valid server? */ if (!$this->is_account && $this->parent == NULL){ @@ -63,42 +64,16 @@ class servgeneric extends plugin /* Check for action */ if (isset($_POST['action'])){ - switch($_POST['action']){ - case 'wake': - $cmd= search_config($this->config->data['TABS'], "servgeneric", "WAKECMD"); - if ($cmd == ""){ - print_red(_("No WAKECMD definition found in your gosa.conf")); - } else { - exec ($cmd." ".$this->netConfigDNS->macAddress, $dummy, $retval); - if ($retval != 0){ - print_red(sprintf(_("Execution of '%s' failed!"), $cmd)); - } - } - break; - - case 'reboot': - $cmd= search_config($this->config->data['TABS'], "servgeneric", "REBOOTCMD"); - if ($cmd == ""){ - print_red(_("No REBOOTCMD definition found in your gosa.conf")); - } else { - exec ($cmd." ".$this->cn, $dummy, $retval); - if ($retval != 0){ - print_red(sprintf(_("Execution of '%s' failed!"), $cmd)); - } - } - break; - - case 'halt': - $cmd= search_config($this->config->data['TABS'], "servgeneric", "HALTCMD"); - if ($cmd == ""){ - print_red(_("No HALTCMD definition found in your gosa.conf")); - } else { - exec ($cmd." ".$this->cn, $dummy, $retval); - if ($retval != 0){ - print_red(sprintf(_("Execution of '%s' failed!"), $cmd)); - } - } - break; + $cmd= search_config($this->config->data['TABS'], "workgeneric", "ACTIONCMD"); + if ($cmd == ""){ + print_red(_("No ACTIONCMD definition found in your gosa.conf")); + } else { + exec ($cmd." ".$this->netConfigDNS->macAddress." ".escapeshellarg($_POST['saction']), $dummy, $retval); + if ($retval != 0){ + print_red(sprintf(_("Execution of '%s' failed!"), $cmd)); + } else { + $this->didAction= TRUE; + } } } @@ -287,7 +262,9 @@ class servgeneric extends plugin show_ldap_error($ldap->get_error(), _("Saving server failed")); /* Optionally execute a command after we're done */ - $this->handle_post_events($mode); + if(!$this->didAction){ + $this->handle_post_events($mode); + } } } -- 2.30.2