Ejemplo n.º 1
0
 /**
  * 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;
 }