Beispiel #1
0
 /**
  * Parses the schema
  *
  * @param  \Zend\Ldap\Dn $dn
  * @param  \Zend\Ldap\Ldap    $ldap
  * @return \Zend\Ldap\Node\Schema Provides a fluid interface
  */
 protected function _parseSchema(Ldap\Dn $dn, Ldap\Ldap $ldap)
 {
     parent::_parseSchema($dn, $ldap);
     $this->_loadAttributeTypes();
     $this->_loadLdapSyntaxes();
     $this->_loadMatchingRules();
     $this->_loadMatchingRuleUse();
     $this->_loadObjectClasses();
     return $this;
 }
Beispiel #2
0
 public function testOpenLDAPSchemaObjectClassAliases()
 {
     if ($this->getLDAP()->getRootDse()->getServerType() !== Node\RootDse::SERVER_TYPE_OPENLDAP) {
         $this->markTestSkipped('Test can only be run on an OpenLDAP server');
     }
     $objectClasses = $this->schema->getObjectClasses();
     $this->assertArrayHasKey('OpenLDAProotDSE', $objectClasses);
     $this->assertArrayHasKey('LDAProotDSE', $objectClasses);
     $ob1 = $objectClasses['OpenLDAProotDSE'];
     $ob2 = $objectClasses['LDAProotDSE'];
     $this->assertSame($ob1, $ob2);
 }
Beispiel #3
0
 /**
  * Parses the schema
  *
  * @param \Zend\Ldap\Dn   $dn
  * @param \Zend\Ldap\Ldap $ldap
  * @return ActiveDirectory Provides a fluid interface
  */
 protected function parseSchema(Ldap\Dn $dn, Ldap\Ldap $ldap)
 {
     parent::parseSchema($dn, $ldap);
     foreach ($ldap->search('(objectClass=classSchema)', $dn, Ldap\Ldap::SEARCH_SCOPE_ONE) as $node) {
         $val = new ObjectClass\ActiveDirectory($node);
         $this->objectClasses[$val->getName()] = $val;
     }
     foreach ($ldap->search('(objectClass=attributeSchema)', $dn, Ldap\Ldap::SEARCH_SCOPE_ONE) as $node) {
         $val = new AttributeType\ActiveDirectory($node);
         $this->attributeTypes[$val->getName()] = $val;
     }
     return $this;
 }
Beispiel #4
0
 /**
  * Returns the schema
  *
  * @return Node\Schema
  * @throws Exception\LdapException
  */
 public function getSchema()
 {
     if ($this->schema === null) {
         $this->schema = Node\Schema::create($this);
     }
     return $this->schema;
 }