"alias", "gosaMailQuota" => "cyrus-userquota", "gosaMailServer" => "kolabHomeServer"); function mailMethodKolab($config) { $this->config= $config->data['SERVERS']['IMAP']; } function updateMailbox($folder) { } function setQuota($folder, $gosaMailQuota) { return (TRUE); } function setSharedFolderPermissions($folder, $permissions) { } function deleteMailbox($folder) { return (TRUE); } function fixAttributesOnLoad(&$mailObject) { /* Convert attributes and objectClasses */ foreach ($this->attribute_map as $dest => $source){ if (isset($mailObject->attrs[$source])){ $mailObject->attrs[$dest]= $mailObject->attrs[$source]; unset ($mailObject->attrs[$source]); } } // without this line gosaMailQuota is in MB instead of KB if(isset($mailObject->attrs['gosaMailQuota'][0])){ $mailObject->gosaMailQuota=$mailObject->attrs['gosaMailQuota'][0]; } /* Adjust server name if needed */ foreach ($mailObject->config->data['SERVERS']['IMAP'] as $srv => $dummy){ if (preg_match("%".$mailObject->attrs['gosaMailServer'][0]."$%", $srv)){ $mailObject->attrs['gosaMailServer']= array(0 => $srv, "count" => 1); break; } } } function fixAttributesOnStore(&$mailObject) { /* Convert attributes and objectClasses */ foreach ($this->attribute_map as $source => $dest){ if (isset($mailObject->attrs[$source])){ $mailObject->attrs[$dest]= $mailObject->attrs[$source]; unset ($mailObject->attrs[$source]); } } $objectclasses= array(); foreach ($mailObject->attrs['objectClass'] as $oc){ if ($oc != 'kolabInetOrgPerson'){ $objectclasses[]= $oc; } } $mailObject->attrs['gosaMailQuota'] = ( $mailObject->gosaMailQuota/1024); $mailObject->attrs['objectClass']= $objectclasses; $mailObject->attrs['objectClass'][]= 'kolabInetOrgPerson'; /* Remove imap:// tagging */ $mailObject->attrs['kolabHomeServer']= preg_replace('%imap://%', '', $mailObject->attrs['kolabHomeServer']); $mailObject->attrs['gosaMailServer']= $mailObject->attrs['kolabHomeServer']; $mailObject->attrs['kolabDeleteFlag']= array(); } function fixAttributesOnRemove(&$mailObject) { /* Add attribute for object deletion and remove GOsa specific values from entry. */ unset ($mailObject->attrs['mail']); $mailObject->attrs['kolabDeleteFlag']= preg_replace('%imap://%', '', $mailObject->gosaMailServer); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>