index 4244e40dd8252b298da643c4aa7a55578883a098..ad41a149fba046e79b2dd943fa4c53faa773871d 100644 (file)
/* Object information */
var $goImapName= "";
+ var $goImapName_old= "";
var $goImapConnect= "";
var $goImapAdmin= "";
var $goImapPassword= "";
var $goFonPassword= "";
var $goFonAreaCode= "";
var $goFonCountryCode= "";
+ var $ignore_account= TRUE;
/* attribute list for save action */
var $attributes= array("goImapName", "goImapConnect", "goImapAdmin", "goImapPassword",
}
}
+ /* We need to save the historical state of goImapName for later checking */
+ $this->goImapName_old= $this->goImapName;
+
/* Always is account... */
$this->is_account= TRUE;
}
$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])){
$smarty->assign("$oc", "checked");
+ $smarty->assign("$oc"."State", "");
$smarty->assign("$oc"."ACL", chkacl($this->acl, $oc));
+
} else {
+ $smarty->assign("$oc", "");
+ $smarty->assign("$oc"."ACL", chkacl($this->acl, $oc));
$smarty->assign("$oc"."State", "disabled");
}
}
/* Save data to object */
function save_object()
{
- plugin::save_object();
-
- /* Save checkbox state */
- foreach ($this->additionaloc as $oc => $dummy){
- if (isset($_POST[$oc]) && $_POST[$oc] == '1'){
- $this->objectclasses[$oc]= $oc;
- } else {
- unset($this->objectclasses[$oc]);
+ if (isset($_POST['dbtab'])){
+ plugin::save_object();
+
+ /* Save checkbox state */
+ foreach ($this->additionaloc as $oc => $dummy){
+ if (isset($_POST[$oc]) && $_POST[$oc] == '1'){
+ $this->objectclasses[$oc]= $oc;
+ } else {
+ unset($this->objectclasses[$oc]);
+ }
}
}
}
}
}
}
+ if (in_array("goImapServer", $this->objectclasses) &&
+ $this->goImapName != $this->goImapName_old) {
+ // Attribute has changed
+ if(!preg_match("/^[a-z0-9.-]+$/", $this->goImapName)) {
+ $message[]= sprintf(_("The imap name string needs to be a hostname or an IP-address."));
+ }
+ }
return ($message);
}
unset($tmp[$key]);
}
- foreach($tmp as $val){
- if(in_array($val,$test)){
- $tmp[$val];
- }
- }
-
$classes = (array_flip(array_merge(array_flip($test),$tmp)));
unset($this->attrs['objectClass']);
}
$this->attrs = array_reverse($this->attrs);
-
/* Write to LDAP */
$ldap= $this->config->get_ldap_link();
$ldap->cd($this->dn);