/** * Look up the group by name. * @param string $name the name of the group to locate * @return Group_Definition */ public function lookup_group_by_name($name) { $result = @ldap_search(self::$_connection, self::$_params["group_domain"], "cn={$name}", explode(",", LDAP_GROUP_ATTRIBUTES)); $entry_id = ldap_first_entry(self::$_connection, $result); if ($entry_id !== false) { $cn_entry = ldap_get_values(self::$_connection, $entry_id, "cn"); $gid_number_entry = ldap_get_values(self::$_connection, $entry_id, "gidNumber"); if (in_array($cn_entry[0], self::$_params["groups"])) { return new Ldap_Group($gid_number_entry[0], $cn_entry[0]); } } if ($name == self::$_params["everybody_group"]) { if (!self::$_everybody_group) { self::$_everybody_group = new Ldap_Group(LDAP_EVERYBODY_ID, $name); } return self::$_everybody_group; } if ($name == self::$_params["registered_users_group"]) { if (!self::$_registered_users_group) { self::$_registered_users_group = new Ldap_Group(LDAP_REGISTERED_USERS_ID, $name); } return self::$_registered_users_group; } return null; }