예제 #1
0
 /**
  * Mail enable a contact
  * Allows email to be sent to them through Exchange
  * 
  * @param string $distinguishedName The contact to mail enable
  * @param string $emailAddress The email address to allow emails to be sent through
  * @param string $mailNickname The mailnickname for the contact in Exchange.  If NULL this will be set to the display name
  * @return bool
  */
 public function contactMailEnable($distinguishedName, $emailAddress, $mailNickname = NULL)
 {
     if ($distinguishedName === NULL) {
         return "Missing compulsory field [distinguishedName]";
     }
     if ($emailAddress === NULL) {
         return "Missing compulsory field [emailAddress]";
     }
     if ($mailNickname !== NULL) {
         // Find the dn of the user
         $user = $this->adldap->contact()->info($distinguishedName, array("cn", "displayname"));
         if ($user[0]["displayname"] === NULL) {
             return false;
         }
         $mailNickname = $user[0]['displayname'][0];
     }
     $attributes = array("email" => $emailAddress, "contact_email" => "SMTP:" . $emailAddress, "exchange_proxyaddress" => "SMTP:" . $emailAddress, "exchange_mailnickname" => $mailNickname);
     // Translate the update to the LDAP schema
     $mod = $this->adldap->adldap_schema($attributes);
     // Check to see if this is an enabled status update
     if (!$mod) {
         return false;
     }
     // Do the update
     $result = ldap_modify($this->adldap->getLdapConnection(), $distinguishedName, $mod);
     if ($result == false) {
         return false;
     }
     return true;
 }