diff --git a/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc b/gosa-plugins/goto/admin/systems/goto/class_workstationStartup.inc
index ca041d97b073ec04a421c93412f080438a0059ed..59582f76dc5a0c750d1d06fc90a8dfbc7d3fc564 100644 (file)
<?php
class workstartup extends plugin
{
- /* CLI vars */
- var $cli_summary= "Manage terminal startup options";
- var $cli_description= "Some longer text\nfor help";
- var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser");
-
/* Ldap server list */
var $gotoLdapServers = array();
var $gotoLdapServerList = array();
}
/* Check if LDAP server has changed */
- $ldap_changed= ($this->attrs['gotoLdapServer'] != $this->saved_attributes['gotoLdapServer']);
+ $ldap_changed= (isset($this->attrs['gotoLdapServer'])) &&
+ (isset($this->saved_attributes['gotoLdapServer'])) &&
+ ($this->attrs['gotoLdapServer'] != $this->saved_attributes['gotoLdapServer']);
if (($this->attrs['gotoBootKernel'] == "default-inherited") || ($this->attrs['gotoBootKernel'] == "%default%")){
$this->attrs['gotoBootKernel']= array();
$ldap->modify ($this->attrs);
new log("modify","workstation/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
- show_ldap_error($ldap->get_error(), sprintf(_("Saving of system workstation/startup with dn '%s' failed."),$this->dn));
+ if (!$ldap->success()){
+ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class()));
+ }
$this->handle_post_events("modify");
/* Check if LDAP server has changed */
- if ($ldap_changed){
- gosaSupportDaemon::send("gosa_reload_ldap_config", $this->parent->by_object['workgeneric']->netConfigDNS->macAddress);
+ if ($ldap_changed && class_available("DaemonEvent")){
+ $events = DaemonEvent::get_event_types(SYSTEM_EVENT | HIDDEN_EVENT);
+ $o_queue = new gosaSupportDaemon();
+ if(isset($events['TRIGGERED']['DaemonEvent_reload_ldap_config'])){
+ $evt = $events['TRIGGERED']['DaemonEvent_reload_ldap_config'];
+ $tmp = new $evt['CLASS_NAME']($this->config);
+ $tmp->set_type(TRIGGERED_EVENT);
+ $tmp->add_targets(array($this->parent->by_object['workgeneric']->netConfigDNS->macAddress));
+ if(!$o_queue->append($tmp)){
+ msg_dialog::display(_("Daemon"),sprintf(_("Something went wrong while talking to the daemon: %s."),
+ $o_queue->get_error()),ERROR_DIALOG);
+ }
+ }
}
-
}