Exemple #1
0
 public static function getByEmail($email)
 {
     // create LDAP connection
     //
     $ldapConnectionConfig = Config::get('ldap.connections.' . App::environment());
     $ldapHost = $ldapConnectionConfig['host'];
     $ldapPort = $ldapConnectionConfig['port'];
     $ldapConnection = ldap_connect($ldapHost, $ldapPort);
     if ($ldapConnection) {
         // query LDAP for user info
         //
         ldap_set_option($ldapConnection, LDAP_OPT_PROTOCOL_VERSION, 3);
         $ldapUser = $ldapConnectionConfig['users']['web_user'];
         $ldapbind = ldap_bind($ldapConnection, $ldapUser['user'], $ldapUser['password']);
         $dn = 'ou=people,o=SWAMP,dc=cosalab,dc=org';
         $filter = 'mail=' . LdapSanitize::escapeQueryValue($email);
         $searchResults = ldap_search($ldapConnection, $dn, $filter);
         $entries = ldap_get_entries($ldapConnection, $searchResults);
         // close LDAP connection
         //
         ldap_close($ldapConnection);
         // convert LDAP entry to user
         //
         if (sizeof($entries) > 1) {
             return self::entrytoUser($entries[0]);
         } else {
             return null;
         }
     } else {
         return false;
     }
 }
 public function testEscapesWildcardEmail()
 {
     $this->assertEquals("user@\\2a", LdapSanitize::escapeQueryValue("user@*"));
 }