index 630a580007a98d24cd939915ee5b161401ed8668..9031196e98ad2535883807e3f5f869e0e482f226 100644 (file)
return (TRUE);
}
- function setSharedFolderPermissions($folder, $permissions)
- {
- }
function deleteMailbox($folder)
{
{
/* Convert attributes and objectClasses */
foreach ($this->attribute_map as $dest => $source){
+ /* Hickert 11.11.05 : Alternate email addresses were saved, but not displayed again.
+ if (isset($mailObject->attrs[$source])){
+ $mailObject->attrs[$dest]= $mailObject->attrs[$source];
+ unset ($mailObject->attrs[$source]);
+ */
+
if (isset($mailObject->attrs[$source])){
+ unset($mailObject->attrs[$source]['count']);
$mailObject->attrs[$dest]= $mailObject->attrs[$source];
+ $mailObject->$dest= $mailObject->attrs[$source];
+
+ unset ($mailObject->$dest['count']);
unset ($mailObject->attrs[$source]);
}
}
}
$objectclasses= array();
foreach ($mailObject->attrs['objectClass'] as $oc){
- if ($oc != 'kolabInetOrgPerson'){
+ if ($oc != 'kolabInetOrgPerson' && $oc != 'kolabSharedFolder'){
$objectclasses[]= $oc;
}
}
-
- $mailObject->attrs['cyrus-userquota'] = ( $mailObject->gosaMailQuota/1024);
-
$mailObject->attrs['objectClass']= $objectclasses;
- $mailObject->attrs['objectClass'][]= 'kolabInetOrgPerson';
+ if (in_array("posixGroup", $mailObject->attrs['objectClass'])){
+ $mailObject->attrs['objectClass'][]= 'kolabSharedFolder';
+
+ /* Work on acl attribute */
+ $new_acl= array();
+ foreach ($mailObject->attrs['acl'] as $uacl){
+ list($user, $acl) = split(" ", $uacl);
+ if ($user != "%members%"){
+ $new_acl[$user]= $uacl;
+ } else {
+ foreach ($mailObject->members as $member){
+ $new_acl[$member]= "$member $acl";
+ }
+ }
+ }
+ $mailObject->attrs['acl']= array();
+ foreach ($new_acl as $key => $value){
+ $mailObject->attrs['acl'][]= $value;
+ }
+ } else {
+ $mailObject->attrs['objectClass'][]= 'kolabInetOrgPerson';
+ }
/* Remove imap:// tagging */
$mailObject->attrs['kolabHomeServer']= preg_replace('%imap://%', '', $mailObject->attrs['kolabHomeServer']);