]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fix some regressions caused by refactor of LDAP plugin
authorCraig Andrews <candrews@integralblue.com>
Wed, 24 Mar 2010 01:50:31 +0000 (21:50 -0400)
committerCraig Andrews <candrews@integralblue.com>
Wed, 24 Mar 2010 01:50:31 +0000 (21:50 -0400)
plugins/LdapAuthentication/LdapAuthenticationPlugin.php
plugins/LdapCommon/LdapCommon.php

index a55c45ff57ad5a0f3db81a11d06e792021d69683..2e01738ec37501b7e47e91045a28c563aa5b2bd5 100644 (file)
@@ -118,7 +118,7 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
 
     function suggestNicknameForUsername($username)
     {
-        $entry = $this->ldap_get_user($username, $this->attributes);
+        $entry = $this->ldapCommon->get_user($username, $this->attributes);
         if(!$entry){
             //this really shouldn't happen
             $nickname = $username;
index 39d872df53f9503bb837beee219f352293bbeafe..e2ca569f391598d8fa534d019d3c994b20e81053 100644 (file)
@@ -47,7 +47,7 @@ class LdapCommon
     public $uniqueMember_attribute = null;
     public $attributes=array();
     public $password_encoding=null;
-    
+
     public function __construct($config)
     {
         Event::addHandler('Autoload',array($this,'onAutoload'));
@@ -68,7 +68,7 @@ class LdapCommon
     }
 
     function onAutoload($cls)
-    {   
+    {
         switch ($cls)
         {
          case 'MemcacheSchemaCache':
@@ -77,6 +77,15 @@ class LdapCommon
          case 'Net_LDAP2':
             require_once 'Net/LDAP2.php';
             return false;
+         case 'Net_LDAP2_Filter':
+            require_once 'Net/LDAP2/Filter.php';
+            return false;
+         case 'Net_LDAP2_Filter':
+            require_once 'Net/LDAP2/Filter.php';
+            return false;
+         case 'Net_LDAP2_Entry':
+            require_once 'Net/LDAP2/Entry.php';
+            return false;
         }
     }
 
@@ -97,8 +106,9 @@ class LdapCommon
             $config = $this->ldap_config;
         }
         $config_id = crc32(serialize($config));
-        $ldap = self::$ldap_connections[$config_id];
-        if(! isset($ldap)) {
+        if(array_key_exists($config_id,self::$ldap_connections)) {
+            $ldap = self::$ldap_connections[$config_id];
+        } else {
             //cannot use Net_LDAP2::connect() as StatusNet uses
             //PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handleError');
             //PEAR handling can be overridden on instance objects, so we do that.
@@ -197,10 +207,10 @@ class LdapCommon
             return false;
         }
     }
-    
+
     /**
      * get an LDAP entry for a user with a given username
-     * 
+     *
      * @param string $username
      * $param array $attributes LDAP attributes to retrieve
      * @return string DN
@@ -212,7 +222,7 @@ class LdapCommon
             'attributes' => $attributes
         );
         $search = $ldap->search(null,$filter,$options);
-        
+
         if (PEAR::isError($search)) {
             common_log(LOG_WARNING, 'Error while getting DN for user: '.$search->getMessage());
             return false;