/** * Get the add operation and take care of the hydration process. * * @return AddOperation */ protected function getAddOperation() { $operation = new AddOperation($this->dn, $this->attributes); $operation->setLocation($this->container); foreach ($this->parameters as $parameter => $value) { $this->hydrator->setParameter($parameter, $value); } $this->hydrator->setLdapObjectSchema($this->schema); $this->hydrator->setLdapConnection($this->connection); $this->hydrator->setOperationType(AttributeConverterInterface::TYPE_CREATE); return $this->hydrator->hydrateToLdap($operation); }
/** * @param OperationHydrator $hydrator * @param LdapOperationInterface $operation * @return LdapOperationInterface */ protected function hydrateOperation(OperationHydrator $hydrator, LdapOperationInterface $operation) { if ($this instanceof SchemaAwareInterface) { $hydrator->setLdapObjectSchema($this->getLdapObjectSchema()); } if ($this instanceof LdapAwareInterface) { $hydrator->setLdapConnection($this->getLdapConnection()); } return $hydrator->hydrateToLdap($operation); }
/** * @param QueryOperation $operation * @param string $hydratorType * @param null|LdapObjectSchema $schema * @param null|string $alias * @return mixed */ protected function getResultsFromLdap(QueryOperation $operation, $hydratorType, $schema = null, $alias = null) { $hydrator = $this->hydratorFactory->get($hydratorType); $hydrator->setLdapConnection($this->ldap); $hydrator->setOperationType(AttributeConverterInterface::TYPE_SEARCH_FROM); $hydrator->setLdapObjectSchema($schema); $hydrator->setSelectedAttributes($this->getAttributesToLdap($operation->getAttributes(), false, $schema, $alias)); $opHydrator = new OperationHydrator($this->ldap); $opHydrator->setAlias($alias); $opHydrator->setOrderBy($this->orderBy); $opHydrator->setLdapObjectSchema($schema); $opHydrator->hydrateToLdap($operation); return $hydrator->hydrateAllFromLdap($this->ldap->execute($operation)); }
/** * Get the LDAP filter formed by this query. * * @return string */ public function toLdapFilter() { return $this->hydrator->hydrateToLdap(clone $this->operation)->getFilter(); }