throw new Exception("if password_changeable is set, the password attribute and password_encoding must also be specified");
}
}
+
+ function onAutoload($cls)
+ {
+ switch ($cls)
+ {
+ case 'MemcacheSchemaCache':
+ require_once(INSTALLDIR.'/plugins/LdapAuthentication/MemcacheSchemaCache.php');
+ return false;
+ default:
+ return parent::onAutoload($cls);
+ }
+ }
//---interface implementation---//
}
if($config == null) $this->default_ldap=$ldap;
- if (isset($this->schema_cachefile)) {
- $cacheConfig = array(
- 'path' => $this->schema_cachefile,
- 'max_age' => (isset($this->schema_maxage) ? $this->schema_maxage : 1200 )
- );
- $cacheObj = new Net_LDAP2_SimpleFileSchemaCache($cacheConfig);
+ $c = common_memcache();
+ if (!empty($c)) {
+ $cacheObj = new MemcacheSchemaCache(
+ array('c'=>$c,
+ 'cacheKey' => common_cache_key('ldap_schema:' . crc32(serialize($config)))));
$ldap->registerSchemaCache($cacheObj);
}
return $ldap;