X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_servDB.inc;h=1275580057ad572b3f278fbbe740a87c4e8fa361;hb=d59800c1cb10d2d61ac402e4e4e5253a19810a02;hp=58b26e7663f4159e4fd49fd2350da308bcde0766;hpb=a538ce94f56ab3babfc21540818fa71fe5ac9e4c;p=gosa.git diff --git a/plugins/admin/systems/class_servDB.inc b/plugins/admin/systems/class_servDB.inc index 58b26e766..127558005 100644 --- a/plugins/admin/systems/class_servDB.inc +++ b/plugins/admin/systems/class_servDB.inc @@ -27,6 +27,10 @@ class servdb extends plugin var $goFonAreaCode= ""; var $goFonCountryCode= ""; var $ignore_account= TRUE; + var $goGlpiAdmin=""; + var $goGlpiDatabase = ""; + var $goGlpiPassword =""; + /* attribute list for save action */ var $attributes= array("goImapName", "goImapConnect", "goImapAdmin", "goImapPassword", @@ -47,9 +51,9 @@ class servdb extends plugin "goFonServer" => array("goFonAdmin", "goFonPassword", "goFonAreaCode", "goFonCountryCode")); - function servdb ($config, $dn= NULL) + function servdb ($config, $dn= NULL, $parent= NULL) { - plugin::plugin ($config, $dn); + plugin::plugin ($config, $dn, $parent); /* Make dynamic list of objectClasses */ foreach ($this->additionaloc as $oc => $dummy){ @@ -79,9 +83,6 @@ class servdb extends plugin $smarty->assign("$attr"."ACL", chkacl($this->acl, $attr)); } - /* Don't show Asterisk for non-required attribute ipHostNumber and macAddress */ - $smarty->assign("staticAddress", ""); - /* Classes... */ foreach ($this->additionaloc as $oc => $dummy){ if (isset($this->objectclasses[$oc])){ @@ -126,7 +127,16 @@ class servdb extends plugin /* Check supplied data */ function check() { - $message= array(); + /* Call common method to give check the hook */ + $message= plugin::check(); + + if(in_array("goGlpiServer",$this->objectclasses)){ + foreach(array("goGlpiAdmin","goGlpiDatabase") as $attr){ + if(empty($this->$attr)){ + $message[]= sprintf(_("The attribute '%s' is empty or contains invalid characters."), $attr); + } + } + } /* All fields are marked as *must* */ if (in_array("goImapServer", $this->objectclasses)){ @@ -136,6 +146,7 @@ class servdb extends plugin } } + /* Check connect string */ if (!preg_match('/^\{[^:]+:[0-9]+.*\}$/', $this->goImapConnect)){ $message[]= sprintf(_("The imap connect string needs to be in the form '%s'."), @@ -228,13 +239,15 @@ class servdb extends plugin /* Write to LDAP */ $ldap= $this->config->get_ldap_link(); $ldap->cd($this->dn); - $ldap->modify($this->attrs); - show_ldap_error($ldap->get_error()); + $this->cleanup(); + $ldap->modify ($this->attrs); + + show_ldap_error($ldap->get_error(), _("Saving server db settings failed")); /* Optionally execute a command after we're done */ if ($this->initially_was_account == $this->is_account){ if ($this->is_modified){ - $this->handle_post_events("mofify"); + $this->handle_post_events("modify"); } } else { $this->handle_post_events("add");