diff --git a/plugins/personal/connectivity/class_kolabAccount.inc b/plugins/personal/connectivity/class_kolabAccount.inc
index b55cc9d6410237077d0d5d698da078b26194af6b..16e23b9fa12cecc0176ba893c4eb4d04f112de33 100644 (file)
/* attribute list for save action */
var $attributes= array( "kolabFreeBusyFuture", "unrestrictedMailSize", "calFBURL");
- var $objectclasses= array();
+ var $objectclasses= array("kolab");
/* Helper */
var $imapping= array();
function execute()
{
+ /* Call parent execute */
+// plugin::execute();
+
/* Show tab dialog headers */
$display= "";
$ldap= $this->config->get_ldap_link();
$ldap->cd ($this->config->current['BASE']);
- $ldap->search('(mail='.$address.')');
+ $ldap->search('(mail='.$address.')',array("mail"));
if ($ldap->count() == 0){
print_red (_("The mail address you're trying to add is no primary mail address of an existing user."));
} else {
/* Transfer delegation list */
if (!count($this->kolabDelegate)){
- $smarty->assign("kolabDelegate", array(""));
+ /* Smarty will produce <option value=""></option> and tidy don't like that, so tell smarty to create no option (array();)*/
+ $smarty->assign("kolabDelegate", array());
} else {
$smarty->assign("kolabDelegate", $this->kolabDelegate);
}
function check()
{
- $message= array();
+ /* Call common method to give check the hook */
+ $message= plugin::check();
/* FBFuture is in days... */
if ($this->kolabFreeBusyFuture != "" && !preg_match('/^[0-9]+$/', $this->kolabFreeBusyFuture)){
}
/* Check for URL scheme... */
- if ($this->calFBURL != "" && !preg_match('/^[^:/]+://[a-z0-9_/.+~-]+$/i', $this->calFBURL)){
+ if ($this->calFBURL != "" && !@preg_match('/^[^:/]+://[a-z0-9_/.+~-]+$/i', $this->calFBURL)){
$message[]= _("The value specified as Free Busy Information URL is invalid.");
}
$ldap= $this->config->get_ldap_link();
$ldap->cd ($this->config->current['BASE']);
- $ldap->search('(mail='.$address.')');
+ $ldap->search('(mail='.$address.')',array("mail"));
if ($ldap->count() == 0){
$message[]= sprintf(_("There's no mail user with address '%s' for your invitation policy!"), $address);
} else {
/* Save to LDAP */
function save()
{
+ /* Check mailmethod before doing something useful */
plugin::save();
/* Transfer arrays */
/* Write back 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 Kolab account failed"));
/* Optionally execute a command after we're done */
if ($this->initially_was_account == $this->is_account){