Changeset 7070


Ignore:
Timestamp:
08/20/12 16:27:55 (7 years ago)
Author:
marcosw
Message:

Ticket #3053 - Correção de atributos de permissões IMAP ao mover/excluir

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r7067 r7070  
    21592159                $acl = $this->getacltouser($folder, isset($params['decoded'])); 
    21602160                /* 
    2161                         * l - lookup - Mailbox is visible in mailbox list. Mailbox can be subscribed to. 
    2162                         * r - read - Mailbox can be opened for reading. 
    2163                         * w - write - Message flags and keywords can be changed, except \Seen and \Deleted 
    2164                         * s - write-seen - \Seen flag can be changed 
    2165                         * t - write-deleted - \Deleted flag can be changed 
    2166                         * i - insert - Messages can be written or copied to the mailbox 
    2167                         * p - post - Messages can be posted to the mailbox by LDA, e.g. from Sieve scripts 
    2168                         * e - expunge - Messages can be expunged 
    2169                         * k - create - Mailboxes can be created (or renamed) directly under this mailbox (but not necessarily under its children, see ACL Inheritance section above) (renaming also requires delete rights) 
    2170                         * x - delete - Mailbox can be deleted 
    2171                         * a - admin - Administration rights to the mailbox (currently: ability to change ACLs for mailbox)  
     2161                        * l - lookup (mailbox is visible to LIST/LSUB commands, SUBSCRIBE mailbox) 
     2162                        * r - read (SELECT the mailbox, perform STATUS) 
     2163                        * s - keep seen/unseen information across sessions (set or clear \SEEN flag via STORE, also set \SEEN during APPEND/COPY/        FETCH BODY[...]) 
     2164                        * w - write (set or clear flags other than \SEEN and \DELETED via STORE, also set them during APPEND/COPY) 
     2165                        * i - insert (perform APPEND, COPY into mailbox) 
     2166                        * p - post (send mail to submission address for mailbox, not enforced by IMAP4 itself) 
     2167                        * k - create mailboxes (CREATE new sub-mailboxes in any implementation-defined hierarchy, parent mailbox for the new mailbox name in RENAME) 
     2168                        * x - delete mailbox (DELETE mailbox, old mailbox name in RENAME) 
     2169                        * t - delete messages (set or clear \DELETED flag via STORE, set \DELETED flag during APPEND/COPY) 
     2170                        * e - perform EXPUNGE and expunge as a part of CLOSE 
     2171                        * a - administer (perform SETACL/DELETEACL/GETACL/LISTRIGHTS) 
     2172                        * Atributos da ACL para pastas compartilhadas são definidos no arquivo sharemailbox.js, na função setaclfromuser 
     2173                        * Atributos da ACL para contas compartilhadas são definidos no arquivo shared_accounts.js, na função setaclfromuser 
    21722174                        */ 
    2173                         if (strpos($acl, "x") === false || strpos($acl, "t") === false || strpos($acl, "e") === false){ 
     2175                        $acl_share_delete = (stripos($acl,'t') !== false && stripos($acl,'e') !== false); 
     2176 
     2177                        if (!$acl_share_delete) { 
    21742178                                $return['status'] = false; 
    21752179                        } 
     
    34743478        if (substr($folder,0,4) == 'user'){ 
    34753479                $acl = $this->getacltouser($folder, isset($params['decoded'])); 
     3480 
    34763481                /* 
    3477                         * l - lookup - Mailbox is visible in mailbox list. Mailbox can be subscribed to. 
    3478                         * r - read - Mailbox can be opened for reading. 
    3479                         * w - write - Message flags and keywords can be changed, except \Seen and \Deleted 
    3480                         * s - write-seen - \Seen flag can be changed 
    3481                         * t - write-deleted - \Deleted flag can be changed 
    3482                         * i - insert - Messages can be written or copied to the mailbox 
    3483                         * p - post - Messages can be posted to the mailbox by LDA, e.g. from Sieve scripts 
    3484                         * e - expunge - Messages can be expunged 
    3485                         * k - create - Mailboxes can be created (or renamed) directly under this mailbox (but not necessarily under its children, see ACL Inheritance section above) (renaming also requires delete rights) 
    3486                         * x - delete - Mailbox can be deleted 
    3487                         * a - admin - Administration rights to the mailbox (currently: ability to change ACLs for mailbox)  
     3482                        * l - lookup (mailbox is visible to LIST/LSUB commands, SUBSCRIBE mailbox) 
     3483                        * r - read (SELECT the mailbox, perform STATUS) 
     3484                        * s - keep seen/unseen information across sessions (set or clear \SEEN flag via STORE, also set \SEEN during APPEND/COPY/        FETCH BODY[...]) 
     3485                        * w - write (set or clear flags other than \SEEN and \DELETED via STORE, also set them during APPEND/COPY) 
     3486                        * i - insert (perform APPEND, COPY into mailbox) 
     3487                        * p - post (send mail to submission address for mailbox, not enforced by IMAP4 itself) 
     3488                        * k - create mailboxes (CREATE new sub-mailboxes in any implementation-defined hierarchy, parent mailbox for the new mailbox name in RENAME) 
     3489                        * x - delete mailbox (DELETE mailbox, old mailbox name in RENAME) 
     3490                        * t - delete messages (set or clear \DELETED flag via STORE, set \DELETED flag during APPEND/COPY) 
     3491                        * e - perform EXPUNGE and expunge as a part of CLOSE 
     3492                        * a - administer (perform SETACL/DELETEACL/GETACL/LISTRIGHTS) 
     3493                        * Os Atributos da ACL para pastas compartilhadas são definidos no arquivo sharemailbox.js, na função setaclfromuser 
     3494                        * Os Atributos da ACL para contas compartilhadas são definidos no arquivo shared_accounts.js, na função setaclfromuser 
    34883495                        */ 
    3489                         if (strpos($acl, "x") === false || strpos($acl, "t") === false || strpos($acl, "e") === false){ 
     3496                        $acl_share_delete = (stripos($acl,'t') !== false && stripos($acl,'e') !== false); 
     3497 
     3498                        if (!$acl_share_delete) { 
    34903499                                $return['status'] = false; 
    34913500                                return $return; 
Note: See TracChangeset for help on using the changeset viewer.