1
0

If the user name is "admin", then use the first user name in the 'admins' driver parameter.

This commit is contained in:
Tim Almdal 2009-10-23 06:17:21 -07:00
parent 57f331250d
commit 952322cd95

View File

@ -34,32 +34,6 @@ class IdentityProvider_Ldap_Driver implements IdentityProvider_Driver {
ldap_bind(self::$_connection);
}
/**
* @see IdentityProvider_Driver::activate.
*/
public function activate() {
foreach (self::$_params["groups"] as $group_name) {
$root = item::root();
$group = $this->lookup_group_by_name($group_name);
module::event("group_created", $group);
access::allow($group, "view", $root);
access::allow($group, "view_full", $root);
}
$admin = $this->lookup_user_by_name(self::$_params["admins"][0]);
Database::instance()->query("UPDATE {items} SET owner_id = {$admin->id}");
}
/**
* @see IdentityProvider_Driver::deactivate.
*/
public function deactivate() {
// Delete all groups so that we give other modules an opportunity to clean up
foreach (self::$_params["groups"] as $group_name) {
$group = $this->lookup_group_by_name($group_name);
module::event("group_deleted", $group);
}
}
/**
* @see IdentityProvider_Driver::guest.
*/
@ -110,8 +84,14 @@ class IdentityProvider_Ldap_Driver implements IdentityProvider_Driver {
/**
* @see IdentityProvider_Driver::lookup_user_by_name.
*
* Special processing: if the supplied name is admin then look up the first user
* specified by the "admins" driver params
*/
public function lookup_user_by_name($name) {
if ($name == "admin") {
$name = self::$_params["admins"][0];
}
$result = ldap_search(self::$_connection, self::$_params["user_domain"], "uid=$name");
$entries = ldap_get_entries(self::$_connection, $result);
if ($entries["count"] > 0) {