예제 #1
0
파일: Schema.php 프로젝트: alab1001101/zf2
 /**
  * Factory method to create the Schema node.
  *
  * @param  \Zend\LDAP\LDAP $ldap
  * @return \Zend\LDAP\Node\Schema\Schema
  * @throws \Zend\LDAP\Exception
  */
 public static function create(LDAP\LDAP $ldap)
 {
     $dn = $ldap->getRootDse()->getSchemaDn();
     $data = $ldap->getEntry($dn, array('*', '+'), true);
     switch ($ldap->getRootDse()->getServerType()) {
         case RootDSE\RootDSE::SERVER_TYPE_ACTIVEDIRECTORY:
             return new ActiveDirectory($dn, $data, $ldap);
         case RootDSE\RootDSE::SERVER_TYPE_OPENLDAP:
             return new OpenLDAP($dn, $data, $ldap);
         case RootDSE\RootDSE::SERVER_TYPE_EDIRECTORY:
         default:
             return new self($dn, $data, $ldap);
     }
 }