ScotlandPHP 2016

imap_setacl

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

imap_setaclModifie le ACL de la boîte aux lettres

Description

bool imap_setacl ( resource $imap_stream , string $mailbox , string $id , string $rights )

Définit l'ACL pour la boîte aux lettres donnée.

Liste de paramètres

imap_stream

Un flux IMAP retourné par la fonction imap_open().

mailbox

Le nom de la boîte aux lettres, voir la documentation de la fonction imap_open() pour plus de détails

id

L'identifiant de l'utilisateur dont on veut définir les droits.

rights

Les droits à donner à l'utilisateur. Le fait de passer une chaîne vide effacera l'ACL.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Notes

Cette fonction n'est actuellement disponible que pour les utilisateurs de la bibliothèque c-client2000 ou supérieur.

Voir aussi

add a note add a note

User Contributed Notes 2 notes

up
0
hartmut dot woehrle at hwds dot ch
5 months 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
13 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