imap_setacl

(PHP 4 >= 4.0.7, PHP 5, PHP 7)

imap_setaclSets the ACL for a given mailbox

Descrierea

imap_setacl ( resource $imap , string $mailbox , string $user_id , string $rights ) : bool

Sets the ACL for a giving mailbox.

Parametri

imap_stream

Un flux IMAP întors de imap_open().

mailbox

The mailbox name, see imap_open() for more information

Avertizare

Transmiterea datelor neverificate către acest parametru este primejdioasă, doar dacă nu a fost dezactivată opțiunea imap.enable_insecure_rsh.

user_id

The user to give the rights to.

rights

The rights to give to the user. Passing an empty string will delete acl.

Valorile întoarse

Întoarce valoarea true în cazul succesului sau false în cazul eșecului.

Note

This function is currently only available to users of the c-client2000 or greater library.

A se vedea și

add a note add a note

User Contributed Notes 2 notes

up
0
hartmut dot woehrle at hwds dot ch
8 years ago
After getting the ACL's from imap_getacl you want to set them for a user on any mailbox folder like this:

foreach ( $Folders as $key => $Maildir ) {
imap_setacl($domains , "user/john.doe/".$Maildir , $userid, "lrswipkxte");
}

You can use a form that translates the ACLs like the following (thanks to cyradm manual):

  switch ($right) {
      case "read" :  $aclstring = "lrs";
          break;
      case "post" : $aclstring = "lrsp";
          break;
      case "append" : $aclstring = "lrsip";
          break;
      case "write" : $aclstring = "lrswipkxte";
          break;
      case "delete" : $aclstring = "lrxte";
          break;
      case "all" : $aclstring = "lrswipkxte";
          break;
      case "admin" : $aclstring = "lrswipkxtea";
          break;
      case "none" : $aclstring = "";
          break;
  }
up
0
panayotis at yellownetroad dot com
21 years ago
I noticed that using:
imap_setacl ($conn, $mbox, $userid, "")
will act like:
"deleteaclmailbox $mbox $userid"  (remove the ACL on mailbox for userid).
To Top