diff --git a/plugins/personal/connectivity/class_kolabAccount.inc b/plugins/personal/connectivity/class_kolabAccount.inc
index 09c3e83330410a2c1685a5c968918f85aef8c7fc..2b5ae71c864e4d6a8fca2f7367dc92493ea134f6 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 account states for this union */
- if ($this->parent->by_object['mailAccount']->is_account){
+ if (isset($this->parent) && $this->parent->by_object['mailAccount']->is_account){
$smarty->assign('is_account', 'true');
} else {
$smarty->assign('is_account', '');
/* 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);
}
}
/* 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);
+ $this->cleanup();
+$ldap->modify ($this->attrs);
+
show_ldap_error($ldap->get_error());
/* Optionally execute a command after we're done */